You are here

function node_privacy_byrole_node_form in node privacy byrole 6

Same name and namespace in other branches
  1. 5 node_privacy_byrole.module \node_privacy_byrole_node_form()

Form elements that extends node edit form

3 calls to node_privacy_byrole_node_form()
node_privacy_byrole_change_role_action_form in ./node_privacy_byrole.module
node_privacy_byrole_form_alter in ./node_privacy_byrole.module
Implementation of hook_form_alter().
node_privacy_byrole_rolereference_action_form in ./node_privacy_byrole.module

File

./node_privacy_byrole.module, line 314
Set node access permissions by role.

Code

function node_privacy_byrole_node_form(&$form) {
  $roles = array_keys(user_roles());
  $perms = array(
    'view',
    'edit',
    'delete',
  );

  // create checkboxes for every role and every permission
  // later depending on the $op variable only the default values will be updated
  $form['node_privacy_byrole'] = array(
    '#tree' => TRUE,
    '#theme' => 'node_privacy_byrole_node_form',
    '#type' => 'fieldset',
    '#title' => t('View/Edit Permissions'),
    '#collapsible' => TRUE,
    // collapse depends on bug when viewing tables included in collapsed fielsets in IE7:
    // http://drupal.org/node/237565
    '#collapsed' => strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE 7.0') > 0 ? FALSE : TRUE,
    '#weight' => 9,
  );
  while (list(, $rid) = each($roles)) {
    $form['node_privacy_byrole']['roles'][$rid] = array(
      '#type' => 'fieldset',
      '#collapsible' => FALSE,
      '#collapsed' => FALSE,
      '#weight' => 0,
    );
    while (list(, $perm) = each($perms)) {
      $form['node_privacy_byrole']['roles'][$rid][$perm] = array(
        '#type' => 'checkbox',
        '#title' => NULL,
        '#return_value' => 1,
        '#default_value' => $form['#node']->node_privacy_byrole['roles'][$rid][$perm],
      );
    }
    reset($perms);
  }
}