예제 #1
0
 /**
  * Updates a particular model.
  * If update is successful, the browser will be redirected to the 'view' page.
  * @param integer $id the ID of the model to be updated
  */
 public function actionUpdate($id)
 {
     $pregunta = Pregunta::model()->findByPk($id);
     if (isset($_POST['Pregunta'])) {
         $pregunta->attributes = $_POST['Pregunta'];
         if ($pregunta->validate()) {
             if (!$pregunta->save()) {
                 Yii::app()->user->setFlash('mensaje', 'La pregunta ' . $pregunta->pregunta . ' no se pudo guardar');
             }
             if (isset($_POST['Respuesta'])) {
                 foreach ($_POST['Respuesta'] as $k => $r) {
                     if ($k > 0) {
                         $respuesta = Respuesta::model()->findByPk($k);
                     } else {
                         $respuesta = new Respuesta();
                     }
                     $respuesta->respuesta = $r['respuesta'];
                     $respuesta->es_correcta = $r['es_correcta'];
                     $respuesta->save();
                 }
             }
         }
         //if($preguntaForm->validate())
     }
     //if(isset($_POST['Pregunta']))/**/
     $this->render('modificar', array('model' => $pregunta));
 }
 public function crearEncuesta($encuesta, $email, $nombre = 'sin dato', $empresa = 'sin dato')
 {
     if (Session::token() != Input::get('_token')) {
         die;
     }
     $respuesta = Input::all();
     //array respuestas form //print_r($respuesta);
     $datosEncuesta = DB::table('encuesta')->where('id', $encuesta)->first();
     $cantidad = DB::table('pregunta')->where('idEncuesta', $encuesta)->count();
     //Inserta usuario por email e ip
     $ip = Request::getClientIp();
     $usuariosEmail = DB::table('users')->where('email', $email)->first();
     //codigo rand
     $usuariosEmail = DB::table('users')->where('email', $email)->first();
     $base = 1245;
     $cant = DB::table('users')->count();
     $random = $base + $cant;
     if (empty($usuariosEmail)) {
         $x = new User();
         $x->email = $email;
         $x->nombre = $nombre;
         $x->empresa = $empresa;
         $x->ip = $ip;
         $x->codigo = $random;
         $x->save();
     } else {
         $mensaje = 'Usted ya ha completado la encuesta, sólo puede realizar esta acción una vez';
         return View::make('encuesta.completado', array('mensaje' => $mensaje, 'encuesta' => $datosEncuesta));
     }
     $usuarios = DB::table('users')->where('email', $email)->first();
     $usuario = $usuarios->id;
     $codigo = $usuarios->codigo;
     Session::put('codigo', $codigo);
     //Inserta usuario_encuesta
     $x = new UsuarioEncuesta();
     $x->idUsuario = $usuario;
     $x->idEncuesta = $encuesta;
     $x->save();
     $usuarioEnc = DB::table('usuario_encuesta')->where('idUsuario', $usuario)->first();
     $usuarioEncuesta = $usuarioEnc->id;
     //Inserta respuestas
     for ($i = 1; $i <= $cantidad; $i++) {
         $valor = Input::get('pregunta' . $i);
         if ($valor != '') {
             $x = new Respuesta();
             $x->idUsuarioEncuesta = $usuarioEncuesta;
             $x->idEncuestaPregunta = $i;
             $x->valor = $valor;
             $x->save();
         }
     }
     return Redirect::to('/formulario-ok');
     //return View::make('encuesta.completado', array('encuesta' => $datosEncuesta,'email' => $email, 'nombre' => $nombre, 'empresa' => $empresa, 'codigo' => $random));
 }
