/application/controllers/admin/Admin_course.php

https://github.com/caesarjuly/flowertime · PHP · 346 lines · 247 code · 18 blank · 81 comment · 24 complexity · fa87af85155cfceeca7ffbbf08619b9b MD5 · raw file

  1. <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
  2. class Admin_course extends MY_Controller {
  3. /**
  4. * @brief 构造函数,一般可以在里面load一些库、辅助函数以及所用到的model,也可以在autoload配置文件里默认添加
  5. *
  6. * @return void
  7. */
  8. function __construct()
  9. {
  10. parent::__construct();
  11. $this->form_validation->set_error_delimiters('<p align="center" style= "font-size: 12px;color:red;" class="error">', '</p>');
  12. }
  13. /**
  14. * @brief 默认函数,跳转到admin_active_course.view页面
  15. *
  16. */
  17. function index($offset = '')
  18. {
  19. $limit = 9;
  20. $config['base_url'] = site_url('admin/Admin_course/index');
  21. $config['total_rows'] = $this->Course_model->count_question();
  22. $config['per_page'] = $limit;
  23. $config['first_link'] = '首页';
  24. $config['last_link'] = '尾页';
  25. $config['next_link'] = '下一页';
  26. $config['prev_link'] = '上一页';
  27. $config['uri_segment'] = 4;
  28. $this->pagination->initialize($config); //初始化配置
  29. $data['pagination'] = $this->pagination->create_links();
  30. $data['main_content'] = 'admin_active_course';
  31. $data['contents'] = $this->Course_model->get_question($limit, $offset);
  32. $this->load->view('admin/include/template',$data);
  33. }
  34. /**
  35. * @brief 跳转到admin_active_course_answer页面
  36. *
  37. */
  38. function get_course_answer($offset = '')
  39. {
  40. $limit = 5;
  41. $config['base_url'] = site_url('admin/Admin_course/get_course_answer');
  42. $config['total_rows'] = $this->Course_model->count_answer();
  43. $config['per_page'] = $limit;
  44. $config['first_link'] = '首页';
  45. $config['last_link'] = '尾页';
  46. $config['next_link'] = '下一页';
  47. $config['prev_link'] = '上一页';
  48. $config['uri_segment'] = 4;
  49. $this->pagination->initialize($config); //初始化配置
  50. $data['pagination'] = $this->pagination->create_links();
  51. $data['main_content'] = 'admin_active_course_answer';
  52. $data['contents'] = $this->Course_model->get_answer($limit, $offset);
  53. $this->load->view('admin/include/template',$data);
  54. }
  55. /**
  56. * @brief 跳转到admin_add_course_view页面,add新课程
  57. *
  58. */
  59. function add_course_view()
  60. {
  61. $data['main_content'] = 'admin_add_course_view';
  62. $this->load->view('admin/include/template',$data);
  63. }
  64. /**
  65. * @brief add新课程
  66. *
  67. */
  68. function add_course()
  69. {
  70. $this->form_validation->set_rules('title','课程名','trim|required|min_length[2]');
  71. $this->form_validation->set_rules('content2','课程内容','trim|required|min_length[2]');
  72. if($this->form_validation->run()==FALSE)
  73. {
  74. $this->add_course_view();
  75. }
  76. else
  77. {
  78. $this->Course_model->add_question();
  79. redirect('admin/Admin_course');
  80. }
  81. }
  82. /**
  83. * @brief 跳转到admin_add_course_view页面,add新课程
  84. *
  85. */
  86. function add_course_answer_view()
  87. {
  88. $data['main_content'] = 'admin_add_course_answer';
  89. $this->load->view('admin/include/template',$data);
  90. }
  91. /**
  92. * @brief add新课程
  93. *
  94. */
  95. function add_course_answer()
  96. {
  97. $this->form_validation->set_rules('title','课程名','trim|required|min_length[2]');
  98. $this->form_validation->set_rules('content2','课程内容','trim|required|min_length[2]');
  99. if($this->form_validation->run()==FALSE)
  100. {
  101. $this->add_course_answer_view();
  102. }
  103. else
  104. {
  105. $this->Course_model->add_answer();
  106. redirect('admin/Admin_course/get_course_answer');
  107. }
  108. }
  109. /**
  110. * @brief 跳转到edit_course_view页面,edit新课堂
  111. *
  112. */
  113. function edit_course_top_view($course_id)
  114. {
  115. $data['main_content'] = 'admin_edit_top_course_view';
  116. $data['contents'] = $this->Course_model->get_course($course_id);
  117. $this->load->view('admin/include/template',$data);
  118. }
  119. /**
  120. * @brief 跳转到edit_series页面,edit新课堂
  121. *
  122. */
  123. function edit_top_course($course_id)
  124. {
  125. $this->form_validation->set_rules('title','课程名','trim|required|min_length[2]');
  126. $this->form_validation->set_rules('content2','课程内容','trim|required|min_length[2]');
  127. $this->form_validation->set_rules('top_course','置顶课程简介','trim|required|min_length[2]');
  128. if($this->form_validation->run()==FALSE)
  129. {
  130. $this->edit_course_top_view($course_id);
  131. }
  132. else
  133. {
  134. if(!$_FILES['userfile']['name'])
  135. {
  136. $this->Course_model->edit_no_image($course_id);
  137. redirect('admin/Admin_course');
  138. }
  139. else
  140. {
  141. $this->gallery_path = realpath(APPPATH . '../top');
  142. $config = array(
  143. 'allowed_types' => 'jpg|jpeg|png|gif',
  144. 'upload_path' => $this->gallery_path ,
  145. 'max_size' => 4000,
  146. 'encrypt_name' => true
  147. );
  148. $this->load->library('upload',$config);
  149. $this->upload->initialize($config);
  150. $this->upload->do_upload();
  151. $image_data = $this->upload->data();
  152. if($this->input->post('upload'))
  153. {
  154. if($this->Course_model->edit_top($course_id,$image_data))
  155. {
  156. $data = array('message' => '更新成功,将于2秒后跳转页面!', 'main_content' => 'message','url' => 'admin/Admin_course/');
  157. $this->load->view('admin/include/template',$data);
  158. }
  159. else
  160. {
  161. $data = array('message' => '更新失败,将于2秒后跳回!', 'main_content' => 'message','url' => 'admin/Admin_course/edit_course_top_view/' . $course_id);
  162. $this->load->view('admin/include/template',$data);
  163. }
  164. }
  165. }
  166. }
  167. }
  168. /**
  169. * @brief 跳转到edit_course_view页面,edit新课堂
  170. *
  171. */
  172. function edit_course_view($course_id)
  173. {
  174. $data['main_content'] = 'admin_edit_course_view';
  175. $data['contents'] = $this->Course_model->get_course($course_id);
  176. $this->load->view('admin/include/template',$data);
  177. }
  178. /**
  179. * @brief 跳转到edit_series页面,edit新课堂
  180. *
  181. */
  182. function edit_course($course_id)
  183. {
  184. if($this->Course_model->edit($course_id))
  185. {
  186. $data = array('message' => '更新成功,将于2秒后跳转页面!', 'main_content' => 'message','url' => 'admin/Admin_course');
  187. $this->load->view('admin/include/template',$data);
  188. }else
  189. {
  190. $data = array('message' => '更新失败,将于2秒后跳回!', 'main_content' => 'message','url' => 'admin/Admin_course/edit_course_view');
  191. $this->load->view('admin/include/template',$data);
  192. }
  193. }
  194. /**
  195. * @brief 跳转到edit_course_answer_view页面
  196. *
  197. */
  198. function edit_course_answer_view($course_id)
  199. {
  200. $data['main_content'] = 'admin_edit_course_answer';
  201. $data['contents'] = $this->Course_model->get_course($course_id);
  202. $this->load->view('admin/include/template',$data);
  203. }
  204. /**
  205. * @brief 跳转到edit_course_answer页面,edit新课堂
  206. *
  207. */
  208. function edit_course_answer($course_id)
  209. {
  210. if($this->Course_model->edit($course_id))
  211. {
  212. $data = array('message' => '更新成功,将于2秒后跳转页面!', 'main_content' => 'message','url' => 'admin/Admin_course/get_course_answer');
  213. $this->load->view('admin/include/template',$data);
  214. }else
  215. {
  216. $data = array('message' => '更新失败,将于2秒后跳回!', 'main_content' => 'message','url' => 'admin/Admin_course/edit_course_answer_view');
  217. $this->load->view('admin/include/template',$data);
  218. }
  219. }
  220. /**
  221. * @brief 删除新课堂
  222. *
  223. */
  224. function delete_course($course_id)
  225. {
  226. if($this->Course_model->delete($course_id))
  227. {
  228. $this->index();
  229. }
  230. else
  231. {
  232. $data = array('message' => '删除失败,将于2秒后跳回!', 'main_content' => 'message','url' => 'admin/Admin_course');
  233. $this->load->view('admin/include/template',$data);
  234. }
  235. }
  236. /**
  237. * @brief 删除新课堂
  238. *
  239. */
  240. function delete_course_answer($course_id)
  241. {
  242. if($this->Course_model->delete($course_id))
  243. {
  244. $this->get_course_answer();
  245. }
  246. else
  247. {
  248. $data = array('message' => '删除失败,将于2秒后跳回!', 'main_content' => 'message','url' => 'admin/Admin_course');
  249. $this->load->view('admin/include/template',$data);
  250. }
  251. }
  252. /**
  253. * @brief 置顶新活动
  254. *
  255. */
  256. function top_course_view($course_id)
  257. {
  258. $data['contents'] = $this->Course_model->get_course($course_id);
  259. if(($data['contents']['top_url'] == NULL)&&($data['contents']['top_content'] == NULL))
  260. {
  261. $data['main_content'] = 'admin_top_course';
  262. $this->load->view('admin/include/template',$data);
  263. }
  264. else
  265. {
  266. $this->Course_model->top_content($course_id);
  267. $this->index();
  268. }
  269. }
  270. /**
  271. * @brief 置顶新活动
  272. *
  273. */
  274. function top_course($course_id)
  275. {
  276. $this->form_validation->set_rules('top_course','置顶课程简介','trim|required|min_length[2]');
  277. if($this->form_validation->run()==FALSE)
  278. {
  279. $this->top_course_view($course_id);
  280. }
  281. else
  282. {
  283. $this->gallery_path = realpath(APPPATH . '../top');
  284. $config = array(
  285. 'allowed_types' => 'jpg|jpeg|png|gif',
  286. 'upload_path' => $this->gallery_path ,
  287. 'max_size' => 4000,
  288. 'encrypt_name' => true
  289. );
  290. $this->load->library('upload',$config);
  291. $this->upload->initialize($config);
  292. $this->upload->do_upload();
  293. $image_data = $this->upload->data();
  294. if($this->input->post('upload'))
  295. {
  296. $this->Course_model->add_top($course_id,$image_data);
  297. $this->index();
  298. }
  299. }
  300. }
  301. /**
  302. * @brief 取消置顶新活动
  303. *
  304. */
  305. function untop_course($course_id)
  306. {
  307. $this->Course_model->untop($course_id);
  308. $this->index();
  309. }
  310. /**
  311. * @brief 置顶新活动
  312. *
  313. */
  314. function top_course_answer($course_id)
  315. {
  316. $this->Course_model->top($course_id);
  317. $this->get_course_answer();
  318. }
  319. /**
  320. * @brief 取消置顶新活动
  321. *
  322. */
  323. function untop_course_answer($course_id)
  324. {
  325. $this->Course_model->untop($course_id);
  326. $this->get_course_answer();
  327. }
  328. }