X-Git-Url: https://git.llucax.com/mecon/meconlib.git/blobdiff_plain/bf5e13802a852ae3d121bb9a88237e9f1da2c33f..b83e9f960d1231b2232058c76aee8d90634d16de:/lib/MECON/Marco/MenuPrincipal.php diff --git a/lib/MECON/Marco/MenuPrincipal.php b/lib/MECON/Marco/MenuPrincipal.php index 1ec2781..312abee 100644 --- a/lib/MECON/Marco/MenuPrincipal.php +++ b/lib/MECON/Marco/MenuPrincipal.php @@ -1,50 +1,51 @@ - -// +----------------------------------------------------------------------+ -// -// $Id$ -// $Author$ -// $URL$ -// $Date$ -// $Rev$ -// + +------------------------------------------------------------------------------- +$Id$ +-----------------------------------------------------------------------------*/ +require_once 'HTML/Table.php'; +require_once 'MECON/HTML/Image.php'; // +X2C includes require_once 'MECON/Marco/MenuHorizontal.php'; // ~X2C -// +X2C Class 193 :MenuPrincipal +// +X2C Class 193 :MECON_Marco_MenuPrincipal /** - * Clase que se encarga del manejo de los menues principales. Este menu es el de secciones general del sistema. + * Clase que se encarga del manejo del menu principal. Este menu es el de secciones general del sistema. * + * @package MECON_Marco * @access public */ -class MenuPrincipal extends MenuHorizontal { +class MECON_Marco_MenuPrincipal extends MECON_Marco_MenuHorizontal { /** * Contiene el objeto seccion que se encuentra seleccionada. Se utiliza para mostrar el menu. * * @var Seccion $seccionSeleccionada * @access private */ - var $_seccionSeleccionada; + var $_seccionSeleccionada = null; // ~X2C @@ -55,10 +56,9 @@ class MenuPrincipal extends MenuHorizontal { * @return void * @access public */ - function menuPrincipal($configuracion) // ~X2C + function MECON_Marco_MenuPrincipal($configuracion) // ~X2C { - $this->_seccionSeleccionada = null; - parent::Menu($configuracion); + parent::MECON_Marco_Menu($configuracion); if (!is_null($configuracion['secciones'] || $configuracion['secciones'] == '')) { $this->_armarArraySecciones($this->_obtenerConfSecciones()); @@ -84,64 +84,112 @@ class MenuPrincipal extends MenuHorizontal { function addBody($body) // ~X2C { $colspan = count($this->_componentes); - - $row = array ($body['copete']); - $this->_tabla->addRow($row,'align="center" bgcolor="#FFFFFF" colspan="'.$colspan.'"'); + + //Agrego el copete {{{ + $copete = new MECON_Marco_Copete ($this->_configuracion['directorios']['imagenes'], + @$this->_configuracion['ayuda'], $this->_configuracion['titulo_sistema']); + $row[] = $copete->toHtml(); + $this->_tabla->addRow($row,'align="center" bgcolor="#FFFFFF"'); + //}}} //Agrego las secciones - $this->_tabla->addRow($this->_componentes,'align="center" bgcolor="#CCCCCC"'); - $colcount = $this->_tabla->getColCount(); - $width = 100 / $colcount; + $TABLAM = new HTML_Table('width=760 + align="center" + cellspacing="0" + cellpadding="0" + border="0" + background="/MECON/images/general_fondo_gris.gif"'); + $TABLAM->addRow($this->_componentes,'align="center" bgcolor="#CCCCCC"'); + $width = intval (100 / $colspan); - for ($col=0; $col < $colcount; $col++) { - $this->_tabla->updateColAttributes($col,'width="'.$width.'%"'); - } + for ($col=0; $col < $colspan; $col++) { + $TABLAM->updateCellAttributes(0,$col,'width="'.$width.'%"'); + } + $this->_tabla->addRow(array($TABLAM)); + $imagen = new MECON_HTML_Image('/MECON/images/general_linea.gif', str_repeat('=', 108)); + $i = $this->_tabla->addRow(array ($imagen->toHtml()), 'align="center"'); + $this->_tabla->updateRowAttributes($i, 'height="1"'); + foreach ($this->_secciones as $sec) { if ($sec->verifSeccionSeleccionada($_SERVER['PHP_SELF'])) { $this->_seccionSeleccionada = $sec; } } //Agrego el contenido de la pagina - if (!is_null($this->_seccionSeleccionada)) { - if (isset($this->_seccionSeleccionada->_hijos)) { - $this->_seccionSeleccionada->_hijos->addBody($body['body'],$this->_seccionSeleccionada->_nombre); - $row = array ($this->_seccionSeleccionada->_hijos->toHtml()); - } - else { - $row = array (''); - } + if (!is_null($this->_seccionSeleccionada) && isset($this->_seccionSeleccionada->_hijos)) { + $this->_seccionSeleccionada->_hijos->addBody($body['body'],$this->_seccionSeleccionada->_nombre, $body['menuVertical']); + $row = array ($this->_seccionSeleccionada->_hijos->toHtml()); + $this->_tabla->addRow($row,'align="center" bgcolor="#FFFFFF"'); } else { + if ($this->_seccionSeleccionada) { + $row = array ($this->_armarEncabezado($this->_seccionSeleccionada->_nombre.$this->_configuracion['subtitulo'])); + $this->_tabla->addRow($row,'align="left" bgcolor="#FFFFFF"'); + $imagen = new MECON_HTML_Image('/MECON/images/general_linea2.gif', + str_repeat('-', 108), array('border' => 0, 'align' => 'center')); + $this->_tabla->addRow(array ($imagen->toHtml()), 'align="center"'); + } + + //Agrego si corresponde el espacio al inicio + if ($this->_configuracion['espacios']) { + $espacio = ' 
'; + } + else { + $espacio = ''; + } + // + +//SI HAY MENU ARMO UNA TABLA, SINO TIRO DIRECTAMENTE + $row = array(); + $tmp = ''; + if ($body['menuVertical']) { + if (is_object($body['menuVertical'])) { + if (method_exists($body['menuVertical'],'toHtml')) { + $tmp.=$body['menuVertical']->toHtml(); + } else { + trigger_error('El metodo no existe!', E_USER_WARNING); + } + } else { + $tmp.=$body['menuVertical']; + } + $row[] = $tmp; + } + if (is_array($body['body'])) { $tmp = ''; + $tmp = $espacio; foreach ($body['body'] as $bod) { if (is_object($bod)) { if (method_exists($bod,'toHtml')) { $tmp.=$bod->toHtml(); + } else { + trigger_error('El metodo no existe! - '.get_class($bod).'::toHtml()', E_USER_WARNING); } - else { - trigger_error('El metodo no existe! - '.get_class($bod).'::toHtml()', E_USER_WARNING); - } - } - else { + } else { $tmp.=$bod; } } - $row = array ($tmp); + $tmp.= $espacio; + $row[] = $tmp; + } else { + $row[] = $body['body']; } - else { - $row = array ($body['body']); + + if ($body['menuVertical']) { + $tabla = new HTML_Table (array('width' => '760', 'border' => 0, 'celspacing' => 0, 'celpadding' => 0)); + $tt = $tabla->addRow($row,'align="center" bgcolor="#FFFFFF" valign="top"'); + $tabla->updateCellAttributes($tt, 0, 'valign="top" width="1%"'); + $contenido[] = $tabla; + } else { + $contenido = $row; } +// + $this->_tabla->addRow($contenido,'align="center" bgcolor="#FFFFFF" valign="top"'); } - - $this->_tabla->addRow($row,'align="center" bgcolor="#FFFFFF" colspan="'.$colspan.'"'); - - $row = array ($body['pie']); - $this->_tabla->addRow($row,'align="center" bgcolor="#CCCCCC" colspan="'.$colspan.'"'); } // -X2C -} // -X2C Class :MenuPrincipal +} // -X2C Class :MECON_Marco_MenuPrincipal ?> \ No newline at end of file