Implements hook_advagg_get_js_file_contents_alter().

Used to compress a js file.

Related topics

File

advagg_js_compress/advagg_js_compress.advagg.inc, line 123

Code

function advagg_js_compress_advagg_get_js_file_contents_alter(&$contents, $filename, $aggregate_settings) {
    // Get per file settings.
    if (!empty($aggregate_settings['variables']['advagg_js_compressor_file_settings'])) {
        $form_api_filename = str_replace(array(
            '/',
            '.',
        ), array(
            '__',
            '--',
        ), $filename);
        if (isset($aggregate_settings['variables']['advagg_js_compressor_file_settings'][$form_api_filename])) {
            $aggregate_settings['variables']['advagg_js_compressor'] = $aggregate_settings['variables']['advagg_js_compressor_file_settings'][$form_api_filename];
        }
    }
    // Do nothing if js file compression is disabled.
    if (empty($aggregate_settings['variables']['advagg_js_compressor'])) {
        return;
    }
    // Make sure this file has been tested.
    $compressor = $aggregate_settings['variables']['advagg_js_compressor'];
    module_load_include('inc', 'advagg', 'advagg');
    $info = advagg_get_info_on_file($filename);
    if (!isset($info['advagg_js_compress'][$compressor]['code'])) {
        // Test file here on the spot.
        if (variable_get('advagg_cache_level', ADVAGG_CACHE_LEVEL) == 0 || variable_get('advagg_cache_level', ADVAGG_CACHE_LEVEL) == 1) {
            $compressors_to_test = advagg_js_compress_get_enabled_compressors($aggregate_settings);
            $info['advagg_js_compress'] = advagg_js_compress_run_test($filename, $info, $compressors_to_test);
        }
    }
    // Compress it if it passes the test.
    if (!empty($info['advagg_js_compress'][$compressor]['code']) && $info['advagg_js_compress'][$compressor]['code'] == 1) {
        advagg_js_compress_prep($contents, $filename, $aggregate_settings);
    }
}