]> git.llucax.com Git - mecon/meconlib.git/blob - marco/php/marco/Menu.php
b5f9ab93fd4504fd4936c57f2a89a01febebc1f2
[mecon/meconlib.git] / marco / php / marco / Menu.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 'Seccion.php';
28
29 // +X2C Class 14 :Menu
30 /**
31  * Clase para el manejo de los menues y secciones de los sistemas.
32  *
33  * @access public
34  */
35 class Menu {
36     /**
37      * Array de secciones. Contiene la informacion de las secciones del sistema.
38      *
39      * @var    array(seccion) $secciones
40      *
41      * @access private
42      */
43     var $_secciones;
44
45     /**
46      * Nombre del directorio en donde se encuentra el sistema;.
47      *
48      * @var    string $directorio
49      *
50      * @access private
51      */
52     var $_directorio;
53
54     /**
55      * Array con la configuracion de las secciones
56      *
57      * @var    array $confSecciones
58      *
59      * @access private
60      */
61     var $_confSecciones;
62
63     /**
64      * Nombre del menu
65      *
66      * @var    string $nombre
67      *
68      * @access private
69      */
70     var $_nombre;
71
72     /**
73      * Link del menu.
74      *
75      * @var    string $link
76      *
77      * @access private
78      */
79     var $_link;
80
81     // ~X2C
82
83     // +X2C Operation 56
84     /**
85      * Constructor. Recibe como parametro el directorio en donde se encuentra el sistema.
86      *
87      * @param  string $directorio Nombre del directorio en donde se encuentra el sistema.
88      * @param  string $nombre Nombre del menu
89      * @param  string $link Link del menu.
90      *
91      * @return void
92      *
93      * @access public
94      */
95     function Menu($directorio, $nombre = null, $link = null) // ~X2C
96     {
97         $this->_directorio = $directorio;
98         $this->_obtenerConfSecciones();
99         $this->_armarArraySecciones();
100
101         if (!is_null($nombre)) {
102             $this->_nombre = $nombre;
103         }
104         if (!is_null($link)) {
105             $this->_link = $link;
106         }
107     }
108     // -X2C
109
110     // +X2C Operation 57
111     /**
112      * Funcion que se encarga de generar el archivo que despues sera utilizado con la funcion EVAL.
113      *
114      * @return void
115      *
116      * @access private
117      */
118     function _generarArchivo() // ~X2C
119     {
120         trigger_error('Not implemented!', E_USER_WARNING);
121     }
122     // -X2C
123
124     // +X2C Operation 58
125     /**
126      * Funcion que se encarga de obtener el archivo con los datos del objeto para ser utilizado con la funcion EVAL.
127      *
128      * @return string
129      *
130      * @access private
131      */
132     function _obtenerArchivo() // ~X2C
133     {
134         trigger_error('Not implemented!', E_USER_WARNING);
135     }
136     // -X2C
137
138     // +X2C Operation 59
139     /**
140      * Funcion que devuelve un string en html con lo que hay que imprimir en pantalla.
141      *
142      * @return string
143      *
144      * @access public
145      */
146     function toHtml() // ~X2C
147     {
148         trigger_error('Not implemented!', E_USER_WARNING);
149     }
150     // -X2C
151
152     // +X2C Operation 76
153     /**
154      * Funcion que se encarga de obtener y generar el array de configuracion de secciones.
155      *
156      * @return void
157      *
158      * @access private
159      */
160     function _obtenerConfSecciones() // ~X2C
161     {
162         $this->_confSecciones = include 'confSecciones.php';
163     }
164     // -X2C
165
166     // +X2C Operation 82
167     /**
168      * Funcion que arma a partir de la configuracion de las secciones el array con los objetos seccion.
169      *
170      * @return void
171      *
172      * @access private
173      */
174     function _armarArraySecciones() // ~X2C
175     {
176         $this->_secciones = array (); 
177         foreach ($this->_confSecciones as $sec) {
178             $tmp = new Seccion ($sec);
179             array_push($this->_secciones,$tmp);
180         }
181     }
182     // -X2C
183
184 } // -X2C Class :Menu
185
186 ?>