]> git.llucax.com Git - z.facultad/75.43/tp1.git/blob - src/lib/faq.functions.php
Integre la parte de login con mi listado de preguntas. Hice un pequeño cambio en...
[z.facultad/75.43/tp1.git] / src / lib / faq.functions.php
1 <?php\r
2 // vim: set binary noeol et sw=4 sts=4 :\r
3 // Grupo 10\r
4 //\r
5 // Lucarella, Schein, Arena\r
6 //\r
7 // Creado: Jonathan Schein ( 01/05/2005 )\r
8 //\r
9 // $Id: faq.functions.php\r
10 \r
11 require_once 'Pregunta.php';\r
12 require_once 'Respuesta.php';  \r
13 \r
14 function Faq_ObtenerPreguntas()\r
15 {\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
19  {\r
20         $RespuestasPorPregunta = array();\r
21         \r
22         if ( file_exists ( "data/respuestas.txt" ) )\r
23         {\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
27         \r
28          foreach($respuestasPlano as $row)\r
29          {\r
30            $objRespuesta = new Respuesta;\r
31                  \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
40                  \r
41                  if ( array_key_exists($objRespuesta->idPregunta, $RespuestasPorPregunta ) )\r
42                  {\r
43                          $ListaRespuestas = $RespuestasPorPregunta[$objRespuesta->idPregunta];\r
44                  }\r
45                  else\r
46                  {\r
47                                  $ListaRespuestas = array();\r
48                  }\r
49                 \r
50                  // Agrega la respuesta a la lista de respuestas correspondiente a una pregunta\r
51                  $ListaRespuestas[] = $objRespuesta;\r
52                 \r
53                  // Guarda la lista de respuestas de la pregunta                \r
54                  $RespuestasPorPregunta[$objRespuesta->idPregunta] = $ListaRespuestas;   \r
55           }\r
56         }\r
57         \r
58         $preguntasDesactivadas = array();\r
59         \r
60         if ( file_exists("data/desactivadas.txt" ) )\r
61         {\r
62                 $desactivadasPlano = file("data/desactivadas.txt");\r
63                 foreach ($desactivadasPlano as $row)\r
64                 {\r
65                  $rowDiv = explode("|",$row);\r
66                  $preguntasDesactivadas[$rowDiv[0]] = "0";\r
67                 }\r
68         } \r
69         \r
70         $preguntasPlano = file("data/preguntas.txt");\r
71         \r
72         foreach($preguntasPlano as $row) \r
73         {\r
74           $objPregunta = new Pregunta;\r
75 \r
76                 $rowDiv = explode("|",$row);\r
77                 $objPregunta->id                                        = $rowDiv[0];\r
78                 $objPregunta->autor                     = $rowDiv[1];\r
79                 $objPregunta->fecha                             = date('d/m/y H:i:s', $rowDiv[2]);\r
80                 $objPregunta->texto                     = $rowDiv[3];\r
81                 \r
82                 // Verifica si una pregunta esta activa o fue dada de baja\r
83                 if ( array_key_exists($objPregunta->id, $preguntasDesactivadas) )\r
84                 {\r
85                  $objPregunta->activa                   = 0;\r
86                 }\r
87                 else\r
88                 {\r
89                  $objPregunta->activa                   = 1;\r
90                 }\r
91                 \r
92                 // Busca las respuestas a la pregunta\r
93                 if ( array_key_exists($objPregunta->id, $RespuestasPorPregunta ) )\r
94                 {\r
95                           $objPregunta->respuestas = $RespuestasPorPregunta[$objPregunta->id];\r
96                 }\r
97                 \r
98                 $Preguntas[] = $objPregunta;\r
99         }\r
100         return $Preguntas;\r
101  }\r
102  return;\r
103 }\r
104 \r
105 function Faq_IngresarPregunta($UsrId, $Pregunta)\r
106 {\r
107  $Fecha = time();\r
108 \r
109  $Preguntas = Faq_ObtenerPreguntas();\r
110  $CantidadPreguntas = count($Preguntas);\r
111 \r
112  $NuevoId= 0;\r
113  if ( $CantidadPreguntas != 0 )\r
114  {\r
115    $PreguntaObj = $Preguntas[$CantidadPreguntas -1];\r
116          $NuevoId = $PreguntaObj->id;\r
117          $NuevoId = $NuevoId + 1;\r
118  }\r
119 \r
120  //Formato:\r
121  // PreguntaId | UserId | Fecha | Pregunta\r
122  $Linea = $NuevoId."|".$UsrId."|".$Fecha."|".$Pregunta."\r\n";\r
123  $fp = fopen("data/preguntas.txt","a");\r
124  if(!$fp) \r
125  {\r
126    return "Error en el archivo";\r
127  }\r
128  fwrite($fp, $Linea);\r
129  fclose($fp);\r
130  return "La pregunta fue dada de alta correctamente";\r
131 }\r
132 \r
133 function Faq_IngresarRespuesta($PreguntaId, $UsrId, $Respuesta)\r
134 {\r
135  $Fecha = time();\r
136 \r
137  //Formato:\r
138  // PreguntaRespondidaId| UserId | Fecha | Respuesta\r
139  $Linea = $PreguntaId."|".$UsrId."|".$Fecha."|".$Respuesta."\r\n";\r
140  $fp = fopen("data/respuestas.txt","a");\r
141  if(!$fp) \r
142  {\r
143    return "Error en el archivo";\r
144  }\r
145  fwrite($fp, $Linea);\r
146  fclose($fp);\r
147  return "La respuesta fue dada de alta correctamente";\r
148 }\r
149 \r
150 function Faq_ListarPreguntas($Usuario)\r
151 {\r
152  echo $Usuario->getId();\r
153  $Preguntas = Faq_ObtenerPreguntas();\r
154  \r
155  $CantidadPreguntas = count($Preguntas);\r
156 \r
157  if ( $CantidadPreguntas != 0 )\r
158  {\r
159  ?>\r
160  <form name="faq_listado_preguntas" action="faq.responderPregunta.php" method="post">\r
161  <?php \r
162    foreach($Preguntas as $ObjPregunta)\r
163          {\r
164                 if ( $ObjPregunta->activa )\r
165                 {\r
166                         $ObjPregunta->Mostrar();\r
167                                 ?>\r
168                                 <input type="radio" name="PreguntaId" value="<?php echo $ObjPregunta->id ?>"> Seleccionar Pregunta <br/> \r
169                                 <?php\r
170                 }\r
171          }\r
172          ?>\r
173          <input type=submit value="Responder Pregunta">\r
174    </form>\r
175 <?php\r
176  }\r
177  else\r
178  {\r
179         echo "NO HAY PREGUNTAS PARA MOSTRAR";\r
180  }\r
181  if ( $Usuario->esAdmin() )\r
182  {\r
183                 //echo "<a href='faq.desactivarPregunta.php'>Pasar preguntas a un log historico</a><br/>";\r
184                 include 'faq.desactivarPregunta.php';\r
185  }\r
186 }\r
187 \r
188 function Faq_DesactivarPregunta( $PreguntaId )\r
189 {\r
190  $fp = fopen("data/desactivadas.txt","a");\r
191  if(!$fp) \r
192  {\r
193    return "Error en el archivo";\r
194  }\r
195  fwrite($fp, $PreguntaId."|".time()."\r\n");\r
196  fclose($fp);\r
197  return "La pregunta fue dada de baja, no sera listada mas, pero conservada en un historico";    \r
198 }\r
199 ?>\r