public function actionCruise_deck_add() { $this->setauth(); //检查有无权限 $deck = new VcosCruiseDeck(); $deck_language = new VcosCruiseDeckLanguage(); if ($_POST) { $photo = ''; if ($_FILES['photo']['error'] != 4) { $result = Helper::upload_file('photo', Yii::app()->params['img_save_url'] . 'cruiseinfo_images/' . Yii::app()->params['month'], 'image', 3); $photo = $result['filename']; } $photo_iso = ''; if (isset($_POST['language']) && $_POST['language'] != '') { if ($_FILES['photo_iso']['error'] != 4) { $result = Helper::upload_file('photo_iso', Yii::app()->params['img_save_url'] . 'cruiseinfo_images/' . Yii::app()->params['month'], 'image', 3); $photo_iso = $result['filename']; } } $state = isset($_POST['state']) ? $_POST['state'] : '0'; $deck->deck_state = $state; $deck->deck_layer = $_POST['layer']; $photo_url = 'cruiseinfo_images/' . Yii::app()->params['month'] . '/' . $photo; $photo_iso_url = 'cruiseinfo_images/' . Yii::app()->params['month'] . '/' . $photo_iso; //处理事务 $db = Yii::app()->m_db; $transaction = $db->beginTransaction(); try { $deck->save(); if (isset($_POST['language']) && $_POST['language'] != '') { //判读是否同时添加系统语言和外语 $sql = "INSERT INTO `vcos_cruise_deck_language` (`deck_id`,`img_url`,`deck_name`, `iso`) VALUES ('{$deck->primaryKey}','{$photo_url}', '{$_POST['name']}' ,'" . Yii::app()->params['language'] . "'), ('{$deck->primaryKey}','{$photo_iso_url}','{$_POST['name_iso']}', '{$_POST['language']}')"; $db->createCommand($sql)->execute(); $transaction->commit(); //Helper::show_message(yii::t('vcos', '添加成功。'), Yii::app()->createUrl("Cruiseinfo/cruise_deck_list")); Helper::show_message_query(yii::t('vcos', '添加成功,是否继续添加甲板点介绍?'), Yii::app()->createUrl("Cruiseinfo/cruise_deck_point_add"), Yii::app()->createUrl("Cruiseinfo/cruise_deck_list")); } else { //只添加系统语言时 $deck_language->deck_id = $deck->primaryKey; $deck_language->img_url = $photo_url; $deck_language->deck_name = $_POST['name']; $deck_language->iso = Yii::app()->params['language']; $deck_language->save(); $transaction->commit(); //Helper::show_message(yii::t('vcos', '添加成功。'), Yii::app()->createUrl("Cruiseinfo/cruise_deck_list")); Helper::show_message_query(yii::t('vcos', '添加成功,是否继续添加甲板点介绍?'), Yii::app()->createUrl("Cruiseinfo/cruise_deck_point_add"), Yii::app()->createUrl("Cruiseinfo/cruise_deck_list")); } } catch (Exception $e) { $transaction->rollBack(); Helper::show_message(yii::t('vcos', '添加失败。'), '#'); } } $this->render('cruise_deck_add', array('deck' => $deck, 'deck_language' => $deck_language)); }