]> git.llucax.com Git - mecon/meconlib.git/blobdiff - lib/MLIB/HTML/TablaDB.php
Se agrega un ejemplo sobre la utilizacion de los PDF con la nueva clase
[mecon/meconlib.git] / lib / MLIB / HTML / TablaDB.php
index 6852ba91936ce4fade804d4a041a15ee1c52e65d..b8bc594bd517ee06eb049e08f76b2cd15494dcd3 100644 (file)
@@ -1,16 +1,15 @@
 <?php /* vim: set binary expandtab tabstop=4 shiftwidth=4 textwidth=80:
 -------------------------------------------------------------------------------
-                             Ministerio de Economía
-                                    meconlib
+                                    mlib
 -------------------------------------------------------------------------------
-This file is part of meconlib.
+This file is part of mlib.
 
-meconlib is free software; you can redistribute it and/or modify it under
+mlib 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
+mlib 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.
  
@@ -25,21 +24,21 @@ $Id$
 -----------------------------------------------------------------------------*/
 
 require_once 'DB.php';
-require_once 'MECON/DB/Pager.php';
-require_once 'MECON/Array/Pager.php';
-require_once 'MECON/HTML/Error.php';
-require_once 'MECON/HTML/Link.php';
-require_once 'MECON/HTML/Icon.php';
-require_once 'MECON/HTML/Tabla.php';
+require_once 'MLIB/DB/Pager.php';
+require_once 'MLIB/Array/Pager.php';
+require_once 'MLIB/HTML/Error.php';
+require_once 'MLIB/HTML/Link.php';
+require_once 'MLIB/HTML/Icon.php';
+require_once 'MLIB/HTML/Tabla.php';
 
 /// Prefijo a usar para las variables GET que genera la tabla.
-define('MECON_HTML_TABLADB_GET_VAR_PREFIX', '_');
+define('MLIB_HTML_TABLADB_GET_VAR_PREFIX', '_');
 
 /**
  * Libreria para le manejo de las tablas de los sistemas de intranet.
  *
  */
