PHP7 fix
[Pman.Core] / JsCompile.php
index d1c70cd..a5b9159 100644 (file)
@@ -37,7 +37,7 @@ class Pman_Core_JsCompile  extends Pman
     }
     
     
-    function get($proj, $args)
+    function get($proj, $args=array())
     {
         if (empty($args)) {
             die("missing action : eg. build or install");
@@ -124,7 +124,7 @@ class Pman_Core_JsCompile  extends Pman
         }
         $tf = 
         // sort exc. the .js
-        usort($ofiles,create_function('$a,$b', 'return Pman_Core_JsCompile::jsSort($a,$b);'));
+        usort($ofiles,function($a,$b) { return Pman_Core_JsCompile::jsSort($a,$b); });
         
         //print_R($ofiles);
         
@@ -255,12 +255,16 @@ class Pman_Core_JsCompile  extends Pman
     
     function pack($files, $output, $translation_base=false)
     {
-         
+        
+        if (empty($files)) {
+            return false;
+        }
+        
         $o = HTML_FlexyFramework::get()->Pman_Core;
         if (isset($o['packseed'])) {
             return $this->packSeed($files,$output,$translation_base);
         }
-    
+        
         
         require_once 'System.php';
         $packer = System::which('roojspacker');
@@ -282,12 +286,17 @@ class Pman_Core_JsCompile  extends Pman
             echo '<!--  use cached compile. -->';
             return true;
         }
-        //var_dump($output);
+        
+        if (file_exists($output)) {
+            unlink($output);
+        }
+        
+         
         if (!file_exists(dirname($output))) {
             mkdir(dirname($output), 0755, true);
         }
-        $lsort = create_function('$a,$b','return strlen($a) > strlen($b) ? 1 : -1;');
-        usort($ofiles, $lsort);
+        
+        usort($ofiles, function($a,$b)  { return strlen($a) > strlen($b) ? 1 : -1; });
         
         //$eoutput = " -k  -o " . escapeshellarg($output) ; // with whitespace..
         $eoutput = "  -t " . escapeshellarg($output) ;
@@ -299,8 +308,8 @@ class Pman_Core_JsCompile  extends Pman
         //            
         //}
         
-        
-        $cmd = "$packer  $eoutput  -f " . implode($ofiles, ' -f ') . ' 2>&1';
+    
+        $cmd = "$packer  $eoutput  -f " . implode(' -f ', $ofiles) . ' 2>&1';
         //echo "<PRE>$cmd\n";
         //echo `$cmd`;
         
@@ -319,12 +328,15 @@ class Pman_Core_JsCompile  extends Pman
         echo "<!-- Compiled javascript
             " . htmlspecialchars($res) . "
             -->";
-            
+        clearstatcache();
         // we should do more checking.. return val etc..
-        if (file_exists($output) && ($max < filemtime($output) ) ) {
-            
+        if (file_exists($output) && filesize($output) && ($max < filemtime($output) ) ) {
+            echo "<!-- file looks like its been generated -->\n";
             return true;
         }
+        echo '<script type="text/javascript"> alert('. json_encode("Error: Javascript Compile failed\n" . $res) .');</script>';
+     
+        
         echo "<!-- JS COMPILE ERROR: packed file did not exist  -->";
         return false;
         
@@ -408,7 +420,9 @@ class Pman_Core_JsCompile  extends Pman
             
             return true;
         }
-        echo "<!-- JS COMPILE ERROR: packed file did not exist  -->";
+        
+         
+        echo "\n<!-- JS COMPILE ERROR: packed file did not exist  -->\n";
         return false;
         
     }