/app/Http/Controllers/UsersController.php

https://gitlab.com/4gdevs/online-class-record-system · PHP · 365 lines · 285 code · 53 blank · 27 comment · 10 complexity · da423eb7cd11663c807a58cb170021fe MD5 · raw file

  1. <?php
  2. namespace App\Http\Controllers;
  3. use Illuminate\Foundation\Bus\DispatchesJobs;
  4. use Illuminate\Routing\Controller as BaseController;
  5. use Illuminate\Foundation\Validation\ValidatesRequests;
  6. use DB;
  7. abstract class UsersController extends BaseController {
  8. use DispatchesJobs,
  9. ValidatesRequests;
  10. function checkSY($user_id) {
  11. $query = DB::table('school_year')->where('users_id', $user_id)->get();
  12. $SYlist = json_decode(json_encode($query), true);
  13. return $SYlist;
  14. }
  15. function checkLoad($user_id) {
  16. $SYlist = $this->checkSY($user_id);
  17. foreach ($SYlist as $data) {
  18. $query = DB::table('faculty_load')->where('school_year_id', $data['id'])->get();
  19. $loadlist = json_decode(json_encode($query), true);
  20. }
  21. return $loadlist;
  22. }
  23. function checkStudents($user_id) {
  24. $loadlist = $this->checkLoad($user_id);
  25. foreach ($loadlist as $data) {
  26. $query = DB::table('students')->where('load_id', $data['id'])->get();
  27. $studentslist[] = json_decode(json_encode($query), true);
  28. }
  29. return $studentslist;
  30. }
  31. function checkRecords($user_id) {
  32. $studentslist = $this->checkStudents($user_id);
  33. foreach ($studentslist as $data) {
  34. foreach ($data as $data1) {
  35. $query = DB::table('records')->where('students_id', $data1['id'])->get();
  36. $recordslist[][] = json_decode(json_encode($query), true);
  37. $records = array_column($recordslist, 0);
  38. }
  39. }
  40. return $records;
  41. }
  42. function getStudentData($subject_id) {
  43. $query = DB::table('students')->where('load_id', $subject_id)->get();
  44. $studentlist = json_decode(json_encode($query), true);
  45. return $studentlist;
  46. }
  47. function getActivitiesData($subject_id,$term) {
  48. $query = DB::table('enrollment')->join('students','enrollment.students_id','=','students.id')->where('enrollment.faculty_load_id',$subject_id)->select('enrollment.id as enrollment_id','enrollment.faculty_load_id','students.id as students_id')->get();
  49. $conn = json_decode(json_encode($query), true);
  50. $connect = $conn[0];
  51. $query = DB::table('students')->join('records','records.enrollment_students_id','=','students.id')->where('records.enrollment_faculty_load_id',$subject_id)->where('term',$term)->select('records.enrollment_students_id as students_id','records.*','students.*','records.id as id')->get();
  52. $records = json_decode(json_encode($query), true);
  53. if($records==null){
  54. $activities = null;
  55. return $activities;
  56. }
  57. else {
  58. $query = \DB::table('selected_activities')->where('type','lec')->where('load_id',$subject_id)->get();
  59. $selected_activities = json_decode(json_encode($query), true);
  60. $sel_color = array();
  61. $fon_color = array();
  62. foreach ($selected_activities as $data) {
  63. foreach ($data as $data2) {
  64. $sel_color[$data['act_name']] = $data['color'];
  65. $fon_color[$data['act_name']] = $data['fontcolor'];
  66. }
  67. }
  68. foreach ($records as $data) {
  69. $query = DB::table('activities')->join('records', 'activities.records_id','=','records.id')->where('type','lec')->select('records.enrollment_students_id as students_id','records.term','records.exam_score','records.exam_total','records.examlab_score','records.examlab_total','records.exam_grade','records.term_grade','records.remarks','activities.*')->where('records.id',$data['id'])->where('records.enrollment_faculty_load_id',$subject_id)->get();
  70. //if (json_decode(json_encode($query), true)) {
  71. $activitylist[][] = json_decode(json_encode($query), true);
  72. $activities = array_column($activitylist, 0); //}
  73. }
  74. //dd($activities);
  75. $acts = array();
  76. $count=0;
  77. foreach ($activities as $key => $data) {
  78. $count1 = 0;
  79. foreach ($data as $data2) {
  80. foreach ($data2 as $data3) {
  81. $activities[$count][$count1]['color'] = $sel_color[preg_replace('/[0-9]+/', '', $data2['act_name'])];
  82. $activities[$count][$count1]['fontcolor'] = $fon_color[preg_replace('/[0-9]+/', '', $data2['act_name'])];
  83. $activities[$count][$count1]['sname'] = $records[$key]['sname'];
  84. }
  85. $count1++;
  86. }
  87. $count++;
  88. }
  89. //dd($activities);
  90. return $activities;
  91. }
  92. }
  93. function getActivitiesDatalab($subject_id,$term) {
  94. $query = DB::table('enrollment')->join('students','enrollment.students_id','=','students.id')->where('enrollment.faculty_load_id',$subject_id)->select('enrollment.id as enrollment_id','enrollment.faculty_load_id','students.id as students_id')->get();
  95. $conn = json_decode(json_encode($query), true);
  96. $connect = $conn[0];
  97. $query = DB::table('students')->join('records','records.enrollment_students_id','=','students.id')->where('records.enrollment_faculty_load_id',$subject_id)->where('term',$term)->select('records.enrollment_students_id as students_id','records.*','students.*','records.id as id')->get();
  98. $records = json_decode(json_encode($query), true);
  99. if($records==null){
  100. $activities = null;
  101. return $activities;
  102. }
  103. else {
  104. $query = \DB::table('selected_activities')->where('type','lab')->where('load_id',$subject_id)->get();
  105. $selected_activities = json_decode(json_encode($query), true);
  106. //dd($selected_activities);
  107. $sel_color = array();
  108. $fon_color = array();
  109. foreach ($selected_activities as $data) {
  110. foreach ($data as $data2) {
  111. $sel_color[$data['act_name']] = $data['color'];
  112. $fon_color[$data['act_name']] = $data['fontcolor'];
  113. }
  114. }
  115. foreach ($records as $data) {
  116. $query = DB::table('activities')->join('records', 'activities.records_id','=','records.id')->where('type','lab')->select('records.enrollment_students_id as students_id','records.term','records.exam_score','records.exam_total','records.examlab_score','records.examlab_total','records.exam_grade','records.term_grade','records.remarks','activities.*')->where('records.id',$data['id'])->where('records.enrollment_faculty_load_id',$subject_id)->get();
  117. //if (json_decode(json_encode($query), true)) {
  118. $activitylist[][] = json_decode(json_encode($query), true);
  119. $activities = array_column($activitylist, 0); //}
  120. }
  121. //dd($activities);
  122. $acts = array();
  123. $count=0;
  124. foreach ($activities as $key => $data) {
  125. $count1 = 0;
  126. foreach ($data as $data2) {
  127. foreach ($data2 as $data3) {
  128. $activities[$count][$count1]['color'] = $sel_color[preg_replace('/[0-9]+/', '', $data2['act_name'])];
  129. $activities[$count][$count1]['fontcolor'] = $fon_color[preg_replace('/[0-9]+/', '', $data2['act_name'])];
  130. $activities[$count][$count1]['sname'] = $records[$key]['sname'];
  131. }
  132. $count1++;
  133. }
  134. $count++;
  135. }
  136. //dd($activities);
  137. return $activities;
  138. }
  139. }
  140. function getRecordsData($subject_id, $term) {
  141. $query = DB::table('records')->where('term', $term)
  142. ->where('enrollment_faculty_load_id', $subject_id)
  143. ->get();
  144. $records = json_decode(json_encode($query), true);
  145. return $records;
  146. }
  147. function getActivitiesData1($record_id) {
  148. $query = DB::table('activities')->where('records_id', $record_id)->get();
  149. $activities = json_decode(json_encode($query), true);
  150. return $activities;
  151. }
  152. /* function getRecordsData($studentlist, $term) {
  153. foreach ($studentlist as $data) {
  154. $query = DB::table('records')->where('students_id', $data['id'])
  155. ->where('term', $term)->get();
  156. $recordslist[] = json_decode(json_encode($query), true);
  157. $records = array_column($recordslist, 0);
  158. }
  159. //dd($records);
  160. return $records;
  161. }
  162. */
  163. function getRData($subject_id, $term) {
  164. $studentlist = $this->getStudentData($subject_id);
  165. foreach ($studentlist as $data) {
  166. $query = DB::table('records')->where('students_id', $data['id'])
  167. ->where('term', $term)->get();
  168. $recordslist[] = json_decode(json_encode($query), true);
  169. $records = array_column($recordslist, 0);
  170. }
  171. //dd($records);
  172. foreach ($records as $records) {
  173. $query = DB::table('activities')->join('records', 'records.id', '=', 'activities.records_id')
  174. ->join('students', 'students.id', '=', 'records.students_id')
  175. ->select('activities.*', 'students.id', 'students.students_name')
  176. ->where('records_id', $records['id'])->get();
  177. $activitylist[][] = json_decode(json_encode($query), true);
  178. $activities = array_column($activitylist, 0);
  179. }
  180. //dd($activities);
  181. return $activities;
  182. }
  183. function getActivitiesList($subject_id) {
  184. $students_list = getStudentData($subject_id);
  185. $query = DB::table('activities')->where('records_id', $subject_id)->get();
  186. $studentlist = json_decode(json_encode($query), true);
  187. return $activities;
  188. }
  189. function generateSubject($schoolYear, $semester, $id) {
  190. //dd($semester);
  191. $query = \DB::table('faculty_load')->where('school_year_sy', $schoolYear)
  192. ->where('school_year_users_id', $id)->where('semester', $semester)->get();
  193. $resultArray = json_decode(json_encode($query), true);
  194. //dd($resultArray);
  195. return $resultArray;
  196. }
  197. function generateInstructor($department) {
  198. $query = \DB::table('users')->where('department', $department)
  199. ->where('userType', 'Instructor')->get();
  200. $resultArray = json_decode(json_encode($query), true);
  201. //dd($resultArray);
  202. return $resultArray;
  203. }
  204. function generateInstructorSubject($id) {
  205. $query = \DB::table('faculty_load')->where('semester', '1st Semester')
  206. ->where('school_year_users_id', $id)->get();
  207. $resultArray = json_decode(json_encode($query), true);
  208. return $resultArray;
  209. }
  210. function generateInstructorData($id) {
  211. $query = \DB::table('users')
  212. ->where('id', $id)->orderBy('users.name', 'asc')->get();
  213. $resultArray = json_decode(json_encode($query), true);
  214. return $resultArray;
  215. }
  216. function getInstructors($department) {
  217. $query = \DB::table('users')->where('department', $department)->where('userType', 'Instructor')->get();
  218. $resultArray = json_decode(json_encode($query), true);
  219. return $resultArray;
  220. }
  221. function getChairmanName($department) {
  222. $query = \DB::table('users')->where('department', $department)->where('userType', 'Chairman')->get();
  223. $resultArray = json_decode(json_encode($query), true);
  224. return $resultArray;
  225. }
  226. function getDepartmentList($college) {
  227. $query = \DB::table('users')->where('college', $college)->where('userType', 'Chairman')->get();
  228. $resultArray = json_decode(json_encode($query), true);
  229. return $resultArray;
  230. }
  231. function getLoadSY($id) {
  232. $query = \DB::table('faculty_load')->distinct()->select('school_year_sy')->where('school_year_users_id', $id)->get();
  233. $resultArray = json_decode(json_encode($query), true);
  234. return $resultArray;
  235. }
  236. function getCollegeDepartment($college) {
  237. $query = \DB::table('users')->where('college', $college)->where('userType', 'Instructor')->OrderBy('users.name', 'asc')->get();
  238. $resultArray = json_decode(json_encode($query), true);
  239. return $resultArray;
  240. }
  241. function getInstructorLoad($id) {
  242. $query = \DB::table('faculty_load')->where('school_year_users_id', $id)->get();
  243. $resultArray = json_decode(json_encode($query), true);
  244. return $resultArray;
  245. }
  246. function getSY($sy, $id) {
  247. $query = \DB::table('faculty_load')->where('school_year_users_id', $id)->where('school_year_sy', $sy)->get();
  248. $resultArray = json_decode(json_encode($query), true);
  249. return $resultArray;
  250. }
  251. function getRecordId($term, $loadID, $studentID) {
  252. $query = \DB::table('records')->where('term', $term)->where('enrollment_faculty_load_id', $loadID)->where('enrollment_students_id', $studentID)->get();
  253. $resultArray = json_decode(json_encode($query), true);
  254. return $resultArray;
  255. }
  256. function getClassInfo($id) {
  257. $query = \DB::table('faculty_load')->where('id', $id)->get();
  258. $resultArray = json_decode(json_encode($query), true);
  259. return $resultArray;
  260. }
  261. function getCombineData($id, $term) {
  262. $query = \DB::table('records')->where('students_id', $id)->where('term', $term)->get();
  263. $resultArray = json_decode(json_encode($query), true);
  264. foreach ($resultArray as $data) {
  265. $query = \DB::table('activities')->where('records_id', $data['id'])->get();
  266. $resultArray1 = json_decode(json_encode($query), true);
  267. $resultArray[] = $resultArray1;
  268. }
  269. return $resultArray;
  270. }
  271. function getGradesData1($id) {
  272. $query = \DB::table('overall')->join('students', 'students.id', '=', 'overall.enrollment_students_id')
  273. ->select('overall.*', 'students.id', 'students.sname')->orderBy('students.sname', 'asc')
  274. ->where('enrollment_faculty_load_id', $id)->get();
  275. $resultArray = json_decode(json_encode($query), true);
  276. return $resultArray;
  277. }
  278. function getGradesData($id) {
  279. $query = \DB::table('overall')->join('students', 'students.id', '=', 'overall.enrollment_students_id')
  280. ->select('overall.*', 'students.id', 'students.sname')->orderBy('students.sname', 'asc')
  281. ->where('enrollment_faculty_load_id', $id)->get();
  282. $resultArray = json_decode(json_encode($query), true);
  283. foreach ($resultArray as $key => $data) {
  284. foreach ($data as $key1 => $data2) {
  285. $gdataArr[$key][$key1] = $data2;
  286. if($key1 == 'midterm_grade' || $key1 == 'prefinal_grade' || $key1 == 'final_grade') {
  287. $gdataArr[$key][$key1] = number_format($data2, 1, '.', '');
  288. }
  289. }
  290. }
  291. return $gdataArr;
  292. }
  293. function getSelectedActivities($id) {
  294. $query = \DB::table('selected_activities')->where('load_id', $id)->get();
  295. $resultArray = json_decode(json_encode($query), true);
  296. // dd($resultArray);
  297. return $resultArray;
  298. }
  299. function getEnrolmentID($id,$student_id) {
  300. $query = \DB::table('enrollment')->where('faculty_load_id', $id)->where('students_id', $student_id)->get();
  301. $resultArray = json_decode(json_encode($query), true);
  302. //dd($resultArray);
  303. return $resultArray;
  304. }
  305. function getLoadId($subj_code,$class) {
  306. $query = \DB::table('faculty_load')->where('class', $class)->where('subj_code', $subj_code)->get();
  307. $resultArray = json_decode(json_encode($query), true);
  308. // dd($resultArray);
  309. return $resultArray;
  310. }
  311. }