X-Git-Url: https://git.llucax.com/mecon/meconlib.git/blobdiff_plain/cacc1525e7102dfef7964462a50e4ff13f02dcc6..3ddb24445dfbd0206ad64b72531a0986c4feb63c:/lib/MECON/Marco.php?ds=sidebyside diff --git a/lib/MECON/Marco.php b/lib/MECON/Marco.php index 69c2125..41b7d68 100644 --- a/lib/MECON/Marco.php +++ b/lib/MECON/Marco.php @@ -25,38 +25,39 @@ // require_once 'PEAR.php'; -require_once 'Marco/Copete.php'; -require_once 'Marco/Titulo.php'; -require_once 'Marco/Pie.php'; -require_once 'Marco/Menu.php'; -require_once 'Marco/MenuPrincipal.php'; +require_once 'MECON/Marco/Copete.php'; +require_once 'MECON/Marco/Titulo.php'; +require_once 'MECON/Marco/Pie.php'; +require_once 'MECON/Marco/Menu.php'; +require_once 'MECON/Marco/MenuPrincipal.php'; //Agregado para el uso de HTML_Page (Uso la version Original de Pear) require_once 'HTML/Page.php'; require_once 'HTML/Table.php'; -define ('SCRIPT_DIR_BASE' , '/www/js/'); -define ('ESTILO_DIR_BASE' , '/www/css/'); -define ('SCRIPT_GENERICO' , 'script.js'); -define ('ESTILO_GENERICO' , 'estilos.css'); - +//Defino los directorios por default +define ('DIR_IMAGENES' , 'images'); +define ('DIR_ESTILOS' , 'css'); +define ('DIR_JS' , 'js'); +define ('DIR_WWW' , 'www'); +define ('DIR_CACHE' , '/tmp'); +// +//Defino las constantes +define ('SCRIPT_DIR_BASE' , '/MECON/js/'); +define ('ESTILO_DIR_BASE' , '/MECON/css/'); +define ('SCRIPT_GENERICO' , 'general_script.js'); +define ('ESTILO_GENERICO' , 'general_estilos.css'); +// // +X2C Class 3 :Marco /** * Clase que se encarga del manejo del marco en general en los sistemas de intranet. Trabaja de forma general, llamando a los demas objetos para la realizacion del marco. * + * @package MECON * @access public */ class Marco extends HTML_Page { - /** - * Array con los diferentes directorios necesarios para el funcionamiento. Solo el root es obligatorio. - * - * @var array $directorio - * @access private - */ - var $_directorio; - /** * Array con los datos de configuracion del sistema. * @@ -113,6 +114,22 @@ class Marco extends HTML_Page { */ var $_contenido; + /** + * Indica si hay que agregar espacios o no entre los componentes del menu de secciones y el contenido de la pagina, asi como entre la pagina y el pie de pagina + * + * @var bool $espacios + * @access private + */ + var $_espacios; + + /** + * Menu vertical para agregar en la pantalla. + * + * @var mixed $menuVertical + * @access private + */ + var $_menuVertical; + // ~X2C // +X2C Operation 26 @@ -132,15 +149,17 @@ class Marco extends HTML_Page { 'language' => 'es', 'cache' => 'false', 'simple' => 'true')); - $this->_directorio = $directorio; - $this->_obtenerConfiguracion(); - $this->_titulo = new Titulo ($this->_configuracion); - $this->_copete = new Copete ($this->_directorio); - $this->_menu = new MenuPrincipal ($this->_directorio); + + $this->_obtenerConfiguracion($arch_configuracion); + + $this->_titulo = new Titulo ($this->_configuracion['titulo_sistema']); + $this->_copete = new Copete ($this->_configuracion['directorios']['imagenes']); + $this->_menu = new MenuPrincipal ($this->_configuracion); $this->_pie = new Pie ($this->_configuracion); $this->_contenido = array (); - + $this->_espacios = true; $this->_titulo2 = ''; + $this->_menuVertical = null; } // -X2C @@ -180,14 +199,35 @@ class Marco extends HTML_Page { // +X2C Operation 32 /** - * Funcion que se encarga de la obtencion y generacion del array de configuracion. + * Funcion que se encarga de la obtencion y generacion del array de configuracion.Recibe como parametro el directorio en donde se encuentra el sistema. + * + * @param string $archivo Archivo de configuracion del sistema * * @return array * @access private */ - function _obtenerConfiguracion() // ~X2C + function _obtenerConfiguracion($archivo) // ~X2C { - $this->_configuracion = include $this->_directorio.SISTEMA_CONF_BASE; + $this->_configuracion = include $archivo; + //Verifico que existan los directorios, si no es asi los reemplazo por los defaults + if (!@$this->_configuracion['directorios']['root']) { + trigger_error('Es obligatorio ingresar el directorio root!', E_USER_ERROR); + } + if (!@$this->_configuracion['directorios']['imagenes']){ + $this->_configuracion['directorios']['imagenes'] = $this->_configuracion['directorios']['root'].'/'.DIR_IMAGENES; + } + if (!@$this->_configuracion['directorios']['estilos']){ + $this->_configuracion['directorios']['estilos'] = $this->_configuracion['directorios']['root'].'/'.DIR_ESTILOS; + } + if (!@$this->_configuracion['directorios']['js']){ + $this->_configuracion['directorios']['js'] = $this->_configuracion['directorios']['root'].'/'.DIR_JS; + } + if (!@$this->_configuracion['directorios']['www']){ + $this->_configuracion['directorios']['www'] = $this->_configuracion['directorios']['root'].'/'.DIR_WWW; + } + if (!@$this->_configuracion['directorios_fs']['cache']){ + $this->_configuracion['directorios_fs']['cache'] = DIR_CACHE; + } } // -X2C @@ -252,9 +292,11 @@ class Marco extends HTML_Page { */ function _body_display() // ~X2C { - $body = array ( 'copete' => $this->_copete->toHtml(), - 'body' => $this->_contenido, - 'pie' => $this->_pie->toHtml(), + $body = array ( 'copete' => $this->_copete->toHtml(), + 'espacios' => $this->_espacios, + 'body' => $this->_contenido, + 'menuVertical' => $this->_menuVertical, + 'pie' => $this->_pie->toHtml(), ); $this->_menu->addBody($body); $this->addBodyContent($this->_menu->toHtml()); @@ -272,7 +314,37 @@ class Marco extends HTML_Page { */ function addTitle($titulo) // ~X2C { - $this->_titulo2 = ' - '.$titulo; + $this->_titulo2.= ' - '.$titulo; + } + // -X2C + + // +X2C Operation 207 + /** + * Setea los espacios entre el menu principal el body y el pie de las paginas + * + * @param bool $espacios Si es verdadero agrega los espacios, sino los elimina + * + * @return void + * @access public + */ + function setEspacios($espacios = true) // ~X2C + { + $this->_espacios = $espacios; + } + // -X2C + + // +X2C Operation 214 + /** + * Agrega un menu vertical a la izquierda en la pantalla. Por ahora solo funciona con MenuOculto + * + * @param mixed $menuVertical Objeto u Html que representa el menu a mostrar. + * + * @return void + * @access public + */ + function addMenuVertical($menuVertical) // ~X2C + { + $this->_menuVertical = $menuVertical; } // -X2C