[ 'class' => 'yii\web\ErrorAction', ], 'captcha' => [ 'class' => 'yii\captcha\CaptchaAction', 'fixedVerifyCode' => YII_ENV_TEST ? 'testme' : null, ], ]; } public function actionCity($query){ \Yii::$app->response->format = \yii\web\Response::FORMAT_JSON; $out = ['results' => ['id' => '', 'text' => '']]; if (!is_null($query)) { $query = new Query(); $query->select('id, name AS text') ->from('city') ->where(['like', 'name', $query]) ->limit(20); $command = $query->createCommand(); $data = $command->queryAll(); $out['results'] = array_values($data); } return $out; } public function actionFormsModal() { return $this->renderAjax('forms-modal', [ ]); } /** * Displays homepage. * * @return mixed */ public function actionIndex() { $specializations = Specialization::find()->where(['specialization_pid'=>0])->all(); return $this->render('index',[ 'specializations' => $specializations, ]); } /** * =================== * ==== BASIC YII ==== * =================== */ /** * Logs in a user. * * @return mixed */ public function actionLogin() { $this->layout = 'admin'; if (!\Yii::$app->user->isGuest) { return $this->goHome(); } $model = new LoginForm(); if ($model->load(Yii::$app->request->post()) && $model->login()) { return $this->goBack(); } else { return $this->render('login', [ 'model' => $model, ]); } // creat new model table Social and new model User // $social = new Social(); // $user = new User(); // // $serviceName = Yii::$app->getRequest()->getQueryParam('service'); // // if (isset($serviceName)) { // /** @var $eauth \nodge\eauth\ServiceBase */ // $eauth = Yii::$app->get('eauth')->getIdentity($serviceName); // $eauth->setRedirectUrl(Yii::$app->getUser()->getReturnUrl()); // $eauth->setCancelUrl(Yii::$app->getUrlManager()->createAbsoluteUrl('site/login')); // // try { // if ($eauth->authenticate()) { // $identity = User::findByEAuth($eauth); // Yii::$app->getUser()->login($identity); // // //Save date get social network in database // if (! $social::find()->where(['social_user_id' => $identity[profile][id], 'social_name' => $identity[profile][service]])->exists()) { // $name = explode(' ',$identity[profile][name]); // $user->firstname = $name[0]; // $user->lastname = $name[1]; // $user->id_system_date = date("d.m.y.H:i:s"); // $user->save(); // $social->social_name = $identity[profile][service]; // $social->social_user_id = $identity[profile][id]; // $social->user_id = $user->id; // $social->validate(); // $social->errors; // $social->save(); // } // // // special redirect with closing popup window // $eauth->redirect(); // } // else { // // close popup window and redirect to cancelUrl // $eauth->cancel(); // } // } // catch (\nodge\eauth\ErrorException $e) { // // save error to show it later // Yii::$app->getSession()->setFlash('error', 'EAuthException: '.$e->getMessage()); // // // close popup window and redirect to cancelUrl // // $eauth->cancel(); // $eauth->redirect($eauth->getCancelUrl()); // } // } // // // // // if (!\Yii::$app->user->isGuest) { // return $this->goHome(); // } // // $model = new LoginForm(); // if ($model->load(Yii::$app->request->post()) && $model->login()) { // return $this->goBack(); // } else { // return $this->render('login', [ // 'model' => $model, // ]); // } } /** * Logs out the current user. * * @return mixed */ public function actionLogout() { Yii::$app->user->logout(); return $this->goHome(); } /** * Signs user up. * * @return mixed */ public function actionRegistration() { $model = new SignupForm(); if ($model->load(Yii::$app->request->post())) { if ($user = $model->signup()) { $user_info = new UserInfo(); $user_info->user_id = $user->id; $user_info->save(); if (Yii::$app->getUser()->login($user)) { return $this->goHome(); } } } return $this->render('registration', [ 'model' => $model, ]); } /** * Requests password reset. * * @return mixed */ public function actionRequestPasswordReset() { $model = new PasswordResetRequestForm(); if ($model->load(Yii::$app->request->post()) && $model->validate()) { if ($model->sendEmail()) { Yii::$app->session->setFlash('success', 'Check your email for further instructions.'); return $this->goHome(); } else { Yii::$app->session->setFlash('error', 'Sorry, we are unable to reset password for email provided.'); } } return $this->render('requestPasswordResetToken', [ 'model' => $model, ]); } /** * Resets password. * * @param string $token * @return mixed * @throws BadRequestHttpException */ public function actionResetPassword($token) { try { $model = new ResetPasswordForm($token); } catch (InvalidParamException $e) { throw new BadRequestHttpException($e->getMessage()); } if ($model->load(Yii::$app->request->post()) && $model->validate() && $model->resetPassword()) { Yii::$app->session->setFlash('success', 'New password was saved.'); return $this->goHome(); } return $this->render('resetPassword', [ 'model' => $model, ]); } }