-------------------------------------------------------------------------------
$Id$
-----------------------------------------------------------------------------*/
require_once 'MLIB/Marco/Menu.php';
require_once 'MLIB/HTML/Image.php';
/**
* Clase que se encarga del manejo de los menues horizontales
*
* @access public
*/
class MLIB_Marco_MenuHorizontal extends MLIB_Marco_Menu {
/**
* Funcion para agregar el cuerpo de la pagina a la pagina
*
* @param string $body Body para agregar a la pagina
* @param string $titulo Titulo de la seccion seleccionada
* @param mixed $menu Menu a mostrar
*
* @return void
* @access public
*/
function addBody($body, $titulo, $menu = null)
{
$tmp = $this->_componentes;
$this->_componentes = array ();
$this->_armarArraySecciones($tmp);
$tmp = $this->_tabla->addRow($this->_componentes,
'align="center" bgcolor="#CCCCCC" valign="top"');
$colspan = count($this->_componentes);
$width = intval (100 / $colspan);
for ($col=0; $col < $colspan; $col++) {
$this->_tabla->updateCellAttributes($tmp, $col,
'width="'.$width.'%"');
}
$imagen = new MLIB_HTML_Image('/MLIB/images/general_linea.gif',
str_repeat('=', 108));
$tmp = $this->_tabla->addRow(array($imagen->toHtml()),
'align="center" height="1" colspan="'. $colspan .'"');
//Agrego el titulo
$row = array($this->_armarEncabezado($titulo .
$this->_configuracion['subtitulo']));
$this->_tabla->addRow($row,
'align="left" bgcolor="#FFFFFF" colspan="'
. $colspan .'"');
$imagen = new MLIB_HTML_Image('/MLIB/images/general_linea2.gif',
str_repeat('.', 108), 'border="0" align="center"');
$this->_tabla->addRow(array ($imagen->toHtml()),
'align="center" colspan="'. $colspan .'"');
$tmp='';
$this->resultado[] = $this->_tabla;
if ($menu) {
$MENUVERTICAL = new HTML_Table ('width="760"');
$cuerpo = '';
if (is_array($body)) {
if ($this->_configuracion['espacios']) {
$cuerpo.= '
';
}
foreach ($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 {
$cuerpo = $body;
}
$MENUVERTICAL->addRow(array($menu, $cuerpo),
'valign="top"');
$MENUVERTICAL->updateColAttributes(0, 'width="10%"');
$this->resultado[] = $MENUVERTICAL;
}
else {
//Agrego si corresponde el espacio al inicio
if ($this->_configuracion['espacios']) {
$this->resultado[] = '
';
}
$this->resultado = array_merge($this->resultado, $body);
}
}
}
?>