2 // vim: set binary noeol et sw=4 sts=4 :
\r
5 // Lucarella, Schein, Arena
\r
7 // Creado: Jonathan Schein ( 01/05/2005 )
\r
9 // $Id: faq.functions.php
\r
11 require_once 'pregunta.php';
\r
12 require_once 'respuesta.php';
\r
14 function Faq_ObtenerPreguntas()
\r
16 // Verifica que el file que guarda las preguntas exista
\r
17 // Si no existe, devuelve un array vacio
\r
18 if ( file_exists ( "data/preguntas.txt" ) )
\r
20 $RespuestasPorPregunta = array();
\r
22 if ( file_exists ( "data/respuestas.txt" ) )
\r
24 // Levanta todas las respuestas existentes de un archivo,
\r
25 // Para luego vincularlas con las preguntas
\r
26 $respuestasPlano = file("data/respuestas.txt");
\r
28 foreach($respuestasPlano as $row)
\r
30 $objRespuesta = new Respuesta;
\r
32 $rowDiv = explode("|",$row);
\r
33 $objRespuesta->idPregunta = $rowDiv[0];
\r
34 $objRespuesta->autor = $rowDiv[1];
\r
35 $objRespuesta->fecha = date('d/m/y H:i:s', $rowDiv[2]);
\r
36 $objRespuesta->texto = $rowDiv[3];
\r
37 // La respuesta no fue rankeada
\r
38 // ToDo: Manejar los rankings de preguntas
\r
39 $objRespuesta->ranking = -1;
\r
41 if ( array_key_exists($objRespuesta->idPregunta, $RespuestasPorPregunta ) )
\r
43 $ListaRespuestas = $RespuestasPorPregunta[$objRespuesta->idPregunta];
\r
47 $ListaRespuestas = array();
\r
50 // Agrega la respuesta a la lista de respuestas correspondiente a una pregunta
\r
51 $ListaRespuestas[] = $objRespuesta;
\r
53 // Guarda la lista de respuestas de la pregunta
\r
54 $RespuestasPorPregunta[$objRespuesta->idPregunta] = $ListaRespuestas;
\r
58 $preguntasPlano = file("data/preguntas.txt");
\r
60 foreach($preguntasPlano as $row)
\r
62 $objPregunta = new Pregunta;
\r
64 $rowDiv = explode("|",$row);
\r
65 $objPregunta->id = $rowDiv[0];
\r
66 $objPregunta->autor = $rowDiv[1];
\r
67 $objPregunta->fecha = date('d/m/y H:i:s', $rowDiv[2]);
\r
68 $objPregunta->texto = $rowDiv[3];
\r
69 // ToDo: resolver tema de actividad de preguntas
\r
70 $objPregunta->activa = 1;
\r
72 // Busca las respuestas a la pregunta
\r
73 if ( array_key_exists($objPregunta->id, $RespuestasPorPregunta ) )
\r
75 $objPregunta->respuestas = $RespuestasPorPregunta[$objPregunta->id];
\r
78 $Preguntas[] = $objPregunta;
\r
85 function Faq_IngresarPregunta($UsrId, $Pregunta)
\r
89 $Preguntas = Faq_ObtenerPreguntas();
\r
90 $CantidadPreguntas = count($Preguntas);
\r
93 if ( $CantidadPreguntas != 0 )
\r
95 $PreguntaObj = $Preguntas[$CantidadPreguntas -1];
\r
96 $NuevoId = $PreguntaObj->id;
\r
97 $NuevoId = $NuevoId + 1;
\r
101 // PreguntaId | UserId | Fecha | Pregunta
\r
102 $Linea = $NuevoId."|".$UsrId."|".$Fecha."|".$Pregunta."\r\n";
\r
103 $fp = fopen("data/preguntas.txt","a");
\r
106 return "Error en el archivo";
\r
108 fwrite($fp, $Linea);
\r
110 return "La pregunta fue dada de alta correctamente";
\r
113 function Faq_IngresarRespuesta($PreguntaId, $UsrId, $Respuesta)
\r
118 // PreguntaRespondidaId| UserId | Fecha | Respuesta
\r
119 $Linea = $PreguntaId."|".$UsrId."|".$Fecha."|".$Respuesta."\r\n";
\r
120 $fp = fopen("data/respuestas.txt","a");
\r
123 return "Error en el archivo";
\r
125 fwrite($fp, $Linea);
\r
127 return "La respuesta fue dada de alta correctamente";
\r
130 function Faq_ListarPreguntas()
\r
132 $Preguntas = Faq_ObtenerPreguntas();
\r
134 $CantidadPreguntas = count($Preguntas);
\r
136 if ( $CantidadPreguntas != 0 )
\r
139 <form name="faq_listado_preguntas" action="faq.responderPregunta.php" method="post">
\r
141 foreach($Preguntas as $ObjPregunta)
\r
143 if ( $ObjPregunta->activa )
\r
145 $ObjPregunta->Mostrar();
\r
147 <input type="radio" name="PreguntaId" value="<?php echo $ObjPregunta->id ?>"> Seleccionar Pregunta <br>
\r
152 <input type=submit value="Responder Pregunta">
\r
158 echo "NO HAY PREGUNTAS PARA MOSTRAR";
\r