function user_user_import_after_save_role in User Import 6.4
Same name and namespace in other branches
- 8 supported/user.inc \user_user_import_after_save_role()
- 5 supported/user.inc \user_user_import_after_save_role()
- 6.2 supported/user.inc \user_user_import_after_save_role()
- 7.3 supported/user.inc \user_user_import_after_save_role()
- 7 supported/user.inc \user_user_import_after_save_role()
- 7.2 supported/user.inc \user_user_import_after_save_role()
1 call to user_user_import_after_save_role()
- user_user_import_after_save in supported/
user.inc - Implementation of hook_user_import_after_save().
File
- supported/
user.inc, line 297
Code
function user_user_import_after_save_role($account, $new_roles_allowed, $account_roles, $roles) {
$existing_roles = user_roles();
// if roles were specified, add to existing roles
$assign_roles = array();
if (is_array($roles) && !empty($roles)) {
foreach ($roles as $role) {
if (!empty($role)) {
$key = array_search($role, $existing_roles);
if (!empty($new_roles_allowed) && empty($key)) {
db_query("INSERT INTO {role} (name) VALUES ('%s')", $role);
$key = db_result(db_query("SELECT rid FROM {role} WHERE name = '%s' LIMIT 1", $role));
$existing_roles[$key] = $role;
}
$assign_roles[$key] = $role;
}
}
$need_update = FALSE;
foreach ($assign_roles as $key => $role) {
if (!isset($account_roles[$key])) {
$need_update = TRUE;
$account_roles[$key] = $role;
}
}
if ($need_update) {
user_save($account, array(
'roles' => $account_roles,
));
}
}
return;
}