Пример #1
0
 /**
  * Creates a new LanguageData model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  * @return mixed
  */
 public function actionCreate($language_id)
 {
     $username = Yii::$app->user->identity->username;
     $model = new LanguageData();
     $model->language_id = $language_id;
     $this->language_id = $model->language_id;
     if (Yii::$app->request->isPost && ($model = LanguageData::create(Yii::$app->request->post()))) {
         return $this->redirect(['update', 'id' => $model->id]);
     } else {
         return $this->render('create', ['username' => $username, 'model' => $model]);
     }
 }
Пример #2
0
 /**
  * Updates an existing Language model.
  * If update is successful, the browser will be redirected to the 'view' page.
  * @param integer $id
  * @return mixed
  */
 public function actionUpdate($id)
 {
     $username = Yii::$app->user->identity->username;
     if ($model = $this->findModel($id)) {
         $this->language_id = $model->id;
         if (Yii::$app->request->isPost && $model->update2(Yii::$app->request->post())) {
             foreach (LanguageData::findAll(['language_id' => $model->id]) as $item) {
                 if (!in_array($item->key, I18n::$language_keys)) {
                     $item->delete();
                 }
             }
             $default = Language::getDefault();
             foreach (I18n::$language_keys as $key) {
                 if (!LanguageData::findOne(['language_id' => $model->id, 'key' => $key])) {
                     if ($default_item = LanguageData::findOne(['language_id' => $default->id, 'key' => $key])) {
                         $value = $default_item->value;
                     } else {
                         $value = $key;
                     }
                     LanguageData::create(['LanguageData' => ['language_id' => $model->id, 'key' => $key, 'value' => $value]]);
                 }
             }
             return $this->goBack(Url::previous());
         } else {
             return $this->render('update', ['username' => $username, 'model' => $model]);
         }
     } else {
         throw new NotFoundHttpException();
     }
 }