Code

Removed x bits
[gosa.git] / gosa-core / include / smarty / sysplugins / smarty_internal_resource_eval.php
1 <?php\r
2 /**\r
3  * Smarty Internal Plugin Resource Eval\r
4  *\r
5  * @package Smarty\r
6  * @subpackage TemplateResources\r
7  * @author Uwe Tews\r
8  * @author Rodney Rehm\r
9  */\r
10 \r
11 /**\r
12  * Smarty Internal Plugin Resource Eval\r
13  *\r
14  * Implements the strings as resource for Smarty template\r
15  *\r
16  * {@internal unlike string-resources the compiled state of eval-resources is NOT saved for subsequent access}}\r
17  *\r
18  * @package Smarty\r
19  * @subpackage TemplateResources\r
20  */\r
21 class Smarty_Internal_Resource_Eval extends Smarty_Resource_Recompiled {\r
22 \r
23     /**\r
24      * populate Source Object with meta data from Resource\r
25      *\r
26      * @param Smarty_Template_Source   $source    source object\r
27      * @param Smarty_Internal_Template $_template template object\r
28      * @return void\r
29      */\r
30     public function populate(Smarty_Template_Source $source, Smarty_Internal_Template $_template=null)\r
31     {\r
32         $source->uid = $source->filepath = sha1($source->name);\r
33         $source->timestamp = false;\r
34         $source->exists = true;\r
35     }\r
36 \r
37     /**\r
38      * Load template's source from $resource_name into current template object\r
39      *\r
40      * @uses decode() to decode base64 and urlencoded template_resources\r
41      * @param Smarty_Template_Source $source source object\r
42      * @return string template source\r
43      */\r
44     public function getContent(Smarty_Template_Source $source)\r
45     {\r
46         return $this->decode($source->name);\r
47     }\r
48     \r
49     /**\r
50      * decode base64 and urlencode\r
51      *\r
52      * @param string $string template_resource to decode\r
53      * @return string decoded template_resource\r
54      */\r
55     protected function decode($string)\r
56     {\r
57         // decode if specified\r
58         if (($pos = strpos($string, ':')) !== false) {\r
59             if (!strncmp($string, 'base64', 6)) {\r
60                 return base64_decode(substr($string, 7));\r
61             } elseif (!strncmp($string, 'urlencode', 9)) {\r
62                 return urldecode(substr($string, 10));\r
63             }\r
64         }\r
65         \r
66         return $string;\r
67     }\r
68     \r
69     /**\r
70      * modify resource_name according to resource handlers specifications\r
71      *\r
72      * @param Smarty $smarty        Smarty instance\r
73      * @param string $resource_name resource_name to make unique\r
74      * @return string unique resource name\r
75      */\r
76     protected function buildUniqueResourceName(Smarty $smarty, $resource_name)\r
77     {\r
78         return get_class($this) . '#' .$this->decode($resource_name);\r
79     }\r
80 \r
81     /**\r
82      * Determine basename for compiled filename\r
83      *\r
84      * @param Smarty_Template_Source $source source object\r
85      * @return string resource's basename\r
86      */\r
87     protected function getBasename(Smarty_Template_Source $source)\r
88     {\r
89         return '';\r
90     }\r
91 \r
92 }\r
93 \r
94 ?>