]> git.llucax.com Git - mecon/meconlib.git/blobdiff - lib/MECON/Marco.php
Se agrego funcionalidad a addMenuVertical. Si es un objeto verifica si existe un...
[mecon/meconlib.git] / lib / MECON / Marco.php
index 471f6cb68c8db7a4d72679832901b039fba6ac6f..85cd4bbac0bbe96385dadecbd4bad26952425fd1 100644 (file)
@@ -26,7 +26,6 @@ $Id$
 
 require_once 'PEAR.php';
 require_once 'MECON/Marco/Copete.php';
-require_once 'MECON/Marco/Titulo.php';
 require_once 'MECON/Marco/Menu.php';
 require_once 'MECON/Marco/MenuPrincipal.php';
 
@@ -35,23 +34,22 @@ require_once 'HTML/Page.php';
 require_once 'HTML/Table.php';
 
 //Defino los directorios por default
-define ('DIR_IMAGENES' , 'images');
-define ('DIR_ESTILOS'  , 'css');
-define ('DIR_JS'       , 'js');
-define ('DIR_WWW'      , 'www');
-define ('DIR_CACHE'    , '/tmp');
+define ('DIR_IMAGENES', 'images');
+define ('DIR_ESTILOS' , 'css'   );
+define ('DIR_JS'      , 'js'    );
+define ('DIR_WWW'     , 'www'   );
+define ('DIR_CACHE'   , '/tmp'  );
 //
 //Defino las constantes
-define ('SCRIPT_DIR_BASE'  , '/MECON/js/');
-define ('ESTILO_DIR_BASE'  , '/MECON/css/');
-define ('SCRIPT_GENERICO'  , 'general_script.js');
-define ('ESTILO_GENERICO'  , 'general_estilos.css');
+define ('SCRIPT_DIR_BASE', '/MECON/js/'         );
+define ('ESTILO_DIR_BASE', '/MECON/css/'        );
+define ('SCRIPT_GENERICO', 'general_script.js'  );
+define ('ESTILO_GENERICO', 'general_estilos.css');
 //
 
 // +X2C Class 3 :MECON_Marco
 /**
- * Clase que se encarga del manejo del marco en general en los sistemas de intranet.
-Trabaja de forma general, llamando a los demas objetos para la realizacion del marco.
+ * Clase encargada del manejo del Marco de los sistemas.
  *
  * @package MECON
  * @access public
@@ -66,7 +64,7 @@ class MECON_Marco extends HTML_Page {
     var $_configuracion;
 
     /**
-     * Indica si hay que agregar espacios o no entre los componentes del menu de secciones y el contenido de la pagina, asi como entre la pagina y el pie de pagina
+     * Mantiene el estado de los espacios
      *
      * @var    bool $espacios
      * @access private
@@ -82,7 +80,7 @@ class MECON_Marco extends HTML_Page {
     var $_menuVertical = null;
 
     /**
-     * Mantiene el estado de los links en la pagina
+     * Mantiene el estado de los links en la pagina. (True habilitados, False no)
      *
      * @var    bool $links
      * @access private
@@ -95,12 +93,13 @@ class MECON_Marco extends HTML_Page {
     /**
      * Constructor. Recibe como parametro el path del archivo de configuracion
      *
-     * @param  string $arch_configuracion Nombre del directorio en donde se encuentra el sistema.
+     * @param  string $arch_configuracion indicacion de la ubicacion y nombre del archivo de configuracion
+     * @param  MECON_Perm $obj_permiso Objeto Permisos
      *
      * @return void
      * @access public
      */
