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