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; }