function node_accessibility_form_node_type_form_alter in Node Accessibility 7
Same name and namespace in other branches
- 8 node_accessibility.module \node_accessibility_form_node_type_form_alter()
Implements hook_form_FORM_ID_alter() for the node type form.
File
- ./
node_accessibility.module, line 249 - Module file for the node accessibility project.
Code
function node_accessibility_form_node_type_form_alter(&$form, &$form_state, $form_id) {
$node_type_settings_object = FALSE;
$node_type_settings_array = array(
'type' => NULL,
'required' => NULL,
'standards' => NULL,
);
$standards = quail_api_get_standards_list(NULL, 'snippet');
$display_levels = quail_api_get_display_levels_list(NULL);
$methods = quail_api_get_validation_methods(NULL);
$methods_list = quail_api_get_validation_methods_list(NULL);
$filter_formats = filter_formats();
$formats = array();
$options = array();
foreach ($filter_formats as $filter_format => $filter_format_settings) {
$formats[$filter_format] = $filter_format_settings->name;
}
$default_enabled = 'disabled';
$default_standards = array();
$default_method = 'quail_api_method_immediate';
$default_format = 'full_html';
if (!empty($form['#node_type']->type)) {
$node_type = $form['#node_type']->type;
$node_type_settings = node_accessibility_load_node_type_settings();
if (isset($node_type_settings[$node_type])) {
$default_enabled = isset($node_type_settings[$node_type]['required']) && $node_type_settings[$node_type]['required'] ? 'required' : 'optional';
$default_standards = isset($node_type_settings[$node_type]['standards']) ? $node_type_settings[$node_type]['standards'] : $default_standards;
$default_method = isset($node_type_settings[$node_type]['method']) ? $node_type_settings[$node_type]['method'] : $default_method;
$default_format = isset($node_type_settings[$node_type]['format']) ? $node_type_settings[$node_type]['format'] : $default_format;
}
}
$form['node_accessibility_validation'] = array(
'#type' => 'fieldset',
'#title' => t("Accessibility Validation"),
'#description' => t("Provides options for enabled and disabled accessibility validation on text stored in this field."),
'#collapsible' => TRUE,
'#collapsed' => TRUE,
'#tree' => TRUE,
'#group' => 'additional_settings',
);
$form['node_accessibility_validation']['quail_enabled'] = array(
'#type' => 'select',
'#title' => t("Accessibility Validation"),
'#default_value' => $default_enabled,
'#options' => array(
'disabled' => t("Disabled"),
'optional' => t("Enabled (optional)"),
'required' => t("Enabled (required)"),
),
'#description' => t("Choose if accessibility validation should be enabled for this node type and if the node type is required to pass accessibility validation."),
);
$form['node_accessibility_validation']['method'] = array(
'#type' => 'select',
'#title' => t("Validation Method"),
'#default_value' => $default_method,
'#options' => $methods_list,
'#description' => t("Choose the way in which validation is performed."),
'#dependency' => array(
'edit-node-accessibility-validation-quail-enabled' => array(
'optional',
'required',
),
),
);
// add documentation for each option
$form['node_accessibility_validation']['method']['#description'] .= '<ul>';
foreach ($methods as $method => $method_settings) {
$form['node_accessibility_validation']['method']['#description'] .= '<li>' . $method_settings['human_name'] . ': ' . $method_settings['description'] . '</li>';
}
$form['node_accessibility_validation']['method']['#description'] .= '</ul>';
$form['node_accessibility_validation']['format'] = array(
'#type' => 'select',
'#title' => t("Markup Format"),
'#default_value' => $default_format,
'#options' => $formats,
'#description' => t("Choose the filter to use when presenting the results of validation checks. This is only used for the html markup associated with the problem or suggestion."),
'#dependency' => array(
'edit-node-accessibility-validation-quail-enabled' => array(
'optional',
'required',
),
),
);
$form['node_accessibility_validation']['standards'] = array(
'#type' => 'checkboxes',
'#title' => t("Accessibility Standards"),
'#default_value' => $default_standards,
'#options' => $standards,
'#description' => t("Choose which accessibility standards to validate against. It is strongly suggested that only 1 standard should be used because many of the validation tests are performed by more than one standard."),
'#dependency' => array(
'edit-node-accessibility-validation-quail-enabled' => array(
'optional',
'required',
),
),
);
$form['#submit'][] = 'node_accessibility_node_type_form_submit';
}