You are here

function cacheflush_combine_preset_form_submit in CacheFlush 7.2

Implements hook_formID_submit().

File

cacheflush_combination/cacheflush_combination.inc, line 65
Cacheflush Cloner include.

Code

function cacheflush_combine_preset_form_submit($form, &$form_state) {
  if (isset($form_state['preset_id'])) {
    $preset_id = $form_state['preset_id'];
  }
  else {
    $preset_id = max(array_keys($form_state['cacheflush_preset_list'])) + 1;
  }
  $form_state['cacheflush_preset_list'][$preset_id] = array(
    '#name' => $form_state['values']['cacheflush_preset_name'],
    '#cacheflush_preset_values' => array(),
    '#enabled' => $preset_id,
    '#combined' => TRUE,
  );
  foreach ($form_state['values']['selected'] as $key => $value) {
    $form_state['cacheflush_preset_list'][$preset_id]['#combined'] = TRUE;
    $form_state['cacheflush_preset_list'][$preset_id]['#parent_ids'][] = $key;
    if ($form_state['values']['checkbox'] == 1) {
      $form_state['cacheflush_preset_list'][$preset_id]['#cacheflush_preset_values']["cloned_{$preset_id}"]['functions'][$key] = "_cacheflush_clear_preset";
      $form_state['cacheflush_preset_list'][$preset_id]['#cacheflush_preset_values']["cloned_{$preset_id}"]['params'][$key] = array(
        $key,
      );
      $form_state['cacheflush_preset_list'][$preset_id]['#cacheflush_preset_values']["cloned_{$preset_id}"]['is_table'] = FALSE;
      $form_state['cacheflush_preset_list'][$preset_id]['#live'] = TRUE;
    }
    else {
      $form_state['cacheflush_preset_list'][$preset_id]['#cacheflush_preset_values'] += $form_state['cacheflush_preset_list'][$key]['#cacheflush_preset_values'];
    }
  }
  variable_set('cacheflush_preset_list', $form_state['cacheflush_preset_list']);
  drupal_set_message(t("@name preset saved.", array(
    '@name' => $form_state['values']['cacheflush_preset_name'],
  )));

  // Rebuild Menu.
  node_types_rebuild();
  menu_rebuild();
}