function pathauto_patterns_form in Pathauto 6.2
Same name and namespace in other branches
- 7 pathauto.admin.inc \pathauto_patterns_form()
Form builder; Configure the URL alias patterns.
See also
1 string reference to 'pathauto_patterns_form'
- pathauto_menu in ./
pathauto.module - Implements hook_menu().
File
- ./
pathauto.admin.inc, line 16 - Admin page callbacks for the Pathauto module.
Code
function pathauto_patterns_form($form_state) {
module_load_include('inc', 'pathauto', 'pathauto.pathauto');
// Call the hook on all modules - an array of 'settings' objects is returned
$all_settings = module_invoke_all('pathauto', 'settings');
foreach ($all_settings as $settings) {
$module = $settings->module;
$patterndescr = $settings->patterndescr;
$patterndefault = $settings->patterndefault;
$groupheader = $settings->groupheader;
$form[$module] = array(
'#type' => 'fieldset',
'#title' => $groupheader,
'#collapsible' => TRUE,
'#collapsed' => FALSE,
);
// Prompt for the default pattern for this module
$variable = 'pathauto_' . $module . '_pattern';
$form[$module][$variable] = array(
'#type' => 'textfield',
'#title' => $patterndescr,
'#default_value' => variable_get($variable, $patterndefault),
'#size' => 65,
'#maxlength' => 1280,
'#element_validate' => array(
'_pathauto_validate_pattern_element',
),
'#after_build' => array(
'_pathauto_validate_pattern_element',
),
'#token_types' => array(
$settings->token_type,
),
'#min_tokens' => 1,
'#parents' => array(
$variable,
),
);
// If the module supports a set of specialized patterns, set
// them up here
if (isset($settings->patternitems)) {
foreach ($settings->patternitems as $itemname => $itemlabel) {
$variable = 'pathauto_' . $module . '_' . $itemname . '_pattern';
$form[$module][$variable] = array(
'#type' => 'textfield',
'#title' => $itemlabel,
'#default_value' => variable_get($variable, ''),
'#size' => 65,
'#maxlength' => 1280,
'#element_validate' => array(
'_pathauto_validate_pattern_element',
),
'#after_build' => array(
'_pathauto_validate_pattern_element',
),
'#token_types' => array(
$settings->token_type,
),
'#min_tokens' => 1,
'#parents' => array(
$variable,
),
);
}
}
// Display the user documentation of placeholders supported by
// this module, as a description on the last pattern
$form[$module]['token_help'] = array(
'#title' => t('Replacement patterns'),
'#type' => 'fieldset',
'#collapsible' => TRUE,
'#collapsed' => TRUE,
'#description' => t('Use -raw replacements for text to avoid problems with HTML entities.'),
);
$form[$module]['token_help']['help'] = array(
'#type' => 'markup',
'#value' => theme('token_tree', array(
$settings->token_type,
)),
);
}
return system_settings_form($form);
}