hi guys, unfortunately lately i've been in development hell since i moved to a new company, and i couldn't really give this module the time it really needs/deserve.

Still i don't want the module to just die, so i've decided that this w/e i'll move the module to github to allow whoever is interested to maintain/contribute to the project.

thanks a lot for your support, without you and your bug reports this module would've never become what it is right now.

update:
as promised here is the url of the git repository.
contact me for any kind of request regarding it.

Nick

userGroups let's you manage user and groups inside your applications.
This modules comes in with features like user registrations, password retrieving, banning system, user activation system and so on.

userGroups auto install itself creating the required database tables and guiding you through the whole installation process, never leaving you wondering abot what you are supposed to do next.

Thanks to userGroups you will also have an extension of the accessControlFilter that will provide you with new rules for groups, levels and access permissions.

You will be able to grant different permissions (read, write and admin) to every user or group for every single controller inside your application.

Users will inherit their groups permission but you will be able to further customize every single user granting him special permissions.

It's up to you how to implement those permissions using, along with the old ones, new rule sets like:

groups: let's you decide what group the user has to belong to perform an action

levels: you can decide what level the user needs to perform an action

permissions: you can decide that just users with a certain permission on that controller or another can perform a certain action

userGroups also can be configured to better suit your needs

and provides some cronjobs to unban your users and delete those that never activated their accounts.

You can even add new cron jobs just extending the provided class.

userGroups provides you with an exaustively written and full of examples documentation on how take better advantage of this module.

This module was coded using design patterns and other standards, taking true advantage of Yii core methods and most reknown practices, paying special attention to security issues.

// allow all users who belong to the admin or core group // or to the group with id 5 to perform 'update' and 'admin' actions array('allow',
'actions'=>array('update','admin'),
'groups'=>array('admin', 'core', 5),
),

// allow all users with a level lower then 10, or equal to 20 // or higher or equal to 35 to perform an update action array('allow',
'actions'=>array('update'),
'level'=>array('<10', '20' ,'>=35'),
),

From version 1.6 you can now customize the emails that userGroups is sending to your users.
For more details read the module documentation.
Since version 1.8 the mail body message is stored inside view files to make it easier to change text and whatsoever.

userGroups creates a new Controller.php file into your application component directory, and your application's controllers need to extend it.
If your controllers are extending another controller you'll have to copy inside it the public static $_permissionControl and the public function filterUserGroupsAccessControl that you'll find in the controller created by userGroups

Before copying the new files over the old ones login as Root.
Download the patch file.
The Patch file contains the PatchController. Just copy inside the userGroups controller directory, and then access it going to the url /userGroups/patch.
once the patch process is over delete the file.
Download the last version of userGroups.
Copy the new files over the old ones.if you used the salt option you cannot truly update to this version. To improve security we changed how salt are used. If you want to upload to this version and you used a custom salt you'll have to recreate your users.

After this update the salt will no more be timezone-dependent.
From now on the salt timezone will be setted to UTC.
This means that probably your password won't work anymore.
To fix this issue you will have to reset your passwords.
To do so try to log-in and then follow the password reset link.

If you are on a development server and no email was sent to your email account containing the instructions about how to reset your password, open the db and get the activation_code value.
Then go to yourapplication/userGroups/user/activate and input your data on the form.

Since version 1.8 every time you'll have to update userGroups you have to login first with your root user, then copy the new files over the old ones, and after you've done that just go to the Root Tools page.
A link will appear on the top, just click on it and follow the instructions.

8-5-2011
version 1.8 - stable and partially tested
fixed the following issues: #14, #15, #16, #17, #20.
from now on you'll be able to get the current user mail address with Yii->app()->user->email
if you have the swiftmail yii-mail component installed userGroups will use it to execute the sending action.
email body text is stored inside view files to make it easier for you to change it.
if the simple_password_reset setting is on the question and answer form fields won't appear in any form.
you can now use crontab to execute the cronjobs if you want to.
added several spelling corrections thanks to David Drury.

6-6-2011
version 1.7.1 - stable and tested
fixed issue #13, from now on the salt used it's not anymore timezone relatedread the specific instructions about how to update

25-5-2011
version 1.7 - stable and tested
made several correction to avoid errors when using PHP with E_STRICT
improved UI on userGroups admin user gridview and list user's gridview
implemented a new method to store in session Profile Extension's attributes

16-5-2011
version 1.6.8 - stable
from now on there won't be any problem with controllers with the same class name or with modules that are not extending properly the controller generated by userGroups.
fixed the bug related to the compatibility of the changeIdentity method located inside WebUserGroups.

4-7-2011
version 1.6.1 - stable release
solved a bug that didn't allowed a correct creation of new users

4-7-2011
version 1.6
added Email Customization
improved security against rainbow table attacks
added client side validation for profile updates
solved a bug occurring on case sensitive systems
solved a stupid issue that was preventing rememberMe to work properly.if you used the salt option you cannot truly update to this version. To improve security we changed how salt are used. If you want to upload to this version and you used a custom salt you'll have to recreate your users.

3-28-2011
version 1.5
Profile Extensions now work on registration too
documentation of Profile Extensions improved
fixed an installation bug under Postgres (thanks Cam)
support for ClientValidation on registrationdropped support for Yii version 1.1.6

3-28-2011
version 1.4.3 - stable
fixed last bug occurring when not using Profile Extensions

3-28-2011
version 1.4.2
fixed a bug occurring when recovering user login from the cookie
fixed a bug that didn't let you create an instance of UserGroupsUser outside of the userGroups module

3-26-2011
version 1.4.1
fixed a logout permission issue: users could access the logout action just using ajax

3-25-2011

version 1.4
fixed a bug occurring with the new Profile Extensions feature.

3-25-2011

version 1.3
fixed a user creation bug that occurred when creating a user with no permissions from Root Tools

I gone through this extension,it allows me to creating users and groups in the front end.but it won't take the access permissions that we give in the front end check box.ie we have to specify in the controller only.any solution??

Im trying to customize the form login. the only option I find is to change the css file. ok. but I want to place it in the corner of the page, I mean, in other place that is not the $content. Im trying to reference the login form as "Yii::app()->user->loginUrl" but its not working. some one has a better idea?

I've been using Rights and Yii-user for a long time, but this gem of a extension module put an end to that. Not that there's anything wrong with the two; yours is simply better. And then it's just one module, instead of two. That counts as well.
I love it. Keep up the good work.
It's appreciated. :)