]> git.llucax.com Git - mecon/meconlib.git/blob - marco/php/marco/Marco.php
6e4201980812cf81accfdc8a40b302edbd995b62
[mecon/meconlib.git] / marco / php / marco / Marco.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 require_once 'include/lib/HTML/Tabla.php';
29 require_once 'include/lib/marco/Copete.php';
30 require_once 'include/lib/marco/Titulo.php';
31 require_once 'include/lib/marco/Pie.php';
32 require_once 'include/lib/marco/Script.php';
33 require_once 'include/lib/marco/Estilo.php';
34 require_once 'include/lib/marco/Menu.php';
35
36 require_once 'include/lib/hook/Hook.php';    //Esto es culpa de Leandro, asi que se las arreglan con el.
37
38
39
40 // +X2C Class 3 :Marco
41 /**
42  * Clase que se encarga del manejo del marco en general en los sistemas de intranet.
43 Trabaja de forma general, llamando a los demas objetos para la realizacion del marco.
44  *
45  * @access public
46  */
47 class Marco {
48     /**
49      * Nombre del directorio en donde se encuentra el sistema.
50      *
51      * @var    string $directorio
52      *
53      * @access private
54      */
55     var $_directorio;
56
57     /**
58      * Array con los datos de configuracion del sistema.
59      *
60      * @var    array $configuracion
61      *
62      * @access private
63      */
64     var $_configuracion;
65
66     /**
67      * Referencia al objeto Titulo.
68      *
69      * @var    Titulo $titulo
70      *
71      * @access private
72      */
73     var $_titulo;
74
75     /**
76      * Referencia al objeto Copete.
77      *
78      * @var    Copete $copete
79      *
80      * @access private
81      */
82     var $_copete;
83
84     /**
85      * Referencia al objeto Script
86      *
87      * @var    Script $script
88      *
89      * @access private
90      */
91     var $_script;
92
93     /**
94      * Referencia al objeto Estilo.
95      *
96      * @var    Estilo $estilo
97      *
98      * @access private
99      */
100     var $_estilo;
101
102     /**
103      * Referencia al objeto Menu.
104      *
105      * @var    Menu $menu
106      *
107      * @access private
108      */
109     var $_menu;
110
111     /**
112      * Referencia al objeto Pie.
113      *
114      * @var    Pie $pie
115      *
116      * @access private
117      */
118     var $_pie;
119
120     // ~X2C
121
122     // +X2C Operation 26
123     /**
124      * Constructor. Recibe como parametro el nombre del directorio en donde se encuentra el sistema.
125      *
126      * @param  string $directorio Nombre del directorio en donde se encuentra el sistema.
127      *
128      * @return void
129      *
130      * @access public
131      */
132     function Marco($directorio) // ~X2C
133     {
134         $this->_directorio    = $directorio;        
135
136         $this->_obtenerConfiguracion();
137     
138         $this->_titulo        = new Titulo    ($this->_configuracion);
139         $this->_copete        = new Copete    ($this->_directorio);
140         $this->_script        = new Script    ($this->_directorio);
141         $this->_estilo        = new Estilo    ($this->_directorio);
142         $this->_menu          = new Menu      ($this->_directorio);
143         $this->_pie           = new Pie       ($this->_configuracion);
144
145         var_dump($this->_menu);
146     }
147     // -X2C
148
149     // +X2C Operation 27
150     /**
151      * Funcion que devuelve un string en html para ser agregado en el prepend.php del sistema.
152      *
153      * @return string
154      *
155      * @access public
156      */
157     function toHtmlPrepend() // ~X2C
158     {
159         $row = array ('colspan' => $this->_configuracion['menu'] + 1);        
160         Hook::hash('marco-html01');
161         print $this->_titulo->toHtml(); //Agrego el titulo del sistema segun su archivo de configuracion
162         print "\n";
163         print $this->_script->toHtml(); //Agrego el archivo de script generico como aquellos que se agregaron despues
164         print "\n";
165         print $this->_estilo->toHtml(); //Agrego el archivo de estilo generico como aquellos que se agregaron despues
166         print "\n";
167         Hook::hash('marco-html02');
168         Hook::hash('marco-html03',$row); 
169         print $this->_copete->toHtml(); //Agrego el copete del sistema
170         print "\n"; 
171         Hook::hash('marco-html04');
172         Hook::hash('marco-html03',$row);            
173 //        print $this->_menu->toHtml(); //Agrego los menues del sistema           
174 //        print "\n";
175         Hook::hash('marco-html04');
176         Hook::hash('marco-html03',$row);
177         //ACA QUEDA LISTO PARA QUE SE AGREGUEN EN EL MEDIO LAS PAGINAS DEL SISTEMA       
178     }
179     // -X2C
180
181     // +X2C Operation 29
182     /**
183      * Funcion que devuelve un string html para ser agregado al append.php del sistema.
184      *
185      * @return string
186      *
187      * @access public
188      */
189     function toHtmlAppend() // ~X2C
190     {
191         $row = array ('colspan' => $this->_configuracion['menu'] + 1);
192     
193         Hook::hash('marco-html04');
194         Hook::hash('marco-html03',$row);
195         print $this->_pie->toHtml(); //Agrego el pie de pagina al sistema
196         print "\n";
197         Hook::hash('marco-html04');
198         Hook::hash('marco-html05');
199     }
200     // -X2C
201
202     // +X2C Operation 30
203     /**
204      * Funcion que permite agregar archivos de script al sistema, ademas del generico.
205      *
206      * @param  string $archivo Nombre del archivo a incluir.
207      *
208      * @return void
209      *
210      * @access public
211      */
212     function agregarScript($archivo) // ~X2C
213     {
214         $this->_script->agregarArchivo($archivo);
215     }
216     // -X2C
217
218     // +X2C Operation 31
219     /**
220      * Funcion que permite agregar archivos de estilo al sistema, ademas del generico.
221      *
222      * @param  string $archivo Nombre del archivo a incluir.
223      *
224      * @return void
225      *
226      * @access public
227      */
228     function agregarEstilo($archivo) // ~X2C
229     {
230         $this->_estilo->agregarArchivo($archivo);
231     }
232     // -X2C
233
234     // +X2C Operation 32
235     /**
236      * Funcion que se encarga de la obtencion y generacion del array de configuracion. Recibe como parametro el directorio en donde se encuentra el sistema.
237      *
238      * @return array
239      *
240      * @access private
241      */
242     function _obtenerConfiguracion() // ~X2C
243     {
244         $this->_configuracion = include 'www/sistemas/'.$this->_directorio.'/conf/configuracion.php';
245     }
246     // -X2C
247
248 } // -X2C Class :Marco
249
250 ?>