Пример #1
0
 public function search($params)
 {
     $query = User::find();
     $dataProvider = new ActiveDataProvider(['query' => $query]);
     if (!($this->load($params) && $this->validate())) {
         if (count($query->orderBy) == 0) {
             $query->addOrderBy('username');
         }
         return $dataProvider;
     }
     $this->addCondition($query, 'id');
     $this->addCondition($query, 'username', true);
     $this->addCondition($query, 'email', true);
     $this->addCondition($query, 'email_confirmed');
     $this->addCondition($query, 'first_name', true);
     $this->addCondition($query, 'last_name', true);
     $this->addCondition($query, 'nick_name', true);
     $this->addCondition($query, 'patronymic', true);
     $this->addCondition($query, 'short_name', true);
     $this->addCondition($query, 'full_name', true);
     $this->addCondition($query, 'date_of_birth');
     $this->addCondition($query, 'gender', true);
     $this->addCondition($query, 'facebook_uid', true);
     $this->addCondition($query, 'facebook_name', true);
     $this->addCondition($query, 'facebook_data', true);
     $this->addCondition($query, 'twitter_uid', true);
     $this->addCondition($query, 'twitter_name', true);
     $this->addCondition($query, 'twitter_data', true);
     $this->addCondition($query, 'gplus_uid', true);
     $this->addCondition($query, 'gplus_name', true);
     $this->addCondition($query, 'gplus_data', true);
     $this->addCondition($query, 'vk_uid', true);
     $this->addCondition($query, 'vk_name', true);
     $this->addCondition($query, 'vk_data', true);
     $this->addCondition($query, 'status', true);
     $this->addCondition($query, 'last_visit_time');
     $this->addCondition($query, 'created_at');
     $this->addCondition($query, 'updated_at');
     $this->addCondition($query, 'avatar', true);
     return $dataProvider;
 }