function workbench_access_options in Workbench Access 7
Build form options from a tree.
Parameters
$tree: The current access tree.
$active: An array of active sections, used as a filter.
Return value
An array of options, suitable for use in a form.
2 calls to workbench_access_options()
- workbench_access_active_options in ./
workbench_access.module - Build an array of form options for the currently active workbench access tree.
- workbench_access_node_operations in ./
workbench_access.module - Implements hook_node_operations().
File
- ./
workbench_access.module, line 1309 - Workbench Access module file.
Code
function workbench_access_options($tree, $active) {
$used = array();
$parent = 0;
$base_depth = 0;
$options = array();
if (empty($tree) || empty($active)) {
return $options;
}
$tree_keys = array_keys($tree);
$active_keys = array_flip(array_keys($active));
foreach ($tree as $section) {
if (in_array($section['access_id'], $used) || !isset($active_keys[$section['access_id']])) {
continue;
}
// Nest the children so the user understands the hierarchy.
if ($section['depth'] == 0 || !isset($tree[$section['parent']])) {
$parent = $section['name'];
$base_depth = $section['depth'];
}
$options[$section['access_id']] = str_repeat('-', $section['depth'] - $base_depth) . ' ' . $section['name'];
$used[] = $section['access_id'];
}
return $options;
}