<?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.
-----------------------------------------------------------------------------*/
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.
*
* @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);
}
/**
* 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);
* 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) {
}
} 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)
* @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)) {
* 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);
* 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');
* @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
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);
$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 {
}
}
// 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.
* 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
*/
* 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);
* 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
$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) {
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) {
}
$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);
}
}
* @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();
}