public function actionIndex() { $rr = new RequestResponse(); $classComponent = \Yii::$app->request->get('component'); $classComponentSettings = (string) \Yii::$app->request->get('settings'); if ($classComponentSettings) { $classComponentSettings = unserialize(StringHelper::base64DecodeUrl($classComponentSettings)); } /** * @var $component \skeeks\cms\relatedProperties\PropertyType; */ $component = new $classComponent(); try { $component->attributes = $classComponentSettings; } catch (\Exception $e) { } if (\Yii::$app->request->isAjax && !\Yii::$app->request->isPjax) { return $rr->ajaxValidateForm($component); } $forSave = ""; if ($rr->isRequestPjaxPost()) { if ($component->load(\Yii::$app->request->post())) { \Yii::$app->session->setFlash('success', 'Сохранено'); $forSave = StringHelper::base64EncodeUrl(serialize($component->attributes)); } else { \Yii::$app->session->setFlash('error', 'Ошибка'); } } return $this->render($this->action->id, ["component" => $component, "forSave" => $forSave]); }
public function run() { $modelClassName = $this->controller->modelClassName; $model = new $modelClassName(); $scenarios = $model->scenarios(); if ($scenarios && $this->modelScenario) { if (isset($scenarios[$this->modelScenario])) { $model->scenario = $this->modelScenario; } } $rr = new RequestResponse(); if (\Yii::$app->request->isAjax && !\Yii::$app->request->isPjax) { return $rr->ajaxValidateForm($model); } if ($rr->isRequestPjaxPost()) { if ($model->load(\Yii::$app->request->post()) && $model->save($this->modelValidate)) { \Yii::$app->getSession()->setFlash('success', \Yii::t('app', 'Saved')); if (\Yii::$app->request->post('submit-btn') == 'apply') { return $this->controller->redirect(UrlHelper::constructCurrent()->setCurrentRef()->enableAdmin()->setRoute($this->controller->modelDefaultAction)->normalizeCurrentRoute()->addData([$this->controller->requestPkParamName => $model->{$this->controller->modelPkAttribute}])->toString()); } else { return $this->controller->redirect($this->controller->indexUrl); } } else { \Yii::$app->getSession()->setFlash('error', \Yii::t('app', 'Could not save')); } } $this->viewParams = ['model' => $model]; return parent::run(); }
public function run() { $model = $this->controller->model; $scenarios = $model->scenarios(); if ($scenarios && $this->modelScenario) { if (isset($scenarios[$this->modelScenario])) { $model->scenario = $this->modelScenario; } } $rr = new RequestResponse(); if (\Yii::$app->request->isAjax && !\Yii::$app->request->isPjax) { return $rr->ajaxValidateForm($model); } if ($rr->isRequestPjaxPost()) { if ($model->load(\Yii::$app->request->post()) && $model->save($this->modelValidate)) { \Yii::$app->getSession()->setFlash('success', \Yii::t('app', 'Saved')); if (\Yii::$app->request->post('submit-btn') == 'apply') { } else { return $this->controller->redirect($this->controller->indexUrl); } $model->refresh(); } else { \Yii::$app->getSession()->setFlash('error', \Yii::t('app', 'Could not save')); } } $this->viewParams = ['model' => $model]; return parent::run(); }
public function run() { /** * @var $contentElement CmsContentElement */ $contentElement = $this->controller->model; $model = ShopProduct::find()->where(['id' => $contentElement->id])->one(); $productPrices = []; if (!$model) { $model = new ShopProduct(['id' => $contentElement->id]); } else { if ($typePrices = ShopTypePrice::find()->where(['!=', 'def', Cms::BOOL_Y])->all()) { foreach ($typePrices as $typePrice) { $productPrice = ShopProductPrice::find()->where(['product_id' => $model->id, 'type_price_id' => $typePrice->id])->one(); if (!$productPrice) { $productPrice = new ShopProductPrice(['product_id' => $model->id, 'type_price_id' => $typePrice->id]); } if ($post = \Yii::$app->request->post()) { $data = ArrayHelper::getValue($post, 'prices.' . $typePrice->id); $productPrice->load($data, ""); } $productPrices[] = $productPrice; } } } $rr = new RequestResponse(); if (\Yii::$app->request->isAjax && !\Yii::$app->request->isPjax) { return $rr->ajaxValidateForm($model); } if ($rr->isRequestPjaxPost()) { /** * @var $productPrice ShopProductPrice */ foreach ($productPrices as $productPrice) { if ($productPrice->save()) { } else { \Yii::$app->getSession()->setFlash('error', \skeeks\cms\shop\Module::t('app', 'Check the correctness of the prices')); } } if ($model->load(\Yii::$app->request->post()) && $model->save()) { \Yii::$app->getSession()->setFlash('success', 'Saved'); if (\Yii::$app->request->post('submit-btn') == 'apply') { } else { return $this->controller->redirect($this->controller->indexUrl); } $model->refresh(); } else { \Yii::$app->getSession()->setFlash('error', \skeeks\cms\shop\Module::t('app', 'Failed to save')); } } $this->viewParams = ['model' => $model, 'productPrices' => $productPrices]; return parent::run(); }
/** * Updates an existing Game model. * If update is successful, the browser will be redirected to the 'view' page. * @return mixed */ public function actionChangePassword() { $model = $this->model; $modelForm = new PasswordChangeForm(['user' => $model]); $rr = new RequestResponse(); if (\Yii::$app->request->isAjax && !\Yii::$app->request->isPjax) { return $rr->ajaxValidateForm($modelForm); } if ($modelForm->load(\Yii::$app->request->post()) && $modelForm->changePassword()) { \Yii::$app->getSession()->setFlash('success', 'Успешно сохранено'); } else { if (\Yii::$app->request->isPost) { \Yii::$app->getSession()->setFlash('error', 'Не удалось изменить пароль'); } } return $this->render($this->action->id, ['model' => $modelForm]); }
/** * Валидация данных с формы * @return array */ public function actionShopPersonTypeValidate() { $rr = new RequestResponse(); if (\Yii::$app->request->isAjax && !\Yii::$app->request->isPjax) { if (\Yii::$app->request->post('shop_person_type_id')) { $shop_person_type_id = \Yii::$app->request->post('shop_person_type_id'); /** * @var $shopPersonType ShopPersonType */ $shopPersonType = ShopPersonType::find()->active()->andWhere(['id' => $shop_person_type_id])->one(); if (!$shopPersonType) { $rr->message = \skeeks\cms\shop\Module::t('app', 'This payer is disabled or deleted. Refresh the page.'); $rr->success = false; return $rr; } $modelHasRelatedProperties = $shopPersonType->createModelShopBuyer(); if (method_exists($modelHasRelatedProperties, "createPropertiesValidateModel")) { $model = $modelHasRelatedProperties->createPropertiesValidateModel(); } else { $model = $modelHasRelatedProperties->getRelatedPropertiesModel(); } return $rr->ajaxValidateForm($model); } } }
/** * @return RequestResponse */ public function actionFormValidate() { $v3toysMessage = new V3toysMessage(); $v3toysMessage->loadDefaultValues(); if ($elementId = \Yii::$app->request->post('element_id')) { $v3toysMessage->addProduct($elementId); } $rr = new RequestResponse(); return $rr->ajaxValidateForm($v3toysMessage); }
public function actionSubmit() { $rr = new RequestResponse(); $model = new Comments2Message(); if ($rr->isRequestOnValidateAjaxForm()) { return $rr->ajaxValidateForm($model); } if ($rr->isRequestAjaxPost()) { $model->scenario = Comments2Message::SCENARIO_SITE_INSERT; $model->page_url = \Yii::$app->request->referrer; if ($model->load(\Yii::$app->request->post())) { //Проверка на максимальное количество комментариев к одному посту от одного пользователя. $messagesFind = Comments2Message::find(); if (\Yii::$app->user->isGuest) { $messagesFind->andWhere(['ip' => Request::getRealUserIp()]); } else { $messagesFind->andWhere(['created_by' => \Yii::$app->user->identity->id]); } $messagesFind2 = clone $messagesFind; $messagesFind->andWhere(['status' => Comments2Message::STATUS_ALLOWED])->andWhere(['element_id' => $model->element_id]); if (\Yii::$app->comments2->maxCountMessagesForUser != 0) { if ($messagesFind->count() >= \Yii::$app->comments2->maxCountMessagesForUser) { $rr->success = false; $rr->message = \skeeks\cms\comments2\Module::t('app', 'You have already added a comment on this post before.'); return $rr; } } //Проверка частоты добавления комментариев if (\Yii::$app->comments2->securityEnabledRateLimit == Cms::BOOL_Y) { $messagesFind2 = Comments2Message::find(); if (\Yii::$app->user->isGuest) { $messagesFind2->andWhere(['ip' => Request::getRealUserIp()]); } else { $messagesFind2->andWhere(['created_by' => \Yii::$app->user->identity->id]); } $lastTime = \Yii::$app->formatter->asTimestamp(time()) - (int) \Yii::$app->comments2->securityRateLimitTime; $messagesFind2->andWhere(['>=', 'created_at', $lastTime]); //print_r($messagesFind2->createCommand()->rawSql);die; if ($messagesFind2->count() >= \Yii::$app->comments2->securityRateLimitRequests) { $rr->success = false; $rr->message = \skeeks\cms\comments2\Module::t('app', 'You too often add comments.'); return $rr; } } if ($model->save()) { $rr->success = true; if (\Yii::$app->comments2->enabledBeforeApproval == Cms::BOOL_Y) { $rr->message = \Yii::$app->comments2->messageSuccessBeforeApproval; } else { $rr->message = \Yii::$app->comments2->messageSuccess; //Отключена предмодерация, сразу публикуем $model->status = Comments2Message::STATUS_ALLOWED; $model->scenario = ActiveRecord::SCENARIO_DEFAULT; $model->save(); } $model->notifyCreate(); } else { $rr->success = false; $rr->message = \skeeks\cms\comments2\Module::t('app', 'You comments not added') . ": " . implode(",", $model->getFirstErrors()); } } else { $rr->success = false; $rr->message = \skeeks\cms\comments2\Module::t('app', 'You comments not added') . ": " . implode(",", $model->getFirstErrors()); } } return $rr; }
/** * @return array */ public function actionPayValidate() { $rr = new RequestResponse(); return $rr->ajaxValidateForm($this->model); }
/** * Валидация данных с формы * @return array */ public function actionValidate() { $rr = new RequestResponse(); if (\Yii::$app->request->isAjax && !\Yii::$app->request->isPjax) { if (\Yii::$app->request->post('sx-model') && \Yii::$app->request->post('sx-model-value')) { $modelClass = \Yii::$app->request->post('sx-model'); $modelValue = \Yii::$app->request->post('sx-model-value'); /** * @var $modelForm Form2Form */ $modelForm = $modelClass::find()->where(['id' => $modelValue])->one(); $modelHasRelatedProperties = $modelForm->createModelFormSend(); if (method_exists($modelHasRelatedProperties, "createPropertiesValidateModel")) { $model = $modelHasRelatedProperties->createPropertiesValidateModel(); } else { $model = $modelHasRelatedProperties->getRelatedPropertiesModel(); } return $rr->ajaxValidateForm($model); } } }
/** * @return string */ public function actionCheckoutValidate() { $rr = new RequestResponse(); $v3toysOrder = V3toysOrder::createCurrent(); return $rr->ajaxValidateForm($v3toysOrder); }
/** * Восстановлеине пароля * @return string|Response */ public function actionRegisterByEmail() { if (!\Yii::$app->user->isGuest) { return $this->goHome(); } $rr = new RequestResponse(); $model = new SignupForm(); $model->scenario = SignupForm::SCENARION_ONLYEMAIL; //Запрос на валидацию ajax формы if ($rr->isRequestOnValidateAjaxForm()) { return $rr->ajaxValidateForm($model); } //Запрос ajax post if ($rr->isRequestAjaxPost()) { if ($model->load(\Yii::$app->request->post()) && ($registeredUser = $model->signup())) { $rr->success = true; $rr->message = 'Для дальнейших действий, проверьте вашу почту.'; return $rr; } else { $rr->message = 'Не удалось зарегистрироваться'; } return (array) $rr; } return $this->render('register', ['model' => $model]); }
public function actionAuth() { $this->view->title = \Yii::t('app', 'Authorization'); $this->layout = '@skeeks/cms/modules/admin/views/layouts/unauthorized.php'; $goUrl = ""; $loginModel = new LoginFormUsernameOrEmail(); $passwordResetModel = new PasswordResetRequestFormEmailOrLogin(); if ($ref = UrlHelper::getCurrent()->getRef()) { $goUrl = $ref; } $rr = new RequestResponse(); if (!\Yii::$app->user->isGuest) { return $goUrl ? $this->redirect($goUrl) : $this->goHome(); } //Авторизация if (\Yii::$app->request->post('do') == 'login') { if ($rr->isRequestOnValidateAjaxForm()) { return $rr->ajaxValidateForm($loginModel); } if ($rr->isRequestAjaxPost()) { if ($loginModel->load(\Yii::$app->request->post()) && $loginModel->login()) { if (!$goUrl) { $goUrl = Yii::$app->getUser()->getReturnUrl($defaultUrl); } $rr->redirect = $goUrl; $rr->success = true; $rr->message = ""; $rr->message = ""; return (array) $rr; } else { $rr->success = false; $rr->message = \Yii::t('app', "Unsuccessful attempt authorization"); return (array) $rr; } } } //Запрос на сброс пароля if (\Yii::$app->request->post('do') == 'password-reset') { if ($rr->isRequestOnValidateAjaxForm()) { return $rr->ajaxValidateForm($passwordResetModel); } if ($rr->isRequestAjaxPost()) { if ($passwordResetModel->load(\Yii::$app->request->post()) && $passwordResetModel->sendEmail()) { $rr->success = true; $rr->message = \Yii::t('app', "Check your email address"); return (array) $rr; } else { $rr->success = false; $rr->message = \Yii::t('app', "Failed send email"); return (array) $rr; } } } return $this->render('auth', ['loginModel' => $loginModel, 'passwordResetModel' => $passwordResetModel, 'goUrl' => $goUrl]); }
public function actionSubmit() { $rr = new RequestResponse(); $model = new Reviews2Message(); if ($rr->isRequestOnValidateAjaxForm()) { return $rr->ajaxValidateForm($model); } if ($rr->isRequestAjaxPost()) { $model->scenario = Reviews2Message::SCENARIO_SITE_INSERT; $model->page_url = \Yii::$app->request->referrer; if ($model->load(\Yii::$app->request->post())) { //Проверка на максимальное количество отзывов к одному посту от одного пользователя. $messagesFind = Reviews2Message::find(); if (\Yii::$app->user->isGuest) { $messagesFind->andWhere(['ip' => \Yii::$app->request->userIP])->andWhere(['or', ['created_by' => null], ['created_by' => '']]); } else { $messagesFind->andWhere(['created_by' => \Yii::$app->user->identity->id]); } $messagesFind2 = clone $messagesFind; $messagesFind->andWhere(['status' => Reviews2Message::STATUS_ALLOWED])->andWhere(['element_id' => $model->element_id]); if (\Yii::$app->reviews2->maxCountMessagesForUser != 0) { if ($messagesFind->count() >= \Yii::$app->reviews2->maxCountMessagesForUser) { $rr->success = false; $rr->message = \Yii::t('skeeks/reviews2', "You have already added a review for this post earlier."); return $rr; } } //Проверка частоты добавления отзывов if (\Yii::$app->reviews2->securityEnabledRateLimit == Cms::BOOL_Y) { $messagesFind2 = Reviews2Message::find(); if (\Yii::$app->user->isGuest) { $messagesFind2->andWhere(['ip' => \Yii::$app->request->userIP]); } else { $messagesFind2->andWhere(['created_by' => \Yii::$app->user->identity->id]); } $lastTime = \Yii::$app->formatter->asTimestamp(time()) - (int) \Yii::$app->reviews2->securityRateLimitTime; $messagesFind2->andWhere(['>=', 'created_at', $lastTime]); //print_r($messagesFind2->createCommand()->rawSql);die; if ($messagesFind2->count() >= \Yii::$app->reviews2->securityRateLimitRequests) { $rr->success = false; $rr->message = \Yii::t('skeeks/reviews2', "You too often add reviews."); return $rr; } } if ($model->save()) { $rr->success = true; if (\Yii::$app->reviews2->enabledBeforeApproval == Cms::BOOL_Y) { $rr->message = \Yii::$app->reviews2->messageSuccessBeforeApproval; } else { $rr->message = \Yii::$app->reviews2->messageSuccess; //Отключена предмодерация, сразу публикуем $model->status = Reviews2Message::STATUS_ALLOWED; $model->save(); } $model->notifyCreate(); } else { $rr->success = false; $rr->message = \Yii::t('skeeks/reviews2', "Review not added") . ": " . implode(",", $model->getFirstErrors()); } } else { $rr->success = false; $rr->message = \Yii::t('skeeks/reviews2', "Review not added") . ": " . implode(",", $model->getFirstErrors()); } } return $rr; }
/** * @param $username * @return string */ public function actionEditInfo() { $model = $this->user; $rr = new RequestResponse(); if ($rr->isRequestOnValidateAjaxForm()) { return $rr->ajaxValidateForm($model); } if ($rr->isRequestAjaxPost()) { if ($model->load(\Yii::$app->request->post()) && $model->save()) { $rr->success = true; $rr->message = 'Данные успешно сохранены'; } else { $rr->message = 'Не получилось сохранить данные'; } return $rr; } return $this->render($this->action->id); }
public function actionUser() { $component = $this->_component; $user_id = \Yii::$app->request->get('user_id'); if (!$user_id) { throw new UserException("Не передан параметр user_id"); } $user = User::findOne($user_id); if (!$user) { throw new UserException("Не найден пользователь"); } $component->loadSettingsByUser($user); $rr = new RequestResponse(); if (\Yii::$app->request->isAjax && \Yii::$app->request->isPost && !\Yii::$app->request->isPjax) { return $rr->ajaxValidateForm($component); } if (\Yii::$app->request->isPost && \Yii::$app->request->isPjax) { if ($component->load(\Yii::$app->request->post()) && $component->validate()) { if ($component->saveDefaultSettingsByUserId($user->id)) { \Yii::$app->getSession()->setFlash('success', 'Успешно сохранено'); } else { \Yii::$app->getSession()->setFlash('error', 'Не удалось сохранить'); } } else { \Yii::$app->getSession()->setFlash('error', 'Не удалось сохранить'); } } return $this->render($this->action->id, ['component' => $component, 'user' => $user]); }
public function createOrder() { $cmsUser = null; if ($userId = \Yii::$app->request->get('cmsUserId')) { $cmsUser = CmsUser::findOne($userId); } if ($cmsUser) { /** * @var $shopFuser ShopFuser */ $shopFuser = ShopFuser::getInstanceByUser($cmsUser); $model = $shopFuser; $rr = new RequestResponse(); if (\Yii::$app->request->isAjax && !\Yii::$app->request->isPjax) { $model->scenario = ShopFuser::SCENARIO_CREATE_ORDER; return $rr->ajaxValidateForm($model); } if ($rr->isRequestPjaxPost()) { try { if ($model->load(\Yii::$app->request->post()) && $model->save()) { $model->scenario = ShopFuser::SCENARIO_CREATE_ORDER; if ($model->validate()) { $order = ShopOrder::createOrderByFuser($model); if (!$order->isNewRecord) { \Yii::$app->getSession()->setFlash('success', \Yii::t('skeeks/shop/app', 'The order #{order_id} created successfully', ['order_id' => $order->id])); if (\Yii::$app->request->post('submit-btn') == 'apply') { return $this->redirect(UrlHelper::constructCurrent()->setCurrentRef()->enableAdmin()->setRoute($this->modelDefaultAction)->normalizeCurrentRoute()->addData([$this->requestPkParamName => $order->id])->toString()); } else { return $this->redirect($this->indexUrl); } } else { throw new Exception(\Yii::t('skeeks/shop/app', 'Incorrect data of the new order') . ": " . array_shift($order->getFirstErrors())); } } else { throw new Exception(\Yii::t('skeeks/shop/app', 'Not enogh data for ordering') . ": " . array_shift($model->getFirstErrors())); } } else { throw new Exception(\Yii::t('skeeks/shop/app', 'Could not save')); } } catch (\Exception $e) { \Yii::$app->getSession()->setFlash('error', $e->getMessage()); } } return $this->render($this->action->id, ['cmsUser' => $cmsUser, 'shopFuser' => $model]); } else { return $this->render($this->action->id . "-select-user"); } }