X-Git-Url: https://git.llucax.com/z.facultad/75.43/tp1.git/blobdiff_plain/fa51ae176fb105882f18d0841053c31756e10d4a..e92b831febcf1737682bfb7aa28c552a0dc8dabb:/src/lib/faq.functions.php diff --git a/src/lib/faq.functions.php b/src/lib/faq.functions.php index 81cd54b..929af47 100644 --- a/src/lib/faq.functions.php +++ b/src/lib/faq.functions.php @@ -21,7 +21,19 @@ function Faq_ObtenerPreguntas() // Si no existe, devuelve un array vacio if ( file_exists ( "data/preguntas.txt" ) ) { - $RespuestasPorPregunta = array(); + // Levanta las puntuaciones de preguntas desde el archivo + // Si existe el archivo + $calificaciones = array(); + if (($fp = fopen('data/calificacion.csv', 'r')) === true) + { + while ($data = fgetcsv ($fp, 4096)) + { + $calificaciones[$data[0]] = $data[1]; + } + fclose ($fp); + } + + $respuestasPorPregunta = array(); if ( file_exists ( "data/respuestas.txt" ) ) { @@ -40,26 +52,32 @@ function Faq_ObtenerPreguntas() $objRespuesta->autor = $rowDiv[1]; $objRespuesta->fecha = date('d/m/y H:i:s', $rowDiv[2]); $objRespuesta->texto = $rowDiv[3]; - // La respuesta no fue rankeada - // ToDo: Manejar los rankings de preguntas - $objRespuesta->ranking = -1; + // Agrega la calificacion de la respuesta, si es que esta calificada + if ( array_key_exists($respuestaId, $calificaciones ) ) + { + $objRespuesta->ranking = $calificaciones[$respuestaId]; + } + else + { + $objRespuesta->ranking = -1; + } $respuestaId++; - if ( array_key_exists($objRespuesta->idPregunta, $RespuestasPorPregunta ) ) + if ( array_key_exists($objRespuesta->idPregunta, $respuestasPorPregunta ) ) { - $ListaRespuestas = $RespuestasPorPregunta[$objRespuesta->idPregunta]; + $listaRespuestas = $respuestasPorPregunta[$objRespuesta->idPregunta]; } else { - $ListaRespuestas = array(); + $listaRespuestas = array(); } // Agrega la respuesta a la lista de respuestas correspondiente a una pregunta - $ListaRespuestas[] = $objRespuesta; + $listaRespuestas[] = $objRespuesta; // Guarda la lista de respuestas de la pregunta - $RespuestasPorPregunta[$objRespuesta->idPregunta] = $ListaRespuestas; + $respuestasPorPregunta[$objRespuesta->idPregunta] = $listaRespuestas; } } @@ -98,16 +116,19 @@ function Faq_ObtenerPreguntas() } // Busca las respuestas a la pregunta - if ( array_key_exists($objPregunta->id, $RespuestasPorPregunta ) ) + if ( array_key_exists($objPregunta->id, $respuestasPorPregunta ) ) { - $objPregunta->respuestas = $RespuestasPorPregunta[$objPregunta->id]; + $objPregunta->respuestas = $respuestasPorPregunta[$objPregunta->id]; } - $Preguntas[] = $objPregunta; + $preguntas[] = $objPregunta; } - return $Preguntas; + return $preguntas; + } + else + { + return; } - return; } // Ingresa una pregunta en el sistema. @@ -225,12 +246,30 @@ function Faq_DesactivarPregunta( $PreguntaId ) } // La funcion agrega la calificacion de la respuesta en un log -function Faq_CalificarRespuesta( $respuestaId, $calificacion ) +function Faq_CalificarRespuesta( $RespuestaId, $Calificacion ) { - if( !fappendcsv("data/calificacion.csv", array($respuestaId, $calificacion) ) ) + if ( file_exists ( "data/respuestas.txt" ) ) + { + // Levanta todas las respuestas existentes de un archivo, + // Para luego vincularlas con las preguntas + $respuestasPlano = file("data/respuestas.txt"); + $row = $respuestasPlano[$RespuestaId]; + $row = explode("|",$row); + $autorId = $row[1]; + } + 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"; + } + return "La calificacion a la respuesta fue dada de alta"; } ?> \ No newline at end of file