You are here

function cacheflush_advanced_tab_validation in CacheFlush 7.3

Same name and namespace in other branches
  1. 8 modules/cacheflush_advanced/cacheflush_advanced.module \cacheflush_advanced_tab_validation()

Implements advanced preset validation.

1 string reference to 'cacheflush_advanced_tab_validation'
cacheflush_advanced_cacheflush_ui_tabs in modules/cacheflush_advanced/cacheflush_advanced.module
Implements hook_cacheflush_ui_tabs().

File

modules/cacheflush_advanced/cacheflush_advanced.module, line 120
Cacheflush advanced preset form.

Code

function cacheflush_advanced_tab_validation($tab, &$form, &$form_state) {

  // Check for advanced preset.
  if (isset($form_state['values']['vertical_tabs_advance']['cacheflush_advanced_table'])) {
    foreach ($form_state['values']['vertical_tabs_advance']['cacheflush_advanced_table'] as $key => $value) {
      if ($value['wildcard'] || $value['cid'] || $value['table']) {
        if ($value['cid'] && $value['table']) {
          unset($value['operations']);
          if (isset($form_state['values']['vertical_tabs_advance']['cacheflush_advanced_table'])) {
            foreach ($form_state['values']['vertical_tabs_advance']['cacheflush_advanced_table'] as $key => $value) {
              $form_state['cacheflush']->data['advanced']['functions'][$key] = array(
                '#name' => 'cache_clear_all',
                '#params' => array(
                  $value['cid'],
                  $value['table'],
                  $value['wildcard'],
                ),
              );
            }
          }
        }
        else {
          if (isset($form_state['clicked_button']) && $form_state['clicked_button']['#value'] == t('Remove')) {
            return;
          }
          if ($value['wildcard'] == 1 && (!$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.'));
          }
        }
      }
    }
  }
}