[ 'class' => AccessControl::className(), 'only' => [ 'logout', 'signup', ], 'rules' => [ [ 'actions' => [ 'signup' ], 'allow' => true, 'roles' => [ '?' ], ], [ 'actions' => [ 'logout' ], 'allow' => true, 'roles' => [ '@' ], ], ], ], 'verbs' => [ 'class' => VerbFilter::className(), 'actions' => [ 'logout' => [ 'post' ], ], ], ]; } /** * @inheritdoc */ public function actions() { return [ 'error' => [ 'class' => 'yii\web\ErrorAction', ], 'captcha' => [ 'class' => 'yii\captcha\CaptchaAction', 'fixedVerifyCode' => YII_ENV_TEST ? 'testme' : NULL, ], ]; } /** * Displays homepage. * @return mixed */ public function actionIndex() { $categories = Category::find() ->where([ 'depth' => 0 ]) ->orderBy('category_id') ->joinWith('lang') ->all(); $purposes = TaxGroup::find() ->where([ 'tax_group.tax_group_id' => 5, 'level' => 0, ]) ->joinWith('options.lang') ->one(); $banners = Banner::find() ->where([ 'banner.banner_id' => [ 3, 4, ], 'status' => 1, ]) ->joinWith('lang', true, 'INNER JOIN') ->all(); $slider = Slider::find() ->where([ 'slider.slider_id' => 2, 'slider.status' => 1, ]) ->joinWith('sliderImage.lang') ->one(); return $this->render('index', [ 'categories' => $categories, 'purposes' => $purposes, 'banners' => $banners, 'slider' => $slider, ]); } /** * Logs in a user. * @return mixed */ // public function actionLogin() // { // 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(); // } /** * Displays contact page. * @return string */ public function actionContact() { $page = Page::find()->with('lang')->where(['id' => 6])->one(); return $this->render('contact', [ 'page' => $page, ]); } /** * Signs user up. * @return mixed */ // public function actionSignup() // { // $model = new SignupForm(); // if($model->load(Yii::$app->request->post())) { // if($user = $model->signup()) { // if(Yii::$app->getUser() // ->login($user) // ) { // return $this->goHome(); // } // } // } // // return $this->render('signup', [ // '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, // ]); // } /** * Show certificates page. * @return string */ public function actionCertificates() { $query = Certificate::find(); $dataProvider = new ActiveDataProvider([ 'query' => $query, 'pagination' => false, ]); return $this->render('certificates', [ 'dataProvider' => $dataProvider, ]); } public function actionPage($id) { $model = Page::find() ->where([ 'page.id' => $id ]) ->joinWith('lang', true, 'INNER JOIN') ->one(); if(empty( $model )) { throw new NotFoundHttpException(); } return $this->render('page', [ 'model' => $model, ]); } }