+
+// La funcion agrega la calificacion de la respuesta en un log
+function Faq_CalificarRespuesta( $RespuestaId, $Calificacion , $UsrId)
+{
+ if ( file_exists ( "data/respuestas.csv" ) )
+ {
+ $respuestasPlano = @fopen("data/respuestas.csv", 'r');
+ $row = fgetcsv($respuestasPlano,4096);
+ $countRespuesta = 1;
+ while ( ( $countRespuesta != $RespuestaId ) && ( $row = fgetcsv($respuestasPlano,4096) ) )
+ {
+ $countRespuesta ++;
+ }
+ $autorId = $row[1];
+ fclose($respuestasPlano);
+ }
+ else
+ {
+ return "No existen respuestas";
+ }
+ if( !fappendcsv("data/calificacion.csv", array($RespuestaId, $Calificacion) ) )
+ {
+ return "Error en el archivo";
+ }
+ if ( !file_creditos_add($autorId, $Calificacion ) )
+ {
+ return "Error al computar los creditos al usuario";
+ }
+
+ // Loguea la accion
+ file_log_add($UsrId, "Califica una respuesta con $Calificacion puntos");
+ return "La calificacion a la respuesta fue dada de alta";
+}
+
+function Faq_SortRespuestasByRanking($respuestas)
+{
+ $n = count($respuestas);
+ for ($i=0; $i<$n-1; $i++)
+ {
+ for ($j=0; $j<$n-1-$i; $j++)
+ if ($respuestas[$j+1]->ranking < $respuestas[$j]->ranking)
+ {
+ $tmp = $respuestas[$j];
+ $respuestas[$j] = $respuestas[$j+1];
+ $respuestas[$j+1] = $tmp;
+ }
+ }
+ 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