public function actionEdit($categoryId = null, $languageId = null) { if (Yii::$app->request->isPost) { $source_message = SourceMessage::find()->where(['id' => Yii::$app->request->post("SourceMessage")['id']])->one(); $message_language = Yii::$app->request->post("Message"); $source_message->load(Yii::$app->request->post()); $source_message->save(); if (!empty($message_language['language'])) { $message = Message::find()->where(['id' => $source_message->id, 'language' => $message_language['language']])->one(); if (empty($message)) { $message = new Message(); } $message->load(Yii::$app->request->post()); $message->id = $source_message->id; $message->save(); } return $this->redirect(Url::toRoute(['/translation/message', 'categoryId' => $source_message->id, 'languageId' => Language::find()->where(['lang_id' => $message->language])->one()->id])); } else { $language = Language::findOne($languageId); $category = SourceMessage::find()->where(['id' => $categoryId])->one(); if ($language->lang_id != Yii::$app->sourceLanguage) { $message = Message::find()->where(['id' => $category->id, 'language' => $language->lang_id])->one(); if (empty($message)) { $message = new Message(); } return $this->render('source-message/edit', ['source_message' => $category, 'message' => $message, 'categories' => SourceMessage::find()->all(), 'languages' => Language::find()->all(), 'language' => $language]); } else { return $this->render('message/edit', ['model' => $category, 'language' => $language]); } } }