public function actionLine_edit() { $this->setauth(); //检查有无权限 $db = Yii::app()->m_db; $id = $_GET['id']; $line = VcosLine::model()->findByPk($id); $sql = "SELECT b.id FROM vcos_line a LEFT JOIN vcos_line_language b ON a.line_id = b.line_id WHERE a.line_id = {$id} AND b.iso ='" . Yii::app()->params['language'] . "'"; $id2 = Yii::app()->m_db->createCommand($sql)->queryRow(); $line_language = VcosLineLanguage::model()->findByPk($id2['id']); $current_page = 0; if ($_POST) { $state = isset($_POST['state']) ? $_POST['state'] : '0'; $time = explode(" - ", $_POST['time']); $stime = date('Y/m/d H:i:s', strtotime($time[0])); $etime = date('Y/m/d H:i:s', strtotime($time[1]) + "86399"); //事务处理 $db = Yii::app()->m_db; $transaction = $db->beginTransaction(); try { if (isset($_POST['language']) && $_POST['language'] != '') { //编辑系统语言和外语状态下 //编辑主表 $db->createCommand()->update('vcos_line', array('start_time' => $stime, 'end_time' => $etime, 'state' => $state), 'line_id = :id', array(':id' => $id)); //编辑系统语言 $db->createCommand()->update('vcos_line_language', array('line_name' => $_POST['title'], 'voyage_time' => $_POST['vtime']), 'id=:id', array(':id' => $id2['id'])); //判断外语是新增OR编辑 if ($_POST['judge'] == 'add') { //新增外语 $db->createCommand()->insert('vcos_line_language', array('line_id' => $id, 'iso' => $_POST['language'], 'line_name' => $_POST['title_iso'], 'voyage_time' => $_POST['vtime_iso'])); } else { //编辑外语 $db->createCommand()->update('vcos_line_language', array('line_name' => $_POST['title_iso'], 'voyage_time' => $_POST['vtime_iso']), 'id=:id', array(':id' => $_POST['judge'])); } //事务提交 $transaction->commit(); Helper::show_message(yii::t('vcos', '修改成功。'), Yii::app()->createUrl("Line/line_list")); } else { //只编辑系统语言 $line->line_id = $id; $line->start_time = $stime; $line->end_time = $etime; $line->state = $state; $line->save(); $line_language->id = $id2['id']; $line_language->line_name = $_POST['title']; $line_language->voyage_time = $_POST['vtime']; $line_language->save(); $transaction->commit(); Helper::show_message(yii::t('vcos', '修改成功。'), Yii::app()->createUrl("Line/line_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_line_detail a, vcos_line_detail_language b, vcos_line c, vcos_line_language d WHERE a.detail_id = b.detail_id AND a.line_id = c.line_id AND a.line_id = d.line_id AND b.iso = '" . Yii::app()->language . "' AND d.iso = '" . Yii::app()->language . "' AND a.line_id='" . $id . "' ORDER BY a.detail_id DESC"; $count = $db->createCommand($count_sql)->queryRow(); $criteria = new CDbCriteria(); $count = $count['count']; $pager = new CPagination($count); $pager->pageSize = 10; $pager->applyLimit($criteria); $sql = "SELECT * FROM vcos_line_detail a, vcos_line_detail_language b, vcos_line c, vcos_line_language d WHERE a.detail_id = b.detail_id AND a.line_id = c.line_id AND a.line_id = d.line_id AND b.iso = '" . Yii::app()->language . "' AND d.iso = '" . Yii::app()->language . "' AND a.line_id='" . $id . "' ORDER BY a.detail_id DESC LIMIT {$criteria->offset}, {$pager->pageSize}"; $detail = $db->createCommand($sql)->queryAll(); $this->render('line_edit', array('current_page' => $current_page, 'line' => $line, 'line_language' => $line_language, 'pages' => $pager, 'auth' => $this->auth, 'detail' => $detail)); }
public function actionLine_edit() { $this->setauth(); //检查有无权限 $id = $_GET['id']; $line = VcosLine::model()->findByPk($id); $sql = "SELECT b.id FROM vcos_line a LEFT JOIN vcos_line_language b ON a.line_id = b.line_id WHERE a.line_id = {$id} AND b.iso ='" . Yii::app()->params['language'] . "'"; $id2 = Yii::app()->m_db->createCommand($sql)->queryRow(); $line_language = VcosLineLanguage::model()->findByPk($id2['id']); if ($_POST) { $state = isset($_POST['state']) ? $_POST['state'] : '0'; $time = explode(" - ", $_POST['time']); $stime = date('Y/m/d H:i:s', strtotime($time[0])); $etime = date('Y/m/d H:i:s', strtotime($time[1]) + "86399"); //事务处理 $db = Yii::app()->m_db; $transaction = $db->beginTransaction(); try { if (isset($_POST['language']) && $_POST['language'] != '') { //编辑系统语言和外语状态下 //编辑主表 $db->createCommand()->update('vcos_line', array('start_time' => $stime, 'end_time' => $etime, 'state' => $state), 'line_id = :id', array(':id' => $id)); //编辑系统语言 $db->createCommand()->update('vcos_line_language', array('line_name' => $_POST['title'], 'voyage_time' => $_POST['vtime']), 'id=:id', array(':id' => $id2['id'])); //判断外语是新增OR编辑 if ($_POST['judge'] == 'add') { //新增外语 $db->createCommand()->insert('vcos_line_language', array('line_id' => $id, 'iso' => $_POST['language'], 'line_name' => $_POST['title_iso'], 'voyage_time' => $_POST['vtime_iso'])); } else { //编辑外语 $db->createCommand()->update('vcos_line_language', array('line_name' => $_POST['title_iso'], 'voyage_time' => $_POST['vtime_iso']), 'id=:id', array(':id' => $_POST['judge'])); } //事务提交 $transaction->commit(); Helper::show_message(yii::t('vcos', '修改成功。'), Yii::app()->createUrl("Line/line_list")); } else { //只编辑系统语言 $line->line_id = $id; $line->start_time = $stime; $line->end_time = $etime; $line->state = $state; $line->save(); $line_language->id = $id2['id']; $line_language->line_name = $_POST['title']; $line_language->voyage_time = $_POST['vtime']; $line_language->save(); $transaction->commit(); Helper::show_message(yii::t('vcos', '修改成功。'), Yii::app()->createUrl("Line/line_list")); } } catch (Exception $e) { $transaction->rollBack(); Helper::show_message(yii::t('vcos', '修改失败。')); } } $this->render('line_edit', array('line' => $line, 'line_language' => $line_language)); }