PageRenderTime 61ms CodeModel.GetById 30ms RepoModel.GetById 0ms app.codeStats 0ms

/protected/modules/admin/controllers/TuannavController.php

https://github.com/duofei/dawuweiba
PHP | 413 lines | 328 code | 27 blank | 58 comment | 36 complexity | ff66636bb8649a288322db17fed3db46 MD5 | raw file
  1. <?php
  2. class TuannavController extends Controller
  3. {
  4. private function _getPages($criteria)
  5. {
  6. $pages = new CPagination(Tuannav::model()->count($criteria));
  7. $pages->pageSize = 20;
  8. $pages->applyLimit($criteria);
  9. return $pages;
  10. }
  11. /**
  12. * 列表
  13. */
  14. public function actionList()
  15. {
  16. $condition = new CDbCriteria();
  17. $condition->addColumnCondition(array('city_id' => $_SESSION['manage_city_id']));
  18. $condition->order = 'id desc';
  19. $pages = $this->_getPages($condition);
  20. $tuannav = Tuannav::model()->findAll($condition);
  21. $list = 'list';
  22. $this->render('list', array('tuannav'=>$tuannav, 'list'=>$list, 'pages'=>$pages));
  23. }
  24. /**
  25. * 今日团购
  26. */
  27. public function actionToday()
  28. {
  29. $today = date('Y-m-d');
  30. $today = strtotime($today);
  31. $condition = new CDbCriteria();
  32. $condition->addColumnCondition(array('city_id' => $_SESSION['manage_city_id']));
  33. $condition->addCondition('create_time>='.$today);
  34. $condition->order = 'id desc';
  35. $pages = $this->_getPages($condition);
  36. $tuannav = Tuannav::model()->findAll($condition);
  37. $this->render('list', array('tuannav'=>$tuannav, 'pages'=>$pages));
  38. }
  39. /**
  40. * 搜索团购
  41. */
  42. public function actionSearch()
  43. {
  44. foreach ((array)$_GET['Tuannav'] as $key=>$val){
  45. $tuannav_get[$key] = strip_tags(trim($val));
  46. }
  47. if($tuannav_get) {
  48. $start_time = strtotime($tuannav_get['create_time_start']);
  49. $end_time = strtotime($tuannav_get['create_time_end']);
  50. $end_time = strtotime('next Day', $end_time);
  51. $condition = new CDbCriteria();
  52. $condition->addColumnCondition(array('city_id' => $_SESSION['manage_city_id']));
  53. if ($tuannav_get['create_time_start']) {
  54. $condition->addCondition('create_time>=' . $start_time);
  55. }
  56. if ($tuannav_get['create_time_end']) {
  57. $condition->addCondition('create_time<=' . $end_time);
  58. }
  59. $condition->order = 'id desc';
  60. $pages = $this->_getPages($condition);
  61. $tuannav = Tuannav::model()->findAll($condition);
  62. $list = 'list';
  63. $this->render('list', array('tuannav'=>$tuannav, 'tuannav_get'=>$tuannav_get, 'list'=>$list, 'pages'=>$pages));
  64. }
  65. }
  66. /**
  67. * 编辑
  68. */
  69. public function actionEdit($id = 0)
  70. {
  71. $condition = new CDbCriteria();
  72. $condition->addColumnCondition(array('state' => STATE_ENABLED));
  73. $category = TuanCategory::model()->findAll($condition);
  74. $tuandata = TuanData::getTuanDataOfCity($_SESSION['manage_city_id']);
  75. if(app()->request->isPostRequest && isset($_POST['Tuannav'])) {
  76. $tuannav_post = $_POST['Tuannav'];
  77. $tuannav = Tuannav::model()->findByPk($_POST['id']);
  78. $tuannav->attributes = $tuannav_post;
  79. if($_POST['editTime']) {
  80. $d = intval($_POST['d']);
  81. $h = intval($_POST['h']);
  82. $i = intval($_POST['i']);
  83. $tuannav->effective_time = date(param('formatDateTime'), (time() + $i*60 + $h*3600 + $d*3600*24));
  84. }
  85. if (!$tuannav->save()) {
  86. user()->setFlash('errorSummary',CHtml::errorSummary($tuannav));
  87. $this->render('edit', array('tuannav' => $tuannav, 'category'=>$category, 'tuandata'=>$tuandata));
  88. exit;
  89. } else {
  90. AdminLog::saveManageLog('编辑团购(' . $tuannav->title . ')信息');
  91. }
  92. $referer = $_POST['referer'];
  93. if($referer) {
  94. $this->redirect($referer);
  95. } else {
  96. $this->redirect(url('admin/tuannav/list'));
  97. }
  98. }
  99. $id = (int)$id;
  100. if($id) {
  101. $tuannav = Tuannav::model()->findByPk($id);
  102. $tuannav->state = 1;
  103. $this->render('edit', array('tuannav' => $tuannav, 'category'=>$category, 'tuandata'=>$tuandata));
  104. }
  105. }
  106. /**
  107. * 添加
  108. */
  109. public function actionCreate()
  110. {
  111. $condition = new CDbCriteria();
  112. $condition->addColumnCondition(array('state' => STATE_ENABLED));
  113. $category = TuanCategory::model()->findAll($condition);
  114. $tuandata = TuanData::getTuanDataOfCity($_SESSION['manage_city_id']);
  115. if(app()->request->isPostRequest && isset($_POST['Tuannav'])) {
  116. $tuannav_post = $_POST['Tuannav'];
  117. $tuannav = new Tuannav();
  118. $tuannav->attributes = $tuannav_post;
  119. $tuannav->city_id = $_SESSION['manage_city_id'];
  120. $d = intval($_POST['d']);
  121. $h = intval($_POST['h']);
  122. $i = intval($_POST['i']);
  123. $tuannav->effective_time = date(param('formatDateTime'), (time() + $i*60 + $h*3600 + $d*3600*24));
  124. if (!$tuannav->save()) {
  125. user()->setFlash('errorSummary',CHtml::errorSummary($tuannav));
  126. $this->render('create', array('tuannav_post' => $tuannav_post, 'category'=>$category, 'tuandata'=>$tuandata, 'tuannav'=>$tuannav));
  127. exit;
  128. }else{
  129. AdminLog::saveManageLog('添加团购(' . $tuannav->title . ')信息');
  130. }
  131. $this->redirect(url('admin/tuannav/list'));
  132. }
  133. $tuannav_post['state'] = 1;
  134. $this->render('create', array('category'=>$category, 'tuandata'=>$tuandata, 'tuannav_post'=>$tuannav_post));
  135. }
  136. /**
  137. * 查看
  138. */
  139. public function actionInfo($id = 0)
  140. {
  141. $id = (int)$id;
  142. if($id) {
  143. $tuannav = Tuannav::model()->findByPk($id);
  144. $this->render('info', array('tuannav' => $tuannav));
  145. }
  146. }
  147. /**
  148. * 删除
  149. */
  150. public function actionDelete($id = 0)
  151. {
  152. $tuan_id = (int)$id;
  153. if ($tuan_id) {
  154. $tuannav = Tuannav::model()->findByPk($tuan_id);
  155. if (!$tuannav->delete()) {
  156. user()->setFlash('errorSummary',CHtml::errorSummary($tuannav));
  157. }else{
  158. AdminLog::saveManageLog('删除团购(' . $tuannav->title . ')信息');
  159. }
  160. }
  161. $this->redirect(url('admin/tuannav/list'));
  162. }
  163. /**
  164. * 管理评论
  165. */
  166. public function actionComment($id = 0)
  167. {
  168. $id = (int)$id;
  169. if($id) {
  170. $tuannav = Tuannav::model()->findByPk($id);
  171. $condition = new CDbCriteria();
  172. $condition->addCondition('tuan_id='.$id);
  173. $tuanComment = TuanComment::model()->findAll($condition);
  174. $this->render('comment', array('tuannav' => $tuannav, 'tuanComment'=>$tuanComment));
  175. }
  176. }
  177. /**
  178. * 删除评论
  179. */
  180. public function actionCommentDelete($id = 0)
  181. {
  182. $id = (int)$id;
  183. if ($id) {
  184. $tuanComment = TuanComment::model()->findByPk($id);
  185. if (!$tuanComment->delete()) {
  186. user()->setFlash('errorSummary',CHtml::errorSummary($tuanComment));
  187. }else{
  188. AdminLog::saveManageLog('删除团购评论(' . $tuanComment->content . ')信息');
  189. }
  190. }
  191. $this->redirect(url('admin/tuannav/comment',array('id'=>$tuanComment->tuan_id)));
  192. }
  193. /**
  194. * 团购网管理
  195. */
  196. public function actionTuanData()
  197. {
  198. $condition = new CDbCriteria();
  199. $condition->addColumnCondition(array('city_id' => $_SESSION['manage_city_id']));
  200. $condition->order = 'orderid desc';
  201. $pages = new CPagination(TuanData::model()->count($condition));
  202. $pages->pageSize = 20;
  203. $pages->applyLimit($condition);
  204. $tuandata = TuanData::model()->findAll($condition);
  205. $this->render('tuandata', array('tuandata'=>$tuandata, 'pages'=>$pages));
  206. }
  207. /**
  208. * 添加团购网站
  209. */
  210. public function actionTuanCreate()
  211. {
  212. if(app()->request->isPostRequest && isset($_POST['Tuandata'])) {
  213. $tuandata_post = $_POST['Tuandata'];
  214. $tuandata = new TuanData();
  215. $tuandata->attributes = $tuandata_post;
  216. $tuandata->intro = $tuandata_post['intro'];
  217. $tuandata->city_id = $_SESSION['manage_city_id'];
  218. if (!$tuandata->save()) {
  219. user()->setFlash('errorSummary',CHtml::errorSummary($tuandata));
  220. $this->render('tuancreate', array('tuandata_post' => $tuandata_post));
  221. exit;
  222. }else{
  223. AdminLog::saveManageLog('添加团购网站(' . $tuandata->name . ')信息');
  224. }
  225. $this->redirect(url('admin/tuannav/tuandata'));
  226. }
  227. $this->render('tuancreate', array('tuandata_post'=>$tuandata_post));
  228. }
  229. /**
  230. * 删除团购网站
  231. */
  232. public function actionTuanDelete($id)
  233. {
  234. $id = (int)$id;
  235. if ($id) {
  236. $tuandata = TuanData::model()->findByPk($id);
  237. if (!$tuandata->delete()) {
  238. user()->setFlash('errorSummary',CHtml::errorSummary($tuandata));
  239. }else{
  240. AdminLog::saveManageLog('删除团购网站(' . $tuandata->name . ')信息');
  241. }
  242. }
  243. $this->redirect(url('admin/tuannav/tuandata'));
  244. }
  245. /**
  246. * 编辑团购网站
  247. */
  248. public function actionTuanEdit($id = 0)
  249. {
  250. if(app()->request->isPostRequest && isset($_POST['Tuandata'])) {
  251. $tuandata_post = $_POST['Tuandata'];
  252. $tuandata = TuanData::model()->findByPk($_POST['id']);
  253. $tuandata->attributes = $tuandata_post;
  254. $tuandata->intro = $tuandata_post['intro'];
  255. if (!$tuandata->save()) {
  256. user()->setFlash('errorSummary',CHtml::errorSummary($tuandata));
  257. $this->render('tuanedit', array('tuandata' => $tuandata));
  258. exit;
  259. }else{
  260. AdminLog::saveManageLog('编辑团购网站(' . $tuandata->name . ')信息');
  261. }
  262. $this->redirect(url('admin/tuannav/tuandata'));
  263. }
  264. $id = (int)$id;
  265. if($id) {
  266. $tuandata = TuanData::model()->findByPk($id);
  267. $this->render('tuanedit', array('tuandata' => $tuandata));
  268. }
  269. }
  270. /**
  271. * 二手交易管理
  272. */
  273. public function actionTuanSecond()
  274. {
  275. $condition = new CDbCriteria();
  276. $condition->addColumnCondition(array('city_id' => $_SESSION['manage_city_id']));
  277. $condition->order = 'trade_sort asc';
  278. $pages = new CPagination(TuanSecondHand::model()->count($condition));
  279. $pages->pageSize = 20;
  280. $pages->applyLimit($condition);
  281. $tuansecond = TuanSecondHand::model()->findAll($condition);
  282. $this->render('tuansecond', array('tuansecond'=>$tuansecond, 'pages'=>$pages));
  283. }
  284. /**
  285. * 删除二手交易
  286. */
  287. public function actionSecondDelete($id)
  288. {
  289. $id = (int)$id;
  290. if ($id) {
  291. $tuansecond = TuanSecondHand::model()->findByPk($id);
  292. if (!$tuansecond->delete()) {
  293. user()->setFlash('errorSummary',CHtml::errorSummary($tuansecond));
  294. }else{
  295. AdminLog::saveManageLog('删除二手交易(' . $tuansecond->title . ')信息');
  296. }
  297. }
  298. $this->redirect(url('admin/tuannav/tuansecond'));
  299. }
  300. /**
  301. * 举报
  302. */
  303. public function actionReport()
  304. {
  305. $condition = new CDbCriteria();
  306. $condition->addColumnCondition(array('city_id' => $_SESSION['manage_city_id']));
  307. $condition->order = 'id desc';
  308. $pages = new CPagination(TuanReport::model()->count($condition));
  309. $pages->pageSize = 20;
  310. $pages->applyLimit($condition);
  311. $tuanreport = TuanReport::model()->findAll($condition);
  312. $this->render('report', array('tuanreport'=>$tuanreport, 'pages'=>$pages));
  313. }
  314. /**
  315. * 用户推荐
  316. * @see CController::accessRules()
  317. */
  318. public function actionPost()
  319. {
  320. $condition = new CDbCriteria();
  321. $condition->addColumnCondition(array('city_id' => $_SESSION['manage_city_id']));
  322. $condition->order = 'state asc, nums desc, id desc';
  323. $pages = new CPagination(TuanRecommend::model()->count($condition));
  324. $pages->pageSize = 20;
  325. $pages->applyLimit($condition);
  326. $tuanRecommend = TuanRecommend::model()->findAll($condition);
  327. $this->render('post', array('tuanRecommend'=>$tuanRecommend, 'pages'=>$pages));
  328. }
  329. /**
  330. * 删除
  331. */
  332. public function actionRecommendDelete($id = 0)
  333. {
  334. $id = (int)$id;
  335. if ($id) {
  336. $condition = new CDbCriteria();
  337. $condition->addColumnCondition(array('city_id' => $_SESSION['manage_city_id']));
  338. $tuanRecommend = TuanRecommend::model()->deleteByPk($id, $condition);
  339. if (!$tuanRecommend) {
  340. user()->setFlash('errorSummary',CHtml::errorSummary($tuanRecommend));
  341. }else{
  342. AdminLog::saveManageLog('删除推荐团购网址(' . $tuanRecommend->url . ')信息');
  343. }
  344. }
  345. $this->redirect(url('admin/tuannav/post'));
  346. }
  347. /**
  348. * 状态操作
  349. */
  350. public function actionRecommendState($id = '', $state = 0)
  351. {
  352. $id = (int)$id;
  353. if ($id){
  354. $condition = new CDbCriteria();
  355. $condition->addColumnCondition(array('city_id' => $_SESSION['manage_city_id']));
  356. $tuanRecommend = TuanRecommend::model()->findByPk($id, $condition);
  357. $tuanRecommend->state = (int)$state;
  358. if(!$tuanRecommend->save()) {
  359. user()->setFlash('errorSummary',CHtml::errorSummary($tuanRecommend));
  360. } else {
  361. AdminLog::saveManageLog('更改用户推荐网址(' . $tuanRecommend->url . ')状态');
  362. }
  363. $this->redirect(url('admin/tuannav/post'));
  364. }
  365. }
  366. public function accessRules()
  367. {
  368. return array(
  369. array('allow',
  370. 'actions' => array('edit', 'create', 'delete', 'commentDelete', 'tuanCreate', 'tuanDelete', 'tuanEdit', 'secondDelete'),
  371. 'roles' => array('Editor'),
  372. ),
  373. array('deny',
  374. 'actions' => array('edit', 'create', 'delete', 'commentDelete', 'tuanCreate', 'tuanDelete', 'tuanEdit', 'secondDelete'),
  375. 'users' => array('*'),
  376. ),
  377. );
  378. }
  379. public function filters()
  380. {
  381. return array(
  382. 'accessControl',
  383. );
  384. }
  385. }
  386. ?>