]> git.llucax.com Git - z.facultad/75.43/tp1.git/commitdiff
subo el paginador, que esta en faq.functions. Es una adaptacion del de luca, pero...
authorJonathan Schein <jonathanschein@fibertel.com.ar>
Sun, 8 May 2005 03:16:37 +0000 (03:16 +0000)
committerJonathan Schein <jonathanschein@fibertel.com.ar>
Sun, 8 May 2005 03:16:37 +0000 (03:16 +0000)
src/faq.listadoPreguntas.php
src/lib/faq.functions.php

index 0e978096dbf9597ebe97ede1a5f6fde158ff7df2..dfea5e1850a4104fb4f64561cad39bb6fc18df8a 100644 (file)
@@ -13,7 +13,7 @@ require_once 'lib/faq.functions.php';
 
 marco_cabecera('Listado de Preguntas');
 
-Faq_ListarPreguntas($_SESSION['user']);
+Faq_ListarPreguntas($_SESSION['user'], "faq.listadoPreguntas.php");
 
 marco_pie('Jonathan Schein', 'jonathanschein@fibertel.com.ar', 'img/j.jpg');
 
index 88879dd9f1d0f6e0a0590f73f305fb0854ba1ce8..0f509317389dccc92e026a396e990c0d3e72afc0 100644 (file)
@@ -210,7 +210,7 @@ function Faq_IngresarRespuesta($PreguntaId, $UsrId, $Respuesta)
 // Recibe el usuario que esta logueado, para determinar 
 // que opciones de menu le tiene que brindar ( dar de baja pregunta,
 // contestar pregunta, ranquear pregunta ).
-function Faq_ListarPreguntas($Usuario)
+/*function Faq_ListarPreguntas($Usuario)
 {
  $Preguntas = Faq_ObtenerPreguntas();
  
@@ -224,7 +224,7 @@ function Faq_ListarPreguntas($Usuario)
                {
                        $ObjPregunta->toHTML();
 ?>
-                               <form action="faq.responderPregunta.php" method="post"-->
+                               <form action="faq.responderPregunta.php" method="post">
                                                        <input type="hidden" name="PreguntaId" value="<?php echo $ObjPregunta->id ?>">
                                                        <input type=submit value="Responder Pregunta">
                                </form> 
@@ -240,6 +240,11 @@ function Faq_ListarPreguntas($Usuario)
  {
                echo "<a href='faq.desactivarPregunta.php'>Pasar preguntas a un log historico</a><br/>";
  }
+}*/
+
+function Faq_ListarPreguntas($Usuario)
+{
+ Faq_Listador ( Faq_ObtenerPreguntas() );
 }
 
 // La funcion agrega el id de la pregunta a la lista de preguntas desactivadas
@@ -305,4 +310,58 @@ function Faq_SortRespuestasByRanking($respuestas)
        }
        return $respuestas;
 }
+function printfl()
+{
+    $args = func_get_args();
+    $args[0] .= "\n";
+    call_user_func_array('printf', $args);
+}
+
+function Faq_Listador($ObjetosAListar,$link = '', $cant = 2)
+{
+                // Calculo posiciones
+    $total = count($ObjetosAListar);
+    if (!$total)
+    {
+        echo error('No se encontraron Items');
+        return;
+    }
+    $from = intval(@$_GET["lista_from"]);
+    $c = min($total - $from, $cant);
+               
+               while ( $c-- )
+    {
+        if ( array_key_exists($from, $ObjetosAListar) )
+                               {
+                               $obj = $ObjetosAListar[$from++];
+                               $obj->toHTML();
+                               //printfl('    <tr>');
+        //printfl('    </tr>');
+                               }
+    }
+               printfl('<table summary="Paginador" border="0"><tr>');
+               $pags = ceil($total / $cant);
+    if ($pags == 1) return; // Si tengo una sóla página, para qué el paginador?
+    // Arrastro query string, si corresponde
+    if ( isset($_SERVER['QUERY_STRING'] ) )
+               {
+                $query = $_SERVER['QUERY_STRING'];
+               }
+               else
+               {
+                $query = '';
+               }
+    if (($pos = strpos($query, 'lista_from=')) !== false)
+    {
+        if ($pos) $query = substr($query, 0, --$pos);
+        else      $query = '';
+    }
+    for ($i = 0; $i < $pags; ++$i)
+    {
+        $from = $i * $cant;
+        $q = $query ? "$query&lista_from=$from" : "lista_from=$from";
+        printfl('<td><a href="%s?%s">%s</a></td>', $link, $q, $i + 1);
+    }
+               printfl('</tr></table>');
+}
 ?>
\ No newline at end of file