Drush commands for AdvAgg JS minification.
Fichier
-
advagg_js_compress/
advagg_js_compress.drush.inc
View source
<?php
/**
* @file
* Drush commands for AdvAgg JS minification.
*/
/**
* @addtogroup 3rd_party_hooks
* @{
*/
/**
* Implements hook_drush_help().
*/
function advagg_js_compress_drush_help($command) {
switch ($command) {
case 'drush:advagg-js-compress':
return dt('Run js minification for all js files.');
}
}
/**
* Implements hook_drush_command().
*/
function advagg_js_compress_drush_command() {
$items = array();
$items['advagg-js-compress'] = array(
'callback' => 'drush_advagg_js_compress',
'description' => dt('Run js minification.'),
'core' => array(
'7+',
),
'arguments' => array(
'filename' => 'all will do all files, or specify the filename to target that file.',
),
'examples' => array(
'drush advagg-js-compress' => dt('Minify only the files that need to be done.'),
'drush advagg-js-compress all' => dt('Minify all js files again.'),
'drush advagg-js-compress misc/jquery.once.js' => dt('Minify the misc/jquery.once.js file.'),
),
'aliases' => array(
'advagg-jsc',
'advagg-jsmin',
),
);
return $items;
}
/**
* @} End of "addtogroup 3rd_party_hooks".
*/
/**
* Callback function for drush advagg-js-compress.
*
* Callback is called by using drush_hook_command() where
* hook is the name of the module (advagg) and command is the name of
* the Drush command with all "-" characters converted to "_" characters.
*
* @param string $filename
* The filename to compress or all to redo all files.
*/
function drush_advagg_js_compress($filename = '') {
// Get the redo list.
list($list, $redo_list) = advagg_js_compress_all_js_files_list();
// Handle special use cases.
if (!empty($filename)) {
// Do all.
if (strtolower($filename) === 'all') {
$redo_list = $list;
}
else {
// Do a single file, search for it in the $list.
$redo_list = array();
foreach ($list as $values) {
if ($values['data'] === $filename) {
$redo_list = array(
$values,
);
break;
}
}
// Let user know if that file was not found.
if (empty($redo_list)) {
drush_log(dt('The file @filename was not found.', array(
'@filename' => $filename,
)), 'notice');
return;
}
}
}
// Return if nothing to do.
if (empty($redo_list)) {
drush_log(dt('All of @total js files are already minified.', array(
'@total' => count($list),
)), 'ok');
return;
}
// Let user know what will happen.
drush_log(dt('A total of @redo out of @total js files will be minified.', array(
'@redo' => count($redo_list),
'@total' => count($list),
)), 'ok');
// Compress js files and cache.
advagg_js_compress_redo_files($redo_list, 0, TRUE);
}
Functions
Titre | Deprecated | Résumé |
---|---|---|
advagg_js_compress_drush_command | Implements hook_drush_command(). | |
advagg_js_compress_drush_help | Implements hook_drush_help(). | |
drush_advagg_js_compress | Callback function for drush advagg-js-compress. |