Manage CSS path with LStemplate
[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
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','LStemplate_smarty_getFData');
107 LStemplate :: $_smarty -> register_function('tr','LStemplate_smarty_tr');
108 LStemplate :: $_smarty -> register_function('img','LStemplate_smarty_img');
109 LStemplate :: $_smarty -> register_function('css','LStemplate_smarty_css');
110