]> git.andy128k.dev Git - ipf-template.git/commitdiff
app level templates
authorAndrey Kutejko <andy128k@gmail.com>
Sun, 7 Jul 2013 06:44:33 +0000 (09:44 +0300)
committerAndrey Kutejko <andy128k@gmail.com>
Sun, 7 Jul 2013 06:44:33 +0000 (09:44 +0300)
ipf/template/environment.php

index 7d3d79a7a03450807e5f2cbf140ee0b10703c561..0ea8b8e475a8f1aa60a50167b6e88ace31c0c139 100644 (file)
@@ -10,8 +10,21 @@ abstract class IPF_Template_Environment
 
     public static function getDefault()
     {
-        if (!self::$defaultEnvironment)
-            self::$defaultEnvironment = new IPF_Template_Environment_FileSystem(IPF::get('template_dirs'), IPF::get('tmp'));
+        if (!self::$defaultEnvironment) {
+            $dirs = array();
+
+            $projectTemplates = IPF::get('project_path') . '/templates';
+            if (is_dir($projectTemplates))
+                $dirs[] = $projectTemplates;
+
+            foreach (IPF_Project::getInstance()->appList() as $app) {
+                $applicationTemplates = $app->getPath() . 'templates';
+                if (is_dir($applicationTemplates))
+                    $dirs[] = $applicationTemplates;
+            }
+
+            self::$defaultEnvironment = new IPF_Template_Environment_FileSystem($dirs, IPF::get('tmp'));
+        }
         return self::$defaultEnvironment;
     }
 }