]> git.llucax.com Git - z.facultad/75.43/tp1.git/blobdiff - src/lib/faq.functions.php
Agrega un aviso si la pregunta esta rankeada. Cambia los Mostrar por toHTML(). Muestr...
[z.facultad/75.43/tp1.git] / src / lib / faq.functions.php
index d33b3fe673137db6783b904188318aec9f5deae2..a11e5d2328d1a95bb3b297984f02b30f5c1bd27e 100644 (file)
@@ -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();
                                ?>
                                <input type="radio" name="PreguntaId" value="<?php echo $ObjPregunta->id ?>"> Seleccionar Pregunta <br/> 
                                <?php
@@ -180,11 +206,11 @@ function Faq_ListarPreguntas($Usuario)
  }
  if ( $Usuario->esAdmin() )
  {
-               //echo "<a href='faq.desactivarPregunta.php'>Pasar preguntas a un log historico</a><br/>";
-               include 'faq.desactivarPregunta.php';
+               echo "<a href='faq.desactivarPregunta.php'>Pasar preguntas a un log historico</a><br/>";
  }
 }
 
+// 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";   
 }