PageRenderTime 48ms CodeModel.GetById 21ms RepoModel.GetById 0ms app.codeStats 0ms

/system/application/models/m_courses.php

https://gitlab.com/sylver.gocloud/gocloudasia-college-system-framework
PHP | 329 lines | 271 code | 40 blank | 18 comment | 8 complexity | 22867c35bfe9df4d179c9ee7518b980c MD5 | raw file
  1. <?php
  2. class M_courses Extends MY_Model
  3. {
  4. protected $_table = 'courses';
  5. public function __construct()
  6. {
  7. parent::__construct();
  8. $this->load->database();
  9. }
  10. /*
  11. @id = primary key of data if false will get all
  12. @array = columns names to retrieve if false will get all
  13. */
  14. public function get($id = false,$array = false)
  15. {
  16. if($id == false)
  17. {
  18. if($array == false)
  19. {
  20. $query = $this->db->get($this->_table);
  21. return $query->num_rows() > 0 ? $query->result() : FALSE;
  22. }else
  23. {
  24. $query = $this->db->select($array)->get($this->_table);
  25. return $query->num_rows() > 0 ? $query->result() : FALSE;
  26. }
  27. }else
  28. {
  29. if($array == false)
  30. {
  31. $query = $this->db->where('id',$id)->get($this->_table);
  32. return $query->num_rows() > 0 ? $query->row() : FALSE;
  33. }else
  34. {
  35. $query = $this->db->select($array)->where('id',$id)->get($this->_table);
  36. return $query->num_rows() > 0 ? $query->row() : FALSE;
  37. }
  38. }
  39. }
  40. public function getbacandtwo($array = false)
  41. {
  42. $query = $this->db->select($array)->like('course', 'Bachelor', 'after')->or_like('course', 'Two', 'after')->get($this->_table);
  43. return $query->num_rows() > 0 ? $query->result() : FALSE;
  44. }
  45. public function masterlist()
  46. {
  47. $ci =& get_instance();
  48. $semester_id = $ci->open_semester->id;
  49. $sy_from = $ci->open_semester->year_from;
  50. $sy_to = $ci->open_semester->year_to;
  51. $sql = "SELECT courses.id,courses.course
  52. FROM courses
  53. ORDER BY courses.course ASC";
  54. $query = $this->db->query($sql, array($semester_id, $sy_from, $sy_to));
  55. //return $query->num_rows() > 0 ? $query->result() : FALSE;
  56. foreach ($query->result() as $key => $row) {
  57. $data[$key]['course_id'] = $row->id;
  58. $data[$key]['course_name'] = $row->course;
  59. $data[$key]['total_studs'] = $this->get_total($row->id, $semester_id, $sy_from, $sy_to);
  60. $data[$key]['male'] = $this->get_male($row->id, $semester_id, $sy_from, $sy_to);
  61. $data[$key]['female'] = $this->get_female($row->id, $semester_id, $sy_from, $sy_to);
  62. }
  63. return (object)$data;
  64. }
  65. private function get_total($id, $semester_id, $sy_from, $sy_to){
  66. $sql = "SELECT count(e.id) as total_studs
  67. FROM enrollments e
  68. WHERE e.course_id = ?
  69. AND e.is_paid = 1
  70. AND e.semester_id = ?
  71. AND e.sy_from = ?
  72. AND e.sy_to = ?
  73. ";
  74. $query = $this->db->query($sql, array($id,$semester_id, $sy_from, $sy_to));
  75. //var_dump($this->db->last_query()); die();
  76. return $query->num_rows() > 0 ? $query->row()->total_studs : FALSE;
  77. }
  78. private function get_male($id, $semester_id, $sy_from, $sy_to){
  79. $sql = "SELECT count(e.id) as total_studs
  80. FROM enrollments e
  81. WHERE e.course_id = ?
  82. AND e.sex = 'Male'
  83. AND e.is_paid = 1
  84. AND e.semester_id = ?
  85. AND e.sy_from = ?
  86. AND e.sy_to = ?
  87. ";
  88. $query = $this->db->query($sql, array($id,$semester_id, $sy_from, $sy_to));
  89. //var_dump($this->db->last_query()); die();
  90. return $query->num_rows() > 0 ? $query->row()->total_studs : FALSE;
  91. }
  92. private function get_female($id, $semester_id, $sy_from, $sy_to){
  93. $sql = "SELECT count(e.id) as total_studs
  94. FROM enrollments e
  95. WHERE e.course_id = ?
  96. AND e.sex = 'Female'
  97. AND e.is_paid = 1
  98. AND e.semester_id = ?
  99. AND e.sy_from = ?
  100. AND e.sy_to = ?
  101. ";
  102. $query = $this->db->query($sql, array($id,$semester_id, $sy_from, $sy_to));
  103. //var_dump($this->db->last_query()); die();
  104. return $query->num_rows() > 0 ? $query->row()->total_studs : FALSE;
  105. }
  106. public function get_gender_count($id, $gender){
  107. $ci =& get_instance();
  108. $semester_id = $ci->open_semester->id;
  109. $sy_from = $ci->open_semester->year_from;
  110. $sy_to = $ci->open_semester->year_to;
  111. $sql = "SELECT count(e.id) as total_studs
  112. FROM enrollments e
  113. WHERE e.course_id = ?
  114. And e.sex = ?
  115. AND e.is_paid = 1
  116. AND e.semester_id = ?
  117. AND e.sy_from = ?
  118. AND e.sy_to = ?
  119. ";
  120. $query = $this->db->query($sql, array($id, $gender, $semester_id, $sy_from, $sy_to));
  121. //var_dump($this->db->last_query()); die();
  122. return $query->num_rows() > 0 ? $query->row()->total_studs : FALSE;
  123. }
  124. public function masterlist_course_enrollment_profile($course,$start=0,$limit=100)
  125. {
  126. $start = $this->db->escape_str($start);
  127. $limit = $this->db->escape_str($limit);
  128. $ci =& get_instance();
  129. $semester_id = $ci->open_semester->id;
  130. $sy_from = $ci->open_semester->year_from;
  131. $sy_to = $ci->open_semester->year_to;
  132. $sql = "SELECT enrollments.id as enrollment_id,enrollments.name, enrollments.studid, years.year, enrollments.user_id
  133. FROM enrollments
  134. LEFT JOIN courses on courses.id = enrollments.course_id
  135. LEFT JOIN years on years.id = enrollments.year_id
  136. WHERE enrollments.course_id = ?
  137. AND enrollments.is_paid = 1
  138. AND enrollments.semester_id = ?
  139. AND enrollments.sy_from = ?
  140. AND enrollments.sy_to = ?
  141. ORDER BY enrollments.name ASC
  142. LIMIT ".$limit.",".$start;
  143. $query = $this->db->query($sql,array($course, $semester_id,$sy_from, $sy_to));
  144. if ($query->num_rows() > 0) {
  145. foreach ($query->result() as $row)
  146. {
  147. $data[] = $row;
  148. }
  149. return $data;
  150. }
  151. return false;
  152. }
  153. public function masterlist_course_enrollment_profile_gender($course,$gender,$start=0,$limit=100)
  154. {
  155. $start = $this->db->escape_str($start);
  156. $limit = $this->db->escape_str($limit);
  157. $ci =& get_instance();
  158. $semester_id = $ci->open_semester->id;
  159. $sy_from = $ci->open_semester->year_from;
  160. $sy_to = $ci->open_semester->year_to;
  161. $sql = "SELECT enrollments.id as enrollment_id,enrollments.name, enrollments.studid, enrollments.sex, years.year, enrollments.user_id
  162. FROM enrollments
  163. LEFT JOIN courses on courses.id = enrollments.course_id
  164. LEFT JOIN years on years.id = enrollments.year_id
  165. WHERE enrollments.course_id = ?
  166. AND enrollments.sex = ?
  167. AND enrollments.is_paid = 1
  168. AND enrollments.semester_id = ?
  169. AND enrollments.sy_from = ?
  170. AND enrollments.sy_to = ?
  171. ORDER BY enrollments.name ASC
  172. LIMIT ".$limit.",".$start;
  173. $query = $this->db->query($sql,array($course, $gender, $semester_id,$sy_from, $sy_to));
  174. if ($query->num_rows() > 0) {
  175. foreach ($query->result() as $row)
  176. {
  177. $data[] = $row;
  178. }
  179. return $data;
  180. }
  181. return false;
  182. }
  183. public function masterlist_count($course)
  184. {
  185. # $sql = "SELECT count(enrollments.id) as total
  186. # FROM enrollments
  187. # LEFT JOIN enrollments on enrollments.profile_id = profiles.id
  188. # LEFT JOIN courses on courses.id = enrollments.course_id
  189. # WHERE enrollments.course_id = ? and enrollments.is_paid = 1";
  190. $ci =& get_instance();
  191. $semester_id = $ci->open_semester->id;
  192. $sy_from = $ci->open_semester->year_from;
  193. $sy_to = $ci->open_semester->year_to;
  194. $sql = "SELECT count(e.id) as total
  195. FROM enrollments e
  196. WHERE e.course_id = ?
  197. AND e.is_paid = 1
  198. AND e.semester_id = ?
  199. AND e.sy_from = ?
  200. AND e.sy_to = ?";
  201. $query = $this->db->query($sql,array($course, $semester_id, $sy_from, $sy_to));
  202. return $query->num_rows() > 0 ? $query->row()->total : FALSE;
  203. }
  204. public function unassigned()
  205. {
  206. $sql = "SELECT count(*) as unassigned FROM `enrollments` WHERE ISNULL(`course_id`)";
  207. $query = $this->db->query($sql);
  208. return $query->num_rows() > 0 ? $query->row() : FALSE;
  209. }
  210. public function for_tesda_report_masterlist($id)
  211. {
  212. $ci =& get_instance();
  213. $semester_id = $ci->open_semester->id;
  214. $sy_from = $ci->open_semester->year_from;
  215. $sy_to = $ci->open_semester->year_to;
  216. $sql = "SELECT
  217. enrollments.id as enrollment_id,
  218. enrollments.name,
  219. courses.course,years.year
  220. FROM enrollments
  221. LEFT JOIN courses on courses.id = enrollments.course_id
  222. Left JOIN years ON years.id = enrollments.year_id
  223. WHERE enrollments.course_id = ?
  224. AND enrollments.is_paid = 1
  225. ORDER BY years.year, enrollments.name ASC";
  226. $query = $this->db->query($sql,array($id));
  227. // vp($this->db->last_query());
  228. // vd('');
  229. return $query->num_rows() > 0 ? $query->result() : false;
  230. }
  231. public function get_all()
  232. {
  233. //print_r($data);
  234. $sql = "select message, date
  235. FROM $this->_table
  236. ORDER BY created_at desc LIMIT 15";
  237. $query = $this->db->query($sql);
  238. return $query->num_rows() > 0 ? $query->result() : FALSE;
  239. }
  240. public function find_all()
  241. {
  242. //print_r($data);
  243. $sql = "select *
  244. FROM $this->_table
  245. ORDER BY id";
  246. $query = $this->db->query($sql);
  247. return $query->num_rows() > 0 ? $query->result() : FALSE;
  248. }
  249. public function find_all_order_by($asc = 'ASC')
  250. {
  251. $sql = "select *
  252. FROM $this->_table
  253. ORDER BY course ".$asc;
  254. $query = $this->db->query($sql);
  255. return $query->num_rows() > 0 ? $query->result() : FALSE;
  256. }
  257. public function create_courses($input = false)
  258. {
  259. $this->db->insert($this->_table,$input);
  260. return $this->db->affected_rows() > 0 ? array('status'=>'true') : array('status'=>'false');
  261. }
  262. public function get_courses($id = false)
  263. {
  264. $sql = "select *
  265. FROM $this->_table
  266. WHERE id = ?
  267. ORDER BY id";
  268. $query = $this->db->query($sql,array($id));
  269. return $query->num_rows() > 0 ? $query->row() : FALSE;
  270. }
  271. public function update_courses($data = false, $where = false)
  272. {
  273. $this->db->set($data)->where('id',$where)->update($this->_table);
  274. return $this->db->affected_rows() > 0 ? array('status'=>'true') : array('status'=>'false');
  275. }
  276. public function delete_courses($where = false)
  277. {
  278. $this->db->where('id',$where)->delete($this->_table);
  279. return $this->db->affected_rows() > 0 ? array('status'=>'true') : array('status'=>'false');
  280. }
  281. public function get_all_courses($block_system_setting_id)
  282. {
  283. $sql = "select *
  284. FROM $this->_table
  285. ORDER BY id";
  286. $query = $this->db->query($sql, array($block_system_setting_id));
  287. return $query->num_rows() > 0 ? $query->result() : FALSE;
  288. }
  289. }