]> git.andy128k.dev Git - ipf.git/commitdiff
isolate ipf-template library stuff in shortcuts module
authorAndrey Kutejko <andy128k@gmail.com>
Sun, 4 Jan 2015 20:00:32 +0000 (22:00 +0200)
committerAndrey Kutejko <andy128k@gmail.com>
Sun, 4 Jan 2015 20:01:59 +0000 (22:01 +0200)
ipf/admin/controllers/base.php
ipf/project_template.php
ipf/shortcuts.php

index 7c4c9d5fcbcfd7eadf8f7e83e0588f8c5805b449..e5212794ffcb3235d24e5dd6b1c7e9da93ffa796 100644 (file)
@@ -13,10 +13,7 @@ abstract class IPF_Admin_Base_Controller extends IPF_Controller
 
     protected function render($template, $params)
     {
-        $context = IPF_Project_Template::context($params, $this->request);
-        $tmpl = new IPF_Template_File($template, IPF_Project_Template::getDefaultTemplateEnvironment());
-        $html = $tmpl->render(new IPF_Template_Context($context));
-        return new IPF_HTTP_Response($html);
+        return IPF_Shortcuts::RenderToResponse($template, $params, $this->request);
     }
 }
 
index cbe569cac7ad76c18fa216797c90beb1e070b180..ca3f0ec1a5c9778fa0e51ebba4b7f8f8dbf3d3f3 100644 (file)
@@ -2,35 +2,6 @@
 
 final class IPF_Project_Template
 {
-    private static $defaultEnvironment = null;
-
-    public static function getDefaultTemplateEnvironment()
-    {
-        if (!self::$defaultEnvironment)
-            self::$defaultEnvironment = self::createEnvironment();
-        return self::$defaultEnvironment;
-    }
-
-    private static function createEnvironment()
-    {
-        $e = new IPF_Template_Environment_FileSystem;
-
-        $e->cache = IPF::get('tmp');
-        $e->debug = IPF::get('debug');
-
-        $e->folders = self::templateDirs();
-
-        $e->tags['url'] = 'IPF_Project_Template_Tag_Url';
-        $e->tags['params'] = 'IPF_Project_Template_Tag_Params';
-        // extra tags
-        $e->tags = array_merge(IPF::get('template_tags', array()), $e->tags);
-
-        // extra modifiers
-        $e->modifiers = array_merge(IPF::get('template_modifiers', array()), $e->modifiers);
-
-        return $e;
-    }
-
     public static function templateDirs()
     {
         $dirs = array();
@@ -121,19 +92,3 @@ final class IPF_Project_Template
     }
 }
 
-class IPF_Project_Template_Tag_Url extends IPF_Template_Tag
-{
-    function start()
-    {
-        echo IPF_Project_Template::urlTag(func_get_args());
-    }
-}
-
-class IPF_Project_Template_Tag_Params extends IPF_Template_Tag
-{
-    function start()
-    {
-        echo IPF_Project_Template::paramsTag(func_get_args());
-    }
-}
-
index 8b90bfcf6016a972b6facc093be49f9f7ec56d52..b5449e349de22716f1b30e9ef50d13c9d118c44e 100644 (file)
@@ -4,14 +4,59 @@ final class IPF_Shortcuts
 {
     public static function RenderToResponse($tplfile, $params=array(), $request=null)
     {
-        return new IPF_HTTP_Response(IPF_Shortcuts::RenderToString($tplfile, $params, $request));
+        return new IPF_HTTP_Response(self::RenderToString($tplfile, $params, $request));
     }
 
     public static function RenderToString($tplfile, $params=array(), $request=null)
     {
         $context = IPF_Project_Template::context($params, $request);
-        $tmpl = new IPF_Template_File($tplfile, IPF_Project_Template::getDefaultTemplateEnvironment());
+        $tmpl = new IPF_Template_File($tplfile, self::getDefaultTemplateEnvironment());
         return $tmpl->render(new IPF_Template_Context($context));
     }
+
+    private static $defaultEnvironment = null;
+
+    public static function getDefaultTemplateEnvironment()
+    {
+        if (!self::$defaultEnvironment)
+            self::$defaultEnvironment = self::createEnvironment();
+        return self::$defaultEnvironment;
+    }
+
+    private static function createEnvironment()
+    {
+        $e = new IPF_Template_Environment_FileSystem;
+
+        $e->cache = IPF::get('tmp');
+        $e->debug = IPF::get('debug');
+
+        $e->folders = IPF_Project_Template::templateDirs();
+
+        $e->tags['url'] = 'IPF_Template_Tag_Url';
+        $e->tags['params'] = 'IPF_Template_Tag_Params';
+        // extra tags
+        $e->tags = array_merge(IPF::get('template_tags', array()), $e->tags);
+
+        // extra modifiers
+        $e->modifiers = array_merge(IPF::get('template_modifiers', array()), $e->modifiers);
+
+        return $e;
+    }
+}
+
+class IPF_Template_Tag_Url extends IPF_Template_Tag
+{
+    function start()
+    {
+        echo IPF_Project_Template::urlTag(func_get_args());
+    }
+}
+
+class IPF_Template_Tag_Params extends IPF_Template_Tag
+{
+    function start()
+    {
+        echo IPF_Project_Template::paramsTag(func_get_args());
+    }
 }