示例#1
0
 public function beforeAction($action)
 {
     if (!parent::beforeAction($action)) {
         return false;
     }
     if (isset(Yii::app()->user->usIdent)) {
         // Obtiene la clasificación de los equipos
         $clasificacion = Clasificacion::model()->with('equipos')->findAll(array('order' => 'posicion ASC'));
         Yii::app()->setParams(array('clasificacion' => $clasificacion));
         // Obtiene la información del usuario
         $usuario = Usuarios::model()->with('recursos')->findByPK(Yii::app()->user->usIdent);
         Yii::app()->setParams(array('usuario' => $usuario));
         // Obtiene la información de la mensajeria
         //Saca la lista de los emails recibidos por el usuario y que ademas no los haya leido
         $mensajeria = Emails::model()->findAllByAttributes(array('id_usuario_to' => Yii::app()->user->usIdent, 'leido' => 0));
         $countmens = count($mensajeria);
         Yii::app()->setParams(array('countmens' => $countmens));
         // Obtiene la información de las notificaciones
         //Saca la lista de las notinicaciones recibidas por el usuario y que ademas no haya leido
         $notificaciones = Usrnotif::model()->findAllByAttributes(array('usuarios_id_usuario' => Yii::app()->user->usIdent, 'leido' => 0));
         $countnot = count($notificaciones);
         Yii::app()->setParams(array('countnot' => $countnot));
     }
     Yii::app()->setParams(array('bgclass' => 'bg-estadio-fuera'));
     return true;
 }
 /**
  * Eliminar las notificaciones del usuario: Cambia el estado de las notificaciones a leido
  *
  * @route jugadorNum12/notificaciones/index
  *
  * @return void
  */
 public function actionEliminarNotificaciones()
 {
     $usrnotif = Usrnotif::model()->findAllByAttributes(array('usuarios_id_usuario' => Yii::app()->user->usIdent));
     $trans = Yii::app()->db->beginTransaction();
     try {
         foreach ($usrnotif as $not) {
             if (!$not->leido) {
                 $not->leido = !$not->leido;
                 $not->save();
             }
         }
         $trans->commit();
     } catch (Exception $e) {
         $trans->rollback();
     }
     $this->redirect(array('notificaciones/index'));
 }
示例#3
0
 /**
  * Elimina las notificaciones existentes
  *
  * @return void
  */
 public static function borrarNotificaciones()
 {
     //Borramos conexiones de notificaciones leidas
     Usrnotif::model()->deleteAllByAttributes(array('leido' => 1));
     //Cogemos todas las notificaciones
     $notificaciones = Notificaciones::model()->findAll();
     foreach ($notificaciones as $notificacion) {
         //si a alguna de las notificaciones ha sido leida por todos los usuarios se borra
         $u = Usrnotif::model()->findByAttributes(array('notificaciones_id_notificacion' => $notificacion->id_notificacion));
         if ($u === null) {
             $notificacion->delete();
         }
     }
 }