]> git.llucax.com Git - z.facultad/75.43/tp1.git/commitdiff
Alta de creditos para el usuario que rankea una pregunta
authorJonathan Schein <jonathanschein@fibertel.com.ar>
Sat, 7 May 2005 00:46:22 +0000 (00:46 +0000)
committerJonathan Schein <jonathanschein@fibertel.com.ar>
Sat, 7 May 2005 00:46:22 +0000 (00:46 +0000)
src/data/preguntas.txt
src/data/respuestas.txt
src/faq.responderPregunta.php
src/lib/Pregunta.php
src/lib/faq.functions.php

index 6e80f23017afa17e0ac84f87b5ed86e8f43aadfc..e8d7cbe8b66a2a7079165ab91457d26805d13af5 100644 (file)
@@ -1,2 +1,3 @@
 0|1|1115264860|Puedo preguntar?
 1|2|1115268467|Otra pregunta
 0|1|1115264860|Puedo preguntar?
 1|2|1115268467|Otra pregunta
+2|3|1115420890|Otra pregunta?
index 714875b0d8d8ba8cb8a45ca4ed12f87999bdd634..7678ecbe7fb10d36197ceec8f4822a716128668d 100644 (file)
@@ -1,2 +1,5 @@
 0|1|1115267017|SI!
 0|1|1115355278|Puede ser!
 0|1|1115267017|SI!
 0|1|1115355278|Puede ser!
+1||1115420754|Esto es otra respuesta
+1|3|1115420803|Esto es otra respuesta
+2|1|1115420939|Claro
index 55962fadb249dd897bf0760663082642a03ff8b8..b3b2acdd3e7f74a617078b2c3a276182cbdb489f 100644 (file)
@@ -20,9 +20,8 @@ pagina_cabecera('Responder una Pregunta');
 if (isset($_POST['Respuesta']))
 {
     // Muestro el formulario y luego el mensaje del intento de formulacion de pregunta
 if (isset($_POST['Respuesta']))
 {
     // Muestro el formulario y luego el mensaje del intento de formulacion de pregunta
-               faq_form_responder_pregunta($_POST['PreguntaId']);
-               //Todo: Falta que maneje el tema de usuario
-               echo Faq_IngresarRespuesta($_POST['PreguntaId'],"1",$_POST['Respuesta']); 
+               //faq_form_responder_pregunta($_POST['PreguntaId']);
+               echo Faq_IngresarRespuesta($_POST['PreguntaId'],$_SESSION['user']->GetId(),$_POST['Respuesta']); 
 }
 else 
 {
 }
 else 
 {
index 80f4253a4e20a0c3390c34e02b11273515b108bc..3823275a6f77bdac81dc61118c83625b5fd9a2bd 100644 (file)
@@ -37,6 +37,7 @@ class Pregunta extends Item
                 foreach ( $this->respuestas as $objRespuesta )
                 {
                        $objRespuesta->toHTML();
                 foreach ( $this->respuestas as $objRespuesta )
                 {
                        $objRespuesta->toHTML();
+                       echo $objRespuesta->ranking ;
                        if ( ( $this->autor == $_SESSION['user']->getId() ) && ( $objRespuesta->ranking == -1 ) )
                        {
                                 faq_form_ir_a_calificar_respuesta($objRespuesta->id);
                        if ( ( $this->autor == $_SESSION['user']->getId() ) && ( $objRespuesta->ranking == -1 ) )
                        {
                                 faq_form_ir_a_calificar_respuesta($objRespuesta->id);
index 81cd54bc4016b4f507ca5aef10931671dcd6acc5..929af479b134aa05f3a62a4e508f409dddb2a406 100644 (file)
@@ -21,7 +21,19 @@ function Faq_ObtenerPreguntas()
  // Si no existe, devuelve un array vacio
  if ( file_exists ( "data/preguntas.txt" ) )
  {
  // 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" ) )
        {
        
        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];
                 $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++;
                 
                 
                 $respuestaId++;
                 
-                if ( array_key_exists($objRespuesta->idPregunta, $RespuestasPorPregunta ) )
+                if ( array_key_exists($objRespuesta->idPregunta, $respuestasPorPregunta ) )
                 {
                 {
-                        $ListaRespuestas = $RespuestasPorPregunta[$objRespuesta->idPregunta];
+                        $listaRespuestas = $respuestasPorPregunta[$objRespuesta->idPregunta];
                 }
                 else
                 {
                 }
                 else
                 {
-                                $ListaRespuestas = array();
+                                $listaRespuestas = array();
                 }
                
                 // Agrega la respuesta a la lista de respuestas correspondiente a una pregunta
                 }
                
                 // Agrega la respuesta a la lista de respuestas correspondiente a una pregunta
-                $ListaRespuestas[] = $objRespuesta;
+                $listaRespuestas[] = $objRespuesta;
                
                 // Guarda la lista de respuestas de la pregunta                
                
                 // 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
                }
                
                // 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. 
 }
 
 // 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
 }
 
 // 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";
  }
  {
    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
  return "La calificacion a la respuesta fue dada de alta";      
 }
 ?>
\ No newline at end of file