function hook_workbench_access_configuration in Workbench Access 7
Defines configuration options for your access scheme.
This function is fun, because it uses Drupal 7's new JavaScript $states properties to control the settings form.
Your module is responsible for defining how it interacts with the main form. If the 'workbench_access' value is equal to the name of your access scheme, your options will be presented.
Essentially, this is a custom hook_form_FORM_ID_alter() convenience function.
Note that your form should normally return checkboxes within a fieldset. Do not make the checkboxes required, as this may be confusing if they are in the 'hidden' state.
Parameters
&$form: The base form, passed by reference.
&$form_state: The form state, passed by reference.
Return value
No return value. Modify $form by reference.
See also
2 functions implement hook_workbench_access_configuration()
Note: this list is generated by pattern matching, so it may include some functions that are not actually implementations of this hook.
- menu_workbench_access_configuration in modules/
menu.workbench_access.inc - Defines configuration options for the default access scheme.
- taxonomy_workbench_access_configuration in modules/
taxonomy.workbench_access.inc - Defines configuration options for the default access scheme.
File
- ./
workbench_access.api.php, line 315 - API documentation file for Workbench Access.
Code
function hook_workbench_access_configuration(&$form, &$form_state) {
$options = array();
$vocabularies = taxonomy_get_vocabularies();
foreach ($vocabularies as $vid => $vocabulary) {
$options[$vocabulary->machine_name] = $vocabulary->name;
}
$form['taxonomy_workbench_access_info'] = array(
'#type' => 'fieldset',
'#title' => t('Taxonomy scheme settings'),
'#states' => array(
'visible' => array(
':input[name=workbench_access]' => array(
'value' => 'taxonomy',
),
),
),
);
$form['taxonomy_workbench_access_info']['workbench_access_taxonomy'] = array(
'#type' => 'checkboxes',
'#title' => t('Editorial vocabulary'),
'#description' => t('Select the vocabulary to be used for access control. <strong>Warning: Changing this value in production may disrupt your workflow.</strong>'),
'#options' => $options,
'#default_value' => variable_get('workbench_access_taxonomy', array()),
'#states' => array(
'visible' => array(
':input[name=workbench_access]' => array(
'value' => 'taxonomy',
),
),
),
);
}