]> git.llucax.com Git - z.facultad/75.43/tp1.git/blob - src/lib/listador.php
6993d457a30cee469eb192fc54a8d4c9284c31ec
[z.facultad/75.43/tp1.git] / src / lib / listador.php
1 <?php
2 // vim: set binary noeol et sw=4 sts=4 :
3 // Grupo 10
4 //
5 // Lucarella, Schein, Arena
6 //
7 // Creado: Leandro Lucarella (lun may  2 15:36:09 ART 2005)
8 //
9 // $Id$
10
11 function printfl()
12 {
13     $args = func_get_args();
14     $args[0] .= "\n";
15     call_user_func_array('printf', $args);
16 }
17
18 /**
19  * Listador genérico de ítems. Usa las variables de GET lista_from.
20  */
21 function listar($item, $link = '', $caption = null, $summary = null, $cant = 15)
22 {
23     if (!$summary) $summary = 'Listado de ' . get_class($item) . 's';
24     printfl('<table border="1" summary="%s">', $summary);
25     if ($caption) printfl('    <caption>%s</caption>', $caption);
26     printfl('    <thead>');
27     printfl('    <tr>');
28     foreach ($item->getHeaderArray() as $header)
29         printfl('        <th>%s</th>', $header);
30     printfl('    </tr>');
31     printfl('    </thead>');
32     printfl('    <tbody>');
33     $total = $item->getTotal();
34     $from = intval(@$_GET["lista_from"]);
35     $c = min($total - $from, $cant);
36     $item->seek($from);
37     while ($item->next() and $c--)
38     {
39         printfl('    <tr>');
40         foreach ($item->asArray() as $i) printfl('        <td>%s</td>', $i);
41         printfl('    </tr>');
42     }
43     printfl('    </tbody>');
44     printfl('</table>');
45     printfl('<table summary="Paginador" border="0"><tr>');
46     $pags = ceil($total / $cant);
47     if ($pags == 1) return; // Si tengo una sóla página, para qué el paginador?
48     for ($i = 0; $i < $pags; ++$i)
49     {
50         printfl('<td><a href="%s?lista_from=%d">%s</a></td>', $link, $i * $cant, $i + 1);
51     }
52     printfl('</tr></table>');
53 }
54
55 ?>