EduClassAction.class.php 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212
  1. <?php
  2. class EduClassAction extends CommonAction
  3. {
  4. public function index()
  5. {
  6. $course_id = intval($_REQUEST['course_id']);
  7. $group_id = intval($_REQUEST['group_id']);
  8. $this->assign("course_id", $course_id);
  9. $this->assign("group_id", $group_id);
  10. $map = array('is_delete' => 0);
  11. $title = strim($_REQUEST['title']);
  12. if (!empty($title)) {
  13. $map['title'] = array('like', '%' . $title . '%');
  14. }
  15. $this->assign("default_map", $map);
  16. parent::index();
  17. }
  18. public function add()
  19. {
  20. $course_id = intval($_REQUEST['course_id']);
  21. $group_id = intval($_REQUEST['group_id']);
  22. if ($course_id > 0) {
  23. $price = M("EduCourses")->where(array('id' => $course_id))->getField('price');
  24. } elseif ($group_id > 0) {
  25. $group = M("EduClassGroup")->where(array('id' => $group_id))->find();
  26. if (empty($group)) {
  27. throw new Exception;
  28. }
  29. $course_id = $group['course_id'];
  30. $price = M("EduCourses")->where(array('id' => $group['course_id']))->getField('price');
  31. }
  32. if (!$course_id) {
  33. throw new Exception;
  34. }
  35. $group_list = M("EduClassGroup")->where(array('course_id' => $course_id))->findAll();
  36. if (empty($group_list)) {
  37. $this->assign("jumpUrl", u("EduClassGroup/add", array('course_id' => $course_id)));
  38. $this->error("请先添加目录");
  39. }
  40. $this->assign("course_id", $course_id);
  41. $this->assign("group_id", $group_id);
  42. $this->assign("show_price", $price > 0 ? false : true);
  43. $this->assign("group_list", $group_list);
  44. $m_config = load_auto_cache("m_config");
  45. $this->assign('secret_id', $m_config['qcloud_secret_id']);
  46. $this->assign('max_size', conf('MAX_IMAGE_SIZE') / 1000);
  47. $this->display();
  48. }
  49. public function set_sort()
  50. {
  51. $id = intval($_REQUEST['id']);
  52. $sort = intval($_REQUEST['sort']);
  53. $category = M(MODULE_NAME)->where("id=" . $id)->find();
  54. if (!check_sort($sort)) {
  55. $this->error(l("SORT_FAILED"), 1);
  56. }
  57. M(MODULE_NAME)->where("id=" . $id)->setField("sort", $sort);
  58. save_log($category['title'] . l("SORT_SUCCESS"), 1);
  59. $this->success(l("SORT_SUCCESS"), 1);
  60. }
  61. public function delete()
  62. {
  63. //删除指定记录
  64. $ajax = intval($_REQUEST['ajax']);
  65. $id = $_REQUEST ['id'];
  66. if (isset ($id)) {
  67. $info = M(MODULE_NAME)->where(array('id' => $id))->getField('title');
  68. $list = M(MODULE_NAME)->save(array('id' => $id, 'is_delete' => 1));
  69. if ($list !== false) {
  70. $course_id = M(MODULE_NAME)->where(array('id' => $id))->getField('course_id');
  71. $class_info = $GLOBALS['db']->getRow("select count(*) as num,sum(long_time) as long_time from fanwe_edu_class where course_id = {$course_id} and is_delete = 0");
  72. M('EduCourses')->save(array(
  73. 'id' => $course_id,
  74. 'courses_count' => $class_info['num'],
  75. 'long_time' => $class_info['long_time'],
  76. ));
  77. save_log($info . l("DELETE_SUCCESS"), 1);
  78. $this->success(l("DELETE_SUCCESS"), $ajax);
  79. } else {
  80. save_log($info . l("DELETE_FAILED"), 0);
  81. $this->error(l("DELETE_FAILED"), $ajax);
  82. }
  83. } else {
  84. $this->error(l("INVALID_OPERATION"), $ajax);
  85. }
  86. }
  87. public function edit()
  88. {
  89. $id = intval($_REQUEST ['id']);
  90. $condition['id'] = $id;
  91. $vo = M(MODULE_NAME)->where($condition)->find();
  92. $price = M("EduCourses")->where(array('id' => $vo['course_id']))->getField('price');
  93. $this->assign('vo', $vo);
  94. $this->assign("group_id", $vo['group_id']);
  95. $this->assign("show_price", $price > 0 ? false : true);
  96. $this->assign("group_list", M("EduClassGroup")->where(array('course_id' => $vo['course_id']))->findAll());
  97. $m_config = load_auto_cache("m_config");
  98. $this->assign('secret_id', $m_config['qcloud_secret_id']);
  99. $this->assign('max_size', conf('MAX_IMAGE_SIZE') / 1000);
  100. $this->display();
  101. }
  102. public function insert()
  103. {
  104. B('FilterString');
  105. $data = M(MODULE_NAME)->create();
  106. //开始验证有效性
  107. $this->assign("jumpUrl", u("EduClass/index", array('group_id' => $data['group_id'])));
  108. if (!check_empty($data['title'])) {
  109. $this->error("请输入标题");
  110. }
  111. if (!check_empty($data['group_id'])) {
  112. $this->error("请先添加目录");
  113. }
  114. if ($data['type'] == 0 && !check_empty($data['file_id'])) {
  115. $this->error("请上传视频");
  116. } elseif ($data['type'] == 1 && !check_empty($data['play_url'])) {
  117. $this->error("请上传音频");
  118. }
  119. if (!$data['long_time'] > 0) {
  120. $this->error("请输入时长");
  121. }
  122. // 更新数据
  123. $log_info = $data['title'];
  124. $list = M(MODULE_NAME)->add($data);
  125. if (false !== $list) {
  126. if (!empty($data['file_id'])) {
  127. fanwe_require(APP_ROOT_PATH . 'mapi/lib/core/common_edu.php');
  128. upload_edu_video($data['file_id'], 'edu_class', 'play_url,play_hls', $list);
  129. }
  130. $class_info = $GLOBALS['db']->getRow("select count(*) as num,sum(long_time) as long_time from fanwe_edu_class where course_id = {$data['course_id']} and is_delete = 0");
  131. $course_data = array(
  132. 'id' => $data['course_id'],
  133. 'courses_count' => $class_info['num'],
  134. 'long_time' => $class_info['long_time'],
  135. );
  136. if ($class_info['num'] == 1) {
  137. $course_data['is_effect'] = true;
  138. }
  139. M('EduCourses')->save($course_data);
  140. //成功提示
  141. save_log($log_info . L("INSERT_SUCCESS"), 1);
  142. $this->success(L("INSERT_SUCCESS"));
  143. } else {
  144. //错误提示
  145. save_log($log_info . L("INSERT_FAILED"), 0);
  146. $this->error(L("INSERT_FAILED"));
  147. }
  148. }
  149. public function update()
  150. {
  151. B('FilterString');
  152. $data = M(MODULE_NAME)->create();
  153. $class = M(MODULE_NAME)->where("id=" . intval($data['id']))->find();
  154. //开始验证有效性
  155. $this->assign("jumpUrl", u(MODULE_NAME . "/edit", array("id" => $data['id'])));
  156. if (!check_empty($data['title'])) {
  157. $this->error("请输入标题");
  158. }
  159. if ($data['type'] == 0 && !check_empty($data['file_id'])) {
  160. $this->error("请上传视频");
  161. } elseif ($data['type'] == 1 && !check_empty($data['play_url'])) {
  162. $this->error("请上传音频");
  163. }
  164. if (!$data['long_time'] > 0) {
  165. $this->error("请输入时长");
  166. }
  167. $log_info = $class['title'];
  168. $list = M(MODULE_NAME)->save($data);
  169. if (false !== $list) {
  170. if (!empty($data['file_id']) && $class['file_id'] != $data['file_id']) {
  171. fanwe_require(APP_ROOT_PATH . 'mapi/lib/core/common_edu.php');
  172. upload_edu_video($data['file_id'], 'edu_class', 'play_url,play_hls', $data['id']);
  173. }
  174. $class_info = $GLOBALS['db']->getRow("select count(*) as num,sum(long_time) as long_time from fanwe_edu_class where course_id = {$class['course_id']} and is_delete = 0");
  175. M('EduCourses')->save(array(
  176. 'id' => $class['course_id'],
  177. 'courses_count' => $class_info['num'],
  178. 'long_time' => $class_info['long_time'],
  179. ));
  180. //成功提示
  181. save_log($log_info . L("UPDATE_SUCCESS"), 1);
  182. $this->success(L("UPDATE_SUCCESS"));
  183. } else {
  184. //错误提示
  185. save_log($log_info . L("UPDATE_FAILED"), 0);
  186. $this->error(L("UPDATE_FAILED"), 0, $log_info . L("UPDATE_FAILED"));
  187. }
  188. }
  189. }