ok
Direktori : /home2/selectio/public_html/bharath/application/controllers/admin/ |
Current File : /home2/selectio/public_html/bharath/application/controllers/admin/Stuattendence.php |
<?php if (!defined('BASEPATH')) exit('No direct script access allowed'); class Stuattendence extends Admin_Controller { function __construct() { parent::__construct(); $this->config->load("mailsms"); $this->load->library('mailsmsconf'); $this->config_attendance = $this->config->item('attendence'); $this->load->model("classteacher_model"); } function index() { if (!$this->rbac->hasPrivilege('student_attendance', 'can_view')) { access_denied(); } $this->session->set_userdata('top_menu', 'Attendance'); $this->session->set_userdata('sub_menu', 'stuattendence/index'); $data['title'] = 'Add Fees Type'; $data['title_list'] = 'Fees Type List'; $sch_setting = $this->setting_model->getSchoolDetail(); $data['sch_setting'] = $sch_setting; $class = $this->class_model->get('', $classteacher = 'yes'); $userdata = $this->customlib->getUserData(); $carray = array(); if (!empty($data["classlist"])) { foreach ($data["classlist"] as $ckey => $cvalue) { $carray[] = $cvalue["id"]; } } $userdata = $this->customlib->getUserData(); $role_id = $userdata["role_id"]; if (isset($role_id) && ($userdata["role_id"] == 2) && ($userdata["class_teacher"] == "yes")) { if ($userdata["class_teacher"] == 'yes') { $carray = array(); $class = array(); $class =$this->teacher_model->get_daywiseattendanceclass($userdata["id"]); } } $data['classlist'] = $class; $data['class_id'] = ""; $data['section_id'] = ""; $data['date'] = ""; $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() == FALSE) { $this->load->view('layout/header', $data); $this->load->view('admin/stuattendence/attendenceList', $data); $this->load->view('layout/footer', $data); } else { $class = $this->input->post('class_id'); $section = $this->input->post('section_id'); $date = $this->input->post('date'); $student_list = $this->stuattendence_model->get(); $data['studentlist'] = $student_list; $data['class_id'] = $class; $data['section_id'] = $section; $data['date'] = $date; $search = $this->input->post('search'); $holiday = $this->input->post('holiday'); if ($search == "saveattendence") { $session_ary = $this->input->post('student_session'); $absent_student_list = array(); foreach ($session_ary as $key => $value) { $checkForUpdate = $this->input->post('attendendence_id' . $value); if ($checkForUpdate != 0) { if (isset($holiday)) { $arr = array( 'id' => $checkForUpdate, 'student_session_id' => $value, 'attendence_type_id' => 5, 'remark' => $this->input->post("remark" . $value), 'date' => date('Y-m-d', $this->customlib->datetostrtotime($date)) ); } else { $arr = array( 'id' => $checkForUpdate, 'student_session_id' => $value, 'attendence_type_id' => $this->input->post('attendencetype' . $value), 'remark' => $this->input->post("remark" . $value), 'date' => date('Y-m-d', $this->customlib->datetostrtotime($date)) ); } $insert_id = $this->stuattendence_model->add($arr); } else { if (isset($holiday)) { $arr = array( 'student_session_id' => $value, 'attendence_type_id' => 5, 'remark' => $this->input->post("remark" . $value), 'date' => date('Y-m-d', $this->customlib->datetostrtotime($date)) ); } else { $arr = array( 'student_session_id' => $value, 'attendence_type_id' => $this->input->post('attendencetype' . $value), 'remark' => $this->input->post("remark" . $value), 'date' => date('Y-m-d', $this->customlib->datetostrtotime($date)) ); } $insert_id = $this->stuattendence_model->add($arr); $absent_config = $this->config_attendance['absent']; if ($arr['attendence_type_id'] == $absent_config) { $absent_student_list[] = $value; } } } $absent_config = $this->config_attendance['absent']; if (!empty($absent_student_list)) { $this->mailsmsconf->mailsms('absent_attendence', $absent_student_list, $date); } $this->session->set_flashdata('msg', '<div class="alert alert-success text-left">'.$this->lang->line('success_message').'</div>'); redirect('admin/stuattendence/index','refresh'); } $attendencetypes = $this->attendencetype_model->get(); $data['attendencetypeslist'] = $attendencetypes; $resultlist = $this->stuattendence_model->searchAttendenceClassSection($class, $section, date('Y-m-d', $this->customlib->datetostrtotime($date))); $data['resultlist'] = $resultlist; // echo "<pre>"; // print_r($data); // echo "<pre>";die; $this->load->view('layout/header', $data); $this->load->view('admin/stuattendence/attendenceList', $data); $this->load->view('layout/footer', $data); } } function attendencereport() { if (!$this->rbac->hasPrivilege('attendance_by_date', 'can_view')) { access_denied(); } $this->session->set_userdata('top_menu', 'Attendance'); $this->session->set_userdata('sub_menu', 'stuattendence/attendenceReport'); $data['title'] = 'Add Fees Type'; $data['title_list'] = 'Fees Type List'; $class = $this->class_model->get(); $userdata = $this->customlib->getUserData(); $role_id = $userdata["role_id"]; if (isset($role_id) && ($userdata["role_id"] == 2) && ($userdata["class_teacher"] == "yes")) { if ($userdata["class_teacher"] == 'yes') { $carray = array(); $class = array(); $class =$this->teacher_model->get_daywiseattendanceclass($userdata["id"]); } } $data['classlist'] = $class; $data['class_id'] = ""; $data['section_id'] = ""; $data['date'] = ""; $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('date', $this->lang->line('date'), 'trim|required|xss_clean'); if ($this->form_validation->run() == FALSE) { $this->load->view('layout/header', $data); $this->load->view('admin/stuattendence/attendencereport', $data); $this->load->view('layout/footer', $data); } else { $class = $this->input->post('class_id'); $section = $this->input->post('section_id'); $date = $this->input->post('date'); $student_list = $this->stuattendence_model->get(); $data['studentlist'] = $student_list; $data['class_id'] = $class; $data['section_id'] = $section; $data['date'] = $date; $search = $this->input->post('search'); if ($search == "saveattendence") { $session_ary = $this->input->post('student_session'); foreach ($session_ary as $key => $value) { $checkForUpdate = $this->input->post('attendendence_id' . $value); if ($checkForUpdate != 0) { $arr = array( 'id' => $checkForUpdate, 'student_session_id' => $value, 'attendence_type_id' => $this->input->post('attendencetype' . $value), 'date' => date('Y-m-d', $this->customlib->datetostrtotime($date)) ); $insert_id = $this->stuattendence_model->add($arr); } else { $arr = array( 'student_session_id' => $value, 'attendence_type_id' => $this->input->post('attendencetype' . $value), 'date' => date('Y-m-d', $this->customlib->datetostrtotime($date)) ); $insert_id = $this->stuattendence_model->add($arr); } } } $attendencetypes = $this->attendencetype_model->get(); $data['attendencetypeslist'] = $attendencetypes; $resultlist = $this->stuattendence_model->searchAttendenceClassSectionPrepare($class, $section, date('Y-m-d', $this->customlib->datetostrtotime($date))); $data['resultlist'] = $resultlist; $this->load->view('layout/header', $data); $this->load->view('admin/stuattendence/attendencereport', $data); $this->load->view('layout/footer', $data); } } function classattendencereport() { if (!$this->rbac->hasPrivilege('attendance_report', 'can_view')) { access_denied(); } $this->session->set_userdata('top_menu', 'Reports'); $this->session->set_userdata('sub_menu', 'Reports/attendance'); $this->session->set_userdata('subsub_menu', 'Reports/attendance/attendance_report'); $attendencetypes = $this->attendencetype_model->getAttType(); $data['attendencetypeslist'] = $attendencetypes; $data['title'] = 'Add Fees Type'; $data['title_list'] = 'Fees Type List'; $class = $this->class_model->get(); $userdata = $this->customlib->getUserData(); $role_id = $userdata["role_id"]; if (isset($role_id) && ($userdata["role_id"] == 2) && ($userdata["class_teacher"] == "yes")) { if ($userdata["class_teacher"] == 'yes') { $carray = array(); $class = array(); $class =$this->teacher_model->get_daywiseattendanceclass($userdata["id"]); } } $data['classlist'] = $class; $userdata = $this->customlib->getUserData(); $data['monthlist'] = $this->customlib->getMonthDropdown(); $data['yearlist'] = $this->stuattendence_model->attendanceYearCount(); $data['class_id'] = ""; $data['section_id'] = ""; $data['date'] = ""; $data['month_selected'] = ""; $data['year_selected'] = ""; $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('month', $this->lang->line('month'), 'trim|required|xss_clean'); if ($this->form_validation->run() == FALSE) { $this->load->view('layout/header', $data); $this->load->view('admin/stuattendence/classattendencereport', $data); $this->load->view('layout/footer', $data); } else { $resultlist = array(); $class = $this->input->post('class_id'); $section = $this->input->post('section_id'); $month = $this->input->post('month'); $data['class_id'] = $class; $data['section_id'] = $section; $data['month_selected'] = $month; $studentlist = $this->student_model->searchByClassSection($class, $section); $session_current = $this->setting_model->getCurrentSessionName(); $startMonth = $this->setting_model->getStartMonth(); $centenary = substr($session_current, 0, 2); //2017-18 to 2017 $year_first_substring = substr($session_current, 2, 2); //2017-18 to 2017 $year_second_substring = substr($session_current, 5, 2); //2017-18 to 18 $month_number = date("m", strtotime($month)); $year = $this->input->post('year'); $data['year_selected'] = $year; if (!empty($year)) { $year = $this->input->post("year"); } else { if ($month_number >= $startMonth && $month_number <= 12) { $year = $centenary . $year_first_substring; } else { $year = $centenary . $year_second_substring; } } $num_of_days = cal_days_in_month(CAL_GREGORIAN, $month_number, $year); $attr_result = array(); $attendence_array = array(); $student_result = array(); $data['no_of_days'] = $num_of_days; $date_result = array(); for ($i = 1; $i <= $num_of_days; $i++) { $att_date = $year . "-" . $month_number . "-" . sprintf("%02d", $i); $attendence_array[] = $att_date; $res = $this->stuattendence_model->searchAttendenceReport($class, $section, $att_date); $student_result = $res; $s = array(); foreach ($res as $result_k => $result_v) { $s[$result_v['student_session_id']] = $result_v; } $date_result[$att_date] = $s; } $monthAttendance = array(); foreach ($res as $result_k => $result_v) { $date = $year . "-" . $month; $newdate = date('Y-m-d', strtotime($date)); $monthAttendance[] = $this->monthAttendance($newdate, 1, $result_v['student_session_id']); } $data['monthAttendance'] = $monthAttendance; $data['resultlist'] = $date_result; $data['attendence_array'] = $attendence_array; $data['student_array'] = $student_result; $this->load->view('layout/header', $data); $this->load->view('admin/stuattendence/classattendencereport', $data); $this->load->view('layout/footer', $data); } } function monthAttendance($st_month, $no_of_months, $student_id) { $record = array(); $r = array(); $month = date('m', strtotime($st_month)); $year = date('Y', strtotime($st_month)); foreach ($this->config_attendance as $att_key => $att_value) { $s = $this->stuattendence_model->count_attendance_obj($month, $year, $student_id, $att_value); $attendance_key = $att_key; $r[$attendance_key] = $s; } $record[$student_id] = $r; return $record; } } ?>