give defined rôle on validate email
Signed-off-by: bachy <git@g-u-i.net>
This commit is contained in:
parent
39db0ed16d
commit
cb6963919c
@ -215,3 +215,37 @@ function materio_user_block_view_alter(&$data, $block) {
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Define constants
|
||||
*/
|
||||
define('MATERIO_USER_CONFIRMED_USER_ROLE', 'Utilisateur'); // add role name here
|
||||
|
||||
/**
|
||||
* Implement hook_user
|
||||
*/
|
||||
function materio_user_user_update(&$edit, $account, $category){
|
||||
// This is only fired when a user confirms their email address, logintoboggan style
|
||||
if (isset($account->logintoboggan_email_validated) && $account->logintoboggan_email_validated == TRUE) {
|
||||
$confirmed_rid = materio_user_get_role_by_name(MATERIO_USER_CONFIRMED_USER_ROLE);
|
||||
$roles = $account->roles + array($confirmed_rid => MATERIO_USER_CONFIRMED_USER_ROLE);
|
||||
|
||||
// we have to do this to stop an infinite loop, and also to allow lower weighted modules to possibly do something here
|
||||
$user = $account;
|
||||
unset($user->logintoboggan_email_validated);
|
||||
|
||||
user_save($user, array('roles' => $roles));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a role ID based on role name
|
||||
*
|
||||
* @param $name
|
||||
* name of role to return
|
||||
* @return
|
||||
* (int) Role ID
|
||||
*/
|
||||
function materio_user_get_role_by_name($name) {
|
||||
return array_search($name, user_roles());
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user