]> git.llucax.com Git - mecon/meconlib.git/blob - marco/php/marco/Seccion.php
567b442d016128202535c8db811cd205a4ea80d6
[mecon/meconlib.git] / marco / php / marco / Seccion.php
1 <?php
2 // vim: set expandtab tabstop=4 softtabstop=4 shiftwidth=4:
3 // +----------------------------------------------------------------------+
4 // | PHP Version 4                                                        |
5 // +----------------------------------------------------------------------+
6 // | Copyright (c) 1997-2003 The PHP Group                                |
7 // +----------------------------------------------------------------------+
8 // | This source file is subject to version 2.02 of the PHP license,      |
9 // | that is bundled with this package in the file LICENSE, and is        |
10 // | available at through the world-wide-web at                           |
11 // | http://www.php.net/license/2_02.txt.                                 |
12 // | If you did not receive a copy of the PHP license and are unable to   |
13 // | obtain it through the world-wide-web, please send a note to          |
14 // | license@php.net so we can mail you a copy immediately.               |
15 // +----------------------------------------------------------------------+
16 // | Created: Mon Apr 14 16:23:22 2003
17 // | Author:  Martin Marrese <mmarre@mecon.gov.ar>
18 // +----------------------------------------------------------------------+
19 //
20 // $Id$
21 // $Author$
22 // $URL$
23 // $Date$
24 // $Rev$
25 //
26
27 #require_once 'PEAR.php';
28
29
30 // +X2C includes
31 require_once 'Pagina.php';
32 // ~X2C
33
34 //Require Agregados por MMARRE, no pasan por el xmi2code
35 require_once 'ImagenAnimada.php';
36 require_once 'Menu.php';
37 require_once 'MenuHorizontal.php';
38 require_once 'MenuVertical.php';
39
40 // +X2C Class 16 :Seccion
41 /**
42  * Clase seccion para el manejo de las secciones
43  *
44  * @access public
45  */
46 class Seccion extends Pagina {
47     /**
48      * Nombre de la seccion.
49      *
50      * @var    string $nombre
51      *
52      * @access private
53      */
54     var $_nombre;
55
56     /**
57      * Este es el nombre de la imagen
58      *
59      * @var    Imagen $imagen
60      *
61      * @access private
62      */
63     var $_imagen;
64
65     /**
66      * Hijos (menu) de la seccion.
67      *
68      * @var    Menu $hijos
69      *
70      * @access private
71      */
72     var $_hijos;
73
74     /**
75      * Valor string del tipo de menu de la seccion
76      *
77      * @var    string $tipoMenu
78      *
79      * @access private
80      */
81     var $_tipoMenu;
82
83     /**
84      * 1 si la seccion esta seleccionada, 0 en caso contrario
85      *
86      * @var    int $select
87      *
88      * @access private
89      */
90     var $_select;
91
92     // ~X2C
93
94     // +X2C Operation 63
95     /**
96      * Constructor. Recibe como parametro el nombre de la seccion
97      *
98      * @param  array $seccion Array con la informacion de la seccion
99      * @param  string $seccionSel Nombre de la seccion que esta seleccionada
100      *
101      * @return void
102      *
103      * @access public
104      * @static
105      */
106     function Seccion($seccion, $seccionSel) // ~X2C
107     {
108         $this->_nombre   = $seccion['nombre'];
109         $this->_imagen   = new ImagenAnimada($seccion['imagenComun']);
110         $this->_tipoMenu = $seccion['tipoMenu'];
111         parent::Pagina($seccion['link']);
112         $this->_cargarHijos($seccion['hijos']);
113         if ($seccionSel == $seccion['link']) {
114             $this->_select = 1;
115         }
116         else {
117             $this->_select = 0;
118         }
119     }
120     // -X2C
121
122     // +X2C Operation 64
123     /**
124      * Funcion que devuelve un string con el html a imprimir por pantalla.
125      *
126      * @return string
127      *
128      * @access public
129      */
130     function toHtml() // ~X2C
131     {
132         if ($this->_select == 1) {
133             $tmp = "<a href=\"".$this->_link."\"><img name=\"".$this->_nombre."\" src=\"images/".$this->_imagen->_imgSelect."\" width=\"139\" height=\"54\" border=\"0\" alt=\"".$this->_imagen->_alt."\"></a>";
134         }
135         else {
136             $tmp = "<a href=\"".$this->_link."\" onMouseOut=\"MM_swapImgRestore()\" onMouseOver=\"MM_displayStatusMsg('".$this->_nombre."'); MM_swapImage('".$this->_nombre."','','images/".$this->_imagen->_imgMouseOn."',1); return document.MM_returnValue\" MM_swapImage('".$this->_nombre."','','images/".$this->_imagen->_imgMouseOn."',1)><img name=\"".$this->_nombre."\" src=\"images/".$this->_imagen->_imgComun."\" width=\"139\" height=\"54\" border=\"0\" alt=\"".$this->_imagen->_alt."\"></a>";
137         }
138         return $tmp;
139     }
140     // -X2C
141
142     // +X2C Operation 84
143     /**
144      * Carga el array con los objetos hijos de la seccion
145      *
146      * @param  array $hijos Array con los datos de los hijos de la seccion
147      *
148      * @return void
149      *
150      * @access private
151      */
152     function _cargarHijos($hijos) // ~X2C
153     {
154         $this->_hijos = array ();
155         foreach ($hijos as $hijo) {
156             $tmp = new MenuVertical ($hijo['nombre'],$hijo['link'], $hijo['imagenComun']);
157             array_push($this->_hijos, $tmp);
158         }
159     }
160     // -X2C
161
162     // +X2C Operation 117
163     /**
164      * Devuelve un string con el tipo de menu de la seccion
165      *
166      * @return string
167      *
168      * @access public
169      */
170     function darTipoMenu() // ~X2C
171     {
172         return $this->_tipoMenu;
173     }
174     // -X2C
175
176     // +X2C Operation 119
177     /**
178      * Funcion que devuelve un string con el html a imprimir por pantalla del menu de la seccion.
179      *
180      * @return string
181      *
182      * @access public
183      */
184     function menuToHtml() // ~X2C
185     {
186         trigger_error('Not implemented!', E_USER_WARNING);
187     }
188     // -X2C
189
190     // +X2C Operation 121
191     /**
192      * Funcion que devuelve el string del titulo de la seccion
193      *
194      * @return string
195      *
196      * @access public
197      */
198     function tituloToHtml() // ~X2C
199     {
200         $TABLA = new HTML_Table('width=760 align="center" bgcolor="#336699" cellspacing="0" cellpadding="0" border="0"');
201         $row = array('<font face="Arial, Helvetica, sans-serif" size="3" color="#FFFFFF"><b>'.$this->_darTitulo().'</b></font>');
202         $TABLA->addRow($row,'height="1" bgcolor="#336699" align="left"');
203         return $TABLA->toHtml();
204     }
205     // -X2C
206
207     // +X2C Operation 122
208     /**
209      * Funcion que devuelve el string del titulo a mostrar en pantalla
210      *
211      * @return string
212      *
213      * @access private
214      */
215     function _darTitulo() // ~X2C
216     {
217         return "{$this->_nombre} - {$this->_link}";
218     }
219     // -X2C
220
221 } // -X2C Class :Seccion
222
223 ?>