/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = Profile::find(); $dataProvider = new ActiveDataProvider(['query' => $query]); if (!($this->load($params) && $this->validate())) { return $dataProvider; } $query->orFilterWhere(['like', 'email', $this->username])->orFilterWhere(['like', 'username', $this->username])->orFilterWhere(['like', 'mobile', $this->username]); return $dataProvider; }
public function actionActivate($key) { if (!Yii::$app->user->isGuest) { return $this->goHome(); } if ($this->isValidBase64($key)) { //clear any flash message Yii::$app->session->removeFlash('success'); Yii::$app->session->removeFlash('error'); $user = Profile::find()->where(['recoverycode' => base64_decode($key)])->one(); if ($user !== null && $user->codeexpiry > time()) { //succesful so set flash $user->setAttributes(['isactive' => 1, 'recoverycode' => '']); if ($user->save()) { Yii::$app->session->setFlash('success', Yii::t('app', 'Your Account have been activated. Please login')); } else { Yii::$app->session->setFlash('error', Yii::t('app', 'Activation failed with code 1432. Please Try again')); } } else { Yii::$app->session->setFlash('error', Yii::t('app', 'Activation code have expired or Invalid. Please click "forgot password below to resend"')); } } else { Yii::$app->session->setFlash('error', Yii::t('app', 'Activation failed with code 1332. Please Try again')); } $this->redirect(['account/login']); }