X-Git-Url: https://git.llucax.com/mecon/meconlib.git/blobdiff_plain/cacc1525e7102dfef7964462a50e4ff13f02dcc6..24fd3e0f15c00f9048fc2b5ad2be287f50eb2824:/lib/MECON/Marco/Seccion.php
diff --git a/lib/MECON/Marco/Seccion.php b/lib/MECON/Marco/Seccion.php
index 86b20a9..8b2a88e 100644
--- a/lib/MECON/Marco/Seccion.php
+++ b/lib/MECON/Marco/Seccion.php
@@ -1,48 +1,45 @@
-
-// +----------------------------------------------------------------------+
-//
-// $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
/**
* Clase seccion para el manejo de las secciones
*
+ * @package MECON_Marco
* @access public
*/
class Seccion extends Pagina {
@@ -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,29 @@ 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 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)) {
+ $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::Pagina($seccion['link']);
}
- if (array_key_exists('hijos',$seccion)) {
+ $this->_imagen = new 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']);
}
}
@@ -152,24 +136,12 @@ class Seccion extends Pagina {
function toHtml($link_sel) // ~X2C
{
if (isset($_SESSION['deshabilitar_links']) && $_SESSION['deshabilitar_links']) {
- $link_start = '';
- $link_end = '';
- $link_start2 = '';
+ $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 +157,13 @@ class Seccion extends Pagina {
function _cargarHijos($hijos) // ~X2C
{
if ($this->_tipoMenu == 'vertical'){
- $tmp = new MenuVertical($this->_directorio);
+ $tmp = new MenuVertical($this->_configuracion);
}
elseif ($this->_tipoMenu == 'horizontal') {
- $tmp = new MenuHorizontal($this->_directorio);
+ $tmp = new MenuHorizontal($this->_configuracion);
}
else {
- $tmp = new MenuOculto($this->_directorio);
+ $tmp = new MenuOculto($this->_configuracion);
}
foreach ($hijos as $hijo) {
$tmp->agregarComponente($hijo);
@@ -209,8 +181,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);
@@ -265,25 +238,25 @@ Devuelve 1 si pertenece a la seccion, en caso contrario 0.
$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;
}
}