-    function MECON_Marco($arch_configuracion) // ~X2C
+    function MECON_Marco($arch_configuracion, $obj_permiso = null) // ~X2C
     {
         //Creo el objeto pagina
         parent::HTML_Page(array ('doctype'  => 'HTML 4.01 Transitional',
@@ -111,6 +110,10 @@ class MECON_Marco extends HTML_Page {
                                  'simple'   => 'true'                  ));
         //Obtengo y arreglo la configuracion
         $this->_obtenerConfiguracion($arch_configuracion);
+        //Agrego el objeto permiso a la configuracion
+        if (@$obj_permiso) {
+            $this->_configuracion['obj_permiso'] = $obj_permiso;    
+        }
         //Agrego el estilo y el script genericos
         $this->addScript(SCRIPT_DIR_BASE.SCRIPT_GENERICO);
         $this->addStyleSheet(ESTILO_DIR_BASE.ESTILO_GENERICO);
@@ -121,7 +124,7 @@ class MECON_Marco extends HTML_Page {
 
     // +X2C Operation 32
     /**
-     * Funcion que se encarga de la obtencion y generacion del array de configuracion.Recibe como parametro el directorio en donde se encuentra el sistema.
+     * Funcion que se encarga de la obtencion y generacion del array de configuracion. Recibe como parametro el path del archivo de configuracion
      *
      * @param  string $archivo Archivo de configuracion del sistema
      *
@@ -156,7 +159,7 @@ class MECON_Marco extends HTML_Page {
 
     // +X2C Operation 97
     /**
-     * Redefinicion de la funcion que permite agregar o adosar elementos o string al body de la pagina
+     * Redefinicion de la funcion que permite agregar objetos o html al body de la pagina
 Si es un objeto debe tener un metodo toHtml y opcionalmente puede tener un getCSS.
      *
      * @param  Mixed $body Mixed. Recibe el contenido a agregar como body de la pagina
@@ -175,9 +178,9 @@ Si es un objeto debe tener un metodo toHtml y opcionalmente puede tener un getCS
 
     // +X2C Operation 124
     /**
-     * Funcion que permite adosar al titulo del sistema el titulo de la pagina.
+     * Funcion que permite concatenar lo pasado como parametro al titulo del sistema
      *
-     * @param  string $titulo Titulo de la pagina.
+     * @param  string $titulo String que se quiere agregar al titulo del sistema
      *
      * @return void
      * @access public
@@ -190,7 +193,7 @@ Si es un objeto debe tener un metodo toHtml y opcionalmente puede tener un getCS
 
     // +X2C Operation 207
     /**
-     * Setea los espacios entre el menu principal el body y el pie de las paginas
+     * Setea la variable que define si hay que separar el body del menu
      *
      * @param  bool $espacios Si es verdadero agrega los espacios, sino los elimina
      *
@@ -205,7 +208,7 @@ Si es un objeto debe tener un metodo toHtml y opcionalmente puede tener un getCS
 
     // +X2C Operation 214
     /**
-     * Agrega un menu vertical a la izquierda en la pantalla. Por ahora solo funciona con MenuOculto
+     * Agrega un menu vertical a la izquierda en la pantalla.
      *
      * @param  mixed $menuVertical Objeto u Html que representa el menu a mostrar.
      *
@@ -214,13 +217,16 @@ Si es un objeto debe tener un metodo toHtml y opcionalmente puede tener un getCS
      */
     function addMenuVertical($menuVertical) // ~X2C
     {
+        if ((is_object($menuVertical)) && (method_exists($menuVertical, 'getcss'))) {
+            $this->addStyleSheet($menuVertical->getCSS());
+        }
         $this->_menuVertical = $menuVertical;
     }
     // -X2C
 
     // +X2C Operation 218
     /**
-     * Permite deshabilitar la totalidad de los links desde una pagina
+     * Permite habilitar o deshabilitar los links de una pagina (todos)
      *
      * @param  bool $param True habilita los links, False no.
      *
@@ -243,14 +249,14 @@ Si es un objeto debe tener un metodo toHtml y opcionalmente puede tener un getCS
     function toHTML() // ~X2C
     {
         //Agrego la opcion seleccionada de links a la configuracion 
-        $this->_configuracion['links'] = $this->_links;
+        $this->_configuracion['links']    = $this->_links;
+        //Agrego la opcion seleccionada de espacios a la configuracion 
+        $this->_configuracion['espacios'] = $this->_espacios;
         //Creo el menu principal
         $menu = new MECON_Marco_MenuPrincipal ($this->_configuracion);
         //Agrego el contenido de la pagina
-        $body = array ( 'body'         => $this->_body        , //Page
-                        'espacios'     => $this->_espacios    ,
-                        'menuVertical' => $this->_menuVertical,
-                      );
+        $body = array ( 'body' => $this->_body, 'menuVertical' => $this->_menuVertical);
+                                  //Page
         //Agrego el contenido al menu
         $menu->addBody($body);       
         //Agrego el Marco completo a Page