X-Git-Url: https://git.llucax.com/z.facultad/75.43/tp1.git/blobdiff_plain/67a8494965128063251f7084fee7d8076d5f19e4..7370ef390ad178677c68b9bd7f5f7685020f452c:/src/lib/faq.functions.php?ds=inline diff --git a/src/lib/faq.functions.php b/src/lib/faq.functions.php index d33b3fe..a11e5d2 100644 --- a/src/lib/faq.functions.php +++ b/src/lib/faq.functions.php @@ -9,8 +9,11 @@ // $Id$ require_once 'Pregunta.php'; -require_once 'Respuesta.php'; +require_once 'Respuesta.php'; +require_once 'file.creditos.php'; +// Levanta las preguntas y respuestas del archivo +// Devuelve un array con cada una de las preguntas creadas function Faq_ObtenerPreguntas() { // Verifica que el file que guarda las preguntas exista @@ -102,41 +105,61 @@ function Faq_ObtenerPreguntas() return; } -function Faq_IngresarPregunta($UsrId, $Pregunta) +// Ingresa una pregunta en el sistema. +// Tiene que haber estado validado que el usuario pueda hacerlo +function Faq_IngresarPregunta($Usuario, $Pregunta) { - $Fecha = time(); + // Valida nuevamente que el usuario tenga los creditos suficientes para + // dar de alta la pregunta + if ( $Usuario->GetCreditos() > 0 ) + { + $Fecha = time(); + // Obtiene la lista de preguntas ya existentes + $Preguntas = Faq_ObtenerPreguntas(); + $CantidadPreguntas = count($Preguntas); - $Preguntas = Faq_ObtenerPreguntas(); - $CantidadPreguntas = count($Preguntas); + $NuevoId= 0; + if ( $CantidadPreguntas != 0 ) + { + $PreguntaObj = $Preguntas[$CantidadPreguntas -1]; + $NuevoId = $PreguntaObj->id; + $NuevoId = $NuevoId + 1; + } - $NuevoId= 0; - if ( $CantidadPreguntas != 0 ) - { - $PreguntaObj = $Preguntas[$CantidadPreguntas -1]; - $NuevoId = $PreguntaObj->id; - $NuevoId = $NuevoId + 1; + //Formato: + // PreguntaId | UserId | Fecha | Pregunta + $Linea = $NuevoId."|".$Usuario->getId()."|".$Fecha."|".$Pregunta."\n"; + $fp = fopen("data/preguntas.txt","a"); + if(!$fp) + { + return "Error en el archivo"; + } + fwrite($fp, $Linea); + fclose($fp); + + // Disminuye el credito del usuario, si es que no es asesor y tiene credito infinito + if ( !$Usuario->esAsesor() ) + { + file_creditos_preguntar( $Usuario->getId() ); + } + + return "La pregunta fue dada de alta correctamente"; } - - //Formato: - // PreguntaId | UserId | Fecha | Pregunta - $Linea = $NuevoId."|".$UsrId."|".$Fecha."|".$Pregunta."\r\n"; - $fp = fopen("data/preguntas.txt","a"); - if(!$fp) + else { - return "Error en el archivo"; + return "La pregunta no fue dada de alta. No dispone de credito suficiente"; } - fwrite($fp, $Linea); - fclose($fp); - return "La pregunta fue dada de alta correctamente"; } +// Ingresa una respuesta para una pregunta seleccionada +// Tienen que estar chequeadas las precondiciones function Faq_IngresarRespuesta($PreguntaId, $UsrId, $Respuesta) { $Fecha = time(); //Formato: // PreguntaRespondidaId| UserId | Fecha | Respuesta - $Linea = $PreguntaId."|".$UsrId."|".$Fecha."|".$Respuesta."\r\n"; + $Linea = $PreguntaId."|".$UsrId."|".$Fecha."|".$Respuesta."\n"; $fp = fopen("data/respuestas.txt","a"); if(!$fp) { @@ -147,9 +170,12 @@ function Faq_IngresarRespuesta($PreguntaId, $UsrId, $Respuesta) return "La respuesta fue dada de alta correctamente"; } +// Lista las preguntas existentes en el sistema +// 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) { - echo $Usuario->getId(); $Preguntas = Faq_ObtenerPreguntas(); $CantidadPreguntas = count($Preguntas); @@ -163,7 +189,7 @@ function Faq_ListarPreguntas($Usuario) { if ( $ObjPregunta->activa ) { - $ObjPregunta->Mostrar(); + $ObjPregunta->toHTML(); ?> Seleccionar Pregunta
esAdmin() ) { - //echo "Pasar preguntas a un log historico
"; - include 'faq.desactivarPregunta.php'; + echo "Pasar preguntas a un log historico
"; } } +// La funcion agrega el id de la pregunta a la lista de preguntas desactivadas function Faq_DesactivarPregunta( $PreguntaId ) { $fp = fopen("data/desactivadas.txt","a"); @@ -192,7 +218,7 @@ function Faq_DesactivarPregunta( $PreguntaId ) { return "Error en el archivo"; } - fwrite($fp, $PreguntaId."|".time()."\r\n"); + fwrite($fp, $PreguntaId."|".time()."\n"); fclose($fp); return "La pregunta fue dada de baja, no sera listada mas, pero conservada en un historico"; }