Example #1
0
 /**
  * Creates data provider instance with search query applied
  *
  * @param array $params
  *
  * @return ActiveDataProvider
  */
 public function search($params)
 {
     $query = UserReadAlerts::find();
     $dataProvider = new ActiveDataProvider(['query' => $query]);
     $this->load($params);
     if (!$this->validate()) {
         // uncomment the following line if you do not want to any records when validation fails
         // $query->where('0=1');
         return $dataProvider;
     }
     $query->andFilterWhere(['User_id' => $this->User_id, 'WeatherAlert_id' => $this->WeatherAlert_id, 'isRead' => $this->isRead]);
     return $dataProvider;
 }
Example #2
0
 public function cleanDatabase()
 {
     try {
         AreaDefinition::deleteAll();
         UserReadAlerts::deleteAll();
         WeatherAlertCoordinates::deleteAll();
         WeatherAlertArea::deleteAll();
         WeatherAlert::deleteAll();
         NRESProperty::deleteAll();
     } catch (\Exception $e) {
     }
     return true;
 }
Example #3
0
 public function getUnreadAlertsCount($type)
 {
     $query = new Query();
     $ids = [];
     $timePeriodForAlert = $type == 0 ? Yii::$app->params['timePeriodForRecentPreAlerts'] : Yii::$app->params['timePeriodForRecentPostAlerts'];
     $allAlerts = WeatherAlert::find()->where(['type' => $type, 'status' => WeatherAlert::STATUS_ACTUAL])->andFilterWhere(['>', 'date', time() - $timePeriodForAlert * 3600])->all();
     foreach ($allAlerts as $alert) {
         $ids[] = $alert->id;
     }
     //        var_dump($ids);die;
     //        $readedAlerts = UserReadAlerts::find()->andFilterWhere(['in','WeatherAlert_id',implode(',',$ids)])->all();
     $readedAlerts = UserReadAlerts::find()->where(['WeatherAlert_id' => $ids, 'User_id' => Yii::$app->user->id])->count();
     return count($ids) - (int) $readedAlerts;
 }
Example #4
0
 public function _markAlertReaded($id)
 {
     $alertReaded = models\UserReadAlerts::findOne(['WeatherAlert_id' => $id, 'User_id' => Yii::$app->user->id]);
     if ($alertReaded) {
         return false;
     }
     $alertReaded = new models\UserReadAlerts();
     $alertReaded->User_id = Yii::$app->user->id;
     $alertReaded->WeatherAlert_id = $id;
     $alertReaded->save();
     return true;
 }