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/Generic.php';
33 // +X2C Class 110 :Link
35 * Link to another page.
39 class BIFE_Link extends BIFE_Generic {
46 * @param array $attrs Attributes.
51 function BIFE_Link($attrs) // ~X2C
53 $this->__construct($attrs);
61 * @param array $attrs Attributes.
66 function __construct($attrs) // ~X2C
68 $link_attrs['URL'] = @$attrs['URL'];
70 $link_attrs['DESC'] = @$attrs['DESC'];
71 unset($attrs['DESC']);
72 if (isset($attrs['BIFE'])) {
73 $link_attrs['BIFE'] = $attrs['BIFE'];
74 $attrs['DATA-BIFE'] = $attrs['BIFE'];
75 unset($attrs['BIFE']);
78 foreach($attrs as $name => $value) {
79 if (substr($name, 0, 5) === 'DATA-') {
80 if ($name = substr($name, 5)) {
81 $query[] = urlencode($name) . '=' . urlencode($value);
86 $link_attrs['URL'] .= '?' . join('&', $query);
88 parent::__construct($link_attrs);
94 * Gets a URL string based on Link attributes.
96 * @param array $attrs Link attributes.
101 function getURL($attrs) // ~X2C
103 $url = @$attrs['URL'];
104 unset($attrs['URL']);
105 if (isset($attrs['BIFE'])) {
106 $attrs['DATA-BIFE'] = $attrs['BIFE'];
107 unset($attrs['BIFE']);
110 foreach($attrs as $name => $value) {
111 if (substr($name, 0, 5) === 'DATA-') {
112 if ($name = substr($name, 5)) {
113 $query[] = urlencode($name) . '=' . urlencode($value);
118 $url .= '?' . join('&', $query);
124 } // -X2C Class :Link