function node_privacy_byrole_node_type_form in node privacy byrole 6
Same name and namespace in other branches
- 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),
);
}
}
}