]> git.llucax.com Git - mecon/intranet.git/blob - sistema/www/servicios/dto/encuesta.php
- Bug en una consulta
[mecon/intranet.git] / sistema / www / servicios / dto / encuesta.php
1 <?php 
2 /*-----------------------------------------------------------------------------
3 Intranet del Ministerio de Economía
4 Introducción a la encuesta de la DTO
5 -------------------------------------------------------------------------------
6 Myrna Degano <mdegan@mecon.gov.ar>
7 ------------------------------------------------------------------------------*/
8
9 require_once 'HTML_DietMarco.php';
10 require_once 'Encuestas/Encuesta.php';
11 require_once 'HTML_Mensaje.php';
12 require_once 'MECON/HTML/Link.php';
13 require_once 'MECON/HTML/Image.php';
14 require_once 'MECON/HTML/Tabla.php';
15
16 if(!isset($_SESSION['usuario'])){
17         header('Location: ../../servicios.php');
18         exit;
19 }
20
21 // Marco de servicios en intranet
22 $MARCO     = new HTML_DietMarco('servicios', 'Encuestas');
23
24 // Formateo de la fecha de publicación
25 $fecha = $_REQUEST['fecha'];
26 if (preg_match('/(\d+)-(\d+)-(\d+)\s(\S+)/', $_REQUEST['fecha'], $matches))
27     $fecha = $matches[3].'-'.$matches[2].'-'.$matches[1].' '.$matches[4];    
28
29 // Encuesta pedida
30 $encuesta =& new Encuestas_Encuesta ($DB, $_REQUEST['id'], $fecha, $_POST);
31
32 // Chequear que el usuario no haya respondido la encuesta
33 if ($encuesta->chequearRespuesta ($_SESSION['usuario'], $fecha) and !isset($_POST['enviar'])){
34     // El usuario ya respondió la encuesta
35     // => mensaje de error
36     $MSG =& new HTML_Mensaje ('ok', 'Su respuesta ya ha sido recibida.', 350); 
37     $MARCO->addBodyContent('<br><br><div align="center">');
38     $MARCO->addBodyContent($MSG);
39     $MARCO->addBodyContent('<br><br></div>');
40     $link_volver =& new MECON_HTML_Link ('index.php', 'volver');
41     $img_volver =& new MECON_HTML_Image ('../../images/servicios_volver.gif', '<|<|');
42     $tabla =& new HTML_Table('width="760"');
43     $tabla->addRow(array($img_volver->toHtml().'&nbsp;'.$link_volver->toHtml()), 'align="right" class="encuestas_comun"');
44     $MARCO->addBodyContent($tabla);
45     $MARCO->addStyleSheet('../../css/servicios_dto.css');
46 }
47 else{
48     // El usuario no respondió la encuesta
49     if (isset($_POST['enviar'])){
50         // El usuario está respondiendo en este momento
51         
52         if ($encuesta->_chequearDatosObligatorios($_POST)){
53             // Completó todos los datos obligatorios
54             // => Cargar la encuesta    
55             $encuesta->_cargarRespuesta ($_SESSION['usuario'], $_SESSION['documento'], $_POST);
56
57             $MSG =& new HTML_Mensaje ('ok', 'Gracias por su colaboración', 300); 
58             $MARCO->addBodyContent('<br><br><div align="center">');
59             $MARCO->addBodyContent($MSG);
60             $MARCO->addBodyContent('<br><br></div>');
61             $link_volver =& new MECON_HTML_Link ('index.php', 'volver');
62             $img_volver =& new MECON_HTML_Image ('../../images/servicios_volver.gif', '<|<|');
63             $tabla =& new HTML_Table('width="760"');
64             $tabla->addRow(array($img_volver->toHtml().'&nbsp;'.$link_volver->toHtml()), 'align="right" class="encuestas_comun"');
65             $MARCO->addBodyContent($tabla);
66             $MARCO->addStyleSheet('../../css/servicios_dto.css');
67         }
68         else{
69             // No completó todos los datos obligatorios requeridos
70             // => mensaje de error
71             $MARCO->addBodyContent('<div align="center">');
72             $MSG =& new HTML_Table('width="600" align="center"');
73             $MSG->addRow(array('Los campos indicados con asterisco (*) son OBLIGATORIOS'), 'class="encuestas_negrita_rojo" align="center"');
74             $MARCO->addBodyContent($MSG);
75             $MARCO->addBodyContent($encuesta);
76             $MARCO->addBodyContent('</div>');
77         }
78     }
79     else{
80         // El usuario está por responder
81         // => mostrar la encuesta
82         $MARCO->addBodyContent('<div align="center">');
83         $MARCO->addBodyContent($encuesta);
84         $MARCO->addBodyContent('</div>');
85     }
86 }
87
88 $MARCO->display();
89 ?>