]> git.llucax.com Git - mecon/meconlib.git/blob - test/Tpl/FileDir/test.php
Cambios estéticos, se borra el bit de ejecución en las templates y el ejemplo y
[mecon/meconlib.git] / test / Tpl / FileDir / test.php
1 <?php /* vim: set binary noeol et ts=4 sw=4 tw=80 foldmethod=marker:
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 //{{{Explanation of this example.
29 // This example will create an html page with a header, body and a footer.
30 // In order to do this, I will use three template groups (header, body, footer).
31 // All this templates are located in TPLS directory.
32 //}}}
33
34 //{{{ Require Once.
35 ini_set('include_path', '../../../lib:' . ini_get('include_path'));
36 require_once 'MLIB/Tpl/FileDir.php';
37 //}}}
38
39 //{{{ The following variables are used as examples.
40 $table_width = 'width="700"';
41 $img_source = './img/logo.jpg';
42 //}}}
43
44 //{{{ Create a page from a template.
45 $TPL =& new MLIB_Tpl_FileDir ('TPLS'); // Where TPLS is the subdirectory where I'll
46                                        // put my html_templates.
47 //}}}
48
49 //{{{ Show this source
50 if (@$_GET['source'])
51 {
52     $HEADER = '';
53     $FOOTER = '';
54     $SOURCE = '';
55     $BODY   = highlight_file($_SERVER['SCRIPT_FILENAME'], true);
56 }
57 //}}}
58
59 //{{{ Example
60 else
61 {
62     //{{{ Add header group of templates.
63     $TPL->pushGroup('header');
64
65     //{{{ First ROW
66     //{{{ Obtain the data cells of the first row.
67     $cells = $TPL->parse('cell', 
68             array (
69                 'ATTR' => 'width="20%" align="center"', //Sets the width of the cell.
70                 'CELL' => $TPL->parse('logo', //Add the logo image to this cell.
71                     array(
72                         'SRC' => $img_source,   //Source of the image.
73                         'ATTR' => 'border="0"', //Image attributes
74                         'ALT' => 'LOGO'         //Alternative text.
75                         )
76                     )
77                 )
78             );
79     $cells.= $TPL->parse('cell', 
80             array (
81                 'ATTR' => 'width="80%" align="center"', //Sets the width of the cell.
82                 'CELL' => 'MLIB_Tpl_FileDir Example' //Title.
83                 )
84             );
85     //}}}
86
87     // Obtain the first row of the header table.
88     $rows = $TPL->parse('row', 'CELL', $cells);
89     //}}}
90
91     //{{{ Second Row
92     // Obtain the data cells of the first row.
93     $cells = $TPL->parse('cell', 
94             array (
95                 'ATTR' => 'colspan="2" align="center"', //Sets the width of the cell.
96                 'CELL' => '<b>This is the second row of the header table.</b>'
97                 )
98             );
99
100     // Obtain the first row of the header table.
101     $rows.= $TPL->parse('row', 'CELL', $cells);
102     //}}}
103
104     // Obtain the parsed templates and add it to the header "main" template.
105     $HEADER = $TPL->parse(
106             'table',
107             array (
108                 'ATTR' => $table_width . ' border="1" align="center"',
109                 'ROWS' => $rows
110                 )
111             );
112     // Remove from the group stack the header group.
113     $TPL->popGroup('header');
114     //}}}
115
116     //{{{ Add body group of templates.
117     $TPL->pushGroup('body');
118
119     //{{{ First ROW
120     $cells = $TPL->parse('cell', 
121             array (
122                 'ATTR' => 'valign="center" align="center" height="370"', //Sets the width of the cell.
123                 'CELL' => '<font size="1">BODY</font>'    //Body Content
124                 )
125             );
126
127     // Obtain the first row of the header table.
128     $rows = $TPL->parse('row', 'CELL', $cells);
129     //}}}
130
131     // Obtain the parsed templates and add it to the header "main" template.
132     $BODY = $TPL->parse(
133             'table',
134             array (
135                 'ATTR' => $table_width . ' border="0" align="center"',
136                 'ROWS' => $rows
137                 )
138             );
139     // Remove from the group stack the header group.
140     $TPL->popGroup('body');
141     //}}}
142
143     //{{{ Add footer group of templates.
144     $TPL->pushGroup('footer');
145
146     //{{{ First ROW
147     //{{{ Obtain the data cells of the first row.
148     $cells = $TPL->parse('cell', 
149             array (
150                 'ATTR' => 'align="center"', //Sets the width of the cell.
151                 'CELL' => $TPL->parse(
152                     'text', 
153                     'LINK',
154                     $TPL->parse('link_meconlib_dev')
155                     )
156                 )
157             );
158     //}}}
159
160     // Obtain the first row of the header table.
161     $rows = $TPL->parse('row', 'CELL', $cells);
162     //}}}
163
164
165     // Obtain the parsed templates and add it to the header "main" template.
166     $FOOTER = $TPL->parse(
167             'table',
168             array (
169                 'ATTR' => $table_width . ' border="1" align="center"',
170                 'ROWS' => $rows
171                 )
172             );
173     // Remove from the group stack the header group.
174     $TPL->popGroup('footer');
175     //}}}
176
177     //{{{ Add SOURCE group of templates.
178     $TPL->pushGroup('source');
179
180     // Obtain the parsed templates and add it to the header "main" template.
181     $SOURCE = $TPL->parse('div');
182     // Remove from the group stack the header group.
183     $TPL->popGroup('source');
184     //}}}
185 }
186 //}}}
187
188 //{{{ Add all the parsed templates to the main template.
189 $RESULT = $TPL->parse(
190         'body',
191         array (
192             'TITLE'  => 'MLIB_Tpl_FileDir Test',
193             'BODY'   => $HEADER . $BODY . $FOOTER,
194             'SOURCE' => $SOURCE
195             )
196         );
197 //}}}
198
199 //{{{ Display the result.
200 echo $RESULT;
201 //}}}
202
203 ?>