예제 #3
0
 public function guardar()
 {
     $respuesta = Input::get('respuestas');
     $table = new Respuesta();
     $table->user_id = Auth::user()->id;
     $table->sexo = $respuesta['sexo'];
     $table->edad = $respuesta['edad'];
     $table->p1 = strtoupper($respuesta['p1']);
     $table->p1A = strtoupper($respuesta['p1A']);
     $table->p2 = $respuesta['p2'];
     $table->p3 = $respuesta['p3'];
     $table->p4 = $respuesta['p4'];
     $table->p4A = $respuesta['p4A'];
     $table->p5 = $respuesta['p5'];
     $table->p6 = $respuesta['p6'];
     $table->p7 = $respuesta['p7'];
     $table->p8 = $respuesta['p8'];
     $table->p9 = $respuesta['p9'];
     $table->p10 = $respuesta['p10'];
     $table->p11 = $respuesta['p11'];
     $table->p12 = $respuesta['p12'];
     $table->p13 = $respuesta['p13'];
     $table->p14 = $respuesta['p14'];
     $table->p15 = $respuesta['p15'];
     $table->p15A = $respuesta['p15A'];
     $table->p16 = $respuesta['p16'];
     $table->p17 = $respuesta['p17'];
     $table->p18 = $respuesta['p18'];
     $table->p18A = $respuesta['p18A'];
     $table->p19 = $respuesta['p19'];
     $table->p20 = $respuesta['p20'];
     $table->p21 = $respuesta['p21'];
     $table->p22 = $respuesta['p22'];
     $table->p23 = $respuesta['p23'];
     $table->p24 = $respuesta['p24'];
     $table->p25 = $respuesta['p25'];
     $table->p26 = $respuesta['p26'];
     $table->p27 = $respuesta['p27'];
     if ($table->save()) {
         return 'success';
     }
     return 'error refresque la pagina y intente de nuevo';
 }
 public function actionCreate()
 {
     $pregunta = new Pregunta();
     $respuestas = null;
     // Ajax validation
     $this->performAjaxValidation($pregunta);
     if (!empty($_POST['Pregunta'])) {
         $pregunta->attributes = $_POST['Pregunta'];
         $pregunta->estado = 1;
         foreach ($_POST['respuesta'] as $key => $value) {
             if (isset($_POST['es_correcta'])) {
                 $correcta = $key == $_POST['es_correcta'] ? 1 : 0;
             } else {
                 $correcta = 0;
             }
             $respuestas[] = array('respuesta' => $value, 'es_correcta' => $correcta);
         }
         if (!isset($_POST['es_correcta'])) {
             Yii::app()->user->setFlash('error', "Seleccione una respesta correcta.");
         } else {
             if (!empty($_POST['respuesta']) && count(array_values(array_diff($_POST['respuesta'], array('')))) > 1) {
                 $fechaForm = $pregunta->fecha;
                 // Fecha con formato de la bd de mysql
                 $formatoFecha = Yii::app()->dateFormatter->format('yyyy-MM-dd', CDateTimeParser::parse($pregunta->fecha, 'dd/MM/yyyy'));
                 $pregunta->fecha = $formatoFecha;
                 if ($pregunta->save(false, 'save')) {
                     foreach ($_POST['respuesta'] as $key => $value) {
                         $respuesta = null;
                         $respuesta = new Respuesta();
                         $correcta = 0;
                         $respuesta->respuesta = $value;
                         $correcta = $key == $_POST['es_correcta'] ? 1 : 0;
                         $respuesta->es_correcta = $correcta;
                         $respuesta->pregunta_id = $pregunta->id;
                         $respuesta->save();
                     }
                     $log = new Logs();
                     try {
                         $log->accion = 'Creo una pregunta como admin';
                         $log->usuario = 'Admin id: ' . Yii::app()->user->id;
                         $log->msg = 'IP: ' . $_SERVER['REMOTE_ADDR'] . ' : ' . $_SERVER['REMOTE_PORT'];
                         $log->fecha = date('Y-m-d G:i:s');
                         $log->save();
                     } catch (Exception $e) {
                         $log->accion = 'Error log';
                         $log->msg = '';
                         $log->fecha = '';
                         $log->save();
                     }
                     $this->redirect(array('view', 'id' => $pregunta->id));
                 } else {
                     $pregunta->fecha = $fechaForm;
                     Yii::app()->user->setFlash('error', "Error al guardar pregunta.");
                 }
             } else {
                 $pregunta->fecha = $fechaForm;
                 Yii::app()->user->setFlash('error', "Registre al menos (2) respuestas");
             }
         }
     }
     $this->render('form', array('pregunta' => $pregunta, 'respuestas' => $respuestas));
 }
예제 #5
0
 public function actionInsertarRespuesta()
 {
     $comentario = $_POST['respuesta'];
     $id_posteo = $_POST['id_posteo'];
     $usuario = Usuario::model()->findByPk(Yii::app()->user->id);
     $topIdRespuesta;
     //if($id_posteo != null && $id_posteo != "" && $res != null && $res != ""){
     $listaRespuesta = Yii::app()->db->createCommand("select r.id_respuesta from respuesta r where r.id_posteo=" . $id_posteo)->queryAll();
     if ($listaRespuesta != null) {
         foreach ($listaRespuesta as $res) {
             $topIdRespuesta = $res['id_respuesta'];
         }
         $topIdRespuesta++;
     } else {
         $topIdRespuesta = 1;
     }
     $respuesta = new Respuesta();
     $respuesta->id_posteo = $id_posteo;
     $respuesta->id_usuario = $usuario->id_usuario;
     $respuesta->respuesta = $comentario;
     $respuesta->id_respuesta = $topIdRespuesta;
     $respuesta->fhcreacion = new CDbExpression('NOW()');
     $respuesta->cusuario = "juancito";
     $respuesta->save();
     echo "saved";
 }
