public function actionCreate()
 {
     $model = new Menu('create');
     $modelMenuLanguage = new MenuLanguage('create');
     $listMenutype = MenuType::model()->findAll('status=1 ORDER BY ordering ASC');
     $listMenuLanguage = MenuLanguage::model()->getListMenuLanguage($this->getLanguageCode(), NULL, '0,1,2');
     $listLanguage = Language::model()->listLanguage();
     $attributeInTab = '';
     $langerror = 'vn';
     $activetab = 0;
     if (isset($_POST['Menu']) && isset($_POST['MenuLanguage'])) {
         if (!empty($_POST['Menu']['fake_url'])) {
             if ($_POST['Menu']['url_type'] != 'category' && $_POST['Menu']['url_type'] != 'post') {
                 $_POST['Menu']['url_type'] = $_POST['Menu']['fake_url'];
                 $_POST['Menu']['url'] = 1;
             }
         } else {
             $_POST['Menu']['url_type'] = NULL;
             $_POST['Menu']['url'] = NULL;
         }
         $model->attributes = $_POST['Menu'];
         //            $model->url = str_replace(PHP_EOL, '', $model->url);
         $postMenuLanguage = $_POST['MenuLanguage'];
         $this->validateMenuLanguage($listLanguage, $postMenuLanguage, $modelMenuLanguage, $errorMessage, $attributeInTab);
         //validate all data in language's tabs, if that is empty record, unset it
         if (empty($postMenuLanguage)) {
             Yii::app()->user->setFlash('error', Yii::t('menu', 'Name, Description cannot be blank.'));
         }
         if (($errorString = $this->convertErrorMessageToString($errorMessage)) !== FALSE) {
             Yii::app()->user->setFlash('error', $errorString);
             if (strpos($errorString, 'Vietnamese') == FALSE && strpos($errorString, 'English') != FALSE) {
                 $langerror = 'en';
             }
         }
         if ($model->validate() && empty($errorMessage) && !empty($postMenuLanguage)) {
             $transaction = Yii::app()->db->beginTransaction();
             try {
                 $parent = Menu::model()->findByPK($model->parent_id);
                 if ($model->appendTo($parent)) {
                     foreach ($postMenuLanguage as $index => $attribute) {
                         $modelMenuLanguage = new MenuLanguage('create');
                         $modelMenuLanguage->menu_id = $model->id;
                         $modelMenuLanguage->language_id = $attribute['language_id'];
                         $modelMenuLanguage->name = $attribute['name'];
                         $modelMenuLanguage->description = str_replace(PHP_EOL, '', $attribute['description']);
                         if (!$modelMenuLanguage->save()) {
                             Yii::app()->user->setFlash('error', Yii::t('menu', 'Add menu language failed. Please try it later.'));
                             $transaction->rollback();
                         }
                     }
                     $transaction->commit();
                     Yii::app()->user->setFlash('success', Yii::t('menu', 'Add menu successfully.'));
                     $this->redirect(array('/' . backend . '/menu/admin'));
                 }
             } catch (Exception $ex) {
                 $transaction->rollback();
                 Yii::app()->user->setFlash('error', Yii::t('menu', 'Add menu failed. Please try it later.'));
             }
         }
     }
     if ($langerror == 'en') {
         $activetab = 1;
     }
     $this->render(strtolower($this->action->id), array('model' => $model, 'modelMenuLanguage' => $modelMenuLanguage, 'listMenutype' => $listMenutype, 'listLanguage' => $listLanguage, 'listMenuLanguage' => $listMenuLanguage, 'attributeInTab' => $attributeInTab, 'activetab' => $activetab, 'listParentMenutype' => json_encode($listMenuLanguage['menu_type'])));
 }