JsCompile.php
[Pman.Core] / JsCompile.php
index 51f026d..d657891 100644 (file)
@@ -69,13 +69,14 @@ class Pman_Core_JsCompile  extends Pman
      *
      * @param {String} basedir absolute path to files
      * @param {Array}  list of files (ontop of basedir) 
-     *
+     * @param {String} output url (path to basedir basically), or false
+     *                  to not compile
      *
      *
      */
     
     
-    function packScript($basedir, $files,  $output_url)
+    function packScript($basedir, $files,  $output_url, $no_compile=false)
     {
         // this outputs <script tags..>
         // either for just the original files,
@@ -102,17 +103,17 @@ class Pman_Core_JsCompile  extends Pman
         
         $output = md5(serialize($arfiles)) .'.js';
         
-        if (!file_exists($basedir.'/_cache_/'.$output)) {
+        if ( !$no_compile && !file_exists($basedir.'/_cache_/'.$output)) {
             $this->pack($arfiles,$basedir.'/_cache_/'.$output);
         }
         
-        if (file_exists($basedir.'/_cache_/'.$output)) {
+        if (!$no_compile && file_exists($basedir.'/_cache_/'.$output)) {
             
             echo '<script type="text/javascript" src="'.$output_url.'/_cache_/'. $output.'"></script>';
             return;
         }
         foreach($ofiles as $f) {
-            echo '<script type="text/javascript" src="'.$output_url.'/'.$f.'"></script>';
+            echo '<script type="text/javascript" src="'.$output_url.'/'.$f.'"></script>'."\n";
             
         }
          
@@ -222,14 +223,14 @@ class Pman_Core_JsCompile  extends Pman
         $o = HTML_FlexyFramework::get()->Pman_Core;
         
         if (empty($o['jspacker']) || !file_exists($o['jspacker'].'/pack.js')) {
-            echo '<!-- jspacker not set -->';
+            echo '<!-- JS COMPILE ERROR: option: Pman_Core[jspacker] not set -->';
             return false;
             
         }
         require_once 'System.php';
         $seed= System::which('seed');
         if (!$seed) {
-            echo '<!-- seed not installed -->';
+            echo '<!-- JS COMPILE ERROR: seed not installed -->';
             return false;
             
         }
@@ -249,21 +250,27 @@ class Pman_Core_JsCompile  extends Pman
         }
         sort($ofiles);
         $eoutput = escapeshellarg($output);
-        $cmd = "$seed {$o['jspacker']}/pack.js  -o $eoutput " . implode($ofiles, ' ');
+        $cmd = "$seed {$o['jspacker']}/pack.js  -o $eoutput " . implode($ofiles, ' ') . ' 2>&1';
         //echo "<PRE>$cmd\n";
         //echo `$cmd`;
         $res = `$cmd`;
         //exit;
         
+        // since this only appears when we change.. it's ok to dump it out..
+          echo "<!-- Compiled javascript
+          
+            " . htmlspecialchars($cmd) . "
+            
+            " . htmlspecialchars($res) . "
+            
+            -->";
+            
         // we should do more checking.. return val etc..
         if (file_exists($output) && ($max < filemtime($output) ) ) {
             
             return true;
         }
-        echo "<!-- packed file did not exist
-            " . htmlspecialchars($res) . "
-            " . htmlspecialchars($cmd) . "
-            -->";
+        echo "<!-- JS COMPILE ERROR: packed file did not exist  -->";
         return false;
         
     }