X-Git-Url: https://git.llucax.com/mecon/meconlib.git/blobdiff_plain/cacc1525e7102dfef7964462a50e4ff13f02dcc6..ab276d0f5ae833dd3b9dc8d3a2c92877277984ec:/lib/MECON/Marco/Seccion.php diff --git a/lib/MECON/Marco/Seccion.php b/lib/MECON/Marco/Seccion.php index 86b20a9..0d6719a 100644 --- a/lib/MECON/Marco/Seccion.php +++ b/lib/MECON/Marco/Seccion.php @@ -1,51 +1,48 @@ - -// +----------------------------------------------------------------------+ -// -// $Id$ -// $Author$ -// $URL$ -// $Date$ -// $Rev$ -// + +------------------------------------------------------------------------------- +$Id$ +-----------------------------------------------------------------------------*/ // +X2C includes -require_once 'Marco/Pagina.php'; +require_once 'MECON/Marco/Pagina.php'; // ~X2C //Require Agregados por MMARRE, no pasan por el xmi2code -require_once 'ImagenAnimada.php'; -require_once 'Menu.php'; -require_once 'MenuHorizontal.php'; -require_once 'MenuVertical.php'; -require_once 'MenuOculto.php'; +require_once 'MECON/Marco/ImagenAnimada.php'; +require_once 'MECON/Marco/Menu.php'; +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 * + * @package MECON_Marco * @access public */ -class Seccion extends Pagina { +class MECON_Marco_Seccion extends MECON_Marco_Pagina { /** * Nombre de la seccion. * @@ -79,12 +76,12 @@ class Seccion extends Pagina { var $_tipoMenu; /** - * Lugar en donde esta el sistema. + * Array con la configuracion del sistema * - * @var string $directorio + * @var array $configuracion * @access private */ - var $_directorio; + var $_configuracion; /** * @var string $menuHtml @@ -99,42 +96,28 @@ class Seccion extends Pagina { * Constructor. Recibe como parametro el nombre de la seccion * * @param array $seccion Array con la informacion de la seccion - * @param string $directorio Dir en donde esta el sistema + * @param array $configuracion Array con la configuracion del sistema * * @return void * @access public - * @static */ - function Seccion($seccion, $directorio) // ~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); - - if (array_key_exists('tipoMenu',$seccion)) { - $this->_tipoMenu = $seccion['tipoMenu']; - } - if (!is_null($directorio)) { - $this->_directorio = $directorio; - } - if (array_key_exists('link',$seccion)) { - parent::Pagina($seccion['link']); + $this->_nombre = @strval($seccion['nombre']); + $imgComun = @strval($seccion['imagenComun']); + $imgMouseOn = @strval($seccion['imagenMouseOn']); + $imgSelect = @strval($seccion['imagenSelect']); + $this->_tipoMenu = @strval($seccion['tipoMenu']); + if (@$seccion['link']) { + parent::MECON_Marco_Pagina($seccion['link']); } - if (array_key_exists('hijos',$seccion)) { + $this->_imagen = new MECON_Marco_ImagenAnimada($imgComun, $imgMouseOn, $imgSelect, + $configuracion['directorios']['imagenes'], $this->_nombre, + $configuracion['directorios']['root'].'/'.$this->_link); + if (!is_null($configuracion)) { + $this->_configuracion = $configuracion; + } + if (array_key_exists('hijos', $seccion)) { $this->_cargarHijos($seccion['hijos']); } } @@ -151,25 +134,13 @@ class Seccion extends Pagina { */ function toHtml($link_sel) // ~X2C { - if (isset($_SESSION['deshabilitar_links']) && $_SESSION['deshabilitar_links']) { - $link_start = ''; - $link_end = ''; - $link_start2 = ''; + if (!$this->_configuracion['links']) { + $this->_imagen->setHabilitada(false); } - else { - $link_start = ''; - $link_start2 = '_nombre.'\',\'\',\''.$this->_imagen->_imgMouseOn.'\',1)>'; - $link_end = ''; - } - if ($this->verifSeccionSeleccionada($link_sel)) { - $sec = $link_start."_nombre."\" src=\"".$this->_imagen->_imgSelect."\" border=\"0\" alt=\"".$this->_imagen->_alt."\">".$link_end; - } - else { - $sec = $link_start2."_nombre."\" src=\"".$this->_imagen->_imgComun."\" border=\"0\" alt=\"".$this->_imagen->_alt."\">".$link_end; + $this->_imagen->setSeleccionada(true); } - - return $sec; + return $this->_imagen->toHtml(); } // -X2C @@ -185,13 +156,13 @@ class Seccion extends Pagina { function _cargarHijos($hijos) // ~X2C { if ($this->_tipoMenu == 'vertical'){ - $tmp = new MenuVertical($this->_directorio); + $tmp = new MECON_Marco_MenuVertical($this->_configuracion); } elseif ($this->_tipoMenu == 'horizontal') { - $tmp = new MenuHorizontal($this->_directorio); + $tmp = new MECON_Marco_MenuHorizontal($this->_configuracion); } else { - $tmp = new MenuOculto($this->_directorio); + $tmp = new MECON_Marco_MenuOculto($this->_configuracion); } foreach ($hijos as $hijo) { $tmp->agregarComponente($hijo); @@ -209,8 +180,9 @@ class Seccion extends Pagina { */ function _desSerializarArraySecciones() // ~X2C { - $tmp = PRE_DIR.$this->_directorio.POST_DIR.ARRAYSECCIONES_SERIALIZADO; - + $file_cache = strtr($this->_configuracion['directorios']['root'],'/','_'); + $tmp = $this->_configuracion['directorios_fs']['cache'].'/'.ARRAYSECCIONES_SERIALIZADO.'_'.$file_cache; + if (file_exists($tmp)) { $s = implode("", @file($tmp)); return unserialize($s); @@ -260,30 +232,30 @@ 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 = ''; } else { - $link_start = ''; + $link_start = ''; $link_end = ''; } $sec = array (); if ($this->verifSeccionSeleccionada($link_sel)) { if ($ultimo) { - $sec[] = $link_start.''.$link_end; + $sec[] = $link_start.''.$link_end; } else { - $sec[] = $link_start.''.$link_end; + $sec[] = $link_start.''.$link_end; } } else { if ($ultimo) { - $sec[] = $link_start.''.$link_end; + $sec[] = $link_start.''.$link_end; } else { - $sec[] = $link_start.''.$link_end; + $sec[] = $link_start.''.$link_end; } } @@ -292,6 +264,6 @@ Devuelve 1 si pertenece a la seccion, en caso contrario 0. } // -X2C -} // -X2C Class :Seccion +} // -X2C Class :MECON_Marco_Seccion ?> \ No newline at end of file