public function actionRespuesta() { $this->layout = "single"; if (!Yii::app()->request->isAjaxRequest) { throw new CHttpException('403', 'Forbidden access.'); } $id = Yii::app()->request->restParams['id']; // Validar token if ($this->validarToken()) { if ($this->validarCuentas()) { $respuesta = Respuesta::model()->find('id = ?', array(0 => $id)); $pregunta = Pregunta::model()->find('id = ?', array(0 => $respuesta->pregunta->id)); $puntos = $respuesta->pregunta->nivel->puntos; //$pregunta->estado = 0; //$pregunta->save(); $respuestaJugador = new RespuestaXJugador(); $log = new Logs(); $respuestaJugador->pregunta_id = $respuesta->pregunta->id; $respuestaJugador->respuesta_id = $id; $respuestaJugador->jugador_id = Yii::app()->session['jugador_id']; $respuestaJugador->fecha = date('Y-m-d G:i:s'); $respuestaJugador->ip = $_SERVER['REMOTE_ADDR'] . ' : ' . $_SERVER['REMOTE_PORT']; try { if (Yii::app()->user->id) { $jugador = Jugador::model()->find('usuario_id = ' . Yii::app()->user->id); if ($jugador != NULL) { $log->usuario = 'id ' . $jugador->id . ' - ' . $jugador->nombre; } else { $log->usuario = 'id ' . $jugador->id; } } $msg_res = $respuesta->es_correcta == 1 ? 'correcta' : 'incorrecta'; $log->accion = 'Contesto Pregunta # ' . $respuesta->pregunta->id; $log->msg = 'IP: ' . $_SERVER['REMOTE_ADDR'] . ' : ' . $_SERVER['REMOTE_PORT'] . '- Contesto "' . $pregunta->pregunta . '"' . '- Su Respuesta fue # ' . $id . '- "' . $respuesta->respuesta . '"' . '- Con respuesta ' . $msg_res; $log->fecha = date('Y-m-d G:i:s'); $log->save(); } catch (Exception $e) { $log->accion = 'Error log'; $log->msg = ''; $log->fecha = date('Y-m-d G:i:s'); $log->save(); } $respuestaJugador->save(); $respuesta = Respuesta::model()->find('id = ?', array(0 => $id)); $r = array(); switch ($respuesta->es_correcta == 1) { case true: // Respuesta correcta , que por ley no se puede informar al usuario. $r['message'] = 'Gracias por participar, recuerda revisar tu perfil al final del día para saber los resultados.'; $r['status'] = 'success'; break; case false: // Respuesta Incorrecta , que por ley no se puede informar al usuario. $r['message'] = 'Gracias por participar, recuerda revisar tu perfil al final del día para saber los resultados.'; /** * formato viejo **/ $r['status'] = 'success'; // $r['status'] = 'error'; break; } /** * * Formato Viejo , por seguridad ya no se m * mandan los puntos al JS. **/ //$r['puntos'] = $puntos; $r['puntos'] = 'null'; $this->clearTokenVal(); } else { $r = array(); $r['message'] = 'Moral error: No puedes jugar aun.'; $r['status'] = 'error'; // Codigo 3 debe estar en el contenido de la base de datos . $this->redirect(array('site/contenido', 'id' => 3)); Yii::app()->end(); } } else { $r = array(); $r['message'] = 'Error , token de seguridad invalido.'; $r['status'] = 'error'; } header('Content-Type: application/json; charset="UTF-8"'); echo CJSON::encode($r); Yii::app()->end(); }