X-Git-Url: https://git.llucax.com/mecon/meconlib.git/blobdiff_plain/48f4f3453083f7a3edf14c259737daefa37840f3..6566b23c65083bf1d6d1207510d7cdbe2b072620:/lib/MECON/HTML/Tabla.php diff --git a/lib/MECON/HTML/Tabla.php b/lib/MECON/HTML/Tabla.php index 821a40e..4c8ab0a 100644 --- a/lib/MECON/HTML/Tabla.php +++ b/lib/MECON/HTML/Tabla.php @@ -25,6 +25,7 @@ $Id$ -----------------------------------------------------------------------------*/ require_once 'HTML/Table.php'; +require_once 'MECON/HTML/Image.php'; /** * Libreria para le manejo de las tablas de los sistemas de intranet. @@ -71,7 +72,7 @@ class MECON_HTML_Tabla extends HTML_Table { * seteados por default segun el archivo de configuracion. * Ademas puede recibir la indicacion de algun estilo en particular. * - * @param mixed $atributos Atributos diferentes a los estandares para la tabla + * @param mixed $attrs Atributos diferentes a los estandares para la tabla * @param string $estilo Tipo de tabla * * @access public @@ -106,149 +107,6 @@ class MECON_HTML_Tabla extends HTML_Table { } - /** - * Agrega una fila del tipo cabecera tomando colores y demas del - * archivo de configuracion. Recibe como parametro un array con - * los datos a incluir en la linea. Agrega tantas columnas como - * elementos tenga el array. Si no recibe parametro alguno, - * inserta una fila en blanco. Devuelve el identificador de la - * fila en donde inserto los datos. - * - * @param array() $contenido Contenido de la fila - * - * @return int Identificador de Linea - * @access public - * @deprecated - */ - function agregarFilaCabecera($contenido = '', $atributos = '') { - return $this->addRow($contenido, 'cabecera'); - } - - /** - * Agrega una fila del tipo comun, tomando colores y demas del - * archivo de configuracion. Recibe como parametro un array con - * los datos a incluir en la linea. Agrega tantas columnas como - * elementos tenga el array. Si no recibe parametro alguno, - * inserta una fila en blanco. Devuelve el identificador de la - * fila en donde inserto los datos. - * - * @param array() $contenido Contenido de la fila - * - * @return int Identificador de Linea - * - * @access public - * @deprecated - */ - function agregarFila($contenido = '') { - return $this->addRow($contenido, 'comun'); - } - - /** - * Modifica el atributo rowSpan a la celda pasada por parametro - * - * @param int $fila Identificador de la fila que se quiere modificar - * @param int $columna Identificador de la columna que se quiere modificar - * @param int $valor Atributo a modificar - * - * @access public - * @deprecated - */ - function rowSpan($fila, $columna, $valor) { - return $this->updateCellAttributes($fila, $columna, 'rowspan="'.$valor.'"'); - } - - /** - * Modifica el atributo colSpan a la celda pasada por parametro - * - * @param int $fila Identificador de la fila que se quiere modificar - * @param int $columna Identificador de la columna que se quiere modificar - * @param int $valor Atributo a modificar - * - * @access public - * @deprecated - */ - function colSpan($fila, $columna, $valor) { - return $this->updateCellAttributes($fila, $columna, 'colspan="'.$valor.'"'); - } - - /** - * Modifica el atributo aling de la celda pasada por parametro - * - * @param int $fila Identificador de la fila que se quiere modificar - * @param int $columna Identificador de la columna que se quiere modificar - * @param string $valor Atributo a modificar - * - * @access public - * @deprecated - */ - function align($fila, $columna, $valor) { - return $this->updateCellAttributes($fila, $columna, 'align="'.$valor.'"'); - } - - /** - * Setea una columna como del tipo cabecera - * - * @param int $columna Identificador de la columna que se quiere modificar - * - * @access public - * @deprecated - */ - function setColCabecera($columna) { - return $this->updateColAttributes($columna, 'cabecera'); - } - - /** - * Setea una columna como del tipo titulo - * - * @param int $columna Identificador de la columna que se quiere modificar - * - * @access public - * @deprecated - */ - function setColTitulo($columna) { - return $this->updateColAttributes($columna, 'titulo'); - } - - /** - * Alinea una columna entera - * - * @param int $columna Identificador de la columna que se quiere modificar - * @param string $valor Valor - * - * @access public - * @deprecated - */ - function setColAlign($columna, $valor) { - return $this->updateColAttributes($columna,'align="'.$valor.'"'); - } - - /** - * Cambia el tamanio de una columna entera - * - * @param int $columna Identificadore de la columna que se quiere modificar - * @param string $valor Valor - * - * @access public - * @deprecated - */ - function setColWidth($columna, $valor) { - return $this->updateColAttributes($columna,'width="'.$valor.'"'); - } - - /** - * Cambia el color de fondo de una celda - * - * @param int $fila Identificador de la fila que se quiere modificar - * @param int $columna Identificador de la columna que se quiere modificar - * @param string $valor Atributo a modificar - * - * @access public - * @deprecated - */ - function setCellBgcolor($fila, $columna, $valor) { - return $this->updateCellAttributes($fila, $columna,'bgcolor="'.$valor.'"'); - } - /** * Devuelve el html de la tabla * @@ -520,6 +378,87 @@ class MECON_HTML_Tabla extends HTML_Table { } } + /** + * Agrega un link predefinido a la cabecera o pie de la tabla. + * Ejemplo: + * @code + * if ($muchos) { + * $tabla->addLink('nuevo'); + * } else { + * $tabla->addLink('nuevos', 'nuevos.php'); + * } + * $tabla->addLink('volver', + * new MECON_HTML_Link('atras.php')); + * $tabla->addLink('anterior', + * new MECON_HTML_Link('previo.php', 'Persona Anterior')); + * $tabla->addLink('siguiente', + * new MECON_HTML_Link('previo.php', 'Siguiente persona', + * array('pers' => 'prox'))); + * @endcode + * + * @param string $id Identificador del link predefinido. Puede ser 'volver', + * 'nuevo', 'nuevos', 'anterior' y 'siguiente'. + * @param MECON_HTML_Link $link Link a usar. Si no tiene contenidos, se pone + * uno por defecto. Si es null, se pone como + * link la página actual. + * + */ + function addLink($id, $link = null) { + if (!$link) { + $link = @$_SERVER['PHP_SELF']; + } + if (is_string($link)) { + $link = new MECON_HTML_Link($link, ''); + } + switch ($id) { + case 'nuevo': + $img = new MECON_HTML_Image('/MECON/images/general_nuevo', '-<'); + // Si no tiene titulo, le pone titulo por defecto. + if (!$link->getContents()) { + $link->setContents('Nuevo'); + } + $link->addContents($img); + $this->updateCabecera($link, 'derecha'); + break; + case 'nuevos': + $img = new MECON_HTML_Image('/MECON/images/general_muchos_nuevo', '-<'); + // Si no tiene titulo, le pone titulo por defecto. + if (!$link->getContents()) { + $link->setContents('Nuevos'); + } + $link->addContents($img); + $this->updateCabecera($link, 'derecha'); + break; + case 'siguiente': + $img = new MECON_HTML_Image('/MECON/images/general_posterior', '-<'); + // Si no tiene titulo, le pone titulo por defecto. + if (!$link->getContents()) { + $link->setContents('Siguiente'); + } + $link->addContents($img); + $this->updatePie($link, 'derecha'); + break; + case 'volver': + $img = new MECON_HTML_Image('/MECON/images/general_anterior', '>-'); + // Si no tiene titulo, le pone titulo por defecto. + $cont = $link->getContents() ? $link->getContents() : 'Volver'; + $link->setContents($img); + $link->addContents($cont); + $this->updateCabecera($link, 'izquierda'); + break; + case 'anterior': + $img = new MECON_HTML_Image('/MECON/images/general_anterior', '>-'); + // Si no tiene titulo, le pone titulo por defecto. + $cont = $link->getContents() ? $link->getContents() : 'Anterior'; + $link->setContents($img); + $link->addContents($cont); + $this->updatePie($link, 'izquierda'); + break; + default: + $this->raiseError("No hay un link predefinido llamado '$id'."); + } + } + } ?>