You are here

function node_privacy_byrole_node_type_form in node privacy byrole 6

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

Form elements that extends node type form Used for set the default permission settings per node type

1 call to node_privacy_byrole_node_type_form()
node_privacy_byrole_form_alter in ./node_privacy_byrole.module
Implementation of hook_form_alter().

File

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

Code

function node_privacy_byrole_node_type_form(&$form) {
  $type = $form['#node_type']->type;
  $roles = user_roles();
  $perms = array(
    'view' => array(
      'title' => t('Default View Permissions'),
      'description' => t('Select roles to be given view permisions by default.'),
    ),
    'edit' => array(
      'title' => t('Default Edit Permissions'),
      'description' => t('Select roles to be given edit permissions by default.'),
    ),
    'delete' => array(
      'title' => t('Default Delete Permissions'),
      'description' => t('Select roles to be given delete permissions by default.'),
    ),
    'grant' => array(
      'title' => t('Roles with rights to update permissions'),
      'description' => t('Select which roles will have rights to alter permissions on nodes.'),
    ),
  );
  $form['npbr_workflow_settings'] = array(
    '#type' => 'fieldset',
    '#title' => t('Node privacy by role'),
    '#collapsible' => TRUE,
    '#collapsed' => TRUE,
  );
  while (list($perm, $permdata) = each($perms)) {
    $permname = 'npbr_default_' . $perm . '_perms';
    $form['npbr_workflow_settings'][$permname] = array(
      '#tree' => TRUE,
      '#type' => 'fieldset',
      '#title' => $permdata['title'],
      '#collapsible' => FALSE,
      '#collapsed' => FALSE,
      '#description' => $permdata['description'],
      '#weight' => 0,
    );
    $default_perms = _node_privacy_byrole_get_default_roles($type, $perm);
    foreach (array_keys($roles) as $rid) {
      $form['npbr_workflow_settings'][$permname][$rid] = array(
        '#type' => 'checkbox',
        '#title' => $roles[$rid],
        '#return_value' => 1,
        '#default_value' => in_array($rid, $default_perms),
      );
    }
  }
}