]> git.llucax.com Git - mecon/meconlib.git/blob - marco/php/marco/Marco.php
(no commit message)
[mecon/meconlib.git] / marco / php / marco / Marco.php
1 <?php
2 // vim: set expandtab tabstop=4 softtabstop=4 shiftwidth=4:
3 // +--------------------------------------------------------------------+
4 // |                            MARCO                                   |
5 // +--------------------------------------------------------------------+
6 // |   Liberia generica para el manejo del marco de los sistemas        |
7 // |                      Ministerio de Economía                        |
8 // +--------------------------------------------------------------------+
9 // | Creado: thu apr 03 ART 2003                                        |
10 // | Autor:  Martin Marrese <mmarre@mecon.gov.ar>                       |
11 // +--------------------------------------------------------------------+
12 // 
13 // $Id$
14 // 
15 // $URL$
16 // $Rev$
17 // $Date$
18 // $Author$
19
20 //Hago los require_once necesarios
21 require_once 'PEAR.php';
22 require_once 'include/lib/HTML/Tabla.php';
23 require_once 'include/lib/marco/Copete.php';
24 require_once 'include/lib/marco/Titulo.php';
25 require_once 'include/lib/marco/Pie.php';
26 require_once 'include/lib/marco/Script.php';
27 require_once 'include/lib/marco/Estilo.php';
28 //require_once 'include/lib/marco/Menu.php';
29 //require_once 'include/lib/marco/Secciones.php';
30
31 require_once 'include/lib/hook/Hook.php';    //Esto es culpa de Leandro, asi que se las arreglan con el.
32
33
34 /**
35  * Manejo del Copete
36  *
37  * Libreria para le manejo de los copetes para los sistemas de intranet.
38  *
39  * @version $Rev$
40  * @author  $Author$
41  */
42
43 class Marco extends PEAR {
44
45     /**
46      * Directorio del sistema partiendo desde var/www/intranet/www/sistemas/
47      *
48      * @var integer
49      */
50     var $_directorio;
51
52     /**
53      * Valores de configuracion del sistema
54      *
55      * @var integer
56      */
57     var $_configuracion;
58
59     /**
60      * Objeto Titulo del sistema
61      *
62      * @var Object
63      */
64     var $_titulo;
65
66     /**
67      * Objeto Copete del sistema
68      *
69      * @var Object
70      */
71     var $_copete;
72     
73     /**
74      * Objeto Script del sistema
75      *
76      * @var Object
77      */
78     var $_script;
79
80     /**
81      * Objeto Estilo del sistema
82      *
83      * @var Object
84      */
85     var $_estilo;
86
87     /**
88      * Objeto Secciones del sistema
89      *
90      * @var Object
91      */
92     var $_secciones;
93
94     /**
95      * Objeto Menu del sistema
96      *
97      * @var Object
98      */
99     var $_menu;
100
101     /**
102      * Objeto Pie del sistema
103      *
104      * @var Object
105      */
106     var $_pie;
107
108     /**
109      * Constructor
110      *
111      * Recibe como parametro el directorio del sistema. Es case sensitive.
112      *
113      * @param string $directorio
114      * 
115      * @access public
116      */
117     function Marco ($directorio)
118     {
119         $this->_directorio    = $directorio;        
120         $this->_configuracion = include 'www/sistemas/'.$this->_directorio.'/conf/configuracion.php';
121         $this->_titulo        = new Titulo    ($this->_configuracion);
122         $this->_copete        = new Copete    ($this->_directorio);
123         $this->_script        = new Script    ($this->_directorio);
124         $this->_estilo        = new Estilo    ($this->_directorio);
125 //        $this->_secciones     = new Secciones ($this->_directorio);
126 //        $this->_menu          = new Menu      ($this->_directorio);
127         $this->_pie           = new Pie       ($this->_configuracion);
128
129     }
130
131     /**
132      * Funcion para agregar a prepend.php
133      *
134      * Devuelve el html para que se imprima lo que corresponde
135      * a la cabecera de la pagina
136      *
137      * @access public
138      */
139     function toHtmlPrepend()
140     {        
141         $row = array ('colspan' => $this->_configuracion['menu'] + 1);        
142         Hook::hash('marco-html01');
143         print $this->_titulo->toHtml(); //Agrego el titulo del sistema segun su archivo de configuracion
144         print "\n";
145         print $this->_script->toHtml(); //Agrego el archivo de script generico como aquellos que se agregaron despues
146         print "\n";
147         print $this->_estilo->toHtml(); //Agrego el archivo de estilo generico como aquellos que se agregaron despues
148         print "\n";
149         Hook::hash('marco-html02');
150         Hook::hash('marco-html03',$row); 
151         print $this->_copete->toHtml(); //Agrego el copete del sistema
152         print "\n"; 
153         Hook::hash('marco-html04');
154         Hook::hash('marco-html03',$row);            
155 //        print $this->_secciones->toHtml(); //Agrego las secciones al sistema
156 //        print "\n";
157         Hook::hash('marco-html04');
158         if ($this->_configuracion['menu'] == 1) {        
159             Hook::hash('marco-html03');
160 //            print $this->_menu->toHtml(); //Agrego los menues del sistema           
161 //            print "\n";
162             Hook::hash('marco-html04');
163             Hook::hash('marco-html03');           
164         }
165         else {
166             Hook::hash('marco-html03',$row);
167         }    
168         //ACA QUEDA LISTO PARA QUE SE AGREGUEN EN EL MEDIO LAS PAGINAS DEL SISTEMA       
169     }
170
171     /**
172      * Funcion para agregar a append.php
173      *
174      * Devuelve el html para que se imprima lo que corresponde
175      * a el pie de la pagina
176      *
177      * @access public
178      */
179     function toHtmlAppend()
180     {
181         $row = array ('colspan' => $this->_configuracion['menu'] + 1);
182     
183         Hook::hash('marco-html04');
184         Hook::hash('marco-html03',$row);
185         print $this->_pie->toHtml(); //Agrego el pie de pagina al sistema
186         print "\n";
187         Hook::hash('marco-html04');
188         Hook::hash('marco-html05');
189     }
190
191     /**
192      * Funcion para agregar scripts
193      *
194      * Funcion que sirve para linkear mas archivos de script
195      * ademas de los genericos. Lo va a buscar al directorio
196      * js dentro del directorio del sistema.
197      *
198      * @param string nombre_archivo
199      *
200      * @access public
201      */
202     function agregarScript ($archivo)
203     {
204         $this->_script->agregarArchivo($archivo);
205     }
206  
207     /**
208      * Funcion para agregar estilos
209      *
210      * Funcion que sirve para linkear mas archivos de estilos
211      * ademas de los genericos. Lo va a buscar al directorio
212      * css dentro del directorio del sistema.
213      *
214      * @param string nombre_archivo
215      *
216      * @access public
217      */
218     function agregarEstilo ($archivo)
219     {
220         $this->_estilo->agregarArchivo($archivo);
221     }
222   
223 }
224 ?>