You are here

function workbench_access_role_form_submit in Workbench Access 7

Process form submission for adding roles.

File

./workbench_access.admin.inc, line 878
Workbench Access admin file.

Code

function workbench_access_role_form_submit($form, &$form_state) {
  $values = $form_state['values'];

  // Handle the authenticated user role, which is all roles but anonymous.
  if (!empty($values['roles'][DRUPAL_AUTHENTICATED_RID])) {
    foreach ($values['roles'] as $key => $value) {
      if ($key > DRUPAL_ANONYMOUS_RID) {
        $values['roles'][$key] = $key;
      }
    }
  }

  // Role handling.
  foreach ($values['roles'] as $rid => $status) {
    if (!empty($status) && !in_array($rid, $values['default_roles'])) {
      workbench_access_role_section_save($rid, $values['workbench_access']['access_id'], $values['workbench_access']['access_scheme']);
    }
    elseif (empty($status) && in_array($rid, $values['default_roles'])) {
      workbench_access_role_section_delete($rid, $values['workbench_access']['access_id'], $values['workbench_access']['access_scheme']);
    }
  }
}