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