]> git.llucax.com Git - software/bife/bife-all.git/blob - src/BIFE/Generic.php
c98bc49d09ac6e2bba2fabbbd7fa2869088aeeb0
[software/bife/bife-all.git] / src / BIFE / Generic.php
1 <?php
2 // vim: set expandtab tabstop=4 softtabstop=4 shiftwidth=4:
3 // +--------------------------------------------------------------------+
4 // |                       BIFE - Buil It FastEr                        |
5 // +--------------------------------------------------------------------+
6 // | This file is part of BIFE.                                         |
7 // |                                                                    |
8 // | BIFE is free software; you can redistribute it and/or modify it    |
9 // | under the terms of the GNU General Public License as published by  |
10 // | the Free Software Foundation; either version 2 of the License, or  |
11 // | (at your option) any later version.                                |
12 // |                                                                    |
13 // | BIFE is distributed in the hope that it will be useful, but        |
14 // | WITHOUT ANY WARRANTY; without even the implied warranty of         |
15 // | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU   |
16 // | General Public License for more details.                           |
17 // |                                                                    |
18 // | You should have received a copy of the GNU General Public License  |
19 // | along with Hooks; if not, write to the Free Software Foundation,   |
20 // | Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA      |
21 // +--------------------------------------------------------------------+
22 // | Created: Wed May 17 18:16:54 ART 2003                              |
23 // | Authors: Leandro Lucarella <luca@lugmen.org.ar>                    |
24 // +--------------------------------------------------------------------+
25 //
26 // $Id$
27 //
28
29 // +X2C includes
30 require_once 'BIFE/Container.php';
31 // ~X2C
32
33 // +X2C Class 7 :Generic
34 /**
35  * This is a generic and simple BIFE_Container implementation.
36  *
37  * @access public
38  * @abstract
39  */
40 class BIFE_Generic extends BIFE_Container {
41     /**
42      * Attribute list.
43      *
44      * @var    array $attrs
45      * @access protected
46      */
47     var $attrs;
48
49     // ~X2C
50
51     // +X2C Operation 10
52     /**
53      * Constructor.
54      *
55      * @param  array $attrs Attributes.
56      *
57      * @return void
58      * @access public
59      */
60     function BIFE_Generic($attrs) // ~X2C
61     {
62         $this->__construct($attrs);
63     }
64     // -X2C
65
66     // +X2C Operation 51
67     /**
68      * Constructor.
69      *
70      * @param  array $attrs Attributes.
71      *
72      * @return void
73      * @access public
74      */
75     function __construct($attrs) // ~X2C
76     {
77         parent::__construct();
78         $this->attrs = $attrs;
79     }
80     // -X2C
81
82     // +X2C Operation 11
83     /**
84      * Add contents to the container.
85      *
86      * @param  mixed &$contents Contents to add.
87      *
88      * @return void
89      * @access public
90      */
91     function addContents(&$contents) // ~X2C
92     {
93         if (is_string($contents)) {
94             $contents = trim($contents);
95         }
96         if ($contents) {
97             parent::addContents($contents);
98         }
99     }
100     // -X2C
101
102     // +X2C Operation 12
103     /**
104      * Renders the widget.
105      *
106      * @param  HTML_Template_Sigma &$template Template to use to render the widget.
107      *
108      * @return string
109      * @access public
110      */
111     function render(&$template) // ~X2C
112     {
113         $contents = parent::render($template);
114         $template->loadTemplateFile(get_class($this).'.html');
115         $template->setVariable($this->attrs);
116         $template->setVariable('CONTENTS', $contents);
117         return $template->get();
118     }
119     // -X2C
120
121 } // -X2C Class :Generic
122
123 ?>