2 // vim: set expandtab tabstop=4 softtabstop=4 shiftwidth=4:
3 // +--------------------------------------------------------------------+
4 // | BIFE - Buil It FastEr |
5 // +--------------------------------------------------------------------+
6 // | This file is part of BIFE. |
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. |
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. |
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: Sun Jun 1 20:00:20 2003 |
23 // | Authors: Leandro Lucarella <luca@lugmen.org.ar> |
24 // +--------------------------------------------------------------------+
30 require_once 'BIFE/Container.php';
33 // +X2C Class 110 :Link
35 * Link to another page.
40 class BIFE_Link extends BIFE_Container {
47 * @param array $attrs Attributes.
52 function BIFE_Link($attrs) // ~X2C
54 $this->__construct($attrs);
62 * @param array $attrs Attributes.
67 function __construct($attrs) // ~X2C
69 $link_attrs['URL'] = $this->getURL($attrs);
70 $link_attrs['DESC'] = @$attrs['DESC'];
71 $link_attrs['TARGET'] = @$attrs['TARGET'];
72 parent::__construct($link_attrs);
78 * Gets a URL string based on Link attributes.
80 * @param array $attrs Link attributes.
85 function getURL($attrs) // ~X2C
87 $url = @$attrs['URL'];
89 if (isset($attrs['BIFE'])) {
90 $attrs['DATA-BIFE'] = $attrs['BIFE'];
91 unset($attrs['BIFE']);
94 foreach($attrs as $name => $value) {
95 if (substr($name, 0, 5) === 'DATA-') {
96 if ($name = substr($name, 5)) {
97 $query[] = urlencode($name) . '=' . urlencode($value);
102 $url .= '?' . join('&', $query);
108 // +X2C Operation 157
110 * Renders the widget.
112 * @param HTML_Template_HIT &$template Template to use to render the widget.
117 function render(&$template) // ~X2C
119 $this->attrs['CONTENTS'] = $this->renderContents($template);
120 return $template->parse('bife_link', $this->attrs, '', '');
124 } // -X2C Class :Link