X-Git-Url: https://git.llucax.com/mecon/meconlib.git/blobdiff_plain/ab1678628fb5996d9aeb50f0ab67743b30317f38..da6c25deda9c9c9e20124b90be71eb3dca42fa2e:/lib/MECON/Marco/Seccion.php diff --git a/lib/MECON/Marco/Seccion.php b/lib/MECON/Marco/Seccion.php index 375c378..0b38c27 100644 --- a/lib/MECON/Marco/Seccion.php +++ b/lib/MECON/Marco/Seccion.php @@ -1,35 +1,29 @@ - -// +----------------------------------------------------------------------+ -// -// $Id$ -// $Author$ -// $URL$ -// $Date$ -// $Rev$ -// + +------------------------------------------------------------------------------- +$Id$ +-----------------------------------------------------------------------------*/ -// +X2C includes -require_once 'MECON/Marco/Pagina.php'; -// ~X2C //Require Agregados por MMARRE, no pasan por el xmi2code require_once 'MECON/Marco/ImagenAnimada.php'; @@ -38,21 +32,21 @@ require_once 'MECON/Marco/MenuHorizontal.php'; require_once 'MECON/Marco/MenuVertical.php'; require_once 'MECON/Marco/MenuOculto.php'; - -// +X2C Class 16 :Seccion +// +X2C Class 16 :MECON_Marco_Seccion /** - * Clase seccion para el manejo de las secciones + * Clase para el manejo de las secciones * + * @package MECON_Marco * @access public */ -class Seccion extends Pagina { +class MECON_Marco_Seccion { /** * Nombre de la seccion. * * @var string $nombre * @access private */ - var $_nombre; + var $_nombre = ''; /** * Este es el nombre de la imagen @@ -76,7 +70,7 @@ class Seccion extends Pagina { * @var string $tipoMenu * @access private */ - var $_tipoMenu; + var $_tipoMenu = ''; /** * Array con la configuracion del sistema @@ -84,55 +78,56 @@ class Seccion extends Pagina { * @var array $configuracion * @access private */ - var $_configuracion; + var $_configuracion = array(); /** + * Contiene el html del menu de la seccion + * * @var string $menuHtml * @access private */ - var $_menuHtml; + var $_menuHtml = ''; + + /** + * Nombre del archivo pagina. + * + * @var string $link + * @access private + */ + var $_link = ''; // ~X2C // +X2C Operation 63 /** - * Constructor. Recibe como parametro el nombre de la seccion + * Recibe como parametro el nombre de la seccion * * @param array $seccion Array con la informacion de la seccion * @param array $configuracion Array con la configuracion del sistema * * @return void * @access public - * @static */ - function Seccion($seccion, $configuracion) // ~X2C + function MECON_Marco_Seccion($seccion, $configuracion) // ~X2C { - if (array_key_exists('nombre',$seccion)) { - $this->_nombre = $seccion['nombre']; - } - if (array_key_exists('imagenComun', $seccion)) - $imgComun = $seccion['imagenComun']; - else - unset($imgComun); - if (array_key_exists('imagenMouseOn', $seccion)) - $imgMouseOn = $seccion['imagenMouseOn']; - else - unset($imgMouseOn); - if (array_key_exists('imagenSelect', $seccion)) - $imgSelect = $seccion['imagenSelect']; - else - unset($imgSelect); - $this->_imagen = new ImagenAnimada($imgComun, $imgMouseOn, $imgSelect, $configuracion['directorios']['imagenes']); + $this->_nombre = @strval($seccion['nombre']); + $imgComun = @strval($seccion['imagenComun']); + $imgMouseOn = @strval($seccion['imagenMouseOn']); + $imgSelect = @strval($seccion['imagenSelect']); + $this->_tipoMenu = @strval($seccion['tipoMenu']); + $this->_link = @strval($seccion['link']); - if (array_key_exists('tipoMenu', $seccion)) { - $this->_tipoMenu = $seccion['tipoMenu']; - } + $this->_imagen = new MECON_Marco_ImagenAnimada( $imgComun, + $imgMouseOn, + $imgSelect, + $configuracion['directorios']['imagenes'], + $this->_nombre, + $configuracion['directorios']['root'].'/'. + $this->_link, + @strval($seccion['alt'])); if (!is_null($configuracion)) { $this->_configuracion = $configuracion; } - if (array_key_exists('link', $seccion)) { - parent::Pagina($seccion['link']); - } if (array_key_exists('hijos', $seccion)) { $this->_cargarHijos($seccion['hijos']); } @@ -150,25 +145,13 @@ class Seccion extends Pagina { */ function toHtml($link_sel) // ~X2C { - if (isset($_SESSION['deshabilitar_links']) && $_SESSION['deshabilitar_links']) { - $link_start = ''; - $link_end = ''; - $link_start2 = ''; - } - else { - $link_start = ''; - $link_start2 = '_nombre.'\',\'\',\''.$this->_imagen->_imgMouseOn.'\',1)>'; - $link_end = ''; + if (!$this->_configuracion['links']) { + $this->_imagen->setHabilitada(false); } - if ($this->verifSeccionSeleccionada($link_sel)) { - $sec = $link_start."_nombre."\" src=\"".$this->_imagen->_imgSelect."\" border=\"0\" alt=\"".$this->_nombre."\">".$link_end; - } - else { - $sec = $link_start2."_nombre."\" src=\"".$this->_imagen->_imgComun."\" border=\"0\" alt=\"".$this->_nombre."\">".$link_end; + $this->_imagen->setSeleccionada(true); } - - return $sec; + return $this->_imagen->toHtml(); } // -X2C @@ -184,15 +167,17 @@ class Seccion extends Pagina { function _cargarHijos($hijos) // ~X2C { if ($this->_tipoMenu == 'vertical'){ - $tmp = new MenuVertical($this->_configuracion); + $tmp = new MECON_Marco_MenuVertical($this->_configuracion); } elseif ($this->_tipoMenu == 'horizontal') { - $tmp = new MenuHorizontal($this->_configuracion); + $tmp = new MECON_Marco_MenuHorizontal($this->_configuracion); } else { - $tmp = new MenuOculto($this->_configuracion); + $tmp = new MECON_Marco_MenuOculto($this->_configuracion); } foreach ($hijos as $hijo) { + $hijo['alt'] = @$hijo['alt'] ? $hijo['alt'] : $hijo['nombre']; + $hijo['nombre'] = $this->_nombre.'-'.$hijo['nombre']; $tmp->agregarComponente($hijo); } $this->_hijos = $tmp; @@ -237,7 +222,7 @@ Devuelve 1 si pertenece a la seccion, en caso contrario 0. $retorno = 0; if (isset($tmp) && array_key_exists($this->_nombre,$tmp)) { foreach ($tmp[$this->_nombre] as $t) { - if ($link_sel == $t) { + if (rtrim($link_sel, '/') == rtrim($t, '/')) { $retorno = 1; } } @@ -250,6 +235,8 @@ Devuelve 1 si pertenece a la seccion, en caso contrario 0. // +X2C Operation 202 /** + * Devuelve el html a mostrar en pantalla + * * @param string $link_sel Nombre de la seccion seleccionada * @param bool $ultimo Indica si es el ultimo componente del menu.....en caso de serlo, debe mostrar la imagen con codito * @@ -260,7 +247,7 @@ Devuelve 1 si pertenece a la seccion, en caso contrario 0. { $style = "text-decoration:none"; - if (isset($_SESSION['deshabilitar_links']) && $_SESSION['deshabilitar_links']) { + if (!$this->_configuracion['links']) { $link_start = ''; $link_end = ''; } @@ -271,27 +258,19 @@ Devuelve 1 si pertenece a la seccion, en caso contrario 0. $sec = array (); if ($this->verifSeccionSeleccionada($link_sel)) { - if ($ultimo) { - $sec[] = $link_start.''.$link_end; - } - else { - $sec[] = $link_start.''.$link_end; - } + $sec[] = $link_start.''.$link_end; } else { - if ($ultimo) { - $sec[] = $link_start.''.$link_end; - } - else { - $sec[] = $link_start.''.$link_end; - } + $sec[] = $link_start.''.$link_end; } - $sec[] = ''.$link_start.'  '.$this->_nombre.$link_end.''; + $nombre = strstr($this->_nombre, '-'); + $nombre = substr($nombre, 1); + $sec[] = '

  '.$nombre.'

'; return $sec; } // -X2C -} // -X2C Class :Seccion +} // -X2C Class :MECON_Marco_Seccion -?> +?> \ No newline at end of file