require_once 'Pregunta.php';
require_once 'Respuesta.php';
-require_once 'file.creditos.php';
+require_once 'file.creditos.php';
+require_once 'file.php';
// Levanta las preguntas y respuestas del archivo
// Devuelve un array con cada una de las preguntas creadas
// 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" ) )
{
// Para luego vincularlas con las preguntas
$respuestasPlano = file("data/respuestas.txt");
+ $respuestaId = 0;
foreach($respuestasPlano as $row)
{
$objRespuesta = new Respuesta;
$rowDiv = explode("|",$row);
$objRespuesta->idPregunta = $rowDiv[0];
+ $objRespuesta->id = $respuestaId;
$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;
}
}
}
// 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.
if ( $CantidadPreguntas != 0 )
{
- ?>
- <form name="faq_listado_preguntas" action="faq.responderPregunta.php" method="post">
- <?php
- foreach($Preguntas as $ObjPregunta)
+ foreach($Preguntas as $ObjPregunta)
{
if ( $ObjPregunta->activa )
{
$ObjPregunta->toHTML();
- ?>
- <input type="radio" name="PreguntaId" value="<?php echo $ObjPregunta->id ?>"> Seleccionar Pregunta <br/>
- <?php
+?>
+ <form action="faq.responderPregunta.php" method="post"-->
+ <input type="hidden" name="PreguntaId" value="<?php echo $ObjPregunta->id ?>">
+ <input type=submit value="Responder Pregunta">
+ </form>
+<?php
}
}
- ?>
- <input type=submit value="Responder Pregunta">
- </form>
-<?php
}
else
{
fclose($fp);
return "La pregunta fue dada de baja, no sera listada mas, pero conservada en un historico";
}
+
+// La funcion agrega la calificacion de la respuesta en un log
+function Faq_CalificarRespuesta( $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