-<?php
-// vim: set expandtab tabstop=4 softtabstop=4 shiftwidth=4:
-// +----------------------------------------------------------------------+
-// | PHP Version 4 |
-// +----------------------------------------------------------------------+
-// | Copyright (c) 1997-2003 The PHP Group |
-// +----------------------------------------------------------------------+
-// | This source file is subject to version 2.02 of the PHP license, |
-// | that is bundled with this package in the file LICENSE, and is |
-// | available at through the world-wide-web at |
-// | http://www.php.net/license/2_02.txt. |
-// | If you did not receive a copy of the PHP license and are unable to |
-// | obtain it through the world-wide-web, please send a note to |
-// | license@php.net so we can mail you a copy immediately. |
-// +----------------------------------------------------------------------+
-// | Created: Mon Apr 14 16:23:22 2003
-// | Author: Martin Marrese <mmarre@mecon.gov.ar>
-// +----------------------------------------------------------------------+
-//
-// $Id$
-// $Author$
-// $URL$
-// $Date$
-// $Rev$
-//
+<?php /* vim: set binary expandtab tabstop=4 shiftwidth=4 textwidth=80:
+-------------------------------------------------------------------------------
+ Ministerio de EconomÃa
+ meconlib
+-------------------------------------------------------------------------------
+This file is part of meconlib.
-#require_once 'PEAR.php';
+meconlib is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free
+Software Foundation; either version 2 of the License, or (at your option)
+any later version.
+meconlib is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License; if not,
+write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+Boston, MA 02111-1307 USA
+-------------------------------------------------------------------------------
+Creado: Mon Apr 14 16:23:22 2003
+Autor: Martin Marrese <mmarre@mecon.gov.ar>
+-------------------------------------------------------------------------------
+$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';
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
+ * Clase para el manejo de las secciones
*
* @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
* @var string $tipoMenu
* @access private
*/
- var $_tipoMenu;
+ var $_tipoMenu = '';
/**
* Array con la configuracion del sistema
* @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 = '';
- // ~X2C
+ /**
+ * Nombre del archivo pagina.
+ *
+ * @var string $link
+ * @access private
+ */
+ var $_link = '';
- // +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)
{
- 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(strtolower($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']);
}
}
- // -X2C
- // +X2C Operation 64
/**
* Funcion que devuelve un string con el html a imprimir por pantalla.
*
* @return string
* @access public
*/
- function toHtml($link_sel) // ~X2C
+ function toHtml($link_sel)
{
- if (isset($_SESSION['deshabilitar_links']) && $_SESSION['deshabilitar_links']) {
- $link_start = '';
- $link_end = '';
- $link_start2 = '';
- }
- else {
- $link_start = '<a href="'.$this->_link.'">';
- $link_start2 = '<a href="'.$this->_link.'" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_displayStatusMsg(\''.$this->_nombre.'\'); MM_swapImage(\''.$this->_nombre.'\',\'\',\''.$this->_imagen->_imgMouseOn.'\',1); return document.MM_returnValue" MM_swapImage(\''.$this->_nombre.'\',\'\',\''.$this->_imagen->_imgMouseOn.'\',1)>';
- $link_end = '</a>';
+ if (!$this->_configuracion['links']) {
+ $this->_imagen->setHabilitada(false);
}
-
if ($this->verifSeccionSeleccionada($link_sel)) {
- $sec = $link_start."<img name=\"".$this->_nombre."\" src=\"".$this->_imagen->_imgSelect."\" border=\"0\" alt=\"".$this->_imagen->_alt."\">".$link_end;
- }
- else {
- $sec = $link_start2."<img name=\"".$this->_nombre."\" src=\"".$this->_imagen->_imgComun."\" border=\"0\" alt=\"".$this->_imagen->_alt."\">".$link_end;
+ $this->_imagen->setSeleccionada(true);
}
-
- return $sec;
+ return $this->_imagen->toHtml();
}
- // -X2C
- // +X2C Operation 84
/**
* Carga el array con los objetos hijos de la seccion
*
* @return void
* @access private
*/
- function _cargarHijos($hijos) // ~X2C
+ function _cargarHijos($hijos)
{
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;
}
- // -X2C
- // +X2C Operation 127
/**
* Funcion que se encarga de desserializar el array asociativo paginas-secciones.
*
* @return void
* @access private
*/
- function _desSerializarArraySecciones() // ~X2C
+ function _desSerializarArraySecciones()
{
$file_cache = strtr($this->_configuracion['directorios']['root'],'/','_');
$tmp = $this->_configuracion['directorios_fs']['cache'].'/'.ARRAYSECCIONES_SERIALIZADO.'_'.$file_cache;
return null;
}
}
- // -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.
+ * 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
+ function verifSeccionSeleccionada($link_sel)
{
$tmp = $this->_desSerializarArraySecciones();
$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;
}
}
}
return $retorno;
}
- // -X2C
-
-
-
- // +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
*
* @return string
* @access public
*/
- function toHtmlVertical($link_sel, $ultimo = false) // ~X2C
+ function toHtmlVertical($link_sel, $ultimo = false)
{
$style = "text-decoration:none";
- if (isset($_SESSION['deshabilitar_links']) && $_SESSION['deshabilitar_links']) {
+ if (!$this->_configuracion['links']) {
$link_start = '';
$link_end = '';
}
else {
- $link_start = '<a href="'.$this->_link.'" style="'.$style.'">';
+ $link_start = '<a href="'.$this->_configuracion['directorios']['root'].'/'.$this->_link.'" style="'.$style.'">';
$link_end = '</a>';
}
$sec = array ();
if ($this->verifSeccionSeleccionada($link_sel)) {
- if ($ultimo) {
- $sec[] = $link_start.'<img src="/MECON/images/general_carp2_f3" border="0">'.$link_end;
- }
- else {
- $sec[] = $link_start.'<img src="/MECON/images/general_carp1_f3" border="0">'.$link_end;
- }
+ $sec[] = $link_start.'<img src="/MECON/images/general_carpeta_f3" border="0">'.$link_end;
}
else {
- if ($ultimo) {
- $sec[] = $link_start.'<img src="/MECON/images/general_carp2_f2" border="0">'.$link_end;
- }
- else {
- $sec[] = $link_start.'<img src="/MECON/images/general_carp1_f2" border="0">'.$link_end;
- }
+ $sec[] = $link_start.'<img src="/MECON/images/general_carpeta" border="0">'.$link_end;
}
- $sec[] = '<font face="Arial, Helvetica, sans-serif" size="1" color=""><b>'.$link_start.' '.$this->_nombre.$link_end.'</b></font>';
+ $nombre = strstr($this->_nombre, '-');
+ $nombre = substr($nombre, 1);
+ $sec[] = '<font face="Arial, Helvetica, sans-serif" size="1"><p>'.$nombre.'</p></font>';
return $sec;
}
- // -X2C
-
-} // -X2C Class :Seccion
-
-?>
+}
+?>
\ No newline at end of file