user_admin_perm_submit
- Versions
- 4.7
user_admin_perm_submit($form_id,$edit)- 5
user_admin_perm_submit($form_id,$form_values)- 6
user_admin_perm_submit($form, &$form_state)
Code
modules/user.module, line 1844
<?php
function user_admin_perm_submit($form_id, $edit) {
// Save permissions:
$result = db_query('SELECT * FROM {role}');
while ($role = db_fetch_object($result)) {
if(isset($edit[$role->rid])) {
// Delete, so if we clear every checkbox we reset that role;
// otherwise permissions are active and denied everywhere.
db_query('DELETE FROM {permission} WHERE rid = %d', $role->rid);
foreach ($edit[$role->rid] as $key => $value) {
if (!$value) {
unset($edit[$role->rid][$key]);
}
}
if (count($edit[$role->rid])) {
db_query("INSERT INTO {permission} (rid, perm) VALUES (%d, '%s')", $role->rid, implode(', ', array_keys($edit[$role->rid])));
}
}
}
drupal_set_message(t('The changes have been saved.'));
// Clear the cached pages and menus:
menu_rebuild();
}
?>Login or register to post comments 