Code

Updated smarty to 1.0.9
[gosa.git] / gosa-core / include / smarty / sysplugins / smarty_internal_resource_eval.php
index cf2ec3e1cc5b9264d6dc621d291be97658652a43..c4a75f585aca1bf27ab389e3c7e63b1a7c48401a 100644 (file)
@@ -1,94 +1,89 @@
 <?php\r
+\r
 /**\r
  * Smarty Internal Plugin Resource Eval\r
- *\r
+ * \r
+ * Implements the strings as resource for Smarty template\r
+ * \r
  * @package Smarty\r
  * @subpackage TemplateResources\r
- * @author Uwe Tews\r
- * @author Rodney Rehm\r
+ * @author Uwe Tews \r
  */\r
-\r
\r
 /**\r
  * Smarty Internal Plugin Resource Eval\r
- *\r
- * Implements the strings as resource for Smarty template\r
- *\r
- * {@internal unlike string-resources the compiled state of eval-resources is NOT saved for subsequent access}}\r
- *\r
- * @package Smarty\r
- * @subpackage TemplateResources\r
  */\r
-class Smarty_Internal_Resource_Eval extends Smarty_Resource_Recompiled {\r
+class Smarty_Internal_Resource_Eval {\r
+    public function __construct($smarty)\r
+    {\r
+        $this->smarty = $smarty;\r
+    } \r
+    // classes used for compiling Smarty templates from file resource\r
+    public $compiler_class = 'Smarty_Internal_SmartyTemplateCompiler';\r
+    public $template_lexer_class = 'Smarty_Internal_Templatelexer';\r
+    public $template_parser_class = 'Smarty_Internal_Templateparser';\r
+    // properties\r
+    public $usesCompiler = true;\r
+    public $isEvaluated = true;\r
 \r
     /**\r
-     * populate Source Object with meta data from Resource\r
-     *\r
-     * @param Smarty_Template_Source   $source    source object\r
-     * @param Smarty_Internal_Template $_template template object\r
-     * @return void\r
+     * Return flag if template source is existing\r
+     * \r
+     * @return boolean true\r
      */\r
-    public function populate(Smarty_Template_Source $source, Smarty_Internal_Template $_template=null)\r
+    public function isExisting($template)\r
     {\r
-        $source->uid = $source->filepath = sha1($source->name);\r
-        $source->timestamp = false;\r
-        $source->exists = true;\r
-    }\r
+        return true;\r
+    } \r
 \r
     /**\r
-     * Load template's source from $resource_name into current template object\r
-     *\r
-     * @uses decode() to decode base64 and urlencoded template_resources\r
-     * @param Smarty_Template_Source $source source object\r
-     * @return string template source\r
+     * Get filepath to template source\r
+     * \r
+     * @param object $_template template object\r
+     * @return string return 'string' as template source is not a file\r
      */\r
-    public function getContent(Smarty_Template_Source $source)\r
-    {\r
-        return $this->decode($source->name);\r
-    }\r
-    \r
+    public function getTemplateFilepath($_template)\r
+    { \r
+        // no filepath for evaluated strings\r
+        // return "string" for compiler error messages\r
+        return 'eval:';\r
+    } \r
+\r
     /**\r
-     * decode base64 and urlencode\r
-     *\r
-     * @param string $string template_resource to decode\r
-     * @return string decoded template_resource\r
+     * Get timestamp to template source\r
+     * \r
+     * @param object $_template template object\r
+     * @return boolean false as string resources have no timestamp\r
      */\r
-    protected function decode($string)\r
-    {\r
-        // decode if specified\r
-        if (($pos = strpos($string, ':')) !== false) {\r
-            if (!strncmp($string, 'base64', 6)) {\r
-                return base64_decode(substr($string, 7));\r
-            } elseif (!strncmp($string, 'urlencode', 9)) {\r
-                return urldecode(substr($string, 10));\r
-            }\r
-        }\r
-        \r
-        return $string;\r
-    }\r
-    \r
+    public function getTemplateTimestamp($_template)\r
+    { \r
+        // evaluated strings must always be compiled and have no timestamp\r
+        return false;\r
+    } \r
+\r
     /**\r
-     * modify resource_name according to resource handlers specifications\r
-     *\r
-     * @param Smarty $smarty        Smarty instance\r
-     * @param string $resource_name resource_name to make unique\r
-     * @return string unique resource name\r
+     * Retuen template source from resource name\r
+     * \r
+     * @param object $_template template object\r
+     * @return string content of template source\r
      */\r
-    protected function buildUniqueResourceName(Smarty $smarty, $resource_name)\r
-    {\r
-        return get_class($this) . '#' .$this->decode($resource_name);\r
-    }\r
+    public function getTemplateSource($_template)\r
+    { \r
+        // return template string\r
+        $_template->template_source = $_template->resource_name;\r
+        return true;\r
+    } \r
 \r
     /**\r
-     * Determine basename for compiled filename\r
-     *\r
-     * @param Smarty_Template_Source $source source object\r
-     * @return string resource's basename\r
+     * Get filepath to compiled template\r
+     * \r
+     * @param object $_template template object\r
+     * @return boolean return false as compiled template is not stored\r
      */\r
-    protected function getBasename(Smarty_Template_Source $source)\r
-    {\r
-        return '';\r
-    }\r
-\r
-}\r
-\r
+    public function getCompiledFilepath($_template)\r
+    { \r
+        // no filepath for strings\r
+        return false;\r
+    } \r
+} \r
 ?>
\ No newline at end of file