load->model("staff_model"); $this->load->model("classteacher_model"); } public function index() { if (!$this->rbac->hasPrivilege('class_time_table', 'can_view')) { access_denied(); } $this->session->set_userdata('top_menu', 'Academics'); $this->session->set_userdata('sub_menu', 'Academics/timetable'); $session = $this->setting_model->getCurrentSession(); $data['title'] = 'Exam Marks'; $data['exam_id'] = ""; $data['class_id'] = ""; $data['section_id'] = ""; $class = $this->class_model->get(); $data['classlist'] = $class; $this->form_validation->set_rules('class_id', $this->lang->line('class'), 'trim|required|xss_clean'); $this->form_validation->set_rules('section_id', $this->lang->line('section'), 'trim|required|xss_clean'); $this->form_validation->set_rules('group_id', $this->lang->line('group'), 'trim|required|xss_clean'); if ($this->form_validation->run() == false) { $this->load->view('layout/header', $data); $this->load->view('admin/timetable/timetableList', $data); $this->load->view('layout/footer', $data); } else { $class_id = $this->input->post('class_id'); $section_id = $this->input->post('section_id'); $section_id = $this->input->post('group_id'); $data['class_id'] = $class_id; $data['section_id'] = $section_id; $result_subjects = $this->teachersubject_model->getSubjectByClsandSection($class_id, $section_id); $getDaysnameList = $this->customlib->getDaysname(); $data['getDaysnameList'] = $getDaysnameList; $final_array = array(); if (!empty($result_subjects)) { foreach ($result_subjects as $subject_k => $subject_v) { $result_array = array(); foreach ($getDaysnameList as $day_key => $day_value) { $where_array = array( 'teacher_subject_id' => $subject_v['id'], 'day_name' => $day_value, ); $result = $this->timetable_model->get($where_array); if (!empty($result)) { $obj = new stdClass(); $obj->status = "Yes"; $obj->start_time = $result[0]['start_time']; $obj->end_time = $result[0]['end_time']; $obj->room_no = $result[0]['room_no']; $result_array[$day_value] = $obj; } else { $obj = new stdClass(); $obj->status = "No"; $obj->start_time = "N/A"; $obj->end_time = "N/A"; $obj->room_no = "N/A"; $result_array[$day_value] = $obj; } } $final_array[$subject_v['name']] = $result_array; } } $data['result_array'] = $final_array; $this->load->view('layout/header', $data); $this->load->view('admin/timetable/timetableList', $data); $this->load->view('layout/footer', $data); } } public function mytimetable() { if (!$this->rbac->hasPrivilege('teachers_time_table', 'can_view')) { access_denied(); } $data['title'] = 'My Timetable'; $this->session->set_userdata('top_menu', 'Academics'); $this->session->set_userdata('sub_menu', 'Academics/timetable/mytimetable'); $my_role = $this->customlib->getStaffRole(); $role = json_decode($my_role); $is_admin = false; if ($role->id != "2") { $staff_list = $this->staff_model->getEmployee('2'); $data['staff_list'] = $staff_list; $is_admin = true; } $staff_id = $this->customlib->getStaffID(); $data['timetable'] = array(); $days = $this->customlib->getDaysname(); foreach ($days as $day_key => $day_value) { $data['timetable'][$day_value] = $this->subjecttimetable_model->getByStaffandDay($staff_id, $day_key); } $this->load->view('layout/header', $data); if ($is_admin) { $this->load->view('admin/timetable/admintimetable', $data); } else { $this->load->view('admin/timetable/mytimetable', $data); } $this->load->view('layout/footer', $data); } public function view($id) { if (!$this->rbac->hasPrivilege('class_timetable', 'can_view')) { access_denied(); } $data['title'] = 'Mark List'; $mark = $this->mark_model->get($id); $data['mark'] = $mark; $this->load->view('layout/header', $data); $this->load->view('admin/timetable/timetableShow', $data); $this->load->view('layout/footer', $data); } public function delete($id) { $data['title'] = 'Mark List'; $this->mark_model->remove($id); redirect('admin/timetable/index'); } public function create() { if (!$this->rbac->hasPrivilege('class_timetable', 'can_view')) { access_denied(); } $this->session->set_userdata('top_menu', 'Academics'); $this->session->set_userdata('sub_menu', 'Academics/timetable'); $session = $this->setting_model->getCurrentSession(); $data['title'] = 'Exam Schedule'; $data['subject_id'] = ""; $data['class_id'] = ""; $data['section_id'] = ""; $exam = $this->exam_model->get(); $class = $this->class_model->get('', $classteacher = 'yes'); $data['examlist'] = $exam; $data['classlist'] = $class; $userdata = $this->customlib->getUserData(); $staff = $this->staff_model->getStaffbyrole(2); $data['staff'] = $staff; $data['subject'] = array(); $feecategory = $this->feecategory_model->get(); $data['feecategorylist'] = $feecategory; $this->form_validation->set_rules('class_id', $this->lang->line('class'), 'trim|required|xss_clean'); $this->form_validation->set_rules('section_id', $this->lang->line('section'), 'trim|required|xss_clean'); $this->form_validation->set_rules('subject_group_id', $this->lang->line('group'), 'trim|required|xss_clean'); $class_id = $this->input->post('class_id'); $section_id = $this->input->post('section_id'); $subject_group_id = $this->input->post('subject_group_id'); $data['class_id'] = $class_id; $data['section_id'] = $section_id; $data['subject_group_id'] = $subject_group_id; if ($this->form_validation->run() == false) { $this->load->view('layout/header', $data); $this->load->view('admin/timetable/timetableCreate', $data); $this->load->view('layout/footer', $data); } else { $getDaysnameList = $this->customlib->getDaysname(); $data['getDaysnameList'] = $getDaysnameList; $subject = $this->subjectgroup_model->getGroupsubjects($subject_group_id); $data['subject'] = $subject; $this->load->view('layout/header', $data); $this->load->view('admin/timetable/timetableCreate', $data); $this->load->view('layout/footer', $data); } } public function classreport() { if (!$this->rbac->hasPrivilege('class_timetable', 'can_view')) { access_denied(); } $this->session->set_userdata('top_menu', 'Academics'); $this->session->set_userdata('sub_menu', 'Academics/timetable'); $session = $this->setting_model->getCurrentSession(); $data['title'] = 'Exam Schedule'; $data['subject_id'] = ""; $data['class_id'] = ""; $data['section_id'] = ""; $exam = $this->exam_model->get(); $class = $this->class_model->get('', $classteacher = 'yes'); $data['examlist'] = $exam; $data['classlist'] = $class; $userdata = $this->customlib->getUserData(); $staff = $this->staff_model->getStaffbyrole(2); $data['staff'] = $staff; $data['subject'] = array(); $feecategory = $this->feecategory_model->get(); $data['feecategorylist'] = $feecategory; $this->form_validation->set_rules('class_id', $this->lang->line('class'), 'trim|required|xss_clean'); $this->form_validation->set_rules('section_id', $this->lang->line('section'), 'trim|required|xss_clean'); if ($this->form_validation->run() == true) { if (isset($_POST['search'])) { $class_id = $this->input->post('class_id'); $section_id = $this->input->post('section_id'); $days = $this->customlib->getDaysname(); $days_record = array(); foreach ($days as $day_key => $day_value) { $class_id = $this->input->post('class_id'); $section_id = $this->input->post('section_id'); $days_record[$day_key] = $this->subjecttimetable_model->getSubjectByClassandSectionDay($class_id, $section_id, $day_key); } $data['timetable'] = $days_record; } } $this->load->view('layout/header', $data); $this->load->view('admin/timetable/classreport', $data); $this->load->view('layout/footer', $data); } public function edit($id) { if (!$this->rbac->hasPrivilege('class_timetable', 'can_edit')) { access_denied(); } $data['title'] = 'Edit Mark'; $data['id'] = $id; $mark = $this->mark_model->get($id); $data['mark'] = $mark; $this->form_validation->set_rules('name', $this->lang->line('mark'), 'trim|required|xss_clean'); if ($this->form_validation->run() == false) { $this->load->view('layout/header', $data); $this->load->view('admin/timetable/timetableEdit', $data); $this->load->view('layout/footer', $data); } else { $data = array( 'id' => $id, 'name' => $this->input->post('name'), 'note' => $this->input->post('note'), ); $this->mark_model->add($data); $this->session->set_flashdata('msg', '