]> git.mxchange.org Git - friendica.git/blobdiff - include/template_processor.php
Merge pull request #2110 from annando/1511-subscribe-feed
[friendica.git] / include / template_processor.php
index 6c5908d92e8d8f1d1c5f318bb868c3c6199d1f55..27271e2edbded66d9166af2b92203de46e72a95d 100644 (file)
@@ -1,9 +1,16 @@
 <?php
+/*
+ * This is the old template engine, now deprecated.
+ * Friendica's default template engine is Smarty3 (see include/friendica_smarty.php)
+ * 
+ */
+require_once 'object/TemplateEngine.php';
 
 define("KEY_NOT_EXISTS", '^R_key_not_Exists^');
 
-class Template {
-
+class Template implements ITemplateEngine {
+       static $name ="internal";
+       
        var $r;
        var $search;
        var $replace;
@@ -256,18 +263,19 @@ class Template {
                return $s;
        }
 
-       public function replace($s, $r) {
+       // TemplateEngine interface
+       public function replace_macros($s, $r) {
                $this->r = $r;
 
+               // remove comments block
+               $s = preg_replace('/{#(.*?\s*?)*?#}/', "", $s);
+
                $s = $this->_build_nodes($s);
 
                $s = preg_replace_callback('/\|\|([0-9]+)\|\|/', array($this, "_replcb_node"), $s);
                if ($s == Null)
                        $this->_preg_error();
 
-               // remove comments block
-               $s = preg_replace('/{#[^#]*#}/', "", $s);
-
                // replace strings recursively (limit to 10 loops)
                $os = "";
                $count = 0;
@@ -276,12 +284,18 @@ class Template {
                        $count++;
                        $s = $this->var_replace($s);
                }
-               return $s;
+               return template_unescape($s);
        }
-
+       
+       public function get_template_file($file, $root='') {
+               $a = get_app();
+               $template_file = get_template_file($a, $file, $root);
+               $content = file_get_contents($template_file);
+               return $content;                
+       }
+       
 }
 
-$t = new Template;
 
 function template_escape($s) {