//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
/**
*/
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) // ~X2C
+ function Seccion($seccion, $directorio) // ~X2C
{
- $this->_nombre = $seccion['nombre'];
- $this->_imagen = new ImagenAnimada($seccion['imagenComun']);
- parent::Pagina($seccion['link']);
- $this->_cargarHijos($seccion['hijos']);
+ if (array_key_exists('nombre',$seccion)) {
+ $this->_nombre = $seccion['nombre'];
+ }
+ if (array_key_exists('imagenComun',$seccion)) {
+ $this->_imagen = new ImagenAnimada($seccion['imagenComun']);
+ }
+ 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']);
+ }
+ if (array_key_exists('hijos',$seccion)) {
+ $this->_cargarHijos($seccion['hijos']);
+ }
}
// -X2C
/**
* 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() // ~X2C
+ function toHtml($link_sel) // ~X2C
{
- $tmp = "<a href=\"".$this->_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)><img name=\"".$this->_nombre."\" src=\"images/".$this->_imagen->_imgComun."\" width=\"139\" height=\"54\" border=\"0\" alt=\"".$this->_imagen->_alt."\"></a>";
- return $tmp;
+ if ($this->verifSeccionSeleccionada($link_sel)) {
+ $sec = "<a href=\"".$this->_link."\"><img name=\"".$this->_nombre."\" src=\"images/".$this->_imagen->_imgSelect."\" border=\"0\" alt=\"".$this->_imagen->_alt."\"></a>";
+ }
+ else {
+ $sec = "<a href=\"".$this->_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)><img name=\"".$this->_nombre."\" src=\"images/".$this->_imagen->_imgComun."\" border=\"0\" alt=\"".$this->_imagen->_alt."\"></a>";
+ }
+
+ return $sec;
}
// -X2C
*/
function _cargarHijos($hijos) // ~X2C
{
- $this->_hijos = array ();
+ if ($this->_tipoMenu == 'vertical'){
+ $tmp = new MenuVertical($this->_directorio);
+ }
+ elseif ($this->_tipoMenu == 'horizontal') {
+ $tmp = new MenuHorizontal($this->_directorio);
+ }
+ else {
+ $tmp = new MenuOculto($this->_directorio);
+ }
foreach ($hijos as $hijo) {
- $tmp = new Menu (null, $hijo['nombre'],$hijo['link']);
- array_push($this->_hijos, $tmp);
+ $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();
+ $retorno = 0;
+ if (isset($tmp) && array_key_exists($this->_nombre,$tmp)) {
+ foreach ($tmp[$this->_nombre] as $t) {
+ if ($link_sel == $t) {
+ $retorno = 1;
+ }
+ }
+ }
+ return $retorno;
+ }
+ // -X2C
+
+
+
+ // +X2C Operation 202
+ /**
+ *
+ * @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
+ *
+ * @return string
+ *
+ * @access public
+ */
+ function toHtmlVertical($link_sel, $ultimo = false) // ~X2C
+ {
+ $style = "text-decoration:none";
+ $sec = array ();
+ if ($this->verifSeccionSeleccionada($link_sel)) {
+ if ($ultimo) {
+ $sec[] = '<a href="'.$this->_link.'"><img src="/www/images/carp2_f3" border="0"></a>';
+ }
+ else {
+ $sec[] = '<a href="'.$this->_link.'"><img src="/www/images/carp1_f3" border="0"></a>';
+ }
+ }
+ else {
+ if ($ultimo) {
+ $sec[] = '<a href="'.$this->_link.'"><img src="/www/images/carp2_f2" border="0"></a>';
+ }
+ else {
+ $sec[] = '<a href="'.$this->_link.'"><img src="/www/images/carp1_f2" border="0"></a>';
+ }
}
+
+ $sec[] = '<font face="Arial, Helvetica, sans-serif" size="1" color=""><b><a href="'.$this->_link.'" style="'.$style.'"> '.$this->_nombre.'</a></b></font>';
+ return $sec;
}
// -X2C
} // -X2C Class :Seccion
-?>
\ No newline at end of file
+?>