-class MECON_HTML_TablaDB extends MECON_HTML_Tabla {
+class MLIB_HTML_TablaDB extends MLIB_HTML_Tabla {
 
     /**
      * Descripción de los elementos listados.
@@ -76,11 +75,11 @@ class MECON_HTML_TablaDB extends MECON_HTML_Tabla {
      * 
      * @access public
      */
-    function MECON_HTML_TablaDB($desc = null, $attrs = null, $estilo = 'comun') {
+    function MLIB_HTML_TablaDB($desc = null, $attrs = null, $estilo = 'comun') {
         if ($desc) {
             $this->_desc = $desc;
         }
-        parent::MECON_HTML_Tabla($attrs, $estilo);
+        parent::MLIB_HTML_Tabla($attrs, $estilo);
     }    
 
     /**
@@ -96,14 +95,14 @@ class MECON_HTML_TablaDB extends MECON_HTML_Tabla {
      * Obtiene el prefijo usado para las variables de GET que genera la tabla.
      */
     function getGetVarPrefix() {
-        return MECON_HTML_TABLADB_GET_VAR_PREFIX;
+        return MLIB_HTML_TABLADB_GET_VAR_PREFIX;
     }
 
     /**
      * Agrega un páginador a la tabla, basado en un resultado de una base de datos.
      * Ejemplo:
      * @code
-     * $tabla = new MECON_HTML_TablaDB('personas', array('width' => '100%'));
+     * $tabla = new MLIB_HTML_TablaDB('personas', array('width' => '100%'));
      * $result = $db->query('SELECT nombre, apellido FROM tabla');
      * if (DB::isError($result)) {
      *      trigger_error('Error', E_USER_ERROR);
@@ -132,30 +131,30 @@ class MECON_HTML_TablaDB extends MECON_HTML_Tabla {
      *                    Si se pasa null, se incluyen <tt>'anterior'</tt>,
      *                    <tt>'siguiente'</tt> y <tt>'paginas'</tt>.
      * @param mixed $link Dirección a la que apuntan los links generados. Puede
-     *                    ser un MECON_HTML_Link (para poder pasar variables por
+     *                    ser un MLIB_HTML_Link (para poder pasar variables por
      *                    GET) o un string.
-     * @param int $limit Parámetro usado para crear el MECON_DB_Pager.
-     * @param int $maxpages Parámetro usado para crear el MECON_DB_Pager.
+     * @param int $limit Parámetro usado para crear el MLIB_DB_Pager.
+     * @param int $maxpages Parámetro usado para crear el MLIB_DB_Pager.
      * @param string $getvar Nombre de la variable GET a usar para indicar el número
      *               de página actual (se le pone el \ref setGetPrefix prefijo)
      *
-     * @return MECON_DB_Pager Pager que se puede usar para realizar los fetch de
+     * @return MLIB_DB_Pager Pager que se puede usar para realizar los fetch de
      *         los resultados de la página actual.
      *
-     * @see MECON_DB_Pager, addRows().
+     * @see MLIB_DB_Pager, addRows().
      */
     function addPager($result, $tipo = null, $link = null, $limit = 10, $maxpages = 21, $getvar = 'from') {
         // Creo el pager con el resultado.
         $pager = (is_array($result))?
-                new MECON_Array_Pager($result, @$_GET[$this->getGetVarPrefix().$getvar], $limit, $maxpages):
-                new MECON_DB_Pager($result, @$_GET[$this->getGetVarPrefix().$getvar], $limit, $maxpages);
+                new MLIB_Array_Pager($result, @$_GET[$this->getGetVarPrefix().$getvar], $limit, $maxpages):
+                new MLIB_DB_Pager($result, @$_GET[$this->getGetVarPrefix().$getvar], $limit, $maxpages);
 
         // Obtengo un link válido.
         if (!$link) {
             $link = @$_SERVER['PHP_SELF'];
         }
         if (is_string($link)) {
-            $link = new MECON_HTML_Link($link, '');
+            $link = new MLIB_HTML_Link($link, '');
         }
         // Si es el tipo por defecto pone paginador nada más.
         if (!$tipo) {
@@ -229,7 +228,7 @@ class MECON_HTML_TablaDB extends MECON_HTML_Tabla {
             }
         } else {
             $id = $this->addRow(array(
-                new MECON_HTML_Error("No se encontraron {$this->_desc}.")));
+                new MLIB_HTML_Error("No se encontraron {$this->_desc}.")));
             $this->updateCellAttributes($id, 0,
                 array('colspan' => count($campos)
                     + count($this->_prependRowsData)
@@ -270,7 +269,7 @@ class MECON_HTML_TablaDB extends MECON_HTML_Tabla {
      * @param mixed $obj Objeto a usar. Puede ser un objeto instanciado o un
      *                   string con el nombre de la clase.
      *
-     * @see La interfaz MECON_DBO que tiene el método MECON_DBO::cargar().
+     * @see La interfaz MLIB_DBO que tiene el método MLIB_DBO::cargar().
      */
     function addRowsObject($result, $campos, $obj) {
         if (is_string($obj)) {
@@ -297,7 +296,7 @@ class MECON_HTML_TablaDB extends MECON_HTML_Tabla {
      * Agrega una columna arbitraria a la tabla basado en valores de una fila.
      * Ejemplo:
      * @code
-     * $tabla = new MECON_HTML_TablaDB('personas', array('width' => '100%'));
+     * $tabla = new MLIB_HTML_TablaDB('personas', array('width' => '100%'));
      * $result = $db->query('SELECT nombre, apellido, activo FROM tabla');
      * if (DB::isError($result)) {
      *      trigger_error('Error', E_USER_ERROR);
@@ -313,7 +312,7 @@ class MECON_HTML_TablaDB extends MECON_HTML_Tabla {
      *          array('nombre', array('activo', 'checked_callback')));
      * // Agrega el nombre con un link a un popup (sin javascript).
      * $tabla->addRowsData(
-     *      new MECON_HTML_Link('popup.php', '%s', array('nombre' => null),
+     *      new MLIB_HTML_Link('popup.php', '%s', array('nombre' => null),
      *          array('target' => '_blank')),
      *      'nombre',
      *      'prepend');
@@ -363,24 +362,24 @@ class MECON_HTML_TablaDB extends MECON_HTML_Tabla {
      * @endcode
      *
      * @param mixed $format Si es un string, especifica el formato a usar al
-     *                      estilo de sprintf. Si es un MECON_HTML_Link, se
+     *                      estilo de sprintf. Si es un MLIB_HTML_Link, se
      *                      traduce cada variable por GET que empiece con el
      *                      \ref getGetVarPrefix "prefijo" y cuyo valor sea null
      *                      al campo correspondiente de la DB:
-     * @code $tabla->addRowsData(new MECON_HTML_Link('abm.php', 'Ver %s',
+     * @code $tabla->addRowsData(new MLIB_HTML_Link('abm.php', 'Ver %s',
      *      array($tabla->getGetVarPrefix().'id' => null), 'nombre'); @endcode
      *                      Si el valor en vez de ser null es un string, se
      *                      fija si existe una función con ese nombre para llamar
      *                      con el campo de la DB como argumento para
      *                      formatearlo:
-     * @code $tabla->addRowsData(new MECON_HTML_Link('print.php', 'Mostrar',
+     * @code $tabla->addRowsData(new MLIB_HTML_Link('print.php', 'Mostrar',
      *      array($tabla->getGetVarPrefix().'campo1' => 'callback_campo1'));
      * function callback_campo1($campo1) {
      *      return 'El campo1 es '.strtoupper($campo3);
      * } @endcode
      *                      Si no existe la función, se toma el string como
      *                      formato para sprintf para darle formato:
-     * @code $tabla->addRowsData(new MECON_HTML_Link('print.php', 'Ver',
+     * @code $tabla->addRowsData(new MLIB_HTML_Link('print.php', 'Ver',
      *      array($tabla->getGetVarPrefix().'campo1' => 'campo1: %s')); @endcode
      * @param mixed $campos Campos de la DB a usar como argumentos del sprintf.
      *                      Puede ser un string para pasar un solo campo sin
@@ -454,9 +453,9 @@ class MECON_HTML_TablaDB extends MECON_HTML_Tabla {
         list($format, $campos) = $data;
         // Si tiene formatos y argumentos.
         if ($campos) {
-            // Si el formato es un MECON_HTML_Link, uso como formato a
+            // Si el formato es un MLIB_HTML_Link, uso como formato a
             // su contenido.
-            if (is_a($format, 'mecon_html_link')) {
+            if (is_a($format, 'MLIB_html_link')) {
                 $args = array($format->getContents());
             } else {
                 $args = array($format);
@@ -506,7 +505,7 @@ class MECON_HTML_TablaDB extends MECON_HTML_Tabla {
                 $args[] = $campo;
             }
             // Si es un link, le seteo los contenidos procesados.
-            if (is_a($format, 'mecon_html_link')) {
+            if (is_a($format, 'MLIB_html_link')) {
                 $format->setContents(call_user_func_array('sprintf', $args));
             // Si no formateo la cadena con los argumentos procesados.
             } else {
@@ -514,7 +513,7 @@ class MECON_HTML_TablaDB extends MECON_HTML_Tabla {
             }
         }
         // Si es un link, traduce las variables GET.
-        if (is_a($format, 'mecon_html_link')) {
+        if (is_a($format, 'MLIB_html_link')) {
             $format = $this->_translateGetVars($format, $row);
         }
         // devuelve la columna.
@@ -525,12 +524,12 @@ class MECON_HTML_TablaDB extends MECON_HTML_Tabla {
      * Traduce las variables GET de un link.
      * Puede formatearlas con printf() o llamando una callback.
      *
-     * @param MECON_HTML_Link $link Link con las variables GET a formatear.
+     * @param MLIB_HTML_Link $link Link con las variables GET a formatear.
      * @param mixed $row Fila de un resultado de una base de dotos. Puede ser un
      *                   array asociativo o un objeto (en cuyo caso cada campo
      *                   debe ser un atributo del mismo).
      *
-     * @return MECON_HTML_Link Link con las variables GET traducidas.
+     * @return MLIB_HTML_Link Link con las variables GET traducidas.
      *
      * @protected
      */
@@ -563,7 +562,7 @@ class MECON_HTML_TablaDB extends MECON_HTML_Tabla {
      * Agrega un ícono predefinido a la tabla.
      * Ejemplo:
      * @code
-     * $tabla = new MECON_HTML_TablaDB('personas', array('width' => '100%'));
+     * $tabla = new MLIB_HTML_TablaDB('personas', array('width' => '100%'));
      * $result = $db->query('SELECT id, nombre, apellido, activo FROM tabla');
      * if (DB::isError($result)) {
      *      trigger_error('Error', E_USER_ERROR);
@@ -596,7 +595,7 @@ class MECON_HTML_TablaDB extends MECON_HTML_Tabla {
      *                      para conocer de que formas se puede formatear un
      *                      campo).
      * @param mixed $link Si es un string, se usa como URL del link a generar.
-     *                    Si es un MECON_HTML_Link, se usa como base para el
+     *                    Si es un MLIB_HTML_Link, se usa como base para el
      *                    link a generar y se le va agregando las variables de
      *                    GET generadas por el parámetro $campos (el link es
      *                    procesado de la misma forma en que es procesado el
@@ -625,7 +624,7 @@ class MECON_HTML_TablaDB extends MECON_HTML_Tabla {
             $link = @$_SERVER['PHP_SELF'];
         }
         if (is_string($link)) {
-            $link = new MECON_HTML_Link($link, '');
+            $link = new MLIB_HTML_Link($link, '');
         }
         // Traducción para compatibilidad para atrás.
         switch ($id) {
@@ -642,7 +641,7 @@ class MECON_HTML_TablaDB extends MECON_HTML_Tabla {
                 break;
         }
         if ($activo === true) {
-            $img = new MECON_HTML_Icon($id, $link, null,
+            $img = new MLIB_HTML_Icon($id, $link, null,
                 array('title' => ucfirst($id)));
             $l = $img->getLink();
             foreach ($campos as $campo) {
@@ -654,13 +653,13 @@ class MECON_HTML_TablaDB extends MECON_HTML_Tabla {
             }
             $this->addRowsData($l, array(), $lugar);
         } elseif ($activo === false) {
-            $img = new MECON_HTML_Icon($id.'_des', null, '-',
+            $img = new MLIB_HTML_Icon($id.'_des', null, '-',
                 array('title' => ucfirst($id)));
             $this->addRowsData($img, array(), $lugar);
         } else {
             $campos[] = $activo;
             $this->addRowsData('%s', array(array($campos,
-                'MECON_HTML_TablaDB_callback_addRowsIcon',
+                'MLIB_HTML_TablaDB_callback_addRowsIcon',
                 array($id, $link, $activo))), $lugar);
         }
     }
@@ -679,18 +678,18 @@ class MECON_HTML_TablaDB extends MECON_HTML_Tabla {
  * @return Campo formateado.
  * @protected
  */
-function MECON_HTML_TablaDB_callback_addRowsIcon($campos, $args) {
+function MLIB_HTML_TablaDB_callback_addRowsIcon($campos, $args) {
     list($tipo, $link, $activo) = $args;
     if ($campos[$activo]) {
-        $img = new MECON_HTML_Icon($tipo, $link, null,
+        $img = new MLIB_HTML_Icon($tipo, $link, null,
             array('title' => ucfirst($tipo)));
         $l = $img->getLink();
         foreach ($campos as $campo => $valor) {
-            $l->setGetVar(MECON_HTML_TablaDB::getGetVarPrefix().$campo, $valor);
+            $l->setGetVar(MLIB_HTML_TablaDB::getGetVarPrefix().$campo, $valor);
         }
         return $l->toHtml();
     } else {
-        $img = new MECON_HTML_Icon($tipo.'_des', null, '-',
+        $img = new MLIB_HTML_Icon($tipo.'_des', null, '-',
             array('title' => ucfirst($tipo)));
         return $img->toHtml();
     }