]> git.llucax.com Git - mecon/meconlib.git/blob - lib/MLIB/Tpl.php
Se agrega la clase Widget y algunos derivados.
[mecon/meconlib.git] / lib / MLIB / Tpl.php
1 <?php /* vim: set binary expandtab tabstop=4 shiftwidth=4 textwidth=80:
2 -------------------------------------------------------------------------------
3                                     mlib
4 -------------------------------------------------------------------------------
5 This file is part of mlib.
6
7 mlib is free software; you can redistribute it and/or modify it under
8 the terms of the GNU Lesser General Public License as published by the Free
9 Software Foundation; either version 2 of the License, or (at your option)
10 any later version.
11
12 mlib is distributed in the hope that it will be useful, but WITHOUT
13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
14 FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 
15 details.
16  
17 You should have received a copy of the GNU Lesser General Public License; if 
18 not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
19 Boston, MA  02111-1307  USA
20 -------------------------------------------------------------------------------
21 Created: jue jul 29 09:42:56 ART 2004
22 Authors: Martín Marrese <m_marrese@argentina.com>
23          Leandro Lucarella <luca@llucax.hn.org>
24 -------------------------------------------------------------------------------
25 $Id$
26 -----------------------------------------------------------------------------*/
27
28 /**
29  * Templates interface for mlib.
30  * This interface define the basic behavoir of all the template implementations
31  * in mlib. It has 4 method which are the only ones you should use when drawing
32  * your components.
33  *
34  * @todo Add a global example using all the methods.
35  * @author Leandro Lucarella <luca@llucax.hn.org>
36  * @author Martín Marrese <m_marrese@argentina.com>
37  * @since  1.0
38  */
39 class /* interface */ MLIB_Tpl {
40     
41     /**
42      * Returns a parsed template.
43      * This function parses a template $name in the $group (or the current group
44      * if it's null), replacing the variables specified by $vars. $vars can be a
45      * string (in which case it's replaced by the value $val) or an asociative
46      * array, where the keys are the variables to replace and the values are the
47      * text to put in the place of the variable.
48      *
49      * @param string $name Name of template to parse.
50      * @param mixed $vars Variables to replace in the template.
51      * @param string $val If $vars is a string, the value to replace
52      *        for $vars.
53      *
54      * @return The parsed template $name (in $group) with its $vars replaced.
55      * @todo Add an example.
56      */
57     function parse($name, $vars = '', $val = '', $group = null)
58     {
59         trigger_error('Not implemented!', E_USER_ERROR);
60     }
61
62     /**
63      * Sets the group to use and add it to the groups stack.
64      *
65      * @param group Group to use (and add to the groups stack).
66      * @todo Add an example.
67      */
68     function pushGroup($group = '')
69     {
70         trigger_error('Not implemented!', E_USER_ERROR);
71     }
72
73     /**
74      * Removes the current group from the groups stack and returns it.
75      *
76      * @return Last used group.
77      * @todo Add an example.
78      */
79     function popGroup() {
80         trigger_error('Not implemented!', E_USER_ERROR);
81     }
82
83     /**
84      * Returns the current group from the groups stack.
85      *
86      * @return Current group.
87      * @todo Add an example.
88      */
89     function getGroup()
90     {
91         return end($this->group);
92     }
93
94     /**
95      * Tells if a template exists.
96      * True if the template $name exists in $group (or the current group if
97      * $group is null)
98      *
99      * @param  name  Name of the template.
100      * @param  group Template's group. If it's null it uses the current group.
101      *
102      * @return true if template $name exists in $group, false if not.
103      * @todo Add an example.
104      */
105     function exists($name, $group = null)
106     {
107         trigger_error('Not implemented!', E_USER_ERROR);
108     }
109
110 }
111
112 ?>