/cuentas/Cuestionario2.php
PHP | 467 lines | 301 code | 94 blank | 72 comment | 36 complexity | 9f1a2fe745385e8f7d881d97c6fde295 MD5 | raw file
Possible License(s): GPL-2.0, GPL-3.0, AGPL-1.0, LGPL-2.1
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//ES">
- <meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
- <link href="EstiloReporta2011.css" rel="stylesheet" type="text/css">
- <script type="text/javascript" src="jquery-1.4.2.js"></script>
- <html>
- <head>
- <title>REPORTA: Sistema Ciudadano de Monitoreo de Enfermedades Respiratorias</title>
- </head>
- <body>
- <div class="Contenedor">
- <?php include_once( 'cabeza.php' );
- include_once( 'funciones.php' );
- include_once( 'auxiliares.php' );
- include_once('ColumnaAdminNoticias.php'); ?>
- <div class="Cuerpo conFondo">
- <div class="textCuerpo justify Secundaria" >
- <h3> Cuestionario</h3>
- <?php
- /*
- Antes que nada, los numeros de los cuestionarios <-----------------------------
- */
- $cuestinic = 1; // Inicial
- $cuestpost = 2; // Rutrinario
- $cuestdoct = 3; // Tras volver del Doc
- $cuestcucho = 4;
- /*
- Luego la conexión a la DB
- */
-
- // =============
- // ------- CONEXION A BASE DE DATOS --------
- // -- (poniendo charset a utf8) --
-
- include_once('conexion.php');
- //mysql_set_charset('utf8',$conexion);
- $con = new DBManager;
- $exito = False; $mom = 0;
- if (!$con->conectar()) {
- echo "<H2>CONEXION CON LA BASE FALLIDA</H2>"; }
- mysql_set_charset('utf8',$con->conexion());
-
- include_once('funcionesCuestionario.php');
- /*
- -- Ahora lo principal ---------------
- */
- /*
- Las entradas hay que limpiarlas contra SQL injection
- */
- $Pemail = clean($_POST['Femail']);
- $Pclav1 = clean($_POST['Fclav1']);
- $Pestado = clean($_POST['Festado']);
- $Pmunicipio = clean($_POST['Fmunicipio']);
- $Pcp = clean($_POST['CCCP']);
- $Pcp2 = clean($_POST['CCCP2']);
- $Ppaso = clean($_POST['Fpaso']); // <- Indica si el usuario acaba de llenar un cuestionario
- $Pquest = clean($_POST['Fquest']); // <- Indica cual es el cuestionario que el usuario acaba de llenar
- $Pcalle = clean($_POST['Fcalle']);
- $Pentre1 = clean($_POST['Fentre1']);
- $Pentre2 = clean($_POST['Fentre2']);
-
- $Pfechaapasar = clean($_POST['Ffechaapasar']);
- $Qusuario = mysql_query("SELECT * FROM usuario WHERE EMail='".$Pemail."' AND ( AFavor=sha1('".$Pclav1."') OR AFavor='".$Pclav1."')");
- $usuario = mysql_fetch_array($Qusuario);
- $notification_id = $_POST['Fcount'];
-
- // Tiene que haber uno y solo uno con este correo y contraseña
- if (mysql_num_rows($Qusuario)!=1) // <- Si es un usuario inválido
- {
- echo "<center><FONT color=FF0000> Correo electrónico o contraseña incorrectos, intentalo de nuevo</FONT></center><br>";
- }
- else
- { //Si es un usuario válido
- if($Ppaso=="ALLENNNNNAR")
- {
- if($Pquest==$cuestinic) // <- Acaba de llenar el cuestionario inicial, hay que guardar su municipio.
- {
- if ($Pcp==NULL)
- {
- $Pcp = "MALO";
- }
- $actualizar = mysql_query("UPDATE usuario SET Municipio=\"".$Pmunicipio."\" WHERE IDUsuario=".$usuario['IDUsuario']);
- $actualizar = mysql_query("UPDATE usuario SET CP=\"".$Pcp."\" WHERE IDUsuario=".$usuario['IDUsuario']);
- $actualizar = mysql_query("UPDATE usuario SET CP2=\"".$Pcp2."\" WHERE IDUsuario=".$usuario['IDUsuario']);
- $actualizar = mysql_query("UPDATE usuario SET ENTRE1=\"".$Pentre1."\" WHERE IDUsuario=".$usuario['IDUsuario']);
- $actualizar = mysql_query("UPDATE usuario SET ENTRE2=\"".$Pentre2."\" WHERE IDUsuario=".$usuario['IDUsuario']);
- $actualizar = mysql_query("UPDATE usuario SET CALLE=\"".$Pcalle."\" WHERE IDUsuario=".$usuario['IDUsuario']);
- /*
- Aquí analizamos sus respuestas y escogemos, en función de ello un cuestionario a desplegarle.
- Para ello cambiamos el valor de la variable $cuestpost
- */
-
- if ((clean($_POST['37'])!=305)&&(clean($_POST['37'])!=0))
- {
- // Tuvo algo esta semana... hay que mandarle al cucho con la fecha reciente
- $cambiaronelcuest = 1;
- $fechaaponer = $_POST['37'];
- }
- if ((clean($_POST['38'])!=314)&&(clean($_POST['38'])!=0))
- {
- // Tuvo algo en los últimos dos mese.. hay que mandarle el cucho con la fecha remota
- $cambiaronelcuest = 1; // <-- Con esto hacemos que ponga el campo fecha artificialmente
- $fechaaponer = $_POST['38'];
- if ((clean($_POST['37'])!=305)&&(clean($_POST['37'])!=0))
- {
- $fechaaponer = $_POST['37'];
- $fechaapasar = $_POST['38'];
- // El probe tipo tuvo ADEMAS, algo esta semana
- }
- }
- } // FIN de Acaba de llenar el cuestionario inicial
-
-
- // Debemos verificar que haya pasado el tiempo suficiente. y que no esté llenando por segunda vez el cuestionario inicial
- $esinicialrepetido = 0;
- if (($Pquest == 1)||($Pquest == $cuestinic))
- {
- $QREP = mysql_query("SELECT * FROM encuesta WHERE IDCuestionario = 1 AND IDUsuario=".$usuario['IDUsuario']."");
- if (mysql_num_rows($QREP)>0)
- {
- $esinicialrepetido=1;
- }
- }
- if (haesperado($usuario['IDUsuario'])&&($esinicialrepetido==0))
- {
- /* ******************************************************------
- Primero guardamos en la tabla encuesta la info de que acaban de llenar
- El IDCuestionario, IDUsuario y la fecha actual
- */
- $insertar = mysql_query("INSERT into encuesta (IDUsuario,Fecha,IDCuestionario) VALUES (".$usuario['IDUsuario'].",\"".date("Y-m-d H-i-s")."\",".$Pquest.")");
- /*
- Obtenemos el valor de IDEncuesta para encuesta que acabamos de llenar
- */
- $IDdeEstaEncuesta = mysql_insert_id();
- if ((($Pquest==$cuestpost)&&($Pfechaapasar == NULL))||($Pquest==$cuestdoct))
- {
- /*
- Y guardamos la fecha en que acaba de llenar este cuestionario, para que no lo llene muy seguido. Pero solo si no acaba de llenar el inicial
- */
- $actualizar = mysql_query("UPDATE usuario SET UltimaRespuesta=\"".date("Y-m-d H-i-s")."\" WHERE IDUsuario=".$usuario['IDUsuario']);
- }
- if ($Pquest==$cuestdoct)
- {
- // Acaba de mandarnos a guardar el cuestionario de doctor, hay que quitarle la marca.
- echo "<br>Gracias por colaborar y tener una actitud responsable al ir al doctor<br>";
- $actualizar = mysql_query("UPDATE usuario SET AlDoctor=0 WHERE IDUsuario=".$usuario['IDUsuario']);
- }
-
- /*
- Ahora buscamos todas las preguntas del cuestionario que acaba de llenar
- Tomamos el ID de cada una y examinamos el arreglo $_POST en ese índice para ver la respuesta que escogio.
- A cada respuesta, hacemos una entrada (numencuesta,idrespuesta) en la tabla valoresencuestas
- */
-
- // ------
- // INICIA PROPIAMENTE EL L L E N A D O D E E N C U E S T A
- // ___________________________________________________-----
- $preguntas = mysql_query("SELECT * FROM relCuestPreg where IDCuestionario = ".$Pquest);
- while($rowP = mysql_fetch_array($preguntas)) // POR CADA PREGUNTA
- {
- $contpregunta = mysql_query("SELECT * FROM pregunta where IDPregunta = ".$rowP['IDPregunta']);
- $rowC = mysql_fetch_array($contpregunta);
- if ($rowC['Varias']==0) // <-- Si la pregunta solo tiene una opcion
- {
- $respuesta=clean($_POST[$rowP['IDPregunta']]);
- $insertar = mysql_query("INSERT into valoresEncuesta (IDEncuesta,IDRespuesta) VALUES(".$IDdeEstaEncuesta.",".$respuesta.")");
- }
- else
- {
- $respuestasmultiples = mysql_query("SELECT * FROM respuesta where IDPregunta = ".$rowP['IDPregunta']);
- while ($rowA = mysql_fetch_array($respuestasmultiples)) // Por cada una de las posibles respuestas
- {
- $respuesta=clean($_POST['RR'.$rowA['IDRespuesta']]);
- if ($respuesta)
- {
- $insertar = mysql_query("INSERT into valoresEncuesta (IDEncuesta,IDRespuesta) VALUES(".$IDdeEstaEncuesta.",".$rowA['IDRespuesta'].")");
- }
- }
- }
- }
- include_once('funcionesApalanadoras.php');
- hacerUsuarios();
- // TERMINA EL L L E N A D O D E E N C U E S T A
- // Hay que actualizar los datos del usuario en el script por si ahora si tiene municipio
-
- // ================================================
- // RUBEN: CODIGO DE NOTIFICACIONES
- // ================================================
- /* require( "config.php" );
- require( "notificaciones/NotificationMgr.php" );
- $notifMgr = new NotificationMgr();
- $notifMgr->remove( $Pemail );*/
- // ================================================
-
- $Qusuario = mysql_query("SELECT * FROM usuario WHERE EMail='".$Pemail."' AND ( AFavor=sha1('".$Pclav1."') OR AFavor='".$Pclav1."')");
- $usuario = mysql_fetch_array($Qusuario);
- $PID = clean($usuario['IDUsuario']);
- } // No ha esperado lo sufciente para volver a participar, cómo llego aqui???
- else
- {
- //Esta tratando de enviar una encuesta muy pronto
- }
- } // FIN de hay que llenar
-
- // Ya escribimos a la base de datos todo lo que teniamos que escribir... ahora hay que mostrarle los cuestionarios pertinentes
-
-
-
-
- if ($usuario['Municipio']==NULL) // <= El usuario acaba de registrarse, en este caso este script no ha escrito nada a la DB.
- {
- /*
- Hay que pedirle su municipio
- Y mostarle el cuestionario inicial
- */
- echo "Por ser la primera vez, por favor responde estas preguntas para que tu participación sea más valiosa<BR>";
- echo "Este cuestionario sólo tendrás que llenarlo una vez.<BR><BR>";
- $mpos = mysql_query("SELECT * FROM municipios WHERE Estado= ".$usuario['Estado']." ORDER BY Municipio");
- ?>
-
- <Form name="laforma" method="post" action="Cuestionario.php">
- <INPUT type="hidden" name="Femail" value="<?php echo $Pemail; ?>">
- <INPUT type="hidden" name="Fclav1" value="<?php echo $Pclav1; ?>">
- <INPUT type="hidden" name="Fquest" value="<?php echo $cuestinic; ?>">
- <INPUT type="hidden" name="Fpaso" value="ALLENNNNNAR">
- <hr>
- <table width="100%">
- <p><label for"Fmunicipio" ><b> ¿En qué municipio o delegación vives? </b></label>
- <select name="Fmunicipio" ID="Fmunicipio" >
- <?php // ---- Este select muestra todos los municipios del estado que nos pasaron
- while($mipio = mysql_fetch_array($mpos))
- {
- echo "<option value=\"".$mipio['Municipio']."\">".$mipio['Municipio']."</option>\n";
-
- }
- ?> </select>
- </p><hr class="entrePreguntas">
- <p><label for="CCCP"><b>¿Cuál es el código postal de tu casa?</b></label> <input type="text" name="CCCP" id="CCCP"> </p>
- <hr class="entrePreguntas">
-
- <p>
- <label for="Fcalle"><b>¿En qué calle está tu casa?</b><br><u>Estrictamente opcional</u></label>
- <input type="text" name="Fcalle" id="Fcalle" >
- </p>
- <hr class="entrePreguntas">
- <p>
- <label for="Fentre1"><b>Entre las calles: </b><br><u>Estrictamente opcional</u> </label>
- <fieldset id="entres">
- <input type="text" name="Fentre1" > y <br> <input type="text" name="Fentre2">
- </fieldset>
- </p>
- <hr class="entrePreguntas">
-
- <p><label for="CCCP2"><b>¿Cuál es el código postal de tu trabajo o escuela?</b></label> <input type="text" name="CCCP2" id="CCCP2"> </p>
- <hr class="entrePreguntas"><p>
- <?php
- echo muestracuest($cuestinic);
- ?>
- <p></p>
- <p>
-
- <INPUT class="enviar" type="submit" value="Continuar al cuestionario rutinario" name="terminoquestI">
- </p>
-
- </form>
- <?php
-
- } // FIN DE MUNICIPIO == NULL ES DECIR, FIN DE ES UN USUARIO NUEVO, MOSTRARLE EL INICIAL
- else
- { //El usuario ya lleno el cuestionario inicial
- if (($Pquest==$cuestpost)&&($Pfechaapasar == ""))
- // Además acaba de llenar el cuestionario posterior y no tendrá que llenar el siguiente. O acaba de llenar el inicial y no tuvo problema alguno.
- {
- /*
- No queda más que agradecerle;
- */
- if (aldoctor($_POST)) // Si hay que mandarlo al doctor
- {
- echo "La definición operacional de la Secretaría de Salud de caso sospechoso de influenza es: Fiebre y alguna de las siguientes: odinofagia (dolor al tragar) o tos.";
- echo "<br><br>Si cumples con estos síntomas, debes ir al doctor para una evaluación más profunda.<br>";
- echo "<br><br>Así mismo, te recordamos las medidas sanitarias recomendadas: lavarse frecuentemente las manos, de preferencias con jabón líquido; al toser o estornudar, cubrir la boca con un papel y tirarlo en una bolsa de plástico, o utilizar el ángulo interno del codo. Para ver más información al respecto, puedes acceder <a href=\"http://portal.salud.gob.mx/contenidos/noticias/influenza/preguntas.html\">al sitio de preguntas y respuestas de la Secretaría de Salud.</a><br>";
- $actualizar = mysql_query("UPDATE usuario SET AlDoctor=1 WHERE IDUsuario=".$usuario['IDUsuario']);
- }
- echo "<BR>Gracias por llenar el cuestionario. Por favor regresa en una semana para seguir ayudando a monitorear, recuerda que sólo lleva un minuto. <br><br>La proxima vez solo tendrás que introducir información si tuviste síntomas en la última semana.<b>".$Pfechaapasar."</b>";
- echo "<br> ¡Y pasa la voz!<br><br>";
-
- echo"<br><br>
- Aquí te mostramos como ha evolucionado tu estado de salud con respecto a los demás participantes y a los participantes que residen en el mismo estado de la república que tú.";?>
-
- <?
- echo "<img src=\"cuentas/cuentaInsidIndiv.php?usu=".((string)$usuario['IDUsuario'])."\" width=500 >";
- }
- else // No acaba de llenar el posterior, o tiene que llenarlo de nuez porque se enfermo dos veces así que debe llenarlo ahora
- {
- if ($usuario['AlDoctor']==1) // Le habiamos dicho que fuera al doctor
- {
- /*
- Aquí hay que poner la parte de las preguntas
- de cuando regresa del doctor
- */
- ?>
- La última vez que participaste, mostrabas un conjunto de síntomas que ameritaba ir al doctor.
- <Form name="laforma" method="post" action="Cuestionario.php">
- <INPUT type="hidden" name="Femail" value="<?php echo $Pemail; ?>">
- <INPUT type="hidden" name="Fclav1" value="<?php echo $Pclav1; ?>">
- <INPUT type="hidden" name="Fquest" value="<?php echo $cuestdoct; ?>">
- <INPUT type="hidden" name="Fpaso" value="ALLENNNNNAR">
- <hr>
- <table width="100%">
- <?php
-
- echo muestracuest($cuestdoct);
- ?>
- <p></p>
- <p>
-
- <INPUT class="enviar LABI_<?php echo $BloquePreg ?>" type="submit" value="Terminar" name="terminoquestd">
- </p>
-
- </form>
- <?php
-
- } // Fin de le habiamos dicho que fuera al doctor
- else
- { // No le habiamos dicho que fuera al doctor
- if (haesperado($usuario['IDUsuario'])) // Ya puede llenar de nuevo
- {
- if($Pquest==$cuestinic) // Acaba de llenar el cuestionario inicial
- {
-
- include_once('funcionesModelo1.php');
- ?>
- <div style=" border-width:3px; border-style:solid; border-color:<?php echo colorDeBorde(modeloParaUsuario($usuario['IDUsuario']))?>">
- Conforme a los datos que proporcionaste en tu cuestionario inicial, se te calculó un riesgo <b><?php echo modeloParaUsuario($usuario['IDUsuario']);?> de enfermedades respiratorias. </b></div><br><br>
- <?php
- if ($fechaaponer!=NULL)
- {
- $fechas = mysql_query("SELECT * FROM respuesta WHERE IDRespuesta= ".$fechaaponer);
- $row = mysql_fetch_array($fechas);
- echo "Hablanos un poco de los síntomas que tuviste <b>".$row['Valor'].".</b><br>Cuentanos con más precisión cuales fueron estos síntomas";
- }
- }
- if ($Pfechaapasar != "")
- {
- $fechas = mysql_query("SELECT * FROM respuesta WHERE IDRespuesta= ".$Pfechaapasar);
- $row = mysql_fetch_array($fechas);
- echo "Hablanos un poco de los síntomas que tuviste <b>".$row['Valor'].".</b> <br>Cuentanos con más precisión cuales fueron estos síntomas";
- }
- if (($Pfechaapasar == "") && ($fechaaponer==NULL))
- {
- echo "En los <b>últimos siete días</b>:" ;
- }
- /*
- Aquí va el cuestionario en si. El rutinario.
- */
- ?>
- <?php
- if ($usuario['Paterno']=="PILOTO")
- { ?>
- <br>Si deseas reportar tú mismo a otras personas con las que compartes casa da click <a href="CreaGrupo?id=<?php echo $usuario['IDUsuario']; ?>">aquí</a><br><br>
- <?php }
- ?>
-
- <Form name="laforma" method="post" action="Cuestionario.php">
- <INPUT type="hidden" name="Femail" value="<?php echo $Pemail; ?>">
- <INPUT type="hidden" name="Fclav1" value="<?php echo $Pclav1; ?>">
- <INPUT type="hidden" name="Fpaso" value="ALLENNNNNAR">
- <INPUT type="hidden" name="Fquest" value="<?php echo $cuestpost; ?>">
- <?php
- if ($cambiaronelcuest==1) // SI este NO es el rutinario normal... (Nota: esta variable solo se altera cuando acabo de leer el inicial)
- {
- echo "\n<INPUT type=\"hidden\" name=\"18\" value=\"".$fechaaponer."\">"; // <--- Aquí ponemos la fecha porque el cuest que vamos a poner no la trae.
- echo "\n<INPUT type=\"hidden\" name=\"Ffechaapasar\" value=\"".$fechaapasar."\">";
- $cuestpost = $cuestcucho;
- }
- if ($Pfechaapasar!=NULL) // Si me pasaron una fecha como fecha a pasar, quiere decir que el tipo es de los que se enfermaron twice
- {
- echo "\n<INPUT type=\"hidden\" name=\"18\" value=\"".$Pfechaapasar."\">"; // <--- Aquí ponemos la fecha porque el cuest que vamos a poner no la trae.
- $cuestpost = $cuestcucho;
- }
- ?>
-
- <?php
- echo muestracuest($cuestpost);
- ?>
- <p>
- <label for="asdlkj"><br></label>
- <p><INPUT id ="asdlkj" class="enviar LABI_<?php echo $BloquePreg ?>" type="submit" value="Terminar" name="terminoquestP">
- </p>
-
- </form>
- <?php
- } // FIN DE HAESPERADO
- else
- { // NO HA ESPERADO LO SUFICIENTE
- echo "Espera al menos 5 días para volver a participar";
-
- } // FIN DE NO HA ESPERADO LO SUFICIENTE
- } // FIN de NO le habiamos dicho que fuera al doctor
- } // Fin de tiene que llenar el posterior
- } // FIN de El usuario ya lleno el cuestionario inicial
- } //FIN de si es un usuario válido
- ?>
- </div>
- </div>
- </div>
- </body>
- </html>