// 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'];
}
*/
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');
}
*/
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.'"');
}
*/
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.'"');
}
return $result;
}
+
/**
- * 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->_attrToString($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->_attrToString($attrs));
}
/**
- * Funcion que agrega una fila
+ * Agrega una fila
*
- * @param array $content
- * @param string $attr
+ * Agrega una fila. El contenido es el que viene representado por
+ * el array $content. Recibe los atributos en la variable $attrs
+ *
+ * @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 _attrToString($attrs)
{
-
+ $rta = '';
+ if (!$attrs) {
+ return array();
+ }
+ if (is_string($attrs)) {
+ $attrs = $this->_parseAttributes($attrs);
+ }
+ 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 'cellspacing':
+ case 'cellpadding':
+ case 'class':
+ case 'border':
+ $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 puede setear el atributo $attr", E_USER_ERROR);
+ }
+ }
+ return $rta;
}
-
}
?>
<?php
- require_once 'HTML/Tabla.php';
-
+ $tmp = ini_get('include_path');
+ ini_set('include_path', "/home/mmarrese/public_html/HTML/php:$tmp");
+ require_once 'Tabla.php';
+ $TABLA2 = new Tabla ('width="500" align="right"');
+ $row = array ('R0C0','R1C1','R1C2','R2C3','R2C4','R2C5','R2C6','R2C7','R2C8','R2C9');
+ $TABLA2->addRow($row,'cabecera');
+ $row = array ('R1C0','R1C1','R1C2','R2C3','R2C4','R2C5','R2C6','R2C7','R2C8','R2C9');
+ $TABLA2->addRow($row);
+ $row = array ('R2C0','R2C1','R2C2','R2C3','R2C4','R2C5','R2C6','R2C7','R2C8','R2C9');
+ $TABLA2->addRow($row);
+ $row = array ('R3C0','R3C1','R3C2','R3C3','R3C4','R3C5','R3C6','R3C7','R3C8','R3C9');
+ $TABLA2->addRow($row);
+ $tohtml = $TABLA2->toHtml();
+
+ print $tohtml."<BR><BR><BR>";
+ echo 'DEPRECATED <BR>';
$TABLA = new Tabla ('width="500" align="right"');
-
$row = array ('R0C0','R1C1','R1C2','R2C3','R2C4','R2C5','R2C6','R2C7','R2C8','R2C9');
-
$TABLA->agregarFilaCabecera($row);
-
$row = array ('R1C0','R1C1','R1C2','R2C3','R2C4','R2C5','R2C6','R2C7','R2C8','R2C9');
$TABLA->agregarFila($row);
-
$row = array ('R2C0','R2C1','R2C2','R2C3','R2C4','R2C5','R2C6','R2C7','R2C8','R2C9');
$TABLA->agregarFila($row);
-
$row = array ('R3C0','R3C1','R3C2','R3C3','R3C4','R3C5','R3C6','R3C7','R3C8','R3C9');
$TABLA->agregarFila($row);
$TABLA->colSpan(2, 4,2);
$TABLA->colSpan(2, 6,2);
$TABLA->colSpan(2, 8,2);
-
$TABLA->setColTitulo(2);
-
$tohtml = $TABLA->toHtml();
+
+ print $tohtml."<BR><BR><BR>";
+///////////////////////////////////////////////////////////////////////////////////////////
+ echo 'PRECATED<BR>';
+ $TABLA2 = new Tabla ('width="500" align="right"');
+ $row = array ('R0C0','R1C1','R1C2','R2C3','R2C4','R2C5','R2C6','R2C7','R2C8','R2C9');
+ $TABLA2->addRow($row,'cabecera');
+ $row = array ('R1C0','R1C1','R1C2','R2C3','R2C4','R2C5','R2C6','R2C7','R2C8','R2C9');
+ $TABLA2->addRow($row);
+ $row = array ('R2C0','R2C1','R2C2','R2C3','R2C4','R2C5','R2C6','R2C7','R2C8','R2C9');
+ $TABLA2->addRow($row);
+ $row = array ('R3C0','R3C1','R3C2','R3C3','R3C4','R3C5','R3C6','R3C7','R3C8','R3C9');
+ $TABLA2->addRow($row);
+
+$tmp = array ('colspan'=>2,'comun'=>true);
+
+ $TABLA2->updateCellAttributes(0, 0,'colspan=10');
+ $TABLA2->updateCellAttributes(1, 0,'rowspan=3');
+ $TABLA2->updateCellAttributes(1, 1,'rowspan=3');
+ $TABLA2->updateCellAttributes(1, 2,'colspan=8');
+ $TABLA2->updateCellAttributes(2, 2,'colspan=2 titulo');
+ $TABLA2->updateCellAttributes(2, 4,'colspan=2 cabecera');
+ $TABLA2->updateCellAttributes(2, 6,$tmp);
+ $TABLA2->updateCellAttributes(2, 8,'colspan=2 cabecera');
+ $TABLA2->updateColAttributes(9,'titulo');
+
+
+ $tohtml = $TABLA2->toHtml();
print $tohtml;
?>