NotepadController.class.php 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. <?php
  2. namespace Admin\Controller;
  3. use Common\Controller\AdminController;
  4. class NotepadController extends AdminController {
  5. public function __construct(){
  6. parent::__construct();
  7. }
  8. //自由记列表
  9. public function index(){
  10. $sort = I('sort','1');
  11. $courseStatus = I('course_status','');
  12. $keyword = I('get.keyword','');
  13. $condition = array('is_delete'=>1,'course_flag'=>2,'course_source'=>1);
  14. $orderList = array(
  15. 1=>array('operate_dt desc','时间倒序',1),
  16. 2=>array('operate_dt asc','时间正序',2),
  17. 3=>array('course_join desc','加入量倒序',3),
  18. 4=>array('course_join asc','加入量倒序',4),
  19. );
  20. $statusList = array('全部状态','未上架',3=>'已上架');
  21. $orderby = $orderList[$sort][0];
  22. if (!empty($keyword)){
  23. $condition['course_id|course_name'] = array('LIKE','%'.$keyword.'%');
  24. }
  25. if (!empty($courseStatus)){
  26. $condition['course_status'] = $courseStatus;
  27. }
  28. $this->assign('sort',$sort);
  29. $this->assign('orderby',$orderby);
  30. $this->assign('keyword',$keyword);
  31. $this->assign('orderList',$orderList);
  32. $this->assign('statusList',$statusList);
  33. $this->assign('courseStatus',$courseStatus);
  34. $count = M('Course')->where($condition)->count();
  35. //分页
  36. $Page = new \Think\Page($count);
  37. $show = $Page->show();
  38. $courseList = M('Course')->where($condition)->field()->order($orderby)->limit($Page->firstRow.','.$Page->listRows)->select();
  39. $this->assign('page',$show);
  40. $this->assign('list',$courseList);
  41. $this->display();
  42. }
  43. //编辑自由记
  44. public function edit(){
  45. $step = I('step','');
  46. $courseId = I('course_id','');
  47. if (empty($step)){
  48. $info = array();
  49. if (!empty($courseId)){
  50. $info = M('Course')->where(array('course_id'=>$courseId))->find();
  51. }
  52. $this->assign('info',$info);
  53. $this->display();
  54. }else if($step==2){
  55. $courseName = I('course_name','');
  56. $courseContent = I('course_content','');
  57. if (mb_strlen($courseName,'UTF8')<2 || mb_strlen($courseName,'UTF8')>40){
  58. $this->error('自由记名称2到40个汉字');
  59. }
  60. if (mb_strlen($courseContent,'UTF8')<2 || mb_strlen($courseContent,'UTF8')>10000){
  61. $this->error('自由记名称2到10000个汉字');
  62. }
  63. $res = M('Course')->where(array('course_name'=>$courseName,'is_delete'=>1))->field('course_id')->find();
  64. //新增
  65. if (empty($courseId) && $res!=NULL){
  66. $courseName = $this->getNotepadName($courseName);
  67. }
  68. //更新
  69. if (!empty($courseId) && $courseId!=$res['course_id']){
  70. $courseName = $this->getNotepadName($courseName);
  71. }
  72. if (empty($courseId)){
  73. M('Course')->add(array('course_content'=>$courseContent,'course_name'=>$courseName,'course_source'=>1,'course_flag'=>2,'operate_dt'=>time()));
  74. }else{
  75. M('Course')->where(array('course_id'=>$courseId))->save(array('course_content'=>$courseContent,'course_name'=>$courseName));
  76. }
  77. $this->success('自由记操作成功','/admin/notepad/index');
  78. }
  79. }
  80. //获取课程名称相同时,新的课程名称
  81. private function getNotepadName($courseName){
  82. $course = M('Course')->where(array('course_name'=>$courseName,'is_delete'=>1))->field('course_id')->find();
  83. $res = M('TitleNum')->where(array('title_name'=>$courseName,'title_source'=>2))->field('title_id,title_num')->find();
  84. if ($res!=NULL){
  85. $courseName = $courseName.'('.($res['title_num']+1).')';
  86. M('TitleNum')->where(array('title_id'=>$res['title_id']))->setInc('title_num');
  87. }else if($course!=NULL){
  88. $courseName = $courseName.'('.($res['title_num']+1).')';
  89. M('TitleNum')->add(array('title_name'=>$courseName,'operate_dt'=>time()));
  90. //$courseName = $courseName;
  91. }
  92. return $courseName;
  93. }
  94. public function del(){
  95. $courseId = I('course_id','');
  96. if (empty($courseId)){
  97. $this->error("自由记ID错误",'/admin/notepad/index');
  98. }
  99. //M('Course')->where(array('course_id'=>$courseId))->save(array('is_delete'=>2));
  100. M('Course')->where(array('course_id'=>$courseId))->delete();
  101. $this->success('自由记删除成功','/admin/notepad/index');
  102. }
  103. public function status(){
  104. $courseId = I('course_id','');
  105. $courseStatus = I('course_status','');
  106. if (empty($courseId)){
  107. $this->error("自由记ID错误",'/admin/notepad/index');
  108. }
  109. M('Course')->where(array('course_id'=>$courseId))->save(array('course_status'=>$courseStatus));
  110. $this->success('自由记状态修改成功','/admin/notepad/index');
  111. }
  112. }