예제 #1
0
 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');
     }
 }
예제 #5
0
<?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) {
예제 #6
0
 /**
  * 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]]);
 }
예제 #7
0
 /**
  * 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]);
 }