// Seteo los atributos para la tabla
$this->_attrs = $this->_parseAttributes($this->_conf['atributos']['tabla_comun']);
//Genero el objeto HTML_Table
- if ($atributos != '') {
- $tmp = $this->_parseAttributes($atributos);
+ if ($attrs != '') {
+ $tmp = $this->_parseAttributes($attrs);
if (isset($tmp['width'])) {
$this->_attrs['width'] = $tmp['width'];
}
//inserciones.
}
-
/**
* Agrega una fila del tipo Cabecera
*
*/
function agregarFilaCabecera($contenido = '', $atributos = '')
{
- // FIXME - aca hay que llamar a la nueva funcion "no deprecated":
- // addRow($content, HTML_TABLA_HEADER)
- return $this->addRow($contenido, $this->_conf['atributos']['celda_cabecera'],'TH');
+ return $this->addRow($contenido, 'cabecera');
}
/**
*/
function agregarFila($contenido = '')
{
- // FIXME - aca hay que llamar a la nueva funcion "no deprecated":
- // addRow($content)
- return $this->addRow($contenido,$this->_conf['atributos']['celda_comun']);
+ return $this->addRow($contenido, 'comun');
}
-
/**
* Modifica el atributo rowSpan a la celda pasada por parametro
*
*/
function rowSpan($fila, $columna, $valor)
{
- return $this->updateCellAttributes($fila, $columna, 'rowspan='.$valor);
+ return $this->updateCellAttributes($fila, $columna, 'rowspan="'.$valor.'"');
}
/**
*/
function colSpan($fila, $columna, $valor)
{
- return $this->updateCellAttributes($fila, $columna, 'colspan='.$valor);
+ return $this->updateCellAttributes($fila, $columna, 'colspan="'.$valor.'"');
}
/**
*/
function align($fila, $columna, $valor)
{
- // FIXME - aca hay que llamar a la nueva funcion "no deprecated":
- // setCell($row, $col, HTML_TABLA_ALIGN_LEFT) [o .._CENTER o .._RIGHT]
return $this->updateCellAttributes($fila, $columna, 'align="'.$valor.'"');
}
- /**
+ /**
* Setea una columna como del tipo cabecera
*
* @param int $columna
*/
function setColCabecera($columna)
{
- // FIXME - aca hay que llamar a la nueva funcion "no deprecated":
- // setCol($col, HTML_TABLA_HEADER)
- return $this->updateColAttributes($columna,$this->_conf['atributos']['celda_cabecera']);
+ return $this->updateColAttributes($columna, 'cabecera');
}
/**
*/
function setColTitulo($columna)
{
- // FIXME - aca hay que llamar a la nueva funcion "no deprecated":
- // setCol($col, HTML_TABLA_TITLE)
- return $this->updateColAttributes($columna,$this->_conf['atributos']['celda_titulo']);
+ return $this->updateColAttributes($columna, 'titulo');
}
/**
*/
function setColAlign($columna, $valor)
{
- // FIXME - aca hay que llamar a la nueva funcion "no deprecated":
- // setCol($col, HTML_TABLA_ALIGN_*)
return $this->updateColAttributes($columna,'align="'.$valor.'"');
}
*/
function setColWidth($columna, $valor)
{
- // FIXME - aca hay que llamar a la nueva funcion "no deprecated":
- // setCol($col, HTML_TABLA_WIDTH, $val)
return $this->updateColAttributes($columna,'width="'.$valor.'"');
}
*/
function setCellBgcolor($fila, $columna, $valor)
{
- // FIXME - aca hay que llamar a la nueva funcion "no deprecated":
- // setCell($row, $col, HTML_TABLA_BGCOLOR, $val)
return $this->updateCellAttributes($fila, $columna,'bgcolor="'.$valor.'"');
}
}
/**
- * Cambia las propiedades de una columna.
- *
- * Cambia las propiedades de una columna. Si $attrs es un array
+ * Cambia las propiedades de una celda
+ *
+ * Cambia las propiedades de una celda. Si $attrs es un array
* asociativo, se setean los atributos representados por las claves
- * con los valores. En este caso se ignora el tercer parametro ($val).
- * Si $attrs es un string, se setea el atributo descripto por $attrs
- * al valor $val.
+ * con los valores.
*
+ * @param int $row
* @param int $col
* @param mixed $attrs
- * @param mixed $val
- *
- * @access public
- */
- function setCol($col, $attrs, $val = true)
- {
- if (!is_array($attrs)) {}
- $attrs = array($attrs => $val);
- }
- foreach ($attrs as $attr => $val) {
- // El switch se puede reciclar y hacer un metodo generico...
- switch (strtoupper($attr)) {
- case 'HEADER':
- return $this->updateColAttributes($col, $this->_conf['atributos']['celda_cabecera']);
- case 'ALIGN':
- return $this->updateColAttributes($col,"align=\"$val\"");
- case 'WIDTH':
- return $this->updateColAttributes($col,"width=\"$val\"");
- default:
- trigger_error("No se puede setear el atributo $attr a la columna $col", E_USER_ERROR);
- }
- }
- }
-
- /**
- * Funcion que establece los atributos de una fila
*
- * @param int $row
- * @param string $attrs
- *
* @access public
*/
- function setRow($row, $attrs, $val = true)
+ function updateCellAttributes($row, $col, $attrs)
{
-
+ return parent::updateCellAttributes($row, $col, $this->_translateAttributes($attrs));
}
-
+
/**
- * Funcion que establece los atributos de una celda
+ * Establece las propiedades de una celda
+ *
+ * Establece las propiedades de una celda. Si $attrs es un array
+ * asociativo, se setean los atributos representados por las claves
+ * con los valores.
*
* @param int $row
* @param int $col
- * @param string $attr
+ * @param mixed $attrs
*
* @access public
*/
- function setCell($row, $col, $attrs, $val = true)
+ function setCellAttributes($row, $col, $attrs)
{
-
+ return parent::setCellAttributes($row, $col, $this->_translateAttributes($attrs));
}
/**
- * Funcion que agrega una fila
+ * Agrega una fila
+ *
+ * Agrega una fila. El contenido es el que viene representado por
+ * el array $content. Recibe los atributos en la variable $attrs
*
- * @param array $content
- * @param string $attr
+ * @param mixed $content
+ * @param mixed $attrs
*
* @return int $rowId
*
* @access public
*/
- function addRow($content, $attrs = '', $val = true)
+ function addRow($content, $attrs = 'comun')
{
- $this->addRow
- return $rowId
+ return parent::addRow($content, $attrs);
}
/**
- * Funcion que agrega contenido a una celda
+ * Convierte un atributo a string
+ *
+ * Convierte un atributo HTML al string para pasar a los metodos de HTML_Table
+ * Recibe en $attrs los atributos a modificar.
*
- * @param int $row
- * @param int $col
- * @param array $content
- * @param string $attr
+ * @param string $attrs
*
- * @access public
+ * @return string
+ * @access private
*/
- function setCellContents($row, $col, $content, $attrs = '', $val = true)
+ function _translateAttributes($attrs)
{
-
+ if (!$attrs) {
+ return array();
+ }
+ if (is_string($attrs)) {
+ $attrs = $this->_parseAttributes($attrs);
+ }
+ $rta = '';
+ foreach ($attrs as $attr => $val) {
+ $attr = strtolower($attr);
+ switch ($attr) {
+ case 'comun':
+ $rta .= $this->_conf['atributos']['celda_comun'];
+ break;
+ case 'cabecera':
+ $rta .= $this->_conf['atributos']['celda_cabecera'];
+ break;
+ case 'titulo':
+ $rta .= $this->_conf['atributos']['celda_titulo'];
+ break;
+ case 'align':
+ case 'valign':
+ case 'width':
+ case 'height':
+ case 'rowspan':
+ case 'colspan':
+ case 'bgcolor':
+ case 'class':
+ case 'border':
+ case 'cellspacing':
+ case 'cellpadding':
+ $rta .= "$attr=\"$val\"";
+ break;
+ case 'spacing':
+ case 'padding':
+ $rta .= "cell$attr=\"$val\"";
+ break;
+ case 'nowrap':
+ case 'th':
+ $rta .= $attr;
+ break;
+ default:
+ trigger_error("No se permite setear el atributo $attr", E_USER_ERROR);
+ }
+ }
+ return $rta;
}
-}
+}
+
?>