JsTemplate.php
[Pman.Core] / JsTemplate.php
index 6ab0fa6..c3b75d6 100644 (file)
@@ -94,7 +94,7 @@ class Pman_Core_JsTemplate extends Pman {
         
         
         $contents = file_get_contents($fn);
-        $ar = preg_split('/(\{[^\}]+})/', $contents, -1, PREG_SPLIT_DELIM_CAPTURE);
+        $ar = preg_split('/(\{[^\\n}]+})/', $contents, -1, PREG_SPLIT_DELIM_CAPTURE);
         
         
         
@@ -126,7 +126,8 @@ class Pman_Core_JsTemplate extends Pman {
                 case ($inscript && ($item == '{end:}')):
                     $inscript = false;
                     continue;
-                
+                 
+             
                 case ($item[0] != '{'):
                     if (!strlen(trim($item))) {
                         continue;
@@ -139,7 +140,9 @@ class Pman_Core_JsTemplate extends Pman {
                     $inscript = true;
                     continue;
                 
-                
+                case $item[1] == '!'):
+                    $ret[] = $in . "$item;";
+                    continue;
                 
                 case (substr($item,1,3) == 'if('):
                     $ret[] = $in . substr($item,1,-1) . ' {';
@@ -185,7 +188,7 @@ class Pman_Core_JsTemplate extends Pman {
         }
         $in = str_repeat("    ", $indent);
         $ret[] = $in .  "return ret.join('');\n}\n";
-        return $head . implode("\n",$funcs) . "\n" .implode("\n",$out) ;
+        return $head . implode("\n",$funcs) . "\n\n" .implode("\n",$out) ;
         //echo '<PRE>' . htmlspecialchars(implode("\n",$ret));