X-Git-Url: https://git.llucax.com/mecon/meconlib.git/blobdiff_plain/8782288c3f53321a0f1d41bb9f8450aaf838be14..a2a6a5f4d1500867db74046d8937f63ad3a7e82f:/lib/MECON/Marco/MenuPrincipal.php diff --git a/lib/MECON/Marco/MenuPrincipal.php b/lib/MECON/Marco/MenuPrincipal.php index ce7cbeb..201121c 100644 --- a/lib/MECON/Marco/MenuPrincipal.php +++ b/lib/MECON/Marco/MenuPrincipal.php @@ -25,16 +25,13 @@ $Id$ -----------------------------------------------------------------------------*/ require_once 'HTML/Table.php'; - -// +X2C includes +require_once 'MECON/HTML/Image.php'; require_once 'MECON/Marco/MenuHorizontal.php'; -// ~X2C -// +X2C Class 193 :MECON_Marco_MenuPrincipal + /** * Clase que se encarga del manejo del menu principal. Este menu es el de secciones general del sistema. * - * @package MECON_Marco * @access public */ class MECON_Marco_MenuPrincipal extends MECON_Marco_MenuHorizontal { @@ -45,17 +42,14 @@ class MECON_Marco_MenuPrincipal extends MECON_Marco_MenuHorizontal { * @access private */ var $_seccionSeleccionada = null; - - // ~X2C - - // +X2C Operation 195 + /** * @param array $configuracion Configuracion del sistema * * @return void * @access public */ - function MECON_Marco_MenuPrincipal($configuracion) // ~X2C + function MECON_Marco_MenuPrincipal($configuracion) { parent::MECON_Marco_Menu($configuracion); @@ -68,10 +62,7 @@ class MECON_Marco_MenuPrincipal extends MECON_Marco_MenuHorizontal { } } - // -X2C - - // +X2C Operation 199 /** * Funcion que se encarga de agregar el body a la seccion seleccionada * @@ -80,100 +71,116 @@ class MECON_Marco_MenuPrincipal extends MECON_Marco_MenuHorizontal { * @return void * @access public */ - function addBody($body) // ~X2C + function addBody($body) { + //ARMO EL MENU PRINCIPAL $colspan = count($this->_componentes); - - //Agrego el copete {{{ - $copete = new MECON_Marco_Copete ($this->_configuracion['directorios']['imagenes']); - $row[] = $copete->toHtml(); - $this->_tabla->addRow($row,'align="center" bgcolor="#FFFFFF" colspan="'.$colspan.'"'); - //}}} - - //Agrego las secciones - $this->_tabla->addRow($this->_componentes,'align="center" bgcolor="#CCCCCC"'); - $colcount = $this->_tabla->getColCount(); - $width = 100 / $colcount; - - for ($col=0; $col < $colcount; $col++) { - $this->_tabla->updateColAttributes($col,'width="'.$width.'%"'); - } - - foreach ($this->_secciones as $sec) { - if ($sec->verifSeccionSeleccionada($_SERVER['PHP_SELF'])) { + //Agrego el copete + $copete =& new MECON_Marco_Copete + (@$this->_configuracion['directorios']['imagenes'], + @$this->_configuracion['ayuda'], + @$this->_configuracion['titulo_sistema'] + ); + $tmp = $this->_tabla->addRow(array($copete->toHtml()), + 'align="center" bgcolor="#FFFFFF"'); + $this->_tabla->updateCellAttributes($tmp, 0, + 'colspan="'. $colspan .'"'); + //Agrego las secciones + $tmp = $this->_tabla->addRow($this->_componentes, + 'align="center" bgcolor="#CCCCCC"'); + $width = intval (100 / $colspan); + for ($col=0; $col < $colspan; $col++) { + $this->_tabla->updateCellAttributes($tmp, $col, + 'width="'.$width.'%"'); + } + //Agrego la linea de separacion + $tmp = $this->_tabla->addRow(array(new MECON_HTML_Image( + '/MECON/images/general_linea.gif', str_repeat('=', 108) + )),'align="center" height="1"'); + $this->_tabla->updateCellAttributes($tmp, 0, 'colspan="'.$colspan.'"'); + + //BUSCO LA SECCION SELECCIONADA + foreach ($this->_secciones as $sec) { + if ($sec->verifSeccionSeleccionada($_SERVER['PHP_SELF'])) + { $this->_seccionSeleccionada = $sec; + break; //Salgo del foreach } } - //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['menuVertical']); - $row = array ($this->_seccionSeleccionada->_hijos->toHtml()); - $this->_tabla->addRow($row,'align="center" bgcolor="#FFFFFF" colspan="'.$colspan.'"'); + + //IMPORTANTE: ACA EMPIEZO A ACTUAR DIFERENTE SEGUN EL ESTILO DE MENU QUE + //SE SELECCIONE + + //VOY POR LAS SUBSECCIONES, AGREGO EL MENU SI CORRESPONDE + if (isset($this->_seccionSeleccionada->_hijos)) { + $this->resultado[] = $this->_tabla; + $this->_seccionSeleccionada->_hijos->addBody( + $body['body'], + $this->_seccionSeleccionada->_nombre, + $body['menuVertical'] + ); + foreach ($this->_seccionSeleccionada->_hijos->resultado AS $res) { + $this->resultado[] = $res; + } } else { - $row = array (''.$this->_seccionSeleccionada->_nombre.''); - $this->_tabla->addRow($row,'align="left" bgcolor="#336699" colspan="'.$colspan.'"'); - - //Agrego si corresponde el espacio al inicio - if ($this->_configuracion['espacios']) { - $espacio = ' 
'; + //NO HAY MENUES DE MARCO + //Agrego el encabezado + if ($this->_seccionSeleccionada) { + $this->_tabla->addRow( + array( + $this->_armarEncabezado($this->_seccionSeleccionada->_nombre. + $this->_configuracion['subtitulo']) + ),'align="left" bgcolor="#FFFFFF" colspan="'. + $colspan .'"'); + $this->_tabla->addRow(array( + new MECON_HTML_Image('/MECON/images/general_linea2.gif', + str_repeat('-', 108))), + 'border="0" align="center" colspan="'. $colspan .'"'); } - else { - $espacio = ''; - } - // - -//SI HAY MENU ARMO UNA TABLA, SINO TIRO DIRECTAMENTE - $row = array(); - $tmp = ''; + $this->resultado[] = $this->_tabla; + + //Si hay un menu vertical lo tengo en cuenta, sino tiro el contenido + //directamente 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); + $MENUVERTICAL = new HTML_Table ('width="760"'); + $cuerpo = ''; + if (is_array($body['body'])) { + if ($this->_configuracion['espacios']) { + $cuerpo.= ' 
'; + } + foreach ($body['body'] as $bod) { + if (is_object($bod)) { + if (method_exists($bod,'toHtml')) { + $cuerpo.= $bod->toHtml(); + } + else { + trigger_error('El metodo no existe! - '. + get_class($bod).'::toHtml()', + E_USER_WARNING); + } + } + else { + $cuerpo.= $bod; } - } else { - $tmp.=$bod; } + } + else { + $cuerpo = $body['body']; } - $tmp.= $espacio; - $row[] = $tmp; - } else { - $row[] = $body['body']; + $MENUVERTICAL->addRow(array($body['menuVertical'], $cuerpo), + 'valign="top"'); + $MENUVERTICAL->updateColAttributes(0, 'width="10%"'); + $this->resultado[] = $MENUVERTICAL; } - - if ($body['menuVertical']) { - $tabla = new HTML_Table (array('width' => '760', 'border' => 0, 'celspacing' => 0, 'celpadding' => 0)); - $tt = $tabla->addRow($row,'align="center" bgcolor="#FFFFFF"'); - $tabla->updateCellAttributes($tt, 0, 'valign="top" width="1%"'); - $contenido[] = $tabla; - } else { - $contenido = $row; + else { + //Agrego si corresponde el espacio al inicio + if ($this->_configuracion['espacios']) { + $this->resultado[] = ' 
'; + } + $this->resultado = array_merge($this->resultado, $body['body']); } -// - $this->_tabla->addRow($contenido,'align="center" bgcolor="#FFFFFF" colspan="'.$colspan.'"'); - } } - // -X2C - -} // -X2C Class :MECON_Marco_MenuPrincipal - +} ?> \ No newline at end of file