X-Git-Url: https://git.llucax.com/mecon/meconlib.git/blobdiff_plain/997feeab434ec1ab5b6b94b8255068d732f8085f..511afeece45e35328bb8fe4e56ab0453554b7689:/lib/MECON/Marco/MenuPrincipal.php diff --git a/lib/MECON/Marco/MenuPrincipal.php b/lib/MECON/Marco/MenuPrincipal.php index 1d6c37b..0f550a8 100644 --- a/lib/MECON/Marco/MenuPrincipal.php +++ b/lib/MECON/Marco/MenuPrincipal.php @@ -1,4 +1,4 @@ -_componentes); - - //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 - $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"'); + //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++) { - $TABLAM->updateCellAttributes(0,$col,'width="'.$width.'%"'); + $this->_tabla->updateCellAttributes($tmp, $col, + 'width="'.$width.'%"'); } - $this->_tabla->addRow(array($TABLAM)); + //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.'"'); - $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'])) { + //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"'); + + //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 { + //NO HAY MENUES DE MARCO + //Agrego el encabezado 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 = ' 
'; + $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" align="left"'); + $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" valign="top"'); - $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" valign="top"'); } } }