class Pman_Core_JsCompile extends Pman
{
- static $cli_desc = "Wrapper around Javascript compression tools";
+ static $cli_desc = "Wrapper around Javascript compression tools
+ Runs the javascript compiler - merging all the JS files so the load faster.
+ Note: cfg option Pman_Builder['jspacker'] must be set to location of jstoolkit code
+";
var $cli = false;
function getAuth()
// or the compressed version.
// first expand files..
+ echo "<!-- compiling $basedir -->\n";
+
$arfiles = array();
$ofiles = array();
foreach($files as $f) {
echo '<script type="text/javascript" src="'.$output_url.'/'.$f.'"></script>'."\n";
}
-
-
+
}
+
function packCss($basedir, $files, $output_url)
{
// this outputs <script tags..>
* @param {String} $output name fo file to output
*
*/
- function pack($files, $output)
+ function pack($files, $output, $translation_base=false)
{
return false;
}
- $targetm = file_exists($output) ? filemtime($output) : 0;
+ $targetm = file_exists($output) && filesize($output) ? filemtime($output) : 0;
$max = 0;
$ofiles = array();
foreach($files as $f => $mt) {
$max = max($max,$mt);
$ofiles[] = escapeshellarg($f);
}
- if ($max < $targetm) {
+ if ($max < $targetm) {
+ echo '<!-- use cached compile. -->';
return true;
}
//var_dump($output);
$lsort = create_function('$a,$b','return strlen($a) > strlen($b) ? 1 : -1;');
usort($ofiles, $lsort);
- $eoutput = escapeshellarg($output);
+ $eoutput = " -o " . escapeshellarg($output) ;
+
+
+ if ( $translation_base) {
+ $toutput = "-t ". escapeshellarg(preg_replace('/\.js$/', '.__translation__.js', $output)) .
+ " -p " . escapeshellarg($translation_base) ;//." -k "; // this kills the compression.
+
+ }
- $toutput = "-t ". escapeshellarg(preg_replace('/\.js$/', '.__translation__.js', $output));
- $cmd = "$seed {$o['jspacker']}/pack.js -o $eoutput $toutput " . implode($ofiles, ' ') . ' 2>&1';
+ $cmd = "$seed {$o['jspacker']}/pack.js $eoutput $toutput " . implode($ofiles, ' ') . ' 2>&1';
//echo "<PRE>$cmd\n";
//echo `$cmd`;
//exit;
file_put_contents($output.'.log', $cmd."\n\n". $res);
// since this only appears when we change.. it's ok to dump it out..
- echo "<!-- Compiled javascript
+ echo "<!-- Compiled javascript
" . htmlspecialchars($res) . "
-->";