Example #1
0
 public function actionCruise_deck_edit()
 {
     $this->setauth();
     //检查有无权限
     $db = Yii::app()->m_db;
     $id = $_GET['id'];
     $cruise_deck = VcosCruiseDeck::model()->findByPk($id);
     $sql = "SELECT b.id FROM vcos_cruise_deck a LEFT JOIN vcos_cruise_deck_language b ON a.deck_id = b.deck_id WHERE a.deck_id = {$id} AND b.iso ='" . Yii::app()->language . "'";
     $id2 = Yii::app()->m_db->createCommand($sql)->queryRow();
     $cruise_deck_language = VcosCruiseDeckLanguage::model()->findByPk($id2['id']);
     $current_page = 0;
     if ($_POST) {
         $photo = '';
         $photo_iso = '';
         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'];
         }
         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';
         //事务处理
         $transaction = $db->beginTransaction();
         try {
             if (isset($_POST['language']) && $_POST['language'] != '') {
                 //编辑系统语言和外语状态下
                 //编辑主表
                 $columns = array('deck_state' => $state, 'deck_layer' => $_POST['layer']);
                 $db->createCommand()->update('vcos_cruise_deck', $columns, 'deck_id = :id', array(':id' => $id));
                 if ($photo_iso) {
                     //判断有无上传图片
                     $photo_iso_url = 'cruiseinfo_images/' . Yii::app()->params['month'] . '/' . $photo_iso;
                 }
                 $columns_deck = array('deck_name' => $_POST['name']);
                 if ($photo) {
                     //判断有无上传图片
                     $columns_deck['img_url'] = 'cruiseinfo_images/' . Yii::app()->params['month'] . '/' . $photo;
                 }
                 //编辑系统语言
                 $db->createCommand()->update('vcos_cruise_deck_language', $columns_deck, 'id=:id', array(':id' => $id2['id']));
                 //判断外语是新增OR编辑
                 if ($_POST['judge'] == 'add') {
                     //新增外语
                     $db->createCommand()->insert('vcos_cruise_deck_language', array('deck_id' => $id, 'iso' => $_POST['language'], 'img_url' => $photo_iso_url, 'deck_name' => $_POST['name_iso']));
                 } else {
                     //编辑外语
                     $columns_deck_language = array('deck_name' => $_POST['name_iso']);
                     if ($photo_iso) {
                         //判断有无上传图片
                         $columns_deck_language['img_url'] = 'cruiseinfo_images/' . Yii::app()->params['month'] . '/' . $photo_iso;
                     }
                     $db->createCommand()->update('vcos_cruise_deck_language', $columns_deck_language, 'id=:id', array(':id' => $_POST['judge']));
                 }
                 //事务提交
                 $transaction->commit();
                 Helper::show_message(yii::t('vcos', '修改成功。'), Yii::app()->createUrl("Cruiseinfo/Cruise_deck_list"));
             } else {
                 //只编辑系统语言状态下
                 $cruise_deck->deck_state = $state;
                 $cruise_deck->deck_layer = $_POST['layer'];
                 $cruise_deck->save();
                 $cruise_deck_language->id = $id2['id'];
                 //$cruise_deck_language->img_url = 'cruiseinfo_images/'.Yii::app()->params['month'].'/'.$photo_iso;
                 if ($photo) {
                     //判断有无上传图片
                     $cruise_deck_language->img_url = 'cruiseinfo_images/' . Yii::app()->params['month'] . '/' . $photo;
                 }
                 $cruise_deck_language->deck_name = $_POST['name'];
                 $cruise_deck_language->save();
                 $transaction->commit();
                 Helper::show_message(yii::t('vcos', '修改成功。'), Yii::app()->createUrl("Cruiseinfo/Cruise_deck_list"));
             }
         } catch (Exception $e) {
             $transaction->rollBack();
             Helper::show_message(yii::t('vcos', '修改失败。'), '#');
         }
     }
     if (isset($_GET['page'])) {
         $current_page = 1;
     }
     $count_sql = "SELECT count(*) count FROM `vcos_cruise_deck_point` a\r\n        LEFT JOIN `vcos_cruise_deck_point_language` b ON a.deck_point_id=b.deck_point_id\r\n        LEFT JOIN (SELECT * FROM `vcos_cruise_deck_language` c WHERE c.iso = '" . Yii::app()->language . "') c ON a.deck_id = c.deck_id\r\n        WHERE b.iso = '" . Yii::app()->language . "'  AND a.deck_id='" . $id . "' ";
     $count = $db->createCommand($count_sql)->queryRow();
     //分页
     $criteria = new CDbCriteria();
     $count = $count['count'];
     //$count = count($restaurant);
     $pager = new CPagination($count);
     $pager->pageSize = 10;
     $pager->applyLimit($criteria);
     $sql = "SELECT a.*,b.*,c.deck_name FROM `vcos_cruise_deck_point` a\r\n        LEFT JOIN `vcos_cruise_deck_point_language` b ON a.deck_point_id=b.deck_point_id\r\n        LEFT JOIN (SELECT * FROM `vcos_cruise_deck_language` c WHERE c.iso = '" . Yii::app()->language . "') c ON a.deck_id = c.deck_id\r\n        WHERE b.iso = '" . Yii::app()->language . "' AND a.deck_id='" . $id . "' LIMIT {$criteria->offset}, {$pager->pageSize}";
     $cruise_deck_point = $db->createCommand($sql)->queryAll();
     //获取当前邮轮模型
     $cruise_id = Yii::app()->params['cruise_id'];
     $sql = "SELECT * FROM `vcos_cruise_model` WHERE cruise_id='{$cruise_id}' LIMIT 1";
     $cruise_model = $db->createCommand($sql)->queryRow();
     $this->render('cruise_deck_edit', array('current_page' => $current_page, 'cruise_model' => $cruise_model, 'cruise_deck' => $cruise_deck, 'cruise_deck_language' => $cruise_deck_language, 'pages' => $pager, 'auth' => $this->auth, 'cruise_deck_point' => $cruise_deck_point));
 }
 public function actionCruise_deck_edit()
 {
     $this->setauth();
     //检查有无权限
     $id = $_GET['id'];
     $cruise_deck = VcosCruiseDeck::model()->findByPk($id);
     $sql = "SELECT b.id FROM vcos_cruise_deck a LEFT JOIN vcos_cruise_deck_language b ON a.deck_id = b.deck_id WHERE a.deck_id = {$id} AND b.iso ='" . Yii::app()->language . "'";
     $id2 = Yii::app()->m_db->createCommand($sql)->queryRow();
     $cruise_deck_language = VcosCruiseDeckLanguage::model()->findByPk($id2['id']);
     if ($_POST) {
         $photo = '';
         $photo_iso = '';
         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'];
         }
         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';
         //事务处理
         $db = Yii::app()->m_db;
         $transaction = $db->beginTransaction();
         try {
             if (isset($_POST['language']) && $_POST['language'] != '') {
                 //编辑系统语言和外语状态下
                 //编辑主表
                 $columns = array('deck_state' => $state, 'deck_layer' => $_POST['layer']);
                 $db->createCommand()->update('vcos_cruise_deck', $columns, 'deck_id = :id', array(':id' => $id));
                 if ($photo_iso) {
                     //判断有无上传图片
                     $photo_iso_url = 'cruiseinfo_images/' . Yii::app()->params['month'] . '/' . $photo_iso;
                 }
                 $columns_deck = array('deck_name' => $_POST['name']);
                 if ($photo) {
                     //判断有无上传图片
                     $columns_deck['img_url'] = 'cruiseinfo_images/' . Yii::app()->params['month'] . '/' . $photo;
                 }
                 //编辑系统语言
                 $db->createCommand()->update('vcos_cruise_deck_language', $columns_deck, 'id=:id', array(':id' => $id2['id']));
                 //判断外语是新增OR编辑
                 if ($_POST['judge'] == 'add') {
                     //新增外语
                     $db->createCommand()->insert('vcos_cruise_deck_language', array('deck_id' => $id, 'iso' => $_POST['language'], 'img_url' => $photo_iso_url, 'deck_name' => $_POST['name_iso']));
                 } else {
                     //编辑外语
                     $columns_deck_language = array('deck_name' => $_POST['name_iso']);
                     if ($photo_iso) {
                         //判断有无上传图片
                         $columns_deck_language['img_url'] = 'cruiseinfo_images/' . Yii::app()->params['month'] . '/' . $photo_iso;
                     }
                     $db->createCommand()->update('vcos_cruise_deck_language', $columns_deck_language, 'id=:id', array(':id' => $_POST['judge']));
                 }
                 //事务提交
                 $transaction->commit();
                 Helper::show_message(yii::t('vcos', '修改成功。'), Yii::app()->createUrl("Cruiseinfo/Cruise_deck_list"));
             } else {
                 //只编辑系统语言状态下
                 $cruise_deck->deck_state = $state;
                 $cruise_deck->deck_layer = $_POST['layer'];
                 $cruise_deck->save();
                 $cruise_deck_language->id = $id2['id'];
                 //$cruise_deck_language->img_url = 'cruiseinfo_images/'.Yii::app()->params['month'].'/'.$photo_iso;
                 if ($photo) {
                     //判断有无上传图片
                     $cruise_deck_language->img_url = 'cruiseinfo_images/' . Yii::app()->params['month'] . '/' . $photo;
                 }
                 $cruise_deck_language->deck_name = $_POST['name'];
                 $cruise_deck_language->save();
                 $transaction->commit();
                 Helper::show_message(yii::t('vcos', '修改成功。'), Yii::app()->createUrl("Cruiseinfo/Cruise_deck_list"));
             }
         } catch (Exception $e) {
             $transaction->rollBack();
             Helper::show_message(yii::t('vcos', '修改失败。'), '#');
         }
     }
     $this->render('cruise_deck_edit', array('cruise_deck' => $cruise_deck, 'cruise_deck_language' => $cruise_deck_language));
 }