Now all modules are in core modules folder
This commit is contained in:
parent
5ba1cdfa0b
commit
05b6a91b0c
1907 changed files with 0 additions and 0 deletions
74
modules/vppr/vppr.admin.inc
Normal file
74
modules/vppr/vppr.admin.inc
Normal file
|
@ -0,0 +1,74 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* @file
|
||||
* Vocabulary Permissions Per Role - administration UI
|
||||
*/
|
||||
|
||||
function vppr_form_admin_settings_vppr() {
|
||||
$form = array();
|
||||
$vocabs = taxonomy_get_vocabularies();
|
||||
$roles = user_roles(TRUE); // List of roles without 'anonymous'.
|
||||
$perms = variable_get('vppr_perms', array(array()));
|
||||
foreach ($vocabs as $vocab) {
|
||||
$form['vppr_vocabs'][$vocab->vid] = array(
|
||||
'#value' => $vocab->name,
|
||||
);
|
||||
foreach ($roles as $rid => $role) {
|
||||
$form['vppr_perms'][$vocab->vid][$rid] = array(
|
||||
'#type' => 'checkbox',
|
||||
'#default_value' => (isset($perms[$vocab->vid]) && isset($perms[$vocab->vid][$rid]) ? $perms[$vocab->vid][$rid] : 0),
|
||||
);
|
||||
}
|
||||
$form['vppr_perms']['#tree'] = TRUE;
|
||||
}
|
||||
foreach ($roles as $rid => $role) {
|
||||
$form['vppr_roles'][$rid] = array(
|
||||
'#value' => $role,
|
||||
);
|
||||
}
|
||||
$form['help'] = array(
|
||||
'#type' => 'item',
|
||||
'#description' => t('Tick a box above to allow editing that vocabulary for that role.'),
|
||||
);
|
||||
$form['buttons']['submit'] = array(
|
||||
'#type' => 'submit',
|
||||
'#value' => t('Save'),
|
||||
);
|
||||
return $form;
|
||||
}
|
||||
|
||||
/**
|
||||
* Theme helper for vppr_form_admin_settings_vppr().
|
||||
*/
|
||||
function theme_vppr_form_admin_settings_vppr($form) {
|
||||
$header = array(FALSE);
|
||||
foreach (element_children($form['vppr_roles']) as $rid) {
|
||||
$header[$rid] = drupal_render($form['vppr_roles'][$rid]);
|
||||
}
|
||||
$rows = array();
|
||||
foreach (element_children($form['vppr_vocabs']) as $vid) {
|
||||
$row = array(drupal_render($form['vppr_vocabs'][$vid]));
|
||||
foreach (element_children($form['vppr_perms'][$vid]) as $rid) {
|
||||
$row[$rid] = drupal_render($form['vppr_perms'][$vid][$rid]);
|
||||
}
|
||||
$rows[$vid] = $row;
|
||||
}
|
||||
$buttons = drupal_render($form['buttons']);
|
||||
return theme('table', $header, $rows) . drupal_render($form) . $buttons;
|
||||
}
|
||||
|
||||
/**
|
||||
* Store VPPR perms to the DB.
|
||||
*/
|
||||
function vppr_form_admin_settings_vppr_submit($form, &$form_state) {
|
||||
$perms = array();
|
||||
foreach ($form_state['values']['vppr_perms'] as $vid => $values) {
|
||||
$values = array_filter($values);
|
||||
if (!empty($values)) {
|
||||
$perms[$vid] = $values;
|
||||
}
|
||||
}
|
||||
variable_set('vppr_perms', $perms);
|
||||
}
|
||||
|
Reference in a new issue