public function responder()
 {
     $this->orm->connect();
     $codigo = $this->post->encuesta;
     unset($this->post->encuesta);
     $options['pregunta']['lvl2'] = "by_encuesta";
     $cod['pregunta']['encuesta'] = $codigo;
     $this->orm->read_data(array("pregunta"), $options, $cod);
     $numPreguntas = $this->orm->get_objects("pregunta", $options, $cod);
     $options['encuesta']['lvl2'] = "by_codigo";
     $cod['encuesta']['codigo'] = $codigo;
     $this->orm->read_data(array("encuesta"), $options, $cod);
     $encuesta = $this->orm->get_objects("encuesta", $options, $cod);
     $encuesta = new encuesta($encuesta[0]);
     if (sizeof($numPreguntas) == $this->contarRespuestas($this->post)) {
         foreach ($this->post as $key => $value) {
             $respuesta = new respuesta();
             $respuesta->set('opcion', $value[0]);
             $respuesta->set('usuario', $_SESSION['persona']['cedula']);
             $this->orm->insert_data("normal", $respuesta);
             unset($respuesta);
         }
         $beneficio = new beneficio();
         $beneficio->set('encuesta', $encuesta->get('codigo'));
         $beneficio->set('tarjeta', $_SESSION['persona']['cedula']);
         $beneficio->set('fecha', date("y-m-d"));
         $beneficio->set('retribucion', $encuesta->get('retribucion'));
         $this->orm->insert_data("normal", $beneficio);
         $options['tarjeta']['lvl2'] = "by_persona";
         $cod['tarjeta']['persona'] = $_SESSION['persona']['cedula'];
         $this->orm->read_data(array("tarjeta"), $options, $cod);
         $tarjeta = $this->orm->get_objects("tarjeta", $options, $cod);
         $tarjeta = new tarjeta($tarjeta[0]);
         $tarjeta->set('saldo', $tarjeta->get('saldo') + $encuesta->get('retribucion'));
         $this->orm->update_data("saldo", $tarjeta);
         $this->displayMessage('Encuesta respondida exitosamente', '¡Gracias por participar!');
     } else {
         $this->displayMessage('Preguntas sin responder', 'Por favor seleccione una opción de respuesta para cada una de las preguntas presente en la encuesta');
         $options['encuesta']['lvl2'] = "by_codigo";
         $cod['encuesta']['codigo'] = $encuesta->get('codigo');
         $options['pregunta']['lvl2'] = "by_encuesta";
         $cod['pregunta']['encuesta'] = $encuesta->get('codigo');
         $options['opcion']['lvl2'] = "all";
         $components['encuesta']['pregunta'] = array("e_p");
         $components['pregunta']['opcion'] = array("p_o");
         $this->orm->read_data(array("encuesta", "pregunta", "opcion"), $options, $cod);
         $encuesta = $this->orm->get_objects("encuesta", $components);
         $this->engine->assign('encuesta', $encuesta[0]);
     }
     $this->orm->close();
 }
 function respuesta_upd($id, $respuesta, $correcta, $pregunta)
 {
     require "DAT/DATrespuestas.php";
     $respuestaa = new respuesta();
     $respuestaa->__construct3($id, $respuesta, $pregunta, $correcta);
     actualizar_respuesta($respuestaa->get_id(), $respuestaa->get_respuesta(), $respuestaa->get_estado(), $respuestaa->get_id_pregunta());
 }
示例#3
0
 protected function escribir_encabezados()
 {
     $status = $this->respuesta->get_status();
     //Send status
     if (strpos(PHP_SAPI, 'cgi') === 0) {
         header(sprintf('Status: %s', respuesta::getMessageForCode($status)));
         //echo sprintf('Status: %s', self::getMessageForCode($this->status));
     } else {
         header(sprintf('HTTP/%s %s', '1.1', respuesta::getMessageForCode($status)));
         //echo sprintf('HTTP/%s %s', '1.1', self::getMessageForCode($this->status));
     }
     //Send headers
     foreach ($this->respuesta->headers as $name => $value) {
         $hValues = explode("\n", $value);
         foreach ($hValues as $hVal) {
             header("{$name}: {$hVal}", false);
         }
     }
 }