]> git.llucax.com Git - mecon/meconlib.git/blobdiff - marco/php/marco/Menu.php
- Casi terminado el manejo de secciones. Faltan los menues verticales y horizontales
[mecon/meconlib.git] / marco / php / marco / Menu.php
index a87fc70a3e7a49b6ea6be900fd5b704964771a2a..a85c7126bf663e1acf0f6e309cf331c28ee21039 100644 (file)
@@ -25,6 +25,8 @@
 //
 
 require_once 'Seccion.php';
+define ('PRE_DIR' ,'/var/www/intranet/www/sistemas/');
+define ('POST_DIR','/conf/MenuSerializado');
 
 // +X2C Class 14 :Menu
 /**
@@ -86,15 +88,25 @@ class Menu {
     function Menu($directorio = null, $nombre = null, $link = null) // ~X2C
     {
         if (!is_null($directorio)) {
-            $this->_directorio = $directorio;
-            $this->_armarArraySecciones($this->_obtenerConfSecciones());
+     //       if (file_exists(PRE_DIR.$directorio.POST_DIR)) {
+                //ESTA SERIALIZADO EL OBJETO
+     //           $this = $this->_obtenerArchivo($directorio); 
+     //       }
+     //       else {
+                //NO ESTA SERIALIZADO EL OBJETO
+                $this->_directorio = $directorio;
+                $this->_armarArraySecciones($this->_obtenerConfSecciones());                
+                $this->_generarArchivo();
+      //      }
         }
-        
-        if (!is_null($nombre)) {
-            $this->_nombre = $nombre;
-        }
-        if (!is_null($link)) {
-            $this->_link = $link;
+        else {
+            if (!is_null($nombre)) {
+                $this->_nombre = $nombre;
+            }
+            if (!is_null($link)) {
+                $this->_link = $link;
+            }
         }
     }
     // -X2C
@@ -109,7 +121,10 @@ class Menu {
      */
     function _generarArchivo() // ~X2C
     {
-        trigger_error('Not implemented!', E_USER_WARNING);
+        $s = serialize($this);
+        $fp = fopen(PRE_DIR.$this->_directorio.POST_DIR,'w');
+        fputs($fp, $s);
+        fclose($fp);
     }
     // -X2C
 
@@ -117,13 +132,16 @@ class Menu {
     /**
      * Funcion que se encarga de obtener el archivo con los datos del objeto para ser utilizado con la funcion EVAL.
      *
+     * @param  string $directorio Nombre del directorio en donde se encuentra el sistema instalado
+     *
      * @return string
      *
      * @access private
      */
-    function _obtenerArchivo() // ~X2C
+    function _obtenerArchivo($directorio) // ~X2C
     {
-        trigger_error('Not implemented!', E_USER_WARNING);
+        $s = implode("", @file(PRE_DIR.$directorio.POST_DIR));
+        return unserialize($s);
     }
     // -X2C
 
@@ -151,8 +169,8 @@ class Menu {
      */
     function _obtenerConfSecciones() // ~X2C
     {
-        $tmp = include 'confSecciones.php';
-        return $tmp;
+        $archivo = include 'confSecciones.php';
+        return $archivo;
     }
     // -X2C
 
@@ -176,6 +194,42 @@ class Menu {
     }
     // -X2C
 
+    // +X2C Operation 87
+    /**
+     * Funcion que devuelve un string en html de las secciones con lo que hay que imprimir en pantalla.
+     *
+     * @return string
+     *
+     * @access public
+     */
+    function toHtmlSecciones() // ~X2C
+    {
+        $row = array();
+        foreach ($this->_secciones as $sec) {
+            array_push($row,$sec->toHtml());
+        }
+        $TABLA = new Tabla('width="100%" align="center" bgcolor="#CCCCCC"');
+        $TABLA->agregarFila($row);
+        $TABLA->align(0,0,"center");        
+        $TABLA->setCellBgcolor(0,0,'#CCCCCC');
+        return $TABLA->toHtml(1);
+    }
+    // -X2C
+
+    // +X2C Operation 88
+    /**
+     * Funcion que devuelve un string en html del menu vertical con lo que hay que imprimir en pantalla.
+     *
+     * @return string
+     *
+     * @access public
+     */
+    function toHtmlMenuVertical() // ~X2C
+    {
+        trigger_error('Not implemented!', E_USER_WARNING);
+    }
+    // -X2C
+
 } // -X2C Class :Menu
 
-?>
\ No newline at end of file
+?>