From: Martín Marrese Date: Tue, 8 Jul 2003 19:53:58 +0000 (+0000) Subject: Se agrego la funcion addMenuVertical, esta permite agregar un menu vertical a la... X-Git-Tag: svn_import~396 X-Git-Url: https://git.llucax.com/mecon/meconlib.git/commitdiff_plain/a12afcaedd723ebe62e801bb3abf0dc5d6003fd3?hp=4cdb86128b75542c8e45a88ab36c4777af2e4337 Se agrego la funcion addMenuVertical, esta permite agregar un menu vertical a la pagina. Por ahora solo fuciona con el menu oculto. --- diff --git a/lib/MECON/Marco.php b/lib/MECON/Marco.php index 0b40875..41b7d68 100644 --- a/lib/MECON/Marco.php +++ b/lib/MECON/Marco.php @@ -54,6 +54,7 @@ define ('ESTILO_GENERICO' , 'general_estilos.css'); * 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 { @@ -121,6 +122,14 @@ class Marco extends HTML_Page { */ var $_espacios; + /** + * Menu vertical para agregar en la pantalla. + * + * @var mixed $menuVertical + * @access private + */ + var $_menuVertical; + // ~X2C // +X2C Operation 26 @@ -132,7 +141,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', @@ -150,6 +159,7 @@ class Marco extends HTML_Page { $this->_contenido = array (); $this->_espacios = true; $this->_titulo2 = ''; + $this->_menuVertical = null; } // -X2C @@ -164,7 +174,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); @@ -180,7 +190,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); @@ -196,7 +206,7 @@ class Marco extends HTML_Page { * @return array * @access private */ - function _obtenerConfiguracion($archivo)// ~X2C + function _obtenerConfiguracion($archivo) // ~X2C { $this->_configuracion = include $archivo; //Verifico que existan los directorios, si no es asi los reemplazo por los defaults @@ -228,7 +238,7 @@ class Marco extends HTML_Page { * @return string * @access public */ - function display()// ~X2C + function display() // ~X2C { //Agrego el header $this->_header_display(); @@ -251,7 +261,7 @@ class Marco extends HTML_Page { * @return void * @access public */ - function addBody($body)// ~X2C + function addBody($body) // ~X2C { $this->_contenido[] = $body; } @@ -264,7 +274,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); @@ -280,12 +290,13 @@ class Marco extends HTML_Page { * @return void * @access private */ - function _body_display()// ~X2C + function _body_display() // ~X2C { - $body = array ( 'copete' => $this->_copete->toHtml(), - 'espacios' => $this->_espacios, - '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()); @@ -301,7 +312,7 @@ class Marco extends HTML_Page { * @return void * @access public */ - function addTitle($titulo)// ~X2C + function addTitle($titulo) // ~X2C { $this->_titulo2.= ' - '.$titulo; } @@ -316,12 +327,27 @@ class Marco extends HTML_Page { * @return void * @access public */ - function setEspacios($espacios = true)// ~X2C + 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 + } // -X2C Class :Marco ?> \ No newline at end of file diff --git a/lib/MECON/Marco/Copete.php b/lib/MECON/Marco/Copete.php index 6fc545d..2a02090 100644 --- a/lib/MECON/Marco/Copete.php +++ b/lib/MECON/Marco/Copete.php @@ -32,6 +32,7 @@ require_once 'PEAR.php'; /** * Clase para el manejo de los copetes de los sistemas integrantes de intranet. Recibe el directorio porque debe obtener la imagen del directorio especificado. * + * @package MECON_Marco * @access public */ class Copete { @@ -54,7 +55,7 @@ class Copete { * @return void * @access public */ - function Copete($directorio)// ~X2C + function Copete($directorio) // ~X2C { $this->_directorio = $directorio; } @@ -67,7 +68,7 @@ class Copete { * @return string * @access public */ - function toHtml()// ~X2C + function toHtml() // ~X2C { if (!is_null($this->_directorio)) { return ''; @@ -85,7 +86,7 @@ class Copete { * @return string * @access public */ - function darCopete()// ~X2C + function darCopete() // ~X2C { return ''; } diff --git a/lib/MECON/Marco/ImagenAnimada.php b/lib/MECON/Marco/ImagenAnimada.php index 86369c6..bb3f3bb 100644 --- a/lib/MECON/Marco/ImagenAnimada.php +++ b/lib/MECON/Marco/ImagenAnimada.php @@ -32,6 +32,7 @@ define('MECON_MARCO_IMAGENANIMADA_DIR_GENERAL', '/MECON/images'); /** * Clase para el manejo de la animacion de las imagenes. Utilizada principalmente en la barra de secciones * + * @package MECON_Marco * @access public */ class ImagenAnimada { @@ -197,7 +198,7 @@ class ImagenAnimada { * @return void * @access public */ - function ImagenAnimada($imagenComun, $imagenMouseOn = '', $imagenSelect = '', $directorio = '', $nombre = '', $link = '')// ~X2C + function ImagenAnimada($imagenComun, $imagenMouseOn = '', $imagenSelect = '', $directorio = '', $nombre = '', $link = '') // ~X2C { if ($imagenComun !== '') { $this->_imgComun = $this->_calcularImagen($imagenComun, $directorio); @@ -226,7 +227,7 @@ class ImagenAnimada { * @return string * @access public */ - function toHtml()// ~X2C + function toHtml() // ~X2C { $src = $this->getSeleccionada() ? $this->_imgSelect : $this->_imgComun; $img = new HTML_Image($src, $this->_nombre, array('name' => $this->_nombre, 'border' => 0)); @@ -256,7 +257,7 @@ class ImagenAnimada { * @return string * @access protected */ - function _calcularImagen($imagen, $directorio, $modificador = '')// ~X2C + function _calcularImagen($imagen, $directorio, $modificador = '') // ~X2C { if ($modificador !== '') { $pos = strrpos($imagen, '.'); @@ -275,4 +276,4 @@ class ImagenAnimada { } // -X2C Class :ImagenAnimada -?> +?> \ No newline at end of file diff --git a/lib/MECON/Marco/Menu.php b/lib/MECON/Marco/Menu.php index 32d81bd..4be69c5 100644 --- a/lib/MECON/Marco/Menu.php +++ b/lib/MECON/Marco/Menu.php @@ -35,6 +35,7 @@ define ('ARRAYSECCIONES_SERIALIZADO', 'ArraySeccionesSerializado'); /** * Clase para el manejo de los menues y secciones de los sistemas. * + * @package MECON_Marco * @access public */ class Menu { @@ -95,7 +96,7 @@ class Menu { * @return void * @access public */ - function Menu($configuracion = null)// ~X2C + function Menu($configuracion = null) // ~X2C { $this->_componentes = array (); //Inicializo vacio el array de componentes del menu $this->_componentesVertical = array (); //Inicializo vacio el array de componentes del menu @@ -112,7 +113,7 @@ class Menu { * @return void * @access private */ - function _generarArchivo()// ~X2C + function _generarArchivo() // ~X2C { $s = serialize($this); $fp = fopen($this->_configuracion['directorios']['root'].'/'.MENU_SERIALIZADO,'w'); @@ -130,7 +131,7 @@ class Menu { * @return string * @access private */ - function _obtenerArchivo($directorio)// ~X2C + function _obtenerArchivo($directorio) // ~X2C { $s = implode("", @file($this->_configuracion['directorios']['root'].'/'.MENU_SERIALIZADO)); return unserialize($s); @@ -145,7 +146,7 @@ class Menu { * @return array * @access private */ - function _obtenerConfSecciones()// ~X2C + function _obtenerConfSecciones() // ~X2C { return $this->_configuracion['secciones']; } @@ -160,7 +161,7 @@ class Menu { * @return void * @access private */ - function _armarArraySecciones($confSec)// ~X2C + function _armarArraySecciones($confSec) // ~X2C { $linksel = $_SERVER['PHP_SELF']; $ultimo = 0; @@ -187,7 +188,7 @@ class Menu { * @return void * @access private */ - function _serializarArraySecciones()// ~X2C + function _serializarArraySecciones() // ~X2C { $secciones = $this->_configuracion['secciones']; $tmp = array(); @@ -229,7 +230,7 @@ class Menu { * @return void * @access public */ - function agregarComponente($componente)// ~X2C + function agregarComponente($componente) // ~X2C { array_push($this->_componentes,$componente); } @@ -243,7 +244,7 @@ class Menu { * @return string * @access public */ - function toHtml()// ~X2C + function toHtml() // ~X2C { return $this->_tabla->toHtml(); } @@ -257,7 +258,7 @@ class Menu { * @return string * @access public */ - function menuToHtml()// ~X2C + function menuToHtml() // ~X2C { return $this->_menuHtml; } diff --git a/lib/MECON/Marco/MenuHorizontal.php b/lib/MECON/Marco/MenuHorizontal.php index 0ebc23a..c26667a 100644 --- a/lib/MECON/Marco/MenuHorizontal.php +++ b/lib/MECON/Marco/MenuHorizontal.php @@ -35,6 +35,7 @@ require_once 'MECON/Marco/Menu.php'; /** * Clase que se encarga del manejo de los menues horizontales * + * @package MECON_Marco * @access public */ class MenuHorizontal extends Menu { @@ -50,7 +51,7 @@ class MenuHorizontal extends Menu { * @return void * @access public */ - function MenuHorizontal($configuracion = null)// ~X2C + function MenuHorizontal($configuracion = null) // ~X2C { parent::Menu($configuracion); } @@ -63,11 +64,12 @@ class MenuHorizontal extends Menu { * @param string $body Body para agregar a la pagina * @param string $titulo Titulo de la seccion seleccionada * @param bool $espacios Indica si hay que agregar espacios antes y despues del body + * @param mixed $menu Menu a mostrar * * @return void * @access public */ - function addBody($body, $titulo, $espacios = true)// ~X2C + function addBody($body, $titulo, $espacios = true, $menu = null) // ~X2C { $c = count($this->_componentes); $tit = ''.$titulo.''; @@ -121,4 +123,4 @@ class MenuHorizontal extends Menu { } // -X2C Class :MenuHorizontal -?> +?> \ No newline at end of file diff --git a/lib/MECON/Marco/MenuOculto.php b/lib/MECON/Marco/MenuOculto.php index c0f157b..4f63cad 100644 --- a/lib/MECON/Marco/MenuOculto.php +++ b/lib/MECON/Marco/MenuOculto.php @@ -35,6 +35,7 @@ require_once 'MECON/Marco/Menu.php'; /** * Clase que se encarga del manejo de los menues ocultos. * + * @package MECON_Marco * @access public */ class MenuOculto extends Menu { @@ -50,7 +51,7 @@ class MenuOculto extends Menu { * @return void * @access public */ - function MenuOculto($configuracion = null)// ~X2C + function MenuOculto($configuracion = null) // ~X2C { parent::Menu($configuracion); } @@ -63,23 +64,52 @@ class MenuOculto extends Menu { * @param string $body String con el cuerpo a agregar a la pagina * @param string $titulo Titulo de la seccion seleccionada * @param bool $espacios Indica si hay que agregar espacios antes y despues del body + * @param mixed $menu Menu a mostrar * * @return void * @access public */ - function addBody($body, $titulo, $espacios = true)// ~X2C + function addBody($body, $titulo, $espacios = true, $menu = null) // ~X2C { + + if ($menu) { + $colspan = 2; + } + else { + $colspan = 1; + } + $tit = ''.$titulo.''; $row = array ($tit); - $this->_tabla->addRow($row,'align="left" bgcolor="#336699"'); + $this->_tabla->addRow($row,'align="left" bgcolor="#336699" colspan="'.$colspan.'"'); + + //Agrego si corresponde el espacio al inicio if ($espacios) { $row = array (' '); - $this->_tabla->addRow($row,'align="left" bgcolor="#FFFFFF"'); + $this->_tabla->addRow($row,'align="left" bgcolor="#FFFFFF" colspan="'.$colspan.'"'); } // - + + //Veo si debo cargar el menu horizontal + $row = array(); + $tmp = ''; + if ($menu) { + if (is_object($menu)) { + if (method_exists($menu,'toHtml')) { + $tmp.=$menu->toHtml(); + } + else { + trigger_error('El metodo no existe!', E_USER_WARNING); + } + } + else { + $tmp.=$menu; + } + $row[] = $tmp; + } + $tmp=''; foreach ($body as $bod) { if (is_object($bod)) { @@ -94,13 +124,13 @@ class MenuOculto extends Menu { $tmp.=$bod; } } - $row = array ($tmp); + $row[] = $tmp; $this->_tabla->addRow($row,'align="center" bgcolor="#FFFFFF"'); //Agrego si corresponde el espacio al final if ($espacios) { $row = array (' '); - $this->_tabla->addRow($row,'align="left" bgcolor="#FFFFFF"'); + $this->_tabla->addRow($row,'align="left" bgcolor="#FFFFFF" colspan="'.$colspan.'"'); } // } diff --git a/lib/MECON/Marco/MenuPrincipal.php b/lib/MECON/Marco/MenuPrincipal.php index e7a0fd3..0224359 100644 --- a/lib/MECON/Marco/MenuPrincipal.php +++ b/lib/MECON/Marco/MenuPrincipal.php @@ -35,6 +35,7 @@ require_once 'MECON/Marco/MenuHorizontal.php'; /** * Clase que se encarga del manejo de los menues principales. Este menu es el de secciones general del sistema. * + * @package MECON_Marco * @access public */ class MenuPrincipal extends MenuHorizontal { @@ -55,7 +56,7 @@ class MenuPrincipal extends MenuHorizontal { * @return void * @access public */ - function menuPrincipal($configuracion)// ~X2C + function menuPrincipal($configuracion) // ~X2C { $this->_seccionSeleccionada = null; parent::Menu($configuracion); @@ -81,7 +82,7 @@ class MenuPrincipal extends MenuHorizontal { * @return void * @access public */ - function addBody($body)// ~X2C + function addBody($body) // ~X2C { $colspan = count($this->_componentes); @@ -104,7 +105,7 @@ class MenuPrincipal extends MenuHorizontal { } //Agrego el contenido de la pagina if (!is_null($this->_seccionSeleccionada) && isset($this->_seccionSeleccionada->_hijos)) { - $this->_seccionSeleccionada->_hijos->addBody($body['body'],$this->_seccionSeleccionada->_nombre, $body['espacios']); + $this->_seccionSeleccionada->_hijos->addBody($body['body'],$this->_seccionSeleccionada->_nombre, $body['espacios'], $body['menuVertical']); $row = array ($this->_seccionSeleccionada->_hijos->toHtml()); $this->_tabla->addRow($row,'align="center" bgcolor="#FFFFFF" colspan="'.$colspan.'"'); } diff --git a/lib/MECON/Marco/MenuVertical.php b/lib/MECON/Marco/MenuVertical.php index c3f05b8..f857325 100644 --- a/lib/MECON/Marco/MenuVertical.php +++ b/lib/MECON/Marco/MenuVertical.php @@ -35,6 +35,7 @@ require_once 'MECON/Marco/Menu.php'; /** * Clase que se encarga del manejo de los menues verticales * + * @package MECON_Marco * @access public */ class MenuVertical extends Menu { @@ -50,7 +51,7 @@ class MenuVertical extends Menu { * @return void * @access public */ - function MenuVertical($configuracion = null)// ~X2C + function MenuVertical($configuracion = null) // ~X2C { parent::Menu($configuracion); } @@ -63,11 +64,12 @@ class MenuVertical extends Menu { * @param string $body Cuerpo del mensaje para agregar a la pagina * @param string $titulo Titulo de la seccion seleccionada * @param bool $espacios Indica si hay que agregar espacios antes y despues del body + * @param mixed $menu Menu a mostrar * * @return void * @access public */ - function addBody($body, $titulo, $espacios = true)// ~X2C + function addBody($body, $titulo, $espacios = true, $menu = null) // ~X2C { $c= count($this->_componentes); @@ -131,4 +133,4 @@ class MenuVertical extends Menu { } // -X2C Class :MenuVertical -?> +?> \ No newline at end of file diff --git a/lib/MECON/Marco/Pagina.php b/lib/MECON/Marco/Pagina.php index baa055a..9ea3427 100644 --- a/lib/MECON/Marco/Pagina.php +++ b/lib/MECON/Marco/Pagina.php @@ -32,6 +32,7 @@ /** * Clase para el manejo de las paginas. * + * @package MECON_Marco * @access public */ class Pagina { @@ -70,7 +71,7 @@ class Pagina { * @return void * @access public */ - function Pagina($pagina)// ~X2C + function Pagina($pagina) // ~X2C { $this->_link = $pagina; } @@ -83,7 +84,7 @@ class Pagina { * @return string * @access public */ - function link()// ~X2C + function link() // ~X2C { return $this->_link; } diff --git a/lib/MECON/Marco/Pie.php b/lib/MECON/Marco/Pie.php index c5dbb90..77d4747 100644 --- a/lib/MECON/Marco/Pie.php +++ b/lib/MECON/Marco/Pie.php @@ -32,6 +32,7 @@ require_once 'MECON/HTML/Tabla.php'; /** * Clase para el manejo de los pie de pagina de los sistemas de la intranet * + * @package MECON_Marco * @access public */ class Pie { @@ -54,7 +55,7 @@ class Pie { * @return void * @access public */ - function Pie($configuracion)// ~X2C + function Pie($configuracion) // ~X2C { $this->_configuracion = $configuracion; } @@ -67,7 +68,7 @@ class Pie { * @return string * @access public */ - function toHtml()// ~X2C + function toHtml() // ~X2C { if (array_key_exists('pie_sistema',$this->_configuracion)) { return $this->_configuracion['pie_sistema']; @@ -85,7 +86,7 @@ class Pie { * @return string * @access public */ - function darPie()// ~X2C + function darPie() // ~X2C { return $this->_configuracion['pie_sistema']; } diff --git a/lib/MECON/Marco/Seccion.php b/lib/MECON/Marco/Seccion.php index e3d5428..661cfc8 100644 --- a/lib/MECON/Marco/Seccion.php +++ b/lib/MECON/Marco/Seccion.php @@ -43,6 +43,7 @@ require_once 'MECON/Marco/MenuOculto.php'; /** * Clase seccion para el manejo de las secciones * + * @package MECON_Marco * @access public */ class Seccion extends Pagina { @@ -105,7 +106,7 @@ class Seccion extends Pagina { * @access public * @static */ - function Seccion($seccion, $configuracion)// ~X2C + function Seccion($seccion, $configuracion) // ~X2C { $this->_nombre = @strval($seccion['nombre']); $imgComun = @strval($seccion['imagenComun']); @@ -136,7 +137,7 @@ class Seccion extends Pagina { * @return string * @access public */ - function toHtml($link_sel)// ~X2C + function toHtml($link_sel) // ~X2C { if (isset($_SESSION['deshabilitar_links']) && $_SESSION['deshabilitar_links']) { $this->_imagen->setHabilitada(false); @@ -157,7 +158,7 @@ class Seccion extends Pagina { * @return void * @access private */ - function _cargarHijos($hijos)// ~X2C + function _cargarHijos($hijos) // ~X2C { if ($this->_tipoMenu == 'vertical'){ $tmp = new MenuVertical($this->_configuracion); @@ -182,7 +183,7 @@ class Seccion extends Pagina { * @return void * @access private */ - function _desSerializarArraySecciones()// ~X2C + function _desSerializarArraySecciones() // ~X2C { $file_cache = strtr($this->_configuracion['directorios']['root'],'/','_'); $tmp = $this->_configuracion['directorios_fs']['cache'].'/'.ARRAYSECCIONES_SERIALIZADO.'_'.$file_cache; @@ -207,7 +208,7 @@ Devuelve 1 si pertenece a la seccion, en caso contrario 0. * @return int * @access public */ - function verifSeccionSeleccionada($link_sel)// ~X2C + function verifSeccionSeleccionada($link_sel) // ~X2C { $tmp = $this->_desSerializarArraySecciones(); $retorno = 0; @@ -232,7 +233,7 @@ Devuelve 1 si pertenece a la seccion, en caso contrario 0. * @return string * @access public */ - function toHtmlVertical($link_sel, $ultimo = false)// ~X2C + function toHtmlVertical($link_sel, $ultimo = false) // ~X2C { $style = "text-decoration:none"; @@ -270,4 +271,4 @@ Devuelve 1 si pertenece a la seccion, en caso contrario 0. } // -X2C Class :Seccion -?> +?> \ No newline at end of file diff --git a/lib/MECON/Marco/Titulo.php b/lib/MECON/Marco/Titulo.php index 872debd..aa084be 100644 --- a/lib/MECON/Marco/Titulo.php +++ b/lib/MECON/Marco/Titulo.php @@ -30,6 +30,7 @@ require_once 'PEAR.php'; /** * Clase para el manejo del titulo de los sistemas. * + * @package MECON_Marco * @access public */ class Titulo { @@ -52,7 +53,7 @@ class Titulo { * @return void * @access public */ - function Titulo($titulo)// ~X2C + function Titulo($titulo) // ~X2C { $this->_titulo = $titulo; } @@ -65,7 +66,7 @@ class Titulo { * @return string * @access public */ - function toHtml()// ~X2C + function toHtml() // ~X2C { $TEXTO = "\n".''.$this->_titulo.''."\n"; return $TEXTO; @@ -79,7 +80,7 @@ class Titulo { * @return string * @access public */ - function darTitulo()// ~X2C + function darTitulo() // ~X2C { return $this->_titulo; }