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