X-Git-Url: https://git.llucax.com/mecon/meconlib.git/blobdiff_plain/cacc1525e7102dfef7964462a50e4ff13f02dcc6..7dde16c8e64bb325d76d6a34dfbd971be559219e:/lib/MECON/Marco.php diff --git a/lib/MECON/Marco.php b/lib/MECON/Marco.php index 69c2125..0b40875 100644 --- a/lib/MECON/Marco.php +++ b/lib/MECON/Marco.php @@ -25,21 +25,29 @@ // 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 /** @@ -49,14 +57,6 @@ Trabaja de forma general, llamando a los demas objetos para la realizacion del m * @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 +113,14 @@ 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; + // ~X2C // +X2C Operation 26 @@ -124,7 +132,7 @@ class Marco extends HTML_Page { * @return void * @access public */ - function Marco($arch_configuracion) // ~X2C + function Marco($arch_configuracion)// ~X2C { parent::HTML_Page(array ('doctype'=>'HTML 4.01 Transitional', 'charset' => 'iso-8859-1', @@ -132,14 +140,15 @@ 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 = ''; } // -X2C @@ -155,7 +164,7 @@ class Marco extends HTML_Page { * @return void * @access public */ - function agregarScript($archivo) // ~X2C + function agregarScript($archivo)// ~X2C { $tmp = $this->_directorio.SCRIPT_DIR_BASE.$archivo; $this->addScript($tmp); @@ -171,7 +180,7 @@ class Marco extends HTML_Page { * @return void * @access public */ - function agregarEstilo($archivo) // ~X2C + function agregarEstilo($archivo)// ~X2C { $tmp = $this->_directorio.ESTILO_DIR_BASE.$archivo; $this->addStyleSheet($tmp); @@ -180,14 +189,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 @@ -198,7 +228,7 @@ class Marco extends HTML_Page { * @return string * @access public */ - function display() // ~X2C + function display()// ~X2C { //Agrego el header $this->_header_display(); @@ -221,7 +251,7 @@ class Marco extends HTML_Page { * @return void * @access public */ - function addBody($body) // ~X2C + function addBody($body)// ~X2C { $this->_contenido[] = $body; } @@ -234,7 +264,7 @@ class Marco extends HTML_Page { * @return void * @access private */ - function _header_display() // ~X2C + function _header_display()// ~X2C { $tmp = $this->_titulo->darTitulo().$this->_titulo2; $this->setTitle($tmp); @@ -250,11 +280,12 @@ class Marco extends HTML_Page { * @return void * @access private */ - function _body_display() // ~X2C + 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, + 'pie' => $this->_pie->toHtml(), ); $this->_menu->addBody($body); $this->addBodyContent($this->_menu->toHtml()); @@ -270,9 +301,24 @@ class Marco extends HTML_Page { * @return void * @access public */ - function addTitle($titulo) // ~X2C + function addTitle($titulo)// ~X2C + { + $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->_titulo2 = ' - '.$titulo; + $this->_espacios = $espacios; } // -X2C