var $autor;
var $fecha;
var $texto;
-
+ // Campos a mostrar
+ var $campos = array('Fecha', 'Autor', 'Texto');
function toHTML()
{
+ trigger_error("NO IMPLEMENTADO!!!", E_USER_WARNING);
+ return "NO IMPLEMENTADO";
+ }
+
+ // Carga en el objeto el próximo ítem disponible.
+ function next()
+ {
+ trigger_error("NO IMPLEMENTADO!!!", E_USER_WARNING);
+ return false;
+ }
+
+ // Devuelve cantidad total de ítems disponibles.
+ function getTotal()
+ {
+ trigger_error("NO IMPLEMENTADO!!!", E_USER_WARNING);
+ return 0;
+ }
+
+ // Obtiene cabeceras para el listador como un array.
+ function getHeaderArray()
+ {
+ return $this->campos;
+ }
+
+ // Devuelve los campos a listar del objeto actual como un array.
+ function asArray()
+ {
+ $arr = array();
+ foreach ($this->campos as $campo) $arr[] = $this->$campo;
+ return $arr;
}
}
--- /dev/null
+<?php
+// vim: set binary noeol et sw=4 sts=4 :
+// Grupo 10
+//
+// Lucarella, Schein, Arena
+//
+// Creado: Leandro Lucarella (lun may 2 15:36:09 ART 2005)
+//
+// $Id$
+
+/**
+ * Listador genérico de ítems. Usa las variables de GET lista_from.
+ */
+function listar($item, $summary = null, $caption = null, $cant = 15, $link = '')
+{
+ if (!$summary) $summary = 'Listado de ' . get_class($item) . 's';
+ printf('<table border="1" summary="%s">\n', $summary);
+ if ($caption) printf(' <caption>%s</caption>\n', $caption);
+ printf(' <thead>\n');
+ printf(' <tr>\n');
+ foreach ($item->getHeaderArray() as $header)
+ printf(' <th>%s</th>\n', $header);
+ printf(' </tr>\n');
+ printf(' </thead>\n');
+ printf(' <tbody>\n');
+ $total = $item->getTotal();
+ $from = intval(@$_GET["lista_from"]);
+ $c = min($total - $from, $cant);
+ $item->seek($from);
+ while ($item->next() and $c--)
+ {
+ printf(' <tr>\n');
+ foreach ($item->asArray() as $i) printf(' <td>%s</td>\n', $i);
+ printf(' </tr>\n');
+ }
+ printf(' </tbody>\n');
+ printf('</table>\n');
+ printf('<table summary="Paginador" border="0"><tr>\n');
+ $pags = ceil($total / $cant);
+ for ($i = 0; $i < $pags; ++$i)
+ {
+ printf('<td><a href="%s?lista_from=%d">%s</a></td>\n', $link, $i * $cant, $i + 1);
+ }
+ printf('</tr></table>\n');
+}
+
+?>
\ No newline at end of file