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