[limb-svn] r6350 - 3.x/trunk/limb/macro/src

svn at limb-project.com svn at limb-project.com
Mon Oct 1 17:31:09 MSD 2007


Author: pachanga
Date: 2007-10-01 17:31:08 +0400 (Mon, 01 Oct 2007)
New Revision: 6350
URL: http://fisheye.limb-project.com/changelog/limb/?cs=6350

Modified:
   3.x/trunk/limb/macro/src/lmbMacroTemplate.class.php
   3.x/trunk/limb/macro/src/lmbMacroTemplateLocator.class.php
Log:
-- lmbMacroTemplate :: locateTemplateByAlias($alias, $config) helper added
-- lmbMacroTemplateLocator now checks if template file with absolute path actually exists



Modified: 3.x/trunk/limb/macro/src/lmbMacroTemplate.class.php
===================================================================
--- 3.x/trunk/limb/macro/src/lmbMacroTemplate.class.php	2007-10-01 13:28:12 UTC (rev 6349)
+++ 3.x/trunk/limb/macro/src/lmbMacroTemplate.class.php	2007-10-01 13:31:08 UTC (rev 6350)
@@ -27,14 +27,18 @@
   function __construct($file, lmbMacroConfig $config = null)
   {
     $this->file = $file;
-
     $this->config = $config ? $config : new lmbMacroConfig();
-
     $this->locator = new lmbMacroTemplateLocator($this->config);
-
     $this->tag_dictionary = lmbMacroTagDictionary :: load($this->config);
   }
 
+  static function locateTemplateByAlias($alias, lmbMacroConfig $config = null)
+  {
+    $config = $config ? $config : new lmbMacroConfig();
+    $locator = new lmbMacroTemplateLocator($config);
+    return $locator->locateSourceTemplate($alias);
+  }
+
   function setVars($vars)
   {
     $this->vars = $vars;
@@ -53,7 +57,7 @@
   function render($vars = array())
   {
     if(!$source_file = $this->locator->locateSourceTemplate($this->file))    
-     throw new lmbMacroException('Template source file not found', array('file_name' => $this->file));
+      throw new lmbMacroException('Template source file not found', array('file_name' => $this->file));
 
     $compiled_file = $this->locator->locateCompiledTemplate($this->file);
 

Modified: 3.x/trunk/limb/macro/src/lmbMacroTemplateLocator.class.php
===================================================================
--- 3.x/trunk/limb/macro/src/lmbMacroTemplateLocator.class.php	2007-10-01 13:28:12 UTC (rev 6349)
+++ 3.x/trunk/limb/macro/src/lmbMacroTemplateLocator.class.php	2007-10-01 13:31:08 UTC (rev 6350)
@@ -8,6 +8,7 @@
  */
 
 lmb_require('limb/fs/toolkit.inc.php');
+lmb_require('limb/fs/src/lmbFs.class.php');
 
 /**
  * class lmbMacroTemplateLocator.
@@ -33,8 +34,8 @@
   function locateSourceTemplate($file_name)
   {    
     if(!lmbFs :: isPathAbsolute($file_name))
-      return $this->toolkit->findFileByAlias($file_name, $this->scan_dirs, 'macro');
-    else
+      return $this->toolkit->tryFindFileByAlias($file_name, $this->scan_dirs, 'macro');
+    elseif(file_exists($file_name))
       return $file_name;
   }
 



More information about the limb-svn mailing list