JsTemplate.php
[Pman.Core] / JsTemplate.php
index 1dc81bf..1fa183b 100644 (file)
@@ -45,25 +45,33 @@ class Pman_Core_JsTemplate extends Pman {
         // get the modules.
         header('Content-type: text/javascript');
         
-        $ff = HTML_FlexyFramework::get()->HTML_Template_Flexy;
-        
-        $ar = explode(PATH_SEPARATOR, $ff['templateDir']);
-        
+        $ff = HTML_FlexyFramework::get();
         
+        $pr = $ff->project;
+        $ar = explode(PATH_SEPARATOR, $ff->HTML_Template_Flexy['templateDir']);
         
+        $prefix = $pr == 'Pman' ? 'Pman.' : '';
         
         foreach($ar as $mod) {
             $dir =   dirname($mod) . '/jtemplates';
             if (!file_exists($dir)) {
                 echo '// missing directory '. htmlspecialchars($dir) ."\n";
+                continue;
             }
             // got a directory..
             $mn = basename(dirname($mod));
-
+            $ar = glob("$dir/*.html") ;
+            if (empty($ar)) {
+                echo '// no template is directory '. htmlspecialchars($dir) ."\n";
+                continue;
+            }
+            
+            echo "{$prefix}{$mn} = {$prefix}{$mn} || {};\n";
+            echo "{$prefix}{$mn}.template = {$prefix}{$mn}.template   || {};\n\n";
             
             foreach(glob("$dir/*.html") as $fn) {
-                $name = 'Pman.' . $mn .'.' . preg_replace('/\.html$/i', '', basename($fn));
-                echo $this->compile($fn, $name);
+                $name = "{$prefix}{$mn}.template." . preg_replace('/\.html$/i', '', basename($fn));
+                echo $this->compile($fn, $name) . "\n";
                 
 
             }
@@ -92,6 +100,10 @@ class Pman_Core_JsTemplate extends Pman {
         $ret = array();
         
         $ret[] = "var $name = function(t) {\n    var ret=[];\n";
+        
+        $funcs = array();
+        // do not allow nested functions..?
+        $fstart = 0;
         $indent = 1;
         foreach($ar as $item) {
             $in = str_repeat("    ", $indent);
@@ -105,7 +117,7 @@ class Pman_Core_JsTemplate extends Pman {
                     if (!strlen(trim($item))) {
                         continue;
                     }
-                    $ret[] = $in . "ret+= ". json_encode($item) . ";";
+                    $ret[] = $in . "ret += ". json_encode($item) . ";";
                     continue;
                 
                 case (substr($item,1,3) == 'if('):