]> git.llucax.com Git - software/bife/bife-all.git/blob - src/BIFE/Generic.php
296a4c8213b57dedb9edb9c97885c24728727caf
[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
30 // +X2C includes
31 require_once 'BIFE/Container.php';
32 // ~X2C
33
34 // +X2C Class 7 :Generic
35 /**
36  * This is a generic and simple BIFE_Container implementation.
37  *
38  * @access public
39  * @abstract
40  */
41 class BIFE_Generic extends BIFE_Container {
42     /**
43      * Attribute list.
44      *
45      * @var    array $attrs
46      * @access public
47      */
48     var $attrs;
49
50     // ~X2C
51
52     // +X2C Operation 10
53     /**
54      * Constructor.
55      *
56      * @param  array $attrs Attributes.
57      *
58      * @return void
59      * @access public
60      */
61     function BIFE_Generic($attrs) // ~X2C
62     {
63         $this->__construct($attrs);
64     }
65     // -X2C
66
67     // +X2C Operation 51
68     /**
69      * Constructor.
70      *
71      * @param  array $attrs Attributes.
72      *
73      * @return void
74      * @access public
75      */
76     function __construct($attrs) // ~X2C
77     {
78         parent::__construct();
79         $this->attrs = $attrs;
80     }
81     // -X2C
82
83     // +X2C Operation 11
84     /**
85      * Add contents to the widget.
86      *
87      * @param  mixed &$contents Contents to add.
88      *
89      * @return void
90      * @access public
91      */
92     function addContents(&$contents) // ~X2C
93     {
94         if (is_string($contents)) {
95             $contents = trim($contents);
96         }
97         if ($contents) {
98             parent::addContents($contents);
99         }
100     }
101     // -X2C
102
103     // +X2C Operation 12
104     /**
105      * Renders the widget.
106      *
107      * @param  HTML_Template_Sigma &$template Template to use to render the widget.
108      *
109      * @return string
110      * @access public
111      */
112     function render(&$template) // ~X2C
113     {
114         $contents = parent::render($template);
115         $template->loadTemplateFile(get_class($this).'.html');
116         $template->setVariable($this->attrs);
117         $template->setVariable('CONTENTS', $contents);
118         return $template->get();
119     }
120     // -X2C
121
122 } // -X2C Class :Generic
123
124 ?>