Generate the js compress configuration.

Return value

array Array($options, $description, $compressors, $functions).

4 calls to advagg_js_compress_configuration()
advagg_js_compress_admin_settings_form dans advagg_js_compress/advagg_js_compress.admin.inc
Form builder; Configure advagg settings.
advagg_js_compress_do_it dans advagg_js_compress/advagg_js_compress.advagg.inc
Compress a JS string.
advagg_js_compress_get_enabled_compressors dans advagg_js_compress/advagg_js_compress.advagg.inc
Get a list of enabled compressors.
advagg_js_compress_test_file dans advagg_js_compress/advagg_js_compress.module
Test a file, making sure it is compressible.

Fichier

advagg_js_compress/advagg_js_compress.module, line 398

Code

function advagg_js_compress_configuration() {
    // Set the defaults.
    $description = '';
    $options = array(
        0 => t('Disabled'),
        1 => t('JSMin+ ~1300ms'),
    );
    if (function_exists('jsmin')) {
        $options[3] = t('JSMin ~2ms');
        $description .= t('JSMin is the very fast C complied version. Recommend using it.');
    }
    else {
        if (!defined('PHP_VERSION_ID') || constant('PHP_VERSION_ID') < 50310) {
            $link = 'http://www.ypass.net/software/php_jsmin/';
        }
        else {
            $link = 'https://github.com/sqmk/pecl-jsmin/';
        }
        $description .= t('You can use the much faster C version of JSMin (~2ms) by installing the <a href="@php_jsmin">JSMin PHP Extension</a> on this server.', array(
            '@php_jsmin' => $link,
        ));
    }
    // Add in JShrink and JSqueeze if using php 5.3 or higher.
    if (defined('PHP_VERSION_ID') && constant('PHP_VERSION_ID') >= 50300) {
        $options += array(
            4 => t('JShrink ~1000ms'),
            5 => t('JSqueeze ~600ms'),
        );
    }
    $compressors = array(
        1 => 'jsminplus',
        2 => 'packer',
    );
    if (function_exists('jsmin')) {
        $compressors[3] = 'jsmin';
    }
    if (defined('PHP_VERSION_ID') && constant('PHP_VERSION_ID') >= 50300) {
        $compressors += array(
            4 => 'jshrink',
            5 => 'jsqueeze',
        );
    }
    $functions = array(
        1 => 'advagg_js_compress_jsminplus',
        2 => 'advagg_js_compress_jspacker',
        3 => 'advagg_js_compress_jsmin',
        4 => 'advagg_js_compress_jshrink',
        5 => 'advagg_js_compress_jsqueeze',
    );
    // Allow for other modules to alter this list.
    $options_desc = array(
        $options,
        $description,
    );
    // Call hook_advagg_js_compress_configuration_alter().
    drupal_alter('advagg_js_compress_configuration', $options_desc, $compressors, $functions);
    list($options, $description) = $options_desc;
    return array(
        $options,
        $description,
        $compressors,
        $functions,
    );
}