PageRenderTime 45ms CodeModel.GetById 16ms RepoModel.GetById 0ms app.codeStats 0ms

/system/application/controllers/enrollees.php

https://gitlab.com/sylver.gocloud/gocloudasia-college-system-framework
PHP | 426 lines | 319 code | 83 blank | 24 comment | 50 complexity | a66f2cb6bbdf672ac1a06b00f1a2691d MD5 | raw file
  1. <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
  2. class Enrollees extends MY_Controller {
  3. public function __construct(){
  4. parent::__construct();
  5. $this->session_checker->open_semester();
  6. //$this->session_checker->secure_page(array('dean','president','registrar','school_administrator'));
  7. $this->menu_access_checker(array(
  8. 'enrollees/daily_enrollees'
  9. ));
  10. $this->load->model(array('M_enrollments','M_core_model'));
  11. $this->load->helper(array('url_encrypt','my_dropdown'));
  12. }
  13. public function index()
  14. {
  15. show_404();
  16. }
  17. public function daily_enrollees($page = 0)
  18. {
  19. //PAGINATION
  20. $this->view_data['system_message'] = $this->session->flashdata('system_message');
  21. $filter = false;
  22. $like = false;
  23. $order_by = false;
  24. $filter['enrollments.semester_id'] = $this->open_semester->id;
  25. $filter['enrollments.sy_from'] = $this->open_semester->year_from;
  26. $filter['enrollments.sy_to'] = $this->open_semester->year_to;
  27. $filter['enrollments.is_deleted'] = 0;
  28. $filter['enrollments.is_paid'] = 0;
  29. $arr_filters = array();
  30. $suffix = "";
  31. if($_GET)
  32. {
  33. if(isset($_GET['name']) && trim($_GET['name']) != ''){
  34. $this->view_data['name'] = $name = trim($_GET['name']);
  35. $like['enrollments.name'] = $name;
  36. $arr_filters['name'] = $name;
  37. }
  38. if(isset($_GET['date']) && trim($_GET['date']) != ''){
  39. $this->view_data['created_at'] = $created_at = trim($_GET['date']);
  40. $like['DATE(enrollments.created_at)'] = $created_at;
  41. $arr_filters['created_at'] = $created_at;
  42. }
  43. if(isset($_GET['studid']) && trim($_GET['studid']) != ''){
  44. $this->view_data['studid'] = $studid = trim($_GET['studid']);
  45. $like['enrollments.studid'] = $studid;
  46. $arr_filters['studid'] = $studid;
  47. }
  48. if(isset($_GET['year_id']) && trim($_GET['year_id']) != ''){
  49. $this->view_data['year_id'] = $year_id = trim($_GET['year_id']);
  50. $filter['enrollments.year_id'] = $year_id;
  51. $arr_filters['year_id'] = $year_id;
  52. }
  53. $suffix = array_to_geturl($arr_filters);
  54. }
  55. else
  56. {
  57. // $like['DATE(enrollments.created_at)'] = date('Y-m-d');
  58. }
  59. //CONFIGURATION
  60. $get['fields'] = array(
  61. 'enrollments.id',
  62. 'enrollments.studid',
  63. 'enrollments.user_id',
  64. 'enrollments.name' ,
  65. 'years.year',
  66. 'courses.course'
  67. );
  68. $get['where'] = $filter;
  69. $get['like'] = $like;
  70. $get['join'] = array(
  71. 1 => array(
  72. "table" => "courses",
  73. "on" => "courses.id = enrollments.course_id",
  74. "type" => "LEFT"
  75. ),
  76. 2 => array(
  77. "table" => "years",
  78. "on" => "years.id = enrollments.year_id",
  79. "type" => "LEFT"
  80. )
  81. );
  82. $get['order'] = "enrollments.name";
  83. $get['all'] = true; //GET ALL EXCLUDE LIMIT
  84. $get['count'] = true; //RETURN COUNT NOT ROW
  85. $get['array'] = false; //RETURN OBJECT NOT ARRAY
  86. $get['single'] = false; //RETURN ALL NOT SINGLE
  87. $this->load->library("pagination");
  88. $config = $this->pagination_style();
  89. $config["base_url"] = base_url() ."enrollees/daily_enrollees";
  90. $config['suffix'] = '?'.http_build_query($_GET, '', "&");
  91. $config['first_url'] = $config['base_url'].$config['suffix'];
  92. $this->view_data['total_rows'] = $config["total_rows"] = $this->M_core_model->get_record("enrollments", $get);
  93. $config["per_page"] = 25;
  94. $config['num_links'] = 10;
  95. $config["uri_segment"] = 3;
  96. $this->pagination->initialize($config);
  97. //FOR PAGINATION
  98. $get['all'] = false;
  99. $get['count'] = false;
  100. if($this->input->post('submit') == "Print")
  101. {
  102. $get['all'] = true;
  103. }
  104. $config['start'] = $page;
  105. $config['limit'] = $config['per_page'];
  106. $get['start'] = $page;
  107. $get['limit'] = $config['per_page'];
  108. $this->view_data['search'] = $search = $this->M_core_model->get_record("enrollments", $get);
  109. $this->view_data['links'] = $this->pagination->create_links();
  110. /* $this->load->model(array('M_enrollments'));
  111. $this->view_data['system_message'] = $this->session->flashdata('system_message');
  112. if($_POST){
  113. $date = $this->input->post('date');
  114. $this->view_data['date'] = $date;
  115. }else{
  116. $date = date('Y-m-d');
  117. }
  118. $this->view_data['enrollees'] = $this->M_enrollments->get_enrollee_bydate($this->open_semester->id, $this->open_semester->year_from, $this->open_semester->year_to, $date); */
  119. }
  120. public function nstp_students($page = 0)
  121. {
  122. $this->load->model('M_core_model');
  123. $this->load->helper('my_dropdown');
  124. //PAGINATION
  125. $this->view_data['system_message'] = $this->session->flashdata('system_message');
  126. $filter = false;
  127. $like = false;
  128. $order_by = false;
  129. $group_by = 'studentsubjects.enrollmentid';
  130. $filter['enrollments.semester_id'] = $this->open_semester->id;
  131. $filter['enrollments.sy_from'] = $this->open_semester->year_from;
  132. $filter['enrollments.sy_to'] = $this->open_semester->year_to;
  133. $filter['enrollments.is_deleted'] = 0;
  134. $filter['enrollments.is_paid'] = 1;
  135. $filter['subjects.is_nstp'] = 1;
  136. if($_GET)
  137. {
  138. $this->view_data['lastname'] = $lastname = trim($this->input->get('lastname'));
  139. $this->view_data['fname'] = $fname = trim($this->input->get('fname'));
  140. $this->view_data['studid'] = $studid = trim($this->input->get('studid'));
  141. $this->view_data['year_id'] = $year_id = trim($this->input->get('year_id'));
  142. if($lastname != ""){
  143. $like['enrollments.lastname'] = $lastname;
  144. }
  145. if($fname != ""){
  146. $like['enrollments.fname'] = $fname;
  147. }
  148. if($studid != ""){
  149. $like['enrollments.studid'] = $studid;
  150. }
  151. if($year_id != ""){
  152. $like['enrollments.year_id'] = $year_id;
  153. }
  154. $page = 0;
  155. }
  156. //CONFIGURATION
  157. $get['fields'] = array(
  158. 'enrollments.studid',
  159. 'enrollments.name',
  160. 'subjects.subject',
  161. 'subjects.code',
  162. 'courses.course',
  163. 'years.year'
  164. );
  165. $get['where'] = $filter;
  166. // $get['like'] = $like;
  167. $get['join'] = array(
  168. 1 => array(
  169. "table" => "enrollments",
  170. "on" => "enrollments.id = studentsubjects.enrollmentid",
  171. "type" => "LEFT"
  172. ),
  173. 2 => array(
  174. "table" => "courses",
  175. "on" => "courses.id = studentsubjects.course_id",
  176. "type" => "LEFT"
  177. ),
  178. 3 => array(
  179. "table" => "subjects",
  180. "on" => "subjects.id = studentsubjects.subject_id",
  181. "type" => "LEFT"
  182. ),
  183. 4 => array(
  184. "table" => "years",
  185. "on" => "years.id = enrollments.year_id",
  186. "type" => "LEFT"
  187. )
  188. );
  189. $get['group'] = "studentsubjects.enrollmentid";
  190. $get['order'] = "enrollments.name";
  191. $get['all'] = true; //GET ALL EXCLUDE LIMIT
  192. $get['count'] = true; //RETURN COUNT NOT ROW
  193. $get['array'] = false; //RETURN OBJECT NOT ARRAY
  194. $get['single'] = false; //RETURN ALL NOT SINGLE
  195. $this->load->library("pagination");
  196. $config = $this->pagination_style();
  197. $config["base_url"] = base_url() ."enrollees/nstp_students";
  198. $config['suffix'] = '?'.http_build_query($_GET, '', "&");
  199. $config['first_url'] = $config['base_url'].$config['suffix'];
  200. $this->view_data['total_rows'] = $config["total_rows"] = $this->M_core_model->get_record("studentsubjects", $get);
  201. $config["per_page"] = 30;
  202. $config['num_links'] = 10;
  203. $config["uri_segment"] = 3;
  204. $this->pagination->initialize($config);
  205. //FOR PAGINATION
  206. $get['all'] = false;
  207. $get['count'] = false;
  208. if($this->input->get('submit') == "Print")
  209. {
  210. $get['all'] = true;
  211. }
  212. $get['start'] = $page;
  213. $get['limit'] = $config['per_page'];
  214. $this->view_data['search'] = $search = $this->M_core_model->get_record("studentsubjects", $get);
  215. $this->view_data['links'] = $this->pagination->create_links();
  216. if($this->input->get('submit') == "Print")
  217. {
  218. $this->print_nstp_students($this->view_data);
  219. }
  220. }
  221. public function print_nstp_students($data = false)
  222. {
  223. if($data == false) {show_404();}
  224. if($data['total_rows'] <= 0) {
  225. $this->view_data['system_message'] = '<div class="alert alert-danger">No record to be printed.</div>';
  226. return false;
  227. }
  228. $search = $data['search'];
  229. if($search)
  230. {
  231. $this->load->helper('print');
  232. $html = _html_nstp_students($data);
  233. $this->load->library('mpdf');
  234. $mpdf=new mPDF('','FOLIO','','',15,5,5,5,0,0);
  235. $mpdf->AddPage('P');
  236. $mpdf->WriteHTML($html);
  237. $mpdf->Output();
  238. }
  239. }
  240. public function dropped_students($page = 0)
  241. {
  242. $this->load->model('M_core_model');
  243. $this->load->helper('my_dropdown');
  244. //PAGINATION
  245. $this->view_data['system_message'] = $this->session->flashdata('system_message');
  246. $filter = false;
  247. $like = false;
  248. $order_by = false;
  249. $group_by = 'studentsubjects.enrollmentid';
  250. $filter['enrollments.semester_id'] = $this->open_semester->id;
  251. $filter['enrollments.sy_from'] = $this->open_semester->year_from;
  252. $filter['enrollments.sy_to'] = $this->open_semester->year_to;
  253. $filter['enrollments.is_deleted'] = 1;
  254. if($_GET)
  255. {
  256. $this->view_data['lastname'] = $lastname = trim($this->input->get('lastname'));
  257. $this->view_data['fname'] = $fname = trim($this->input->get('fname'));
  258. $this->view_data['studid'] = $studid = trim($this->input->get('studid'));
  259. $this->view_data['year_id'] = $year_id = trim($this->input->get('year_id'));
  260. if($lastname != ""){
  261. $like['enrollments.lastname'] = $lastname;
  262. }
  263. if($fname != ""){
  264. $like['enrollments.fname'] = $fname;
  265. }
  266. if($studid != ""){
  267. $like['enrollments.studid'] = $studid;
  268. }
  269. if($year_id != ""){
  270. $like['enrollments.year_id'] = $year_id;
  271. }
  272. $page = 0;
  273. }
  274. //CONFIGURATION
  275. $get['fields'] = array(
  276. 'enrollments.id',
  277. 'enrollments.studid',
  278. 'enrollments.name',
  279. 'enrollments.created_at',
  280. 'years.year'
  281. );
  282. $get['join'] = array(
  283. 1 => array(
  284. "table" => "years",
  285. "on" => "years.id = enrollments.year_id",
  286. "type" => "LEFT"
  287. )
  288. );
  289. $get['where'] = $filter;
  290. $get['like'] = $like;
  291. $get['order'] = "enrollments.name";
  292. $get['all'] = true;
  293. $get['count'] = true;
  294. $this->load->library("pagination");
  295. $config = $this->pagination_style();
  296. $config["base_url"] = base_url() ."enrollees/dropped_students";
  297. $config['suffix'] = '?'.http_build_query($_GET, '', "&");
  298. $config['first_url'] = $config['base_url'].$config['suffix'];
  299. $this->view_data['total_rows'] = $config["total_rows"] = $this->M_core_model->get_record("enrollments", $get);
  300. $config["per_page"] = 30;
  301. $config['num_links'] = 10;
  302. $config["uri_segment"] = 3;
  303. $this->pagination->initialize($config);
  304. //FOR PAGINATION
  305. $get['all'] = false;
  306. $get['count'] = false;
  307. if($this->input->get('submit') == "Print")
  308. {
  309. $get['all'] = true;
  310. }
  311. $get['start'] = $page;
  312. $get['limit'] = $config['per_page'];
  313. $this->view_data['search'] = $search = $this->M_core_model->get_record("enrollments", $get);
  314. $this->view_data['links'] = $this->pagination->create_links();
  315. if($this->input->get('submit') == "Print")
  316. {
  317. $this->print_dropped_students($this->view_data);
  318. }
  319. }
  320. public function print_dropped_students($data = false)
  321. {
  322. if($data == false) {show_404();}
  323. if($data['total_rows'] <= 0) {
  324. $this->view_data['system_message'] = '<div class="alert alert-danger">No record to be printed.</div>';
  325. return false;
  326. }
  327. $search = $data['search'];
  328. if($search)
  329. {
  330. $this->load->helper('print');
  331. $html = _html_dropped_students($data);
  332. $this->load->library('mpdf');
  333. $mpdf=new mPDF('','FOLIO','','',15,5,5,5,0,0);
  334. $mpdf->AddPage('P');
  335. $mpdf->WriteHTML($html);
  336. $mpdf->Output();
  337. }
  338. }
  339. }
  340. ?>