function cacheflush_advanced_preset_form_validate in CacheFlush 7.2
Same name and namespace in other branches
- 7 cacheflush_advanced/cacheflush_advanced.module \cacheflush_advanced_preset_form_validate()
Implements advanced preset validation.
1 string reference to 'cacheflush_advanced_preset_form_validate'
- cacheflush_advanced_form_cacheflush_preset_form_alter in cacheflush_advanced/
cacheflush_advanced.module - Implements hook_form_FORM_ID_alter().
File
- cacheflush_advanced/
cacheflush_advanced.module, line 106 - Cacheflush advanced preset form.
Code
function cacheflush_advanced_preset_form_validate(&$form, &$form_state) {
// Unset original error if exist.
$error = form_get_errors();
$is_error = FALSE;
$removed_messages = array();
if (isset($error['cacheflush_preset_data'])) {
$removed_messages[] = $error['cacheflush_preset_data'];
unset($error['cacheflush_preset_data']);
$is_error = TRUE;
}
$_SESSION['messages']['error'] = array_diff($_SESSION['messages']['error'], $removed_messages);
// Check for advanced preset.
if (isset($form_state['values']['vertical_tabs_advance']['cacheflush_advanced_table'])) {
foreach ($form_state['input']['vertical_tabs_advance']['cacheflush_advanced_table'] as $key => $value) {
if (isset($value['wildcard']) || $value['cid'] || $value['table']) {
if ($value['cid'] && $value['table']) {
unset($value['operations']);
$form_state['cacheflush_preset_list'][$form_state['cacheflush_preset_id']]['#cacheflush_preset_values']["advanced-preset-{$key}"] = array(
'is_table' => TRUE,
'query' => $value,
);
}
else {
if (isset($value['wildcard']) && (!$value['cid'] && !$value['table'])) {
form_error($form['vertical_tabs_advance']['cacheflush_advanced_table'][$key]['cid'], t('The cache ID field is mandatory.'));
form_error($form['vertical_tabs_advance']['cacheflush_advanced_table'][$key]['table'], t('The table field is mandatory.'));
}
elseif (!$value['cid']) {
form_error($form['vertical_tabs_advance']['cacheflush_advanced_table'][$key]['cid'], t('The cache ID field is mandatory.'));
}
else {
form_error($form['vertical_tabs_advance']['cacheflush_advanced_table'][$key]['table'], t('The table field is mandatory.'));
}
}
}
else {
if ($is_error) {
form_set_error(t('cacheflush_preset_data_advanced'), t('You must select a table or create an advanced preset.'));
}
}
}
}
$error = array_values($_SESSION['messages']['error']);
if ($error) {
$_SESSION['messages']['error'] = $error;
}
else {
unset($_SESSION['messages']['error']);
}
}