function taxonomy_access_fix_form_taxonomy_overview_terms_alter in Taxonomy access fix 7
Same name and namespace in other branches
- 8.3 taxonomy_access_fix.module \taxonomy_access_fix_form_taxonomy_overview_terms_alter()
- 8 taxonomy_access_fix.module \taxonomy_access_fix_form_taxonomy_overview_terms_alter()
- 8.2 taxonomy_access_fix.module \taxonomy_access_fix_form_taxonomy_overview_terms_alter()
- 7.2 taxonomy_access_fix.module \taxonomy_access_fix_form_taxonomy_overview_terms_alter()
Implements hook_form_FORM_ID_alter() for taxonomy_overview_terms().
File
- ./
taxonomy_access_fix.module, line 53 - This file contains all hooks and callbacks for extra/improved Taxonomy permissions.
Code
function taxonomy_access_fix_form_taxonomy_overview_terms_alter(&$form, &$form_state) {
// Admin: don't fix anything.
if (user_access('administer taxonomy')) {
return TRUE;
}
// Wrong part of the form (ie. reset): bail out.
if (!isset($form['#vocabulary'])) {
return;
}
$vocabulary = $form['#vocabulary'];
$vid = $vocabulary->vid;
$can_edit = user_access('edit terms in ' . $vid);
$can_delete = user_access('delete terms in ' . $vid);
// Hide edit links
foreach (element_children($form) as $item) {
$item =& $form[$item];
// Term items are index like 'tid:14:0', so don't check that; check for #term.
if (isset($item['#term'])) {
if (!$can_edit) {
$item['edit']['#access'] = FALSE;
}
if ($can_delete) {
// Maybe someday...
}
}
unset($item);
}
// Hide Save and Reset buttons
if (!taxonomy_access_fix_access('reorder', $vocabulary)) {
$form['actions']['submit']['#access'] = $form['actions']['reset_alphabetical']['#access'] = FALSE;
}
}