a3355d52240e20c5a9050c58ffe072418f498258
[ldapsaisie.git] / public_html / includes / class / class.LStemplate_smarty2_support.php
1 <?php
2 /*******************************************************************************
3  * Copyright (C) 2007 Easter-eggs
4  * http://ldapsaisie.labs.libre-entreprise.org
5  *
6  * Author: See AUTHORS file in top-level directory.
7  *
8  * This program is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU General Public License version 2
10  * as published by the Free Software Foundation.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program; if not, write to the Free Software
19  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
20  *******************************************************************************/
21
22 /** 
23  * Support Smarty2 for LStemplate
24  *
25  * @author Benjamin Renard <brenard@easter-eggs.com>
26  **/
27
28 /**
29  * Retrieve a resource
30  *
31  * @param[in] $tpl_name string The template name
32  * @param[in] $tpl_source string Variable passed by reference
33  *                               where the result should be stored.
34  * @param[in] $smarty_obj object The Smarty object
35  *
36  * @return bool TRUE if it was able to successfully retrieve 
37  *              the resource and FALSE otherwise.
38  **/
39 function LStemplate_smarty_get_template ($tpl_name, &$tpl_source, &$smarty_obj) {
40   $tpl_source=LStemplate :: getTemplateSource($tpl_name);
41   return True;
42 }
43
44 /**
45  * Retrieve the last modification timestamp of a template 
46  *
47  * @param[in] $tpl_name string The template name
48  * @param[in] $tpl_timestamp int Variable passed by reference
49  *                               where the result should be stored.
50  * @param[in] $smarty_obj object The Smarty object
51  *
52  * @return bool TRUE if the timestamp could be succesfully determined,
53  *               or FALSE otherwise 
54  **/
55 function LStemplate_smarty_get_timestamp($tpl_name, &$tpl_timestamp, &$smarty_obj) {
56   $time=LStemplate :: getTemplateTimestamp($tpl_name);
57   if ($time) {
58     $tpl_timestamp=$time;
59     return True;
60   }
61   return False;
62 }
63
64 /**
65  * Determine if template is secured or not
66  *
67  * This function is used only for template resources but should 
68  * still be defined.
69  *
70  * @param[in] $tpl_name string The template name
71  * @param[in] $smarty_obj object The Smarty object
72  *
73  * @return bool TRUE if the template is secured, or FALSE otherwise 
74  **/
75 function LStemplate_smarty_get_secure($tpl_name, &$smarty_obj) {
76   return True;
77 }
78 The fourth function, trusted() is supposed to return TRUE or FALSE, depending on whether the requested resource is trusted or not. This function is used for only for PHP script components requested by {include_php} tag or {insert} tag with the src attribute. However, it should still be defined even for template resources.
79 /**
80  * Determine if template is trusted or not
81  *
82  * This function is used for only for PHP script components
83  * requested by {include_php} tag or {insert} tag with the
84  * src attribute. However, it should still be defined even
85  * for template resources.
86  *
87  * @param[in] $tpl_name string The template name
88  * @param[in] $smarty_obj object The Smarty object
89  *
90  * @return bool TRUE if the template is trusted, or FALSE otherwise 
91  **/
92 function LStemplate_smarty_get_trusted($tpl_name, &$smarty_obj) {
93   return True;
94 }
95
96 // Register 'ls' template ressource
97 LStemplate :: $_smarty -> register_resource('ls', array(
98                                               'LStemplate_smarty_get_template',
99                                               'LStemplate_smarty_get_timestamp',
100                                               'LStemplate_smarty_get_secure',
101                                               'LStemplate_smarty_get_trusted'
102                                             )
103                                      );
104
105 // Register special template functions
106 LStemplate :: $_smarty -> register_function('getFData','smarty_getFData');
107 LStemplate :: $_smarty -> register_function('tr','smarty_tr');
108