function path_metatags_ui_add_form_submit in Path metatags 7
Submit callback for path_metatags_ui_add_form.
_state
Parameters
$form:
1 string reference to 'path_metatags_ui_add_form_submit'
- path_metatags_ui_add_form in path_metatags_ui/
path_metatags_ui.module - Provides multistep form for create/edit path metatags.
File
- path_metatags_ui/
path_metatags_ui.module, line 263 - Provide user interface for CRUD operations with path metatags.
Code
function path_metatags_ui_add_form_submit($form, &$form_state) {
$values = $form_state['values'];
if (!empty($form_state['storage']['machine_name']) && !empty($values['machine_name'])) {
// Move temporary cache to new storage if machine name was changed..
if ($form_state['storage']['machine_name'] != $values['machine_name']) {
$metatags = path_metatags_object_cache_get($form_state['storage']['machine_name']);
path_metatags_object_cache_clear($form_state['storage']['machine_name']);
path_metatags_object_cache_set($values['machine_name'], $metatags);
$form_state['storage']['machine_name'] = $values['machine_name'];
}
}
elseif (isset($values['machine_name'])) {
// Save machine name in form storage.
$form_state['storage']['machine_name'] = $values['machine_name'];
}
// Get current metatags machine name.
$machine_name = $form_state['storage']['machine_name'];
// Update cache.
$metatags = path_metatags_object_cache_get($machine_name);
if (empty($metatags)) {
// Initialize cache data.
$metatags = array();
}
// Merge data into cache storage.
$metatags = array_merge((array) $metatags, $values);
path_metatags_object_cache_set($machine_name, $metatags);
// Switch current step.
if (isset($values['next']) && $values['op'] == $values['next']) {
$form_state['storage']['step']++;
}
elseif (isset($values['prev']) && $values['op'] == $values['prev']) {
$form_state['storage']['step']--;
}
elseif (isset($values['finish']) && $values['op'] == $values['finish']) {
$form_state['rebuild'] = FALSE;
}
$form_state['rebuild'] = TRUE;
}