From: Jonathan Schein Date: Sun, 8 May 2005 03:16:37 +0000 (+0000) Subject: subo el paginador, que esta en faq.functions. Es una adaptacion del de luca, pero... X-Git-Tag: svn_import~33 X-Git-Url: https://git.llucax.com/z.facultad/75.43/tp1.git/commitdiff_plain/43ae0268bbcfc6d2c490c82a4d6fea9c648171c5?ds=inline subo el paginador, que esta en faq.functions. Es una adaptacion del de luca, pero que en lugar de usar un archivo, utiliza objetos del tipo Item, que tienen que estar en un array, cuyas keys son valores consecutivos --- diff --git a/src/faq.listadoPreguntas.php b/src/faq.listadoPreguntas.php index 0e97809..dfea5e1 100644 --- a/src/faq.listadoPreguntas.php +++ b/src/faq.listadoPreguntas.php @@ -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'); diff --git a/src/lib/faq.functions.php b/src/lib/faq.functions.php index 88879dd..0f50931 100644 --- a/src/lib/faq.functions.php +++ b/src/lib/faq.functions.php @@ -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(); ?> -
+
@@ -240,6 +240,11 @@ function Faq_ListarPreguntas($Usuario) { echo "Pasar preguntas a un log historico
"; } +}*/ + +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(' '); + //printfl(' '); + } + } + printfl(''); + $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('', $link, $q, $i + 1); + } + printfl('
%s
'); +} ?> \ No newline at end of file