/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = Countries::find(); $dataProvider = new ActiveDataProvider(['query' => $query]); if (!($this->load($params) && $this->validate())) { return $dataProvider; } $query->andFilterWhere(['idcountries' => $this->idcountries]); $query->andFilterWhere(['like', 'name', $this->name]); return $dataProvider; }
public function actionSignup() { if (isset(Yii::$app->user->identity->id)) { $this->redirect(\yii\helpers\Url::to(['site/index'])); } $userModel = new Userform(); if ($userModel->load(Yii::$app->request->post())) { $userModel->attributes = $_POST['Userform']; $valid = $userModel->validate(); if ($valid) { $userModel->status = 1; $userModel->setPassword($userModel->password); $userModel->salt = $userModel->generateSaltkeyCustomFunction(); $userModel->created = new \yii\db\Expression('NOW()'); $userModel->session_id = session_id(); $userrname = explode('@', trim($userModel->email)); $userModel->username = $userrname[0]; $userModel->terms_agreed = 1; $userModel->creation_ip = Yii::$app->request->userIP; try { $userModel->save(); Yii::$app->session->setFlash('registerFlash', 'An email has been sent to your registered Email ID. Please verify it to access your account.'); //$this->redirect(Yii::$app->UrlManager->createUrl('site/flash')); $this->redirect(Yii::$app->UrlManager->createUrl('user/profile')); } catch (Exception $e) { Yii::$app->session->setFlash('registerFlash', $e->getMessage()); } } } $countries = Countries::find()->orderBy(['countryName' => SORT_ASC])->all(); $countrymap = ArrayHelper::map($countries, 'countryID', 'countryName'); return $this->render('signup', ['usermodel' => $userModel, 'countrymap' => $countrymap]); }
public static function getCountries($lang) { $countries = Countries::find()->all(); $countriesData = []; foreach ($countries as $country) { $countriesData[$country->id] = $country->getLangCountries($lang->url); } return $countriesData; }