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(); }