// +----------------------------------------------------------------------+ // // $Id$ // $Author$ // $URL$ // $Date$ // $Rev$ // #require_once 'PEAR.php'; // +X2C includes require_once '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'; // +X2C Class 16 :Seccion /** * Clase seccion para el manejo de las secciones * * @access public */ class Seccion extends Pagina { /** * Nombre de la seccion. * * @var string $nombre * * @access private */ var $_nombre; /** * Este es el nombre de la imagen * * @var Imagen $imagen * * @access private */ var $_imagen; /** * Hijos (menu) de la seccion. * * @var Menu $hijos * * @access private */ var $_hijos; /** * Valor string del tipo de menu de la seccion * * @var string $tipoMenu * * @access private */ var $_tipoMenu; /** * Lugar en donde esta el sistema. * * @var string $directorio * * @access private */ var $_directorio; /** * * @var string $menuHtml * * @access private */ var $_menuHtml; // ~X2C // +X2C Operation 63 /** * 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 * * @return void * * @access public * @static */ function Seccion($seccion, $directorio) // ~X2C { $this->_nombre = $seccion['nombre']; $this->_imagen = new ImagenAnimada($seccion['imagenComun']); $this->_tipoMenu = $seccion['tipoMenu']; $this->_directorio = $directorio; parent::Pagina($seccion['link']); if (array_key_exists('hijos',$seccion)) { $this->_cargarHijos($seccion['hijos']); } elseif (array_key_exists('subhijos',$seccion)) { $this->_cargarSubHijos($seccion['subhijos']); } } // -X2C // +X2C Operation 64 /** * Funcion que devuelve un string con el html a imprimir por pantalla. * * @param string $link_sel Indica la pagina a la cual se quiere acceder. * * @return string * * @access public */ function toHtml($link_sel) // ~X2C { if ($this->verifSeccionSeleccionada($link_sel)) { $sec = "_link."\">_nombre."\" src=\"images/".$this->_imagen->_imgSelect."\" border=\"0\" alt=\"".$this->_imagen->_alt."\">"; $titulo = ''.$this->_nombre.''; return $sec; } else { $sec = "_link."\" onMouseOut=\"MM_swapImgRestore()\" onMouseOver=\"MM_displayStatusMsg('".$this->_nombre."'); MM_swapImage('".$this->_nombre."','','images/".$this->_imagen->_imgMouseOn."',1); return document.MM_returnValue\" MM_swapImage('".$this->_nombre."','','images/".$this->_imagen->_imgMouseOn."',1)>_nombre."\" src=\"images/".$this->_imagen->_imgComun."\" border=\"0\" alt=\"".$this->_imagen->_alt."\">"; return $sec; } return $tmp; } // -X2C // +X2C Operation 84 /** * Carga el array con los objetos hijos de la seccion * * @param array $hijos Array con los datos de los hijos de la seccion * * @return void * * @access private */ function _cargarHijos($hijos) // ~X2C { if ($this->_tipoMenu == 'vertical'){ $tmp = new MenuVertical(null); } elseif ($this->_tipoMenu == 'horizontal') { $tmp = new MenuHorizontal(null); } else { $tmp = new MenuOculto(null); } foreach ($hijos as $hijo) { $tmp->agregarComponente($hijo); } $this->_hijos = $tmp; } // -X2C // +X2C Operation 127 /** * Funcion que se encarga de desserializar el array asociativo paginas-secciones. * * @return void * * @access private */ function _desSerializarArraySecciones() // ~X2C { $tmp = PRE_DIR.$this->_directorio.POST_DIR.ARRAYSECCIONES_SERIALIZADO; $s = implode("", @file($tmp)); return unserialize($s); } // -X2C // +X2C Operation 129 /** * Funcion que se encarga de verificar si la pagina a la cual se quiere acceder pertenece a la seccion que estoy dibujando. Se utiliza como agregado en toHtml. Devuelve 1 si pertenece a la seccion, en caso contrario 0. * * @param string $link_sel Nombre de la pagina a la cual se quiere acceder. * * @return int * * @access public */ function verifSeccionSeleccionada($link_sel) // ~X2C { $tmp = $this->_desSerializarArraySecciones(); if (isset($tmp) && array_key_exists($link_sel,$tmp) && ($tmp[$link_sel] == $this->_nombre || (array_key_exists($tmp[$link_sel],$tmp) && $this->_nombre == $tmp[$tmp[$link_sel]]))) { return 1; } return 0; } // -X2C // +X2C Operation 150 /** * Carga el array con los objetos subhijos de la seccion * * @param array $subhijos Array con los nombres de los links que componen a este hijo * * @return void * * @access private */ function _cargarSubHijos($subhijos) // ~X2C { echo 'LLegue aca estos en _cargarSubHijos Seccion.php'; } // -X2C } // -X2C Class :Seccion ?>