예제 #6
0
 public function postActualizargrupo()
 {
     $data = Input::all();
     $grupo_id = $data["id"];
     DB::beginTransaction();
     DB::table("grupos")->where('id', $grupo_id)->update(array('nombre' => array_key_exists('titulo', $data) ? $data['titulo'] : "", 'descripcion' => array_key_exists('descripcion', $data) ? $data['descripcion'] : "", 'fb_url' => array_key_exists('fb_url', $data) ? $data['fb_url'] : "", 'region' => array_key_exists('departamento', $data) ? $data['departamento'] : "", 'provincia' => array_key_exists('provincia', $data) ? $data['provincia'] : "", 'distrito' => array_key_exists('distrito', $data) ? $data['distrito'] : "", 'edad_desde' => array_key_exists('edad_desde', $data) ? $data['edad_desde'] : "", 'edad_hasta' => array_key_exists('edad_hasta', $data) ? $data['edad_hasta'] : "", 'sexo' => array_key_exists('sexo', $data) ? $data['sexo'] : ""));
     DB::table("grupo_pregunta")->where('grupo_id', '=', $grupo_id)->delete();
     foreach ($data['preguntas'] as $pre) {
         DB::table("grupo_pregunta")->insert(array("pregunta_id" => $pre['id'], "grupo_id" => $grupo_id, "respuesta" => array_key_exists('respuesta', $pre) ? $pre['respuesta'] : "", "estado" => array_key_exists('estado', $pre) && $pre['estado'] == "true" ? 1 : ""));
     }
     $mensaje = new Mensaje();
     $mensaje->mensaje = array_key_exists('fb_url', $data) ? $data['fb_url'] : "";
     $mensaje->asunto = "Fan Page Actualizado";
     $mensaje->activista_id = Auth::user()->id;
     $mensaje->estado = 1;
     $mensaje->save();
     $respuesta = new Respuesta();
     $respuesta->mensaje_id = $mensaje->id;
     $respuesta->respondido_por = Auth::user()->id;
     $respuesta->respondido_at = date("Y-m-d H:i:s");
     $respuesta->respuesta = $data['titulo'] . ": " . $data['descripcion'];
     $respuesta->estado = 1;
     $respuesta->url = 1;
     $respuesta->save();
     // @todo manejar errores
     $results = array("code" => "ok", "message" => "Datos correctamente guardados");
     DB::commit();
     return Response::json($results);
 }
 public function addRespuesta($post)
 {
     $respuesta = array('code' => 404, 'message' => 'recurso no encontrado');
     $pregunta_id = strip_tags(htmlspecialchars($post['pregunta']));
     $pregunta_id = intval($pregunta_id);
     $pregunta_id = filter_var($pregunta_id, FILTER_VALIDATE_INT);
     $descripcion = strip_tags(htmlspecialchars($post['post']['descripcion']));
     $session = Utilities::getSession();
     if (is_null($session)) {
         $respuesta['message'] = 'No se encontro alguna sesion activa :s';
     } else {
         if (!$pregunta_id) {
             $respuesta['message'] = 'Pregunta no valiad';
         } else {
             if (strcmp($descripcion, '') == 0) {
                 $respuesta['message'] = 'Debe escribir una respuesta';
             } else {
                 $pregunta = Pregunta::find($pregunta_id);
                 if (count($pregunta) == 0) {
                     $respuesta['message'] = 'La pregunta no existe';
                 } else {
                     $fecha_actual = date('Y-m-d');
                     $reply = new Respuesta();
                     $reply->perfil_id = $session['user_id'];
                     $reply->pregunta_id = $pregunta->pregunta_id;
                     $reply->descripcion = $descripcion;
                     $reply->fechaRespuesta = $fecha_actual;
                     if ($reply->save()) {
                         $respuesta['code'] = 200;
                         $respuesta['message'] = 'Se guardo correctamente';
                         $respuesta['username'] = $session['username'];
                         $respuesta['respuesta'] = $reply;
                     } else {
                         $respuesta['message'] = 'Lo sentimos, no se pudo guardar su respuesta';
                     }
                 }
             }
         }
     }
     return json_encode($respuesta);
 }