]> git.llucax.com Git - mecon/meconlib.git/commitdiff
- Cambio de api
authorMartín Marrese <marrese@gmail.com>
Wed, 4 Jun 2003 19:35:37 +0000 (19:35 +0000)
committerMartín Marrese <marrese@gmail.com>
Wed, 4 Jun 2003 19:35:37 +0000 (19:35 +0000)
HTML/php/Tabla.php
HTML/test/prueba_tabla.php

index a635c429096664c3be451c30e658aecaaff187e4..ae441c8ae1d2210847c6518985ba7851b5ea3898 100644 (file)
@@ -63,8 +63,8 @@ class Tabla extends HTML_Table {
         // 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'];
             }
@@ -104,9 +104,7 @@ class Tabla extends HTML_Table {
      */
     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');
     }
 
     /**                 
@@ -128,9 +126,7 @@ class Tabla extends HTML_Table {
      */
     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');
     }
 
 
@@ -146,7 +142,7 @@ class Tabla extends HTML_Table {
      */
     function rowSpan($fila, $columna, $valor)
     {
-        return $this->updateCellAttributes($fila, $columna, 'rowspan='.$valor);
+        return $this->updateCellAttributes($fila, $columna, 'rowspan="'.$valor.'"');
     }
 
     /**                 
@@ -161,7 +157,7 @@ class Tabla extends HTML_Table {
      */
     function colSpan($fila, $columna, $valor)
     {
-        return $this->updateCellAttributes($fila, $columna, 'colspan='.$valor);
+        return $this->updateCellAttributes($fila, $columna, 'colspan="'.$valor.'"');
     }
 
     /**                 
@@ -176,8 +172,6 @@ class Tabla extends HTML_Table {
      */
     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.'"');
     }
 
@@ -191,9 +185,7 @@ class Tabla extends HTML_Table {
      */
     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');
     }
 
     /**                 
@@ -206,9 +198,7 @@ class Tabla extends HTML_Table {
      */
     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');
     }
 
     /**                 
@@ -222,8 +212,6 @@ class Tabla extends HTML_Table {
      */
     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.'"');
     }
 
@@ -238,8 +226,6 @@ class Tabla extends HTML_Table {
      */
     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.'"');
     }
 
@@ -255,8 +241,6 @@ class Tabla extends HTML_Table {
      */
     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.'"');
     }
 
@@ -291,98 +275,119 @@ class Tabla extends HTML_Table {
         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;
     }
-
 }  
 ?>
index 2c3bc5fb82dd22faf05d23c4957d2bc503de7d8b..ed58ad41e90cec30a56efa5d2105dd9af2e3b1e1 100644 (file)
 
 <?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;
 ?>