You are here

function advagg_css_compress_admin_settings_form_submit in Advanced CSS/JS Aggregation 7.2

Submit callback that clears out the advagg cache bin.

Also remove default settings inside of the per_file_settings fieldgroup.

Related topics

1 string reference to 'advagg_css_compress_admin_settings_form_submit'
advagg_css_compress_admin_settings_form in advagg_css_compress/advagg_css_compress.admin.inc
Form builder; Configure advagg settings.

File

advagg_css_compress/advagg_css_compress.admin.inc, line 125
Admin page callbacks for the advagg JS compression module.

Code

function advagg_css_compress_admin_settings_form_submit($form, &$form_state) {

  // Clear caches.
  advagg_cache_clear_admin_submit();

  // Get current defaults.
  $file_settings = variable_get('advagg_css_compressor_file_settings', array());

  // Save per file settings.
  $new_settings = array();
  foreach ($form_state['values'] as $key => $value) {

    // Skip if not advagg_css_compressor_file_settings.
    if (strpos($key, 'advagg_css_compressor_file_settings_') === FALSE) {
      continue;
    }

    // Do not process default settings.
    if ($value == ADVAGG_CSS_COMPRESSOR_FILE_SETTINGS) {
      unset($form_state['values'][$key]);
      continue;
    }
    $new_settings[substr($key, 36)] = $value;

    // Do not save this field into its own variable.
    unset($form_state['values'][$key]);
  }
  if (!empty($new_settings) || !empty($file_settings)) {
    if (empty($new_settings)) {
      variable_del('advagg_css_compressor_file_settings');
    }
    else {
      variable_set('advagg_css_compressor_file_settings', $new_settings);
    }
  }
}