Want to only allow existing members to create user accounts on your Joomla site?
This is a component and module for Joomla 1.5 (native, not legacy mode, will not work with J1.0.x) which replace the standard user registration form and login module with one which checks for a matching contact in CiviCRM and only allows registration to proceed if a match is found. In addition you can specify that the contact must be a member of a CiviCRM group (static group only) or restrict access based on the membership status of the contact (v0.3+).
In conjunction with the CiviCRM authentication plugin,these extensions provide an effective solution for ensuring that only valid members can sign up for user accounts on the front-end and also preventing them continuing to login if they become lapsed or drop off the membership list.
CiviUser v0.3+: CiviCRM v2.1+ compatible; extends membership status restrictions
CiviUser v0.5 is compatible with CiviCRM v2.1+ and now includes the ability to restrict access based on the membership status level, and exclude contacts who are members of a group(s). It also includes several minor improvements throughout. CiviLogin v0.4 is the corresponding module updated for CiviUser v0.3 and CiviCRM v2.1.
To restrict access based on membership status level you must enable that feature in the core component parameters or when creating your menu item. You must identify the lowest status level (id number) for which access is permitted. For example, the default membership status levels begin with:
By placing "3" in the parameter field you indicate that anyone with a membership status of New, Current, or Grace may register to access the site. Note that the restrictions do respect status overrides.
This version was modified by Brian Shaughnessy. Email brian at lcdservices dot org with questions or problems.
CiviUser v0.5 allows the logged in user to change their registered email address and automatically updates both their Joomla record, and the CiviCRM primary contact email (as well as the uf_match table). It sends a notification email to both addresses and optionally to a Membership secretary address.
You can also now choose whether to enforce strict name matching (forename + surname + email) or use just email when checking for a contact on registration. The parameters for error messages have also been imporved.
Install in the standard way through the Joomla administrator extension installer. Change the default parameters as required to set messages to users and groups and/or membership status to validate against. You can include simple html in the messages.
If you create a menu item to bring up the registration form then you can override the default component parameters for that menu entry.
Be sure to disable standard user registration (under Site > Global Configuration > System tab) and also the standard login module. Leaving these enabled would allow users to bypass the checks.
In this version there is no facility to disable registration, and users are always required to authenticate their email address (this is to block a loophole where a person could register with someone else's details and then change the Joomla user email address after registration and thus take-over the member's access).
Contact matching is by email (and optionally forename & surname) as entered by the user. The email check is on the primary email for the contact, not any alternates. If your membership database is out of date, eg if the user hasn't bothered to tell you about their new email, then they may be unexpectedly told that they are not valid. You can write a nice message in the parameters for the component to pacify them or direct them to organization staff to resolve the matter.
Please treat this as a BETA version that has not been extensively tested. Please test thoroughly in your environment before using on a production site.
Also note that v0.2 is compatible with CiviCRM v2.0.x. CiviUser v0.3+ is compatible with CiviCRM v2.1+
Possible enhancements (in no particular order)