Published on
In Joomla! 2.5 there is a new more flexible User Group structure. To make use of this you need to add Users to UserGroups. In ChronoForms you can do this using a Custom Code action with the code in this FAQ.
Here is the simplest form of code needed to assign a User to a User Group. You need to have both the User ID and the Group ID. If you don't' know the Group ID you can look it up in the Site Admin | Users | Groups tab where it is in the right hand column.
<?php $group_id = 99; $user_id = 999; jimport( 'joomla.user.helper' ); JUserHelper::addUserToGroup($user_id, $group_id); ?>
If this is a newly registered user then this Custom Code action needs to run after the Joomla! Registration action when you can get the new User ID:
<?php $group_id = 99; $user_id = $form->data['_PLUGINS_']['joomla_registration']['id']; jimport( 'joomla.user.helper' ); JUserHelper::addUserToGroup($user_id, $group_id); ?>
You can, of course, also set the Group ID depending on a form variable. Here's an example where there were regional divisions set up with matching User Groups:
<?php
if ( !isset($form->data['division']) || !$form->data['division'] ) {
// there is no division selected
return false;
}
$group_array = array (
'CEN' => '16', //Central
'MDW' => '20', //Mid-West
'MIA' => '13', //Mid-Atlantic
'MIS' => '14', //Mid-South
'NTC' => '18', //North Central
'NTE' => '12', //Northeast
'STE' => '15', //Southeast
'WES' => '17', //Western
);
$group_id = $group_array[$form->data['division']];
$user_id = $form->data['_PLUGINS_']['joomla_registration']['id'];
jimport( 'joomla.user.helper' );
JUserHelper::addUserToGroup($user_id, $group_id);
?>

Comments: