]> git.llucax.com Git - mecon/meconlib.git/blob - marco/php/marco/Marco.php
c4cb1d9fcbb19ed9fea5b62d9b6fddbc1ff6bb2b
[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     // -X2C
146
147     // +X2C Operation 27
148     /**
149      * Funcion que devuelve un string en html para ser agregado en el prepend.php del sistema.
150      *
151      * @return string
152      *
153      * @access public
154      */
155     function toHtmlPrepend() // ~X2C
156     {
157         $row = array ('colspan' => $this->_configuracion['menu'] + 1);        
158         Hook::hash('marco-html01');
159         print $this->_titulo->toHtml(); //Agrego el titulo del sistema segun su archivo de configuracion
160         print "\n";
161         print $this->_script->toHtml(); //Agrego el archivo de script generico como aquellos que se agregaron despues
162         print "\n";
163         print $this->_estilo->toHtml(); //Agrego el archivo de estilo generico como aquellos que se agregaron despues
164         print "\n";
165         Hook::hash('marco-html02');
166         Hook::hash('marco-html03',$row); 
167         print $this->_copete->toHtml(); //Agrego el copete del sistema
168         print "\n"; 
169         Hook::hash('marco-html04');
170         Hook::hash('marco-html03',$row);            
171 //        print $this->_menu->toHtml(); //Agrego los menues del sistema           
172 //        print "\n";
173         Hook::hash('marco-html04');
174         Hook::hash('marco-html03',$row);
175         //ACA QUEDA LISTO PARA QUE SE AGREGUEN EN EL MEDIO LAS PAGINAS DEL SISTEMA       
176     }
177     // -X2C
178
179     // +X2C Operation 29
180     /**
181      * Funcion que devuelve un string html para ser agregado al append.php del sistema.
182      *
183      * @return string
184      *
185      * @access public
186      */
187     function toHtmlAppend() // ~X2C
188     {
189         $row = array ('colspan' => $this->_configuracion['menu'] + 1);
190     
191         Hook::hash('marco-html04');
192         Hook::hash('marco-html03',$row);
193         print $this->_pie->toHtml(); //Agrego el pie de pagina al sistema
194         print "\n";
195         Hook::hash('marco-html04');
196         Hook::hash('marco-html05');
197     }
198     // -X2C
199
200     // +X2C Operation 30
201     /**
202      * Funcion que permite agregar archivos de script al sistema, ademas del generico.
203      *
204      * @param  string $archivo Nombre del archivo a incluir.
205      *
206      * @return void
207      *
208      * @access public
209      */
210     function agregarScript($archivo) // ~X2C
211     {
212         $this->_script->agregarArchivo($archivo);
213     }
214     // -X2C
215
216     // +X2C Operation 31
217     /**
218      * Funcion que permite agregar archivos de estilo al sistema, ademas del generico.
219      *
220      * @param  string $archivo Nombre del archivo a incluir.
221      *
222      * @return void
223      *
224      * @access public
225      */
226     function agregarEstilo($archivo) // ~X2C
227     {
228         $this->_estilo->agregarArchivo($archivo);
229     }
230     // -X2C
231
232     // +X2C Operation 32
233     /**
234      * Funcion que se encarga de la obtencion y generacion del array de configuracion. Recibe como parametro el directorio en donde se encuentra el sistema.
235      *
236      * @return array
237      *
238      * @access private
239      */
240     function _obtenerConfiguracion() // ~X2C
241     {
242         $this->_configuracion = include 'www/sistemas/'.$this->_directorio.'/conf/configuracion.php';
243     }
244     // -X2C
245
246 } // -X2C Class :Marco
247
248 ?>