]> git.llucax.com Git - mecon/meconlib.git/blobdiff - lib/MECON/Marco.php
Se acomodan los estilos de MECON_HTML_Page y MECON_HTML_Marco. Es mi despedida tempor...
[mecon/meconlib.git] / lib / MECON / Marco.php
index 0852c564cb10871f39e2abae3bd2a2cf35406fbb..6adc1810661635608a8b70087d704dcef89352f9 100644 (file)
@@ -30,7 +30,7 @@ require_once 'MECON/Marco/Menu.php';
 require_once 'MECON/Marco/MenuPrincipal.php';
 
 //Agregado para el uso de HTML_Page (Uso la version Original de Pear)
-require_once 'HTML/Page.php';
+require_once 'MECON/HTML/Page.php';
 require_once 'HTML/Table.php';
 
 //Defino los directorios por default
@@ -39,22 +39,19 @@ 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', 'marco.js'   );
+define ('ESTILO_GENERICO', 'marco.css'  );
 
-// +X2C Class 3 :MECON_Marco
 /**
  * Clase encargada del manejo del Marco de los sistemas.
  *
- * @package MECON
  * @access public
  */
-class MECON_Marco extends HTML_Page {
+class MECON_Marco extends MECON_HTML_Page {
     /**
      * Array con los datos de configuracion del sistema.
      *
@@ -87,9 +84,6 @@ class MECON_Marco extends HTML_Page {
      */
     var $_links = true;
 
-    // ~X2C
-
-    // +X2C Operation 26
     /**
      * Constructor. Recibe como parametro el path del archivo de configuracion
      *
@@ -99,15 +93,10 @@ class MECON_Marco extends HTML_Page {
      * @return void
      * @access public
      */
-    function MECON_Marco($arch_configuracion, $obj_permiso = null) // ~X2C
+    function MECON_Marco($arch_configuracion, $obj_permiso = null) 
     {
         //Creo el objeto pagina
-        parent::HTML_Page(array ('doctype'  => 'HTML 4.01 Transitional',
-                                 'charset'  => 'iso-8859-1'            ,
-                                 'lineend'  => 'unix'                  ,
-                                 'language' => 'es'                    ,
-                                 'cache'    => 'false'                 ,
-                                 'simple'   => 'true'                  ));
+        parent::MECON_HTML_Page();
         //Obtengo y arreglo la configuracion
         $this->_obtenerConfiguracion($arch_configuracion);
         //Agrego el objeto permiso a la configuracion
@@ -119,10 +108,10 @@ class MECON_Marco extends HTML_Page {
         $this->addStyleSheet(ESTILO_DIR_BASE.ESTILO_GENERICO);
         //Seteo el titulo
         $this->setTitle($this->_configuracion['titulo_sistema']);
+        $this->_configuracion['subtitulo'] = '';
+        $this->_configuracion['titulo_sistema2'] = '';
     }
-    // -X2C
 
-    // +X2C Operation 32
     /**
      * Funcion que se encarga de la obtencion y generacion del array de configuracion. Recibe como parametro el path del archivo de configuracion
      *
@@ -131,7 +120,7 @@ class MECON_Marco extends HTML_Page {
      * @return array
      * @access private
      */
-    function _obtenerConfiguracion($archivo) // ~X2C
+    function _obtenerConfiguracion($archivo) 
     {
         $this->_configuracion = include $archivo;    
         //Verifico que existan los directorios, si no es asi los reemplazo por los defaults
@@ -154,10 +143,7 @@ class MECON_Marco extends HTML_Page {
             $this->_configuracion['directorios_fs']['cache'] = DIR_CACHE;
         }         
     }
-    // -X2C
-
 
-    // +X2C Operation 97
     /**
      * 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.
@@ -168,16 +154,11 @@ Si es un objeto debe tener un metodo toHtml y opcionalmente puede tener un getCS
      * @return void
      * @access public
      */
-    function addBody($body) // ~X2C
+    function addBody($body) 
     {
-        if ((is_object($body)) && (method_exists($body, 'getcss'))) {
-            $this->addStyleSheet($body->getCSS());
-        }
         $this->addBodyContent($body);
     }
-    // -X2C
 
-    // +X2C Operation 124
     /**
      * Funcion que permite concatenar lo pasado como parametro al titulo del sistema
      *
@@ -186,13 +167,11 @@ Si es un objeto debe tener un metodo toHtml y opcionalmente puede tener un getCS
      * @return void
      * @access public
      */
-    function addTitle($titulo) // ~X2C
+    function addTitle($titulo) 
     {
-        $this->setTitle($this->_configuracion['titulo_sistema'].' - '.$titulo);
+        $this->_configuracion['titulo_sistema2'].= ' - '.$titulo;
     }
-    // -X2C
 
-    // +X2C Operation 207
     /**
      * Setea la variable que define si hay que separar el body del menu
      *
@@ -201,13 +180,11 @@ Si es un objeto debe tener un metodo toHtml y opcionalmente puede tener un getCS
      * @return void
      * @access public
      */
-    function setEspacios($espacios = true) // ~X2C
+    function setEspacios($espacios = true) 
     {
         $this->_espacios = $espacios;
     }
-    // -X2C
 
-    // +X2C Operation 214
     /**
      * Agrega un menu vertical a la izquierda en la pantalla.
      *
@@ -216,16 +193,14 @@ Si es un objeto debe tener un metodo toHtml y opcionalmente puede tener un getCS
      * @return void
      * @access public
      */
-    function addMenuVertical($menuVertical) // ~X2C
+    function addMenuVertical($menuVertical) 
     {
         if ((is_object($menuVertical)) && (method_exists($menuVertical, 'getcss'))) {
             $this->addStyleSheet($menuVertical->getCSS());
         }
         $this->_menuVertical = $menuVertical;
     }
-    // -X2C
 
-    // +X2C Operation 218
     /**
      * Permite habilitar o deshabilitar los links de una pagina (todos)
      *
@@ -234,21 +209,21 @@ Si es un objeto debe tener un metodo toHtml y opcionalmente puede tener un getCS
      * @return void
      * @access public
      */
-    function habilitarLinks($param = true) // ~X2C
+    function habilitarLinks($param = true) 
     {
         $this->_links = $param;
     }
-    // -X2C
 
-    // +X2C Operation 220
     /**
      * Devuelve el html de la pagina
      *
      * @return string
      * @access public
      */
-    function toHTML() // ~X2C
+    function toHTML() 
     {
+        //Seteo el titulo de la pagina
+        parent::setTitle($this->_configuracion['titulo_sistema'].$this->_configuracion['titulo_sistema2']);
         //Agrego la opcion seleccionada de links a la configuracion 
         $this->_configuracion['links']    = $this->_links;
         //Agrego la opcion seleccionada de espacios a la configuracion 
@@ -261,30 +236,91 @@ Si es un objeto debe tener un metodo toHtml y opcionalmente puede tener un getCS
         //Agrego el contenido al menu
         $menu->addBody($body);       
         //Agrego el Marco completo a Page
-        $this->setBody($menu->toHtml());
+        $this->setBody('<div style="width: 760px" align="left">');
+        foreach ($menu->resultado AS $res) {
+            $this->addBodyContent($res);
+        }
+        $this->addBodyContent('</div>');
         return parent::toHTML();
     }
-    // -X2C
 
-    // +X2C Operation 223
     /**
-     * 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.
+     * Funcion que permite concatenar lo pasado como parametro al titulo del sistema
      *
-     * @param  mixed $content Contenido a agregar en la pagina
+     * @param  string $subtitulo Subtitulo a agregar
      *
      * @return void
      * @access public
      */
-    function addBodyContent($content) // ~X2C
+    function addSubTitle($subtitulo) 
     {
-        if ((is_object($content)) && (method_exists($content, 'getcss'))) {
-            $this->addStyleSheet($content->getCSS());
+        if (is_a($subtitulo, 'mecon_html_link')) {
+            $subtitulo->updateAttributes(
+                array('class' => 'mecon_marco_subtitle'));
+        }
+        if (method_exists($subtitulo, 'tohtml')) {
+            $subtitulo = $subtitulo->toHtml();
         }
-        parent::addBodyContent($content);
+        $this->_configuracion['subtitulo'] .= ' - ' . $subtitulo;
+    }
+
+    /**
+     * Concatena lo pasado por parametro al titulo del sistema
+     *
+     * @param  string $titulo Titulo a agregar. Si se pasa vacio se borra lo que pudiera estar
+     *
+     * @return void
+     * @access public
+     */
+    function setTitle($titulo = '') 
+    {
+        $this->_configuracion['titulo_sistema2'] = ($titulo) ? ' - '.$titulo :
+            '';
+    }
+
+    /**
+     * Concatena lo pasado por parametro al titulo de seccion
+     *
+     * @param  string $subtitulo Setea el subtitulo. Si se pasa vacio borra lo que pudiera estar.
+     *
+     * @return void
+     * @access public
+     */
+    function setSubtitle($subtitulo = '') 
+    {
+        $this->_configuracion['subtitulo'] = ($subtitulo) ? ' - '.$subtitulo :
+            '';
     }
-    // -X2C
 
-} // -X2C Class :MECON_Marco
+    /**
+     * Permite hacer que en el copete aparezca un icono de ayuda, en un lugar predefinido. Sobreescribe lo seteado anteriormente por cualquier metodo.
+     *
+     * @param  mixed $ayuda Objeto MECON_HTML_Link o string para utilizar en el map.
+     *
+     * @return void
+     * @access public
+     */
+    function setAyuda($ayuda) 
+    {
+        $this->_configuracion['ayuda'] = $ayuda;
+    }
 
+    /**
+     * Permite obtener el array de configuracion completo. En caso de recibir una clave como parametro devuelve su valor. Solo se tienen en cuenta las claves del primer nivel.
+     *
+     * @param  string $clave Clave del array de configuracion a obtener.
+     *
+     * @return mixed
+     * @access public
+     */
+    function getConf($clave = null) 
+    {
+        if ($clave) {
+            return @$this->_configuracion[$clave];
+        }
+        else {
+            return $this->_configuracion;
+        }
+    }
+}
 ?>
\ No newline at end of file