function path_metatags_ui_add_form in Path metatags 7
Provides multistep form for create/edit path metatags.
_state
Parameters
$form:
bool $show_navigation:
string $class:
Return value
array
1 call to path_metatags_ui_add_form()
- path_metatags_ui_edit_form in path_metatags_ui/
path_metatags_ui.module - Form for editing path metatags.
8 string references to 'path_metatags_ui_add_form'
- path_metatags_clone_metatags in path_metatags_ui/
path_metatags_ui.admin.inc - Form for path metatags clone.
- path_metatags_ui_argument_context_form_ajax_callback in path_metatags_ui/
path_metatags_ui.module - Ajax callback for contexts selection form.
- path_metatags_ui_menu in path_metatags_ui/
path_metatags_ui.module - Implements hook_menu().
- _path_metatags_ui_form_attach_buttons in path_metatags_ui/
path_metatags_ui.module - Attach ajax-processed buttons to the form.
- _path_metatags_ui_form_step_arguments_selection in path_metatags_ui/
path_metatags_ui.module - SECOND STEP. Provide form for arguments selection.
File
- path_metatags_ui/
path_metatags_ui.module, line 197 - Provide user interface for CRUD operations with path metatags.
Code
function path_metatags_ui_add_form($form, &$form_state, $show_navigation = TRUE, $class = '') {
$form['#prefix'] = '<div id="path-metatags-ui-form-wrapper" class="' . $class . '">';
$form['#suffix'] = '</div>';
if (!isset($form_state['storage']['step'])) {
$form_state['storage']['step'] = 1;
}
$step = $form_state['storage']['step'];
if ($show_navigation) {
$navigation = array();
$navigation[] = t('Basic settings');
$navigation[] = t('Choose arguments');
$navigation[] = t('Selection rules');
$navigation[] = t('Metatags settings');
// Wrap current navigation item in <span>.
$navigation[$step - 1] = '<span class="current-nav-item">' . $navigation[$step - 1] . '</span>';
$form['navigation'] = array(
'#type' => 'item',
'#markup' => implode(' » ', $navigation),
);
}
$form_build_function = '';
switch ($step) {
case 1:
$form_build_function = 'basic_settings';
break;
case 2:
$form_build_function = 'arguments_selection';
break;
case 3:
$form_build_function = 'selection_rules';
break;
case 4:
$form_build_function = 'metatags_settings';
break;
}
// Provide default submit callback for all forms.
$form['#submit'][] = 'path_metatags_ui_add_form_submit';
// Attach styles to form.
$form['#attached']['css'][] = drupal_get_path('module', 'path_metatags_ui') . '/css/path_metatags_ui.css';
// Build form according to current step.
$function = '_path_metatags_ui_form_step_' . $form_build_function;
if (function_exists($function)) {
$function($form, $form_state);
}
return $form;
}