protected function verificar_sesion() { //1. Verifico la sesión para inicializar el juego if (!isset(Yii::app()->session['ronda']) || Yii::app()->session['ronda'] == 0) { if ($this->_usuario_id == 0) { //2. Obtengo el id del usuario $usuario = Usuario::model()->find('cruge_user_id = ' . Yii::app()->user->id); Yii::app()->session['usuario_id'] = $this->_usuario_id = $usuario->id; } //Verificar cual es la ronda vigente $rondaactual = Ronda::model()->getRondaActual(); if (!$rondaactual) { Yii::app()->user->setFlash('error', 'no-trivias'); $this->_error(); } Yii::app()->session['ronda'] = $this->_ronda = $rondaactual->id; Yii::app()->session['preguntaid'] = $this->_preguntaid = 0; Yii::app()->session['situacion'] = $this->_situacion = 1; //1. inicio } else { $this->_ronda = Yii::app()->session['ronda']; $this->_usuario_id = Yii::app()->session['usuario_id']; $this->_preguntaid = Yii::app()->session['preguntaid']; $this->_situacion = Yii::app()->session['situacion']; } $rxr = RondaXRespuesta::model()->count('usuario_id = :usuario_id && ronda_id = :ronda_id', array(':usuario_id' => $this->_usuario_id, ':ronda_id' => $this->_ronda)); $rxp = RondaXPregunta::model()->count('ronda_id = :ronda_id', array(':ronda_id' => $this->_ronda)); if ($rxr >= $rxp) { Yii::app()->user->setFlash('error', 'ya-participo'); $this->_error(); } }
protected function verificar_respuestas($ronda_id, $pregunta) { $usuario = Usuario::model()->findByAttributes(array('cruge_user_id' => Yii::app()->user->id)); foreach ($pregunta->respuestas as $r) { $rxr = RondaXRespuesta::model()->findByAttributes(array('respuesta_id' => $r->id), 'usuario_id = :usuario_id AND ronda_id = :ronda_id', array(':usuario_id' => $usuario->id, ':ronda_id' => $ronda_id)); if ($rxr) { return true; } } return false; }