]> git.llucax.com Git - mecon/meconlib.git/blobdiff - lib/MECON/Marco/Seccion.php
BugFix. No podia haber dos subsecciones con el mismo nombre. A partir de ahora si.
[mecon/meconlib.git] / lib / MECON / Marco / Seccion.php
index 8b2a88edaff2e86fb45e9d90be10fe94c3bfaa91..46f75e1e03aecb478e009319525ccc11f4d117db 100644 (file)
@@ -24,9 +24,6 @@ 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';
@@ -35,21 +32,21 @@ 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
+ * Clase para el manejo de las secciones
  *
  * @package MECON_Marco
  * @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
@@ -73,7 +70,7 @@ class Seccion extends Pagina {
      * @var    string $tipoMenu
      * @access private
      */
-    var $_tipoMenu;
+    var $_tipoMenu = '';
 
     /**
      * Array con la configuracion del sistema
@@ -81,40 +78,51 @@ class Seccion extends Pagina {
      * @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 = '';
+
+    /**
+     * Nombre del archivo pagina.
+     *
+     * @var    string $link
+     * @access private
+     */
+    var $_link = '';
 
     // ~X2C
 
     // +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) // ~X2C
     {
         $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']);
-        }        
-        $this->_imagen = new ImagenAnimada($imgComun, $imgMouseOn, $imgSelect,
-            $configuracion['directorios']['imagenes'], $this->_nombre,
-            $configuracion['directorios']['root'].'/'.$this->_link);
+        $this->_link     = @strval($seccion['link']);
+        $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;
         }
@@ -135,7 +143,7 @@ class Seccion extends Pagina {
      */
     function toHtml($link_sel) // ~X2C
     {
-        if (isset($_SESSION['deshabilitar_links']) && $_SESSION['deshabilitar_links']) {
+        if (!$this->_configuracion['links']) {
             $this->_imagen->setHabilitada(false);
         }
         if ($this->verifSeccionSeleccionada($link_sel)) {
@@ -157,15 +165,16 @@ class Seccion extends Pagina {
     function _cargarHijos($hijos) // ~X2C
     {
         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['nombre'] = $this->_nombre.'-'.$hijo['nombre'];
             $tmp->agregarComponente($hijo);
         }
         $this->_hijos = $tmp;
@@ -223,6 +232,8 @@ Devuelve 1 si pertenece a la seccion, en caso contrario 0.
 
     // +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
      *
@@ -233,7 +244,7 @@ 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   = '';
         }
@@ -265,6 +276,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