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
 
 

All source code and documentation on this site is released under the terms of the GNU General Public License, version 2 and later. Drupal is a registered trademark of Dries Buytaert.