public function actionSave($id = null, $languageId = null) { $selectedLanguage = Language::findOne($languageId); if (!empty($id)) { $country = ProductCountry::find()->where(['id' => $id])->one(); $countryTranslation = ProductCountryTranslation::find()->where(['country_id' => $id, 'language_id' => $languageId])->one(); if (empty($countryTranslation)) { $countryTranslation = new ProductCountryTranslation(); } } else { $country = new ProductCountry(); $countryTranslation = new ProductCountryTranslation(); } if (\Yii::$app->request->isPost) { $country->load(\Yii::$app->request->post()); $countryTranslation->load(\Yii::$app->request->post()); if ($countryTranslation->validate()) { $country->save(); $countryTranslation->country_id = $country->id; $countryTranslation->language_id = $selectedLanguage->id; $countryTranslation->save(); return $this->redirect(Url::toRoute('/shop/country')); } } return $this->render('save', ['country' => $country, 'countryTranslation' => $countryTranslation, 'languages' => Language::findAll(['active' => true]), 'selectedLanguage' => $selectedLanguage]); }
public function actionSave($languageId = null, $categoryId = null) { if (!empty($categoryId)) { $category = Category::findOne($categoryId); $category_translation = CategoryTranslation::find()->where(['category_id' => $categoryId, 'language_id' => $languageId])->one(); if (empty($category_translation)) { $category_translation = new CategoryTranslation(); } } else { $category = new Category(); $category_translation = new CategoryTranslation(); } if (Yii::$app->request->isPost) { $category->load(Yii::$app->request->post()); $category_translation->load(Yii::$app->request->post()); if ($category->validate() && $category_translation->validate()) { $category->save(); $category_translation->category_id = $category->id; $category_translation->language_id = $languageId; $category_translation->save(); Yii::$app->getSession()->setFlash('success', 'Data were successfully modified.'); return $this->redirect(Url::toRoute('/articles/category')); } else { Yii::$app->getSession()->setFlash('danger', 'Failed to change the record.'); } } return $this->render('edit', ['category' => $category, 'category_translation' => $category_translation, 'categories' => Category::find()->with('translations')->all(), 'selectedLanguage' => Language::findOne($languageId), 'languages' => Language::findAll(['active' => true])]); }
public function actionAddBasic($articleId, $languageId) { if (!empty($articleId)) { $article = Article::findOne($articleId); $article_translation = ArticleTranslation::find()->where(['article_id' => $articleId, 'language_id' => $languageId])->one(); if (empty($article_translation)) { $article_translation = new ArticleTranslation(); } } else { $article = new Article(); $article_translation = new ArticleTranslation(); } if (Yii::$app->request->isPost) { $article->load(Yii::$app->request->post()); $article_translation->load(Yii::$app->request->post()); if ($article->validate() && $article_translation->validate()) { $article->save(); $article_translation->article_id = $article->id; $article_translation->language_id = $languageId; $article_translation->save(); Yii::$app->getSession()->setFlash('success', 'Data were successfully modified.'); } else { Yii::$app->getSession()->setFlash('danger', 'Failed to change the record.'); } } if (\Yii::$app->request->isPjax) { return $this->renderPartial('add-basic', ['article' => $article, 'article_translation' => $article_translation, 'categories' => Category::find()->with('translations')->all(), 'selectedLanguage' => Language::findOne($languageId), 'languages' => Language::findAll(['active' => true])]); } else { return $this->render('save', ['article' => $article, 'languageId' => $languageId, 'viewName' => 'add-basic', 'params' => ['article' => $article, 'article_translation' => $article_translation, 'categories' => Category::find()->with('translations')->all(), 'selectedLanguage' => Language::findOne($languageId), 'languages' => Language::findAll(['active' => true])]]); } }
/** * @param string $page_key * @param integer $languageId * @return mixed * @throws BadRequestHttpException * @throws BadRequestHttpException */ public function actionSavePage($page_key = null, $languageId = null) { $selected_language = !empty($languageId) ? Language::findOne($languageId) : Language::findOne(['lang_id' => Yii::$app->language]); if (!empty($selected_language)) { if (!empty($page_key)) { $static_page = StaticPage::findOne($page_key); if (!empty($static_page)) { $static_page_translation = StaticPageTranslation::find()->where(['page_key' => $page_key, 'language_id' => $selected_language->id])->one(); if (empty($static_page_translation)) { $static_page_translation = new StaticPageTranslation(); $static_page_translation->page_key = $static_page->key; } } else { throw new BadRequestHttpException('Such static page doesn\'t exist. You can\'t add translation.'); } } else { $static_page = new StaticPage(); $static_page_translation = new StaticPageTranslation(); } if (Yii::$app->request->isPost) { if ($static_page_translation->load(Yii::$app->request->post())) { if (empty($static_page->key)) { $static_page->key = $static_page_translation->page_key; if ($static_page->validate()) { $static_page->save(); } else { throw new BadRequestHttpException('Sorry, such static page already exist.'); } } $static_page_translation->language_id = $selected_language->id; $static_page_translation->save(); } } return $this->render('save-page', ['static_page' => $static_page, 'static_page_translation' => $static_page_translation, 'staticPage' => StaticPage::find()->all(), 'selectedLanguage' => $selected_language, 'languages' => Language::findAll(['active' => true])]); } else { throw new BadRequestHttpException('You can\'t add this static page translation, because such language doesn\'t exist'); } }
<?php use bl\cms\gallery\models\entities\GalleryAlbum; use bl\cms\gallery\models\entities\GalleryAlbumTranslation; use bl\multilang\entities\Language; use dosamigos\tinymce\TinyMce; use yii\bootstrap\ActiveForm; use yii\helpers\Html; use yii\helpers\Url; /** * @var GalleryAlbum $album * @var GalleryAlbumTranslation $albumTranslation * @var Language $currentLanguage * @var Language[] $languages */ $languages = Language::findAll(['active' => true]); ?> <?php $form = ActiveForm::begin(['method' => 'post', 'options' => ['enctype' => 'multipart/form-data']]); ?> <div class="row"> <div class="col-md-12"> <div class="panel panel-default"> <div class="panel-heading"> <i class="glyphicon glyphicon-list"></i> <?php echo Yii::t('blcms-gallery/backend/album', 'Album'); ?> <?php if (count($languages) > 1) {
/** * Selects product filters for category * * @param integer $id * @param integer $languageId * @param integer $categoryId * @return mixed * @throws Exception * @throws ForbiddenHttpException */ public function actionSelectFilters($id = null, $languageId = null, $categoryId = null) { if (!empty($categoryId)) { $category = Category::findOne($categoryId); $filters = Filter::find()->where(['category_id' => $category->id])->all(); $filter = !empty($id) ? Filter::findOne($id) : new Filter(); } else { throw new Exception('You can not add filter before saving category.'); } if (Yii::$app->request->isPost) { $filter->load(Yii::$app->request->post()); if ($filter->validate()) { $filter->category_id = $category->id; $filter->save(); Yii::$app->getSession()->setFlash('success', 'Data were successfully modified.'); return $this->redirect(Yii::$app->request->referrer); } } return $this->render('save', ['category' => $category, 'languageId' => $languageId, 'selectedLanguage' => Language::findOne($languageId), 'languages' => Language::findAll(['active' => true]), 'viewName' => 'select-filters', 'params' => ['category' => $category, 'filters' => $filters, 'newFilter' => new Filter(), 'languageId' => $languageId]]); }
/** * Users which have 'updateOwnProduct' permission can add price only for Product models that have been created by their. * Users which have 'updateProduct' permission can add price for all Product models. * * @param integer $id * @param integer $languageId * @return mixed * @throws ForbiddenHttpException */ public function actionAddPrice($id, $languageId) { if (\Yii::$app->user->can('updateProduct', ['productOwner' => Product::findOne($id)->owner])) { $price = new ProductPrice(); $priceTranslation = new ProductPriceTranslation(); $product = Product::findOne($id); $selectedLanguage = Language::findOne($languageId); if (\Yii::$app->request->isPost) { $post = \Yii::$app->request->post(); if ($price->load($post) && $priceTranslation->load($post)) { $price->product_id = $product->id; if ($price->save()) { $priceTranslation->price_id = $price->id; $priceTranslation->language_id = $selectedLanguage->id; if ($priceTranslation->save()) { $price = new ProductPrice(); $priceTranslation = new ProductPriceTranslation(); } } } } if (Yii::$app->request->isPjax) { return $this->renderPartial('add-price', ['priceList' => $product->prices, 'priceModel' => $price, 'priceTranslationModel' => $priceTranslation, 'product' => $product, 'languages' => Language::findAll(['active' => true]), 'language' => $selectedLanguage]); } return $this->render('save', ['viewName' => 'add-price', 'selectedLanguage' => Language::findOne($languageId), 'product' => $product, 'languages' => Language::find()->all(), 'params' => ['priceList' => $product->prices, 'priceModel' => $price, 'priceTranslationModel' => $priceTranslation, 'product' => $product, 'languages' => Language::findAll(['active' => true]), 'language' => $selectedLanguage]]); } else { throw new ForbiddenHttpException(\Yii::t('shop', 'You have not permission to do this action.')); } }
public function run() { $languages = Language::findAll(['active' => true]); $current = Language::findOne(['lang_id' => Yii::$app->language]); return $this->render('list', ['current' => $current, 'languages' => $languages]); }