user_role_save
function user_role_save
user_role_save($role)
Save a user role to the database.
Parameters
$role: A role object to modify or add. If $role->rid is not specified, a new role will be created.
Return value
Status constant indicating if role was created or updated. Failure to write the user role record will return FALSE. Otherwise. SAVED_NEW or SAVED_UPDATED is returned depending on the operation performed.
File
- modules/user/user.module, line 3011
- Enables the user registration and login system.
Code
function user_role_save($role) { if ($role->name) { // Prevent leading and trailing spaces in role names. $role->name = trim($role->name); } if (!isset($role->weight)) { // Set a role weight to make this new role last. $query = db_select('role'); $query->addExpression('MAX(weight)'); $role->weight = $query->execute()->fetchField() + 1; } // Let modules modify the user role before it is saved to the database. module_invoke_all('user_role_presave', $role); if (!empty($role->rid) && $role->name) { $status = drupal_write_record('role', $role, 'rid'); module_invoke_all('user_role_update', $role); } else { $status = drupal_write_record('role', $role); module_invoke_all('user_role_insert', $role); } // Clear the user access cache. drupal_static_reset('user_access'); drupal_static_reset('user_role_permissions'); return $status; }
© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/modules!user!user.module/function/user_role_save/7.x