4ed45a0f8bd5f2ce53688b729cbce43a54fe196d
[ldapsaisie.git] / public_html / includes / class / class.LStemplate_smarty3_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 /** 
24  * Smarty ressource for LdapSaisie template
25  *
26  * @author Benjamin Renard <brenard@easter-eggs.com>
27  */
28 class Smarty_Resource_LdapSaisie extends Smarty_Resource_Custom {
29
30  // prepared fetch() statement
31  protected $fetch;
32  // prepared fetchTimestamp() statement
33  protected $mtime;
34
35  /**
36   * Fetch a template and its modification time from database
37   *
38   * @param string $name template name
39   * @param string $source template source
40   * @param integer $mtime template modification timestamp (epoch)
41   * @return void
42   */
43  protected function fetch($name, &$source, &$mtime) {
44    $source = LStemplate :: getTemplateSource($name);
45    $mtime = LStemplate :: getTemplateTimestamp($name);
46  }
47  
48  /**
49   * Fetch a template's modification time from database
50   *
51   * @note implementing this method is optional. Only implement it if modification times can be accessed faster than loading the comple template source.
52   * @param string $name template name
53   * @return integer timestamp (epoch) the template was modified
54   */
55  protected function fetchTimestamp($name) {
56    return LStemplate :: getTemplateTimestamp($name);
57  }
58 }
59
60 // Register 'ls' template ressource
61 LStemplate :: $_smarty -> registerResource('ls', new Smarty_Resource_LdapSaisie());
62
63 // Register special template functions
64 LStemplate :: $_smarty -> registerPlugin("function","getFData", "LStemplate_smarty_getFData");
65 LStemplate :: $_smarty -> registerPlugin("function","tr", "LStemplate_smarty_tr");
66 LStemplate :: $_smarty -> registerPlugin("function","img", "LStemplate_smarty_img");
67