Submit callback that clears out the advagg cache bin.

Also remove default settings inside of the per_file_settings fieldgroup.

Sujets associés

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

Fichier

advagg_css_compress/advagg_css_compress.admin.inc, line 125

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);
        }
    }
}