load->model('Admin_model'); $this->load->helper('url'); $this->load->library('email'); $this->load->helper('file'); $this->load->helper('common_helper'); $this->load->library('Ciqrcode'); date_default_timezone_set('Asia/Kathmandu'); $this->nepaliDateObject = new NepaliDate(); $this->nepali_current_date = cuurentNepaliDate($this->nepaliDateObject); } public function index() { if (!isset($_SESSION['admin_id'])) { $data['school_info'] = $this->Admin_model->get_logo_from_setting(); $this->load->view('admin/header', $data); $this->load->view('admin/login'); $this->load->view('admin/footer'); } else { redirect(base_url() . 'Admin/dashboard'); } } public function admin_login() { $uname = $this->input->post('email'); $pwd = $this->input->post('password'); if ($this->Admin_model->login($uname, $pwd)) { if (isset($_POST['remember_me']) && $_POST['remember_me'] == 'on') { //set 0 instead of time to remove the cookie once the browser is closed setcookie("username", $_POST["email"], time() + (20 * 365 * 24 * 60 * 60)); //86400 seconds in a day setcookie("password", $_POST["password"], time() + (20 * 365 * 24 * 60 * 60)); setcookie("rem_me", 'On', time() + (20 * 365 * 24 * 60 * 60)); } else { if (isset($_COOKIE['username'])) { unset($_COOKIE['username']); setcookie('username', ''); } if (isset($_COOKIE['password'])) { unset($_COOKIE['password']); setcookie('password', ''); } if (isset($_COOKIE['rem_me'])) { unset($_COOKIE['rem_me']); setcookie('rem_me', ''); } } $admin_info = $this->Admin_model->login($uname, $pwd); //getting values from database $admin_id = $admin_info->id; $admin_role = $admin_info->role; $admin_rights = $admin_info->rights; $admin_email = $admin_info->email; $admin_role_ids = $admin_info->admin_role_ids; $admin_name = $admin_info->admin_name; //create required sessions $this->session->set_userdata('admin_id', $admin_id); $this->session->set_userdata('admin_role', $admin_role); $this->session->set_userdata('admin_rights', $admin_rights); $this->session->set_userdata('admin_email', $admin_email); $this->session->set_userdata('admin_role_ids', $admin_role_ids); $this->session->set_userdata('admin_name', $admin_name); echo '1'; } else { echo '0'; } } public function admin_logout() { $this->session->sess_destroy(); redirect(base_url() . 'Admin', 'refresh'); } public function dashboard() { if (isset($_SESSION['admin_id'])) { $data['currentURL'] = current_url(); //get logo $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); //get menu list $data['subject_count'] = $this->db->count_all('subject'); $data['course_count'] = $this->db->count_all('course'); $data['classroom_count'] = $this->db->count_all('classroom'); $data['teacher_count'] = $this->db->count_all('teacher'); $data['student_count'] = $this->db->count_all('students'); $data['exam_count'] = 0; $data['session_count'] = 0; $data['application_count'] = $this->db->count_all('applications'); $data['notification_count'] = $this->db->count_all('notifications'); // report start by shivakumar // $sqlQuery1 = "SELECT feetype_name,icon FROM fee_types WHERE is_active='yes'"; // $data['feestype_data'] = $this->Admin_model->get_query_result($sqlQuery1); // $fee_type_data = array(); // $start_date = date('Y-m-01', strtotime($this->nepali_current_date)); // $current_date = date('Y-m-t', strtotime($this->nepali_current_date)); // $sqlQuery1 = "SELECT id as feetype_id,feetype_name,icon FROM fee_types WHERE is_active='yes'"; // $feetypelist = $this->Admin_model->get_query_result($sqlQuery1); // if (isset($feetypelist) && !empty($feetypelist)) { // foreach ($feetypelist as $ftype) { // if ($ftype['feetype_id'] == 1) { // $appication_totalamt = $this->Admin_model-> ($start_date, $current_date, $ftype['feetype_name'], 'student_fee_online_transactions'); // $fee_type_data[] = array( // 'feetype_id' => $ftype['feetype_id'], // 'feetype_name' => $ftype['feetype_name'], // 'feetype_icon' => $ftype['icon'], // 'feetype_total' => 0, // 'feetype_due_amt' => 0, // 'feetype_paid_amount' => (isset($appication_totalamt) && !empty($appication_totalamt)) ? $appication_totalamt : 0 // ); // } else { // $result = $this->Admin_model->currentMonth_fee($start_date, $current_date, $ftype['feetype_id']); // $fee_type_data[] = array( // 'feetype_id' => $ftype['feetype_id'], // 'feetype_name' => $ftype['feetype_name'], // 'feetype_icon' => $ftype['icon'], // 'feetype_total' => (isset($result['total_course_fee']) && !empty($result['total_course_fee'])) ? $result['total_course_fee'] : 0, // 'feetype_due_amt' => (isset($result['pending_fee']) && !empty($result['pending_fee'])) ? $result['pending_fee'] : 0, // 'feetype_paid_amount' => (isset($result['paid_amount']) && !empty($result['paid_amount'])) ? $result['paid_amount'] : 0 // ); // } // } // } // $data['current_report_data'] = $fee_type_data; $course_query = "SELECT * FROM course WHERE is_active='yes'"; $data['courses'] = $this->Admin_model->get_query_result($course_query); // report end by shivakumar $data['menulist'] = $this->Admin_model->get_adminMenu(); // dd($data['menulist']); $this->load->view('admin/header', $data); $this->load->view('admin/dashboard'); $this->load->view('admin/footer'); } } //subject start public function subject() { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); $data['currentURL'] = current_url(); //get logo $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); //get menu list $data['menulist'] = $this->Admin_model->get_adminMenu(); $sqlquery = "SELECT * FROM subject ORDER BY id DESC"; $data['subjects'] = $this->Admin_model->get_query_result($sqlquery); $this->load->view('admin/header', $data); $this->load->view('admin/subject'); $this->load->view('admin/footer'); } public function add_edit_subject($subjectId) { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); if (!file_exists(APPPATH . 'views/admin/ae_subject.php')) show_404(); $data['currentURL'] = current_url(); //get logo $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); //get menu list $data['menulist'] = $this->Admin_model->get_adminMenu(); $data['id'] = $subjectId; if (count($_POST) > 0) { $res = $this->Admin_model->add_edit_subject($subjectId, $_POST); $this->session->set_flashdata('successsubject', str_replace('%s', 'new subject', THE_ADD_SUCCESS_MSG)); if ($subjectId > 0) $this->session->set_flashdata('successsubject', str_replace('%s', 'subject', THE_UPDATE_SUCCESS_MSG)); redirect(base_url() . 'admin/subject'); } $data['title'] = 'Add New Subject'; if ($subjectId > 0) { $data['title'] = 'Update Subject'; $whereqry = array('id' => $subjectId); $data['subject'] = $this->Admin_model->get_subject_details($whereqry); } $this->load->view('admin/header', $data); $this->load->view('admin/ae_subject'); $this->load->view('admin/footer'); } public function addupdate_subject($s_id = '') { if (isset($_POST['update_subject'])) { $s_id = ($_POST['sid'] != 0) ? $_POST['sid'] : 0; $s_name = $_POST['sname']; $s_icon = $_POST['subicon']; $subject_code = $_POST['subcode']; $this->form_validation->set_rules('sname', 'Subject Name', 'required'); $this->form_validation->set_rules('subicon', 'Subject Icon', 'required'); if ($this->form_validation->run() == FALSE) { redirect(base_url() . 'admin/add-edit-subject/' . $s_id, 'refresh'); } else { if ($s_id == 0) { $insertdata = $this->Admin_model->add_subject($s_name, $s_icon, $subject_code); if ($insertdata == 1) { $this->session->set_flashdata('successsubject', str_replace('%s', 'new subject', THE_ADD_SUCCESS_MSG)); } else { $this->session->set_flashdata('errorsubject', str_replace('%s', 'subject', THE_INSERT_FAILED_MSG)); } } else { $is_active = $_POST['is_active']; $updatedata = $this->Admin_model->update_subject($s_id, $s_name, $s_icon, $subject_code, $is_active); if ($updatedata == 1) { $this->session->set_flashdata('successsubject', str_replace('%s', 'subject', THE_UPDATE_SUCCESS_MSG)); } else { $this->session->set_flashdata('errorsubject', str_replace('%s', 'subject', THE_UPDATE_FAILED_MSG)); } } redirect(base_url() . 'admin/subject/' . $s_id, 'refresh'); } } } public function subject_deleted() { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); $sid = ''; $data['currentURL'] = current_url(); //get logo $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); //get menu list $data['menulist'] = $this->Admin_model->get_adminMenu(); $data['subjects'] = $this->Admin_model->get_delsubjects(); $this->load->view('admin/header', $data); $this->load->view('admin/subject-deleted'); $this->load->view('admin/footer'); } public function course_deleted() { if (isset($_SESSION['admin_id'])) { $sid = ''; $data['currentURL'] = current_url(); //get logo $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); //get menu list $data['menulist'] = $this->Admin_model->get_adminMenu(); $data['course'] = $this->Admin_model->get_delcourse(); $this->load->view('admin/header', $data); $this->load->view('admin/course-deleted'); $this->load->view('admin/footer'); } } public function installment_deleted() { if (isset($_SESSION['admin_id'])) { $sid = ''; $data['currentURL'] = current_url(); //get logo $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); //get menu list $data['menulist'] = $this->Admin_model->get_adminMenu(); $data['installment'] = $this->Admin_model->get_delinstall(); // print_r($data['installment']); $this->load->view('admin/header', $data); $this->load->view('admin/installment_delete'); $this->load->view('admin/footer'); } } public function delete_data() { $id = $_POST['id']; $table = $_POST['table']; $data = $this->Admin_model->delete_data($id, $table); print_r($data); } public function delete_batch($batchId) { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); $batchId = ($batchId != '') ? $batchId : 0; if ($batchId != 0) { $result = $this->Admin_model->delete_batch($batchId); if ($result == 'exists') { $this->session->set_flashdata('danger', str_replace('%s', 'Batch', ALREADY_ASSIGNED_MSG)); } else if ($result == 'success') { $this->session->set_flashdata('success', str_replace('%s', 'Batch', THE_DELETE_SUCCESS_MSG)); } else if ($result == 'failed') { $this->session->set_flashdata('danger', str_replace('%s', 'Batch', THE_DELETE_ERROR_MSG)); } } else { $this->session->set_flashdata('danger', str_replace('%s', 'Batch', THE_DELETE_ERROR_MSG)); } redirect(base_url() . 'admin/batches'); } public function delete_classroom($del_id) { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); $clsroomId = (isset($del_id) && !empty($del_id)) ? $del_id : 0; if ($clsroomId != 0) { $result = $this->Admin_model->delete_classroom($clsroomId); if ($result == 'exists') $this->session->set_flashdata('error_msg', 'The Deleting classroom associated with Online session or Students'); else $this->session->set_flashdata('success_msg', str_replace('%s', 'classroom', THE_DELETE_SUCCESS_MSG)); } else { $this->session->set_flashdata('error_msg', 'Classroom Not Found'); } redirect(base_url() . "admin/classroom"); } public function delete_data_permanent() { $id = $_POST['id']; $table = $_POST['table']; $data = $this->Admin_model->delete_data_permanent($id, $table); print_r($data); } public function delete_classroom_permanent() { $id = $_POST['id']; $table = $_POST['table']; $data = $this->Admin_model->delete_classroom_permanent($id, $table); print_r($data); } public function restore_data() { $id = $_POST['id']; $table = $_POST['table']; $data = $this->Admin_model->restore_data($id, $table); print_r($data); } //subject end //course start public function addedit_course() { $c_id = $_POST['cid']; $c_name = $_POST['cname']; $c_sub = $_POST['csubject']; $c_fee = $_POST['cfee']; $a_fee = $_POST['afee']; $csub = implode(',', $c_sub); $data_array = array( 'subject_id' => $csub, 'course_name' => $c_name, 'course_fee' => $c_fee, 'application_fee' => $a_fee ); $data = $this->Admin_model->addedit_course($c_id, $data_array); print_r($data); } //course end /**************************************** START of Batches - Nandini Hulsurkar ************************************/ public function cron_create_db_backup() { $res = $this->database_backup_common(); if (isset($res['successCnt']) && $res['successCnt'] == 4) echo "The database backup has been created successfully."; else echo 'Oops.. Something went wrong in creatingt the database backup.'; exit; } public function database_backup_common() { $this->load->helper('file'); $nepaliDandT = $this->nepali_current_date; $nepaliDandT = str_replace(' ', '_', $nepaliDandT); $nepaliDandT = str_replace(':', '-', $nepaliDandT); //$this->the_path = $_SERVER["DOCUMENT_ROOT"].'/black-board/'; $this->the_path = $_SERVER["DOCUMENT_ROOT"] . '/'; $theDBBDir = $this->the_path . 'database_backups'; if (!file_exists($theDBBDir)) { mkdir($theDBBDir, 0777, true); } $dbArray = array(); $mainDBName = $this->db->database . '.sql'; array_push($dbArray, $mainDBName); $libraryDBObj = $this->load->database('erisnClassroom_lms', TRUE); $libraryDBName = $libraryDBObj->database . '.sql'; array_push($dbArray, $libraryDBName); $hostelDBObj = $this->load->database('hms', TRUE); $hostelDBName = $hostelDBObj->database . '.sql'; array_push($dbArray, $hostelDBName); $busTrackingDBObj = $this->load->database('erisnClassroom_bts', TRUE); $busTrackingDBName = $busTrackingDBObj->database . '.sql'; array_push($dbArray, $busTrackingDBName); $successCnt = 0; $errArray = array(); foreach ($dbArray as $key => $value) { $this->load->dbutil(); $prefs = array( 'format' => 'zip', 'filename' => $value ); $backup = $this->dbutil->backup($prefs); $backupThisDB = $nepaliDandT . '.zip'; $save = $theDBBDir . '/' . $backupThisDB; $res = write_file($save, $backup); if ($res) $successCnt++; else array_push($errArray, $value); } //echo $successCnt; //echo '
';print_r($errArray); //echo '';print_r($dbArray);exit; $theReturn['successCnt'] = $successCnt; $theReturn['errArray'] = $errArray; return $theReturn; } public function create_database_backup() { $res = $this->database_backup_common(); if (isset($res['successCnt']) && $res['successCnt'] == 4) $this->session->set_flashdata('success', 'The database backup has been created successfully.'); else $this->session->set_flashdata('danger', 'Oops.. Something went wrong in creatingt the database backup.'); redirect(base_url() . 'admin/db-backups'); } public function delete_database_backup($fileName) { $theDBBDir = 'database_backups/' . $fileName; if (file_exists($theDBBDir)) { if (unlink($theDBBDir)) $this->session->set_flashdata('success', 'The database backup has been deleted successfully.'); else $this->session->set_flashdata('danger', 'Oops.. Something went wrong in deleting the database backup.'); } else $this->session->set_flashdata('danger', 'Oops.. The database backup file which you are trying to delete doesnot exist.'); redirect(base_url() . 'admin/db-backups'); } public function database_backups() { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'Admin'); $data['currentURL'] = current_url(); $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); $data['menulist'] = $this->Admin_model->get_adminMenu(); $dbBackupFiles = array(); $theDBBDir = 'database_backups'; if (file_exists($theDBBDir)) { $dbBackupFiles = array_diff(scandir($theDBBDir, 1), array('..', '.')); //echo ''; print_r($dbBackupFiles);exit; } $data['dbBackupFiles'] = $dbBackupFiles; $this->load->view('admin/header', $data); $this->load->view('admin/database-backups', $data); $this->load->view('admin/footer'); } public function batches() { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'Admin'); $data['currentURL'] = current_url(); $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); $data['menulist'] = $this->Admin_model->get_adminMenu(); $data['batch'] = $this->Admin_model->get_batches(); $this->load->view('admin/header', $data); $this->load->view('admin/batch'); $this->load->view('admin/footer'); } public function ajaxCheckIsBatchNameAlreadyExists() { $result = 'Insufficient Data'; if (isset($_POST['batch_name']) && $_POST['batch_name'] != '' && isset($_POST['id']) && $_POST['id'] != '') { $result = $this->Admin_model->check_batch_name_already_exists($_POST['id'], $_POST['batch_name']); } echo $result; exit; } public function add_edit_batch($batchId) { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'Admin'); $sql = "SELECT * FROM batch WHERE id = $batchId"; $batchDetails = $this->Admin_model->get_batches('', $sql);; if (empty($batchDetails) && $batchId != 0) redirect('admin/batches'); $data['currentURL'] = current_url(); $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); $data['menulist'] = $this->Admin_model->get_adminMenu(); $data['bid'] = $batchId; $data['title'] = 'Add New Batch'; if ($batchId > 0) { $data['title'] = 'Update Batch'; $data['batchDetails'] = $batchDetails; } if (count($_POST) > 0) { //echo ''; print_r($_POST);exit; $res = $this->Admin_model->add_edit_batch($batchId, $_POST); $this->session->set_flashdata('success', str_replace('%s', 'new batch', THE_ADD_SUCCESS_MSG)); if ($batchId > 0) $this->session->set_flashdata('success', str_replace('%s', 'batch', THE_UPDATE_SUCCESS_MSG)); redirect(base_url() . 'admin/batches'); } $this->load->view('admin/header', $data); $this->load->view('admin/add-edit-batch'); $this->load->view('admin/footer'); } /**************************************** END of Batches - Nandini Madam************************************/ //classroom start public function classroom() { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); if (!file_exists(APPPATH . 'views/admin/classroom.php')) show_404(); $data['currentURL'] = current_url(); //get logo $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); //get menu list $data['menulist'] = $this->Admin_model->get_adminMenu(); $query = "SELECT cl.*,c.course_name,s.section_name FROM classroom cl LEFT JOIN course c ON cl.course_id =c.id LEFT JOIN section s ON cl.section_id=s.id ORDER BY cl.id ASC"; $data['classroomlist'] = $this->Admin_model->get_query_result($query); $data['title'] = "Classroom List"; $this->load->view('admin/header', $data); $this->load->view('admin/classroom'); $this->load->view('admin/footer'); } public function add_edit_classroom($classroomId) { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); if (!file_exists(APPPATH . 'views/admin/ae_classroom.php')) show_404(); $data['currentURL'] = current_url(); //get logo $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); //get menu list $data['menulist'] = $this->Admin_model->get_adminMenu(); $data['courselist'] = $this->Admin_model->get_general_result_details('course', 'DESC', array('is_active' => 'yes')); $data['id'] = $classroomId; if ($classroomId > 0) { $data['title'] = "Update Classroom "; $data['classroom'] = $this->Admin_model->get_general_row_details('classroom', 'ASC', array('id' => $classroomId)); $sqlQuery = "SELECT cl.*,cs.subject_id as course_subject_ids,cts.teacher_id, cts.is_class_teacher FROM classroom cl JOIN course_subjects cs ON cl.course_id=cs.course_id LEFT JOIN classroom_teacher_subject cts ON cs.subject_id=cts.subject_id AND cl.id=cts.classroom_id WHERE cl.id='$classroomId'"; // $sqlQuery = "SELECT cl.*,cs.subject_id as course_subject_ids FROM classroom cl JOIN // course_subjects cs ON cl.course_id=cs.course_id WHERE cl.id='$classroomId' AND cs.subject_id NOT IN (Select subject_id as subid from classroom_teacher_subject WHERE classroom_id = $classroomId)"; $data['course_subjects'] = $this->Admin_model->get_query_result($sqlQuery); // dd($data['course_subjects']); $data['subjects_teacher'] = $this->Admin_model->get_general_result_details('classroom_teacher_subject', 'ASC', array('classroom_id' => $classroomId)); // $sqlQuery = "SELECT cs.subject_id,cts.teacher_id FROM `classroom` cl LEFT JOIN classroom_teacher_subject cts on cts.classroom_id=cl.id LEFT JOIN course_subjects cs ON cl.course_id=cs.id WHERE cts.classroom_id=$classroomId"; // $data['subjects_teacher'] = $this->Admin_model->get_query_result($sqlQuery); // echo ""; // print_r($data['course_subjects']); // die(); $section_query = "SELECT cl.id ,cs.section_id as sectionId,s.section_name FROM classroom cl LEFT JOIN course_sections cs ON cs.course_id=cl.course_id LEFT JOIN section s ON s.id = cs.section_id WHERE s.is_active='yes' AND cl.id=$classroomId"; $data['sectionlist'] = $this->Admin_model->get_query_result($section_query); } else { $data['title'] = " Add Classroom "; } if (count($_POST) > 0) { // echo ""; // print_r($_POST); // exit; if ($classroomId == 0) { $check_exists = $this->Admin_model->get_general_result_details('classroom', 'ASC', array('course_id' => $_POST['course_id'], 'section_id' => $_POST['section_id'])); if (count($check_exists) > 0) { $this->session->set_flashdata('error_msg', str_replace('%s', 'Course and Section', THE_EXISTS_ERROR_MSG)); redirect(base_url() . 'Admin/classroom'); } else { $rst = $this->Admin_model->add_update_classroom($classroomId, $_POST); if ($rst === 1) $this->session->set_flashdata('success_msg', str_replace('%s', 'new classroom', THE_ADD_SUCCESS_MSG)); else if ($rst === 2) $this->session->set_flashdata('success_msg', str_replace('%s', 'classroom', THE_UPDATE_SUCCESS_MSG)); else $this->session->set_flashdata('error_msg', str_replace('%s', 'new classroom', THE_ADD_ERROR_MSG)); redirect(base_url() . 'Admin/classroom'); } } else { $rst = $this->Admin_model->add_update_classroom($classroomId, $_POST); if ($rst === 1) $this->session->set_flashdata('success_msg', str_replace('%s', 'new classroom', THE_ADD_SUCCESS_MSG)); else if ($rst === 2) $this->session->set_flashdata('success_msg', str_replace('%s', 'classroom', THE_UPDATE_SUCCESS_MSG)); else if ($rst === 3) $this->session->set_flashdata('error_msg', str_replace('%s', 'classroom', THE_UPDATE_NO_CHANGES_MSG)); else $this->session->set_flashdata('error_msg', str_replace('%s', 'new classroom', THE_ADD_ERROR_MSG)); redirect(base_url() . 'Admin/classroom'); } } $this->load->view('admin/header', $data); $this->load->view('admin/ae_classroom'); $this->load->view('admin/footer'); } public function get_courseSubject() { $cid = $_POST['cur_id']; $tid = ''; $data['subname'] = $this->Admin_model->get_coursesubject($cid); $data['teacher'] = $this->Admin_model->get_teacher($tid); echo json_encode($data); } public function addedit_classroom() { $cr_id = $_POST['crid']; $cr_name = $_POST['crname']; $cr_batch_from = $_POST['crbatch_from']; $cr_batch_to = $_POST['crbatch_to']; $cr_course = $_POST['crcourse']; $cr_subject = $_POST['crsubject']; $cr_teacher = $_POST['crteacher']; $data = $this->Admin_model->addedit_classroom($cr_id, $cr_name, $cr_batch_from, $cr_batch_to, $cr_course, $cr_subject, $cr_teacher); print_r($data); } public function classroom_deleted() { if (isset($_SESSION['admin_id'])) { $crid = ''; $data['currentURL'] = current_url(); //get logo $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); //get menu list $data['menulist'] = $this->Admin_model->get_adminMenu(); $data['classroom'] = $this->Admin_model->get_delclassroom($crid); $classroom = $data['classroom']; $prev = ""; $cur = ""; $subject = ''; $classroom_details = array(); $k = 0; for ($i = 0; $i < count($classroom); $i++) { if ($prev == '' && $cur == '') { $prev = $classroom[$i]['classroom_name']; $cur = $classroom[$i]['classroom_name']; $final_details[$k]['classroom_name'] = $classroom[$i]['classroom_name']; $data_teacher = $this->Admin_model->get_teacher($classroom[$i]['teacher_id']); $data_course = $this->Admin_model->get_course($classroom[$i]['course_id']); $final_details[$k]['course_id'] = $classroom[$i]['course_id']; $final_details[$k]['id'] = $classroom[$i]['id']; $final_details[$k]['course_name'] = $data_course['course_name']; $subject = ''; $teacher = ''; $k++; } else { $cur = $classroom[$i]['classroom_name']; } if ($cur != $prev) { //echo $payment_installment; $lastk = $k - 1; if ($i == count($classroom) - 1) { //$installment_details[$lastk]['payment'] = $payment; $data_subject = $this->Admin_model->get_subjects($classroom[$i]['subject_id']); $data_teacher = $this->Admin_model->get_teacher($classroom[$i]['teacher_id']); if ($data_subject['subject_name'] != '' && $data_teacher['teacher_name'] != '') { $final_details[$k]['subject'] = $data_subject['subject_name']; $final_details[$k]['teacher'] = $data_teacher['subject_name']; } } else { $final_details[$lastk]['subject'] = $subject; $final_details[$lastk]['teacher'] = $teacher; } $final_details[$lastk]['subject'] = $subject; $final_details[$lastk]['teacher'] = $teacher; $final_details[$k]['classroom_name'] = $cur; $final_details[$k]['course_id'] = $classroom[$i]['course_id']; $final_details[$k]['id'] = $classroom[$i]['id']; $data_subject = $this->Admin_model->get_subjects($classroom[$i]['subject_id']); $data_course = $this->Admin_model->get_course($classroom[$i]['course_id']); $data_teacher = $this->Admin_model->get_teacher($classroom[$i]['teacher_id']); $final_details[$k]['course_name'] = $data_course['course_name']; if (isset($data_subject['subject_name']) && isset($data_teacher['teacher_name'])) { $subject = $data_subject['subject_name']; $teacher = $data_teacher['teacher_name']; } $k++; } else { if ($i == count($classroom) - 1) { $lastk = $k - 1; $data_subject = $this->Admin_model->get_subjects($classroom[$i]['subject_id']); $data_teacher = $this->Admin_model->get_teacher($classroom[$i]['teacher_id']); if ($data_subject['subject_name'] != '' && $data_teacher['teacher_name'] != '') { $subject .= '
' . $data_subject['subject_name']; $teacher .= '
' . $data_teacher['teacher_name']; } $final_details[$lastk]['subject'] = $subject; $final_details[$lastk]['teacher'] = $teacher; } else { $cur = $classroom[$i]['classroom_name']; // $payment .= '
'.$installment[$i]['payment_installment'].'-'.$installment[$i]['payable_amount']; $data_subject = $this->Admin_model->get_subjects($classroom[$i]['subject_id']); $data_teacher = $this->Admin_model->get_teacher($classroom[$i]['teacher_id']); if (isset($data_subject['subject_name']) && isset($data_teacher['teacher_name'])) { $subject .= '
' . $data_subject['subject_name']; $teacher .= '
' . $data_teacher['teacher_name']; } } } $prev = $cur; } /* echo ""; print_r($final_details); */ $data['final_details'] = $final_details; $this->load->view('admin/header', $data); $this->load->view('admin/classroom-deleted'); $this->load->view('admin/footer'); } } //classroom end //teacher start public function teacher($id = '') { if (isset($_SESSION['admin_id'])) { if ($id == 1) { $this->session->set_flashdata('success_msg', str_replace('%s', 'Teacher', THE_DELETE_SUCCESS_MSG)); } $tid = ''; $data['currentURL'] = current_url(); //get logo $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); //get menu list $data['menulist'] = $this->Admin_model->get_adminMenu(); $teachers = $this->Admin_model->get_teacher($tid); foreach ($teachers as $key => $value) { $filePath = 'assets_admin/images/teacher-profile/' . $value['photo']; if (file_exists($filePath)) { $teachers[$key]['profile_pic'] = base_url() . 'assets_admin/images/teacher-profile/' . $value['photo']; } else { $teachers[$key]['profile_pic'] = base_url() . 'common_assets/No-Image.jpg'; } } $data['teacher'] = $teachers; $hr_db = $this->load->database('hr', TRUE); $hr_roles = $hr_db->query("SELECT * from staff_roles where is_active = 'yes'")->result_array(); $hr_designation = $hr_db->query("SELECT * from hr_designation where is_active = 'yes'")->result_array(); $data['hr_designation'] = $hr_designation; $data['hr_roles'] = $hr_roles; $this->load->view('admin/header', $data); $this->load->view('admin/teacher'); $this->load->view('admin/footer'); } } public function add_edit_teacher($tid = NULL) { if (isset($_SESSION['admin_id'])) { $data['tid'] = $tid; $data['currentURL'] = current_url(); //get logo $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); //get menu list $data['menulist'] = $this->Admin_model->get_adminMenu(); //shankar code start here / $data['subject_list'] = $this->Admin_model->get_subjects(); $data['assign_subjects'] = array('0'); //shankar code end here if ($tid > 0) { $data['detail'] = $this->Admin_model->get_teacher($tid); //shankar code start here $data['subjects'] = $this->Admin_model->get_teacher($tid, 1); $dat = array(); foreach ($data['subjects'] as $key => $val) { array_push($dat, $val['id']); } $data['assign_subjects'] = $dat; //shankar code end here } $hr_db = $this->load->database('hr', TRUE); $hr_roles = $hr_db->query("SELECT * from staff_roles where is_active = 'yes'")->result_array(); $hr_designation = $hr_db->query("SELECT * from hr_designation where is_active = 'yes'")->result_array(); $data['hr_designation'] = $hr_designation; $data['hr_roles'] = $hr_roles; // dd($hr_designation); $this->load->view('admin/header', $data); $this->load->view('admin/add-edit-teacher'); $this->load->view('admin/footer'); } } public function teacher_deleted() { if (isset($_SESSION['admin_id'])) { $sid = ''; $data['currentURL'] = current_url(); //get logo $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); //get menu list $data['menulist'] = $this->Admin_model->get_adminMenu(); $data['teacher'] = $this->Admin_model->get_delteacher(); $this->load->view('admin/header', $data); $this->load->view('admin/teacher-deleted'); $this->load->view('admin/footer'); } } public function addedit_teacher() { $t_id = $_POST['tid']; // $u_name = $_POST['uname']; $t_name = $_POST['tname']; $t_email = $_POST['temail']; $t_mobile = $_POST['tmobile']; $t_address = $_POST['taddress']; $t_password = $_POST['tpassword']; $t_role = $_POST['role']; $t_designation = $_POST['designation']; // dd($_POST); //shankar code start here $c_sub = $_POST['csubject']; //shankar code end here $profile_image = ""; if (!empty($_FILES['file']['name'])) { $config['upload_path'] = 'assets_admin/images/teacher-profile/'; $config['allowed_types'] = 'gif|jpg|jpeg|png|jiff|jfif'; $this->load->library('upload', $config); $this->upload->initialize($config); $this->load->library('upload', $config); $teacher_pic_prev = $this->db->get_where('teacher', array('id' => $t_id))->row()->photo; if ($this->upload->do_upload('file')) { unlink('assets_admin/images/teacher-profile/' . $teacher_pic_prev); $data['upload_data'] = $this->upload->data('file_name'); $profile_image = $data['upload_data']; } else { $profile_image = ''; } } $data_array = array( // 'username' => $u_name, 'teacher_name' => $t_name, 'email' => $t_email, 'mobile' => $t_mobile, 'address' => $t_address, 'role' => $t_role, 'designation' => $t_designation ); $data = $this->Admin_model->addedit_teacher($t_id, $t_password, $profile_image, $data_array, $c_sub); // var_dump($data); if ((int) $data == 1) { $this->session->set_flashdata('success_msg', str_replace('%s', 'New Teacher', THE_ADD_SUCCESS_MSG)); } else if ((int) $data == 2) { $this->session->set_flashdata('success_msg', str_replace('%s', 'Teacher', THE_UPDATE_SUCCESS_MSG)); } else { $this->session->set_flashdata('error_msg', str_replace('%s', '! Teacher Alredy Exist ', THE_ADD_ERROR_MSG)); } redirect(base_url() . 'Admin/teacher'); } //teacher end public function get_application() { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); if (!file_exists(APPPATH . 'views/admin/application.php')) show_404(); $cfid = ''; $cid = ''; $data['currentURL'] = current_url(); //get logo $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); //get menu list $data['menulist'] = $this->Admin_model->get_adminMenu(); $query = "SELECT * FROM course WHERE is_active='yes'"; $data['courses'] = $this->Admin_model->get_query_result($query); if (isset($_POST['filterSubmit']) && $_POST['filterSubmit'] == 'Filter') { $course_id = $this->input->post('course'); $e_date = $this->input->post('end'); $s_date = $this->input->post('start'); $s_date = $s_date ? $s_date : ''; $e_date = $e_date ? $e_date : ''; $course_id = $course_id ? $course_id : ''; $data['new'] = $this->Admin_model->get_application($s_date, $e_date, $course_id); $data['approved'] = $this->Admin_model->get_approved_application($s_date, $e_date, $course_id); $data['rejected'] = $this->Admin_model->get_rejected_application($s_date, $e_date, $course_id); } else { $data['new'] = $this->Admin_model->get_application($start = '', $end = '', $course = ''); $data['approved'] = $this->Admin_model->get_approved_application($start = '', $end = '', $course = ''); $data['rejected'] = $this->Admin_model->get_rejected_application($start = '', $end = '', $course = ''); } $this->load->view('admin/header', $data); $this->load->view('admin/application', $data); $this->load->view('admin/footer'); } public function process_application() { // $baseurl=base_url(); if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); // $id = $this->uri->segment(3); // $res = $this->uri->segment(4); $id = $_POST['id']; $res = $_POST['val']; $result = $this->Admin_model->get_student_details('applications', array('id' => $id)); // $this->load->config('email'); // $from = $this->config->item('smtp_user'); // $this->email->from($from); // $this->email->set_newline("\r\n"); // dd($_POST); if ($res == 0) { $stats = 'Rejected'; $reject_data = array( "studname" => $result['name'], "baseurl" => base_url() ); $reject_data['school_info'] = $this->Admin_model->get_logo_from_setting(); $msg = $this->load->view('email-reject', $reject_data, TRUE); $data = array( 'status' => 'rejected' ); // $this->email->to($result['email']); // $this->email->subject('Application'); // $this->email->message($msg); // echo "Mailer Error: " . $this->email->print_debugger(); // $this->email->send(); // if (sendMail($result['email'], 'Application', $msg)) { $rst = $this->Admin_model->process_application($id, $data); if ($rst == 1) { $this->session->set_flashdata('success', 'Application has been Rejected.'); echo 1; } else { $this->session->set_flashdata('error', 'Application has Not been Rejected.'); echo 0; } // } else { // $this->session->set_flashdata('error', 'The mail is Not Sent'); // echo -1; // // echo "Mailer Error: " . $this->email->print_debugger(); // } } else { $stats = 'Approved'; // $approve_data = array( // "studname" => $result['name'], // "make_payment" => base_url() . "student/admission_payment/" . $id, // "baseurl" => base_url() // ); // $approve_data['school_info'] = $this->Admin_model->get_logo_from_setting(); // $msg = $this->load->view('email-approve', $approve_data, TRUE); $data = array( 'status' => 'approved' ); // // $this->email->to($result['email']); // // $this->email->subject('Application'); // // $this->email->message($msg); // // if (sendMail($result['email'], 'Application', $msg)) { $rst = $this->Admin_model->process_application($id, $data); if ($rst == 1) { $application_info = $this->db->query("SELECT * FROM applications WHERE id = $id")->row_array(); $res = $this->db->query("SELECT count(id) as student_count FROM students ")->row_array(); $exist_data = (isset($res['student_count']) && ($res['student_count'] != 0)) ? $res['student_count'] : 0; $this->db->select_max('id'); $query = $this->db->get('students'); $resid = $query->row_array(); $resid = (isset($resid['id']) && !empty($resid['id'])) ? $resid['id'] : 0; $studentMaxId = $resid + 1; $pid = date('Y', strtotime($this->nepali_current_date)) . '0' . $studentMaxId; $school_info = $this->Admin_model->get_logo_from_setting(); $school_prefix = (!empty($school_info['school_prefix_id'])) ? $school_info['school_prefix_id'] : 'BB'; $studentid = $school_prefix . STUDENT_PREFIX . $pid; $parent_id = $school_prefix . STUDENT_PARENT_PREFIX . $pid; $qr_path = $this->generate_qrcode($studentid); $td = array( 'name' => $application_info['name'], 'course' => $application_info['course'], 'batch_id' => $application_info['batch_id'], 'email' => $application_info['email'], 'studentId' => $studentid, 'password' => $application_info['password'], 'mobile' => $application_info['mobile'], 'gender' => $application_info['gender'], 'dob' => $application_info['dob'], 'father_name' => $application_info['father_name'], 'mother_name' => $application_info['mother_name'], 'emergency_contact_name' => $application_info['emergency_contact_name'], 'emergency_contact_number' => $application_info['emergency_contact_number'], 'parent_username' => $application_info['name'], 'parent_password' => $application_info['name'], 'country' => $application_info['country'], 'state' => $application_info['state'], 'address1' => $application_info['address1'], 'photo' => $application_info['photo'], 'school_certificate' => $application_info['school_certificate'], 'exam_result' => $application_info['exam_result'], 'medical_cerificate' => $application_info['medical_cerificate'], 'registered_on' => $this->nepali_current_date, 'qr_code' => $qr_path, 'parent_username' => $parent_id, 'parent_password' => md5($parent_id), 'parent_pan' => '', ); $insert = $this->db->insert('students', $td); $this->session->set_flashdata('success', 'Application has been approved.'); echo 1; } else { $this->session->set_flashdata('error', 'Application has Not been approved.'); echo 0; } // dd($id); // } else { // $this->session->set_flashdata('error', 'The mail is Not Sent'); // echo -1; // // echo "Mailer Error: " . $this->email->print_debugger(); // } } redirect('/admin/get_application'); } public function application_request($id, $res) { if (isset($_SESSION['admin_id'])) { $result = $this->Admin_model->get_student_details('applications', array('id' => $id)); if ($res == 0) { $stats = 'Rejected'; $reject_data = array( "studname" => $result['name'], "baseurl" => base_url() ); $reject_data['school_info'] = $this->Admin_model->get_logo_from_setting(); $msg = $this->load->view('email-reject', $reject_data, TRUE); $data = array( 'status' => 'rejected' ); } else { $stats = 'Approved'; $approve_data = array( "studname" => $result['name'], "make_payment" => base_url() . "student/admission_payment/" . $id, "baseurl" => base_url() ); $approve_data['school_info'] = $this->Admin_model->get_logo_from_setting(); $msg = $this->load->view('email-approve', $approve_data, TRUE); $data = array( 'status' => 'approved' ); } // $this->load->config('email'); // $from = $this->config->item('smtp_user'); // $this->email->from($from); // $this->email->set_newline("\r\n"); // $this->email->to($result['email']); // $this->email->subject('Application'); // $this->email->message($msg); // echo $resu= $this->email->send(); // echo $this->email->print_debugger(array('headers')); if (sendMail($result['email'], 'Application', $msg)) { $resultt = $this->Admin_model->process_application($id, $data); if ($resultt) { $this->session->set_flashdata('success', 'Application has been ' . $data['status'] . '.'); echo 1; } else { $this->session->set_flashdata('error', 'Application has Not been ' . $data['status'] . '.'); echo 0; } } else { // echo "Mailer Error: " . $this->email->print_debugger(); $this->session->set_flashdata('error', 'The mail is Not Sent'); echo -1; } redirect(base_url() . "admin/get_application"); } } public function view_applicant() { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); $data['currentURL'] = current_url(); //get logo $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); //get menu list $data['menulist'] = $this->Admin_model->get_adminMenu(); $id = $this->uri->segment(3); $data['applicant'] = $this->Admin_model->view_applicant($id); $this->load->view('admin/header', $data); $this->load->view('admin/view_applicant', $data); $this->load->view('admin/footer'); } public function documents_reupload() { $id = $this->input->post('student_id'); $this->load->helper('url'); $this->load->helper(array('form', 'url')); $config['upload_path'] = 'assets_student/application/'; $config['allowed_types'] = 'gif|jpg|png|jpeg|jfif|jiff'; $config['file_name'] = uniqid('img', false); foreach ($_FILES as $key => $value) { if ($value['error'] == 4) { unset($_FILES[$key]); array_values($_FILES); } } if (count($_FILES) == 0) { redirect('/admin/view_student/' . $id); } $this->load->library('upload', $config); $this->upload->initialize($config); $data['currentURL'] = current_url(); $data['id'] = $id; if ($_FILES['photo']['size'] != 0) { if (!$this->upload->do_upload('photo')) { $data['photo'] = ""; } else { $photo = array('upload_data' => $this->upload->data()); $data['photo'] = $photo['upload_data']['file_name']; } } if ($_FILES['school']['size'] != 0) { if (!$this->upload->do_upload('school')) { $data['school_certificate'] = ""; } else { $school = array('upload_data' => $this->upload->data()); $data['school_certificate'] = $school['upload_data']['file_name']; } } if ($_FILES['exam']['size'] != 0) { if (!$this->upload->do_upload('exam')) { $data['exam_result'] = ""; } else { $exam = array('upload_data' => $this->upload->data()); $data['exam_result'] = $exam['upload_data']['file_name']; } } if ($_FILES['medical']['size'] != 0) { if (!$this->upload->do_upload('medical')) { $data['medical_cerificate'] = ""; } else { $medical = array('upload_data' => $this->upload->data()); $data['medical_cerificate'] = $medical['upload_data']['file_name']; } } $app_new_id = $this->Admin_model->update_studentsdoc($data); redirect('/admin/view_student/' . $data['id']); } public function student() { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); $cid = ''; $data['currentURL'] = current_url(); //get logo $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); $data['batchId'] = isset($data['school_info']['batch_id']) ? $data['school_info']['batch_id'] : 0; //get menu list $data['menulist'] = $this->Admin_model->get_adminMenu(); if ($this->input->post('filterSubmit') == "Filter") { // $this->form_validation->set_rules('filter-Sdate', 'Start Date', 'required'); $this->form_validation->set_rules('filter-course', 'Course', 'required'); // $this->form_validation->set_rules('filter-Edate', 'End Date', 'required'); $course_id = $_POST['filter-course'] ? $_POST['filter-course'] : 0; $batch_id = $_POST['filter-batch'] ? $_POST['filter-batch'] : $data['school_info']['batch_id']; // $e_date = isset($_POST['filter-Edate']) ? $_POST['filter-Edate'] : ''; // $s_date = isset($_POST['filter-Sdate']) ? $_POST['filter-Sdate'] : ''; $data['courseId'] = $course_id; $data['batchId'] = $batch_id; // $data['sdate'] = $s_date; // $data['edate'] = $e_date; if (!$this->form_validation->run() == FALSE) { $std_query = "SELECT sb.student_id,sb.batch_id as student_batch,sb.classroom_id,sb.roll_no,sb.registration_no,sb.symbol_no, cl.course_id, cl.section_id, s.*, b.b_name FROM student_batch sb JOIN classroom cl ON cl.id = sb.classroom_id JOIN students s ON s.id = sb.student_id JOIN batch b ON b.id = $batch_id WHERE sb.batch_id = $batch_id AND cl.course_id = $course_id AND s.is_active='yes'"; $students = $this->db->query($std_query)->result_array(); $data['students'] = $students; // dd($students); } else { $std_query = "SELECT sb.student_id,sb.batch_id as student_batch,sb.classroom_id,sb.roll_no,sb.registration_no,sb.symbol_no, cl.course_id, cl.section_id, s.*, b.b_name FROM student_batch sb JOIN classroom cl ON cl.id = sb.classroom_id JOIN students s ON s.id = sb.student_id JOIN batch b ON b.id = $batch_id WHERE sb.batch_id = $batch_id AND s.is_active='yes'"; $students = $this->db->query($std_query)->result_array(); $data['students'] = $students; } } else { // $data['students'] = $this->Admin_model->get_students(); $data['students'] = array(); } foreach ($data['students'] as $key => $value) { $batch_id = $value['batch_id']; $batch_name = '-'; $batch_name_row = $this->db->get_where('batch', array('id' => $batch_id))->row(); if (count((array)$batch_name_row) > 0) { $batch_name = $batch_name_row->b_name; } $data['students'][$key]['batch_name'] = $batch_name; } $data['course'] = $this->db->query("select * from course WHERE is_active='yes'")->result_array(); $data['batch'] = $this->Admin_model->get_batch(); $this->load->view('admin/header', $data); $this->load->view('admin/student-list', $data); $this->load->view('admin/footer'); } //course start public function classroom_student() { if (isset($_SESSION['admin_id'])) { $clsid = $this->uri->segment(3); $cid = $this->uri->segment(4); $data['currentURL'] = current_url(); //get logo $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); //get menu list $data['menulist'] = $this->Admin_model->get_adminMenu(); $data['course_id'] = $cid; $data['class_id'] = $clsid; $data['students'] = $this->Admin_model->get_classstudents($clsid); $this->load->view('admin/header', $data); $this->load->view('admin/classroom-students'); $this->load->view('admin/footer'); } } //course start public function students_notassign() { if (isset($_SESSION['admin_id'])) { $clsid = $this->uri->segment(3); $cid = $this->uri->segment(4); $data['course_id'] = $cid; $data['class_id'] = $clsid; $data['currentURL'] = current_url(); //get logo $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); //get menu list $data['menulist'] = $this->Admin_model->get_adminMenu(); $data['students'] = $this->Admin_model->get_coursestudents($cid); $this->load->view('admin/header', $data); $this->load->view('admin/students-notassigned'); $this->load->view('admin/footer'); } } //course start public function student_class_assignment() { if (isset($_SESSION['admin_id'])) { $cid = $this->uri->segment(3); $data['course_id'] = $cid; $data['currentURL'] = current_url(); //get logo $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); //get menu list $data['menulist'] = $this->Admin_model->get_adminMenu(); $data['students'] = $this->Admin_model->get_coursestudents($cid); $this->load->view('admin/header', $data); $this->load->view('admin/students-assign'); $this->load->view('admin/footer'); } } // public function assign_classroom() // { // if(isset($_SESSION['admin_id'])){ // $classid = $this->uri->segment(3); // $sid = $this->uri->segment(4); // $data['currentURL'] = current_url(); // //get logo // $data['logo'] = $this->Admin_model->get_logo(); // $data['school_info'] = $this->Admin_model->get_logo_from_setting(); // //get menu list // $data['menulist'] = $this->Admin_model->get_adminMenu(); // $data['students'] = $this->Admin_model->assign_clssroom($classid,$sid); // $course = $this->Admin_model->get_studentcourse($sid); // $course_id = $course['course']; // redirect(base_url().'Admin/students_notassign/'.$classid.'/'.$course_id); // } // } public function view_classstudent() { if (isset($_SESSION['admin_id'])) { $data['currentURL'] = current_url(); //get logo $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); //get menu list $data['menulist'] = $this->Admin_model->get_adminMenu(); $id = $this->uri->segment(3); $data['student'] = $this->Admin_model->view_student($id); $this->load->view('admin/header', $data); $this->load->view('admin/view_classstudent', $data); $this->load->view('admin/footer'); } } public function remove_student() { if (isset($_SESSION['admin_id'])) { $data['currentURL'] = current_url(); $id = $_POST['id']; //get logo $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); //get menu list $data['menulist'] = $this->Admin_model->get_adminMenu(); $this->Admin_model->get_removestudent($id); } } // public function testexam(){ // if(isset($_SESSION['admin_id'])){ // $data['currentURL'] = current_url(); // //get logo // $data['logo'] = $this->Admin_model->get_logo(); // $data['school_info'] = $this->Admin_model->get_logo_from_setting(); // //get menu list // $data['menulist'] = $this->Admin_model->get_adminMenu(); // $this->load->view('admin/header',$data); // $this->load->view('admin/exam-add-edit',$data); // $this->load->view('admin/footer'); // } // } // public function listtestexam(){ // if(isset($_SESSION['admin_id'])){ // $data['currentURL'] = current_url(); // //get logo // $data['logo'] = $this->Admin_model->get_logo(); // $data['school_info'] = $this->Admin_model->get_logo_from_setting(); // //get menu list // $data['menulist'] = $this->Admin_model->get_adminMenu(); // $this->load->view('admin/header',$data); // $this->load->view('admin/examlist',$data); // $this->load->view('admin/footer'); // } // } // public function addexam(){ // print_r($_POST); // die(); // } // Section Controllers - Afras - 10/08/2021 public function section() { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); $data['currentURL'] = current_url(); //get logo $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); //get menu list $data['menulist'] = $this->Admin_model->get_adminMenu(); $data['result'] = $this->Admin_model->get_table_info('section'); $this->load->view('admin/header', $data); $this->load->view('admin/section'); $this->load->view('admin/footer'); } public function deleteSection($secId) { $confirm = $this->Admin_model->checkSectioninCourse($secId); if ($confirm == 'failed') { $sql = $this->Admin_model->deleteSection($secId); if ($sql) { $this->session->set_flashdata('success', 'Section has been successfully deleted'); redirect(base_url() . 'admin/sections'); } else { $this->session->set_flashdata('failed', 'Section could not been deleted, Please try again!'); redirect(base_url() . 'admin/sections'); } } else { if ($confirm == 'Course Error') { $session_msg = 'Section is linked with Course, But No Courses Found'; $this->session->set_flashdata('failed', $session_msg); redirect(base_url() . 'admin/sections'); } foreach ($confirm as $key => $value) { if ($key == 0) { $roomNames = $value; } else { $roomNames = ', ' . $value; } } $session_msg = "Delete Failed!
Section connected to " . $roomNames . " Course"; $this->session->set_flashdata('failed', $session_msg); redirect(base_url() . 'admin/sections'); } } public function validateSectionName() { $sectionName = strtolower($this->input->post('value')); $id = $this->input->post('id'); $query = $this->Admin_model->check_value_exists('section', array('LOWER(section_name)' => $sectionName), $id); if ($query) echo 'success'; else echo 'failed'; } public function add_edit_section($sectionId) { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); if (!file_exists(APPPATH . 'views/admin/ae_section.php')) show_404(); $data['currentURL'] = current_url(); //get logo $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); //get menu list $data['menulist'] = $this->Admin_model->get_adminMenu(); $data['id'] = $sectionId; $whereClause = array('id' => $sectionId); $checkSectionExists = $this->Admin_model->get_section_details($whereClause); if (empty($checkSectionExists) && $sectionId != 0) { $this->session->set_flashdata('failed', 'There is no section with selected id'); redirect(base_url() . 'Admin/section'); } if (count($_POST) > 0) { $_POST['section_name'] = $this->convertToCapCase($_POST['section_name']); if ($sectionId > 0) { $_POST['modified'] = $this->nepali_current_date; } else { $_POST['created'] = $this->nepali_current_date; } $sql = $this->Admin_model->add_edit_section($sectionId, $_POST); if (($sql) && $sectionId > 0) { $this->session->set_flashdata('success', 'Section has been updated successfully'); redirect(base_url() . 'Admin/section'); } else if ($sql) { $this->session->set_flashdata('success', 'Section has been addedd successfully'); redirect(base_url() . 'Admin/section'); } else { $this->session->set_flashdata('failed', 'Section updation failed as it is linked with course or classroom'); redirect(base_url() . 'Admin/section'); } } $data['title'] = 'Add New Section'; if ($sectionId > 0) { $data['title'] = 'Edit Section'; $data['result'] = $checkSectionExists; } $this->load->view('admin/header', $data); $this->load->view('admin/ae_section'); $this->load->view('admin/footer'); } function convertToCapCase($str) { $str = strtolower($str); return ucwords($str); } // Section Controllers - Afras - 10/08/2021 // assign syllabus start by shivu function assign_syllabus($id) { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); if (!file_exists(APPPATH . 'views/admin/assign-syllabus.php')) show_404(); $data['currentURL'] = current_url(); //get logo $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); //get menu list $data['menulist'] = $this->Admin_model->get_adminMenu(); $data['title'] = "Assigning Syllabus - "; $data['subject'] = $this->Admin_model->get_general_details('subject', 'ASC', array('id' => $id)); $query = "SELECT c.id as course_id,c.course_name,s.id FROM course_subjects cs LEFT JOIN course c ON cs.course_id=c.id LEFT JOIN subject s ON cs.subject_id=s.id WHERE c.is_active='yes' AND cs.subject_id=$id"; $data['courses'] = $this->Admin_model->get_query_result($query); $qry1 = "SELECT s.id,s.syllabus,c.course_name FROM `subject_syllabus` s JOIN course c ON c.id=s.course_id WHERE s.subject_id=$id"; $data['syllabuslist'] = $this->Admin_model->get_query_result($qry1); $data['action_url'] = base_url() . "admin/ae_assign_syllabus"; $this->load->view('admin/header', $data); $this->load->view('admin/assign-syllabus'); $this->load->view('admin/footer'); } public function ae_assign_syllabus($id) { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); $config['upload_path'] = 'assets_admin/images/syllabus/' . $_POST['course_id'] . '-' . $_POST['subject_id'] . '/'; if (!is_dir($config['upload_path'])) mkdir($config['upload_path'], 0777, TRUE); $config['allowed_types'] = 'pdf|jpeg|jpg|png'; $config['max_size'] = '5120'; $this->load->library('upload', $config); // dd($_FILES); $this->upload->initialize($config); if ($this->upload->do_upload('syllabus')) { $upload_data = 'assets_admin/images/syllabus/' . $_POST['course_id'] . '-' . $_POST['subject_id'] . '/' . $this->upload->data('file_name'); if (count($_POST) > 0) { $result = $this->Admin_model->insert_update_data($_POST, $upload_data); if ($result == 1) $this->session->set_flashdata('successsubject', 'Syllabus has been updated successfully'); else if ($result == 2) $this->session->set_flashdata('successsubject', 'Syllabus has been insert successfully'); else $this->session->set_flashdata('errorsubject', 'Syllabus Insertion Failed'); } else { $this->session->set_flashdata('errorsubject', 'Please Upload valid File'); } } else { $error = array('error' => $this->upload->display_errors()); $this->session->set_flashdata('errorsubject', $error['error']); } redirect(base_url() . 'admin/subject'); } public function checkname() { $namevalue = $_POST['value']; $table = $_POST['tablename']; $dbcolumn = $_POST['column']; $result = $this->Admin_model->get_general_details($table, 'ASC', array($dbcolumn => $namevalue)); if (count($result) > 0) echo 1; else echo 0; } public function checksyllabus() { $subject_id = (isset($_POST['subject_id'])) ? $_POST['subject_id'] : 0; $course_id = (isset($_POST['course_id'])) ? $_POST['course_id'] : 0; $result = $this->Admin_model->get_general_details('subject_syllabus', 'ASC', array('subject_id' => $subject_id, 'course_id' => $course_id)); if (count($result) > 0) echo $result['syllabus']; else echo 0; } // assign syllabus end here // Course Controllers - 12-10-2021 Afras Khan public function course() { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); if (isset($_SESSION['admin_id'])) { $data['currentURL'] = current_url(); //get logo $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); //get menu list $data['menulist'] = $this->Admin_model->get_adminMenu(); // $data['course'] = $this->Admin_model->get_course_details(); $sql = "SELECT c.id, c.course_name, se.section_name, s.subject_name, c.created from course c inner join course_sections ce on c.id = ce.course_id inner join course_subjects cs on c.id = cs.course_id inner join section se on ce.section_id = se.id inner join subject s on s.id = cs.subject_id GROUP BY c.id, se.section_name, s.subject_name ORDER BY c.id "; $data['result'] = $this->Admin_model->get_course_subject_section($sql); $getCourseNames = "Select c.id,c.course_name, cf.amount from course c left join course_fees cf on c.id = cf.course_id AND cf.fees_type = 2 GROUP BY c.course_name, c.id, cf.amount ORDER BY c.id ASC"; $data['course_names'] = $this->Admin_model->get_table_info('course', '', $getCourseNames); // dd($data['course_names']); $this->load->view('admin/header', $data); $this->load->view('admin/course'); $this->load->view('admin/footer'); } } public function add_edit_course($cid = NULL) { if (isset($_SESSION['admin_id'])) { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); if (!file_exists(APPPATH . 'views/admin/ae_section.php')) show_404(); $whereClause = array('id' => $cid); $checkCourseExists = $this->Admin_model->get_course_details($whereClause); if (empty($checkCourseExists) && $cid != 0) { $this->session->set_flashdata('failed', 'There is no course with selected id'); redirect(base_url() . 'Admin/course'); } $sid = ''; $data['id'] = $cid; $data['currentURL'] = current_url(); $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); $data['menulist'] = $this->Admin_model->get_adminMenu(); $data['subject_list'] = $this->Admin_model->get_table_info('subject', array('is_active' => 'yes')); $data['section_list'] = $this->Admin_model->get_table_info('section', array('is_active' => 'yes')); if (count($_POST) > 0) { $course_name = ucwords(strtolower($this->input->post('course_name'))); $status = $this->input->post('is_active'); $subject_section_ids['subject'] = $this->input->post('csubject'); $subject_section_ids['section'] = $this->input->post('csection'); if ($cid == 0) { $insertArr = array( 'course_name' => $course_name, 'is_active' => $status, 'created' => $this->nepali_current_date ); $course_query = $this->Admin_model->add_edit_course($cid, $insertArr, $subject_section_ids); if ($course_query) { $this->session->set_flashdata('success', 'Course has been added successfully '); redirect(base_url() . 'Admin/course'); } else { $this->session->set_flashdata('failed', 'Course could not be added, Please try again!'); redirect(base_url() . 'Admin/course'); } } else if ($cid > 0) { $insertArr = array( 'course_name' => $course_name, 'is_active' => $status, 'modified' => $this->nepali_current_date ); // $check_course_in_classroom = $this->Admin_model->get_table_info_row('classroom', array('course_id' => $cid)); $check_course_in_classroom = $this->db->query("SELECT * FROM classroom WHERE course_id=$cid")->result_array(); if (!empty($check_course_in_classroom)) { // echo ""; // print_r($check_course_in_classroom); foreach ($check_course_in_classroom as $each_cl_value) { $arr1 = explode(' - ', $each_cl_value['classroom_name']); $arr1[0] = $course_name; $class_name = implode(' - ', $arr1); // print_r($class_name); $this->db->set('classroom_name', $class_name) ->where('id', $each_cl_value['id']) ->update('classroom'); } // exit; // $arr = explode(' - ', $check_course_in_classroom['classroom_name']); // $arr[0] = $course_name; // $class_name = implode(' - ', $arr); // $this->db->set('classroom_name', $class_name) // ->where('course_id', $cid) // ->update('classroom'); } // Updating Course table with name and date $course_query = $this->Admin_model->add_edit_course($cid, $insertArr, $subject_section_ids); // Updating Course-Sections with updated section Id's $pre_course_sec = $this->Admin_model->get_course_sections($cid); $preSelectedSections = array_column($pre_course_sec, 'section_id'); // dd($pre_course_sec); $section_flag = ($preSelectedSections == $subject_section_ids['section']); if (!$section_flag) { foreach ($subject_section_ids['section'] as $key => $value) { foreach ($preSelectedSections as $pre_key => $pre_val) { if ($value == $pre_val) { array_splice($preSelectedSections, $pre_key, 1); } } } $update_course_section = $this->Admin_model->update_course_section($subject_section_ids['section'], $preSelectedSections, $cid); if ($update_course_section['status'] == 'failed') { $sectionNameMsg = 'Cannot unselect ' . $update_course_section['section-names']; $sectionNameMsg .= '
As They are connected with : '; $sectionNameMsg .= $update_course_section['class-name'] . ' class'; $this->session->set_flashdata('failed', $sectionNameMsg); redirect(base_url() . 'admin/add_edit_course/' . $cid); } else if (!$update_course_section) { $sectionNameMsg = 'Course could not be updated. Please try again later'; $this->session->set_flashdata('failed', $sectionNameMsg); redirect(base_url() . 'admin/add_edit_course/' . $cid); } } // Updating Course-Subjects with updated section Id's $update_course_subject = $this->Admin_model->update_course_subject($subject_section_ids['subject'], $cid); // Yogesh $offlineExams = $this->Admin_model->get_course_offfline_exam($cid); // echo ''; $update_course_offline_exam = $this->Admin_model->update_course_offline_exam($subject_section_ids['subject'], $offlineExams, $cid); // echo ''; // print_r($update_course_offline_exam); if ($update_course_subject['status'] == 'failed') { $subjectNameMsg = 'Cannot unselect ' . $update_course_subject['subject-names']; $subjectNameMsg .= '
As They are connected with : '; $subjectNameMsg .= $update_course_subject['sub-class-name'] . ' class'; $this->session->set_flashdata('failed', $subjectNameMsg); redirect(base_url() . 'admin/add_edit_course/' . $cid); } else if (!$update_course_subject) { $subjectNameMsg = 'Course could not be updated. Please try again later'; $this->session->set_flashdata('failed', $subjectNameMsg); redirect(base_url() . 'admin/add_edit_course/' . $cid); } $this->session->set_flashdata('success', 'Course has been updated successfully'); redirect(base_url() . 'admin/course/'); exit(); } } // POST IF CONDITION ENDS $data['title'] = 'Add New Course'; if ($cid > 0) { $data['title'] = 'Edit Course 1'; $whereClause = array('id =' => $cid); $data['course_info'] = $this->Admin_model->get_course_details($whereClause); $data['course_section_info'] = $this->Admin_model->get_course_sections($cid); $data['course_subject_info'] = $this->Admin_model->get_course_subjects($cid); // dd($data['course_subject_info']); $selectedSec = array(); $selectedSub = array(); if (!empty($data['course_section_info'])) { foreach ($data['course_section_info'] as $key => $value) { array_push($selectedSec, array( 'id !=' => $value['section_id'] )); } } if (!empty($data['course_subject_info'])) { foreach ($data['course_subject_info'] as $key => $value) { array_push($selectedSub, array( 'id !=' => $value['subject_id'] )); } } $data['difference_section'] = $this->Admin_model->unselected_subject_section($selectedSec, 'section'); $data['difference_subject'] = $this->Admin_model->unselected_subject_section($selectedSub, 'subject'); } $this->load->view('admin/header', $data); $this->load->view('admin/ae_course'); $this->load->view('admin/footer'); } } public function ajax_validate_course_name() { $courseName = strtolower($this->input->post('value')); $id = $this->input->post('id'); $query = $this->Admin_model->check_value_exists('course', array('LOWER(course_name)' => $courseName), $id); if ($query) echo 'success'; else echo 'failed'; } public function delete_course($cid) { $confirm = $this->Admin_model->check_course_in_classroom($cid); if ($confirm == 'failed') { $sql = $this->Admin_model->deleteCourse($cid); if ($sql) { $this->session->set_flashdata('success', 'Course has been successfully deleted'); redirect(base_url() . 'admin/course'); } else { $this->session->set_flashdata('failed', 'Course could not been deleted, Please try again!'); redirect(base_url() . 'admin/course'); } } else { if ($confirm == 'Classroom Error') { $session_msg = 'Course is linked with Classrooms, But No Classrooms Found'; $this->session->set_flashdata('failed', $session_msg); redirect(base_url() . 'admin/course'); } foreach ($confirm as $key => $value) { if ($key == 0) { $roomNames = $value; } else { $roomNames .= ', ' . $value; } } $session_msg = "Delete Failed!
Course connected to " . $roomNames . " Classrooms"; $this->session->set_flashdata('failed', $session_msg); redirect(base_url() . 'admin/course'); } } // Course Controllers Ends - 12-10-2021 Afras Khan // Notification Controllers Starts - 13-10-2021 - Afras Khan public function notifications() { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); if (isset($_SESSION['admin_id'])) { $data['filterArray'] = $this->Admin_model->getDistinctNotifications(); if (isset($_POST['filterSubmit'])) { $filterName = $this->input->post('filter-name'); $filterClass = $this->input->post('filter-classroom'); $filterTeacher = $this->input->post('filter-teacher'); $filterDate = $this->input->post('filter-date'); $sql = $this->Admin_model->getFilterNotifications($filterName, $filterClass, $filterTeacher, $filterDate); if ($sql != 'failed') { $data['notificationInfo'] = $sql; $_SESSION['isFilterActve'] = true; } else { $data['notificationInfo'] = $this->Admin_model->get_notification_details(); } } else { $data['notificationInfo'] = $this->Admin_model->get_notification_details(); } $data['currentURL'] = current_url(); $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); $data['menulist'] = $this->Admin_model->get_adminMenu(); $this->load->view('admin/header', $data); $this->load->view('admin/notifications', $data); $this->load->view('admin/footer'); } } public function notification_form() { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); $queryData = array(); $student = isset($_POST['student_classroom']) ? $this->input->post('student_classroom') : NULL; $teacher = isset($_POST['teacher_name']) ? $this->input->post('teacher_name') : NULL; date_default_timezone_set('Asia/Kolkata'); $queryData = array( 'notification_title' => $this->input->post('notification_title'), 'notification_to' => $this->input->post('notification_to'), 'student_classroom' => $student, 'teacher_id' => $teacher, 'description' => $this->input->post('description'), 'created_at' => $this->nepali_current_date ); $query = $this->Admin_model->insertNotificationData($queryData); if ($query) { if (isset($_SESSION['admin_id'])) { $this->session->set_flashdata('success', str_replace('%s', 'Notification', THE_ADD_SUCCESS_MSG)); redirect(base_url() . 'Admin/notifications'); } else { $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); $this->load->view('admin/header', $data); $this->load->view('admin/login'); $this->load->view('admin/footer'); } } else { // Query Else Condition $data['currentURL'] = current_url(); //get logo $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); //get menu list $data['menulist'] = $this->Admin_model->get_adminMenu(); $this->load->view('admin/header', $data); $this->load->view('admin/send-notifications', $data); $this->load->view('admin/footer'); } } public function ajax_fetch_notifications_data() { $selectedValue = $this->input->post('value'); if ($selectedValue == 'teacher') { // Fetch Teachers name if value is teachers $id = ''; $teachers = $this->Admin_model->get_teacherUnique($id); $jsonVar = json_encode($teachers); echo $jsonVar; } else if ($selectedValue == 'student') { $id = ''; $student = $this->Admin_model->get_classroomUnique($id); $jsonVar = json_encode($student); echo $jsonVar; } else if ($selectedValue == 'both') { $id = ''; $data['student'] = $this->Admin_model->get_classroomUnique($id); $data['teachers'] = $this->Admin_model->get_teacherUnique($id); $jsonVar = json_encode($data); echo $jsonVar; } } public function send_notifications() { if (isset($_SESSION['admin_id'])) { $data['currentURL'] = current_url(); //get logo $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); //get menu list $data['menulist'] = $this->Admin_model->get_adminMenu(); $this->load->view('admin/header', $data); // $this->load->view('admin/send-notifications', $data); $this->load->view('admin/footer'); } } public function delete_notification() { $id = $this->input->get('id'); $sql = $this->Admin_model->deleteNotification($id); if ($sql) { $this->session->set_flashdata('success', str_replace('%s', 'Notification', THE_DELETE_SUCCESS_MSG)); redirect(base_url() . 'Admin/notifications'); } else { $this->session->set_flashdata('failed', str_replace('%s', 'Notification', THE_DELETE_ERROR_MSG)); redirect(base_url() . 'Admin/notifications'); } } public function view_notification($id) { $sql = $this->Admin_model->getSingleNotification($id); if ($sql !== 'failed') { if (isset($_SESSION['admin_id'])) { $data['result'] = $sql; $data['currentURL'] = current_url(); //get logo $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); //get menu list $data['menulist'] = $this->Admin_model->get_adminMenu(); $this->load->view('admin/header', $data); $this->load->view('admin/notif-details', $data); $this->load->view('admin/footer'); } } else { $this->session->set_flashdata('failed', 'Row could not been viewed, Please try again in sometime!'); redirect(base_url() . 'Admin/notifications'); } } public function ajax_validate_notification_name() { $notification_title = strtolower($this->input->post('value')); $id = 0; $query = $this->Admin_model->check_value_exists('notifications', array('LOWER(notification_title)' => $notification_title), $id); if ($query) echo 'success'; else echo 'failed'; } // Notification Controllers Ends - 13-10-2021 - Afras Khan // shankar code Start for exam secton 13-10-21 public function add_exam_view() { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); $data['currentURL'] = current_url(); //get logo $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); //get menu list $data['menulist'] = $this->Admin_model->get_adminMenu(); $data['result'] = $this->Admin_model->get_exam_details(); $this->load->view('admin/header', $data); $this->load->view('admin/exams'); $this->load->view('admin/footer'); } public function delete_added_Exam($examId) { $sql = $this->Admin_model->deleteExam($examId); if ($sql) { $this->session->set_flashdata('success', 'Exam has been successfully deleted'); redirect(base_url() . 'admin/exam-view'); } else { $this->session->set_flashdata('failed', 'Sorry ! Exam already assign to Question Paper'); redirect(base_url() . 'admin/exam-view'); } } public function validateAddedExamName() { $sql = $this->Admin_model->get_exam_details(); $AllNames = array(); foreach ($sql as $key => $value) { array_push($AllNames, array( 'name' => $value['e_name'], 'id' => $value['id'] )); } echo json_encode($AllNames); } public function add_edit_exam($examId) { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); $data['currentURL'] = current_url(); //get logo $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); //get menu list $data['menulist'] = $this->Admin_model->get_adminMenu(); $data['id'] = $examId; $whereClause = array('id' => $examId); $checkSectionExists = $this->Admin_model->get_exam_details($whereClause); if (empty($checkSectionExists) && $examId != 0) { $this->session->set_flashdata('failed', 'There is no exam with selected id'); redirect(base_url() . 'admin/ae_exam'); } if (count($_POST) > 0) { $_POST['e_name'] = $this->convertToCapCase($_POST['e_name']); if ($examId > 0) { $_POST['modified'] = $this->nepali_current_date; } else { $_POST['created'] = $this->nepali_current_date; $_POST['modified'] = $this->nepali_current_date; } $sql = $this->Admin_model->add_edit_exam($examId, $_POST); if (($sql) && $examId > 0) { $this->session->set_flashdata('success', str_replace('%s', 'Exam', THE_UPDATE_SUCCESS_MSG)); // $this->session->set_flashdata('success', 'Section has been updated successfully'); redirect(base_url() . 'admin/exam-view'); } else if ($sql) { $this->session->set_flashdata('success', str_replace('%s', 'new exam', THE_ADD_SUCCESS_MSG)); // $this->session->set_flashdata('success', 'Section has been addedd successfully'); redirect(base_url() . 'admin/exam-view'); } else { $this->session->set_flashdata('danger', str_replace('%s', 'Exam', THE_ADD_ERROR_MSG)); // $this->session->set_flashdata('failed', 'Section updation failed'); redirect(base_url() . 'admin/exam-view'); } } $data['title'] = 'Add New Exam'; if ($examId > 0) { $data['title'] = 'Edit Exam'; $data['result'] = $checkSectionExists; } // echo"";print_r($data);exit(); $this->load->view('admin/header', $data); $this->load->view('admin/ae_exam'); $this->load->view('admin/footer'); } // shankar code end for exam secton 13-10-21 // Admin Role Controller - 16-10-21 Afras Khan public function roles() { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); $data['currentURL'] = current_url(); //get logo $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); //get menu list $data['menulist'] = $this->Admin_model->get_adminMenu(); $sql = "Select a.*, ar.menu_ids from admin_roles a LEFT JOIN admin_role_permissions ar on a.id = ar.admin_role_ids;"; $data['result'] = $this->Admin_model->get_table_info('admin_roles', '', $sql); $this->load->view('admin/header', $data); $this->load->view('admin/roles'); $this->load->view('admin/footer'); } public function add_edit_roles($arId) { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); if (!file_exists(APPPATH . 'views/admin/ae_role.php')) show_404(); $data['currentURL'] = current_url(); //get logo $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); //get menu list $data['menulist'] = $this->Admin_model->get_adminMenu(); $data['id'] = $arId; $whereClause = array('id' => $arId); $checkRoleExists = $this->Admin_model->get_role_details($whereClause); if (empty($checkRoleExists) && $arId != 0) { $this->session->set_flashdata('failed', 'There is no admin role with selected id'); redirect(base_url() . 'admin/roles/list'); } if (count($_POST) > 0) { $_POST['role_name'] = ucwords(strtolower($_POST['role_name'])); $rolePermId = $this->input->post('rolesid'); unset($_POST['rolesid']); if (!empty($rolePermId)) { $rolePermId = implode(',', $rolePermId); } if ($arId > 0) { $_POST['modified'] = date('Y-m-d H:i:s', strtotime($this->nepali_current_date)); $permids = array( 'menu_ids' => $rolePermId ); } $sql = $this->Admin_model->add_edit_role($arId, $_POST); if ($arId == 0) { $permids = array( 'admin_role_ids' => $sql, 'menu_ids' => $rolePermId ); } if (!empty($rolePermId)) { $rolePermQuery = $this->Admin_model->add_edit_role_permissions($arId, $permids); } if (($sql) && ($permids) && $arId > 0) { $this->session->set_flashdata('success', str_replace('%s', 'Role', THE_UPDATE_SUCCESS_MSG)); redirect(base_url() . 'admin/roles/list'); } else if (($sql) && ($permids)) { $this->session->set_flashdata('success', str_replace('%s', 'Role', THE_ADD_SUCCESS_MSG)); redirect(base_url() . 'admin/roles/list'); } else { $this->session->set_flashdata('failed', str_replace('%s', 'Role', THE_UPDATE_ERROR_MSG)); redirect(base_url() . 'admin/roles/list'); } } $data['title'] = 'Add New Role'; if ($arId > 0) { $data['title'] = 'Edit Role'; $data['result'] = $checkRoleExists; $where_permissions = array('admin_role_ids' => $arId); $permissions_info = $this->Admin_model->get_table_info('admin_role_permissions', $where_permissions); $id_string = array_column($permissions_info, 'menu_ids'); $id_string = array_shift($id_string); $data['pre_selected_ids'] = explode(',', $id_string); } $this->load->view('admin/header', $data); $this->load->view('admin/ae_role'); $this->load->view('admin/footer'); } public function ajax_validate_role_name() { $valName = strtolower($this->input->post('value')); $id = $this->input->post('id'); $query = $this->Admin_model->check_value_exists('admin_roles', array('LOWER(role_name)' => $valName), $id); if ($query) echo 'success'; else echo 'failed'; } public function delete_role($roleId) { $checkRoleExists = $this->Admin_model->get_table_info('admin', array('admin_role_ids' => $roleId)); if (empty($checkRoleExists)) { $sql = $this->Admin_model->delete_role($roleId); if ($sql) { $this->session->set_flashdata('success', str_replace('%s', 'Role', THE_DELETE_SUCCESS_MSG)); redirect(base_url() . 'admin/roles/list'); } else { $this->session->set_flashdata('failed', str_replace('%s', 'Role', THE_DELETE_ERROR_MSG)); redirect(base_url() . 'admin/roles/list'); } } else { $session_msg = "Delete Failed!
Role has been assigned to an User"; $this->session->set_flashdata('failed', $session_msg); redirect(base_url() . 'admin/roles/list'); } } // Admin Role Controller Ends - 16-10-21 Afras Khan // User Role Controller - 18-10-21 Afras Khan public function users() { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); $data['currentURL'] = current_url(); //get logo $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); //get menu list $data['menulist'] = $this->Admin_model->get_adminMenu(); $sql = "Select a.*, ar.role_name from admin a LEFT JOIN admin_roles ar on a.admin_role_ids = ar.id"; $data['result'] = $this->Admin_model->get_table_info('admin', '', $sql); $this->load->view('admin/header', $data); $this->load->view('admin/users'); $this->load->view('admin/footer'); } public function add_edit_users($uId) { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); if (!file_exists(APPPATH . 'views/admin/ae_user.php')) show_404(); $data['currentURL'] = current_url(); //get logo $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); //get menu list $data['menulist'] = $this->Admin_model->get_adminMenu(); //get admin roles $data['roles'] = $this->Admin_model->get_table_info("admin_roles", array('status' => 'Active')); $data['id'] = $uId; $sql = "Select a.*, ar.role_name from admin a LEFT JOIN admin_roles ar on a.admin_role_ids = ar.id WHERE a.id = '$uId'"; $adminData = $this->Admin_model->get_table_info('admin', '', $sql); if (empty($adminData) && $uId != 0) { $this->session->set_flashdata('failed', 'There is no user with selected id'); redirect(base_url() . 'Admin/users/list'); } if (count($_POST) > 0) { unset($_POST['confirm_password']); $_POST['password'] = md5($this->input->post('password')); $_POST['admin_name'] = ucwords(strtolower($this->input->post('admin_name'))); if ($uId > 0) { $_POST['modified'] = date('Y-m-d H:i:s', strtotime($this->nepali_current_date)); if ($_POST['replace_password'] != '') { $_POST['password'] = md5($this->input->post('replace_password')); unset($_POST['replace_password']); } else { unset($_POST['replace_password']); } } else $_POST['created'] = date('Y-m-d H:i:s', strtotime($this->nepali_current_date)); $insert_user_query = $this->Admin_model->add_edit_users($uId, $_POST); if (!empty($insert_user_query) && $uId > 0) { $this->session->set_flashdata('success', str_replace('%s', 'User', THE_UPDATE_SUCCESS_MSG)); redirect(base_url() . 'admin/users/list'); } else if (!empty($insert_user_query)) { $this->session->set_flashdata('success', str_replace('%s', 'User', THE_ADD_SUCCESS_MSG)); redirect(base_url() . 'admin/users/list'); } else { if ($id > 0) { $this->session->set_flashdata('failed', str_replace('%s', 'User', THE_UPDATE_ERROR_MSG)); redirect(base_url() . 'admin/users/list'); } else { $this->session->set_flashdata('failed', str_replace('%s', 'User', THE_ADD_ERROR_MSG)); redirect(base_url() . 'admin/users/list'); } } } $data['title'] = 'Add New User'; if ($uId > 0) { $data['title'] = 'Edit User'; $data['result'] = $adminData; $admin_role_id = $data['result'][0]['admin_role_ids']; $roleQuery = "Select id, role_name from admin_roles where id != '$admin_role_id'"; $data['pre_selected_roles'] = $this->Admin_model->get_table_info('admin_roles', '', $roleQuery); } $this->load->view('admin/header', $data); $this->load->view('admin/ae_user'); $this->load->view('admin/footer'); } public function ajax_validate_user_email() { $valName = strtolower($this->input->post('value')); $id = $this->input->post('id'); $query = $this->Admin_model->check_value_exists('admin', array('LOWER(email)' => $valName), $id); if ($query) echo 'success'; else echo 'failed'; } public function delete_user($uId) { if ($uId == $_SESSION['admin_id']) { $session_msg = 'The User you are trying to delete is currently been logged in'; $this->session->set_flashdata('failed', $session_msg); redirect(base_url() . 'admin/users/list'); } $sql = $this->Admin_model->delete_user($uId); if ($sql) { $this->session->set_flashdata('success', str_replace('%s', 'User', THE_DELETE_SUCCESS_MSG)); redirect(base_url() . 'admin/users/list'); } else { $this->session->set_flashdata('failed', str_replace('%s', 'User', THE_DELETE_ERROR_MSG)); redirect(base_url() . 'admin/users/list'); } } // User Role Controller ends - 18-10-21 Afras Khan // function assign_students() // { // if (!isset($_SESSION['admin_id'])) // redirect(base_url() . 'admin'); // if (!file_exists(APPPATH . 'views/admin/assign_students.php')) // show_404(); // $data['currentURL'] = current_url(); // //get logo // $data['logo'] = $this->Admin_model->get_logo(); //$data['school_info'] = $this->Admin_model->get_logo_from_setting(); // $data['title'] = " Assign Students"; // //get menu list // $data['menulist'] = $this->Admin_model->get_adminMenu(); // $data['student_list'] = $this->Admin_model->get_general_result_details('students', 'DESC'); // $this->load->view('admin/header', $data); // $this->load->view('admin/assign_students'); // $this->load->view('admin/footer'); // } // SHANKAR code of Exam Questions creation Start from here 20-10-21 public function list_test_exam() { if (isset($_SESSION['admin_id'])) { $crid = ''; $data['currentURL'] = current_url(); //get logo $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); //get menu list $data['menulist'] = $this->Admin_model->get_adminMenu(); $data['course'] = $this->Admin_model->get_allcourse($crid); if (isset($_POST['filterSubmit'])) { // $filterName = $this->input->post('filter-name'); // $filterClass = $this->input->post('filter-classroom'); $course_id = $this->input->post('filter-course'); $e_date = $this->input->post('filter-Edate'); $s_date = $this->input->post('filter-Sdate'); $data['exam_data'] = $this->Admin_model->get_all_questions($s_date, $e_date, $course_id); } else { $data['exam_data'] = $this->Admin_model->get_all_questions(); } $data['subject'] = $this->Admin_model->get_subjects($crid); $data['teacher'] = $this->Admin_model->get_teacher($crid); $data['current_nepali_date'] = date('Y-m-d', strtotime('+2 day', strtotime($this->nepali_current_date))); $this->load->view('admin/header', $data); $this->load->view('admin/examlist', $data); $this->load->view('admin/footer'); } } public function get_sections_from_classroom($c_id) { $result = $this->Admin_model->get_sections_from_classroom($c_id); // echo json_encode($result); echo json_encode($result); } public function get_subject_teachers($s_id) { // $result = $this->Admin_model->get_s $teacher_query = "SELECT ts.teacher_id ,ts.subject_id, ts.is_active FROM teacher_subjects ts WHERE ts.is_active='yes' AND ts.subject_id=$s_id"; $query2 = "SELECT ts.teacher_id ,ts.subject_id, ts.is_active, t.teacher_name FROM teacher_subjects ts LEFT JOIN teacher t ON t.id=ts.teacher_id WHERE ts.is_active='yes' AND ts.subject_id=$s_id"; $teacherList = $this->Admin_model->get_query_result($query2); echo json_encode($teacherList); } public function get_subjects_from_course($course_id) { $result = $this->Admin_model->get_subjects_from_course($course_id); // echo json_encode($result); echo json_encode($result); } public function get_teacher_from_subject() { // var_dump($_POST); $section_id = json_decode($this->input->post('section_id')); $course_id = json_decode($this->input->post('course_id')); $subject_id = json_decode($this->input->post('subject_id')); // echo $course_id."
".$subject_id."
"; // print_r($section_id); // echo "
"; // echo count($section_id); $list_teachers = array(); for ($i = 0; $i < count($section_id); $i++) { $teachers_name = $this->Admin_model->get_teacher_from_subject($course_id, $section_id[$i], $subject_id); for ($j = 1; $j <= count($teachers_name); $j++) { array_push($list_teachers, array( 'id' => $teachers_name[$j - 1]['id'], 'teacher_name' => $teachers_name[$j - 1]['teacher_name'] )); } } echo json_encode($list_teachers); } public function check_teacher_exam_exist() { // var_dump($_POST); $section_id = json_decode($this->input->post('section_id')); $course_id = json_decode($this->input->post('course_id')); $subject_id = json_decode($this->input->post('subject_id')); $teacher_id = json_decode($this->input->post('teacher_id')); $exam_id = json_decode($this->input->post('exam_id')); $result = $this->db->query('select section_id from questions where exam_id=' . $exam_id . ' and course_id = ' . $course_id . ' and subject_id = ' . $subject_id . ' and YEAR(exam_date) = YEAR(CURDATE()) ')->row_array(); $status = 'no'; if ($result) { for ($i = 0; $i < count($section_id); $i++) { if (in_array($section_id[$i], explode(',', $result['section_id']))) $status = 'yes'; } } echo json_encode($status); } public function add_edit_exam_question() { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); $que_id = $this->uri->segment(3); $view = $this->uri->segment(4); $crid = ''; $data['currentURL'] = current_url(); //get logo $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); //get menu list $data['menulist'] = $this->Admin_model->get_adminMenu(); $data['exam'] = $this->Admin_model->get_exam_name(); $data['course'] = $this->Admin_model->get_course($crid); $data['nepali_curr_date'] = $this->nepali_current_date; if (count($_POST) > 0) { $start_time = $_POST['exam_date'] . ' ' . $_POST['start_time']; $start_time = date('Y-m-d H:i:s', strtotime($start_time)); $end_time = $_POST['exam_date'] . ' ' . $_POST['end_time']; $end_time = date('Y-m-d H:i:s', strtotime($end_time)); if ($que_id > 0) { $data = array( 'exam_id' => $_POST['exam_name'], 'course_id' => $_POST['course_name'], 'section_id' => implode(",", $_POST['section']), 'subject_id' => $_POST['subject_id'], 'teacher_id' => $_POST['teacher'], 'exam_date' => date('Y-m-d', strtotime($_POST['exam_date'])), 'exam_starttime' => $start_time, 'exam_endtime' => $end_time, 'exam_duration' => $_POST['exam_duration'], 'exam_question_format' => $_POST['mrks_array'], 'total_marks' => $_POST['total_marks'], 'passing_marks' => $_POST['passing_marks'], 'published' => 'yes', 'modified' => $this->nepali_current_date ); } else { $data = array( 'exam_id' => $_POST['exam_name'], 'course_id' => $_POST['course_name'], 'section_id' => implode(",", $_POST['section']), 'subject_id' => $_POST['subject_id'], 'teacher_id' => $_POST['teacher'], 'exam_date' => date('Y-m-d', strtotime($_POST['exam_date'])), 'exam_starttime' => $start_time, 'exam_endtime' => $end_time, 'exam_duration' => $_POST['exam_duration'], 'exam_question_format' => $_POST['mrks_array'], 'total_marks' => $_POST['total_marks'], 'passing_marks' => $_POST['passing_marks'], 'published' => 'yes', 'created' => $this->nepali_current_date ); } $sql = $this->Admin_model->add_exam_exam_paper($que_id, $data); if (($sql) && $que_id > 0) { $this->session->set_flashdata('success', str_replace('%s', 'Exam', THE_UPDATE_SUCCESS_MSG)); // $this->session->set_flashdata('success', 'Section has been updated successfully'); redirect(base_url() . 'admin/test-exam-list'); } else if ($sql) { $this->session->set_flashdata('success', str_replace('%s', 'new exam', THE_ADD_SUCCESS_MSG)); // $this->session->set_flashdata('success', 'Section has been addedd successfully'); redirect(base_url() . 'admin/test-exam-list'); } else { $this->session->set_flashdata('danger', str_replace('%s', 'Exam', THE_ADD_ERROR_MSG)); // $this->session->set_flashdata('failed', 'Section updation failed'); redirect(base_url() . 'admin/test-exam-list'); } } $data['title'] = 'Add New Question Paper'; $data['result'] = ''; if ($que_id > 0) { $data['title'] = 'Edit Question Paper'; $data['result'] = $this->Admin_model->get_all_questions($s_date = '', $e_date = '', $crid = '', $que_id); $sections = explode(",", $data['result']['section_id']); $getSection = array(); for ($i = 0; $i < count($sections); $i++) { $whereClause = array('id' => $sections[$i]); $sec = $this->Admin_model->get_section_details($whereClause); array_push($getSection, $sec); } $data['section_data'] = $getSection; } $data['e_id'] = $que_id; $data['view'] = $view; if ($view == 1) { $data['title'] = 'View Exam Questions'; } // echo""; // print_r($data['section_data']); // print_r($data['result']); // exit(); $this->load->view('admin/header', $data); $this->load->view('admin/exam-add-edit', $data); $this->load->view('admin/footer'); } // SHANKAR code of Exam Questions creation End here 20-10-21 // Admin Forgot Password Controller - 23-10-2021 Afras Khan public function ajax_send_password_email() { $email = strtolower($this->input->post('email')); $query = $this->Admin_model->get_table_info('admin', array('email =' => $email)); if (empty($query)) { echo 'failed'; } else { $this->load->helper('common_helper'); $Encoded_email = urlsafe_b64encode($email); $data = array( "admin_name" => $query[0]['admin_name'], "reset_link" => base_url() . "admin/reset-password/" . $Encoded_email, "baseurl" => base_url() ); $msg = $this->load->view('admin/forgot-password-template', $data, TRUE); $this->load->config('email'); $from = $this->config->item('smtp_user'); $this->email->from($from); $this->email->set_newline("\r\n"); $this->email->to($email); $this->email->subject('Reset Password'); $this->email->message($msg); if ($this->email->send()) { echo 'success'; } else { echo 'mailErr'; } } } public function reset_admin_password($email) { $this->load->helper('common_helper'); $decodedEmailId = urlsafe_b64decode($email); if (!file_exists(APPPATH . 'views/admin/forgot-password.php')) show_404(); $data['currentURL'] = current_url(); //get logo $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); $data['id'] = $this->db->get_where('admin', array('email' => $decodedEmailId))->row()->id; $data['encodedKey'] = $email; if (count($_POST) > 0) { $admin_id = $this->input->post('id'); $pwd = md5($this->input->post('password')); $data = array('password' => $pwd); $query = $this->Admin_model->update_admin_password($admin_id, $data); if ($query) { $this->session->set_flashdata('success', str_replace('%s', 'Password', THE_UPDATE_SUCCESS_MSG)); redirect(base_url() . 'admin/'); } else { $this->session->set_flashdata('failed', str_replace('%s', 'Password', THE_UPDATE_FAILED_MSG)); redirect(base_url() . 'admin/reset-password/' . $email); } exit(); } $this->load->view('admin/header', $data); $this->load->view('admin/reset-password'); $this->load->view('admin/footer'); } public function forgot_password() { if (!file_exists(APPPATH . 'views/admin/forgot-password.php')) show_404(); $data['currentURL'] = current_url(); //get logo $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); $this->load->view('admin/header', $data); $this->load->view('admin/forgot-password'); $this->load->view('admin/footer'); } // Admin Forgot Password Controller Ends - 23-10-2021 Afras Khan function assign_students($classroomId) { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); if (!file_exists(APPPATH . 'views/admin/assign_students.php')) show_404(); $data['currentURL'] = current_url(); //get logo $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); $classroom_name = $this->db->get_where('classroom', array('id' => $classroomId))->row()->classroom_name; $data['title'] = "Student List of " . $classroom_name; $data['classroomid'] = $classroomId; $data['back_url'] = urlsafe_b64encode($classroomId . '-qqcksbvlwierhwjerw'); //get menu list $data['menulist'] = $this->Admin_model->get_adminMenu(); // $query = "SELECT sb.id as stud_batch_id, sb.roll_no, sb.batch_id,sb.classroom_id,s.* FROM student_batch sb JOIN students s ON sb.student_id=s.id AND sb.batch_id = s.batch_id WHERE sb.classroom_id=$classroomId"; // $query = "SELECT sb.id as stud_batch_id, sb.roll_no, sb.batch_id,sb.classroom_id,s.* FROM student_batch sb JOIN students s ON sb.student_id=s.id AND sb.batch_id = s.batch_id JOIN classroom cl ON cl.id=sb.classroom_id WHERE cl.course_id=s.course AND sb.classroom_id=$classroomId"; $query = "SELECT sb.id as stud_batch_id, sb.roll_no, sb.batch_id as student_batch, sb.classroom_id, s.* FROM student_batch sb LEFT JOIN students s ON sb.student_id=s.id WHERE sb.batch_id = " . $data['school_info']['batch_id'] . " AND sb.classroom_id=$classroomId ORDER BY sb.roll_no"; // exit; $data['student_list'] = $this->Admin_model->get_query_result($query); $this->load->view('admin/header', $data); $this->load->view('admin/assign_students'); $this->load->view('admin/footer'); } function assign_classroom($classroomId) { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); if (!file_exists(APPPATH . 'views/admin/assign_classroom.php')) show_404(); $classroom_id = (int)str_replace("-qqcksbvlwierhwjerw", '', urlsafe_b64decode($classroomId)); $check_classroom_id = $this->db->query('select * from classroom where id =' . $classroom_id)->row_array(); if (empty($check_classroom_id)) redirect(base_url() . 'admin'); $data['currentURL'] = current_url(); //get logo $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); $data['title'] = "Assign Students"; $data['course_id'] = $check_classroom_id['course_id']; $data['back_url'] = urlsafe_b64encode($check_classroom_id['id'] . '-qqcksbvlwierhwjerw'); //get menu list $data['menulist'] = $this->Admin_model->get_adminMenu(); $data['batch_list'] = $this->Admin_model->get_general_result_details('batch', 'DESC', array('is_active' => 'yes')); $data['course_list'] = $this->Admin_model->get_general_result_details('course', 'DESC', array('is_active' => 'yes', 'id' => $data['course_id'])); $data['student_list'] = $this->Admin_model->get_general_result_details('students', 'DESC', array('assign_status' => 'no', 'is_active' => 'yes', 'course' => $data['course_id'])); $data['section_list'] = $this->Admin_model->get_general_result_details('section', 'DESC', array('is_active' => 'yes')); $this->load->view('admin/header', $data); $this->load->view('admin/assign_classroom'); $this->load->view('admin/footer'); } public function getsectionsbyCourse() { $result2 = array(); $courseId = $_REQUEST['courseid']; $query = "SELECT section_id FROM course_sections WHERE course_id=$courseId"; // SELECT s.section_name,s.id as section_id FROM course_sections cs LEFT JOIN section s ON s.id=cs.section_id WHERE cs.course_id =$courseId ORDER BY s.id DESC $result = $this->Admin_model->get_query_result($query); if (count($result) > 0) { foreach ($result as $value) { $sectionId = (!empty($value['section_id'])) ? $value['section_id'] : 0; $query2 = "SELECT s.section_name,cl.section_id as section_id FROM classroom cl LEFT JOIN section s ON s.id=cl.section_id WHERE cl.course_id =$courseId AND cl.section_id=$sectionId ORDER BY s.id DESC"; $rst = $this->Admin_model->get_query_row($query2); if ($rst != '') { $result2[] = $rst; } } if (count($result2) > 0) { echo json_encode($result2); } else { $result2[] = array('section_id' => null, 'section_name' => 'No sections Found'); echo json_encode($result2); } } else { $result[] = array('section_id' => null, 'section_name' => 'No sections Found'); echo json_encode($result); } } public function ajaxstudentfilters() { extract($_POST); // Array ( [batch_filter] => 2 [course_filter] => 1 [section_filter] => ) $where = array(); if (isset($_POST['batch_filter']) && ($_POST['batch_filter'] != '')) { $where['batch_id'] = $batch_filter; } if (isset($_POST['course_filter']) && ($_POST['course_filter'] != '')) { $where['course'] = $course_filter; } $where['assign_status'] = 'no'; $data['student_list'] = $this->Admin_model->get_general_result_details('students', 'DESC', $where); // echo $this->db->last_query(); $unassigned_list = $this->load->view('admin/view-unassigned-students', $data, TRUE); echo $unassigned_list; } public function assignedtoclassroom() { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); if (!file_exists(APPPATH . 'views/admin/assign_classroom.php')) show_404(); // print_r($this->input->post()); if ($this->input->post('assignto') == 'assigntoclassroom') { $this->form_validation->set_rules('course_filter', 'Course', 'required'); $this->form_validation->set_rules('section_filter', 'Section', 'required'); $this->form_validation->set_rules('batch_filter', 'Batch', 'required'); $this->form_validation->set_rules('student_list[]', 'Student List', 'required'); // $this->form_validation->set_message('check', 'Please Select Students '); $check_classroom_id = $this->db->query('select * from classroom where course_id =' . $this->input->post('course_filter'))->row_array(); $back_url = urlsafe_b64encode($check_classroom_id['id'] . '-qqcksbvlwierhwjerw'); if ($this->form_validation->run() == FALSE) { $this->assign_classroom($back_url); } else { $failed = array(); $get_class_id = ''; if (count($this->input->post()) > 0) { $studentids = $this->input->post('student_list'); $batchId = $this->input->post('batch_filter'); $courseId = $this->input->post('course_filter'); $sectionId = $this->input->post('section_filter'); $courseName = $this->db->get_where('course', array('id' => $courseId))->row()->course_name; $sectionName = $this->db->get_where('section', array('id' => $sectionId))->row()->section_name; $classrom = $this->Admin_model->get_general_row_details('classroom', 'DESC', array('course_id' => $courseId, 'section_id' => $sectionId, 'is_active' => 'yes')); if ($classrom != '') { $get_class_id = $classrom['id']; foreach ($studentids as $stud_id) { $insertData = array( 'student_id' => $stud_id, 'batch_id' => $batchId, 'classroom_id' => $classrom['id'] ); $results = $this->Admin_model->get_general_row_details('student_batch', 'DESC', array('student_id' => $stud_id, 'batch_id' => $batchId, 'classroom_id' => $classrom['id'])); if ($results != '') { $studName = $this->db->get_where('students', array('id' => $results['student_id']))->row()->name; $failed[] = $studName; } else { $roll_no = $this->db->query('select roll_no from student_batch where batch_id=' . $batchId . ' and classroom_id =' . $classrom['id'] . ' and is_active ="yes" order by roll_no DESC')->row_array(); if (!empty($roll_no)) { $insertData['roll_no'] = $roll_no['roll_no'] + 1; } else { $insertData['roll_no'] = 1; } $last_id = $this->Admin_model->insert_assign_classroom($insertData); if ($last_id > 0) { $this->db->where(array('id' => $stud_id, 'is_active' => 'yes', 'assign_status' => 'no')); $this->db->update('students', array('assign_status' => 'yes', 'modified' => $this->nepali_current_date)); } $this->session->set_flashdata('success_msg', "The Students are Successfully Assigned to Classroom"); } } $faillist = implode(',', $failed); if (!empty($faillist)) { $this->session->set_flashdata('error_msg', str_replace('%s', $faillist, CLASSROOM_ALREADY_ASSIGNED_MSG)); } } else { $this->session->set_flashdata('error_msg', str_replace('%s', $courseName . ' and ' . $sectionName, CLASSROOM_NOTEXISTS_MSG)); } } if (empty($get_class_id)) redirect('admin/dashboard'); else redirect('admin/assign-students/' . $get_class_id); } } } public function remove_classroom_student($studId, $batchId, $classroomID) { $condition = array( 'student_id' => $studId, 'batch_id' => $batchId, 'classroom_id' => $classroomID ); $result = $this->Admin_model->delete_row('student_batch', $condition); if ($result) { $this->db->set('assign_status', 'no'); $this->db->where(array('id' => $studId, 'batch_id' => $batchId, 'assign_status' => 'yes')); $rst = $this->db->update('students'); if ($rst) $this->session->set_flashdata('success_msg', str_replace('%s', 'Student', THE_DELETE_SUCCESS_MSG)); else $this->session->set_flashdata('error_msg', str_replace('%s', 'Student', THE_DELETE_ERROR_MSG)); } else { $this->session->set_flashdata('error_msg', str_replace('%s', 'Student', THE_DELETE_ERROR_MSG)); } redirect('admin/assign-students/' . $classroomID); } public function getSubjectsByCourse() { $courseID = $_REQUEST['course_id']; $subject_query = "SELECT s.subject_name,s.id FROM course_subjects cs LEFT JOIN subject s ON s.id=cs.subject_id WHERE cs.course_id=$courseID"; $result['subjects'] = $this->Admin_model->get_query_result($subject_query); echo json_encode($result); } public function getTeacherbysubjects() { $subjectId = $_REQUEST['subject_id']; $teaher_query = "SELECT t.id as teach_id,t.teacher_name FROM teacher_subjects ts LEFT JOIN teacher t ON t.id=ts.teacher_id WHERE ts.subject_id=$subjectId"; $data['teachers'] = $this->Admin_model->get_query_result($teaher_query); echo json_encode($data); } //shankar code for teacher view 27-10-2021 public function view_teacher($tid) { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); $data['currentURL'] = current_url(); //get logo $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); //get menu list $data['menulist'] = $this->Admin_model->get_adminMenu(); $data['teacher_info'] = $this->Admin_model->get_teacher($tid); $data['teacher_onlinesession'] = array(); $counter = 0; (!empty($data['monday']) && isset($data['monday'])) ? ($counter > count($data['monday'])) ? '' : $counter = count($data['monday']) : ''; (!empty($data['tuesday']) && isset($data['tuesday'])) ? ($counter > count($data['tuesday'])) ? '' : $counter = count($data['tuesday']) : ''; (!empty($data['wednesday']) && isset($data['wednesday'])) ? ($counter > count($data['wednesday'])) ? '' : $counter = count($data['wednesday']) : ''; (!empty($data['thursday']) && isset($data['thursday'])) ? ($counter > count($data['thursday'])) ? '' : $counter = count($data['thursday']) : ''; (!empty($data['friday']) && isset($data['friday'])) ? ($counter > count($data['friday'])) ? '' : $counter = count($data['friday']) : ''; (!empty($data['saturday']) && isset($data['saturday'])) ? ($counter > count($data['saturday'])) ? '' : $counter = count($data['saturday']) : ''; (!empty($data['sunday']) && isset($data['sunday'])) ? ($counter > count($data['sunday'])) ? '' : $counter = count($data['sunday']) : ''; $data['count'] = $counter; $data['course_subject'] = $this->Admin_model->get_course_subjects_teacher($tid, 1); foreach ($data['course_subject'] as $key) { $data['all_co_sub'] = $this->Admin_model->get_course_subjects_teacher($tid, $key['classroom_id']); } $this->load->view('admin/header', $data); $this->load->view('admin/view-teacher'); $this->load->view('admin/footer'); } //shankar code for teacher view 27-10-2021 // Fee Course - 10-11-2021 Afras Khan public function fee_course() { // dd($_POST); if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); if (!file_exists(APPPATH . 'views/admin/fee-course.php')) show_404(); $data['currentURL'] = current_url(); $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); $data['menulist'] = $this->Admin_model->get_adminMenu(); $data['current_batch'] = $data['school_info']['batch_id']; $data['selected_batch'] = $data['current_batch']; if ($this->input->post('filterSubmit') == "Filter") { $this->form_validation->set_rules('filter-batch', 'Batch', 'required'); $this->form_validation->set_rules('filter-course', 'Course', 'required'); // $this->form_validation->set_rules('filter-feeType', 'Fees Name', 'required'); $course_id = (isset($_POST['filter-course']) && !empty($_POST['filter-course'])) ? $_POST['filter-course'] : 0; $batch = (isset($_POST['filter-batch']) && !empty($_POST['filter-batch'])) ? $_POST['filter-batch'] : 0; $feeType = (isset($_POST['filter-feeType']) && !empty($_POST['filter-feeType'])) ? $_POST['filter-feeType'] : 0; $feeName = (isset($_POST['filter-feesName']) && !empty($_POST['filter-feesName'])) ? $_POST['filter-feesName'] : ''; $data['courseId'] = $course_id; $data['bacth_id'] = $batch; $data['feeType_id'] = $feeType; $data['feeName'] = $feeName; $data['selected_batch'] = $data['bacth_id']; if (!$this->form_validation->run() == FALSE) { $where = ''; if ($feeType > 0) $where .= " AND ft.id = $feeType"; if (strlen($feeName) > 0) $where .= " AND cf.fee_values like '%$feeName%'"; $sql = "SELECT b.b_name as batch, c.course_name as course, ft.feetype_name as feetype, cf.* FROM course_fees cf inner join batch b on cf.batch_id = b.id INNER JOIN course c on cf.course_id = c.id INNER JOIN fee_types ft on cf.fees_type = ft.id WHERE b.id = $batch AND c.id = $course_id $where ORDER BY cf.id ASC"; $data['course_fees'] = $this->Admin_model->get_table_info('course_fees', '', $sql); } } if (!empty($data['course_fees']) && isset($data['course_fees'])) { foreach ($data['course_fees'] as $key => $value) { $data['course_fees'][$key]['due_date'] = date('Y-m-d', strtotime($value['due_date'])); } } $data['course'] = $this->db->query("select * from course WHERE is_active='yes'")->result_array(); $data['batch'] = $this->Admin_model->get_batch(); $data['fee_types'] = $this->db->query("select * from fee_types WHERE is_active='yes'")->result_array(); $this->load->view('admin/header', $data); $this->load->view('admin/fee-course.php'); $this->load->view('admin/footer'); } public function fee_types() { // dd($_POST); if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); if (!file_exists(APPPATH . 'views/admin/fee-types.php')) show_404(); $data['currentURL'] = current_url(); $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); $data['menulist'] = $this->Admin_model->get_adminMenu(); $data['current_batch'] = $data['school_info']['batch_id']; $data['selected_batch'] = $data['current_batch']; $data['title'] = 'Fee Types'; $data['fee_types'] = $this->db->query("select * from fee_types")->result_array(); if (ACCOUNTING) : foreach ($data['fee_types'] as $feeKey => &$fee) { $fee['default_account'] = $this->accounting->fetchMappedAccount('fee_types', $fee['id']) ?? "Not Set"; //HERE FETCH DEFAULT ACCOUNT FROM MAPPING TABLE } endif; if ($_POST > 0) { if (isset($_POST['addFeeType']) && ($_POST['addFeeType'] == 'Add')) { $feeTitle = $_POST['title']; $isUnique = $this->Admin_model->get_unique_name_main_db('feetype_name', $feeTitle, 'fee_types'); if ($isUnique) { $in_data['feetype_name'] = $feeTitle; $in_data['is_active'] = 'yes'; $in_data['created'] = $this->nepali_current_date; $in_data['modified'] = $this->nepali_current_date; $this->db->insert('fee_types', $in_data); $feetype_id = $this->db->insert_id(); if (ACCOUNTING) : $mappedAccountID = $_POST['account_id']; $this->accounting->updateFeeTypeAccountMapping($feetype_id, $mappedAccountID); endif; $this->session->set_flashdata('success', str_replace('%s', 'Fee Type', 'New fee type has been added.')); } else { $this->session->set_flashdata('danger', str_replace('%s', 'Fee Type', 'Fee name already exist.')); } redirect(base_url() . 'admin/fee-types'); } else if (isset($_POST['updateFeeType']) && ($_POST['updateFeeType'] == 'Update')) { // dd($_POST); $feeId = $_POST['feeId']; $feeTitle = $_POST['title']; $isUnique = $this->Admin_model->update_unique_name_main_db('feetype_name', $feeTitle, 'fee_types', $feeId); if ($isUnique) { $up_data['feetype_name'] = $feeTitle; $up_data['is_active'] = $_POST['is_active']; $up_data['modified'] = $this->nepali_current_date; $this->db->where('id', $feeId); $this->db->update('fee_types', $up_data); $feetype_id = $feeId; if (ACCOUNTING) : $mappedAccountID = $_POST['account_id']; $this->accounting->updateFeeTypeAccountMapping($feetype_id, $mappedAccountID); endif; $this->session->set_flashdata('success', str_replace('%s', 'Fee Type', 'Fee details has been updated successfully.')); } else { $this->session->set_flashdata('danger', str_replace('%s', 'Fee Type', 'Fee name already exist.')); } redirect(base_url() . 'admin/fee-types'); } } $this->load->view('admin/header', $data); $this->load->view('admin/fee-types.php'); $this->load->view('admin/footer'); } public function expense_types() { // dd($_POST); if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); if (!file_exists(APPPATH . 'views/admin/expense-types.php')) show_404(); $data['currentURL'] = current_url(); $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); $data['menulist'] = $this->Admin_model->get_adminMenu(); $data['current_batch'] = $data['school_info']['batch_id']; $data['selected_batch'] = $data['current_batch']; $data['title'] = 'Expense Types'; $data['expense_types'] = $this->db->query("select * from expense_types")->result_array(); if (ACCOUNTING) : foreach ($data['expense_types'] as $feeKey => &$fee) { $fee['default_account'] = $this->accounting->fetchMappedAccount('expense_types', $fee['id']) ?? "Not Set"; //HERE FETCH DEFAULT ACCOUNT FROM MAPPING TABLE } endif; if ($_POST > 0) { if (isset($_POST['addExpenseType']) && ($_POST['addExpenseType'] == 'Add')) { $feeTitle = $_POST['title']; $isUnique = $this->Admin_model->get_unique_name_main_db('name', $feeTitle, 'expense_types'); if ($isUnique) { $in_data['name'] = $feeTitle; $in_data['status'] = 'yes'; $in_data['created_on'] = $this->nepali_current_date; $in_data['modified_on'] = $this->nepali_current_date; $this->db->insert('expense_types', $in_data); $feetype_id = $this->db->insert_id(); if (ACCOUNTING) : $mappedAccountID = $_POST['account_id']; $this->accounting->updateExpenseTypeAccountMapping($feetype_id, $mappedAccountID); endif; $this->session->set_flashdata('success', str_replace('%s', 'Expense Type', 'New expense type has been added.')); } else { $this->session->set_flashdata('danger', str_replace('%s', 'Expense Type', 'Expense name already exist.')); } redirect(base_url() . 'admin/expense-types'); } else if (isset($_POST['updateExpenseType']) && ($_POST['updateExpenseType'] == 'Update')) { // dd($_POST); $expenseId = $_POST['expenseId']; $feeTitle = $_POST['title']; $isUnique = $this->Admin_model->update_unique_name_main_db('name', $feeTitle, 'expense_types', $expenseId); if ($isUnique) { $up_data['name'] = $feeTitle; $up_data['status'] = $_POST['is_active']; $up_data['modified_on'] = $this->nepali_current_date; $this->db->where('id', $expenseId); $this->db->update('expense_types', $up_data); $expensetype_id = $expenseId; if (ACCOUNTING) : $mappedAccountID = $_POST['account_id']; $this->accounting->updateExpenseTypeAccountMapping($expensetype_id, $mappedAccountID); endif; $this->session->set_flashdata('success', str_replace('%s', 'Expense Type', 'Expense details has been updated successfully.')); } else { $this->session->set_flashdata('danger', str_replace('%s', 'Expense Type', 'Expense name already exist.')); } redirect(base_url() . 'admin/expense-types'); } } $this->load->view('admin/header', $data); $this->load->view('admin/expense-types.php'); $this->load->view('admin/footer'); } // public function add_edit_fee_course($feesId) // { // // dd($_POST); // if (!isset($_SESSION['admin_id'])) // redirect(base_url() . 'admin'); // if (!file_exists(APPPATH . 'views/admin/ae_fee_course.php')) // show_404(); // $checkIfExists = $this->Admin_model->get_table_info('course_fees', array('id' => $feesId)); // if (empty($checkIfExists) && $feesId != 0) { // $this->session->set_flashdata('failed', 'There is no fees with selected id'); // redirect(base_url() . 'admin/fee-course'); // } // $data['fees_id'] = $feesId; // $data['school_info'] = $this->Admin_model->get_logo_from_setting(); // $batches = $this->Admin_model->get_table_info('batch', array('is_active' => 'yes')); // $data['batches'] = $batches; // $data['current_batch'] = $data['school_info']['batch_id']; // // dd($data['current_batch']); // $data['payment_types'] = $this->Admin_model->get_table_info('payment_types', '', '', 'ASC'); // $courses = $this->Admin_model->get_table_info('course', '', '', 'ASC'); // $data['courses'] = $courses; // $data['feeTypes'] = $this->Admin_model->get_table_info('fee_types', array('is_active' => 'yes'), '', 'ASC'); // if (count($_POST) > 0) { // // dd($_POST); // $grouped = isset($_POST['grouped']) ? 'yes' : 'no'; // foreach ($_POST as $key => $value) { // if ($key == 'englishdate' || $key == 'nepalidate') { // foreach ($value as $key2 => $value2) { // if ($value2 == '') { // unset($_POST[$key][$key2]); // } // } // } // if (!$_POST[$key]) { // unset($_POST[$key]); // } // } // // dd($_POST); // $batch_id = $this->input->post('batch_id'); // $course_id = $this->input->post('course_id'); // $hostel_plan = NULL; // if (isset($_POST['hostel_plan_id'])) { // $hostel_plan = $this->input->post('hostel_plan_id'); // } // $route_id = NULL; // if (isset($_POST['new_route_id'])) { // $route_id = $this->input->post('new_route_id'); // } // if (array_key_exists('common_bs_due_date', $_POST)) { // $due_date = $this->input->post('common_bs_due_date'); // } else if (array_key_exists('common_ad_due_date', $_POST)) { // $due_date = $this->input->post('common_ad_due_date'); // } else { // if (array_key_exists('bsdate', $_POST)) { // $due_date = $_POST['bsdate'][0]; // } // if (array_key_exists('englishdate', $_POST)) { // $due_date = $_POST['englishdate'][0]; // } // } // $due_date = date('Y-m-d H:i:s', strtotime($due_date)); // $fees_type = $this->input->post('feetype'); // $fees_name = array(); // for ($i = 0; $i < count($_POST['feename']); $i++) { // $fees_name[$i]['name'] = $_POST['feename'][$i]; // $fees_name[$i]['amount'] = $_POST['feeamount'][$i]; // } // $fee_values = implode(',', $_POST['feename']); // $fees_name = json_encode($fees_name); // $amount = 0; // foreach ($_POST['feeamount'] as $key => $value) { // $amount += $value; // } // $nowDate = $this->nepali_current_date; // // Adding Data Inside POST // if ($feesId == 0) { // $insertFlag = false; // foreach ($course_id as $key => $value) { // $allData = array(); // if ($fees_type == 8) { // For Monthly Fee // foreach ($_POST['feename'] as $n => $e) { // $fees_name_inside = array(); // $fees_name_inside[0]['name'] = $e; // $fees_name_inside[0]['amount'] = $_POST['feeamount'][$n]; // $fees_name_inside = json_encode($fees_name_inside); // $allData[] = array( // 'batch_id' => $batch_id, // 'course_id' => $value, // 'fees_type' => $fees_type, // 'fees_name' => $fees_name_inside, // 'amount' => $_POST['feeamount'][$n], // 'due_date' => date('Y-m-d H:i:s', strtotime($_POST['bsdate'][$n])), // 'grouped' => $grouped, // 'fee_values' => $_POST['feename'][$n], // 'hostel_plan_id' => $hostel_plan, // 'route_id' => $route_id, // 'created' => $nowDate // ); // } // } else if ($fees_type == 4) { // For Transport Fee // foreach ($_POST['feename'] as $n => $e) { // $fees_name_route_inside = array(); // $fees_name_route_inside[0]['name'] = $e; // $fees_name_route_inside[0]['amount'] = $_POST['feeamount'][$n]; // $fees_name_route_inside = json_encode($fees_name_route_inside); // $allData[] = array( // 'batch_id' => $batch_id, // 'course_id' => $value, // 'fees_type' => $fees_type, // 'fees_name' => $fees_name_route_inside, // 'amount' => $_POST['feeamount'][$n], // 'due_date' => date('Y-m-d H:i:s', strtotime($_POST['bsdate'][$n])), // 'grouped' => $grouped, // 'fee_values' => $_POST['feename'][$n], // 'hostel_plan_id' => $hostel_plan, // 'route_id' => $route_id, // 'created' => $nowDate // ); // // original code End HERE // } // } else { // $allData[] = array( // 'batch_id' => $batch_id, // 'course_id' => $value, // 'fees_type' => $fees_type, // 'fees_name' => $fees_name, // 'amount' => $amount, // 'due_date' => $due_date, // 'grouped' => $grouped, // 'fee_values' => $fee_values, // 'hostel_plan_id' => $hostel_plan, // 'route_id' => $route_id, // 'created' => $nowDate // ); // } // $insertQuery = $this->db->insert_batch('course_fees', $allData); // if ($insertQuery) { // $insertFlag = true; // } else { // $insertFlag = false; // } // } // if ($insertFlag) { // $this->session->set_flashdata('success', str_replace('%s', 'Fees', THE_ADD_SUCCESS_MSG)); // redirect(base_url() . 'admin/fee-course'); // } else { // $this->session->set_flashdata('failed', str_replace('%s', 'Fees', THE_ADD_ERROR_MSG)); // redirect(base_url() . 'admin/fee-course'); // } // } // if ($feesId > 0) { // Updating Data Inside POST // $pay['course_fee_id'] = $feesId; // $check_payment = $this->db->get_where('students_online_payments', $pay)->row(); // if (!empty($check_payment)) { // $this->session->set_flashdata('failed', 'Fees cannot be modified as a payment has already been made'); // redirect(base_url() . 'admin/fee-course'); // } // $allData = array( // 'batch_id' => $batch_id, // 'course_id' => $course_id, // 'fees_type' => $fees_type, // 'fees_name' => $fees_name, // 'amount' => $amount, // 'due_date' => $due_date, // 'grouped' => $grouped, // 'fee_values' => $fee_values, // 'hostel_plan_id' => $hostel_plan, // 'route_id' => $route_id, // 'modified' => $nowDate // ); // // dd($allData); // $checkIfFeeRelated = $this->Admin_model->get_table_info('students_online_payments', array('course_fee_id' => $feesId)); // if (empty($checkIfFeeRelated)) { // $updateQuery = $this->Admin_model->add_edit_fee_course($feesId, $allData); // if ($updateQuery) { // $this->session->set_flashdata('success', str_replace('%s', 'Fees', THE_UPDATE_SUCCESS_MSG)); // redirect(base_url() . 'admin/fee-course'); // } else { // $this->session->set_flashdata('failed', str_replace('%s', 'Fees', THE_UPDATE_ERROR_MSG)); // redirect(base_url() . 'admin/ae-fee-course/' . $feesId); // } // } else { // $this->session->set_flashdata('failed', 'This Fee cannot be edited as installments have already been created'); // redirect(base_url() . 'admin/fee-course'); // } // } // } // if ($feesId > 0) { // Display to AE_EDIT PAGE // $Feesql = "SELECT b.b_name as batch, c.course_name as course,ft.id as fee_id, ft.feetype_name as feetype, cf.* FROM course_fees cf inner join batch b on cf.batch_id = b.id INNER JOIN course c on cf.course_id = c.id INNER JOIN fee_types ft on cf.fees_type = ft.id WHERE cf.id = '$feesId' ORDER BY cf.id DESC"; // $checkCourseFee = $this->Admin_model->get_table_info('course_fees', '', $Feesql); // if (empty($checkCourseFee) && $feesId != 0) { // $this->session->set_flashdata('failed', 'There is no course fee with selected id'); // redirect(base_url() . 'admin/fee-course'); // } // // start from here by shivuuu // if ($checkCourseFee[0]['fees_type'] == 4) { // $transport_db = $this->load->database('erisnClassroom_bts', TRUE); // $batch_routes = $transport_db->query('SELECT * from bt_batch_routes where batch_id = ' . $checkCourseFee[0]['batch_id'])->row_array(); // if (!empty($batch_routes)) { // $route_ids = explode(',', $batch_routes['route_ids']); // $whereClause = ''; // foreach ($route_ids as $bkey => $bvalue) { // if ($bkey == 0) { // $whereClause .= "id = '$bvalue'"; // } else { // $whereClause .= " or id = '$bvalue'"; // } // } // $data['edit_route_list'] = $transport_db->query('SELECT * from bt_routes where ' . $whereClause)->result_array(); // } // } // // end Here by shivakumar // $data['course_fees'] = $checkCourseFee; // // dd($data['course_fees']); // foreach ($data['course_fees'] as $key => $value) { // $data['course_fees'][$key]['due_date'] = date('Y-m-d', strtotime($value['due_date'])); // } // } // // dd($data['course_fees']); // $data['currentURL'] = current_url(); // $data['nepali_months'] = $this->db->query("SELECT * FROM nepali_months")->result_array(); // $data['logo'] = $this->Admin_model->get_logo(); // $data['school_info'] = $this->Admin_model->get_logo_from_setting(); // $data['menulist'] = $this->Admin_model->get_adminMenu(); // $data['check_fees_type'] = (!empty($coursebyfees)) ? $coursebyfees : ''; // // dd($data); // $this->load->view('admin/header', $data); // $this->load->view('admin/ae_fee_course.php'); // $this->load->view('admin/footer'); // } public function add_edit_fee_course($feesId) { // dd($_POST); if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); if (!file_exists(APPPATH . 'views/admin/ae_fee_course.php')) show_404(); $checkIfExists = $this->Admin_model->get_table_info('course_fees', array('id' => $feesId)); if ( empty($checkIfExists) && $feesId != 0 ) { $this->session->set_flashdata('failed', 'There is no fees with selected id'); redirect(base_url() . 'admin/fee-course'); } $data['fees_id'] = $feesId; $data['school_info'] = $this->Admin_model->get_logo_from_setting(); $batches = $this->Admin_model->get_table_info('batch', array('is_active' => 'yes')); $data['batches'] = $batches; $data['current_batch'] = $data['school_info']['batch_id']; // dd($data['current_batch']); $data['payment_types'] = $this->Admin_model->get_table_info('payment_types', '', '', 'ASC'); $courses = $this->Admin_model->get_table_info('course', '', '', 'ASC'); $data['courses'] = $courses; $data['feeTypes'] = $this->Admin_model->get_table_info('fee_types', array('is_active' => 'yes'), '', 'ASC'); if (count($_POST) > 0) { // dd($_POST); $grouped = isset($_POST['grouped']) ? 'yes' : 'no'; foreach ($_POST as $key => $value) { if ( $key == 'englishdate' || $key == 'nepalidate' ) { foreach ($value as $key2 => $value2) { if ($value2 == '') { unset($_POST[$key][$key2]); } } } if (!$_POST[$key]) { unset($_POST[$key]); } } // dd($_POST); $batch_id = $this->input->post('batch_id'); $course_id = $this->input->post('course_id'); $hostel_plan = NULL; if (isset($_POST['hostel_plan_id'])) { $hostel_plan = $this->input->post('hostel_plan_id'); } $route_id = NULL; if (isset($_POST['new_route_id'])) { $route_id = $this->input->post('new_route_id'); } // if (array_key_exists('common_bs_due_date', $_POST)) { // $due_date = $this->input->post('common_bs_due_date'); // } else if (array_key_exists('common_ad_due_date', $_POST)) { // $due_date = $this->input->post('common_ad_due_date'); // } else { // if (array_key_exists('bsdate', $_POST)) { // $due_date = $_POST['bsdate'][0]; // } // if (array_key_exists('englishdate', $_POST)) { // $due_date = $_POST['englishdate'][0]; // } // } if (isset($_POST['bsdate'][0])) { $due_date = date('Y-m-d H:i:s', strtotime($_POST['bsdate'][0])); } else { $due_date = ''; } $fees_type = $this->input->post('feetype'); $batch_detail = $this->db->query("SELECT * FROM batch WHERE id = " . $_POST['batch_id'])->row_array(); $fees_name = array(); // dd($_POST); if (isset($_POST['feename']) && !empty($_POST['feename'][0])) { for ($i = 0; $i < count($_POST['feename']); $i++) { $fees_name[$i]['name'] = $_POST['feename'][$i]; $fees_name[$i]['amount'] = $_POST['feeamount'][$i]; } $fee_values = implode(',', $_POST['feename']); $fees_name = json_encode($fees_name); } else { if (($fees_type == 8) || ($fees_type == 4)) { $months = $this->db->query("SELECT * FROM nepali_months")->result_array(); $feename = array(); foreach ($months as $key => $month) { $fees_name[$key]['name'] = $month['month_name']; $fees_name[$key]['amount'] = $_POST['feeamount'][0]; array_push($feename, $month['month_name']); } $fee_values = implode(',', $feename); $fees_name = json_encode($fees_name); } } $amount = 0; foreach ($_POST['feeamount'] as $key => $value) { $amount += $value; } $nowDate = $this->nepali_current_date; // Adding Data Inside POST if ($feesId == 0) { $insertFlag = false; foreach ($course_id as $key => $value) { $allData = array(); if ($fees_type == 8) { // For Monthly Fee $month_fees = json_decode($fees_name); foreach ($month_fees as $n => $e) { $fees_name_inside = array(); $fees_name_inside[0]['name'] = $e->name; $fees_name_inside[0]['amount'] = $e->amount; // print_r($batch_detail); $batch_year = explode('-', $batch_detail['b_from'])[0]; $fees_name_inside = json_encode($fees_name_inside); $dueDate = $batch_year . '-' . sprintf("%02d", ($n + 1)) . '-' . '25'; echo ($batch_year . '-' . sprintf("%02d", ($n + 1)) . '-' . '25' . '
'); $allData[] = array( 'batch_id' => $batch_id, 'course_id' => $value, 'fees_type' => $fees_type, 'fees_name' => $fees_name_inside, 'amount' => $e->amount, 'due_date' => date('Y-m-d H:i:s', strtotime($dueDate)), 'grouped' => $grouped, 'fee_values' => $e->name, 'hostel_plan_id' => $hostel_plan, 'route_id' => $route_id, 'created' => $nowDate ); } // dd($allData); // End of monthly fee } else if ($fees_type == 4) { // For Transport Fee $month_fees = json_decode($fees_name); foreach ($month_fees as $n => $e) { $fees_name_inside = array(); $fees_name_inside[0]['name'] = $e->name; $fees_name_inside[0]['amount'] = $e->amount; // print_r($batch_detail); $batch_year = explode('-', $batch_detail['b_from'])[0]; $fees_name_inside = json_encode($fees_name_inside); $dueDate = $batch_year . '-' . sprintf("%02d", ($n + 1)) . '-' . '25'; // echo ($batch_year . '-' . sprintf("%02d", ($n + 1)) . '-' . '25' . '
'); $allData[] = array( 'batch_id' => $batch_id, 'course_id' => $value, 'fees_type' => $fees_type, 'fees_name' => $fees_name_inside, 'amount' => $e->amount, 'due_date' => date('Y-m-d H:i:s', strtotime($dueDate)), 'grouped' => $grouped, 'fee_values' => $e->name, 'hostel_plan_id' => $hostel_plan, 'route_id' => $route_id, 'created' => $nowDate ); } // dd($allData); // End of transport Fee } else { $allData[] = array( 'batch_id' => $batch_id, 'course_id' => $value, 'fees_type' => $fees_type, 'fees_name' => $fees_name, 'amount' => $amount, 'due_date' => $due_date, 'grouped' => $grouped, 'fee_values' => $fee_values, 'hostel_plan_id' => $hostel_plan, 'route_id' => $route_id, 'created' => $nowDate ); // dd($allData); } $insertQuery = $this->db->insert_batch('course_fees', $allData); if ($insertQuery) { $insertFlag = true; } else { $insertFlag = false; } } if ($insertFlag) { $this->session->set_flashdata('success', str_replace('%s', 'Fees', THE_ADD_SUCCESS_MSG)); redirect(base_url() . 'admin/fee-course'); } else { $this->session->set_flashdata('failed', str_replace('%s', 'Fees', THE_ADD_ERROR_MSG)); redirect(base_url() . 'admin/fee-course'); } } if ($feesId > 0) { // Updating Data Inside POST $pay['course_fee_id'] = $feesId; $check_payment = $this->db->get_where('students_online_payments', $pay)->row(); if (!empty($check_payment)) { $this->session->set_flashdata('failed', 'Fees cannot be modified as a payment has already been made'); redirect(base_url() . 'admin/fee-course'); } $allData = array( 'batch_id' => $batch_id, 'course_id' => $course_id, 'fees_type' => $fees_type, 'fees_name' => $fees_name, 'amount' => $amount, 'due_date' => $due_date, 'grouped' => $grouped, 'fee_values' => $fee_values, 'hostel_plan_id' => $hostel_plan, 'route_id' => $route_id, 'modified' => $nowDate ); // dd($allData); $checkIfFeeRelated = $this->Admin_model->get_table_info('students_online_payments', array('course_fee_id' => $feesId)); if (empty($checkIfFeeRelated)) { $updateQuery = $this->Admin_model->add_edit_fee_course($feesId, $allData); if ($updateQuery) { $this->session->set_flashdata('success', str_replace('%s', 'Fees', THE_UPDATE_SUCCESS_MSG)); redirect(base_url() . 'admin/fee-course'); } else { $this->session->set_flashdata('failed', str_replace('%s', 'Fees', THE_UPDATE_ERROR_MSG)); redirect(base_url() . 'admin/ae-fee-course/' . $feesId); } } else { $this->session->set_flashdata('failed', 'This Fee cannot be edited as installments have already been created'); redirect(base_url() . 'admin/fee-course'); } } } if ($feesId > 0) { // Display to AE_EDIT PAGE $Feesql = "SELECT b.b_name as batch, c.course_name as course,ft.id as fee_id, ft.feetype_name as feetype, cf.* FROM course_fees cf inner join batch b on cf.batch_id = b.id INNER JOIN course c on cf.course_id = c.id INNER JOIN fee_types ft on cf.fees_type = ft.id WHERE cf.id = '$feesId' ORDER BY cf.id DESC"; $checkCourseFee = $this->Admin_model->get_table_info('course_fees', '', $Feesql); if (empty($checkCourseFee) && $feesId != 0) { $this->session->set_flashdata('failed', 'There is no course fee with selected id'); redirect(base_url() . 'admin/fee-course'); } // start from here by shivuuu if ($checkCourseFee[0]['fees_type'] == 4) { $transport_db = $this->load->database('erisnClassroom_bts', TRUE); $batch_routes = $transport_db->query('SELECT * from bt_batch_routes where batch_id = ' . $checkCourseFee[0]['batch_id'])->row_array(); if (!empty($batch_routes)) { $route_ids = explode(',', $batch_routes['route_ids']); $whereClause = ''; foreach ($route_ids as $bkey => $bvalue) { if ($bkey == 0) { $whereClause .= "id = '$bvalue'"; } else { $whereClause .= " or id = '$bvalue'"; } } $data['edit_route_list'] = $transport_db->query('SELECT * from bt_routes where ' . $whereClause)->result_array(); } } // end Here by shivakumar $data['course_fees'] = $checkCourseFee; // dd($data['course_fees']); foreach ($data['course_fees'] as $key => $value) { $data['course_fees'][$key]['due_date'] = date('Y-m-d', strtotime($value['due_date'])); } } // dd($data['course_fees']); $data['currentURL'] = current_url(); $data['nepali_months'] = $this->db->query("SELECT * FROM nepali_months")->result_array(); $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); $data['menulist'] = $this->Admin_model->get_adminMenu(); $data['check_fees_type'] = (!empty($coursebyfees)) ? $coursebyfees : ''; // dd($data); $this->load->view('admin/header', $data); $this->load->view('admin/ae_fee_course.php'); $this->load->view('admin/footer'); } public function add_edit_fee_course_old($feesId) { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); if (!file_exists(APPPATH . 'views/admin/ae_fee_course.php')) show_404(); $checkIfExists = $this->Admin_model->get_table_info('course_fees', array('id' => $feesId)); if (empty($checkIfExists) && $feesId != 0) { $this->session->set_flashdata('failed', 'There is no fees with selected id'); redirect(base_url() . 'admin/fee-course'); } $data['fees_id'] = $feesId; $batches = $this->Admin_model->get_table_info('batch', array('is_active' => 'yes')); $data['batches'] = $batches; $data['payment_types'] = $this->Admin_model->get_table_info('payment_types', '', '', 'ASC'); $courses = $this->Admin_model->get_table_info('course', '', '', 'ASC'); $data['courses'] = $courses; $data['feeTypes'] = $this->Admin_model->get_table_info('fee_types', array('is_active' => 'yes'), '', 'ASC'); // dd($data['feeTypes']); if (count($_POST) > 0) { $grouped = isset($_POST['grouped']) ? 'yes' : 'no'; foreach ($_POST as $key => $value) { if ($key == 'englishdate' || $key == 'nepalidate') { foreach ($value as $key2 => $value2) { if ($value2 == '') { unset($_POST[$key][$key2]); } } } if (!$_POST[$key]) { unset($_POST[$key]); } } $batch_id = $this->input->post('batch_id'); $course_id = $this->input->post('course_id'); $hostel_plan = NULL; if (isset($_POST['hostel_plan_id'])) { $hostel_plan = $this->input->post('hostel_plan_id'); } $route_id = NULL; if (isset($_POST['route_id'])) { $route_id = $this->input->post('route_id'); } if (array_key_exists('common_bs_due_date', $_POST)) { $due_date = $this->input->post('common_bs_due_date'); } else if (array_key_exists('common_ad_due_date', $_POST)) { $due_date = $this->input->post('common_ad_due_date'); } else { if (array_key_exists('bsdate', $_POST)) { $due_date = $_POST['bsdate'][0]; } if (array_key_exists('englishdate', $_POST)) { $due_date = $_POST['englishdate'][0]; } } $due_date = date('Y-m-d H:i:s', strtotime($due_date)); $fees_type = $this->input->post('feetype'); $fees_name = array(); for ($i = 0; $i < count($_POST['feename']); $i++) { $fees_name[$i]['name'] = $_POST['feename'][$i]; $fees_name[$i]['amount'] = $_POST['feeamount'][$i]; } $fee_values = implode(',', $_POST['feename']); $fees_name = json_encode($fees_name); $amount = 0; foreach ($_POST['feeamount'] as $key => $value) { $amount += $value; } $nowDate = $this->nepali_current_date; // Adding Data Inside POST if ($feesId == 0) { $insertFlag = false; foreach ($course_id as $key => $value) { $allData = array( 'batch_id' => $batch_id, 'course_id' => $value, 'fees_type' => $fees_type, 'fees_name' => $fees_name, 'amount' => $amount, 'due_date' => $due_date, 'grouped' => $grouped, 'fee_values' => $fee_values, 'hostel_plan_id' => $hostel_plan, 'route_id' => $route_id, 'created' => $nowDate ); $insertQuery = $this->Admin_model->add_edit_fee_course($feesId, $allData); if ($insertQuery) { $insertFlag = true; } else { $insertFlag = false; return; } } if ($insertFlag) { $this->session->set_flashdata('success', str_replace('%s', 'Fees', THE_ADD_SUCCESS_MSG)); redirect(base_url() . 'admin/fee-course'); } else { $this->session->set_flashdata('failed', str_replace('%s', 'Fees', THE_ADD_ERROR_MSG)); redirect(base_url() . 'admin/fee-course'); } } if ($feesId > 0) { // Updating Data Inside POST $pay['course_fee_id'] = $feesId; $check_payment = $this->db->get_where('students_online_payments', $pay)->row(); if (!empty($check_payment)) { $this->session->set_flashdata('failed', 'Fees cannot be modified as a payment has already been made'); redirect(base_url() . 'admin/fee-course'); } $allData = array( 'batch_id' => $batch_id, 'course_id' => $course_id, 'fees_type' => $fees_type, 'fees_name' => $fees_name, 'amount' => $amount, 'due_date' => $due_date, 'grouped' => $grouped, 'fee_values' => $fee_values, 'hostel_plan_id' => $hostel_plan, 'route_id' => $route_id, 'modified' => $nowDate ); $checkIfFeeRelated = $this->Admin_model->get_table_info('students_online_payments', array('course_fee_id' => $feesId)); if (empty($checkIfFeeRelated)) { $updateQuery = $this->Admin_model->add_edit_fee_course($feesId, $allData); if ($updateQuery) { $this->session->set_flashdata('success', str_replace('%s', 'Fees', THE_UPDATE_SUCCESS_MSG)); redirect(base_url() . 'admin/fee-course'); } else { $this->session->set_flashdata('failed', str_replace('%s', 'Fees', THE_UPDATE_ERROR_MSG)); redirect(base_url() . 'admin/ae-fee-course/' . $feesId); } } else { $this->session->set_flashdata('failed', 'This Fee cannot be edited as installments have already been created'); redirect(base_url() . 'admin/fee-course'); } } } if ($feesId > 0) { // Display to AE_EDIT PAGE $Feesql = "SELECT b.b_name as batch, c.course_name as course, ft.feetype_name as feetype, cf.* FROM course_fees cf inner join batch b on cf.batch_id = b.id INNER JOIN course c on cf.course_id = c.id INNER JOIN fee_types ft on cf.fees_type = ft.id WHERE cf.id = '$feesId' ORDER BY cf.id DESC"; $checkCourseFee = $this->Admin_model->get_table_info('course_fees', '', $Feesql); if (empty($checkCourseFee) && $feesId != 0) { $this->session->set_flashdata('failed', 'There is no course fee with selected id'); redirect(base_url() . 'admin/fee-course'); } $data['course_fees'] = $checkCourseFee; foreach ($data['course_fees'] as $key => $value) { $data['course_fees'][$key]['due_date'] = date('Y-m-d', strtotime($value['due_date'])); } } $data['currentURL'] = current_url(); $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); $data['menulist'] = $this->Admin_model->get_adminMenu(); $this->load->view('admin/header', $data); $this->load->view('admin/ae_fee_course.php'); $this->load->view('admin/footer'); } public function ajax_get_hostel_plans() { $select_plan = ''; if (isset($_POST['selected_plan'])) { $select_plan = $this->input->post('selected_plan'); } $plans = $this->Admin_model->get_table_info('hostel_plans', '', '', 'ASC'); $html = ''; if ($select_plan != '' && $select_plan == $name) { $html .= ''; } else { $html .= ''; } echo $html; } public function delete_course_fees($fid) { $checkIfFeeRelated = $this->Admin_model->get_table_info('students_online_payments', array('course_fee_id' => $fid)); if (empty($checkIfFeeRelated)) { $deleteQuery = $this->Admin_model->delete_course_fees($fid); $deleteInst = $this->Admin_model->delete_row('installment', array('course_fee_id' => $fid)); // dd($deleteQuery); if ($deleteQuery) { $this->session->set_flashdata('success', str_replace('%s', 'Fees', THE_DELETE_SUCCESS_MSG)); redirect(base_url() . 'admin/fee-course'); } else { $this->session->set_flashdata('failed', str_replace('%s', 'Fees', THE_DELETE_ERROR_MSG)); redirect(base_url() . 'admin/fee-course'); } } else { $this->session->set_flashdata('failed', 'This Fee cannot be deleted as students have already made payment'); redirect(base_url() . 'admin/fee-course'); } } public function ajax_validate_fee_type() { $data = json_decode($this->input->post('info')); $id = $data->id; $whereClause = ''; if (is_array($data->course_id)) { foreach ($data->course_id as $key => $value) { if ($key == 0) { $whereClause .= "course_id = '$value'"; } else { $whereClause .= " or course_id = '$value'"; } } } else { $whereClause .= "course_id = '$data->course_id'"; } $sql = 'Select * from course_fees WHERE (batch_id = ' . $data->batch_id . ' AND fees_type =' . $data->fee_type . ') AND id != ' . $id . ' AND (' . $whereClause . ')'; // $dataArr = array( // 'batch_id' => $data->batch_id, // 'course_id' => $data->course_id, // 'fees_type' => $data->fee_type // ); // $query = $this->Admin_model->check_value_exists('course_fees', $dataArr, $id); $query = $this->Admin_model->get_table_info('course_fees', '', $sql); if (empty($query)) { echo 'success'; } else { echo 'failed'; } } public function ajax_check_fee_names() { $data = json_decode($this->input->post('info')); // dd($data); $id = $data->id; $whereClause = ''; $q = ''; if (is_array($data->course_id)) { foreach ($data->course_id as $key => $value) { if ($key == 0) { $whereClause .= "course_id = '$value'"; } else { $whereClause .= " or course_id = '$value'"; } } } else { $whereClause .= "course_id = '$data->course_id'"; } if ($data->route_id != '') $q .= " AND route_id = '$data->route_id'"; echo $sql = 'Select * from course_fees WHERE (batch_id = ' . $data->batch_id . ' AND fees_type =' . $data->fee_type . ') AND id != ' . $id . $q . ' AND (' . $whereClause . ')'; $fee_names = $data->fee_names; // dd($fee_names); $query = $this->Admin_model->get_table_info('course_fees', '', $sql); if (empty($query)) { exit(true); } $flag = false; foreach ($query as $key => $value) { $fee_values = explode(',', strtolower($value['fee_values'])); sort($fee_names); sort($fee_values); if ($fee_names == $fee_values) { $fee_values . "-
"; $flag = true; break; } } if ($flag) { echo false; // Dublicate names found } else { echo true; } } // Fee Course End - 10-11-2021 Afras Khan // Fee course validation public function ajax_check_fee_names_new() { $data = json_decode($this->input->post('info')); // dd($data); $coursebyfees = array(); $id = $data->id; $whereClause = ''; $course_arr = implode(',', $data->course_id); $fee_names = implode("','", $data->fee_names); // dd($fee_names); if (count($data->fee_names) > 0) $whereClause .= " AND cf.fee_values IN ('" . $fee_names . "')"; if ($data->route_id != '') $whereClause .= " AND cf.route_id = '$data->route_id'"; if (count($data->course_id) > 0) $whereClause .= ' AND cf.course_id IN (' . $course_arr . ')'; $feesname_exists = $this->db->query("Select cf.*,c.course_name FROM course_fees cf JOIN course c ON cf.course_id=c.id WHERE cf.batch_id=" . $data->batch_id . " AND cf.fees_type =" . $data->fee_type . " AND cf.id != " . $id . $whereClause)->result_array(); // $query1="Select cf.*,c.course_name FROM course_fees cf JOIN course c ON cf.course_id=c.id WHERE cf.batch_id=".$data->batch_id." AND cf.fees_type =".$data->fee_type." AND cf.id != ".$id.$whereClause; if (isset($feesname_exists) && !empty($feesname_exists)) { foreach ($feesname_exists as $k => $vl) { $coursebyfees[$vl['fee_values']][] = $vl['course_name']; } echo json_encode($coursebyfees); } else { echo 0; } } // End here - by shivakumar // To get section name for classroom - shivakumar start public function getSectionsforClassroomByCourse() { $courseId = (isset($_REQUEST['course_id'])) ? $_REQUEST['course_id'] : 0; $query = "SELECT s.section_name,s.id FROM course_sections cs LEFT JOIN section s ON s.id=cs.section_id WHERE s.is_active='yes' AND cs.course_id=$courseId"; $result = $this->Admin_model->get_query_result($query); if (count($result) > 0) { echo json_encode($result); } else { $result = array('id' => '', 'section_name' => 'No sections Found'); echo json_encode($result); } } // To get section name for classroom - shivakumar end public function delete_subject($subject_id) { $subject_id = ($subject_id != '') ? $subject_id : 0; if ($subject_id != 0) { $result = $this->Admin_model->delete_subject($subject_id); if ($result == 'exists') { $this->session->set_flashdata('errorsubject', str_replace('%s', 'Subject', ALREADY_ASSIGNED_MSG)); } else if ($result == 'success') { $this->session->set_flashdata('successsubject', str_replace('%s', 'Subject', THE_DELETE_SUCCESS_MSG)); } else if ($result == 'failed') { $this->session->set_flashdata('errorsubject', str_replace('%s', 'Subject', THE_DELETE_ERROR_MSG)); } } else { $this->session->set_flashdata('errorsubject', str_replace('%s', 'Subject', THE_DELETE_ERROR_MSG)); } redirect(base_url() . 'admin/subject'); } // Student's Info - 14-11-2021 Afras Khan public function view_student($studentid) { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); if (!file_exists(APPPATH . 'views/admin/view-student.php')) show_404(); $data['currentURL'] = current_url(); //get logo $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); //get menu list $data['menulist'] = $this->Admin_model->get_adminMenu(); $data['student'] = $this->Admin_model->view_student($studentid); $data['student_id'] = $studentid; $data['section_name'] = $this->db->query('select sc.section_name from section sc , student_batch sb, classroom c, students s where s.id =' . $studentid . ' AND sb.student_id = s.id AND sb.batch_id = s.batch_id and c.id = sb.classroom_id and c.section_id = sc.id order by sb.id DESC')->row_array(); // dd($data['student']); $this->load->view('admin/header', $data); $this->load->view('admin/view-student', $data); $this->load->view('admin/footer'); } public function ajax_update_student_files() { extract($_POST['dataArr']); // Below is the data extracted // $file = image name // $path = image path // $studId = student Id // $inputName = input name $updateData[$inputName] = $file; $file_name = uniqid($file, false); $config['upload_path'] = 'assets_student/application/'; $config['allowed_types'] = 'gif|jpg|png'; $config['file_name'] = $file_name; $this->load->library('upload', $config); $this->upload->initialize($config); if (!$this->upload->do_upload('photo')) { echo 'failed in upper'; echo $this->upload->display_errors(); return false; } else { $data = array('upload_data' => $this->upload->data()); $sql = $this->Admin_model->update_student_files($updateData[$inputName], $studId); if ($sql) { echo 'success'; } else { echo 'failed in lower'; } } } public function editInfo_Student($studentid = '') { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); if (!file_exists(APPPATH . 'views/admin/view-student.php')) show_404(); $data['currentURL'] = current_url(); //get logo $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); //get menu list $data['menulist'] = $this->Admin_model->get_adminMenu(); $data['student'] = $this->Admin_model->view_student($studentid); foreach ($data['student'] as $key => $value) { $names = explode(' ', $value['name'], 2); if (count($names) > 1) { $data['student'][$key]['first_name'] = $names[0]; $data['student'][$key]['last_name'] = $names[1]; } else { $data['student'][$key]['first_name'] = $names[0]; $data['student'][$key]['last_name'] = ''; } } $data['student_id'] = $studentid; // dd($data['student']); if (isset($_POST['submit_info'])) { $first_name = ucfirst(strtolower($_POST['first_name'])); $last_name = ucfirst(strtolower($_POST['last_name'])); $complete_name = $first_name . ' ' . $last_name; $update_data = array( 'name' => $complete_name, 'iemis' => $_POST['iemis'], 'father_name' => $_POST['fname'], 'mother_name' => $_POST['mname'], 'email' => $_POST['email'], 'mobile' => $_POST['contact'], 'dob' => $_POST['dob'], 'gender' => $_POST['gender'], 'address1' => $_POST['address1'], 'address2' => $_POST['address2'], 'country' => $_POST['country'], 'state' => $_POST['state'], 'zipcode' => $_POST['zipcode'], 'parent_pan' => $_POST['pan'], 'emergency_contact_name' => $_POST['pname'], 'emergency_contact_number' => $_POST['pcontact'] ); $this->db->where('id', $_POST['student_Id']); $update = $this->db->update("students", $update_data); if ($update) { $this->session->set_flashdata('success', str_replace('%s', 'Student', THE_UPDATE_SUCCESS_MSG)); redirect(base_url() . 'admin/view_student/' . $_POST['student_Id']); } else { $this->session->set_flashdata('success', str_replace('%s', 'Student', THE_ADD_ERROR_MSG)); redirect(base_url() . 'admin/view_student/' . $_POST['student_Id']); } } // dd($data['student']); $this->load->view('admin/header', $data); $this->load->view('admin/edit-student-info', $data); $this->load->view('admin/footer'); } public function view_student_payments($student_id) { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); if (!file_exists(APPPATH . 'views/admin/view-student-payments.php')) show_404(); $data['currentURL'] = current_url(); //get logo $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); //get menu list $data['menulist'] = $this->Admin_model->get_adminMenu(); $data['nepali_curr_date'] = $this->nepali_current_date; $data['student_id'] = $student_id; $this->load->model("Student_model"); $selectedBatchId = isset($_POST['f_batch']) ? $_POST['f_batch'] : $data['school_info']['batch_id']; $student_info_array = "Select s.id as student_id,c.course_id, c.section_id, s.name,s.email,s.studentId, s.photo, s.gender,s.emergency_contact_number, c.classroom_name,b.id as batch_id, b.b_name from students s INNER JOIN student_batch sb on s.id = sb.student_id AND $selectedBatchId = sb.batch_id INNER JOIN classroom c on c.id = sb.classroom_id INNER JOIN batch b on b.id = sb.batch_id WHERE s.id = $student_id ORDER BY sb.id DESC; "; //Student Info $data['student_info_array'] = $this->Admin_model->get_table_info_row('students', '', $student_info_array); // Paid Fees $sql = "Select sop.*, pt.payment_type_name, cf.amount, f.feetype_name, cf.fee_values from students_online_payments sop inner join payment_types pt on pt.id = sop.installment_type_id inner join course_fees cf on cf.id = sop.course_fee_id inner join fee_types f on cf.fees_type = f.id WHERE sop.student_id = '$student_id' ORDER BY sop.id"; $data['payments'] = $this->Admin_model->get_table_info('students_online_payments', '', $sql); // $data['not_paid_fees'] = $not_paid_installments; $fee_transactions = array(); // Paid Transactions $query = "Select sf.id, sf.studentId, sf.payment_for, sf.txn_id, sf.invoice_no, sf.deduction_type, sf.status, sf.payment_date, sf.payment_recived_id, sf.created, sf.modified, sf.payment_method, sf.bank_transaction_id, sf.course_fee_id, sf.install_sno, sf.bill_print_count, cf.batch_id, GROUP_CONCAT(sf.id SEPARATOR ',') AS online_transaction_id , GROUP_CONCAT(sf.payment_amt SEPARATOR ',') AS payment_amt , GROUP_CONCAT(sf.deduction_amount SEPARATOR ',') AS deduction_amount , GROUP_CONCAT(sf.fine_amount SEPARATOR ',') AS fine_amount , GROUP_CONCAT(sf.payment_for SEPARATOR ',') AS payment_for , GROUP_CONCAT(cf.fee_values SEPARATOR ', ') AS fee_values from student_fee_online_transactions sf inner join students s on sf.studentId = s.studentId INNER JOIN course_fees cf on cf.id = sf.course_fee_id WHERE s.id = $student_id GROUP BY sf.invoice_no ORDER BY sf.payment_date ASC"; $fee_transactions = $this->Admin_model->get_table_info('student_fee_online_transactions', '', $query); $final_fee_transactions = array(); foreach ($fee_transactions as $ft_key => $transaction) { $payment_date_time_array = explode(' ', $transaction['payment_date']); $payment_date = explode('-', $payment_date_time_array[0]); $payment_year = $payment_date[0]; $current_date_time_array = explode(' ', $this->nepali_current_date); $current_date = explode('-', $current_date_time_array[0]); $current_year = $current_date[0]; // echo $payment_year .' => '. $current_year .'
'; if (($payment_year == $current_year) || ($selectedBatchId == $transaction['batch_id'])) { array_push($final_fee_transactions, $transaction); } } // dd($final_fee_transactions); $fee_transactions = $final_fee_transactions; $data['transactions'] = $fee_transactions; // dd($data['transactions']); // Table unpaid fees $table_fees = []; // Afras kahan working script start HERE $table_unpaid_query = "Select cf.id as course_fee_id,cf.fee_values as fee_name, cf.batch_id, b.b_name as batch_name, 1 as install_s_no,cf.amount as fee_amount,ft.feetype_name as fee_type,ft.id as fee_type_id, fas.is_half_fee, DATE(cf.due_date) as due_date, IF(ss.id is null,0,ss.id) as scholarship_id, IF(ss.scholarship_amount is null,0,ss.scholarship_amount) as scholarship_amount, IF(ss.scholarship_discount is null,0,ss.scholarship_discount) as scholarship_discount, IF(ss.scholarship_type is null,0,ss.scholarship_type) as scholarship_type, IF(ss.is_active is null,null,ss.is_active) as hasScholarship, IF(sop.id is null,0,sop.id) as sop_id, IF(sop.pending_amount is null,cf.amount,sop.pending_amount) as pending_amount, IF(sop.fine_amount is null,0,sop.fine_amount) as fine_amount, IF(sop.fee_completed is null,'no',sop.fee_completed) as fee_completed from course_fees cf INNER JOIN fee_assigned_students fas on fas.course_fee_id = cf.id AND student_id = $student_id INNER JOIN fee_types ft on ft.id = cf.fees_type LEFT JOIN students_online_payments sop on cf.id = sop.course_fee_id AND sop.student_id = $student_id LEFT JOIN batch b ON b.id = cf.batch_id LEFT JOIN student_scholarship ss on cf.id = ss.course_fee_id AND ss.student_id = $student_id"; // Afras Khan working script End Here $tableUnpaid = $this->Admin_model->get_table_info('students', '', $table_unpaid_query); // echo ''; // var_dump($tableUnpaid); // dd($tableUnpaid); $unpaid_fees_list = array(); $due_fees_list = array(); foreach ($tableUnpaid as $u_key => $unpaid_fee) { if ($selectedBatchId == $unpaid_fee['batch_id']) { array_push($unpaid_fees_list, $unpaid_fee); } else { array_push($due_fees_list, $unpaid_fee); } } // echo ''; // print_r($unpaid_fees_list); // dd($due_fees_list);invoice $data['table_unpaid_fees'] = $unpaid_fees_list; $data['table_due_fees'] = $due_fees_list; // rsort($data['table_unpaid_fees']); $data['scholarship_types'] = $this->Admin_model->get_query_result("SELECT id, scholarshiptype_name FROM scholarship_types"); $data['batches'] = $this->db->query('SELECT * FROM batch WHERE is_active = "yes"')->result_array(); $data['selectedBatch'] = $selectedBatchId; $this->load->view('admin/header', $data); $this->load->view('admin/view-student-payments'); $this->load->view('admin/footer'); } public function ajax_fetch_each_transac_details() { $sop_id = $this->input->post('sopId'); $sop_info = $this->Admin_model->get_table_info_row('students_online_payments', array('id' => $sop_id)); $data_to_return = ''; // dd($sop_info); if (!empty($sop_info)) { $course_fee_id = $sop_info['course_fee_id']; $installments = json_decode($sop_info['payment_details']); // dd($installments); foreach ($installments as $key => $value) { $data_txn['course_fee_id'] = $course_fee_id; $data_txn['install_sno'] = $value->install_sno; $txn = $this->db->get_where('student_fee_online_transactions', $data_txn)->row_array(); $stuID = (isset($txn['studentId']) && !empty($txn['studentId'])) ? $txn['studentId'] : 0; $transaction_id = (isset($txn['txn_id']) && !empty($txn['txn_id'])) ? $txn['txn_id'] : 0; $invoice_link = base_url() . 'admin/invoice/' . urlsafe_b64encode($stuID) . '/' . urlsafe_b64encode($transaction_id) . '/' . urlsafe_b64encode(0); $data_to_return .= ''; $data_to_return .= ' '; } } $json = json_encode($data_to_return); echo $json; } public function ajax_erase_fee_installment() { $sop_id = $this->input->post('sopId'); $install_sno = $this->input->post('install_sno'); $sop_data = $this->Admin_model->get_table_info('students_online_payments', array('id' => $sop_id)); $undelete = []; $update_data = []; $course_fee_id = ''; if (!empty($sop_data)) { foreach ($sop_data as $key => $value) { $course_fee_id = $value['course_fee_id']; $installments = json_decode($value['payment_details'], true); //echo '' . $value->install_sno . ' '; $data_to_return .= '' . $value->paid_amount . ' '; $data_to_return .= '' . $value->pending_amount . ' '; $data_to_return .= '' . $value->deduction_type . ' '; $data_to_return .= '' . $value->deduction_amount . ' '; $data_to_return .= '' . $value->fine_amount . ' '; $data_to_return .= '' . $value->payment_via . ' '; $data_to_return .= '' . $value->updated_by . ' '; $data_to_return .= ''; $data_to_return .= ' '; print_r($installments); $thePayDetailsNow = array(); foreach ($installments as $index => $ele) { // echo $index."=> ". $ele; if ($ele['install_sno'] == $install_sno) { $update_data['pending_amount'] = $value['pending_amount'] + $ele['payable_amount']; $update_data['paid_amount'] = $value['paid_amount'] - $ele['paid_amount']; $update_data['fine_amount'] = $value['fine_amount'] - $ele['fine_amount']; $update_data['deducted_amount'] = $value['deducted_amount'] - $ele['deduction_amount']; $update_data['fee_completed'] = 'no'; unset($installments[$index]); } else $undelete[] = $installments[$index]; } $update_data['payment_details'] = json_encode($undelete); } $update_sop = $this->db->update('students_online_payments', $update_data, array('id' => $sop_id)); if ($update_sop) { $student_id = (isset($sop_data[0]['student_id']) && !empty($sop_data[0]['student_id'])) ? $sop_data[0]['student_id'] : 0; $rst = $this->db->query('SELECT studentId FROM students WHERE id=' . $student_id)->row_array(); $studentId = (isset($rst['studentId']) && !empty($rst['studentId'])) ? $rst['studentId'] : 0; $revertThisData = $this->db->query("SELECT * FROM student_fee_online_transactions WHERE studentId='$studentId' AND course_fee_id = $course_fee_id AND install_sno = $install_sno")->result_array(); if (isset($revertThisData[0])) { $revertThisData[0]['done_by'] = $_SESSION['admin_id'] . ' - ' . $_SESSION['admin_name'] . ' - ' . $_SESSION['admin_email']; $revertThisData[0]['c_date'] = date('Y-m-d H:i:s', strtotime($this->nepali_current_date)); $revertBackuped = $this->db->insert('student_fee_reverts', $revertThisData[0]); if ($revertBackuped) { $transac_del = $this->db->query("DELETE FROM student_fee_online_transactions WHERE studentId='$studentId' AND course_fee_id = $course_fee_id AND install_sno = $install_sno"); if ($transac_del) echo 'success'; else echo 'trans-failed'; } else echo 'revert-backup-failed'; } else echo 'sfot-record-missing'; /*$transac_del = $this->db->query("DELETE FROM student_fee_online_transactions WHERE studentId='$studentId' AND course_fee_id = $course_fee_id AND install_sno = $install_sno"); if($transac_del) { echo 'success'; } else { echo 'trans-failed'; }*/ } else { echo 'failed'; } } else { echo 'failed'; } } // Student's Info End - 14-11-2021 Afras Khan // Fee Installment - Afras Khan - 16-11-2021 public function fee_installment() { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); if (!file_exists(APPPATH . 'views/admin/fee-installment.php')) show_404(); if (isset($_SESSION['admin_id'])) { $data['currentURL'] = current_url(); //get logo $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); //get menu list $data['menulist'] = $this->Admin_model->get_adminMenu(); $sql = "Select c.course_name,cf.amount,ft.feetype_name as fees_name,i.* from course_fees cf inner join installment i on cf.id = i.course_fee_id inner join course c on c.id = cf.course_id inner join fee_types ft on ft.id = cf.fees_type ORDER BY i.id DESC"; $data['installments'] = $this->Admin_model->get_table_info('installment', '', $sql); $this->load->view('admin/header', $data); $this->load->view('admin/fee-installment', $data); $this->load->view('admin/footer'); } } public function delete_installment() { $id = $_POST['id']; $table = $_POST['table']; $data = $this->Admin_model->delete_installment($id, $table); print_r($data); } public function restore_installment() { $id = $_POST['id']; $table = $_POST['table']; $data = $this->Admin_model->restore_installment($id, $table); print_r($data); } public function addedit_installment() { //print_r($_POST); $cid = $_POST['ficourse']; $pay_method = $_POST['payment_method']; $amount = $_POST['amount']; $duedate = $_POST['duedate']; $data_array = array( 'course_id' => $cid, 'pay_method' => $pay_method, 'amount' => $amount, 'duedate' => $duedate ); $data = $this->Admin_model->addedit_installment($data_array); //print_r($data); // redirect(base_url().'Admin', 'fee-installment'); } public function add_edit_fee_installment($feesId) { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); if (!file_exists(APPPATH . 'views/admin/add-edit-fee-installment.php')) show_404(); $checkIfExists = $this->Admin_model->get_table_info('installment', array('id' => $feesId)); if (empty($checkIfExists) && $feesId != 0) { $this->session->set_flashdata('failed', 'There is no installment with selected id'); redirect(base_url() . 'admin/fee-installment'); } if (isset($_SESSION['admin_id'])) { $data['currentURL'] = current_url(); //get logo $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); //get menu list $data['fees_id'] = $feesId; $data['menulist'] = $this->Admin_model->get_adminMenu(); if ($feesId > 0) { $installment = $checkIfExists; $cf_id = $installment[0]['course_fee_id']; $data['cf_id'] = $cf_id; $query = "Select course_id, batch_id,fees_type, due_date, amount, hostel_plan_id from course_fees where id = '$cf_id'"; $course_batch_ids = $this->Admin_model->get_table_info('course_fees', '', $query); $whereClause = ""; foreach ($course_batch_ids as $key => $value) { $whereClause .= 'cf.course_id = ' . $value["course_id"] . ' AND cf.batch_id =' . $value["batch_id"]; $data['batch_id'] = $value["batch_id"]; $data['course_id'] = $value["course_id"]; $data['feetype_id'] = $value['fees_type']; $data['due_date'] = date('d-M-Y', strtotime($value["due_date"])); $data['due_amount_total'] = $value['amount']; $data['hostel_plan_id'] = $value['hostel_plan_id']; } $data['batch'] = $this->Admin_model->get_install_batch(); $data['course'] = $this->Admin_model->get_install_course(); $sql = "Select ft.id, ft.feetype_name from fee_types ft inner join course_fees cf on ft.id = cf.fees_type WHERE " . $whereClause . " GROUP BY ft.id"; $data['fee_types'] = $this->Admin_model->get_table_info('course_fees', '', $sql); $data['installment'] = $installment; $data['payment_types'] = $this->Admin_model->get_table_info('payment_types', '', '', 'ASC'); $data['due_info'] = json_decode($installment[0]['due_amount_date']); $data['pt_keys'] = (array_keys((array)$data['due_info'])); // dd($data['due_info']); } else { $data['batch'] = $this->Admin_model->get_install_batch(); $data['payment_types'] = $this->Admin_model->get_table_info('payment_types', '', '', 'ASC'); } $this->load->view('admin/header', $data); $this->load->view('admin/add-edit-fee-installment'); $this->load->view('admin/footer'); } } public function get_coursefee() { $course = $_POST['course']; $installment = $_POST['inst']; $start = $_POST['start']; $data = $this->Admin_model->get_coursefee($course, $installment, $start); print_r($data); } public function get_duedates() { $course_fee = $_POST['course_fee']; $installment = $_POST['inst']; $start = $_POST['start']; // echo $start;exit; $data = $this->Admin_model->get_duedates($course_fee, $installment, $start); $json = json_encode($data); echo $json; } public function convert() { echo $returnURL = base_url() . 'api/Student_api/pay_unpaid_fees/'; } public function ajax_get_installment_course_batch() { $batch_id = $this->input->post('batch'); $sql = "select c.id as course_id, c.course_name, cf.amount, ft.feetype_name from course_fees cf inner join course c on cf.course_id = c.id inner join fee_types ft on cf.fees_type = ft.id WHERE cf.batch_id = '$batch_id' GROUP BY c.course_name"; $data = $this->Admin_model->get_table_info('course_fees', '', $sql); $html = ''; foreach ($data as $value) { $html .= ''; } echo $html; } public function ajax_get_installment_course_feetype() { $course_id = $this->input->post('course'); $batch_id = $this->input->post('batch'); $sql = "Select ft.id, ft.feetype_name as ft_name from course_fees cf inner join fee_types ft on cf.fees_type = ft.id WHERE cf.batch_id = '$batch_id' AND cf.course_id = '$course_id' GROUP BY ft.id"; $data = $this->Admin_model->get_table_info('course_fees', '', $sql); $html = ''; foreach ($data as $value) { $html .= ''; } echo $html; } public function ajax_get_installment_course_fee_date_id() { $course_id = $this->input->post('course'); $batch_id = $this->input->post('batch'); $feeid = $this->input->post('fee_id'); if (isset($_POST['plan_id'])) { $plan = $this->input->post('plan_id'); $where = array( 'batch_id' => $batch_id, 'course_id' => $course_id, 'fees_type' => $feeid, 'hostel_plan_id' => $plan ); } else { $where = array( 'batch_id' => $batch_id, 'course_id' => $course_id, 'fees_type' => $feeid ); } $data = $this->Admin_model->get_table_info('course_fees', $where); $json = json_encode($data); echo $json; } public function ajax_get_complete_course_fee_id() { $course_fee = $this->input->post('id'); $where['id'] = $course_fee; $data = $this->Admin_model->get_table_info('course_fees', $where); $json = json_encode($data); echo $json; } public function ajax_get_course_fee_hostel_plan() { $course_id = $this->input->post('course'); $batch_id = $this->input->post('batch'); $feeid = $this->input->post('fee_id'); $where = array( 'batch_id' => $batch_id, 'course_id' => $course_id, 'fees_type' => $feeid ); $sql = "select hp.id, hp.plan_name from hostel_plans hp inner join course_fees cf on cf.hostel_plan_id = hp.id WHERE cf.batch_id = '$batch_id' AND cf.course_id = '$course_id' AND cf.fees_type = '$feeid' ORDER BY hp.id ASC"; $data = $this->Admin_model->get_table_info('course_fees', '', $sql); $html = ''; foreach ($data as $value) { $html .= ''; } echo $html; } public function ajax_get_course_fee_values() { $course_id = $this->input->post('course'); $batch_id = $this->input->post('batch'); $feeid = $this->input->post('fee_id'); $where = array( 'batch_id' => $batch_id, 'course_id' => $course_id, 'fees_type' => $feeid ); $data = $this->Admin_model->get_table_info('course_fees', $where); $html = ''; foreach ($data as $value) { $html .= ''; } echo $html; } public function ajax_get_course_fee_values_count_data() { $course_id = $this->input->post('course'); $batch_id = $this->input->post('batch'); $feeid = $this->input->post('fee_id'); $where = array( 'batch_id' => $batch_id, 'course_id' => $course_id, 'fees_type' => $feeid ); $data = $this->Admin_model->get_table_info('course_fees', $where); $html = ''; foreach ($data as $value) { $html .= ''; } $response['count'] = count($data); $response['data'] = $html; $json = json_encode($response); echo $json; } public function ajax_validate_course_installment() { $course_fee_id = $this->input->post('value'); $id = $this->input->post('id'); $query = $this->Admin_model->check_value_exists('installment', array('course_fee_id' => $course_fee_id), $id); if ($query) echo 'success'; else echo 'failed'; } public function insert_update_feeinstallment($feeId) { $remove = ['paymentoption', 'fibatch_from', 'course_fee', 'batch_id', 'ficourse', 'ft_id']; $_POST = array_diff_key($_POST, array_flip($remove)); $course_fee_id = $this->input->post('course-fee_id'); $payment_method = $this->input->post('payment_method'); $amount = $this->input->post('amount'); $duedate = $this->input->post('duedate'); $active = $this->input->post('is_active'); $due_amount_date = array(); $temp_arr = array(); $count = 0; foreach ($amount as $key => $value) { if (!is_array($value)) { $temp_arr[$payment_method[$count]][] = array( 'due_date' => $duedate[$key], 'amount' => $value ); } else { foreach ($value as $index => $ele) { $temp_arr[$payment_method[$count]][] = array( 'due_date' => $duedate[$key][$index], 'amount' => $ele ); } } $count++; } $store_json = json_encode($temp_arr); $due_amount_date = $store_json; $data_to_db = array( 'course_fee_id' => $course_fee_id, 'due_amount_date' => $due_amount_date, 'is_active' => $active ); if ($feeId == 0) { $insertQuery = $this->Admin_model->add_edit_table('installment', $feeId, $data_to_db); if ($insertQuery) { $this->session->set_flashdata('success', str_replace('%s', 'Fees installment', THE_ADD_SUCCESS_MSG)); redirect(base_url() . 'admin/fee-installment'); } else { $this->session->set_flashdata('failed', str_replace('%s', 'Fees installment', THE_ADD_ERROR_MSG)); redirect(base_url() . 'admin/fee-installment'); } } if ($feeId > 0) { $pay['course_fee_id'] = $course_fee_id; $check_payment = $this->db->get_where('students_online_payments', $pay)->row(); if (!empty($check_payment)) { $this->session->set_flashdata('failed', 'Installment cannot be edited as a payment has already been made'); redirect(base_url() . 'admin/fee-installment'); } $updateQuery = $this->Admin_model->add_edit_table('installment', $feeId, $data_to_db); if ($updateQuery) { $this->session->set_flashdata('success', str_replace('%s', 'Fees installment', THE_UPDATE_SUCCESS_MSG)); redirect(base_url() . 'admin/fee-installment'); } else { $this->session->set_flashdata('failed', str_replace('%s', 'Fees installment', THE_UPDATE_ERROR_MSG)); redirect(base_url() . 'admin/fee-installment'); } } } public function delete_course_installment($installment_id) { $course_fee_id = $this->db->get_where('installment', array('id' => $installment_id))->row()->course_fee_id; $pay['course_fee_id'] = $course_fee_id; $check_payment = $this->db->get_where('students_online_payments', $pay)->row(); if (!empty($check_payment)) { $this->session->set_flashdata('failed', 'Installment cannot be deleted as a payment has already been made'); redirect(base_url() . 'admin/fee-installment'); } $deleteInst = $this->Admin_model->delete_row('installment', array('id' => $installment_id)); if ($deleteInst) { $this->session->set_flashdata('success', str_replace('%s', 'Fees installment', THE_DELETE_SUCCESS_MSG)); redirect(base_url() . 'admin/fee-installment'); } else { $this->session->set_flashdata('failed', str_replace('%s', 'Fees installment', THE_DELETE_ERROR_MSG)); redirect(base_url() . 'admin/fee-installment'); } } // Fee installment end - 16-11-2021 // Online session delete by shivakumar start public function delete_online_session($sessionId) { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); $sessionId = ($sessionId != '') ? $sessionId : 0; if ($sessionId != 0) { $result = $this->Admin_model->delete_onlinesession($sessionId); if ($result == 'exists') { $this->session->set_flashdata('danger', str_replace('%s', 'Online Session', ALREADY_ASSIGNED_TIMETABLE_MSG)); } else if ($result == 'success') { $this->session->set_flashdata('success', str_replace('%s', 'Online Session', THE_DELETE_SUCCESS_MSG)); } else if ($result == 'failed') { $this->session->set_flashdata('danger', str_replace('%s', 'Online Session', THE_DELETE_ERROR_MSG)); } } else { $this->session->set_flashdata('danger', str_replace('%s', 'Online Session', THE_DELETE_ERROR_MSG)); } redirect(base_url() . 'admin/online_session_list'); } // Online session delete by shivakumar end public function reports() { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); if (!file_exists(APPPATH . 'views/admin/report.php')) show_404(); $data['currentURL'] = current_url(); $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); $data['menulist'] = $this->Admin_model->get_adminMenu(); $fee_type_data = array(); $studentInfo = array(); $start_date = date('Y-m-01', strtotime($this->nepali_current_date)); $current_date = date('Y-m-t', strtotime($this->nepali_current_date)); $sqlQuery1 = "SELECT id as feetype_id,feetype_name,icon FROM fee_types WHERE is_active='yes'"; $feetypelist = $this->Admin_model->get_query_result($sqlQuery1); if (isset($feetypelist) && !empty($feetypelist)) { foreach ($feetypelist as $ftype) { if ($ftype['feetype_id'] == 1) { $appication_totalamt = $this->Admin_model->get_currentmonthfee($start_date, $current_date, $ftype['feetype_name'], 'student_fee_online_transactions'); $fee_type_data[] = array( 'feetype_id' => $ftype['feetype_id'], 'feetype_name' => $ftype['feetype_name'], 'feetype_icon' => $ftype['icon'], 'feetype_total' => 0, 'feetype_due_amt' => 0, 'feetype_paid_amount' => (isset($appication_totalamt) && !empty($appication_totalamt)) ? $appication_totalamt : 0 ); } else { $result = $this->Admin_model->currentMonth_fee($start_date, $current_date, $ftype['feetype_id']); $fee_type_data[] = array( 'feetype_id' => $ftype['feetype_id'], 'feetype_name' => $ftype['feetype_name'], 'feetype_icon' => $ftype['icon'], 'feetype_total' => (isset($result['total_course_fee']) && !empty($result['total_course_fee'])) ? $result['total_course_fee'] : 0, 'feetype_due_amt' => (isset($result['pending_fee']) && !empty($result['pending_fee'])) ? $result['pending_fee'] : 0, 'feetype_paid_amount' => (isset($result['paid_amount']) && !empty($result['paid_amount'])) ? $result['paid_amount'] : 0 ); } } } if ($this->input->post('filtersubmit') == "filter") { $feestype = (isset($_POST['by_feetype']) && !empty($_POST['by_feetype'])) ? $_POST['by_feetype'] : ''; $courseId = (isset($_POST['by_course_id']) && !empty($_POST['by_course_id'])) ? $_POST['by_course_id'] : 0; $startDate = (isset($_POST['by_start_paid_date']) && !empty($_POST['by_start_paid_date'])) ? $_POST['by_start_paid_date'] : date('Y-m-01', strtotime($this->nepali_current_date)); $endDate = (isset($_POST['by_end_paid_date']) && !empty($_POST['by_end_paid_date'])) ? $_POST['by_end_paid_date'] : date('Y-m-t', strtotime($this->nepali_current_date)); $where = ''; if ($feestype != '') $where = "WHERE payment_for LIKE '%$feestype%'"; // else if ($startDate != '') // $where = "WHERE date(payment_date) = '$startDate'"; // else if ($endDate != '') // $where = "WHERE date(payment_date) = '$endDate'"; else if ($startDate != '' && $endDate != '') $where = "WHERE date(payment_date) BETWEEN '$startDate' AND '$endDate'"; else if ($feestype != '' && $startDate != '') $where = "WHERE payment_for LIKE '%$feestype%' AND date(payment_date) = '$startDate'"; else if ($feestype != '' && $startDate != '' && $endDate != '') $where = "WHERE payment_for LIKE '%$feestype%' AND Date(payment_date) BETWEEN '$startDate' AND '$endDate'"; $Sqlquery = "SELECT * FROM `student_fee_online_transactions` $where ORDER BY id DESC"; $fees_transactins = $this->Admin_model->get_query_result($Sqlquery); foreach ($fees_transactins as $ft_value) { $studentId = (isset($ft_value['studentId']) && !empty($ft_value['studentId'])) ? $ft_value['studentId'] : 0; if ($courseId != 0) { $student_where = array('applicationid' => $studentId, 'course' => $courseId); } else { $student_where = array('applicationid' => $studentId); } $student = $this->db->get_where('applications', $student_where)->row_array(); $studentDetails = (isset($student) && !empty($student)) ? $student : 0; if ($studentDetails == 0) { if ($courseId != 0) { $Studentwhere = array('studentId' => trim($studentId), 'course' => $courseId); } else { $Studentwhere = array('studentId' => $studentId); } $studentDetails = $this->db->get_where('students', $Studentwhere)->row_array(); } if ($studentDetails != '') { $student_data = array( 'studentId' => $studentId, 'stud_id' => $studentId, 'name' => $studentDetails['name'], 'course' => $studentDetails['course'], 'payment_for' => $ft_value['payment_for'], 'payment_amt' => $ft_value['payment_amt'], 'txn_id' => $ft_value['txn_id'], 'invoice_no' => $ft_value['invoice_no'], 'payment_date' => $ft_value['payment_date'], 'status' => $ft_value['status'], 'course_fee_id' => (isset($ft_value['course_fee_id']) && ($ft_value['course_fee_id'] != 0)) ? $ft_value['course_fee_id'] : 0 ); $studentInfo[] = $student_data; } } $data['search_course_id'] = $courseId; $data['search_feetype'] = $feestype; $data['search_start_paid_date'] = $startDate; $data['search_end_paid_date'] = $endDate; } else { $Sqlquery = "SELECT * FROM `student_fee_online_transactions` ORDER BY id DESC LIMIT 100"; $fees_transactins = $this->Admin_model->get_query_result($Sqlquery); foreach ($fees_transactins as $ft_value) { $studentId = $ft_value['studentId']; $student = $this->db->get_where('applications', array('applicationid' => $studentId))->row_array(); $studentDetails = (isset($student) && !empty($student)) ? $student : 0; if ($studentDetails == 0) { $studentDetails = $this->db->get_where('students', array('studentId' => $studentId))->row_array(); } if ($studentDetails != '') { $student_data = array( 'studentId' => $studentId, 'stud_id' => $studentDetails['id'], 'name' => $studentDetails['name'], 'course' => $studentDetails['course'], 'payment_for' => $ft_value['payment_for'], 'payment_amt' => $ft_value['payment_amt'], 'txn_id' => $ft_value['txn_id'], 'invoice_no' => $ft_value['invoice_no'], 'payment_date' => $ft_value['payment_date'], 'status' => $ft_value['status'], 'course_fee_id' => (isset($ft_value['course_fee_id']) && ($ft_value['course_fee_id'] != 0)) ? $ft_value['course_fee_id'] : 0 ); $studentInfo[] = $student_data; } } } $data['student_fees'] = $studentInfo; $data['current_report_data'] = $fee_type_data; $data['course_list'] = $this->db->query("select * from course WHERE is_active='yes'")->result_array(); $data['feetype_list'] = $this->db->query("select * from fee_types WHERE is_active='yes'")->result_array(); $this->load->view('admin/header', $data); $this->load->view('admin/report', $data); $this->load->view('admin/footer'); } public function payment_overview($fees_type_id) { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); if (!file_exists(APPPATH . 'views/admin/payment_overview.php')) show_404(); $data['currentURL'] = current_url(); $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); $data['menulist'] = $this->Admin_model->get_adminMenu(); if ($this->input->post('search_filter') == "Filter") { $this->form_validation->set_rules('by_feetype', 'Fees Type', 'required'); $feesTypeID = (isset($_POST['by_feetype']) && !empty($_POST['by_feetype'])) ? $_POST['by_feetype'] : ''; $feeTypeName = $this->db->get_where('fee_types', array('id' => $feesTypeID))->row()->feetype_name; $courseId = (isset($search['course_id']) && !empty($search['course_id'])) ? $search['course_id'] : 0; $start_date = (isset($search['start_date']) && !empty($search['start_date'])) ? $search['start_date'] : date('y-m-01'); $end_date = (isset($search['end_date']) && !empty($search['end_date'])) ? $search['end_date'] : date('y-m-t'); $by_payment_status = (isset($search['by_payment_status']) && !empty($search['by_payment_status'])) ? $search['by_payment_status'] : ''; if ($feesTypeID == 1) { $data['payment_data'] = $this->Admin_model->get_payment_by_filter($_POST, $feeTypeName); } else { $data['payment_data'] = $this->Admin_model->get_payment_by_filter_student($_POST, $feeTypeName); } $data['search_feetype'] = $feesTypeID; if ($courseId != 0) $data['course_id'] = $courseId; if ($by_payment_status != '') $data['by_payment_status'] = $by_payment_status; } else { if ($fees_type_id > 0) { $feeTypeName = $this->db->get_where('fee_types', array('id' => $fees_type_id))->row()->feetype_name; if ($fees_type_id == 1) { $data['payment_data'] = $this->Admin_model->get_application_fee($feeTypeName); } else { $data['payment_data'] = $this->Admin_model->get_student_fee($feeTypeName); } $data['search_feetype'] = $fees_type_id; } } $data['course_list'] = $this->db->query("select * from course WHERE is_active='yes'")->result_array(); $data['feetype_list'] = $this->db->query("select * from fee_types WHERE is_active='yes'")->result_array(); $this->load->view('admin/header', $data); $this->load->view('admin/payment_overview', $data); $this->load->view('admin/footer'); } public function downloadSingleId($studentId) { $studentinfo = $this->Admin_model->getstudentRow($studentId); $data['studentinfo'] = $studentinfo; $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); // dd($data); // $this->load->view('admin/singlecard', $data); $this->load->library('m_pdf'); $html = $this->load->view('admin/singlecard', $data, true); //load the pdf.php by passing our data and get all data in $html varriable. $pdfFilePath = $studentinfo['studentId'] . '-' . date('Y-m-d H:i:s', strtotime($this->nepali_current_date)) . ".pdf"; $pdf = $this->m_pdf->loadforStudentIdCard(); // $stylesheet = ''; // $pdf->WriteHTML($stylesheet, 1); $pdf->WriteHTML($html, 2); $pdf->Output($pdfFilePath, "D"); } public function downloadAll() { $studnet_arr = $this->input->post('student_id_list'); $this->load->library('m_pdf'); $studentData = array(); foreach ($studnet_arr as $studValue) { $studentData[] = $this->Admin_model->getstudentRow($studValue); } $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); $data['studentlist'] = $studentData; // $this->load->view('admin/multipulecards', $data); $html = $this->load->view('admin/multipulecards', $data, true); $pdfFilePath = 'StudentCards' . '-' . date('YmdHis') . ".pdf"; $pdf = $this->m_pdf->loadforStudentIdCard(); $pdf->WriteHTML($html, 2); $pdf->Output($pdfFilePath, "D"); } public function invoice($studID, $txn_ID, $count, $invoiceList) { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); if (!file_exists(APPPATH . 'views/admin/invoice.php')) show_404(); $data['currentURL'] = current_url(); $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); $data['menulist'] = $this->Admin_model->get_adminMenu(); $studentID = urlsafe_b64decode($studID); $txnID = urlsafe_b64decode($txn_ID); $counter = urlsafe_b64decode($count); $invoiceList = urlsafe_b64decode($invoiceList); if ($counter > 1) $data['back_url'] = 'admin/student_fee_course/' . $counter; else $data['back_url'] = 'admin/reports'; // $i_list = []; if ($studentID != '' && $txnID != '') { $students = $this->db->get_where('students', array('studentId' => $studentID))->row_array(); // $students = $this->db->query("SELECT name as FROM students WHERE studentId = $studentID")->row_array(); $invoiceData = $students; $i_list = explode(',', $invoiceList); $i_list_data = []; foreach ($i_list as $i_value) { $sql1 = "SELECT course_fees.fee_values,s.course as courseID,s.name,s.studentId,b.b_from,b.b_name as batch_name,b.b_end,sb.batch_id,cl.course_id,cl.section_id,s.parent_pan,sfot.remarks FROM student_fee_online_transactions sfot LEFT JOIN students s ON sfot.studentId=s.studentId LEFT JOIN student_batch sb ON s.id=sb.student_id AND s.batch_id = sb.batch_id LEFT JOIN classroom cl ON cl.id=sb.classroom_id LEFT JOIN batch b ON sb.batch_id=b.id INNER JOIN course_fees ON sfot.course_fee_id = course_fees.id WHERE sfot.studentId='$studentID' AND sfot.txn_id='$txnID' order by sb.id desc"; // $invoice = $this->db->query("select sf.* from student_fee_online_transactions sf WHERE sf.id = $i_value")->result_array(); $invoice = $this->db->get_where('student_fee_online_transactions', array('id' => $i_value))->row_array(); $courseFee = $this->db->query("select id as course_fee_id, amount as fee_amount, fee_values as fee_name, batch_id from course_fees where id = " . $invoice['course_fee_id'])->row_array(); $invoice['course_fee'] = $courseFee; // print_r($invoice); $i_list_data[$i_value] = $invoice; // print_r($i_list_data[$i_value]->payment_for); } $selectedBatch = $invoice['course_fee']['batch_id']; // dd($invoice['course_fee'] ); // $student_ID = $this->db->get_where('students', array('studentId' => $studentID))->row(); // if ($student_ID != '') { $sql1 = "SELECT course_fees.fee_values,s.course as courseID,s.name,s.studentId,b.b_from,b.b_name as batch_name,b.b_end,sb.batch_id,cl.course_id,cl.section_id,s.parent_pan FROM student_fee_online_transactions sfot LEFT JOIN students s ON sfot.studentId=s.studentId LEFT JOIN student_batch sb ON s.id=sb.student_id AND sb.batch_id = $selectedBatch LEFT JOIN classroom cl ON cl.id=sb.classroom_id LEFT JOIN batch b ON sb.batch_id=b.id INNER JOIN course_fees ON sfot.course_fee_id = course_fees.id WHERE sfot.studentId='$studentID' AND sfot.txn_id='$txnID' order by sb.id desc"; $payment_data = $this->Admin_model->get_query_row($sql1); // print_r($payment_data); $student_data = array( 'studentId' => $payment_data['studentId'], 'studentname' => $payment_data['name'], 'batch_name' => $payment_data['batch_name'], 'batch_from' => $payment_data['b_from'], 'batch_end' => $payment_data['b_end'], 'course_id' => (isset($payment_data['course_id']) && !empty($payment_data['course_id'])) ? $payment_data['course_id'] : $payment_data['courseID'], 'tdt' => date('Y-m-d H:i:s', strtotime($this->nepali_current_date)), 'section_id' => $payment_data['section_id'], 'parent_pan' => (isset($payment_data['parent_pan']) && !empty($payment_data['parent_pan'])) ? $payment_data['parent_pan'] : '', // 'invoice_no' => (isset($payment_data['invoice_no']) && !empty($payment_data['invoice_no'])) ? $payment_data['invoice_no'] : '' ); $student_data['invoices'] = $i_list_data; $data['invoice_data'] = $student_data; // $data['invoice_data'] = $student_data; // } else { // $sql2 = "SELECT soft.*,course_fees.fee_values,a.name,a.course,b.b_name as batch_name,b.b_from,b.b_end FROM student_fee_online_transactions soft LEFT JOIN applications a ON a.applicationid=soft.studentId LEFT JOIN batch b ON b.id=a.batch_id LEFT JOIN course_fees ON soft.course_fee_id = course_fees.id WHERE soft.studentId='$studentID' AND soft.txn_id='$txnID' order by soft.id desc"; // $paymentdata = $this->Admin_model->get_query_row($sql2); // // dd($sql2); // if (count($paymentdata) > 0) { // $application_data = array( // 'student_fee_online_transactions_id' => $paymentdata['id'], // 'studentId' => $paymentdata['studentId'], // 'payment_for' => $paymentdata['fee_values'] . '(' . $paymentdata['payment_for'] . ')', // 'txn_id' => $paymentdata['txn_id'], // 'payment_amt' => $paymentdata['payment_amt'], // 'paid_date' => $paymentdata['payment_date'], // 'studentname' => $paymentdata['name'], // 'batch_name' => $paymentdata['batch_name'], // 'batch_from' => $paymentdata['b_from'], // 'batch_end' => $paymentdata['b_end'], // 'course_id' => $paymentdata['course'], // 'received_by' => $paymentdata['payment_recived_id'], // 'payment_method' => $paymentdata['payment_method'], // 'fine_amount' => $paymentdata['fine_amount'], // 'tdt' => date('Y-m-d H:i:s', strtotime($this->nepali_current_date)), // 'deduction_type' => $paymentdata['deduction_type'], // 'deduction_amount' => $paymentdata['deduction_amount'], // 'section_id' => 0, // 'bill_print_count' => $paymentdata['bill_print_count'], // 'course_fee_id' => $paymentdata['course_fee_id'], // 'install_sno' => $paymentdata['install_sno'], // 'parent_pan' => '', // 'invoice_no' => (isset($paymentdata['invoice_no']) && !empty($paymentdata['invoice_no'])) ? $paymentdata['invoice_no'] : '' // ); // $data['invoice_data'] = $application_data; // } // } } $this->load->view('admin/header', $data); $this->load->view('admin/invoice', $data); $this->load->view('admin/footer'); } public function invoicedownload($studID, $txn_ID) { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); if (!file_exists(APPPATH . 'views/admin/invoicepdf.php')) show_404(); $this->load->library('m_pdf'); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); $studentID = urlsafe_b64decode($studID); $txnID = urlsafe_b64decode($txn_ID); if ($studentID != '' && $txnID != '') { $student_ID = $this->db->get_where('students', array('studentId' => $studentID))->row(); if ($student_ID != '') { $this->db->where('studentId', $studentID); $this->db->where('txn_id', $txnID); $this->db->set('bill_print_count', 'bill_print_count+1', FALSE); $update = $this->db->update('student_fee_online_transactions'); $sql1 = "SELECT sfot.*,course_fees.fee_values,s.course as courseID,s.name,s.studentId,b.b_name as batch_name,b.b_from,b.b_end,sb.batch_id,cl.course_id,cl.section_id,s.parent_pan FROM student_fee_online_transactions sfot LEFT JOIN students s ON sfot.studentId=s.studentId LEFT JOIN student_batch sb ON s.id=sb.student_id AND sb.batch_id = s.batch_id LEFT JOIN classroom cl ON cl.id=sb.classroom_id LEFT JOIN batch b ON sb.batch_id=b.id INNER JOIN course_fees ON sfot.course_fee_id = course_fees.id WHERE sfot.studentId='$studentID' AND sfot.txn_id='$txnID' order by sb.id desc"; $payment_data = $this->Admin_model->get_query_row($sql1); $student_data = array( 'student_fee_online_transactions_id' => $payment_data['id'], 'studentId' => $payment_data['studentId'], 'payment_for' => $payment_data['fee_values'] . '(' . $payment_data['payment_for'] . ')', 'txn_id' => $payment_data['txn_id'], 'payment_amt' => $payment_data['payment_amt'], 'paid_date' => $payment_data['payment_date'], 'studentname' => $payment_data['name'], 'batch_name' => $payment_data['batch_name'], 'batch_from' => $payment_data['b_from'], 'batch_end' => $payment_data['b_end'], 'received_by' => $payment_data['payment_recived_id'], 'payment_method' => $payment_data['payment_method'], 'course_id' => (isset($payment_data['course_id']) && !empty($payment_data['course_id'])) ? $payment_data['course_id'] : $payment_data['courseID'], 'tdt' => date('Y-m-d H:i:s', strtotime($this->nepali_current_date)), 'section_id' => $payment_data['section_id'], 'payment_method' => $payment_data['payment_method'], 'fine_amount' => $payment_data['fine_amount'], 'deduction_type' => $payment_data['deduction_type'], 'deduction_amount' => $payment_data['deduction_amount'], 'bill_print_count' => $payment_data['bill_print_count'], 'course_fee_id' => $payment_data['course_fee_id'], 'install_sno' => $payment_data['install_sno'], 'parent_pan' => (isset($payment_data['parent_pan']) && !empty($payment_data['parent_pan'])) ? $payment_data['parent_pan'] : '', 'invoice_no' => (isset($payment_data['invoice_no']) && !empty($payment_data['invoice_no'])) ? $payment_data['invoice_no'] : '' ); $data['invoice_data'] = $student_data; } else { $this->db->where('studentId', $studentID); $this->db->where('txn_id', $txnID); $this->db->set('bill_print_count', 'bill_print_count+1', FALSE); $update = $this->db->update('student_fee_online_transactions'); $sql2 = "SELECT soft.*,course_fees.fee_values,a.name,a.course,b.b_name as batch_name,b.b_from,b.b_end FROM student_fee_online_transactions soft LEFT JOIN applications a ON a.applicationid=soft.studentId LEFT JOIN batch b ON b.id=a.batch_id INNER JOIN course_fees ON soft.course_fee_id = course_fees.id WHERE soft.studentId='$studentID' AND soft.txn_id='$txnID' order by soft.id desc"; $paymentdata = $this->Admin_model->get_query_row($sql2); if (count($paymentdata) > 0) { $application_data = array( 'student_fee_online_transactions_id' => $paymentdata['id'], 'studentId' => $paymentdata['studentId'], 'payment_for' => $paymentdata['fee_values'] . '(' . $paymentdata['payment_for'] . ')', 'txn_id' => $paymentdata['txn_id'], 'payment_amt' => $paymentdata['payment_amt'], 'paid_date' => $paymentdata['payment_date'], 'studentname' => $paymentdata['name'], 'batch_name' => $paymentdata['batch_name'], 'batch_from' => $paymentdata['b_from'], 'batch_end' => $paymentdata['b_end'], 'received_by' => $paymentdata['payment_recived_id'], 'payment_method' => $paymentdata['payment_method'], 'course_id' => $paymentdata['course'], 'tdt' => date('Y-m-d H:i:s', strtotime($this->nepali_current_date)), 'section_id' => 0, 'payment_method' => $paymentdata['payment_method'], 'fine_amount' => $paymentdata['fine_amount'], 'deduction_type' => $paymentdata['deduction_type'], 'deduction_amount' => $paymentdata['deduction_amount'], 'bill_print_count' => $paymentdata['bill_print_count'], 'course_fee_id' => $paymentdata['course_fee_id'], 'install_sno' => $paymentdata['install_sno'], 'parent_pan' => '', 'invoice_no' => (isset($paymentdata['invoice_no']) && !empty($paymentdata['invoice_no'])) ? $paymentdata['invoice_no'] : '' ); $data['invoice_data'] = $application_data; } } } // $this->load->view('admin/invoicepdf', $data); $html = $this->load->view('admin/invoicepdf', $data, true); $pdfFilePath = $studentID . '-' . date('Y-m-dHis') . ".pdf"; $pdf = $this->m_pdf->loadforinvoice(); // $stylesheet = file_get_contents(base_url().'assets_admin/css/invoice.css'); // external css // $pdf->WriteHTML($stylesheet,1); $pdf->WriteHTML($html, 2); $pdf->Output($pdfFilePath, "D"); } public function delete_test_exam_question($id) { $sql = $this->Admin_model->delete_test_exam_question($id); if ($sql) { $this->session->set_flashdata('success', 'Exam Questions has been successfully deleted'); redirect(base_url() . 'admin/test-exam-list'); } else { $this->session->set_flashdata('danger', 'Exam Questions could not been deleted, Please try again!'); redirect(base_url() . 'admin/test-exam-list'); } } // batch date by shivakumar start public function getbatchDates() { $batchID = (isset($_POST['batch_id']) && !empty($_POST['batch_id'])) ? $_POST['batch_id'] : 0; if ($batchID > 0) { $sql = "SELECT * from batch WHERE id='$batchID'"; $result = $this->Admin_model->get_query_row($sql); if (!empty($result)) { echo json_encode($result); } else echo 0; } else echo 0; } public function fee_collection($appID) { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); if (!file_exists(APPPATH . 'views/admin/feecollection.php')) show_404(); $cfid = ''; $cid = ''; $data['currentURL'] = current_url(); //get logo $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); //get menu list $data['menulist'] = $this->Admin_model->get_adminMenu(); $student_id = ''; if ($appID) { $applicationID = (isset($appID) && !empty($appID)) ? urlsafe_b64decode($appID) : 0; $Sql = "SELECT * FROM applications WHERE applicationid='$applicationID'"; $result = $this->Admin_model->get_query_row($Sql); if ($result != '') { $course_fees = $this->Admin_model->applications_get($result, 2); $data['feetypeName'] = $this->db->get_where('fee_types', array('id' => 2))->row()->feetype_name; $course_fee_id = ($course_fees != '') ? $course_fees['id'] : 0; $sqlQuery1 = "SELECT * FROM installment WHERE course_fee_id=$course_fee_id AND is_active='yes'"; $data['installment'] = $this->Admin_model->get_query_row($sqlQuery1); $data['course_fees'] = $course_fees; $data['studentinfo'] = $result; $data['student_info_array']['name'] = $result['name']; $data['student_info_array']['email'] = $result['email']; $data['student_info_array']['applicationid'] = $result['applicationid']; } } //Student Info $this->load->view('admin/header', $data); $this->load->view('admin/feecollection', $data); $this->load->view('admin/footer'); } function get_installdetails() { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); //paypal return transaction details array $install_type = $this->input->post('install_type'); $installment_id = $this->input->post('installment_id'); $applicationId = $this->input->post('application_id'); $install = $this->Admin_model->install_get($installment_id); $array_install = json_decode($install['due_amount_date']); $html = ''; foreach ($array_install as $key => $installvalue) { if ($key == $install_type) { foreach ($installvalue as $inskey => $val) { $due_date = ($inskey == 0) ? " Instant Payment " : "" . $val->due_date . ""; $checkbox = ($inskey == 0) ? "style='color:green'" : "style='color:red'"; $firstPayment = ($inskey == 0) ? $val->amount : 0; $html .= ''; // //} } } echo $html; } public function feecollectionFromStudent() { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); $application_id = $_POST['application_id']; $course_fee_id = $_POST['course_fee_id']; $payment_method = $_POST['payment_method']; $installType = $_POST['payment_options']; $description = $_POST['description']; $totalAmount = $_POST['totalAmount']; $fees_type = $_POST['fees_type']; $school_info = $this->Admin_model->get_logo_from_setting(); $reimbursement_type = $_POST['deduction_type'] ? $_POST['deduction_type'] : ''; $reimbursement_amount = $_POST['deduction_amount'] ? $_POST['deduction_amount'] : 0; $studfees = array(); $stid = $this->Admin_model->applicationinfo_movingto_students($application_id); if ($stid == -1) { $this->session->set_flashdata('danger', 'Payment Failed'); redirect(base_url() . 'admin/get_application'); } else { $studentappId = $this->db->get_where('students', array('id' => $stid))->row()->studentId; $coursefees = $this->Admin_model->get_query_row("SELECT id,due_amount_date FROM installment WHERE course_fee_id=$course_fee_id"); $coursefeesarr = json_decode($coursefees['due_amount_date']); $firstpay = true; foreach ($coursefeesarr as $k => $cf_value) { if ($installType == $k) { foreach ($cf_value as $index => $val1) { if ($firstpay) { $studfees[] = array( 'install_sno' => $index + 1, 'due_date' => $val1->due_date, 'feeamount' => $val1->amount, 'deduction_type' => $reimbursement_type, 'deduction_amount' => $reimbursement_amount, 'paid_amount' => $totalAmount - $reimbursement_amount, 'payment_status' => 'yes', 'paid_date' => date('Y-m-d H:i:s', strtotime($this->nepali_current_date)) ); $firstpay = false; } else { $studfees[] = array( 'install_sno' => $index + 1, 'due_date' => $val1->due_date, 'feeamount' => $val1->amount, 'deduction_type' => '', 'deduction_amount' => 0, 'paid_amount' => 0, 'payment_status' => 'no', 'paid_date' => date('Y-m-d H:i:s', strtotime($this->nepali_current_date)) ); } } } } $stdentfee = array( 'student_id' => $stid, 'course_fee_id' => $course_fee_id, 'installment_type_id' => $installType, 'payment_details' => json_encode($studfees), 'payment_method' => $payment_method, 'created' => date('Y-m-d H:i:s', strtotime($this->nepali_current_date)), 'modified' => date('Y-m-d H:i:s', strtotime($this->nepali_current_date)) ); $result = $this->db->insert('students_online_payments', $stdentfee); if (!empty($result)) { $a = mt_rand(100000, 999999); $transData['studentId'] = (!empty($studentappId)) ? $studentappId : $stid; $transData['payment_for'] = $fees_type; $transData['txn_id'] = $a . $studentappId; $transData['payment_amt'] = $totalAmount; $transData['currency_code'] = $school_info['currency']; $transData['status'] = 'Completed'; $transData['payment_date'] = date('Y-m-d H:i:s', strtotime($this->nepali_current_date)); $transData['payment_recived_id'] = $this->session->userdata('admin_name'); $transData['payment_method'] = $payment_method; $transData['bank_transaction_id'] = (isset($description) && !empty($description)) ? $description : NULL; $transData['course_fee_id'] = $course_fee_id; $rst = $this->Admin_model->storefeeTransaction($transData); if ($rst) $this->session->set_flashdata('success', 'Fees Added successfully'); else $this->session->set_flashdata('error', 'Fees Insertion failed Transactions '); } else { $this->session->set_flashdata('error', 'Fees collection failed. Please Try once'); } redirect(base_url() . 'admin/get_application'); } } //school Setting by Shankar public function SchoolSetting() { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); if (!file_exists(APPPATH . 'views/admin/setting.php')) show_404(); $data['title'] = 'School Settings'; $data['currentURL'] = current_url(); //get logo $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); //get menu list $data['menulist'] = $this->Admin_model->get_adminMenu(); $data['courses'] = $this->Admin_model->get_courses(); $data['batch'] = $this->Admin_model->get_batch(); $data['result'] = $this->db->query('select * from school_settings where id= 1')->row_array(); // $rst=$this->db->query("SELECT invoice_no FROM `student_fee_online_transactions` ORDER BY id DESC")->row_array(); // if(!empty($rst)){ // $data['new_invoice_no']=(isset($rst['invoice_no']) && !empty($rst['invoice_no'])) ? $rst['invoice_no'] :"0000"; // } $data['currency'] = currency_data(); $this->load->view('admin/header', $data); $this->load->view('admin/setting'); $this->load->view('admin/footer'); } public function AddEditSchoolSetting() { // echo "Due dates :
' . str_replace(',', '
', $n["duedates"]) . ' //";print_r($_FILES); $get_school_data = $this->db->get('school_settings')->row_array(); // dd($get_school_data); if ($get_school_data) { $signiture = 'common_assets/' . $get_school_data['authorized_signature']; $white_logo = 'common_assets/' . $get_school_data['logo']; $color_logo = 'common_assets/' . $get_school_data['color_logo']; $markscard_header = ($get_school_data['markscard_header'] != '' && !empty($get_school_data['markscard_header'])) ? 'common_assets/' . $get_school_data['markscard_header'] : ''; } else { $signiture = ''; $white_logo = ''; $color_logo = ''; $markscard_header = ''; } $data_array = array(); // test_view_array($_FILES); if (isset($_FILES["ssigniture"]["name"]) && !empty($_FILES["ssigniture"]["name"])) { if (file_exists($signiture)) { unlink($signiture); } // $_FILES["ssigniture"]["name"] = 'signature-scan.png'; $filename = $_FILES["ssigniture"]["name"]; $location = 'common_assets/' . $filename; $imageFileType = pathinfo($location, PATHINFO_EXTENSION); $imageFileType = strtolower($imageFileType); /* Valid extensions */ $valid_extensions = array("png"); $response = 0; /* Check file extension */ if (in_array(strtolower($imageFileType), $valid_extensions)) { /* Upload file */ if (move_uploaded_file($_FILES['ssigniture']['tmp_name'], $location)) { $data_array['authorized_signature'] = str_replace("common_assets/", "", $location); } } } if (isset($_FILES["swhiteLogo"]["name"]) && !empty($_FILES["swhiteLogo"]["name"])) { if (file_exists($white_logo)) { unlink($white_logo); } // $_FILES["swhiteLogo"]["name"] = 'white_logo.png'; $filename = $_FILES["swhiteLogo"]["name"]; $location = 'common_assets/' . $filename; $imageFileType = pathinfo($location, PATHINFO_EXTENSION); $imageFileType = strtolower($imageFileType); /* Valid extensions */ $valid_extensions = array("png"); $response = 0; /* Check file extension */ if (in_array(strtolower($imageFileType), $valid_extensions)) { /* Upload file */ if (move_uploaded_file($_FILES['swhiteLogo']['tmp_name'], $location)) { $data_array['logo'] = str_replace("common_assets/", "", $location); } } } if (isset($_FILES["scolorLogo"]["name"]) && !empty($_FILES["scolorLogo"]["name"])) { if (file_exists($color_logo)) { unlink($color_logo); } // $_FILES["scolorLogo"]["name"] = 'color_logo.png'; $filename = $_FILES["scolorLogo"]["name"]; $location = 'common_assets/' . $filename; $imageFileType = pathinfo($location, PATHINFO_EXTENSION); $imageFileType = strtolower($imageFileType); /* Valid extensions */ $valid_extensions = array("png"); $response = 0; /* Check file extension */ if (in_array(strtolower($imageFileType), $valid_extensions)) { /* Upload file */ if (move_uploaded_file($_FILES['scolorLogo']['tmp_name'], $location)) { $data_array['color_logo'] = str_replace("common_assets/", "", $location); } } } if (isset($_FILES["markscard_header"]["name"]) && !empty($_FILES["markscard_header"]["name"])) { if ($markscard_header != '') { if (file_exists($markscard_header)) { unlink($markscard_header); } } $filename = $_FILES["markscard_header"]["name"]; $location = 'common_assets/' . $filename; $imageFileType = pathinfo($location, PATHINFO_EXTENSION); $imageFileType = strtolower($imageFileType); // echo $imageFileType; exit; $valid_extensions = array("png", "jpg", "jpeg"); $response = 0; /* Check file extension */ if (in_array($imageFileType, $valid_extensions)) { // echo $imageFileType; exit; /* Upload file */ if (move_uploaded_file($_FILES['markscard_header']['tmp_name'], $location)) { $data_array['markscard_header'] = str_replace("common_assets/", "", $location); } } } // dd($data_array); $data_array['school_name'] = $_POST['sname']; $data_array['school_code'] = $_POST['scode']; $data_array['email'] = $_POST['semail']; $data_array['phone'] = $_POST['scontact']; $data_array['address'] = $_POST['saddress']; $data_array['website_link'] = $_POST['swebsite']; $data_array['twitter'] = $_POST['stwitter']; $data_array['instagram'] = $_POST['sinstagram']; $data_array['facebook'] = $_POST['sfacebook']; $data_array['date_format'] = $_POST['sdateformat']; $data_array['batch_id'] = $_POST['sbatch']; $cur_sym = explode('-', $_POST['scurrency']); $data_array['currency'] = $cur_sym[0]; $data_array['currency_symbol'] = $cur_sym[1]; $data_array['modified'] = date('Y-m-d H:i:s', strtotime($this->nepali_current_date)); $data_array['pan'] = strtoupper($_POST['span']); $data_array['school_prefix_id'] = strtoupper($_POST['school_prefix_id']); $data_array['invoice_prefix'] = strtoupper($_POST['invoice_prefix']); $data_array['invoice_sno'] = trim($_POST['invoice_sno']); $data_array['invoice_prefix_status'] = $_POST['invoice_prefix_status']; // $data_array['markscard_header'] = (isset($data_array['markscard_header']) && !empty($data_array['markscard_header'])) ? base_url('common_assets/'.$data_array['markscard_header']) :''; // dd($data_array); $this->db->where('id', 1); $this->db->update('school_settings', $data_array); $updated_status = $this->db->affected_rows(); if ($updated_status) { $CI = &get_instance(); $logoSetting = $CI->load->database('schoolSetting', TRUE); $check_school = $this->db->query('select school_main_id, auth_key from school_settings')->row_array(); if (isset($data_array['color_logo']) && !empty($data_array['color_logo'])) { $content['logo'] = base_url('common_assets/' . $data_array['color_logo']); $logoSetting->where('id', $check_school['school_main_id']); $logoSetting->where('auth_key', $check_school['auth_key']); $logoSetting->update('school_data', $content); $updated_school_data = $logoSetting->affected_rows(); } $check_image = $logoSetting->query('select logo from school_data where id=' . $check_school['school_main_id'] . ' AND auth_key = "' . $check_school['auth_key'] . '"')->row_array(); if (empty($check_image['logo'])) { $content['logo'] = base_url('common_assets/black_logo.png'); $logoSetting->where('id', $check_school['school_main_id']); $logoSetting->where('auth_key', $check_school['auth_key']); $logoSetting->update('school_data', $content); $updated_school_data = $logoSetting->affected_rows(); } $this->session->set_flashdata('success', str_replace('%s', 'School Setting', THE_UPDATE_SUCCESS_MSG)); redirect(base_url() . 'admin/SchoolSetting'); } else { $this->session->set_flashdata('danger', str_replace('%s', 'School Setting', THE_UPDATE_FAILED_MSG)); redirect(base_url() . 'admin/SchoolSetting'); } } //shiv kumar code for offline fee collection public function student_fee_course() { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); // if (!file_exists(APPPATH . 'views/admin/student-fee-list.php')) // show_404(); $course_fee_id = $this->uri->segment(3); $data['currentURL'] = current_url(); //get logo $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); //get menu list $data['menulist'] = $this->Admin_model->get_adminMenu(); $data['fees_details'] = $this->db->query("select cf.id as course_fee_id,cf.batch_id, cf.course_id, ft.feetype_name, c.course_name, cf.amount from course c, course_fees cf, fee_types ft where cf.id = '$course_fee_id' and c.id = cf.course_id")->row_array(); $data['title'] = $data['fees_details']['feetype_name']; $student_coure_fee = array(); if (!empty($data['fees_details'])) { $student_list = $this->db->query('select s.id as student_id ,s.name, s.studentId from students s where s.course =' . $data['fees_details']['course_id'] . ' and s.batch_id =' . $data['fees_details']['batch_id'] . '')->result_array(); foreach ($student_list as $key => $value) { $paid_list = $this->db->query('select sop.payment_details, sop.installment_type_id, sop.id as student_online_payment_id from students_online_payments sop where student_id =' . $value['student_id'] . ' and sop.course_fee_id =' . $data['fees_details']['course_fee_id'] . '')->row_array(); $get_txn_id = $this->db->query('select sfot.txn_id from student_fee_online_transactions sfot where sfot.course_fee_id = ' . $data['fees_details']['course_fee_id'] . ' and sfot.studentId ="' . $value['studentId'] . '" order by sfot.id DESC')->row_array(); if (!empty($paid_list)) array_push($student_coure_fee, array( 'status' => 1, 'student_id' => $value['student_id'], 'student_name' => $value['name'], 'student_number' => $value['studentId'], 'payment_details' => $paid_list['payment_details'], 'installment_type_id' => $paid_list['installment_type_id'], 'student_online_payment_id' => $paid_list['student_online_payment_id'], 'txn_id' => $get_txn_id['txn_id'] ? $get_txn_id['txn_id'] : 0 )); else array_push($student_coure_fee, array( 'status' => 0, 'student_id' => $value['student_id'], 'student_name' => $value['name'], 'student_number' => $value['studentId'] )); } } $data['course_fee_student'] = $student_coure_fee; $this->load->view('admin/header', $data); $this->load->view('admin/student-fee-list', $data); $this->load->view('admin/footer'); } public function studentfeelistFromStudent() { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); $this->load->model('Student_model'); $application_id = $_POST['student_id']; //ECA007362 $course_fee_id = $_POST['fees_type_id']; // 13 $payment_method = $_POST['payment_method']; //cash or bank $installType = $_POST['installment_type_id']; // 1,2,3,4 $description = $_POST['transaction_id']; // transaction id $totalAmount = $_POST['amount']; // 5000 $fees_type = $_POST['fees_type']; // course fee , application $school_info = $this->Admin_model->get_logo_from_setting(); $check_id_record_exist = $this->db->get_where('students_online_payments', array('student_id' => $application_id, 'course_fee_id' => $course_fee_id))->row(); $studentappId = $this->db->get_where('students', array('id' => $application_id))->row()->studentId; if ($check_id_record_exist) { $payment_installments = $check_id_record_exist->payment_details; $payment_row_id = $check_id_record_exist->id; $flag = true; $installment_data = (array)json_decode($payment_installments); foreach ($installment_data as $key => $value) { if ($value->payment_status == 'no' && $flag) { $installment_data[$key]->paid_amount = $totalAmount; $installment_data[$key]->payment_status = 'yes'; $installment_data[$key]->paid_date = date('Y-m-d H:i:s', strtotime($this->nepali_current_date)); $flag = false; } } $update_data['payment_details'] = json_encode($installment_data); $update_data['modified'] = date('Y-m-d H:i:s', strtotime($this->nepali_current_date)); $result_success = $this->Student_model->add_edit_table('students_online_payments', $payment_row_id, $update_data); } else { $studfees = array(); $coursefees = $this->Admin_model->get_query_row("SELECT id,due_amount_date FROM installment WHERE course_fee_id=$course_fee_id"); if (empty($coursefees)) { $this->session->set_flashdata('failed', 'Please Create Installment First'); redirect(base_url() . 'admin/student_fee_course/' . $course_fee_id); } $coursefeesarr = json_decode($coursefees['due_amount_date']); $firstpay = true; foreach ($coursefeesarr as $k => $cf_value) { if ($installType == $k) { foreach ($cf_value as $index => $val1) { if ($firstpay) { $studfees[] = array( 'install_sno' => $index + 1, 'due_date' => $val1->due_date, 'feeamount' => $val1->amount, 'paid_amount' => $totalAmount, 'payment_status' => 'yes', 'paid_date' => date('Y-m-d H:i:s') ); $firstpay = false; } else { $studfees[] = array( 'install_sno' => $index + 1, 'due_date' => $val1->due_date, 'feeamount' => $val1->amount, 'paid_amount' => 0, 'payment_status' => 'no', 'paid_date' => date('Y-m-d H:i:s') ); } } } } $stdentfee = array( 'student_id' => $application_id, 'course_fee_id' => $course_fee_id, 'installment_type_id' => $installType, 'payment_details' => json_encode($studfees), 'payment_method' => $payment_method, 'created' => date('Y-m-d H:i:s', strtotime($this->nepali_current_date)), 'modified' => date('Y-m-d H:i:s', strtotime($this->nepali_current_date)) ); $result_success = $this->db->insert('students_online_payments', $stdentfee); } if ($result_success) { $transData['studentId'] = (!empty($studentappId)) ? $studentappId : $application_id; $transData['payment_for'] = $fees_type; $transData['txn_id'] = date('Ymd', strtotime($this->nepali_current_date)) . $studentappId; $transData['payment_amt'] = $totalAmount; $transData['currency_code'] = $school_info['currency']; $transData['status'] = 'Completed'; $transData['payment_date'] = date('Y-m-d H:i:s', strtotime($this->nepali_current_date)); $transData['payment_recived_id'] = $this->session->userdata('admin_name'); $transData['payment_method'] = $payment_method; $transData['bank_transaction_id'] = (isset($description) && !empty($description)) ? $description : NULL; $transData['course_fee_id'] = $course_fee_id; $rst = $this->Admin_model->storefeeTransaction($transData); if ($rst) $this->session->set_flashdata('success', 'Fees Added successfully'); else $this->session->set_flashdata('failed', 'Fees Insertion failed Transactions '); } else { $this->session->set_flashdata('failed', 'Fees collection failed. Please Try once'); } redirect(base_url() . 'admin/student_fee_course/' . $course_fee_id); } public function studentOfflineFees() { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); $this->load->model('Student_model'); $application_id = $_POST['student_id']; //ECA007362 $course_fee_id = $_POST['fees_type_id']; // 13 $payment_method = $_POST['payment_method']; //cash or bank $installType = $_POST['installment_type_id']; // 1,2,3,4 $description = $_POST['transaction_id']; // transaction id $totalAmount = $_POST['amount']; // 5000 $fees_type = $_POST['fees_type']; // course fee , application $school_info = $this->Admin_model->get_logo_from_setting(); $check_id_record_exist = $this->db->get_where('students_online_payments', array('student_id' => $application_id, 'course_fee_id' => $course_fee_id))->row(); $studentappId = $this->db->get_where('students', array('id' => $application_id))->row()->studentId; if ($check_id_record_exist) { $payment_installments = $check_id_record_exist->payment_details; $payment_row_id = $check_id_record_exist->id; $flag = true; $installment_data = (array)json_decode($payment_installments); foreach ($installment_data as $key => $value) { if ($value->payment_status == 'no' && $flag) { $installment_data[$key]->paid_amount = $totalAmount; $installment_data[$key]->payment_status = 'yes'; $installment_data[$key]->paid_date = date('Y-m-d H:i:s', strtotime($this->nepali_current_date)); $flag = false; } } $update_data['payment_details'] = json_encode($installment_data); $update_data['modified'] = date('Y-m-d H:i:s', strtotime($this->nepali_current_date)); $result_success = $this->Student_model->add_edit_table('students_online_payments', $payment_row_id, $update_data); } else { $studfees = array(); $coursefees = $this->Admin_model->get_query_row("SELECT id,due_amount_date FROM installment WHERE course_fee_id=$course_fee_id"); if (empty($coursefees)) { $this->session->set_flashdata('failed', 'Please Create Installment First'); redirect(base_url() . 'admin/student_fee_course/' . $course_fee_id); } $coursefeesarr = json_decode($coursefees['due_amount_date']); $firstpay = true; foreach ($coursefeesarr as $k => $cf_value) { if ($installType == $k) { foreach ($cf_value as $index => $val1) { if ($firstpay) { $studfees[] = array( 'install_sno' => $index + 1, 'due_date' => $val1->due_date, 'feeamount' => $val1->amount, 'paid_amount' => $totalAmount, 'payment_status' => 'yes', 'paid_date' => date('Y-m-d H:i:s', strtotime($this->nepali_current_date)) ); $firstpay = false; } else { $studfees[] = array( 'install_sno' => $index + 1, 'due_date' => $val1->due_date, 'feeamount' => $val1->amount, 'paid_amount' => 0, 'payment_status' => 'no', 'paid_date' => date('Y-m-d H:i:s', strtotime($this->nepali_current_date)) ); } } } } $stdentfee = array( 'student_id' => $application_id, 'course_fee_id' => $course_fee_id, 'installment_type_id' => $installType, 'payment_details' => json_encode($studfees), 'payment_method' => $payment_method, 'created' => date('Y-m-d H:i:s', strtotime($this->nepali_current_date)), 'modified' => date('Y-m-d H:i:s', strtotime($this->nepali_current_date)) ); $result_success = $this->db->insert('students_online_payments', $stdentfee); } if ($result_success) { $transData['studentId'] = (!empty($studentappId)) ? $studentappId : $application_id; $transData['payment_for'] = $fees_type; $transData['txn_id'] = date('Ymd') . $studentappId; $transData['payment_amt'] = $totalAmount; $transData['currency_code'] = $school_info['currency']; $transData['status'] = 'Completed'; $transData['payment_date'] = date('Y-m-d H:i:s', strtotime($this->nepali_current_date)); $transData['payment_recived_id'] = $this->session->userdata('admin_name'); $transData['payment_method'] = $payment_method; $transData['bank_transaction_id'] = (isset($description) && !empty($description)) ? $description : NULL; $transData['course_fee_id'] = $course_fee_id; $rst = $this->Admin_model->storefeeTransaction($transData); if ($rst) $this->session->set_flashdata('success', 'Fees Added successfully'); else $this->session->set_flashdata('failed', 'Fees Insertion failed Transactions '); } else { $this->session->set_flashdata('failed', 'Fees collection failed. Please Try once'); } redirect(base_url() . 'admin/view-student-payments/' . $application_id); } public function viewStudentImportFile() { if (isset($_SESSION['admin_id'])) { if (isset($_SESSION['promote_table'])) $data['view_data'] = $_SESSION['promote_table']; else $data['view_data'] = null; $cid = ''; $data['currentURL'] = current_url(); //get logo $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); //get menu list $data['menulist'] = $this->Admin_model->get_adminMenu(); $data['course'] = $this->db->query("select * from course WHERE is_active='yes'")->result_array(); $data['batch'] = $this->Admin_model->get_batch(); $this->load->view('admin/header', $data); $this->load->view('admin/importMemberList', $data); $this->load->view('admin/footer'); } } public function importStudents() { $school_info = $this->Admin_model->get_logo_from_setting(); if (empty($_FILES['file']['name'])) { $this->session->set_flashdata('failed', 'Please Upload CSV file... '); redirect(base_url() . 'admin/student'); } $fileAr = explode('.', $_FILES['file']['name']); if ($fileAr[1] !== 'csv') { $this->session->set_flashdata('failed', 'Please Upload CSV file... '); redirect(base_url() . 'admin/viewStudentImportFile'); } $this->load->library('CSVReader'); $result = $this->csvreader->parse_file($_FILES['file']['tmp_name']); // dd(); $table_view = array(); $course_id = $_POST['course']; $batch_id = $_POST['batch']; $section_id = $_POST['section']; if (count($result) > 500) { $this->session->set_flashdata('failed', 'Data Should not be more than 500 '); redirect(base_url() . 'admin/viewStudentImportFile'); } foreach ($result as $key => $value) { if (empty($value['name']) || empty($value['email']) || empty($value['mobile']) || empty($value['gender']) || empty($value['dob']) || empty($value['country']) || empty($value['state']) || empty($value['address1']) || empty($value['zipcode']) || empty($value['hostel']) || empty($value['registered_on']) || empty($value['payment_status']) || empty($value['assign_status']) || empty($value['emergency_contact_name']) || empty($value['emergency_contact_number']) || ((strtolower($value['payment_status']) != 'yes') && (strtolower($value['payment_status']) != 'no')) || ((strtolower($value['assign_status']) != 'yes') && (strtolower($value['assign_status']) != 'no')) || ((strtolower($value['hostel']) != 'yes') && (strtolower($value['hostel']) != 'no'))) { array_push($table_view, array( 'name' => $value['name'], 'studentId' => '', 'batch_id' => $batch_id, 'email' => $value['email'], 'mobile' => $value['mobile'], 'gender' => $value['gender'], 'dob' => $value['dob'], 'registered_on' => $value['registered_on'], 'status' => 'madatory fields not filled' )); continue; } // dd($table_view); $check_query = $this->db->query("SELECT count(id) as count FROM students WHERE email = '" . $value['email'] . "'")->row_array(); if ($check_query['count'] > 0) { array_push($table_view, array( 'name' => $value['name'], 'studentId' => '', 'batch_id' => $batch_id, 'email' => $value['email'], 'mobile' => $value['mobile'], 'gender' => $value['gender'], 'dob' => $value['dob'], 'registered_on' => date('Y-m-d', strtotime($value['registered_on'])), 'status' => 'duplicate' )); continue; } // dd($table_view); $this->db->select_max('id'); $query = $this->db->get('students'); $resid = $query->row_array(); $resid = (isset($resid['id']) && !empty($resid['id'])) ? $resid['id'] : 0; $studentMaxId = $resid + 1; // if (strlen($studentMaxId) == 1) // $pid = "00000" . $studentMaxId; // else if (strlen($studentMaxId) == 2) // $pid = "0000" . $studentMaxId; // else if (strlen($studentMaxId) == 3) // $pid = "000" . $studentMaxId; // else if (strlen($studentMaxId) == 4) // $pid = "00" . $studentMaxId; // else if (strlen($studentMaxId) == 5) // $pid = "00" . $studentMaxId; // $studentid = STUDENT_PREFIX . date('Y', strtotime($this->nepali_current_date)) . $pid; // $parent_id = STUDENT_PARENT_PREFIX . date('Y', strtotime($this->nepali_current_date)) . $pid; $pid = date('Y', strtotime($this->nepali_current_date)) . '0' . $studentMaxId; $school_info = $this->Admin_model->get_logo_from_setting(); $school_prefix = (!empty($school_info['school_prefix_id'])) ? $school_info['school_prefix_id'] : 'BB'; $studentid = $school_prefix . STUDENT_PREFIX . $pid; $parent_id = $school_prefix . STUDENT_PARENT_PREFIX . $pid; $qr_path = $this->generate_qrcode($studentid); $data_insert = array( 'name' => $value['name'], 'studentId' => $studentid, 'password' => md5($studentid), 'batch_id' => $batch_id, 'email' => $value['email'], 'mobile' => $value['mobile'], 'gender' => ucfirst($value['gender']), 'dob' => date('Y-m-d', strtotime($value['dob'])), 'course' => $course_id, 'emergency_contact_name' => $value['emergency_contact_name'], 'emergency_contact_number' => $value['emergency_contact_number'], 'country' => $value['country'], 'state' => $value['state'], 'address1' => $value['address1'], 'address2' => $value['address2'], 'zipcode' => $value['zipcode'], 'photo' => "No-Image.jpg", 'school_certificate' => "No-Image.jpg", 'exam_result' => "No-Image.jpg", 'medical_cerificate' => "No-Image.jpg", 'registered_on' => date('Y-m-d', strtotime($value['registered_on'])), 'qr_code' => $qr_path, 'parent_username' => $parent_id, 'parent_password' => md5($parent_id), 'payment_status' => strtolower($value['payment_status']), 'assign_status' => 'yes', 'hostel' => strtolower($value['hostel']), 'modified' => $this->nepali_current_date ); $insert = $this->db->insert('students', $data_insert); $newId = $this->db->insert_id(); if ($newId) { $data_insert['status'] = 'success'; array_push($table_view, $data_insert); $clas_query = $this->db->query("select * from classroom where course_id = $course_id and section_id = $section_id")->row_array(); if ($clas_query) { $roll_no = $this->db->query('select roll_no from student_batch where batch_id=' . $batch_id . ' and classroom_id =' . $clas_query['id'] . ' and is_active ="yes" order by roll_no DESC')->row_array(); if (!empty($roll_no)) { $in_data['roll_no'] = $roll_no['roll_no'] + 1; } else { $in_data['roll_no'] = 1; } $in_data['student_id'] = $newId; $in_data['batch_id'] = $batch_id; $in_data['classroom_id'] = $clas_query['id']; $in_data['is_active'] = 'yes'; $in_data['created'] = $this->nepali_current_date; $batch_student = $this->db->insert('student_batch', $in_data); $batch_student_id = $this->db->insert_id(); $studentId = $this->db->get_where('students', array('id' => $newId))->row()->studentId; // $course_fee_id=(isset($value['course_fee_id']) && !empty($value['course_fee_id'])) ? $value['course_fee_id'] : 0; $course_fee_id = (isset($result[$key]['course_fee_id']) && !empty($result[$key]['course_fee_id'])) ? $result[$key]['course_fee_id'] : 0; $paidAmt = (isset($result[$key]['paid_amount']) && !empty($result[$key]['paid_amount'])) ? $result[$key]['paid_amount'] : 0; $paidDate = (isset($result[$key]['paid_date']) && !empty($result[$key]['paid_date'])) ? date('Y-m-d H:i:s', strtotime($result[$key]['paid_date'])) : date('Y-m-d H:i:s', strtotime($this->nepali_current_date)); $payment_method = (isset($result[$key]['payment_method']) && !empty($result[$key]['payment_method'])) ? strtolower($result[$key]['payment_method']) : 'cash'; if ($course_fee_id > 0) { $coursefee = $this->db->get_where('course_fees', array('id' => $course_fee_id))->row_array(); if (count($coursefee) > 0) { $fee_type_name = $this->db->get_where('fee_types', array('id' => $coursefee['fees_type']))->row()->feetype_name; if ($coursefee['amount'] > 0 && $coursefee['amount'] >= $paidAmt) { $pending_amount = ((int)$coursefee['amount'] - (int)$paidAmt); $install_sno = 1; $installmentData[] = array( "install_sno" => $install_sno, "payment_status" => "yes", "payable_amount" => $paidAmt, "paid_amount" => $paidAmt, "paid_date" => $paidDate, "total_amount" => $coursefee['amount'], "pending_amount" => $pending_amount, "due_date" => $coursefee['due_date'], "deduction_type" => "", "deduction_amount" => 0, "fine_amount" => 0, "payment_via" => $payment_method, "updated_by" => $_SESSION['admin_id'] . ' - ' . $_SESSION['admin_name'] . ' - ' . $_SESSION['admin_email'] ); $students_online_payments = array( 'student_id' => $newId, 'installment_type_id' => $coursefee['fees_type'], 'course_fee_id' => $course_fee_id, 'paid_amount' => $paidAmt, 'pending_amount' => $pending_amount, 'payment_details' => json_encode($installmentData), 'payment_method' => $payment_method ); // echo ""; // print_r($students_online_payments); $this->db->insert('students_online_payments', $students_online_payments); $fee_assigned_students = array('student_id' => $newId, 'course_fee_id' => $course_fee_id, 'created_at' => date('Y-m-d H:i:s', strtotime($this->nepali_current_date)), 'modified' => date('Y-m-d H:i:s', strtotime($this->nepali_current_date))); $a = mt_rand(100000, 999999); $transData['studentId'] = $studentId; $transData['payment_for'] = $fee_type_name; $transData['txn_id'] = $a . $studentId; $transData['payment_amt'] = $paidAmt; $transData['currency_code'] = $school_info['currency']; $transData['status'] = 'Completed'; $transData['deduction_type'] = NULL; $transData['deduction_amount'] = 0; $transData['payment_date'] = $paidDate; $transData['payment_recived_id'] = $this->session->userdata('admin_name'); $transData['payment_method'] = $payment_method; $transData['bank_transaction_id'] = ''; $transData['course_fee_id'] = $course_fee_id; $transData['install_sno'] = $install_sno; $this->db->insert('fee_assigned_students', $fee_assigned_students); $this->db->insert('student_fee_online_transactions', $transData); $installmentData = []; // $transData=[]; } else { $this->session->set_flashdata('failed', 'Paid Amount should be less than Fees Amount'); } } } } } } // exit; $_SESSION['promote_table'] = $table_view; $this->session->set_flashdata('success', 'Data inserted Successfully......'); redirect(base_url() . 'admin/viewStudentImportFile'); } public function generate_qrcode($studentID) { $hex_data = date('YmdHis') . '-' . $studentID; $save_name = $hex_data . '.png'; $dir = 'assets_student/studentqrcode/'; if (!file_exists($dir)) { mkdir($dir, 0775, true); } /* QR Configuration */ $config['cacheable'] = true; $config['imagedir'] = $dir; $config['quality'] = true; $config['size'] = '1024'; $config['black'] = array(255, 255, 255); $config['white'] = array(255, 255, 255); $this->ciqrcode->initialize($config); /* QR Data */ $params['data'] = $studentID; $params['level'] = 'L'; $params['size'] = 10; $params['savename'] = $config['imagedir'] . $save_name; $result = $this->ciqrcode->generate($params); return $result; } public function download_Csv_File() { $this->load->helper('download'); //file path $file = 'common_assets/demo.csv'; //download file from directory force_download($file, NULL); redirect(base_url() . 'admin/student'); } public function get_student_list($batch, $course, $section) { $result = $this->db->query(" select s.id, s.name, s.studentId, course_name, section_name from students s, course co, section sc, student_batch sb, classroom c where s.course = $course and s.batch_id = $batch and sb.student_id = s.id and sb.batch_id = s.batch_id and sb.classroom_id = c.id and c.id = sb.classroom_id and c.course_id = $course and c.section_id = $section and sc.id = c.section_id and co.id = c.course_id")->result_array(); echo json_encode($result); } public function get_count_of_girl_and_boy() { $course_id = $this->uri->segment(3); $section_id = $this->uri->segment(4); if ($section_id == 0) { $male_count = $this->db->query('SELECT count(s.id) as male_count FROM students s, classroom c , student_batch sb WHERE s.course = ' . $course_id . ' AND s.course = c.course_id AND sb.batch_id = s.batch_id AND sb.classroom_id = c.id AND sb.student_id = s.id AND s.gender = "Male" GROUP by s.gender ORDER by s.id')->row_array(); $female_count = $this->db->query('SELECT count(s.id) as female_count FROM students s, classroom c , student_batch sb WHERE s.course = ' . $course_id . ' AND s.course = c.course_id AND sb.batch_id = s.batch_id AND sb.classroom_id = c.id AND sb.student_id = s.id AND s.gender = "Female" GROUP by s.gender ORDER by s.id')->row_array(); } else { $male_count = $this->db->query('SELECT count(s.id) as male_count FROM students s, classroom c , student_batch sb WHERE s.course = ' . $course_id . ' AND c.section_id = ' . $section_id . ' AND s.course = c.course_id AND sb.batch_id = s.batch_id AND sb.classroom_id = c.id AND sb.student_id = s.id AND s.gender = "Male" GROUP by s.gender ORDER by s.id')->row_array(); $female_count = $this->db->query('SELECT count(s.id) as female_count FROM students s, classroom c , student_batch sb WHERE s.course = ' . $course_id . ' AND c.section_id = ' . $section_id . ' AND s.course = c.course_id AND sb.batch_id = s.batch_id AND sb.classroom_id = c.id AND sb.student_id = s.id AND s.gender = "Female" GROUP by s.gender ORDER by s.id')->row_array(); } if (empty($male_count)) $male = 0; else $male = $male_count['male_count']; if (empty($female_count)) $female = 0; else $female = $female_count['female_count']; $Total_count = array('male' => $male, 'female' => $female); // $Total_count = array('male'=> 60, 'female'=> 40 ); echo json_encode($Total_count); } // Change Password public function change_admin_password() { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); $data['currentURL'] = current_url(); //get logo $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); $data['title'] = 'Change Password'; if (count($_POST) > 0) { $pwd = md5($this->input->post('password')); $data = array('password' => $pwd); $query = $this->Admin_model->update_admin_password($_SESSION['admin_id'], $data); if ($query) { $this->session->set_flashdata('success', str_replace('%s', 'Password', THE_UPDATE_SUCCESS_MSG)); redirect(base_url() . 'admin/admin-change-password'); } else { $this->session->set_flashdata('failed', str_replace('%s', 'Password', THE_UPDATE_FAILED_MSG)); redirect(base_url() . 'admin/admin-change-password'); } exit(); } $this->load->view('admin/header', $data); $this->load->view('admin/change-password'); $this->load->view('admin/footer'); } public function getStudentsByClassroom() { $classroomId = $_REQUEST['classroomid']; $batchId = $_REQUEST['batchid']; $sql = "SELECT s.id,s.studentId,s.name FROM students s JOIN student_batch sb ON s.id=sb.student_id AND s.batch_id = sb.batch_id WHERE s.is_active='yes' AND sb.batch_id=$batchId AND sb.classroom_id=$classroomId"; $data = $this->Admin_model->get_query_result($sql); echo json_encode($data); } // Attendance section End from here public function calender_Notification() { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); $data['currentURL'] = current_url(); //get logo $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); $data['title'] = 'Calender'; $this->load->view('admin/header', $data); $this->load->view('admin/calender', $data); } // Paying Student offline fees - Afraskhan public function pay_offline_student_fees() { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); // dd($_POST); $student_transaction_id = $this->input->post('sot_id'); $installment_key = $this->input->post('install_key'); $deduction_type = isset($_POST['deduction_type']) && $_POST['deduction_type'] != 'none' ? $this->input->post('deduction_type') : NULL; $deduction_amount = isset($_POST['deducted_amount']) ? $this->input->post('deducted_amount') : NULL; $payment_type_received = $this->input->post('payment_type'); $bank_transaction_id = isset($_POST['bank_transaction_id']) ? $this->input->post('bank_transaction_id') : NULL; $school_info = $this->Admin_model->get_logo_from_setting(); $student_transac = null; $course_fee_id = $_POST['course_fee_id'] ? $this->input->post('course_fee_id') : NULL; $payment_info = isset($_POST['payment_info']) ? $this->input->post('payment_info') : NULL; $student_id = $this->input->post('studentId'); $update_query = null; $total_amount = null; if ($student_transaction_id == 'new_payment') { // dd($_POST); $firstpay = true; $payment_info = json_decode($payment_info); $installment_type_id = count((array)$payment_info); $array_to_insert = []; // dd($payment_info); foreach ($payment_info as $key => $ele) { foreach ($ele as $index => $val1) { $total_amount = intval($val1->amount); if ($firstpay) { $array_to_insert[] = (object)array( 'install_sno' => $index + 1, 'due_date' => $val1->due_date, 'feeamount' => $val1->amount, 'deduction_type' => $deduction_type, 'deduction_amount' => $deduction_amount, 'paid_amount' => $total_amount - $deduction_amount, 'payment_status' => 'yes', 'paid_date' => date('Y-m-d H:i:s', strtotime($this->nepali_current_date)) ); $firstpay = false; } else { $array_to_insert[] = (object) array( 'install_sno' => $index + 1, 'due_date' => $val1->due_date, 'feeamount' => $val1->amount, 'deduction_type' => '', 'deduction_amount' => 0, 'paid_amount' => 0, 'payment_status' => 'no', 'paid_date' => date('Y-m-d H:i:s', strtotime($this->nepali_current_date)) ); } } } $student_transac = array( 'student_id' => $student_id, 'course_fee_id' => $course_fee_id, 'installment_type_id' => $installment_key, 'payment_details' => json_encode($array_to_insert), 'payment_method' => $payment_type_received, 'created' => date('Y-m-d H:i:s', strtotime($this->nepali_current_date)), 'modified' => date('Y-m-d H:i:s', strtotime($this->nepali_current_date)) ); $student_transaction_id = $update_query = $this->Admin_model->insert_data('students_online_payments', $student_transac); } else { $student_transac = $this->Admin_model->get_table_info_row('students_online_payments', array('id' => $student_transaction_id)); $installments = json_decode($student_transac['payment_details']); foreach ($installments as $index => $ele) { if ($ele->install_sno == $installment_key) { $installments[$index]->deduction_type = $deduction_type; $installments[$index]->deduction_amount = $deduction_amount; $total_amount = intval($ele->feeamount); $ele->paid_amount = intval($ele->feeamount) - intval($deduction_amount); $ele->payment_status = 'yes'; $ele->paid_date = date('d-m-Y H:i:s', strtotime($this->nepali_current_date)); } else { $installments[$index]->deduction_type = NULL; $installments[$index]->deduction_amount = NULL; } } $student_transac['payment_details'] = json_encode($installments); $student_transac['payment_method'] = $payment_type_received; $student_transac['modified'] = date('d-m-Y H:i:s', strtotime($this->nepali_current_date)); $update_query = $this->Admin_model->update_table($student_transaction_id, $student_transac, 'students_online_payments'); } // dd($student_transac); if ($update_query) { $studentappId = $this->db->get_where('students', array('id' => $student_transac['student_id']))->row()->studentId; $course_fee_id_student = $student_transac['course_fee_id']; $feeType_where = 'select ft.feetype_name from fee_types ft inner join course_fees cf on cf.fees_type = ft.id WHERE cf.id = ' . $course_fee_id_student; $fees_type = $this->Admin_model->get_table_info_row('course_fees', '', $feeType_where); $a = mt_rand(100000, 999999); $transData['studentId'] = (!empty($studentappId)) ? $studentappId : $application_id; $transData['payment_for'] = $fees_type['feetype_name']; $transData['txn_id'] = $a . $studentappId; $transData['payment_amt'] = $total_amount; $transData['currency_code'] = $school_info['currency']; $transData['status'] = 'Completed'; $transData['payment_date'] = date('Y-m-d H:i:s', strtotime($this->nepali_current_date)); $transData['payment_recived_id'] = $this->session->userdata('admin_name'); $transData['payment_method'] = $student_transac['payment_method']; $transData['bank_transaction_id'] = $bank_transaction_id; $transData['course_fee_id'] = $course_fee_id_student; // dd($transData); $rst = $this->Admin_model->storefeeTransaction($transData); $this->session->set_flashdata('success', 'Fees has been paid successfully'); redirect(base_url() . 'admin/view-student-payments/' . $student_transac['student_id']); } else { $this->session->set_flashdata('failed', 'Oops! Fees could not be paid successfully. Please try again'); redirect(base_url() . 'admin/view-student-payments/' . $student_transac['student_id']); } } public function ajax_get_fee_installments() { $course_fee_id = $this->input->post('course_fee_id'); $installment_key = $this->input->post('installment_type'); $student_id = $this->input->post('student_id'); $this->load->model('Student_model'); $sql_item_name = "Select f.feetype_name from fee_types f inner join course_fees cf on cf.fees_type = f.id WHERE cf.id = $course_fee_id"; $fee_type_col = $this->Student_model->get_general_row_details('fee_types', '', $sql_item_name); $fee_type_name = $fee_type_col['feetype_name']; $whereClause = "Select cf.id,cf.amount, i.id as installment_id, i.due_amount_date from course_fees cf inner join installment i on cf.id = i.course_fee_id WHERE cf.id = '$course_fee_id'"; $selected_installment = $query = $this->Student_model->get_general_row_details('course_fees', '', $whereClause); if (!empty($query)) { // decoding due_amount_date from installments $selected_installment['due_amount_date'] = (array)json_decode($query['due_amount_date']); $first_due_amount = ''; $s_no_new = ''; $signal = true; // filtering the array with user selected option with $installment_key foreach ($selected_installment['due_amount_date'] as $key => $value) { if ($key != $installment_key) { unset($selected_installment['due_amount_date'][$key]); } else { foreach ($value as $index => $ele) { $due_date = date('Y-m-d', strtotime($ele->due_date)); $current_date = date('Y-m-d', strtotime($this->nepali_current_date)); $selected_installment['due_amount_date'][$key][$index]->payment_status = 'no'; } } } // test_view_array($decoded); $data['installment'] = $selected_installment; // Re arranging keys of $data['installment']['due_amount_date'] below $data['installment']['due_amount_date'] = array_values($data['installment']['due_amount_date']); $jsonString = json_encode($data['installment']['due_amount_date']); $jsonString = str_replace('"', "'", $jsonString); $html = ''; } echo $html; } else { echo 'failed'; } } public function ajax_pay_table_fees() { if (count($_POST) == 0) { echo false; $this->session->set_flashdata('failed', 'Oops! Fees could not be paid successfully. Please try again'); exit; } $table_data = $this->input->post('feeData'); $school_info = $this->Admin_model->get_logo_from_setting(); $table_data = json_decode($table_data); // Yet to be set $payment_type = isset($_POST['payment_type']) ? $this->input->post('payment_type') : 'cash'; $bank_transaction_id = isset($_POST['bank_transaction_id']) ? $this->input->post('bank_transaction_id') : NULL; $student_id = $this->input->post('student_id'); $student_app_id = ''; $student_details = $this->db->get_where('students', array('id' => $student_id))->row_array(); if (!empty($student_details)) { $student_app_id = $student_details['studentId'] ? $student_details['studentId'] : ''; } // Yet to be set $transactions_to_be_inserted = []; $sop_to_be_inserted = []; $sop_to_be_updated = []; $check_data = ''; $trans_invoice_no = (!empty($school_info['invoice_sno']) && $school_info['invoice_sno'] > 0) ? $school_info['invoice_sno'] : '1000'; // $invoice_result=$this->db->query("SELECT invoice_no FROM student_fee_online_transactions ORDER BY id DESC LIMIT 1")->row_array(); // if($invoice_result['invoice_no'] != '' && $invoice_result['invoice_no'] != NULL){ // $trans_invoice_no=$invoice_result['invoice_no'] +1; // } // else { // $trans_invoice_no=+1; // } // Table Data Loop Starts foreach ($table_data as $key => $value) { $courseFeeId = isset($value->courseFeeId) ? $value->courseFeeId : $value->courseFeeId; // dd($value); $feeType_query = "Select ft.feetype_name,cf.due_date from fee_types ft INNER JOIN course_fees cf on cf.fees_type = ft.id WHERE cf.id = $courseFeeId"; $fee_details = $this->Admin_model->get_table_info_row('course_fees', '', $feeType_query); $total_amount = (int)$value->fee_total_amount > 0 ? (int)$value->fee_total_amount : 0; $payable_amount = isset($value->payable_amount) ? (int)$value->payable_amount > 0 ? (int)$value->payable_amount : 0 : ((int)$value->feePayableAmt > 0 ? (int)$value->feePayableAmt : 0); $deduction_amount = (int)$value->deduction_amount > 0 ? (int)$value->deduction_amount : 0; $fine_amount = (int)$value->fine_amount > 0 ? (int)$value->fine_amount : 0; $paid_amount = ($payable_amount + $fine_amount) - $deduction_amount; print_r($value); $deduction_type = !empty($value->deduction_type) ? ($value->deduction_type ? $value->deduction_type : '') : ''; $check_query = "Select * from students_online_payments WHERE ( student_id = $student_id AND course_fee_id = $courseFeeId ) AND fee_completed = 'no'"; $check_data = $this->Admin_model->get_table_info('students_online_payments', '', $check_query); $install_sno = ''; // dd($check_data); if (empty($check_data)) { $i_pending_amount = $total_amount - $payable_amount; $details = array(); $insert_data['student_id'] = $student_id; $insert_data['course_fee_id'] = $courseFeeId; $insert_data['payment_method'] = $payment_type; $insert_data['fine_amount'] = $fine_amount; $insert_data['deducted_amount'] = $deduction_amount; $insert_data['pending_amount'] = $i_pending_amount; $insert_data['paid_amount'] = $paid_amount; $insert_data['created'] = $this->nepali_current_date; $insert_data['modified'] = $this->nepali_current_date; $insert_data['fee_completed'] = $i_pending_amount == 0 || $i_pending_amount < 0 ? 'yes' : 'no'; $install_sno = 1; $details[] = (object)array( 'install_sno' => 1, 'payment_status' => 'yes', 'payable_amount' => $payable_amount, 'paid_amount' => $paid_amount, 'paid_date' => date('d-m-Y', strtotime($this->nepali_current_date)), 'total_amount' => $total_amount, 'pending_amount' => $total_amount - $payable_amount, 'due_date' => $fee_details['due_date'], 'deduction_type' => $value->deduction_type, 'deduction_amount' => $value->deduction_amount, 'fine_amount' => $fine_amount, 'payment_via' => $payment_type, 'updated_by' => $_SESSION['admin_id'] . ' - ' . $_SESSION['admin_name'] . ' - ' . $_SESSION['admin_email'] ); $insert_data['payment_details'] = json_encode($details); $sop_to_be_inserted[] = $insert_data; } else { // dd($check_data); foreach ($check_data as $index => $ele) { $installments = json_decode($ele['payment_details']); $key_count = count((array)$installments); $install_sno = $key_count + 1; $installments[] = (object)array( 'install_sno' => $key_count + 1, 'payment_status' => 'yes', 'payable_amount' => $payable_amount, 'paid_amount' => $paid_amount, 'paid_date' => date('d-m-Y', strtotime($this->nepali_current_date)), 'total_amount' => $total_amount, 'due_date' => $fee_details['due_date'], 'pending_amount' => $ele['pending_amount'] - $payable_amount, 'deduction_type' => $value->deduction_type, 'deduction_amount' => $value->deduction_amount, 'fine_amount' => $fine_amount, 'payment_via' => $payment_type, 'updated_by' => $_SESSION['admin_id'] . ' - ' . $_SESSION['admin_name'] . ' - ' . $_SESSION['admin_email'] ); $u_pending_amount = (int)$ele['pending_amount'] - $payable_amount; $sop_to_be_updated[] = array( 'id' => $ele['id'], 'payment_details' => json_encode($installments), 'paid_amount' => (int)$ele['paid_amount'] + $paid_amount, 'deducted_amount' => (int)$ele['deducted_amount'] + $deduction_amount, 'pending_amount' => $u_pending_amount, 'fine_amount' => (int)$ele['fine_amount'] + $fine_amount, 'fee_completed' => $u_pending_amount == 0 || $u_pending_amount < 0 ? 'yes' : 'no', 'modified' => $this->nepali_current_date ); } } if ($fee_details['feetype_name'] == 'Transport Fee') { $BTSdb = $this->load->database('erisnClassroom_bts', TRUE); $query = $BTSdb->query("UPDATE bt_students_bus_route_details SET is_active='YES' WHERE student_id= '" . $student_app_id . "' order by id DESC limit 1"); } $a = mt_rand(100000, 999999); $transData['studentId'] = $student_app_id; $transData['payment_for'] = $fee_details['feetype_name']; $transData['txn_id'] = $a . $student_app_id; $transData['invoice_no'] = $trans_invoice_no; $transData['payment_amt'] = isset($value->payable_amount) ? $value->payable_amount : $value->feePayableAmt; $transData['currency_code'] = $school_info['currency']; $transData['status'] = 'Completed'; $transData['deduction_type'] = $deduction_type; $transData['deduction_amount'] = $value->deduction_amount; $transData['payment_date'] = $this->nepali_current_date; $transData['payment_recived_id'] = $this->session->userdata('admin_name'); $transData['payment_method'] = $payment_type; $transData['fine_amount'] = $fine_amount; $transData['bank_transaction_id'] = $bank_transaction_id; $transData['course_fee_id'] = $courseFeeId; $transData['install_sno'] = $install_sno; $transData['created'] = $this->nepali_current_date; $transData['modified'] = $this->nepali_current_date; $transactions_to_be_inserted[] = $transData; } // Table Data Loop Ends if (!empty($sop_to_be_inserted)) { $insert_transactions = $this->db->insert_batch('students_online_payments', $sop_to_be_inserted); } if (!empty($sop_to_be_updated)) { $update_transactions = $this->db->update_batch('students_online_payments', $sop_to_be_updated, 'id'); } if (!empty($transactions_to_be_inserted)) { $insert_transactions = $this->db->insert_batch('student_fee_online_transactions', $transactions_to_be_inserted); $cf = $this->Admin_model->get_query_row("SELECT cf.*, ft.feetype_name FROM course_fees cf JOIN fee_types ft ON ft.id = cf.fees_type WHERE cf.id = $courseFeeId"); $scholarship = $this->Admin_model->get_query_row("SELECT ss.*, st.scholarshiptype_name FROM student_scholarship ss JOIN scholarship_types st ON st.id = ss.scholarship_type WHERE ss.student_id = $student_id AND ss.course_fee_id = $courseFeeId"); // dd($scholarship); $this->accounting->voucherEntry($student_id, $student_app_id, $cf, $scholarship, 'Receipt', isset($value->payable_amount) ? $value->payable_amount : $value->feePayableAmt); if ($insert_transactions) { $this->db->where(array('id' => $school_info['id'])); $this->db->update('school_settings', array('invoice_sno' => (int)$trans_invoice_no + 1)); $this->session->set_flashdata('success', 'Fees has been paid successfully'); } else { $this->session->set_flashdata('failed', 'Fees could not be paid successfully, Please try again'); } } } // Paying Student offline fees end - Afraskhan //shankar code start here public function studentChangePassword() { if ($_POST) { $data = array( 'password' => md5($_POST['password']), 'modified' => $this->nepali_current_date ); $this->db->where('id', $_POST['student_id']); $this->db->update('students', $data); $this->db->trans_complete(); if ($this->db->trans_status() === FALSE) { $this->session->set_flashdata('danger', str_replace('%s', 'Password', THE_ADD_ERROR_MSG)); } else { $this->session->set_flashdata('success', str_replace('%s', 'Password', THE_UPDATE_SUCCESS_MSG)); } redirect(base_url() . 'admin/view_student/' . $_POST['student_id']); } } public function suspend_Student() { if ($_POST) { $this->db->where('id', $_POST['student_id']); if ($_POST['status']) { $this->db->update('students', array('is_active' => 'no', 'suspend_reason' => $_POST['reason'], 'modified' => date('Y-m-d H:i:s'))); } else { $this->db->update('students', array('is_active' => 'yes', 'modified' => date('Y-m-d H:i:s'))); } $updated_status = $this->db->affected_rows(); if ($updated_status) { if ($_POST['status']) { $this->session->set_flashdata('success_msg', 'Student Disabled Successfully'); } else { $this->session->set_flashdata('success_msg', 'Student Enabled Successfully'); redirect(base_url() . 'admin/enable-student'); } } else { $this->session->set_flashdata('error_msg', 'Something Went Wrong ..... !!'); } redirect(base_url() . 'admin/student'); } } public function student_suspend_list() { if (isset($_SESSION['admin_id'])) { $cid = ''; $data['currentURL'] = current_url(); //get logo $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); //get menu list $data['menulist'] = $this->Admin_model->get_adminMenu(); if ($this->input->post('filterSubmit') == "Filter") { $this->form_validation->set_rules('filter-Sdate', 'Start Date', 'required'); $this->form_validation->set_rules('filter-course', 'Course', 'required'); $this->form_validation->set_rules('filter-Edate', 'End Date', 'required'); $course_id = $_POST['filter-course'] ? $_POST['filter-course'] : 0; $e_date = $_POST['filter-Edate'] ? $_POST['filter-Edate'] : 0; $s_date = $_POST['filter-Sdate'] ? $_POST['filter-Sdate'] : 0; $data['courseId'] = $course_id; $data['sdate'] = $s_date; $data['edate'] = $e_date; if (!$this->form_validation->run() == FALSE) { $data['students'] = $this->Admin_model->get_students_suspend($s_date, $e_date, $course_id); } else { $data['students'] = $this->Admin_model->get_students_suspend(); } } else { $data['students'] = $this->Admin_model->get_students_suspend(); } $data['course'] = $this->db->query("select * from course WHERE is_active='yes'")->result_array(); $data['batch'] = $this->Admin_model->get_batch(); $this->load->view('admin/header', $data); $this->load->view('admin/supended-student-list', $data); $this->load->view('admin/footer'); } } //application reupload images by shankar public function application_documents_reupload() { $id = $this->input->post('appid'); $this->load->helper('url'); $this->load->helper(array('form', 'url')); $config['upload_path'] = 'assets_student/application/'; $config['allowed_types'] = 'gif|jpg|png'; $config['file_name'] = uniqid('img', false); $this->load->library('upload', $config); $this->upload->initialize($config); $data['currentURL'] = current_url(); $data['id'] = $id; if ($_FILES['photo']['size'] != 0) { if (!$this->upload->do_upload('photo')) { $data['photo'] = ""; } else { $photo = array('upload_data' => $this->upload->data()); $data['photo'] = $photo['upload_data']['file_name']; } } if ($_FILES['school']['size'] != 0) { if (!$this->upload->do_upload('school')) { $data['school_certificate'] = ""; } else { $school = array('upload_data' => $this->upload->data()); $data['school_certificate'] = $school['upload_data']['file_name']; } } if ($_FILES['exam']['size'] != 0) { if (!$this->upload->do_upload('exam')) { $data['exam_result'] = ""; } else { $exam = array('upload_data' => $this->upload->data()); $data['exam_result'] = $exam['upload_data']['file_name']; } } if ($_FILES['medical']['size'] != 0) { if (!$this->upload->do_upload('medical')) { $data['medical_cerificate'] = ""; } else { $medical = array('upload_data' => $this->upload->data()); $data['medical_cerificate'] = $medical['upload_data']['file_name']; } } $app_new_id = $this->Admin_model->application_update_studentsdoc($data); if ($app_new_id) $this->session->set_flashdata('success', 'Image Updated Successfully.....!!'); else $this->session->set_flashdata('danger', 'Something Went Wrong .....'); redirect('/admin/view_applicant/' . $data['id']); } public function get_sectionbycourse() { $courseId = $_REQUEST['course_id']; $batchId = $_REQUEST['batch_id']; $sql = "SELECT s.id as section_id,s.section_name FROM course_sections cs JOIN section s ON s.id=cs.section_id WHERE cs.course_id='$courseId' ORDER BY s.id DESC"; // $sections=$this->Admin_model->get_query_result($sql); // echo json_encode($sections); $section_list = $this->Admin_model->get_query_result($sql); $sectionsData = array(); foreach ($section_list as $sec_value) { $sectionIDD = $sec_value['section_id']; $sec_sql = "SELECT sec.id as section_id,sec.section_name FROM classroom cl JOIN section sec ON sec.id=cl.section_id WHERE cl.section_id=$sectionIDD AND cl.course_id='$courseId'"; $result = $this->Admin_model->get_query_row($sec_sql); if (!empty($result)) $sectionsData[] = $result; } $data['sections'] = $sectionsData; $today = date('Y-m-d', strtotime($this->nepali_current_date)); $feesType = 1; // application Fee $sql1 = "SELECT * FROM `course_fees` WHERE batch_id=$batchId AND course_id=$courseId AND fees_type=$feesType "; // $sql1 = "SELECT * FROM `course_fees` WHERE batch_id=$batchId AND course_id=$courseId AND fees_type=$feesType AND DATE(due_date) >= DATE('$today')"; $result = $this->Admin_model->get_query_row($sql1); $data['application_fee'] = ($result != '') ? json_encode($result) : 0; echo json_encode($data); } public function get_section_by_course() { $courseId = $_REQUEST['course_id']; $sql = "SELECT s.id as section_id,s.section_name FROM course_sections cs JOIN section s ON s.id=cs.section_id WHERE cs.course_id='$courseId' ORDER BY s.id DESC"; $section_list = $this->Admin_model->get_query_result($sql); $data['sections'] = $section_list; echo json_encode($data); } public function checknamewithId() { $id = $_POST['id']; $namevalue = $_POST['value']; $table = $_POST['tablename']; $dbcolumn = $_POST['column']; $result = $this->Admin_model->check_value_exists($table, array($dbcolumn => $namevalue), $id); if ($result) echo 'success'; else echo 'failed'; } // to get application fee by shivakumar start public function get_batch_course() { $batchId = $_REQUEST['batch_id']; $today_datetime = DATE('Y-m-d', strtotime($this->nepali_current_date)); $feesType = 1; $sql = "SELECT DISTINCT cf.course_id,c.course_name,c.id FROM course_fees cf JOIN course c ON c.id=cf.course_id WHERE cf.batch_id=$batchId AND cf.fees_type=$feesType"; // $sql = "SELECT * FROM `course_fees` WHERE batch_id=$batchId AND AND due_date >= DATE('$today_datetime')"; $result = $this->Admin_model->get_query_result($sql); echo $rst = ($result != '') ? json_encode($result) : 0; } // to get application fee by shivakumar End public function ajax_check_if_exists() { $table = $this->input->post('table'); $column = $this->input->post('column'); $value = $this->input->post('value'); $required = isset($_POST['required']) ? $this->input->post('required') : null; $where[$column] = $value; $get_result = $this->Admin_model->get_table_info_row($table, $where); if (empty($get_result)) { echo 'failed'; } else { if ($required) { echo $get_result[$required]; } else { echo 'success'; } } } public function downloadAllInvoice() { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); if (!file_exists(APPPATH . 'views/admin/invoiceallpdf.php')) show_404(); if (count($_REQUEST['inoviceids']) > 0) { $invoiceids = $_REQUEST['inoviceids']; $student_id = $_REQUEST['student_id']; // print_r(count()); $invoiceData = array(); $all_invoice_ids = []; $invoiceData = []; foreach ($invoiceids as $i_k => $i_val) { // print_r($i_value); $i_array = explode(',', $i_val); foreach ($i_array as $i_key => $i_value) { // print_r($i_value); array_push($all_invoice_ids, (int)$i_value); } } sort($all_invoice_ids); foreach ($all_invoice_ids as $ai_key => $ai_value) { // foreach ($invoiceArray as $i_key => $i_value) { // } $i_data = $this->db->query("SELECT student_fee_online_transactions.*, course_fees.fee_values,course_fees.batch_id FROM student_fee_online_transactions, course_fees WHERE student_fee_online_transactions.id='$ai_value' and student_fee_online_transactions.course_fee_id = course_fees.id ")->row_array(); $this->db->query('update student_fee_online_transactions set bill_print_count = bill_print_count + 1 where id =' . $ai_value); array_push($invoiceData, $i_data); } // foreach ($invoiceids as $i_value) { // $this->db->where('id', $i_value); // $this->db->set('bill_print_count', 'bill_print_count+1', FALSE); // $update = $this->db->update('student_fee_online_transactions'); // if ($update) { // $i_data = $this->db->query("SELECT student_fee_online_transactions.*, course_fees.fee_values FROM student_fee_online_transactions, course_fees WHERE student_fee_online_transactions.id='$i_value' and student_fee_online_transactions.course_fee_id = course_fees.id ")->row_array(); // array_push($invoiceData, $i_data); // } // } // dd($invoiceData); $feeBatchId = $invoiceData[0]['batch_id']; $data['invoicelist'] = $invoiceData; if ($student_id != 0) { $studentdata = $this->db->query("SELECT s.name as studentname,b.b_name as batch_name, s.email, s.studentId,s.id,cl.course_id,cl.section_id,s.parent_pan, cl.classroom_name, cl.id as classroom_id FROM students s JOIN student_batch sb ON sb.student_id = s.id AND sb.batch_id = $feeBatchId JOIN classroom cl ON cl.id=sb.classroom_id JOIN batch b ON b.id=$feeBatchId WHERE s.id=$student_id order by sb.id desc")->row_array(); // dd($studentdata); if (count($studentdata) > 0) $data['studentinfo'] = $studentdata; else $data['studentinfo'] = 0; } else { $data['studentinfo'] = 0; } $data['invoiceids'] = $invoiceids; $data['school_info'] = $this->Admin_model->get_logo_from_setting(); $data['schoolinfo']['tdt'] = date('Y-m-d H:i:s', strtotime($this->nepali_current_date)); $data['nDate'] = date('Y-m-d H:i:s', strtotime($this->nepali_current_date)); $this->load->view('admin/invoiceallpdf', $data); } } public function ajax_get_transport_routes() { $batch_id = $this->input->post('batch_id'); $transport_db = $this->load->database('erisnClassroom_bts', TRUE); $batch_routes = $transport_db->query('SELECT * from bt_batch_routes where batch_id = ' . $batch_id)->row_array(); if (empty($batch_routes)) { echo false; exit; } else { $route_ids = explode(',', $batch_routes['route_ids']); $whereClause = ''; foreach ($route_ids as $key => $value) { if ($key == 0) { $whereClause .= "id = '$value'"; } else { $whereClause .= " or id = '$value'"; } } $routes = $transport_db->query('SELECT * from bt_routes where ' . $whereClause)->result_array(); $select_plan = ''; if (isset($_POST['selected_plan'])) { $select_plan = $this->input->post('selected_plan'); } $html = ''; if ($select_plan != '' && $select_plan == $name) { $html .= ''; } else { $html .= ''; } echo $html; } } public function ajax_get_transport_routes_new() { $batch_id = $this->input->post('batch_id'); $transport_db = $this->load->database('erisnClassroom_bts', TRUE); $batch_routes = $transport_db->query('SELECT * from bt_batch_routes where batch_id = ' . $batch_id)->row_array(); if (empty($batch_routes)) { echo false; exit; } else { $route_ids = explode(',', $batch_routes['route_ids']); $whereClause = ''; foreach ($route_ids as $key => $value) { if ($key == 0) { $whereClause .= "id = '$value'"; } else { $whereClause .= " or id = '$value'"; } } $routes = $transport_db->query('SELECT * from bt_routes where ' . $whereClause)->result_array(); $select_plan = ''; if (isset($_POST['selected_plan'])) { $select_plan = $this->input->post('selected_plan'); } $html = '
'; if ($select_plan != '' && $select_plan == $name) { $html .= ''; } else { $html .= ''; } echo $html; } } public function manage_installments_add($cf_id) { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); if (!file_exists(APPPATH . 'views/admin/manage_installments_add.php')) show_404(); $data['currentURL'] = current_url(); //get logo $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); //get menu list $data['menulist'] = $this->Admin_model->get_adminMenu(); $sql = "Select cf.id,cf.amount,b.b_name,c.course_name,cf.due_date,cf.batch_id,cf.course_id,ft.feetype_name,cf.hostel_plan_id,cf.route_id,ft.id as feetype_id from course_fees cf INNER JOIN batch b on b.id = cf.batch_id INNER JOIN course c ON c.id = cf.course_id INNER JOIN fee_types ft on ft.id = cf.fees_type WHERE cf.id = $cf_id "; $data['course_fee'] = $course_fee = $this->Admin_model->get_table_info_row('course_fees', '', $sql); $data['cf_id'] = $cf_id; if (empty($course_fee)) { $this->session->set_flashdata('failed', 'There is no fees with selected id'); redirect(base_url() . 'admin/fee-course'); } $condition = ''; if ($course_fee['feetype_id'] == '3') { $condition = " AND s.hostel_plan_id = $course_fee[hostel_plan_id]"; } if ($course_fee['feetype_id'] == '4') { $condition = " AND s.bus_routeid = $course_fee[route_id]"; } // Unassigned Installments Table $students_sql = "select s.id,s.studentId, s.name, s.email, s.mobile, se.section_name, IF((SELECT COUNT(*) from fee_assigned_students WHERE course_fee_id = $cf_id AND student_id = s.id) > 0, 'YES', 'NO') as assigned from students s INNER JOIN student_batch sb on s.id = sb.student_id AND s.batch_id = sb.batch_id INNER JOIN classroom c ON c.id = sb.classroom_id INNER JOIN section se ON c.section_id = se.id WHERE s.batch_id = $course_fee[batch_id] AND s.course = $course_fee[course_id] AND s.id NOT IN (SELECT student_id from students_online_payments WHERE student_id = s.id AND course_fee_id = $course_fee[id]) $condition AND sb.created = (SELECT MAX(created) from student_batch sb2 where sb.student_id = sb2.student_id) ORDER BY s.id DESC"; // exit; $data['unassigned_students'] = $student_info = $this->Admin_model->get_table_info('students', '', $students_sql); // dd($data['unassigned_students']); $data['payment_types'] = $this->Admin_model->get_table_info('payment_types', '', '', 'ASC'); // dd($student_info); $this->load->view('admin/header', $data); $this->load->view('admin/manage_installments_add'); $this->load->view('admin/footer'); } public function add_new_installments_revised_old_afras() { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); $_POST['table_rows'] = json_decode($_POST['table_rows']); $cf_id = $this->input->post('course_fee_id'); // dd($_POST); if (empty($_POST['table_rows'])) { // $delQryHere=$this->db->query("DELETE FROM fee_assigned_students WHERE course_fee_id=$cf_id AND student_id NOT IN(SELECT SOP.student_id FROM students_online_payments SOP INNER JOIN fee_assigned_students F ON F.student_id = SOP.student_id AND SOP.course_fee_id=$cf_id)"); $del['course_fee_id'] = $cf_id; $delete_db_list = $this->Admin_model->delete_row('fee_assigned_students', $del); $this->session->set_flashdata('success', 'Students have been removed from fees successfully'); redirect(base_url() . 'admin/fee-course'); } // Step 1 : Getting Students List $where = ''; foreach ($_POST['table_rows'] as $key => $value) { if ($key == 0) { $where .= "studentId = '$value'"; } else { $where .= " or studentId = '$value'"; } } $db_sql = "Select student_id,course_fee_id from fee_assigned_students WHERE course_fee_id = $cf_id"; $db_list = $this->Admin_model->get_table_info('fee_assigned_students', '', $db_sql); if (!empty($db_list)) { $del['course_fee_id'] = $cf_id; $delete_db_list = $this->Admin_model->delete_row('fee_assigned_students', $del); } $view_sql = "Select id as student_id,$cf_id as course_fee_id from students where $where"; $view_list = $this->Admin_model->get_table_info('students', '', $view_sql); $insert_query = $this->db->insert_batch('fee_assigned_students', $view_list); if ($insert_query) { $this->session->set_flashdata('success', 'Fee has been assigned to student successfully'); redirect(base_url() . 'admin/fee-course'); } else { $this->session->set_flashdata('failed', 'Fee could not be assigned to students! Please try again later.'); redirect(base_url() . 'admin/fee-course'); } } // fees assigned by shivu start from here public function add_new_installments_revised() { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); $assigned_arr = array(); $unassigned_arr = array(); $check_already = array(); $insert_data = array(); $cf_id = $this->input->post('course_fee_id'); $student_list = $_POST['students_input']; if (!empty($_POST['students_input'])) { foreach ($student_list as $k => $svalue) { if ($svalue == 1) { $sql = "SELECT cf.fee_values,fas.id as fee_assigned_id FROM fee_assigned_students fas JOIN course_fees cf ON cf.id=fas.course_fee_id WHERE fas.student_id=$k ANd fas.course_fee_id= $cf_id "; $check_assigned = $this->Admin_model->get_query_row($sql); if ($check_assigned != '') { $check_already[] = $k; } else { $insert_data = array('student_id' => $k, 'course_fee_id' => $cf_id); $insert_rst = $this->db->insert('fee_assigned_students', $insert_data); if ($insert_rst == TRUE) array_push($assigned_arr, $k); } } else if ($svalue == 0) { $coondition_data = array( 'student_id' => $k, 'course_fee_id' => $cf_id ); $this->db->where($coondition_data); $unselected_data = $this->db->delete('fee_assigned_students'); if ($unselected_data == TRUE) array_push($unassigned_arr, $k); } } if (count($assigned_arr) > 0 && count($unassigned_arr) > 0) { $this->session->set_flashdata('success', 'Fees has bee updated successfully'); } if (count($assigned_arr) > 0) $this->session->set_flashdata('success', 'Fees has been assigned successfully'); if (count($unassigned_arr) > 0) $this->session->set_flashdata('success', 'Fees has been assigned successfully'); } else { $this->session->set_flashdata('failed', 'No Changes'); } redirect(base_url() . 'admin/manage-installments/' . $cf_id); } // fees assigned by shivu end here // Transport module start from here // By: shivu public function assign_routes_students() { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); if (!file_exists(APPPATH . 'views/admin/asign-routes.php')) show_404(); $BTSdb = $this->load->database('erisnClassroom_bts', TRUE); $data['currentURL'] = current_url(); //get logo $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); //get menu list $data['menulist'] = $this->Admin_model->get_adminMenu(); $data['title'] = "Assign Routes"; $result = array(); $classroomId = ''; if ((isset($_POST['filterSubmit']) && !empty($_POST['filterSubmit'])) == 'Filter') { $this->form_validation->set_rules('search_batch', 'Batch', 'required'); $batchId = (!empty($_POST['search_batch'])) ? $_POST['search_batch'] : ''; $classroomId = (!empty($_POST['search_classroom'])) ? $_POST['search_classroom'] : ''; if (!$this->form_validation->run() == FALSE) { $where = ''; $where .= "WHERE s.is_active='yes'"; if ($batchId != '') $where .= ' AND sb.batch_id=' . $batchId; // if($classroomId != '') // $where .= ' AND sb.classroom_id='.$classroomId; if ($classroomId != '') { $arr = implode(',', $classroomId); $where .= ' AND cl.course_id=s.course AND sb.classroom_id IN (' . $arr . ')'; } $sql = "SELECT sb.batch_id,b.b_name as batch_name,sb.classroom_id,cl.classroom_name,s.* FROM students s JOIN student_batch sb ON s.id=sb.student_id JOIN classroom cl ON cl.id=sb.classroom_id JOIN batch b ON b.id=sb.batch_id $where ORDER BY s.bus_facility ASC"; $result = $this->db->query("SELECT sb.batch_id,b.b_name as batch_name,sb.classroom_id,cl.classroom_name,s.* FROM students s JOIN student_batch sb ON s.id=sb.student_id JOIN classroom cl ON cl.id=sb.classroom_id JOIN batch b ON b.id=sb.batch_id $where ORDER BY s.bus_facility ASC")->result_array(); foreach ($result as $stdKey => $student) { $studentRouteAssign = $BTSdb->query('SELECT sbrd.id,sbrd.batch_id,sbrd.route_id,sbrd.pick_up_id,sbrd.drop_id,sbrd.one_way,sbrd.is_active,r.route_name, rd.place_name as pick_up_location FROM bt_students_bus_route_details sbrd JOIN bt_routes r ON r.id = sbrd.route_id JOIN bt_routes_details rd ON rd.id = sbrd.pick_up_id WHERE sbrd.batch_id=' . $batchId . ' AND sbrd.student_id = ' . $student['id'])->row_array(); $result[$stdKey]['assign_route'] = $studentRouteAssign; } // dd($result); } } $data['search_batch_id'] = (isset($batchId) && $batchId != '') ? $batchId : ''; $data['search_classroom_id'] = (isset($classroomId) && $classroomId != '') ? $classroomId : ''; $data['studentlist'] = (count($result) > 0) ? $result : 0; // dd($data['studentlist']); $data['classrooms'] = $this->db->query("select * from classroom WHERE is_active='yes'")->result_array(); $data['batchs'] = $this->Admin_model->get_batch(); $this->load->view('admin/header', $data); $this->load->view('admin/asign-routes.php', $data); $this->load->view('admin/footer'); } function getrouteDetails() { $batchid = $_REQUEST['batch_id']; $student_id = $_REQUEST['student_id']; $student = $this->db->get_where('students', array('id' => $student_id))->row_array(); // dd($student); $course_id = (isset($student['course']) && !empty($student['course'])) ? $student['course'] : 0; $student_route_id = (isset($student['bus_routeid']) && !empty($student['bus_routeid'])) ? $student['bus_routeid'] : 0; $fees_type = 4; // Fee types table (Transport Fee) if ($student_route_id != 0 && $course_id != 0) $studentCourseFeeId = $this->db->query("SELECT id as route_course_fee_id,amount FROM course_fees WHERE batch_id=$batchid AND course_id=$course_id AND fees_type=$fees_type AND route_id=$student_route_id")->row()->route_course_fee_id; else $studentCourseFeeId = 0; $BTSdb = $this->load->database('erisnClassroom_bts', TRUE); $data = array(); $routelist = array(); $stoplist = array(); if ($batchid != '') { $routes = $BTSdb->query('SELECT id,batch_id,route_ids FROM bt_batch_routes WHERE batch_id=' . $batchid)->row_array(); $studentAssignedRoute = $BTSdb->query('SELECT * FROM bt_students_bus_route_details WHERE batch_id=' . $batchid . ' AND student_id=' . $student_id)->row_array(); if ($routes != '') { $myArray = explode(',', $routes['route_ids']); foreach ($myArray as $route_id) { $routedata = $BTSdb->query("SELECT * FROM `bt_routes` WHERE id=" . $route_id)->row_array(); $stopdata = $BTSdb->query("SELECT id as stops_id, place_name FROM `bt_routes_details` WHERE route_id=" . $route_id . " order by route_order ASC")->result_array(); $routeprice = $this->db->query("SELECT id as route_course_fee_id,amount FROM course_fees WHERE batch_id=$batchid AND course_id=$course_id AND fees_type=$fees_type AND route_id=$route_id")->row_array(); $route_price = (isset($routeprice['amount']) && !empty($routeprice['amount'])) ? $routeprice['amount'] : 0; $routelist[] = array( 'route_id' => $routedata['id'], 'route_name' => $routedata['route_name'], 'route_fee' => ($route_price != 0) ? $route_price : 0 ); $stoplist[$routedata['id']] = $stopdata; } // dd($routeprice); } } // dd($stoplist); // payment paid or not checking here $route_course_fee_id = (isset($routeprice['route_course_fee_id']) && !empty($routeprice['route_course_fee_id'])) ? $routeprice['route_course_fee_id'] : 0; $paymentStatus = false; if ($studentCourseFeeId != 0) { $student_installment = $this->db->get_where('students_online_payments', array('student_id' => $student_id, 'course_fee_id' => $studentCourseFeeId))->row_array(); if (!empty($student_installment)) { $installmentArray = json_decode($student_installment['payment_details'], true); // dd($installmentArray); foreach ($installmentArray as $payment_data) { if ($payment_data['payment_status'] == 'yes') { $paymentStatus = true; break; } } } } $data['payment_status'] = $paymentStatus; $data['route_course_fee_id'] = $studentCourseFeeId; $data['student_info'] = $student; $data['route_data'] = $routelist; $data['batch_name'] = $this->db->get_where('batch', array('id' => $batchid))->row()->b_name; $data['student_route_id'] = $student_route_id; $data['student_assigned_route'] = $studentAssignedRoute; $data['stop_list'] = $stoplist; $page = $this->load->view('admin/routedata', $data, TRUE); echo $page; } public function routeAssignToStudent() { $BTSdb = $this->load->database('erisnClassroom_bts', TRUE); $studentId = $_REQUEST['student_id']; $routeId = $_REQUEST['route_id']; $pick_id = $_REQUEST['stop_id']; $batch_id = $_REQUEST['batch_id']; $is_one_way = $_REQUEST['is_one_way']; // var_dump($is_one_way); // $oneway = $is_one_way ? 'yes' : 'no'; $result = $this->db->query("UPDATE students SET bus_routeid=$routeId,bus_facility='yes',route_stop_id=$pick_id WHERE id=$studentId"); // bus tracking $query1 = $BTSdb->query('SELECT * from bt_students_bus_route_details WHERE student_id=' . $studentId . ' and batch_id =' . $batch_id . ' order by id DESC')->row_array(); $data = array('student_id' => $studentId, 'route_id' => $routeId, 'pick_up_id' => $pick_id, 'drop_id' => $pick_id, 'is_active' => 'No', 'batch_id' => $batch_id, 'one_way' => $is_one_way); if (!empty($query1)) { $upQuery = $BTSdb->query("UPDATE bt_students_bus_route_details SET is_active='yes', one_way='" . $is_one_way . "' , route_id='" . $routeId . "' , pick_up_id='" . $pick_id . "' , drop_id='" . $pick_id . "' WHERE student_id=" . $query1['student_id']); // if ($query1['route_id'] == $routeId) { // // if ($query1['pick_up_id'] == $pick_id) { // // } else { // // $upQuery = $BTSdb->query("UPDATE bt_students_bus_route_details SET is_active='No' WHERE student_id=" . $query1['student_id']); // // if ($upQuery) { // // $upQuery1 = $BTSdb->query("UPDATE bt_students_bus_route_details SET pick_up_id = " . $pick_id . " , drop_id =" . $pick_id . " WHERE student_id=" . $query1['student_id'] . " and batch_id =" . $batch_id); // // } // // } // echo (""); // // debug_to_console("UPDATE bt_students_bus_route_details SET route_id = " . $routeId . " , pick_up_id = " . $pick_id . " , one_way = " . $oneway . " , drop_id = 0 WHERE student_id=" . $studentId . " and batch_id =" . $batch_id); // $upQuery1 = $BTSdb->query("UPDATE bt_students_bus_route_details SET route_id = " . $routeId . " , pick_up_id = " . $pick_id . " , one_way = " . $oneway . " , drop_id = 0 WHERE student_id=" . $studentId . " and batch_id =" . $batch_id); // } // // if ($query1['route_id'] == $routeId) { // // if ($query1['pick_up_id'] == $pick_id) { // // echo ""; // // } else { // // echo ""; // // $upQuery = $BTSdb->query("UPDATE bt_students_bus_route_details SET is_active='No' WHERE student_id=" . $query1['student_id']); // // echo ""; // // if ($upQuery) { // // $upQuery1 = $BTSdb->query("UPDATE bt_students_bus_route_details SET pick_up_id = " . $pick_id . " , drop_id =" . $pick_id . " WHERE student_id=" . $query1['student_id'] . " and batch_id =" . $batch_id); // // } // // } // // } } else { $insertQuery = $BTSdb->insert('bt_students_bus_route_details', $data); } echo ($result) ? 1 : 0; } public function routeUnAssignToStudent() { $BTSdb = $this->load->database('erisnClassroom_bts', TRUE); $studentId = $_REQUEST['student_id']; $routeId = $_REQUEST['route_id']; $pick_id = $_REQUEST['stop_id']; $batch_id = $_REQUEST['batch_id']; $is_one_way = $_REQUEST['is_one_way']; $course_id = $_REQUEST['s_course']; // print_r($_REQUEST); $std_routes = $BTSdb->query("SELECT * FROM bt_students_bus_route_details WHERE student_id = $studentId")->result_array(); // $oneway = $is_one_way ? 'yes' : 'no'; $query = "SELECT cf.id as course_fee_id,cf.fee_values as fee_name , IF(ss.id is null,0,ss.id) as scholarship_id, IF(sop.id is null,0,sop.id) as sop_id, IF(fas.id is null,0,fas.id) as fas_id FROM course_fees cf LEFT JOIN students_online_payments sop on cf.id = sop.course_fee_id AND sop.student_id = $studentId LEFT JOIN student_scholarship ss on cf.id = ss.course_fee_id AND ss.student_id = $studentId LEFT JOIN fee_assigned_students fas on fas.course_fee_id = cf.id AND fas.student_id = $studentId WHERE cf.route_id = $routeId AND cf.batch_id = $batch_id AND cf.course_id = $course_id"; $std_transport_fees = $this->db->query($query)->result_array(); foreach ($std_transport_fees as $f_key => $transport_fee) { if ($transport_fee['sop_id'] == 0) { if ($transport_fee['scholarship_id'] > 0) { $this->db->where('id', $transport_fee['scholarship_id']); $this->db->delete('student_scholarship'); } if ($transport_fee['fas_id'] > 0) { $this->db->where('id', $transport_fee['fas_id']); $this->db->delete('fee_assigned_students'); } } } foreach ($std_routes as $r_key => $std_route) { $BTSdb->where('id', $std_route['id']); $BTSdb->delete('bt_students_bus_route_details'); } $up_data['bus_facility'] = 'no'; $up_data['bus_routeid'] = 0; $up_data['route_stop_id'] = 0; $this->db->where('id', $studentId); $result = $this->db->update('students', $up_data); echo ($result) ? 1 : 0; } // Transport module End here // By: shivu // Hostel facility module start from here // By: shivu public function students_assign_to_hostel() { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); if (!file_exists(APPPATH . 'views/admin/asign-to-hostel.php')) show_404(); $data['currentURL'] = current_url(); //get logo $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); //get menu list $data['menulist'] = $this->Admin_model->get_adminMenu(); $data['title'] = "Hostel Facility"; $result = array(); if ((isset($_POST['filterSubmit']) && !empty($_POST['filterSubmit'])) == 'Filter') { $this->form_validation->set_rules('search_batch', 'Batch', 'required'); $batchId = (!empty($_POST['search_batch'])) ? $_POST['search_batch'] : ''; $classroomId = (!empty($_POST['search_classroom'])) ? $_POST['search_classroom'] : ''; if (!$this->form_validation->run() == FALSE) { $where = ''; $where .= "WHERE s.is_active='yes'"; if ($batchId != '') $where .= ' AND s.batch_id=' . $batchId; if ($classroomId != '') $where .= ' AND sb.classroom_id=' . $classroomId; $result = $this->db->query("SELECT sb.batch_id,b.b_name as batch_name,sb.classroom_id,cl.classroom_name,s.* FROM students s JOIN student_batch sb ON s.id=sb.student_id JOIN classroom cl ON cl.id=sb.classroom_id JOIN batch b ON b.id=sb.batch_id $where")->result_array(); } } $data['search_batch_id'] = (isset($batchId) && $batchId != '') ? $batchId : ''; $data['search_classroom_id'] = (isset($classroomId) && $classroomId != '') ? $classroomId : ''; $data['studentlist'] = (count($result) > 0) ? $result : 0; // dd($data['studentlist']); $data['classrooms'] = $this->db->query("select * from classroom WHERE is_active='yes'")->result_array(); $data['batchs'] = $this->Admin_model->get_batch(); $this->load->view('admin/header', $data); $this->load->view('admin/asign-to-hostel.php', $data); $this->load->view('admin/footer'); } function gethostelDetails() { $batchid = $_REQUEST['batch_id']; $student_id = $_REQUEST['student_id']; $student = $this->db->get_where('students', array('id' => $student_id))->row_array(); $course_id = (isset($student['course']) && !empty($student['course'])) ? $student['course'] : 0; $student_hostelplan_id = (isset($student['hostel_plan_id']) && !empty($student['hostel_plan_id'])) ? $student['hostel_plan_id'] : 0; $fees_type_id = 3; // Fee types table (Hostel Fee) if ($student_hostelplan_id != 0 && $course_id != 0) $studentCourseFeeId = $this->db->query("SELECT id as route_course_fee_id,amount FROM course_fees WHERE batch_id=$batchid AND course_id=$course_id AND fees_type=$fees_type_id AND hostel_plan_id=$student_hostelplan_id")->row()->route_course_fee_id; else $studentCourseFeeId = 0; // $hostelplanprice=array(); $data = array(); $hostelplanlist = array(); if ($batchid != '') { $hostel_plans = $this->db->query('SELECT id,plan_name FROM hostel_plans')->result_array(); if ($hostel_plans != '') { foreach ($hostel_plans as $plan) { $hostelPlanId = $plan['id']; $hostelplanprice = $this->db->query("SELECT id as hostel_course_fee_id, amount FROM course_fees WHERE batch_id=$batchid AND course_id=$course_id AND fees_type=$fees_type_id AND hostel_plan_id=$hostelPlanId")->row_array(); $plan_price = (isset($hostelplanprice['amount']) && !empty($hostelplanprice['amount'])) ? $hostelplanprice['amount'] : 0; $hostelplanlist[] = array( 'hostel_plan_id' => $plan['id'], 'hostel_plan_name' => $plan['plan_name'], 'hostel_fee' => ($plan_price != 0) ? $plan_price : 0 ); } } } // $hostel_course_fee_id=(isset($hostelplanprice['hostel_course_fee_id']) && !empty($hostelplanprice['hostel_course_fee_id'])) ? $hostelplanprice['hostel_course_fee_id'] :0; $paymentStatus = false; if ($studentCourseFeeId != 0) { $student_installment = $this->db->get_where('students_online_payments', array('student_id' => $student_id, 'course_fee_id' => $studentCourseFeeId))->row_array(); if (!empty($student_installment)) { $installmentArray = json_decode($student_installment['payment_details'], true); foreach ($installmentArray as $payment_data) { if ($payment_data['payment_status'] == 'yes') { $paymentStatus = true; break; } } } } $data['payment_status'] = $paymentStatus; $data['hostel_course_fee_id'] = $studentCourseFeeId; $data['student_info'] = $student; $data['hostelplan_data'] = $hostelplanlist; $data['batch_name'] = $this->db->get_where('batch', array('id' => $batchid))->row()->b_name; $data['student_hostel_plan_id'] = (isset($student['hostel_plan_id']) && !empty($student['hostel_plan_id'])) ? $student['hostel_plan_id'] : 0; $page = $this->load->view('admin/hosteldata_modal', $data, TRUE); echo $page; } public function hostelAssignToStudent() { $studentId = $_REQUEST['student_id']; $hostelId = $_REQUEST['hostel_plan_id']; $result = $this->db->query("UPDATE students SET hostel_plan_id=$hostelId,hostel='yes' WHERE id=$studentId"); echo ($result) ? 1 : 0; } // Hostel facility module End here // By: shivu // shankar code for promote student 12-04-22 public function promote_student() { if ((isset($_POST['student_id_list']) && !empty($student_id_list)) || (isset($_POST['select-batch']) && !empty($_POST['select-batch'])) || (isset($_POST['select-course']) && isset($_POST['select-course'])) || (isset($_POST['select-section']) && isset($_POST['select-section']))) { $save_array = []; foreach ($_POST['student_id_list'] as $key => $value) { //adding student id into student batch $get_classroom_id = $this->db->query('select id from classroom where course_id =' . $_POST['select-course'] . ' AND section_id =' . $_POST['select-section'])->row_array(); $roll_no = $this->db->query('select roll_no from student_batch where batch_id=' . $_POST['select-batch'] . ' and classroom_id =' . $get_classroom_id['id'] . ' and is_active ="yes" order by roll_no DESC')->row_array(); $save = array( 'student_id' => $value, 'batch_id' => $_POST['select-batch'], 'classroom_id' => $get_classroom_id['id'], 'roll_no' => (!empty($roll_no)) ? $roll_no['roll_no'] + 1 : 1, 'created' => $this->nepali_current_date ); $this->db->insert('student_batch', $save); $insert_id = $this->db->insert_id(); if ($insert_id) { $upDate_student = array( 'batch_id' => $_POST['select-batch'], 'course' => $_POST['select-course'], 'modified' => $this->nepali_current_date ); // $this->db->where('id', $value); $this->db->update('students', $upDate_student, "id =$value"); if ($this->db->trans_status() === FALSE) { } else { $save_array[] = $insert_id; } } } if (!empty($save_array)) { $data = urlsafe_b64encode(json_encode($save_array)); // dd($data); redirect(base_url() . 'admin/promosion-view-show/' . $data); } else { $this->session->set_flashdata('failed', 'Something Went Wrong !! Data not Added'); redirect(base_url() . 'admin/studentPromosionView'); } } else { $this->session->set_flashdata('failed', 'Data not Added'); redirect(base_url() . 'admin/studentPromosionView'); } } public function promosion_view_show($content) { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); $data['currentURL'] = current_url(); //get logo $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); //get menu list $data['menulist'] = $this->Admin_model->get_adminMenu(); $data['courseId'] = ''; $data['sectionId'] = ''; $data['course'] = $this->db->query("select * from course WHERE is_active='yes'")->result_array(); $data['batch'] = $this->Admin_model->get_batch(); $student_data = array(); $sb_id = json_decode(urlsafe_b64decode($content)); foreach ($sb_id as $key => $value) { $students = $this->db->query('select s.name as student_name, s.studentId , b.b_from, b.b_end, sc.section_name, co.course_name from student_batch sb, students s, classroom c, batch b, section sc , course co where sb.id =' . $value . ' AND s.id = sb.student_id AND sb.batch_id = b.id AND c.id = sb.classroom_id AND c.course_id = co.id AND c.section_id = sc.id')->row_array(); if (!empty($students)) { array_push($student_data, array( 'student_name' => $students['student_name'], 'student_id' => $students['studentId'], 'course_name' => $students['course_name'], 'section_name' => $students['section_name'], 'batch_name' => batchdateFormatTo($students['b_from'], $students['b_end']), 'sb_id' => $value )); } } $data['promoted_students'] = $student_data; if (empty($student_data)) { $this->session->set_flashdata('failed', 'Something Went Wrong... No Data Found'); redirect(base_url() . 'admin/studentPromosionView'); } $this->load->view('admin/header', $data); $this->load->view('admin/promosion-view'); $this->load->view('admin/footer'); } public function deltePromotedStudentByBatch() { $id = $_POST['id']; $student_id = $this->db->query('select student_id from student_batch where id =' . $id)->row_array(); if (!empty($student_id)) { $delete = $this->db->delete('student_batch', array('id' => $id)); if ($delete) { //get last data of student batch using student id $get_data = $this->db->query('select sb.batch_id, co.id as course_id from student_batch sb,classroom c, course co where student_id=' . $student_id['student_id'] . ' AND c.id = sb.classroom_id AND c.course_id = co.id order by sb.id DESC')->row_array(); if (!empty($get_data)) { $upDate_student = array( 'batch_id' => $get_data['batch_id'], 'course' => $get_data['course_id'] ); // $this->db->where('id', $value); $this->db->update('students', $upDate_student, array('id' => $student_id['student_id'])); if ($this->db->trans_status() === FALSE) { echo 'failed'; } else { echo 'success'; } } else { echo 'failed'; } } } else { echo 'failed'; } } public function get_sections_from_course_id($c_id) { $result = $this->Admin_model->get_sections_from_course_id($c_id); // echo json_encode($result); echo json_encode($result); } public function getTeacherByClassroomSubject() { $subjectid = $_REQUEST['subjectid']; $classroomid = $_REQUEST['classroomid']; $rst = $this->db->query("SELECT * FROM classroom_teacher_subject WHERE classroom_id=$classroomid AND subject_id=$subjectid")->row_array(); if (!empty($rst)) echo json_encode($rst); else echo 0; } public function printcount_increment() { $invoiceIds = $_REQUEST['inoviceids']; // $invoiceArray = json_decode($invoiceIds); // foreach ($invoiceArray as $i_key => $i_value) { // $this->db->query('update student_fee_online_transactions set bill_print_count = bill_print_count + 1 where id =' . $i_value); // } $this->db->query('update student_fee_online_transactions set bill_print_count = bill_print_count + 1 where id =' . $invoiceIds); return true; } public function addExpeses($checker) { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); $data['currentURL'] = current_url(); //get logo $data['expenses_types'] = $this->db->query('select id as expenseId, name as expenseTitle from expense_types')->result_array(); $data['expenses_data'] = ''; if ($checker > 0) { $data['title'] = 'Update Expenses'; $data['checker'] = $checker; $data['expenses_data'] = $this->db->query('select * from expenses where id=' . $checker)->row_array(); } else { $data['checker'] = 0; $data['title'] = 'Add Expenses'; } if (count($_POST) > 0) { if ($_POST['expenses_id'] == 0) { if (!empty($_FILES['file_expenses']['name'])) { $filename = $_FILES['file_expenses']['name']; if (!is_dir('expenses_images')) { mkdir('./expenses_images', 0777, true); } $location = "expenses_images/" . $filename; $imageFileType = pathinfo($location, PATHINFO_EXTENSION); $imageFileType = strtolower($imageFileType); /* Valid extensions */ $valid_extensions = array("jpg", "jpeg", "png"); $response = 0; /* Check file extension */ if (in_array(strtolower($imageFileType), $valid_extensions)) { /* Upload file */ if (move_uploaded_file($_FILES['file_expenses']['tmp_name'], $location)) { $response = $location; } } } $profile_image = ''; $expense_s_type = ''; $expense_s_type_computer = ''; $expense_s_type_vehicle = ''; if (isset($_FILES['file_expenses']['name'])) { $profile_image = $response; } if (isset($_POST['expense_sub_type_computer'])) { $expense_s_type_computer = $_POST['expense_sub_type_computer']; } if (isset($_POST['expense_sub_type_vehicle'])) { $expense_s_type_vehicle = $_POST['expense_sub_type_vehicle']; } if ($expense_s_type_computer != '') { $expense_s_type = $expense_s_type_computer; } else if ($expense_s_type_vehicle != '') { $expense_s_type = $expense_s_type_vehicle; } // var_dump($_POST); $data_array = array( 'title' => $_POST['formTitle'], 'expense_type' => $_POST['expense_type'], 'expense_s_type' => $expense_s_type, 'quantity' => $_POST['formQuantity'], 'amount' => $_POST['formAmount'], 'total_amount' => $_POST['totalAmountPaid'], 'paid_date' => $_POST['formPaidDate'], 'file_path' => $profile_image, 'description' => $_POST['description'], 'created' => $this->nepali_current_date ); // print_r($data_array); $this->db->insert('expenses', $data_array); $result_id = $this->db->insert_id(); if ($result_id) { $this->session->set_flashdata('success', str_replace('%s', 'New Expenses', THE_ADD_SUCCESS_MSG)); redirect(base_url() . 'admin/addExpeses/0'); } else { $this->session->set_flashdata('failed', 'Something Went Wrong ... Try again in sometime ....!!'); redirect(base_url() . 'admin/addExpeses/0'); } } else { if (!empty($_FILES['file_expenses']['name'])) { $filename = $_FILES['file_expenses']['name']; if (!is_dir('expenses_images')) { mkdir('./expenses_images', 0777, true); } $location = "expenses_images/" . $filename; $imageFileType = pathinfo($location, PATHINFO_EXTENSION); $imageFileType = strtolower($imageFileType); /* Valid extensions */ $valid_extensions = array("jpg", "jpeg", "png"); $response = 0; /* Check file extension */ $expenses_pic_prev = $this->db->get_where('expenses', array('id' => $_POST['expenses_id']))->row()->file_path; if (in_array(strtolower($imageFileType), $valid_extensions)) { /* Upload file */ if (move_uploaded_file($_FILES['file_expenses']['tmp_name'], $location)) { unlink($expenses_pic_prev); $response = $location; } } } $profile_image = ''; $data_array = array( 'title' => $_POST['formTitle'], 'quantity' => $_POST['formQuantity'], 'amount' => $_POST['formAmount'], 'total_amount' => $_POST['totalAmountPaid'], 'paid_date' => $_POST['formPaidDate'], 'description' => $_POST['description'], 'created' => $this->nepali_current_date ); if (isset($_FILES['file_expenses']['name']) && !empty($_FILES['file_expenses']['name'])) { $data_array['file_path'] = $response; } $this->db->where('id', $_POST['expenses_id']); $this->db->update('expenses', $data_array); $updated_status = $this->db->affected_rows(); if ($updated_status) { $this->session->set_flashdata('success', str_replace('%s', 'Expenses', THE_UPDATE_SUCCESS_MSG)); redirect(base_url() . 'admin/addExpeses/' . $_POST['expenses_id']); } else { $this->session->set_flashdata('failed', str_replace('%s', 'Expenses', THE_UPDATE_FAILED_MSG)); redirect(base_url() . 'admin/addExpeses/' . $_POST['expenses_id']); } } } $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); //get menu list $data['menulist'] = $this->Admin_model->get_adminMenu(); $this->load->view('admin/header', $data); $this->load->view('admin/add-expenses'); $this->load->view('admin/footer'); } public function listExpeses() { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); $data['currentURL'] = current_url(); if ($this->input->post('filterSubmit') == "Filter") { // $this->form_validation->set_rules('filter-course', 'Course', 'required'); $s_expense_type = $_POST['filter-expense-type']; $s_date = (isset($_POST['filter-Sdate']) && !empty($_POST['filter-Sdate'])) ? $_POST['filter-Sdate'] : ''; if (empty($s_date)) { // echo 'Empty'; $e_date = (isset($_POST['filter-Edate']) && !empty($_POST['filter-Edate'])) ? $_POST['filter-Edate'] : ''; } else { // echo 'Npt Empty'; $e_date = (isset($_POST['filter-Edate']) && !empty($_POST['filter-Edate'])) ? $_POST['filter-Edate'] : date('Y-m-d', strtotime($this->nepali_current_date)); } // var_dump($e_date); // dd($s_date); // $s_date = (isset($_POST['by_start_paid_date']) && !empty($_POST['by_start_paid_date'])) ? $_POST['by_start_paid_date'] : date('Y-m-01', strtotime($this->nepali_current_date)); // $e_date = (isset($_POST['by_end_paid_date']) && !empty($_POST['by_end_paid_date'])) ? $_POST['by_end_paid_date'] : date('Y-m-t', strtotime($this->nepali_current_date)); $data['sdate'] = $s_date; $data['edate'] = $e_date; $where = ''; if ($s_date != '' && $s_date != '') $where = "WHERE date(paid_date) BETWEEN '$s_date' AND '$e_date'"; else { if ($s_date != '') { $where = "WHERE date(paid_date) BETWEEN '$s_date'"; } else if ($e_date != '') $where = "WHERE date(paid_date) <= '$e_date'"; } if (trim($s_expense_type) != '') { if (trim($where) != '') { $where = "$where AND expense_type = $s_expense_type"; } else { $where = "WHERE expense_type = $s_expense_type"; } } $Sqlquery = "SELECT * FROM `expenses` $where ORDER BY paid_date DESC"; $data['expenses_data'] = $this->Admin_model->get_query_result($Sqlquery); } else { // $data['students'] = $this->Admin_model->get_students(); $data['expenses_data'] = $this->db->query('select * from expenses order BY paid_date DESC')->result_array(); } $data['expenses_types'] = $this->db->query('select id as expenseId, name as expenseTitle from expense_types')->result_array(); $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); //get menu list $data['menulist'] = $this->Admin_model->get_adminMenu(); $this->load->view('admin/header', $data); $this->load->view('admin/list-expenses'); $this->load->view('admin/footer'); } public function delete_expenses($id) { $sql = $this->Admin_model->delete_expenses($id); if ($sql) { $this->session->set_flashdata('success', 'Expenses has been successfully deleted'); redirect(base_url() . 'admin/listExpeses'); } else { $this->session->set_flashdata('danger', 'Expenses could not been deleted, Please try again!'); redirect(base_url() . 'admin/listExpeses'); } } public function rollNumberChange($classroomId) { $data['encrepted_clas'] = $classroomId; $classroom_id = (int)str_replace("-qqcksbvlwierhwjerw", '', urlsafe_b64decode($classroomId)); $check_classroom_id = $this->db->query('select * from classroom where id =' . $classroom_id)->row_array(); $data['currentURL'] = current_url(); //get logo $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); $data['title'] = "Student List of " . $check_classroom_id['classroom_name']; $data['classroomid'] = $check_classroom_id['id']; //get menu list $data['menulist'] = $this->Admin_model->get_adminMenu(); $cls_id = $check_classroom_id['id']; // $query = "SELECT sb.id as stud_batch_id, sb.roll_no, sb.batch_id,sb.classroom_id,s.* FROM student_batch sb LEFT JOIN students s ON sb.student_id=s.id AND sb.batch_id = " . $data['school_info']['batch_id'] . " WHERE sb.classroom_id=$cls_id"; $query = "SELECT sb.id as stud_batch_id, sb.roll_no, sb.batch_id as student_batch, sb.classroom_id, s.* FROM student_batch sb LEFT JOIN students s ON sb.student_id=s.id WHERE sb.batch_id = " . $data['school_info']['batch_id'] . " AND sb.classroom_id=$cls_id ORDER BY sb.roll_no"; $data['student_list'] = $this->Admin_model->get_query_result($query); // echo $query; // dd($data['student_list']); if ($_POST) { $checker = 0; $roll_numbers = explode(",", $_POST['roll_numbers']); $batch_ids = explode(",", $_POST['batch_ids']); // dd($_POST); foreach ($roll_numbers as $key => $value) { $this->db->set('roll_no', $value); $this->db->where('id', $batch_ids[$key]); $update = $this->db->update('student_batch'); if ($update) { $checker = 1; } } if ($checker > 0) $this->session->set_flashdata('success_msg', 'Roll Number Updated Successfully'); else $this->session->set_flashdata('error_msg', 'Something Went Wrong...Plese try again...!!'); redirect(base_url() . 'admin/roll-change/' . $classroomId); } $this->load->view('admin/header', $data); $this->load->view('admin/assign_rollNumber'); $this->load->view('admin/footer'); } // New Inovice public function newinvoice($studID, $txn_ID, $count, $invoiceList) { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); if (!file_exists(APPPATH . 'views/admin/invoice.php')) show_404(); $data['currentURL'] = current_url(); $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); $data['menulist'] = $this->Admin_model->get_adminMenu(); $studentID = urlsafe_b64decode($studID); $txnID = urlsafe_b64decode($txn_ID); $counter = urlsafe_b64decode($count); $invoiceList = urlsafe_b64decode($invoiceList); if ($counter > 1) $data['back_url'] = 'admin/student_fee_course/' . $counter; else $data['back_url'] = 'admin/reports'; if ($studentID != '' && $txnID != '') { $student_ID = $this->db->get_where('students', array('studentId' => $studentID))->row(); if ($student_ID != '') { $sql1 = "SELECT sfot.*,course_fees.fee_values,s.course as courseID,s.name,s.studentId,b.b_from,b.b_name as batch_name,b.b_end,sb.batch_id,cl.course_id,cl.section_id,s.parent_pan FROM student_fee_online_transactions sfot LEFT JOIN students s ON sfot.studentId=s.studentId LEFT JOIN student_batch sb ON s.id=sb.student_id AND s.batch_id = sb.batch_id LEFT JOIN classroom cl ON cl.id=sb.classroom_id LEFT JOIN batch b ON sb.batch_id=b.id INNER JOIN course_fees ON sfot.course_fee_id = course_fees.id WHERE sfot.studentId='$studentID' AND sfot.invoice_no='$txnID' order by sb.id desc"; $payment_datalist = $this->Admin_model->get_query_result($sql1); foreach ($payment_datalist as $payment_data) { $student_data[] = array( 'student_fee_online_transactions_id' => $payment_data['id'], // 'studentId' => $payment_data['studentId'], 'payment_for' => $payment_data['fee_values'] . '(' . $payment_data['payment_for'] . ')', 'txn_id' => $payment_data['txn_id'], 'payment_amt' => $payment_data['payment_amt'], 'paid_date' => $payment_data['payment_date'], // 'studentname' => $payment_data['name'], // 'batch_name' => $payment_data['batch_name'], // 'batch_from' => $payment_data['b_from'], // 'batch_end' => $payment_data['b_end'], // 'course_id' => (isset($payment_data['course_id']) && !empty($payment_data['course_id'])) ? $payment_data['course_id'] : $payment_data['courseID'], 'received_by' => $payment_data['payment_recived_id'], 'payment_method' => $payment_data['payment_method'], 'fine_amount' => $payment_data['fine_amount'], 'tdt' => date('Y-m-d H:i:s', strtotime($this->nepali_current_date)), 'deduction_type' => $payment_data['deduction_type'], 'deduction_amount' => $payment_data['deduction_amount'], // 'section_id' => $payment_data['section_id'], 'bill_print_count' => $payment_data['bill_print_count'], 'course_fee_id' => $payment_data['course_fee_id'], 'install_sno' => $payment_data['install_sno'], 'parent_pan' => (isset($payment_data['parent_pan']) && !empty($payment_data['parent_pan'])) ? $payment_data['parent_pan'] : '', 'invoice_no' => (isset($payment_data['invoice_no']) && !empty($payment_data['invoice_no'])) ? $payment_data['invoice_no'] : '' ); } $data['invoice_data'] = $student_data; dd($data['invoice_data']); } else { $sql2 = "SELECT soft.*,course_fees.fee_values,a.name,a.course,b.b_name as batch_name,b.b_from,b.b_end FROM student_fee_online_transactions soft LEFT JOIN applications a ON a.applicationid=soft.studentId LEFT JOIN batch b ON b.id=a.batch_id LEFT JOIN course_fees ON soft.course_fee_id = course_fees.id WHERE soft.studentId='$studentID' AND soft.invoice_no='$txnID' order by soft.id desc"; $paymentdata = $this->Admin_model->get_query_result($sql2); // dd($sql2); if (count($paymentdata) > 0) { $application_data = array( 'student_fee_online_transactions_id' => $paymentdata['id'], 'studentId' => $paymentdata['studentId'], 'payment_for' => $paymentdata['fee_values'] . '(' . $paymentdata['payment_for'] . ')', 'txn_id' => $paymentdata['txn_id'], 'payment_amt' => $paymentdata['payment_amt'], 'paid_date' => $paymentdata['payment_date'], 'studentname' => $paymentdata['name'], 'batch_name' => $paymentdata['batch_name'], 'batch_from' => $paymentdata['b_from'], 'batch_end' => $paymentdata['b_end'], 'course_id' => $paymentdata['course'], 'received_by' => $paymentdata['payment_recived_id'], 'payment_method' => $paymentdata['payment_method'], 'fine_amount' => $paymentdata['fine_amount'], 'tdt' => date('Y-m-d H:i:s', strtotime($this->nepali_current_date)), 'deduction_type' => $paymentdata['deduction_type'], 'deduction_amount' => $paymentdata['deduction_amount'], 'section_id' => 0, 'bill_print_count' => $paymentdata['bill_print_count'], 'course_fee_id' => $paymentdata['course_fee_id'], 'install_sno' => $paymentdata['install_sno'], 'parent_pan' => '', 'invoice_no' => (isset($paymentdata['invoice_no']) && !empty($paymentdata['invoice_no'])) ? $paymentdata['invoice_no'] : '' ); $data['invoice_data'] = $application_data; } } } // dd($data['invoice_data']); $this->load->view('admin/header', $data); $this->load->view('admin/invoice', $data); $this->load->view('admin/footer'); } /*START : Coding done by assign_all_fees_atonce -----------------------------------------*/ function assign_all_fees_atonce() { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); if (!file_exists(APPPATH . 'views/admin/assign-all-fees-atonce.php')) show_404(); $theStudents = array(); $theFees = array(); $theBatchId = ''; $feestype = array(); $studntinfo = []; $studntinfo1 = []; $studntRouteInfo = []; $studntRouteInfo1 = []; $sectionId = ''; $courseId = ''; $filterRouteId = ''; $dateFrom = ''; $feestypes = []; $data['currentURL'] = current_url(); $data['logo'] = $this->Admin_model->get_logo(); $data['menulist'] = $this->Admin_model->get_adminMenu(); $data['title'] = "Assign Fees"; $data['courses'] = $this->Admin_model->get_courses(); //echo ''; print_r($data['courses']);exit; $school_info = $this->Admin_model->get_logo_from_setting(); $data['school_info'] = $school_info; if (isset($school_info['batch_id'])) $theBatchId = (!empty($school_info['batch_id'])) ? $school_info['batch_id'] : 0; if ($this->input->post('filterSubmit') == "Filter") { $condtion = ''; // $this->form_validation->set_rules('filter-course', 'Course', 'required'); $courseId = (isset($_POST['filter-course']) && !empty($_POST['filter-course'])) ? $_POST['filter-course'] : ''; $sectionId = (isset($_POST['filter-section']) && !empty($_POST['filter-section'])) ? $_POST['filter-section'] : ''; $feestypes = (isset($_POST['filter-fees_type']) && !empty($_POST['filter-fees_type'])) ? $_POST['filter-fees_type'] : ''; $dateFrom = (isset($_POST['date_from']) && !empty($_POST['date_from'])) ? $_POST['date_from'] : ''; $filterRouteId = (isset($_POST['filter-route-id']) && !empty($_POST['filter-route-id'])) ? $_POST['filter-route-id'] : ''; // dd($feestypes); if ($courseId != '') $condtion .= " AND cf.course_id='$courseId'"; if ($feestypes != '') { $arr = implode(',', $feestypes); $condtion .= " AND cf.fees_type in ($arr)"; } if ($filterRouteId != '') $condtion .= " AND cf.route_id = '$filterRouteId'"; if ($dateFrom != '') $condtion .= " AND cf.created >= '$dateFrom'"; if ($theBatchId != 0) { $sql = "SELECT cf.id as course_fee_id,cf.batch_id,cf.course_id,ft.id,ft.feetype_name,cf.fees_name,cf.amount,cf.due_date,cf.grouped,cf.fee_values FROM course_fees cf JOIN fee_types ft ON cf.fees_type=ft.id WHERE cf.batch_id='$theBatchId' $condtion "; $result = $this->Admin_model->get_query_result($sql); $q = ''; if ($courseId != '') $q .= " AND s.course=$courseId"; if ($sectionId != '') $q .= " AND cl.section_id=$sectionId"; if ($filterRouteId != '') $q .= " AND s.bus_routeid=$filterRouteId"; // if($date_from != '') // $q.=" AND DATE(cf.created) <= $dateFrom"; //$sql2="SELECT s.id as student_id,s.studentId,s.name,s.course,s.batch_id,cl.section_id,se.section_name FROM students s // JOIN student_batch sb ON sb.student_id=s.id AND sb.batch_id=s.batch_id // JOIN classroom cl ON cl.id = sb.classroom_id JOIN section se ON se.id=cl.section_id WHERE sb.batch_id='$theBatchId' $q"; $sql2 = "SELECT s.id as student_id,s.studentId,s.name,s.course,s.batch_id,cl.section_id,se.section_name, sb.roll_no FROM students s JOIN student_batch sb ON s.id=sb.student_id AND sb.batch_id = $theBatchId JOIN classroom cl ON cl.id = sb.classroom_id AND s.course=cl.course_id JOIN section se ON cl.section_id=se.id WHERE sb.batch_id= $theBatchId $q ORDER BY sb.roll_no"; // exit; $result2 = $this->Admin_model->get_query_result($sql2); if (count($result) > 0) { foreach ($result as $value) { $feestype[] = array( 'feecourse_id' => $value['course_fee_id'], 'fee_name' => $value['fee_values'], 'course_fee_id' => $value['course_fee_id'], 'fee_amount' => $value['amount'] ); } if (count($result2) > 0) { // dd($result2); $BTSdb = $this->load->database('erisnClassroom_bts', TRUE); // $studentId = $_REQUEST['student_id']; // $routeId = $_REQUEST['route_id']; // $pick_id = $_REQUEST['stop_id']; // $batch_id = $_REQUEST['batch_id']; // $is_one_way = $_REQUEST['is_one_way']; // var_dump($is_one_way); // $oneway = $is_one_way ? 'yes' : 'no'; // $result = $this->db->query("UPDATE students SET bus_routeid=$routeId,bus_facility='yes',route_stop_id=$pick_id WHERE id=$studentId"); // $query1 = $BTSdb->query('SELECT * from bt_students_bus_route_details WHERE student_id=' . $studentId . ' and batch_id =' . $theBatchId . ' order by id DESC')->row_array(); foreach ($result2 as $key1 => $std_value) { // $std_id = $std_value['student_id']; foreach ($result as $key2 => $value) { $rst = $this->db->get_where('fee_assigned_students', array('student_id' => $std_value['student_id'], 'course_fee_id' => $value['course_fee_id']))->row_array(); $feetypevalue = ($rst != '') ? 1 : 0; $studntinfo1[$key2] = array('course_fee_id' => $value['course_fee_id'], 'status' => $feetypevalue); } $studntinfo[$key1] = array( 'student_id' => $result2[$key1]['student_id'], 'student_name' => $result2[$key1]['name'], 'studentId' => $result2[$key1]['studentId'], 'roll_no' => $result2[$key1]['roll_no'], 'fees_data' => $studntinfo1 ); if ($filterRouteId != '') { $query1 = $BTSdb->query('SELECT * from bt_students_bus_route_details WHERE student_id=' . $result2[$key1]['student_id'] . ' and batch_id =' . $theBatchId . ' and route_id =' . $filterRouteId . ' order by id DESC')->row_array(); // $studntRouteInfo[$key]; $studntinfo[$key1]['route_details'] = isset($query1) && count($query1) != 0 ? $query1 : null; } // array_push(); } } $theStudents['student_info'] = $studntinfo; // echo ''; // var_dump($studntinfo); $theStudents['student_route_details'] = $studntinfo; // $data['fees_type_names']=$feestype; } } } // dd($data['fees_type_names']); $feestypelist = $this->Admin_model->get_fees_type(); if ($filterRouteId != '') { $data['routes'] = $this->Admin_model->get_currentbatch_routes(); $data['filter_route_id'] = $filterRouteId; } $data['section'] = $sectionId; $data['feestypes'] = $feestypes; $data['course'] = $courseId; $data['start_date'] = (!empty($dateFrom)) ? $dateFrom : ''; $data['fees_type'] = $feestypelist; $data['fees_type_names'] = $feestype; $data['theFees'] = $theFees; $data['theBatchId'] = $theBatchId; $data['theStudents'] = $theStudents; $this->load->view('admin/header', $data); $this->load->view('admin/assign-all-fees-atonce', $data); $this->load->view('admin/footer'); } function assigntostudents() { // dd($_POST); $fees_typelist = $this->input->post('feestype'); $modified_students = $this->input->post('students'); if (!empty($modified_students)) { $student_fees = $this->input->post('row'); $oneWay = $this->input->post('one_way'); $modified = array(); $assigned_arr = array(); $unassigned_arr = array(); $check_already = array(); // echo ''; // print_r($student_fees); // print_r($oneWay); foreach ($student_fees as $key => $std_value) { if (in_array($key, $modified_students)) { // echo 'Is Half Fee ' . $oneWay[$key] . '
Fee Data = ' . $std_value . ' Student Id = ' . $key . '
'; $modified[] = array( 'student_id' => $key, 'fees_data' => $std_value, 'is_half_fee' => $oneWay[$key] ); } } if (count($modified) > 0) { foreach ($modified as $feekey => $value) { $studentId = $value['student_id']; // echo ''; // var_dump($value); foreach ($value['fees_data'] as $course_fee_id => $fe_value) { $cf = $this->Admin_model->get_query_row("SELECT cf.*, ft.feetype_name FROM course_fees cf JOIN fee_types ft ON ft.id = cf.fees_type WHERE cf.id = $course_fee_id"); if ($fe_value == 'on') { $insert_data = array( 'student_id' => $studentId, 'course_fee_id' => $course_fee_id, 'is_half_fee' => $value['is_half_fee'][$course_fee_id] ); // checking start HERE $sql = "SELECT cf.fee_values,fas.id as fee_assigned_id FROM fee_assigned_students fas JOIN course_fees cf ON cf.id=fas.course_fee_id WHERE fas.student_id=$studentId ANd fas.course_fee_id=$course_fee_id "; $check_assigned = $this->Admin_model->get_query_row($sql); if ($check_assigned != '') { $check_already[] = $check_assigned['fee_values']; } else { $std = $this->Admin_model->get_query_row("SELECT * FROM students WHERE id = $studentId"); $scholarship = $this->Admin_model->get_query_row("SELECT ss.*, st.scholarshiptype_name FROM student_scholarship ss JOIN scholarship_types st ON st.id = ss.scholarship_type WHERE ss.student_id = $studentId AND ss.course_fee_id = $course_fee_id"); // dd($scholarship); $this->accounting->voucherEntry($studentId, $std['studentId'], $cf, $scholarship, 'Journal'); // dd($insert_data); $result = $this->db->insert('fee_assigned_students', $insert_data); if ($result == TRUE) array_push($assigned_arr, $course_fee_id); } // Checking End Here } else if ($fe_value == 'off') { $coondition_data = array( 'student_id' => $studentId, 'course_fee_id' => $course_fee_id, 'is_half_fee' => $value['is_half_fee'][$course_fee_id] ); $this->db->where($coondition_data); $unselected_data = $this->db->delete('fee_assigned_students'); if ($unselected_data == TRUE) { $this->accounting->removeVoucherEntry($studentId, $cf); array_push($unassigned_arr, $course_fee_id); } } } } if (count($assigned_arr) > 0 && count($unassigned_arr) > 0) { $this->session->set_flashdata('success', "Fees has been assigned to Students Successfully"); } else if (count($assigned_arr) > 0 && count($unassigned_arr) == 0) { $this->session->set_flashdata('success', "Fees has been assigned Successfully"); } else if (count($assigned_arr) == 0 && count($unassigned_arr) > 0) { $this->session->set_flashdata('success', "Fees has been unassigned Successfully"); } } else { $this->session->set_flashdata('error', "No Changes"); } } else { $this->session->set_flashdata('error', "No Changes"); } redirect(base_url() . 'admin/assign-all-fees'); } /*END Of : Coding done by Shivakumar -----------------------------------------*/ // New Student module - start from Here // Developer: Shivakumar // Date: 03-06-2022 public function newstudentview() { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); if (!file_exists(APPPATH . 'views/admin/addnewstudent.php')) show_404(); $data['currentURL'] = current_url(); //get logo $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); //get menu list $data['menulist'] = $this->Admin_model->get_adminMenu(); $data['title'] = "Student Admission"; $data['courses'] = $this->Admin_model->get_courses(); $data['batch'] = $this->Admin_model->get_batch(); $CI = &get_instance(); $mainList = $CI->load->database('schoolSetting', TRUE); $data['provinces'] = $mainList->query("SELECT * FROM provinces")->result_array(); $this->load->view('admin/header', $data); $this->load->view('admin/addnewstudent', $data); $this->load->view('admin/footer'); } public function addnewstudent() { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); if (count($_POST) > 0) { $config['upload_path'] = 'assets_student/application/'; $config['allowed_types'] = 'gif|jpg|png|jpeg'; $this->load->library('upload', $config); $this->upload->initialize($config); $data['currentURL'] = current_url(); $data['sinfo'] = $_POST; $school_info = $this->Admin_model->get_logo_from_setting(); $photo = array('upload_data' => $this->upload->data()); if (!$this->upload->do_upload('photo')) { $data['photo'] = "No-Image.jpg"; } else { $photo = array('upload_data' => $this->upload->data()); $data['photo'] = $photo['upload_data']['file_name']; } if (!$this->upload->do_upload('school')) { $data['school'] = "No-Image.jpg"; } else { $school = array('upload_data' => $this->upload->data()); $data['school'] = $school['upload_data']['file_name']; } if (!$this->upload->do_upload('exam')) { $data['exam'] = "No-Image.jpg"; } else { $exam = array('upload_data' => $this->upload->data()); $data['exam'] = $exam['upload_data']['file_name']; } if (!$this->upload->do_upload('medical')) { $data['medical'] = "No-Image.jpg"; } else { $medical = array('upload_data' => $this->upload->data()); $data['medical'] = $medical['upload_data']['file_name']; } $data['sameAsPermanentAddress'] = $_POST['same_as_per_add']; // if(isset($_POST['sibling']) && $_POST['sibling'] == 'yes') { // $parentId = $_POST['sibling_parent_id']; // $inserted_student=$this->Admin_model->addNewStudent($data,$parentId); // if($inserted_student > 0){ // $this->session->set_flashdata('success', str_replace('%s', 'Student', THE_ADD_SUCCESS_MSG)); // } // else { // $this->session->set_flashdata('error', str_replace('%s', 'Student', THE_INSERT_FAILED_MSG)); // } // } else { $inserted_student = $this->Admin_model->addNewStudent($data); if ($inserted_student === -1) { $this->session->set_flashdata('error', "Student Email or Mobile number Already Exists"); } else if ($inserted_student > 0) { $this->session->set_flashdata('success', str_replace('%s', 'Student', THE_ADD_SUCCESS_MSG)); } else { $this->session->set_flashdata('error', str_replace('%s', 'Student', THE_INSERT_FAILED_MSG)); } // } redirect(base_url() . 'admin/add-student'); // $this->Admin_model->add_applicationinfo($data); } } // New Student module - End Here public function get_routes_by_batch_course() { $BTSdb = $this->load->database('erisnClassroom_bts', TRUE); $school_info = $this->Admin_model->get_logo_from_setting(); $batch_id = (isset($school_info['batch_id']) && !empty($school_info['batch_id'])) ? $school_info['batch_id'] : 0; $route_data = array(); // $fee_type_id=($_POST['fee_type_id'] !='') ? $_POST['fee_type_id'] : 0; $result = $BTSdb->query('select * FROM bt_batch_routes WHERE batch_id=' . $batch_id)->row_array(); if ($result != '') { $route_ids = explode(',', $result['route_ids']); if (count($route_ids) > 0) { foreach ($route_ids as $value) { $value = (!empty($value)) ? $value : 0; $rst = $BTSdb->query('SELECT * FROM `bt_routes` WHERE id=' . $value)->row_array(); $route_data[] = array( 'id' => $rst['id'], 'route_name' => $rst['route_name'] ); } $data['routes'] = $route_data; } else { $data['routes'] = ''; } } else $data['routes'] = ''; echo json_encode($data); } function check_route_fees() { $batch_id = (isset($_POST['batch_id']) && !empty($_POST['batch_id'])) ? $_POST['batch_id'] : 0; $feetype_id = (isset($_POST['feetype_id']) && !empty($_POST['feetype_id'])) ? $_POST['feetype_id'] : 0; $course_ids = (isset($_POST['course_ids']) && !empty($_POST['course_ids'])) ? $_POST['course_ids'] : 0; $route_id = (isset($_POST['route_id']) && !empty($_POST['route_id'])) ? $_POST['route_id'] : 0; $course_arr = implode(',', $course_ids); // $condtion.=" AND cf.fees_type in ($arr)"; // echo 'SELECT * FROM `course_fees` WHERE batch_id='.$batch_id.' AND fees_type='.$feetype_id.' AND course_id IN ('.$course_arr.') AND route_id='.$route_id; $exitsfee = $this->db->query('SELECT cf.*,c.course_name FROM course_fees cf JOIN course c ON c.id=cf.course_id WHERE cf.batch_id=' . $batch_id . ' AND cf.fees_type=' . $feetype_id . ' AND cf.course_id IN (' . $course_arr . ') AND cf.route_id=' . $route_id)->result_array(); echo (count($exitsfee) > 0) ? json_encode($exitsfee) : 0; } function report_recent_transactions() { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); if (!file_exists(APPPATH . 'views/admin/report_recent_transactions.php')) show_404(); $data['currentURL'] = current_url(); $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); $data['menulist'] = $this->Admin_model->get_adminMenu(); $studentInfo = array(); if ($this->input->post('filtersubmit') == "filter") { $feestype = (isset($_POST['by_feetype']) && !empty($_POST['by_feetype'])) ? $_POST['by_feetype'] : ''; $courseId = (isset($_POST['by_course_id']) && !empty($_POST['by_course_id'])) ? $_POST['by_course_id'] : 0; $startDate = (isset($_POST['by_start_paid_date']) && !empty($_POST['by_start_paid_date'])) ? $_POST['by_start_paid_date'] : date('Y-m-01', strtotime($this->nepali_current_date)); $endDate = (isset($_POST['by_end_paid_date']) && !empty($_POST['by_end_paid_date'])) ? $_POST['by_end_paid_date'] : date('Y-m-t', strtotime($this->nepali_current_date)); $where = ''; if ($feestype != '') $where = "WHERE payment_for LIKE '%$feestype%'"; // else if ($startDate != '') // $where = "WHERE date(payment_date) = '$startDate'"; // else if ($endDate != '') // $where = "WHERE date(payment_date) = '$endDate'"; else if ($startDate != '' && $endDate != '') $where = "WHERE date(payment_date) BETWEEN '$startDate' AND '$endDate'"; else if ($feestype != '' && $startDate != '') $where = "WHERE payment_for LIKE '%$feestype%' AND date(payment_date) = '$startDate'"; else if ($feestype != '' && $startDate != '' && $endDate != '') $where = "WHERE payment_for LIKE '%$feestype%' AND Date(payment_date) BETWEEN '$startDate' AND '$endDate'"; $Sqlquery = "SELECT * FROM `student_fee_online_transactions` $where ORDER BY id DESC"; $fees_transactins = $this->Admin_model->get_query_result($Sqlquery); foreach ($fees_transactins as $ft_value) { $studentId = (isset($ft_value['studentId']) && !empty($ft_value['studentId'])) ? $ft_value['studentId'] : 0; if ($courseId != 0) { $student_where = array('applicationid' => $studentId, 'course' => $courseId); } else { $student_where = array('applicationid' => $studentId); } $student = $this->db->get_where('applications', $student_where)->row_array(); $studentDetails = (isset($student) && !empty($student)) ? $student : 0; if ($studentDetails == 0) { if ($courseId != 0) { $Studentwhere = array('studentId' => trim($studentId), 'course' => $courseId); } else { $Studentwhere = array('studentId' => $studentId); } $studentDetails = $this->db->get_where('students', $Studentwhere)->row_array(); } if ($studentDetails != '') { $student_data = array( 'studentId' => $studentId, 'stud_id' => $studentId, 'name' => $studentDetails['name'], 'course' => $studentDetails['course'], 'payment_for' => $ft_value['payment_for'], 'payment_amt' => $ft_value['payment_amt'], 'txn_id' => $ft_value['txn_id'], 'invoice_no' => $ft_value['invoice_no'], 'payment_date' => $ft_value['payment_date'], 'status' => $ft_value['status'], 'deduction_type' => $ft_value['deduction_type'], 'deduction_amount' => $ft_value['deduction_amount'], 'fine_amount' => $ft_value['fine_amount'], 'course_fee_id' => (isset($ft_value['course_fee_id']) && ($ft_value['course_fee_id'] != 0)) ? $ft_value['course_fee_id'] : 0 ); $studentInfo[] = $student_data; } } $data['search_course_id'] = $courseId; $data['search_feetype'] = $feestype; $data['search_start_paid_date'] = $startDate; $data['search_end_paid_date'] = $endDate; } else { $Sqlquery = "SELECT * FROM `student_fee_online_transactions` ORDER BY id DESC LIMIT 100"; $fees_transactins = $this->Admin_model->get_query_result($Sqlquery); foreach ($fees_transactins as $ft_value) { $studentId = $ft_value['studentId']; $student = $this->db->get_where('applications', array('applicationid' => $studentId))->row_array(); $studentDetails = (isset($student) && !empty($student)) ? $student : 0; if ($studentDetails == 0) { $studentDetails = $this->db->get_where('students', array('studentId' => $studentId))->row_array(); } if ($studentDetails != '') { $student_data = array( 'studentId' => $studentId, 'stud_id' => $studentDetails['id'], 'name' => $studentDetails['name'], 'course' => $studentDetails['course'], 'payment_for' => $ft_value['payment_for'], 'payment_amt' => $ft_value['payment_amt'], 'txn_id' => $ft_value['txn_id'], 'invoice_no' => $ft_value['invoice_no'], 'payment_date' => $ft_value['payment_date'], 'status' => $ft_value['status'], 'deduction_type' => $ft_value['deduction_type'], 'deduction_amount' => $ft_value['deduction_amount'], 'fine_amount' => $ft_value['fine_amount'], 'course_fee_id' => (isset($ft_value['course_fee_id']) && ($ft_value['course_fee_id'] != 0)) ? $ft_value['course_fee_id'] : 0 ); $studentInfo[] = $student_data; } } } $data['student_fees'] = $studentInfo; // $data['current_report_data'] = $fee_type_data; $data['course_list'] = $this->db->query("select * from course WHERE is_active='yes'")->result_array(); $data['feetype_list'] = $this->db->query("select * from fee_types WHERE is_active='yes'")->result_array(); $this->load->view('admin/header', $data); $this->load->view('admin/report_recent_transactions', $data); $this->load->view('admin/footer'); } function report_overview() { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); if (!file_exists(APPPATH . 'views/admin/report_overview.php')) show_404(); $data['currentURL'] = current_url(); $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); $data['menulist'] = $this->Admin_model->get_adminMenu(); $fee_type_data = array(); $start_date = date('Y-m-01', strtotime($this->nepali_current_date)); $current_date = date('Y-m-t', strtotime($this->nepali_current_date)); $sqlQuery1 = "SELECT id as feetype_id,feetype_name,icon FROM fee_types WHERE is_active='yes'"; $feetypelist = $this->Admin_model->get_query_result($sqlQuery1); if (isset($feetypelist) && !empty($feetypelist)) { foreach ($feetypelist as $ftype) { if ($ftype['feetype_id'] == 1) { $appication_totalamt = $this->Admin_model->get_currentmonthfee($start_date, $current_date, $ftype['feetype_name'], 'student_fee_online_transactions'); $fee_type_data[] = array( 'feetype_id' => $ftype['feetype_id'], 'feetype_name' => $ftype['feetype_name'], 'feetype_icon' => $ftype['icon'], 'feetype_total' => 0, 'feetype_due_amt' => 0, 'feetype_paid_amount' => (isset($appication_totalamt) && !empty($appication_totalamt)) ? $appication_totalamt : 0 ); } else { $result = $this->Admin_model->currentMonth_fee($start_date, $current_date, $ftype['feetype_id']); $fee_type_data[] = array( 'feetype_id' => $ftype['feetype_id'], 'feetype_name' => $ftype['feetype_name'], 'feetype_icon' => $ftype['icon'], 'feetype_total' => (isset($result['total_course_fee']) && !empty($result['total_course_fee'])) ? $result['total_course_fee'] : 0, 'feetype_due_amt' => (isset($result['pending_fee']) && !empty($result['pending_fee'])) ? $result['pending_fee'] : 0, 'feetype_paid_amount' => (isset($result['paid_amount']) && !empty($result['paid_amount'])) ? $result['paid_amount'] : 0 ); } } } $data['current_report_data'] = $fee_type_data; // $data['course_list'] = $this->db->query("select * from course WHERE is_active='yes'")->result_array(); // $data['feetype_list'] = $this->db->query("select * from fee_types WHERE is_active='yes'")->result_array(); $this->load->view('admin/header', $data); $this->load->view('admin/report_overview', $data); $this->load->view('admin/footer'); } // get report by by date public function getreportBydate() { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); if (!file_exists(APPPATH . 'views/admin/annual_report.php')) show_404(); $data['currentURL'] = current_url(); $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); $data['menulist'] = $this->Admin_model->get_adminMenu(); $batches = $this->Admin_model->get_table_info('batch', array('is_active' => 'yes')); $data['batches'] = $batches; $courses = $this->Admin_model->get_table_info('course', '', '', 'ASC'); $data['course'] = $courses; $fees_types_list = $this->Admin_model->get_fees_type(); $feeTypeWhere = " WHERE id > 0 "; if (isset($_POST['filtersubmit']) && ($_POST['filtersubmit'] == 'Filter')) { $f_batch = (isset($_POST['f_batch']) && !empty($_POST['f_batch'])) ? $_POST['f_batch'] : ''; $f_feetype = (isset($_POST['f_feetype']) && !empty($_POST['f_feetype'])) ? $_POST['f_feetype'] : ''; $f_course = (isset($_POST['f_course']) && !empty($_POST['f_course'])) ? $_POST['f_course'] : ''; $f_section = (isset($_POST['f_section']) && !empty($_POST['f_section'])) ? $_POST['f_section'] : ''; $startDate = (isset($_POST['f_start_paid_date']) && !empty($_POST['f_start_paid_date'])) ? $_POST['f_start_paid_date'] : ''; //date('Y-m-01', strtotime($this->nepali_current_date)) $endDate = (isset($_POST['f_end_paid_date']) && !empty($_POST['f_end_paid_date'])) ? $_POST['f_end_paid_date'] : ''; //date('Y-m-t', strtotime($this->nepali_current_date)) $condtion = ''; $q = ''; $result = array(); $arr_sections = ''; $arr_feetype = ''; $studentlist = array(); if ($f_course != '') { $sql = "SELECT s.id as section_id,s.section_name FROM course_sections cs JOIN section s ON s.id=cs.section_id WHERE cs.course_id='$f_course' ORDER BY s.id DESC"; $section_list = $this->Admin_model->get_query_result($sql); $data['sections'] = $section_list; $condtion .= " AND cf.course_id='$f_course'"; $q .= " AND s.course=$f_course"; } if ($f_section != '') { $arr_sections = implode(',', $f_section); $q .= " AND cl.section_id in ($arr_sections)"; } if ($f_feetype != '') { $arr_feetype = implode(',', $f_feetype); $condtion .= " AND cf.fees_type in ($arr_feetype)"; $feeTypeWhere .= " AND id IN (" . $arr_feetype . ")"; } $feeTypeQuery = "SELECT id,feetype_name FROM fee_types " . $feeTypeWhere . " AND is_active = 'yes' ORDER BY feetype_name"; $selectedFeeTypeList = $this->Admin_model->get_query_result($feeTypeQuery); // dd($selectedFeeTypeList); $reqFTarr = array(); $theReqFTidsHere = $this->Admin_model->get_query_row("SELECT GROUP_CONCAT(id SEPARATOR ',') AS r_f_t_ids FROM fee_types WHERE is_active = 'yes'"); if ($arr_feetype != '') $theReqFTidsHere = $this->Admin_model->get_query_row("SELECT GROUP_CONCAT(id SEPARATOR ',') AS r_f_t_ids FROM fee_types WHERE id IN (" . $arr_feetype . ") AND is_active = 'yes'"); // dd($theReqFTidsHere); if ($theReqFTidsHere['r_f_t_ids'] != '') $reqFTarr = explode(',', $theReqFTidsHere['r_f_t_ids']); // echo ''; print_r($reqFTarr)."top"; // dd($reqFTarr); if ($f_batch != '') { $sql2 = "SELECT s.id as student_id,s.studentId,s.name,s.course,s.batch_id,cl.section_id,sb.roll_no,c.course_name,se.section_name, GROUP_CONCAT(fas.course_fee_id SEPARATOR ',') AS c_f_ids FROM students s JOIN student_batch sb ON sb.student_id=s.id AND sb.batch_id=$f_batch JOIN classroom cl ON cl.id = sb.classroom_id AND s.course=cl.course_id JOIN section se ON cl.section_id=se.id JOIN course c ON c.id=cl.course_id JOIN fee_assigned_students fas ON fas.student_id=s.id JOIN course_fees cf ON cf.id=fas.course_fee_id WHERE sb.batch_id= $f_batch AND cf.batch_id=$f_batch $q GROUP By s.id ORDER BY sb.roll_no ASC"; $studentlist = $this->Admin_model->get_query_result($sql2); // echo $sql2; $sopq = ''; if ($startDate != '' && $endDate != '') $sopq .= " AND DATE(sop.modified) BETWEEN '$startDate' AND '$endDate'"; else if ($startDate != '') $sopq .= " AND DATE(sop.modified) >= '$startDate' "; else if ($endDate != '') $sopq .= " AND DATE(sop.modified) <= '$endDate' "; // print_r($sopq); if (!empty($studentlist)) { $theSno = 0; foreach ($studentlist as $std_key => $std_val) { $paidAmountArray = array(); $pendingAmountArray = array(); $deductedAmountArray = array(); $fineAmountArray = array(); $feeAmountArray = array(); $feeTypeArray = array(); $assignedFeesArray = explode(',', $std_val['c_f_ids']); foreach ($assignedFeesArray as $assignedFee_key => $assignedFeesVal) { $sopQuery = "SELECT sop.id, sop.student_id, sop.course_fee_id,sop.fee_completed, sop.paid_amount, sop.pending_amount, sop.deducted_amount, sop.fine_amount FROM students_online_payments sop WHERE sop.student_id =" . $std_val['student_id'] . " AND sop.course_fee_id = $assignedFeesVal $sopq"; $assignedFeeDetails = $this->Admin_model->get_query_row($sopQuery); $cfDetQuery = "SELECT cf.id AS cfid, cf.fees_type, ft.id, ft.feetype_name,cf.amount,cf.fee_values FROM course_fees AS cf, fee_types AS ft WHERE cf.id=" . $assignedFeesVal; // echo ''; // print_r($sopQuery); $courseFee = $this->Admin_model->get_query_row($cfDetQuery); // echo '================================> ' . $assignedFeesVal; // print_r($courseFee); // if ($std_key == 21) { // echo ''; // print_r($assignedFeeDetails); // } if (!empty($courseFee)) { if (empty($assignedFeeDetails)) { $scholarshipDetailQuery = "SELECT * from student_scholarship WHERE student_id = " . $std_val['student_id'] . " AND course_fee_id = $assignedFeesVal"; $scholarshipDetail = $this->Admin_model->get_query_row($scholarshipDetailQuery); // print_r($assignedFeeDetails); if (!empty($scholarshipDetail)) { // array_push($paidAmountArray, 0); array_push($pendingAmountArray, $courseFee['amount'] - $scholarshipDetail['scholarship_amount']); array_push($feeAmountArray, $courseFee['amount'] - $scholarshipDetail['scholarship_amount']); } else { array_push($feeAmountArray, $courseFee['amount']); array_push($pendingAmountArray, $courseFee['amount']); } array_push($paidAmountArray, 0); array_push($deductedAmountArray, 0); array_push($fineAmountArray, 0); } else { if ($assignedFeeDetails['fee_completed'] == 'yes') { array_push($feeAmountArray, $assignedFeeDetails['paid_amount']); } else { array_push($feeAmountArray, $assignedFeeDetails['paid_amount'] + $assignedFeeDetails['pending_amount']); } // array_push($feeAmountArray, $courseFee['amount']); array_push($paidAmountArray, $assignedFeeDetails['paid_amount']); array_push($pendingAmountArray, $assignedFeeDetails['pending_amount']); array_push($deductedAmountArray, $assignedFeeDetails['deducted_amount']); array_push($fineAmountArray, $assignedFeeDetails['fine_amount']); // } array_push($feeTypeArray, $courseFee['fees_type']); } else { array_push($feeAmountArray, 0); array_push($paidAmountArray, 0); array_push($pendingAmountArray, 0); array_push($deductedAmountArray, 0); array_push($fineAmountArray, 0); array_push($feeTypeArray, 0); } } // echo ''; // print_r($feeTypeArray); $studentlist[$std_key]['fee_amt'] = implode(',', $feeAmountArray); $studentlist[$std_key]['paid_amt'] = implode(',', $paidAmountArray); $studentlist[$std_key]['pending_amt'] = implode(',', $pendingAmountArray); $studentlist[$std_key]['deducted_amt'] = implode(',', $deductedAmountArray); $studentlist[$std_key]['fine_amt'] = implode(',', $fineAmountArray); $studentlist[$std_key]['fee_type'] = implode(',', $feeTypeArray); $studentlist[$std_key]['c_fee_amt'] = count($feeAmountArray); $studentlist[$std_key]['c_paid_amt'] = count($paidAmountArray); $studentlist[$std_key]['c_pending_amt'] = count($pendingAmountArray); $studentlist[$std_key]['c_deducted_amt'] = count($deductedAmountArray); $studentlist[$std_key]['c_fine_amt'] = count($fineAmountArray); $studentlist[$std_key]['c_fee_type'] = count($feeTypeArray); $studentlist[$std_key]['reqFTarr'] = $theReqFTidsHere['r_f_t_ids']; } foreach ($studentlist as $s_key => $s_val) { $studentlist[$s_key]['sno'] = ++$theSno; $sub_arr = array(); $c_f_ids_arr = explode(',', $s_val['c_f_ids']); $paid_amt_arr = explode(',', $s_val['paid_amt']); $pending_amt_arr = explode(',', $s_val['pending_amt']); $diduction_amt_arr = explode(',', $s_val['deducted_amt']); $fine_amt_arr = explode(',', $s_val['fine_amt']); $fee_amt_arr = explode(',', $s_val['fee_amt']); $fee_type_arr = explode(',', $s_val['fee_type']); foreach ($selectedFeeTypeList as $ftkey => $ftval) { if (in_array($ftval['id'], $fee_type_arr)) { $total_fee_amount = 0; $total_paid_amt = 0; $total_pending_amt = 0; $total_diduction_amt = 0; $total_fine_amt = 0; $total_amt_array = array(); foreach ($fee_type_arr as $ft_key => $ft_value) { if ($ft_value == $ftval['id']) { $total_fee_amount = $total_fee_amount + $fee_amt_arr[$ft_key]; array_push($total_amt_array, $fee_amt_arr[$ft_key]); $total_paid_amt = $total_paid_amt + $paid_amt_arr[$ft_key]; $total_pending_amt = $total_pending_amt + $pending_amt_arr[$ft_key]; $total_diduction_amt = $total_diduction_amt + $diduction_amt_arr[$ft_key]; $total_fine_amt = $total_fine_amt + $fine_amt_arr[$ft_key]; } } $studentlist[$s_key][$ftval['feetype_name']]['total_amt'] = $total_fee_amount; $studentlist[$s_key][$ftval['feetype_name']]['total_amt_array'] = $total_amt_array; $studentlist[$s_key][$ftval['feetype_name']]['paid_amt'] = $total_paid_amt; $studentlist[$s_key][$ftval['feetype_name']]['pending_amt'] = $total_pending_amt; $studentlist[$s_key][$ftval['feetype_name']]['diduction_amt'] = $total_diduction_amt; $studentlist[$s_key][$ftval['feetype_name']]['fine_amt'] = $total_fine_amt; } else { $studentlist[$s_key][$ftval['feetype_name']]['total_amt'] = 0; $studentlist[$s_key][$ftval['feetype_name']]['paid_amt'] = 0; $studentlist[$s_key][$ftval['feetype_name']]['pending_amt'] = 0; $studentlist[$s_key][$ftval['feetype_name']]['diduction_amt'] = 0; $studentlist[$s_key][$ftval['feetype_name']]['fine_amt'] = 0; } } } } // dd($studentlist); } $data['search_batch'] = $f_batch; $data['search_course_id'] = $f_course; $data['search_section'] = $f_section; $data['search_feetype'] = $f_feetype; $data['selected_fee_types'] = $selectedFeeTypeList; $data['search_start_paid_date'] = $startDate; $data['search_end_paid_date'] = $endDate; $data['studentlist'] = $studentlist; } $data['fees_types'] = $fees_types_list; $data['today_date'] = $this->nepali_current_date; $this->load->view('admin/header', $data); $this->load->view('admin/annual_report', $data); $this->load->view('admin/footer'); } public function getAnnualReportDetails() { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); if (!file_exists(APPPATH . 'views/admin/annual_report_details.php')) show_404(); $data['currentURL'] = current_url(); $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); $data['menulist'] = $this->Admin_model->get_adminMenu(); $batches = $this->Admin_model->get_table_info('batch', array('is_active' => 'yes')); $data['batches'] = $batches; $courses = $this->Admin_model->get_table_info('course', '', '', 'ASC'); $data['course'] = $courses; $fees_types_list = $this->Admin_model->get_fees_type(); $feeTypeWhere = " WHERE id > 0 "; if (isset($_POST['filtersubmit']) && ($_POST['filtersubmit'] == 'Filter')) { $f_batch = (isset($_POST['f_batch']) && !empty($_POST['f_batch'])) ? $_POST['f_batch'] : ''; $f_feetype = (isset($_POST['f_feetype']) && !empty($_POST['f_feetype'])) ? $_POST['f_feetype'] : ''; $f_course = (isset($_POST['f_course']) && !empty($_POST['f_course'])) ? $_POST['f_course'] : ''; $f_section = (isset($_POST['f_section']) && !empty($_POST['f_section'])) ? $_POST['f_section'] : ''; $startDate = (isset($_POST['f_start_paid_date']) && !empty($_POST['f_start_paid_date'])) ? $_POST['f_start_paid_date'] : ''; //date('Y-m-01', strtotime($this->nepali_current_date)) $endDate = (isset($_POST['f_end_paid_date']) && !empty($_POST['f_end_paid_date'])) ? $_POST['f_end_paid_date'] : ''; //date('Y-m-t', strtotime($this->nepali_current_date)) $condtion = ''; $q = ''; $result = array(); $arr_sections = ''; $arr_feetype = ''; $studentlist = array(); if ($f_course != '') { $sql = "SELECT s.id as section_id,s.section_name FROM course_sections cs JOIN section s ON s.id=cs.section_id WHERE cs.course_id='$f_course' ORDER BY s.id DESC"; $section_list = $this->Admin_model->get_query_result($sql); $data['sections'] = $section_list; $condtion .= " AND cf.course_id='$f_course'"; $q .= " AND s.course=$f_course"; } if ($f_section != '') { $arr_sections = implode(',', $f_section); $q .= " AND cl.section_id in ($arr_sections)"; } $sopq = ''; if ($startDate != '' && $endDate != '') $sopq .= " AND DATE(sop.modified) BETWEEN '$startDate' AND '$endDate'"; else if ($startDate != '') $sopq .= " AND DATE(sop.modified) >= '$startDate' "; else if ($endDate != '') $sopq .= " AND DATE(sop.modified) <= '$endDate' "; // if ($f_feetype != '') { // // $arr_feetype = implode(',', $f_feetype); // $condtion .= " AND cf.fees_type = $f_feetype"; // $feeTypeWhere .= " AND id = $f_feetype"; // } if ($f_feetype != '') { $arr_feetype = implode(',', $f_feetype); $condtion .= " AND cf.fees_type in ($arr_feetype)"; $feeTypeWhere .= " AND id IN (" . $arr_feetype . ")"; } $feeTypeQuery = "SELECT id,feetype_name FROM fee_types" . $feeTypeWhere; $selectedFeeTypeList = $this->Admin_model->get_query_result($feeTypeQuery); $reqFTarr = array(); $theReqFTidsHere = $this->Admin_model->get_query_row("SELECT GROUP_CONCAT(id SEPARATOR ',') AS r_f_t_ids FROM fee_types "); if ($arr_feetype != '') $theReqFTidsHere = $this->Admin_model->get_query_row("SELECT GROUP_CONCAT(id SEPARATOR ',') AS r_f_t_ids FROM fee_types WHERE id IN (" . $arr_feetype . ")"); if ($theReqFTidsHere['r_f_t_ids'] != '') $reqFTarr = explode(',', $theReqFTidsHere['r_f_t_ids']); if ($f_batch != '') { $feeListsQuery = "SELECT id, batch_id, course_id, fees_type, fee_values, amount, fees_name, created FROM course_fees WHERE batch_id = $f_batch AND course_id = $f_course AND fees_type IN (" . $arr_feetype . ")"; $selectedFeeList = $this->Admin_model->get_query_result($feeListsQuery); $sql2 = "SELECT s.id as student_id,s.studentId,s.name,s.course,s.batch_id,cl.section_id,sb.roll_no,c.course_name,se.section_name, GROUP_CONCAT(fas.course_fee_id SEPARATOR ',') AS c_f_ids FROM students s JOIN student_batch sb ON sb.student_id=s.id AND s.batch_id=sb.batch_id JOIN classroom cl ON cl.id = sb.classroom_id AND s.course=cl.course_id JOIN section se ON cl.section_id=se.id JOIN course c ON c.id=cl.course_id JOIN fee_assigned_students fas ON fas.student_id=s.id WHERE s.batch_id= $f_batch $q GROUP By s.id ORDER BY se.section_name, sb.roll_no ASC"; // $sql2 = "SELECT s.id as student_id,s.studentId,s.name,s.course,s.batch_id,cl.section_id,sb.roll_no,c.course_name,se.section_name , // GROUP_CONCAT(sop.course_fee_id SEPARATOR ',') AS c_f_ids, // GROUP_CONCAT(sop.paid_amount SEPARATOR ',') AS paid_amt , // GROUP_CONCAT(sop.pending_amount SEPARATOR ',') AS pending_amt, // GROUP_CONCAT(sop.deducted_amount SEPARATOR ',') AS deducted_amt, // GROUP_CONCAT(sop.fine_amount SEPARATOR ',') AS fine_amt // FROM students s // JOIN student_batch sb ON sb.student_id=s.id AND s.batch_id=sb.batch_id // JOIN classroom cl ON cl.id = sb.classroom_id AND s.course=cl.course_id // JOIN section se ON cl.section_id=se.id // JOIN course c ON c.id=cl.course_id // JOIN students_online_payments sop ON sop.student_id=s.id // WHERE s.batch_id= $f_batch $q GROUP By s.id ORDER BY student_id ASC"; $studentlist = $this->Admin_model->get_query_result($sql2); if (!empty($studentlist)) { $theSno = 0; foreach ($studentlist as $std_key => $std_val) { $paidAmountArray = array(); $pendingAmountArray = array(); $deductedAmountArray = array(); $fineAmountArray = array(); $feeAmountArray = array(); $feeTypeArray = array(); $assignedFeesArray = explode(',', $std_val['c_f_ids']); foreach ($assignedFeesArray as $assignedFee_key => $assignedFeesVal) { $sopQuery = "SELECT sop.id, sop.student_id, sop.course_fee_id,sop.fee_completed, sop.paid_amount, sop.pending_amount, sop.deducted_amount, sop.fine_amount FROM students_online_payments sop WHERE sop.student_id =" . $std_val['student_id'] . " AND sop.course_fee_id = $assignedFeesVal $sopq"; $assignedFeeDetails = $this->Admin_model->get_query_row($sopQuery); $cfDetQuery = "SELECT cf.id AS cfid, cf.fees_type, ft.id, ft.feetype_name,cf.amount,cf.fee_values FROM course_fees AS cf, fee_types AS ft WHERE cf.id=" . $assignedFeesVal; // echo ''; // print_r($sopQuery); $courseFee = $this->Admin_model->get_query_row($cfDetQuery); // if ($std_key == 21) { // echo ''; // print_r($assignedFeeDetails); // } if (!empty($courseFee)) { if (empty($assignedFeeDetails)) { $scholarshipDetailQuery = "SELECT * from student_scholarship WHERE student_id = " . $std_val['student_id'] . " AND course_fee_id = $assignedFeesVal"; $scholarshipDetail = $this->Admin_model->get_query_row($scholarshipDetailQuery); // print_r($assignedFeeDetails); if (!empty($scholarshipDetail)) { // array_push($paidAmountArray, 0); array_push($pendingAmountArray, $courseFee['amount'] - $scholarshipDetail['scholarship_amount']); array_push($feeAmountArray, $courseFee['amount'] - $scholarshipDetail['scholarship_amount']); } else { array_push($feeAmountArray, $courseFee['amount']); array_push($pendingAmountArray, $courseFee['amount']); } array_push($paidAmountArray, 0); array_push($deductedAmountArray, 0); array_push($fineAmountArray, 0); } else { if ($assignedFeeDetails['fee_completed'] == 'yes') { array_push($feeAmountArray, $assignedFeeDetails['paid_amount']); } else { array_push($feeAmountArray, $assignedFeeDetails['paid_amount'] + $assignedFeeDetails['pending_amount']); } // array_push($feeAmountArray, $courseFee['amount']); array_push($paidAmountArray, $assignedFeeDetails['paid_amount']); array_push($pendingAmountArray, $assignedFeeDetails['pending_amount']); array_push($deductedAmountArray, $assignedFeeDetails['deducted_amount']); array_push($fineAmountArray, $assignedFeeDetails['fine_amount']); // } array_push($feeTypeArray, $courseFee['fees_type']); } else { array_push($feeAmountArray, 0); array_push($paidAmountArray, 0); array_push($pendingAmountArray, 0); array_push($deductedAmountArray, 0); array_push($fineAmountArray, 0); array_push($feeTypeArray, 0); } } // echo ''; // print_r($feeTypeArray); $studentlist[$std_key]['fee_amt'] = implode(',', $feeAmountArray); $studentlist[$std_key]['paid_amt'] = implode(',', $paidAmountArray); $studentlist[$std_key]['pending_amt'] = implode(',', $pendingAmountArray); $studentlist[$std_key]['deducted_amt'] = implode(',', $deductedAmountArray); $studentlist[$std_key]['fine_amt'] = implode(',', $fineAmountArray); $studentlist[$std_key]['fee_type'] = implode(',', $feeTypeArray); $studentlist[$std_key]['c_fee_amt'] = count($feeAmountArray); $studentlist[$std_key]['c_paid_amt'] = count($paidAmountArray); $studentlist[$std_key]['c_pending_amt'] = count($pendingAmountArray); $studentlist[$std_key]['c_deducted_amt'] = count($deductedAmountArray); $studentlist[$std_key]['c_fine_amt'] = count($fineAmountArray); $studentlist[$std_key]['c_fee_type'] = count($feeTypeArray); $studentlist[$std_key]['reqFTarr'] = $theReqFTidsHere['r_f_t_ids']; foreach ($selectedFeeList as $sf_key => $sf_val) { $feeDetailQuery = "SELECT sop.id, sop.student_id, sop.course_fee_id, sop.paid_amount, sop.fine_amount, sop.deducted_amount, sop.pending_amount, sop.fee_completed, cf.amount, cf.fee_values, cf.amount FROM students_online_payments sop JOIN course_fees cf ON sop.course_fee_id=cf.id WHERE sop.student_id=" . $std_val['student_id'] . " AND sop.course_fee_id =" . $sf_val['id']; $feeDetail = $this->db->query($feeDetailQuery)->row_array(); if (!empty($feeDetail)) { $studentlist[$std_key]['fees'][$sf_val['id']] = $feeDetail; $scholarshipDetailQuery = "SELECT * from student_scholarship WHERE student_id = " . $std_val['student_id'] . " AND course_fee_id = " . $feeDetail['course_fee_id']; $scholarshipDetail = $this->Admin_model->get_query_row($scholarshipDetailQuery); // if ($std_key == 16) { // print_r($scholarshipDetail); // } if (!empty($scholarshipDetail)) { $studentlist[$std_key]['fees'][$sf_val['id']]['amount'] = $studentlist[$std_key]['fees'][$sf_val['id']]['amount'] - $scholarshipDetail['scholarship_amount']; } } else { $stdAssignedFeelQuery = "SELECT fas.id, fas.course_fee_id FROM fee_assigned_students fas WHERE fas.student_id=" . $std_val['student_id'] . " AND fas.course_fee_id =" . $sf_val['id']; $stdAssignedFee = $this->db->query($stdAssignedFeelQuery)->row_array(); // var_dump($stdAssignedFee); if (!empty($stdAssignedFee)) { $cfDetQuery = "SELECT cf.id AS cfid, cf.fees_type, ft.id, ft.feetype_name,cf.amount,cf.fee_values FROM course_fees AS cf, fee_types AS ft WHERE cf.id=" . $stdAssignedFee['course_fee_id']; $courseFee = $this->Admin_model->get_query_row($cfDetQuery); // echo $courseFee['cfid']; $scholarshipDetailQuery = "SELECT * from student_scholarship WHERE student_id = " . $std_val['student_id'] . " AND course_fee_id = " . $courseFee['cfid']; $scholarshipDetail = $this->Admin_model->get_query_row($scholarshipDetailQuery); // if ($std_key == 16) { // echo '----------------------------------------------------------->'; // print_r($scholarshipDetailQuery); // } $feeAmount = $courseFee['amount']; $pendingAmount = $courseFee['amount']; if (!empty($scholarshipDetail)) { $feeAmount = $courseFee['amount'] - $scholarshipDetail['scholarship_amount']; $pendingAmount = $courseFee['amount'] - $scholarshipDetail['scholarship_amount']; } $studentlist[$std_key]['fees'][$sf_val['id']]['id'] = 0; $studentlist[$std_key]['fees'][$sf_val['id']]['student_id'] = $std_val['student_id']; $studentlist[$std_key]['fees'][$sf_val['id']]['course_fee_id'] = $stdAssignedFee['course_fee_id']; $studentlist[$std_key]['fees'][$sf_val['id']]['paid_amount'] = 0; $studentlist[$std_key]['fees'][$sf_val['id']]['fine_amount'] = 0; $studentlist[$std_key]['fees'][$sf_val['id']]['deducted_amount'] = 0; $studentlist[$std_key]['fees'][$sf_val['id']]['pending_amount'] = $pendingAmount; $studentlist[$std_key]['fees'][$sf_val['id']]['amount'] = $feeAmount; $studentlist[$std_key]['fees'][$sf_val['id']]['fee_completed'] = 'no'; $studentlist[$std_key]['fees'][$sf_val['id']]['fee_values'] = $courseFee['fee_values']; } else { $studentlist[$std_key]['fees'][$sf_val['id']] = null; } } } } } } // dd($studentlist); $data['search_batch'] = $f_batch; $data['search_course_id'] = $f_course; $data['search_section'] = $f_section; $data['search_feetype'] = $f_feetype; $data['selected_fee_types'] = $selectedFeeTypeList; $data['search_start_paid_date'] = $startDate; $data['search_end_paid_date'] = $endDate; $data['selected_fee_list'] = $selectedFeeList; $data['studentlist'] = $studentlist; } $data['report_date'] = date('Y-m-d', strtotime($this->nepali_current_date)); $data['fees_types'] = $fees_types_list; $data['today_date'] = $this->nepali_current_date; $this->load->view('admin/header', $data); $this->load->view('admin/annual_report_details', $data); $this->load->view('admin/footer'); } public function invoice_reports() { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); if (!file_exists(APPPATH . 'views/admin/invoice-reports.php')) show_404(); $theResults = array(); $data['currentURL'] = current_url(); $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); $data['menulist'] = $this->Admin_model->get_adminMenu(); $feeTypeWhere = " WHERE id > 0 "; $theMainWhere = " WHERE cr.course_id = s.course "; if (count($_POST) > 0) { //echo ''; print_r($_POST); if (isset($_POST['filter_fee_types']) && !empty($_POST['filter_fee_types'])) $feeTypeWhere .= " AND id IN(" . implode(",", $_POST['filter_fee_types']) . ")"; if (isset($_POST['select_particular']) && $_POST['select_particular'] == 'today') $theMainWhere .= " AND DATE(sfop.payment_date) ='" . date('Y-m-d', strtotime($this->nepali_current_date)) . "'"; else if (isset($_POST['select_particular']) && $_POST['select_particular'] == 'select_date_range') { if (isset($_POST['filter_from_date']) && $_POST['filter_from_date'] != '') $theMainWhere .= " AND DATE(sfop.payment_date) >='" . $_POST['filter_from_date'] . "'"; if (isset($_POST['filter_to_date']) && $_POST['filter_to_date'] != '') $theMainWhere .= " AND DATE(sfop.payment_date) <='" . $_POST['filter_to_date'] . "'"; } } $feeTypeQuery = "SELECT id,feetype_name FROM fee_types" . $feeTypeWhere . " AND is_active = 'yes' ORDER BY feetype_name ASC"; $selectedFeeTypeList = $this->Admin_model->get_query_result($feeTypeQuery); $reqFTarr = array(); $theReqFTidsHere = $this->Admin_model->get_query_row("SELECT GROUP_CONCAT(id SEPARATOR ',') AS r_f_t_ids FROM fee_types" . $feeTypeWhere); if ($theReqFTidsHere['r_f_t_ids'] != '') $reqFTarr = explode(',', $theReqFTidsHere['r_f_t_ids']); $theMainSql = "SELECT sfop.id, sfop.studentId, sfop.invoice_no, sfop.payment_date, sfop.deduction_amount, GROUP_CONCAT(sfop.course_fee_id SEPARATOR ',') AS c_f_ids, GROUP_CONCAT(sfop.payment_amt SEPARATOR ',') AS pay_amt, GROUP_CONCAT(sfop.deduction_amount SEPARATOR ',') AS deduction_amt, GROUP_CONCAT(sfop.fine_amount SEPARATOR ',') AS fine_amt, s.id AS std_id, s.name AS std_name, s.course AS std_course, s.batch_id AS std_batch_id, sb.roll_no, sb.classroom_id, cr.course_id AS cr_course_id, cr.section_id AS cr_sec_id, cr.classroom_name FROM student_fee_online_transactions AS sfop LEFT JOIN students AS s ON s.studentId = sfop.studentId LEFT JOIN student_batch AS sb ON s.id = sb.student_id AND s.batch_id=sb.batch_id LEFT JOIN classroom as cr ON sb.classroom_id = cr.id AND s.course=cr.course_id $theMainWhere GROUP By sfop.invoice_no ORDER BY sfop.id ASC"; //echo $theMainWhere.'
'.$theMainSql;exit; if (!empty($selectedFeeTypeList) && count($_POST) > 0) $theResults = $this->Admin_model->get_query_result($theMainSql); if (!empty($theResults)) { $theSno = 0; foreach ($theResults as $key => $value) { $theResults[$key]['sno'] = ++$theSno; $xxx = array(); $cfAmtArr = explode(',', $value['pay_amt']); $cfidsArr = explode(',', $value['c_f_ids']); if (!empty($cfidsArr)) { foreach ($cfidsArr as $tk => $tv) { $cfDetQuery = "SELECT cf.id AS cfid, cf.fees_type, ft.id, ft.feetype_name FROM course_fees AS cf, fee_types AS ft WHERE cf.id=" . $tv . " AND cf.fees_type=ft.id"; $cfDetails = $this->Admin_model->get_query_result($cfDetQuery); if (isset($cfDetails[0]['feetype_name']) && $cfDetails[0]['feetype_name'] != '' && in_array($cfDetails[0]['id'], $reqFTarr)) { if (!isset($xxx[$key][$cfDetails[0]['feetype_name']])) $xxx[$key][$cfDetails[0]['feetype_name']] = $cfAmtArr[$tk]; else $xxx[$key][$cfDetails[0]['feetype_name']] = ($xxx[$key][$cfDetails[0]['feetype_name']] + $cfAmtArr[$tk]); } } } foreach ($selectedFeeTypeList as $ftkey => $ftval) { if (!isset($xxx[$key][$ftval['feetype_name']])) $theResults[$key][$ftval['feetype_name']] = 0; else $theResults[$key][$ftval['feetype_name']] = $xxx[$key][$ftval['feetype_name']]; } } } //echo '';print_r($feeTypeList); //echo '';print_r($theResults); //exit; //$data['fee_types_list'] = $feeTypeList; $data['all_fee_types'] = $this->Admin_model->get_query_result("SELECT id,feetype_name FROM fee_types"); $data['selected_fee_types'] = $selectedFeeTypeList; $data['the_results'] = $theResults; $this->load->view('admin/header', $data); $this->load->view('admin/invoice-reports', $data); $this->load->view('admin/footer'); } public function invoice_fee_reports() { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); if (!file_exists(APPPATH . 'views/admin/invoice-fee-reports.php')) show_404(); $theResults = array(); $data['currentURL'] = current_url(); $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); $data['menulist'] = $this->Admin_model->get_adminMenu(); $feeTypeWhere = " WHERE id > 0 "; $theMainWhere = " WHERE cr.course_id = s.course"; // $theMainWhere = ""; if (count($_POST) > 0) { //echo ''; print_r($_POST); if (isset($_POST['filter_fee_types']) && !empty($_POST['filter_fee_types'])) $feeTypeWhere .= " AND id IN(" . implode(",", $_POST['filter_fee_types']) . ")"; if (isset($_POST['select_particular']) && $_POST['select_particular'] == 'today') $theMainWhere .= " AND DATE(sfop.payment_date) ='" . date('Y-m-d', strtotime($this->nepali_current_date)) . "'"; else if (isset($_POST['select_particular']) && $_POST['select_particular'] == 'select_date_range') { if (isset($_POST['filter_from_date']) && $_POST['filter_from_date'] != '') $theMainWhere .= " AND DATE(sfop.payment_date) >='" . $_POST['filter_from_date'] . "'"; if (isset($_POST['filter_to_date']) && $_POST['filter_to_date'] != '') $theMainWhere .= " AND DATE(sfop.payment_date) <='" . $_POST['filter_to_date'] . "'"; } } $feeTypeQuery = "SELECT id,feetype_name FROM fee_types" . $feeTypeWhere . " AND is_active = 'yes' ORDER BY feetype_name ASC"; $selectedFeeTypeList = $this->Admin_model->get_query_result($feeTypeQuery); $reqFTarr = array(); $theReqFTidsHere = $this->Admin_model->get_query_row("SELECT GROUP_CONCAT(id SEPARATOR ',') AS r_f_t_ids FROM fee_types" . $feeTypeWhere); if ($theReqFTidsHere['r_f_t_ids'] != '') $reqFTarr = explode(',', $theReqFTidsHere['r_f_t_ids']); $theMainSql = "SELECT sfop.id, sfop.studentId, sfop.invoice_no, sfop.payment_date, sfop.deduction_amount, GROUP_CONCAT(sfop.course_fee_id SEPARATOR ',') AS c_f_ids, GROUP_CONCAT(sfop.payment_amt SEPARATOR ',') AS pay_amt, GROUP_CONCAT(sfop.deduction_amount SEPARATOR ',') AS deduction_amt, GROUP_CONCAT(sfop.fine_amount SEPARATOR ',') AS fine_amt, s.id AS std_id, s.name AS std_name, s.course AS std_course, s.batch_id AS std_batch_id, sb.roll_no, sb.classroom_id, cr.course_id AS cr_course_id, cr.section_id AS cr_sec_id, cr.classroom_name FROM student_fee_online_transactions AS sfop LEFT JOIN students AS s ON s.studentId = sfop.studentId LEFT JOIN student_batch AS sb ON s.id = sb.student_id AND s.batch_id=sb.batch_id LEFT JOIN classroom as cr ON sb.classroom_id = cr.id AND s.course=cr.course_id $theMainWhere GROUP By sfop.invoice_no ORDER BY sfop.id ASC"; if (!empty($selectedFeeTypeList) && count($_POST) > 0) $theResults = $this->Admin_model->get_query_result($theMainSql); // dd($theResults); $finalResult = array(); if (!empty($theResults)) { $theSno = 0; foreach ($theResults as $key => $value) { $theResults[$key]['sno'] = ++$theSno; $selectedFee = array(); $cfAmtArr = explode(',', $value['pay_amt']); $cfidsArr = explode(',', $value['c_f_ids']); if (!empty($cfidsArr)) { foreach ($cfidsArr as $tk => $tv) { $cfDetQuery = "SELECT cf.id AS cfid, cf.fees_type, ft.id, ft.feetype_name FROM course_fees AS cf, fee_types AS ft WHERE cf.id=" . $tv . " AND cf.fees_type=ft.id"; $cfDetails = $this->Admin_model->get_query_result($cfDetQuery); if (isset($cfDetails[0]['feetype_name']) && $cfDetails[0]['feetype_name'] != '' && in_array($cfDetails[0]['id'], $reqFTarr)) { if (!isset($selectedFee[$key][$cfDetails[0]['feetype_name']])) $selectedFee[$key][$cfDetails[0]['feetype_name']] = $cfAmtArr[$tk]; else $selectedFee[$key][$cfDetails[0]['feetype_name']] = ($selectedFee[$key][$cfDetails[0]['feetype_name']] + $cfAmtArr[$tk]); } } } foreach ($selectedFeeTypeList as $ftkey => $ftval) { if (!isset($selectedFee[$key][$ftval['feetype_name']])) { $theResults[$key][$ftval['feetype_name']] = 0; // array_push($finalResult, $theResults[$key]); } else { $theResults[$key][$ftval['feetype_name']] = $selectedFee[$key][$ftval['feetype_name']]; // echo $selectedFee[$key][$ftval['feetype_name']] .'=================>'.$ftval['feetype_name'] .'
'; // echo ''; // if(isset) array_push($finalResult, $theResults[$key]); // print_r($theResults[$key]); } } } } // dd(($theResults)); //echo '';print_r($feeTypeList); //echo '';print_r($theResults); //exit; //$data['fee_types_list'] = $feeTypeList; $data['all_fee_types'] = $this->Admin_model->get_query_result("SELECT id,feetype_name FROM fee_types"); $data['selected_fee_types'] = $selectedFeeTypeList; $data['the_results'] = $finalResult; $this->load->view('admin/header', $data); $this->load->view('admin/invoice-fee-reports', $data); $this->load->view('admin/footer'); } public function fee_revert_reports() { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); if (!file_exists(APPPATH . 'views/admin/fee-revert-reports.php')) show_404(); $data['currentURL'] = current_url(); $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); //echo ''; print_r($data['school_info']);exit; $data['menulist'] = $this->Admin_model->get_adminMenu(); $theResults = array(); $feeTypeWhere = " WHERE id > 0 "; $theMainWhere = " WHERE fr.id > 0 "; $courseSelected = ''; if (count($_POST) > 0) { //echo ''; print_r($_POST);exit; if (isset($_POST['filter_fee_types']) && !empty($_POST['filter_fee_types'])) $feeTypeWhere .= " AND id IN(" . implode(",", $_POST['filter_fee_types']) . ")"; if (isset($_POST['filter_course']) && !empty($_POST['filter_course'])) $courseSelected .= " AND s.course IN(" . implode(",", $_POST['filter_course']) . ")"; if (isset($_POST['select_particular']) && $_POST['select_particular'] == 'today') $theMainWhere .= " AND DATE(fr.c_date) ='" . date('Y-m-d', strtotime($this->nepali_current_date)) . "'"; else if (isset($_POST['select_particular']) && $_POST['select_particular'] == 'select_date_range') { if (isset($_POST['filter_from_date']) && $_POST['filter_from_date'] != '') $theMainWhere .= " AND DATE(fr.c_date) >='" . $_POST['filter_from_date'] . "'"; if (isset($_POST['filter_to_date']) && $_POST['filter_to_date'] != '') $theMainWhere .= " AND DATE(fr.c_date) <='" . $_POST['filter_to_date'] . "'"; } } $theReqFTidsHere = $this->Admin_model->get_query_row("SELECT GROUP_CONCAT(id SEPARATOR ',') AS r_f_t_ids FROM fee_types" . $feeTypeWhere); if ($theReqFTidsHere['r_f_t_ids'] != '') $selectedFeeTypes = $theReqFTidsHere['r_f_t_ids']; $theMainSql = "SELECT fr.id, fr.studentId, fr.invoice_no, fr.payment_amt, fr.c_date, fr.done_by, fr.course_fee_id, cf.id AS cf_id, cf.fee_values AS fee_name, cf.fees_type, feet.feetype_name, s.id AS std_id, s.name AS std_name, s.course AS std_course_id, c.course_name FROM student_fee_reverts AS fr JOIN course_fees AS cf ON fr.course_fee_id = cf.id AND cf.fees_type IN($selectedFeeTypes) JOIN fee_types AS feet on cf.fees_type=feet.id JOIN students AS s ON fr.studentId=s.studentId $courseSelected JOIN course AS c ON s.course=c.id $theMainWhere ORDER BY fr.c_date DESC"; if (count($_POST) > 0) $theResults = $this->Admin_model->get_query_result($theMainSql); $data['course_list'] = $this->db->query("select id,course_name from course WHERE is_active='yes'")->result_array(); $data['all_fee_types'] = $this->Admin_model->get_query_result("SELECT id,feetype_name FROM fee_types"); $data['the_results'] = $theResults; $this->load->view('admin/header', $data); $this->load->view('admin/fee-revert-reports', $data); $this->load->view('admin/footer'); } public function due_fee_reports() { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); if (!file_exists(APPPATH . 'views/admin/due_fee_report.php')) show_404(); $data['currentURL'] = current_url(); $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); $data['menulist'] = $this->Admin_model->get_adminMenu(); $startDate = ''; $endDate = ''; $condition = ''; $studentlist = array(); $selectedFeeTypes = array(); $batches = $this->Admin_model->get_table_info('batch', array('is_active' => 'yes')); $data['batches'] = $batches; $courses = $this->Admin_model->get_table_info('course', '', '', 'ASC'); $data['course'] = $courses; $fees_types_list = $this->Admin_model->get_fees_type(); // dd($fees_types_list); $data['fees_types'] = $fees_types_list; $ft_where = " "; if (count($_POST)) { $se_batch = (isset($_POST['f_batch']) && !empty($_POST['f_batch'])) ? $_POST['f_batch'] : ''; $se_course = (isset($_POST['f_course']) && !empty($_POST['f_course'])) ? $_POST['f_course'] : ''; $se_section = (isset($_POST['f_section']) && !empty($_POST['f_section'])) ? $_POST['f_section'] : ''; $se_payment_status = (isset($_POST['payment_status']) && !empty($_POST['payment_status'])) ? $_POST['payment_status'] : ''; $search_feetypes = (isset($_POST['f_feetype']) && !empty($_POST['f_feetype'])) ? $_POST['f_feetype'] : ''; if ($search_feetypes != '') { $ft_where = " AND id IN (" . implode(',', $search_feetypes) . ")"; } $selectedFeeTypes = $this->db->query("SELECT * FROM fee_types WHERE id > 0" . $ft_where)->result_array(); if ($se_course != '') $condition .= " AND cl.course_id=$se_course"; if ($se_section != '') $condition .= " AND cl.section_id IN (" . implode(',', $se_section) . ")"; $startDate = (isset($_POST['f_start_paid_date']) && !empty($_POST['f_start_paid_date'])) ? $_POST['f_start_paid_date'] : ''; $endDate = (isset($_POST['f_end_paid_date']) && !empty($_POST['f_end_paid_date'])) ? $_POST['f_end_paid_date'] : ''; $studentlist = $this->db->query("SELECT s.*,c.course_name,se.section_name,sb.roll_no FROM students s JOIN student_batch sb ON s.id=sb.student_id JOIN classroom cl ON cl.id=sb.classroom_id JOIN course c ON c.id=cl.course_id JOIN section se ON se.id=cl.section_id WHERE sb.batch_id=$se_batch $condition")->result_array(); $batch_course_fees = $this->db->query("SELECT GROUP_CONCAT(id) as cf_ids FROM course_fees WHERE batch_id=$se_batch AND course_id=$se_course")->row_array(); if ($batch_course_fees != '') $condition .= " AND cf.id IN (" . $batch_course_fees['cf_ids'] . ")"; $selected_ft_ids = $this->db->query("SELECT GROUP_CONCAT(id) as selected_ft_ids FROM fee_types WHERE id > 0 " . $ft_where)->row_array(); if ($selected_ft_ids != '') $condition1 = " AND cf.fees_type IN (" . $selected_ft_ids['selected_ft_ids'] . ")"; // $studentlist=$this->db->query("SELECT s.*,c.course_name,se.section_name, GROUP_CONCAT(cf.id) AS assigned_cf_ids FROM students s JOIN student_batch sb ON s.id=sb.student_id JOIN classroom cl ON cl.id=sb.classroom_id JOIN course c ON c.id=cl.course_id JOIN section se ON se.id=cl.section_id LEFT JOIN fee_assigned_students fas ON fas.student_id=s.id // JOIN course_fees cf ON cf.id=fas.course_fee_id WHERE sb.batch_id=$se_batch $condition GROUP By s.id")->result_array(); if (count($studentlist) > 0) { $theSno = 0; foreach ($studentlist as $skey => $student) { $studentlist[$skey]['sno'] = ++$theSno; $sub_arr = array(); $payDetail = $this->Admin_model->getFeesBy_status_feetypes($se_batch, $se_course, $student['id'], $se_payment_status, $selected_ft_ids, $startDate, $endDate); // echo ""; // print_r($payDetail); $selected_ft_ids_arr_values = explode(',', $selected_ft_ids['selected_ft_ids']); $selected_ft_ids_arr = $this->db->query("SELECT id as ft_id,feetype_name FROM fee_types WHERE id > 0 " . $ft_where)->result_array(); // echo ""; // print_r($selected_ft_ids_arr_values); foreach ($payDetail as $pdkey => $fe_value) { if (in_array($fe_value['fees_type'], $selected_ft_ids_arr_values)) { if (isset($sub_arr[$skey][$fe_value['fees_type']])) { $sub_arr[$skey][$fe_value['fees_type']]['total_assigned_amount'] += (int)$fe_value['cf_total_amount']; $sub_arr[$skey][$fe_value['fees_type']]['total_paid_amount'] += (int)$fe_value['total_paid_amount']; $sub_arr[$skey][$fe_value['fees_type']]['total_fine_amount'] += (int)$fe_value['total_fine_amount']; $sub_arr[$skey][$fe_value['fees_type']]['total_diduction_amount'] += (int)$fe_value['total_deduction_amount']; $sub_arr[$skey][$fe_value['fees_type']]['total_pending_amount'] += (int)$fe_value['total_pending_amount']; } else { $sub_arr[$skey][$fe_value['fees_type']]['total_assigned_amount'] = (int)$fe_value['cf_total_amount']; $sub_arr[$skey][$fe_value['fees_type']]['total_paid_amount'] = (int)$fe_value['total_paid_amount']; $sub_arr[$skey][$fe_value['fees_type']]['total_fine_amount'] = (int)$fe_value['total_fine_amount']; $sub_arr[$skey][$fe_value['fees_type']]['total_diduction_amount'] = (int)$fe_value['total_deduction_amount']; $sub_arr[$skey][$fe_value['fees_type']]['total_pending_amount'] = (int)$fe_value['total_pending_amount']; } } } foreach ($selected_ft_ids_arr as $ftkey => $ftval) { if (!isset($sub_arr[$skey][$ftval['ft_id']])) { $studentlist[$skey][$ftval['ft_id']]['total_assigned_amount'] = 0; $studentlist[$skey][$ftval['ft_id']]['total_paid_amount'] = 0; $studentlist[$skey][$ftval['ft_id']]['total_fine_amount'] = 0; $studentlist[$skey][$ftval['ft_id']]['total_diduction_amount'] = 0; $studentlist[$skey][$ftval['ft_id']]['total_pending_amount'] = 0; } else { $studentlist[$skey][$ftval['ft_id']]['total_assigned_amount'] = $sub_arr[$skey][$ftval['ft_id']]['total_assigned_amount']; $studentlist[$skey][$ftval['ft_id']]['total_paid_amount'] = $sub_arr[$skey][$ftval['ft_id']]['total_paid_amount']; $studentlist[$skey][$ftval['ft_id']]['total_fine_amount'] = $sub_arr[$skey][$ftval['ft_id']]['total_fine_amount']; $studentlist[$skey][$ftval['ft_id']]['total_diduction_amount'] = $sub_arr[$skey][$ftval['ft_id']]['total_diduction_amount']; $studentlist[$skey][$ftval['ft_id']]['total_pending_amount'] = $sub_arr[$skey][$ftval['ft_id']]['total_pending_amount']; } } } // dd($studentlist); // exit; } } $data['selected_feetype'] = $selectedFeeTypes; $data['search_start_paid_date'] = $startDate; $data['search_end_paid_date'] = $endDate; $data['students'] = $studentlist; $this->load->view('admin/header', $data); $this->load->view('admin/due_fee_report', $data); $this->load->view('admin/footer'); } function total_due_report() { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); if (!file_exists(APPPATH . 'views/admin/total_due_report.php')) show_404(); $data['currentURL'] = current_url(); $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); $data['menulist'] = $this->Admin_model->get_adminMenu(); $batches = $this->Admin_model->get_table_info('batch', array('is_active' => 'yes')); $data['batches'] = $batches; $courses = $this->Admin_model->get_table_info('course', '', '', 'ASC'); $data['course'] = $courses; $condition = ''; $student_fee = array(); if (isset($_POST['send_alert']) && ($_POST['send_alert'] == 'Send Alert')) { print_r($_POST); } else { if (count($_POST)) { $se_batch = (isset($_POST['f_batch']) && !empty($_POST['f_batch'])) ? $_POST['f_batch'] : ''; $se_course = (isset($_POST['f_course']) && !empty($_POST['f_course'])) ? $_POST['f_course'] : ''; $se_section = (isset($_POST['f_section']) && !empty($_POST['f_section'])) ? $_POST['f_section'] : ''; if ($se_course != '') $condition .= " AND cl.course_id=$se_course"; if ($se_section != '') $condition .= " AND cl.section_id IN (" . implode(',', $se_section) . ")"; $studentlist = $this->db->query("SELECT s.id as student_id,s.name,s.course,s.batch_id,s.email,s.studentId,s.mobile,s.emergency_contact_name,s.emergency_contact_number,c.course_name,se.section_name,sb.roll_no FROM students s JOIN student_batch sb ON s.id=sb.student_id JOIN classroom cl ON cl.id=sb.classroom_id JOIN course c ON c.id=cl.course_id JOIN section se ON se.id=cl.section_id WHERE sb.batch_id=$se_batch $condition ORDER BY se.section_name, sb.roll_no")->result_array(); if (count($studentlist) > 0) { foreach ($studentlist as $s_key => $student) { $total_amount = 0; $total_paid_amount = 0; $total_pending_amount = 0; $stud_id = $student['student_id']; $fee_query = "SELECT cf.id as coursefee_id,cf.fees_type,cf.amount as cf_total_amount,fas.id,ft.feetype_name,ft.id, IF(sop.id is null,0,sop.id) as sop_id, IF(sop.paid_amount is null,0,sop.paid_amount) as paid_amount, IF(sop.fine_amount is null,0,sop.fine_amount) as fine_amount, IF(sop.deducted_amount is null,0,sop.deducted_amount) as deducted_amount, IF(sop.pending_amount is null,cf.amount,sop.pending_amount) as pending_amount FROM course_fees cf JOIN fee_assigned_students fas ON fas.course_fee_id=cf.id AND fas.student_id=$stud_id JOIN fee_types ft on ft.id = cf.fees_type LEFT JOIN students_online_payments sop on cf.id = sop.course_fee_id AND sop.student_id = " . $stud_id . " WHERE batch_id = $se_batch "; $fees_rst = $this->db->query($fee_query)->result_array(); foreach ($fees_rst as $f_val) { $scholarshipDetailQuery = "SELECT * from student_scholarship WHERE student_id = " . $student['student_id'] . " AND course_fee_id = " . $f_val['coursefee_id'] . ""; $scholarshipDetail = $this->Admin_model->get_query_row($scholarshipDetailQuery); $feeAmount = $f_val['cf_total_amount']; $paidAmount = $f_val['paid_amount']; $pendingAmount = $f_val['pending_amount']; if (!empty($scholarshipDetail)) { $feeAmount = $feeAmount - $scholarshipDetail['scholarship_amount']; $pendingAmount = $feeAmount - $scholarshipDetail['scholarship_amount']; } else { } $total_amount += $feeAmount; $total_paid_amount += $paidAmount; $total_pending_amount += $pendingAmount; } $student_fee[] = array( 'student_id' => $student['student_id'], 'student_name' => $student['name'], 'roll_no' => $student['roll_no'], 'studentId' => $student['studentId'], 'course_name' => $student['course_name'], 'section_name' => $student['section_name'], 'emergency_contact_name' => $student['emergency_contact_name'], 'emergency_contact_number' => $student['emergency_contact_number'], 'total_assigned_amount' => $total_amount, 'total_paid_amount' => $total_paid_amount, 'total_pending_amount' => $total_amount - $total_paid_amount ); } } } $data['student_fees'] = $student_fee; $data['today_date'] = $this->nepali_current_date; $this->load->view('admin/header', $data); $this->load->view('admin/total_due_report', $data); $this->load->view('admin/footer'); } } // Developer: Shivakumar // Date: 03-06-2022 public function assign_additional_subjects_to_students() { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); if (!file_exists(APPPATH . 'views/admin/assign-addi-sub-to-students.php')) show_404(); $data['currentURL'] = current_url(); $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); $data['menulist'] = $this->Admin_model->get_adminMenu(); $currentBatch = 0; if (isset($data['school_info']['batch_id']) && $data['school_info']['batch_id'] != '') $currentBatch = $data['school_info']['batch_id']; $theResults = array(); $theOptSubs = array(); if (count($_POST) > 0) { if ($_POST['clicked_on'] == 'UpdateData') { if (isset($_POST['student']) && !empty($_POST['student'])) { //echo ''; print_r($_POST['student']); foreach ($_POST['student'] as $sid => $sosArr) { //echo ''; print_r($sosArr); $theUpdateData = ''; foreach ($sosArr as $osId => $flag) { if ($flag == 'yes') { if ($theUpdateData == '') $theUpdateData = $osId; else $theUpdateData .= ',' . $osId; } } //echo $sid.' == '.$theUpdateData.'
'; $this->db->query("DELETE FROM student_additional_subjects WHERE student_id=" . $sid . " AND course_id=" . $_POST['filter_by_course'] . " AND batch_id=" . $_POST['filter_by_batch']); if ($theUpdateData != '') { $udata['batch_id'] = $_POST['filter_by_batch']; $udata['course_id'] = $_POST['filter_by_course']; $udata['student_id'] = $sid; $udata['subjects_list'] = $theUpdateData; $udata['created_on'] = date('Y-m-d H:i:s', strtotime($this->nepali_current_date)); $udata['created_by'] = $_SESSION['admin_name']; $this->db->insert('student_additional_subjects', $udata); } /*$getPrevRecds = $this->db->query("SELECT id FROM student_additional_subjects WHERE student_id=".$sid." AND course_id=".$_POST['filter_by_course']." AND batch_id=".$_POST['filter_by_batch'])->result_array(); if(!empty($getPrevRecds)) { if($theUpdateData==''){ $this->db->query("DELETE FROM student_additional_subjects WHERE id=".$getPrevRecds[0]['id']); } else { $udata['subjects_list'] = $theUpdateData; $udata['modified_on'] = date('Y-m-d H:i:s',strtotime($this->nepali_current_date)); $udata['modified_by'] = $_SESSION['admin_name']; $this->db->where(array('id'=>$getPrevRecds[0]['id'])); $this->db->update('student_additional_subjects', $udata); } } else { if($theUpdateData!='') { $udata['batch_id'] = $_POST['filter_by_batch']; $udata['course_id'] = $_POST['filter_by_course']; $udata['student_id'] = $sid; $udata['subjects_list'] = $theUpdateData; $udata['created_on'] = date('Y-m-d H:i:s',strtotime($this->nepali_current_date)); $udata['created_by'] = $_SESSION['admin_name']; $this->db->insert('student_additional_subjects', $udata); } }*/ } //exit; $this->session->set_flashdata('success', "The details have been updated successfully."); } } $whereCond = " WHERE S.id > 0 AND SB.batch_id=" . $_POST['filter_by_batch'] . " AND CR.course_id=" . $_POST['filter_by_course']; $orderBy = " ORDER BY S.name ASC "; if ($currentBatch == $_POST['filter_by_batch'] && isset($_POST['filter_by_section']) && !empty($_POST['filter_by_section'])) $whereCond .= " AND CR.section_id IN(" . implode(",", $_POST['filter_by_section']) . ")"; $theSql = "SELECT S.id,S.name,S.studentId, SB.roll_no,SB.classroom_id, CR.course_id,CR.section_id FROM students AS S JOIN student_batch AS SB on SB.student_id = S.id JOIN classroom AS CR ON SB.classroom_id = CR.id " . $whereCond . $orderBy; $theResults = $this->Admin_model->get_query_result($theSql); if (!empty($theResults)) { foreach ($theResults as $key => $sutd) { $stdOptSubjects = $this->db->query("SELECT subjects_list FROM student_additional_subjects WHERE student_id=" . $sutd['id'] . " AND course_id=" . $_POST['filter_by_course'] . " AND batch_id=" . $_POST['filter_by_batch'])->result_array(); if (!empty($stdOptSubjects)) { $theResults[$key]['the_add_subjects'] = $stdOptSubjects[0]['subjects_list']; $getOSdets = $this->db->query("SELECT GROUP_CONCAT(subject_name) AS sub_names_here FROM subject WHERE id IN(" . $stdOptSubjects[0]['subjects_list'] . ")")->result_array(); $theResults[$key]['the_add_subject_details'] = ''; if (isset($getOSdets[0]['sub_names_here'])) $theResults[$key]['the_add_subject_details'] = $theResults[$key]['the_add_subject_details']; } else { $theResults[$key]['the_add_subjects'] = ''; $theResults[$key]['the_add_subject_details'] = ''; } } } $courseSubjects = $this->db->query("SELECT GROUP_CONCAT(subject_id) AS c_s_ids FROM course_subjects WHERE course_id=" . $_POST['filter_by_course'])->result_array(); if (isset($courseSubjects[0]['c_s_ids']) && $courseSubjects[0]['c_s_ids'] != '') { $csIdsArr = explode(',', $courseSubjects[0]['c_s_ids']); $s = 0; foreach ($csIdsArr as $key => $subId) { $subDetails = $this->db->query("SELECT id,subject_name FROM subject WHERE id=$subId AND is_additional='Yes' AND is_active='yes'")->result_array(); if (!empty($subDetails)) { $theOptSubs[$s]['id'] = $subDetails[0]['id']; $theOptSubs[$s]['sub_name'] = $subDetails[0]['subject_name']; $s++; } } } } $data['course'] = $this->db->query("select * from course WHERE is_active='yes'")->result_array(); $data['batch'] = $this->Admin_model->get_batches(); $data['currentBatch'] = $currentBatch; $data['theResults'] = $theResults; $data['theOptSubs'] = $theOptSubs; $this->load->view('admin/header', $data); $this->load->view('admin/assign-addi-sub-to-students', $data); $this->load->view('admin/footer'); } public function assign_optional_subjects_to_students() { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); if (!file_exists(APPPATH . 'views/admin/assign-opt-sub-to-students.php')) show_404(); $data['currentURL'] = current_url(); $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); $data['menulist'] = $this->Admin_model->get_adminMenu(); $currentBatch = 0; if (isset($data['school_info']['batch_id']) && $data['school_info']['batch_id'] != '') $currentBatch = $data['school_info']['batch_id']; $theResults = array(); $theOptSubs = array(); if (count($_POST) > 0) { if ($_POST['clicked_on'] == 'UpdateData') { //echo ''; print_r($_POST); if (isset($_POST['student']) && !empty($_POST['student'])) { foreach ($_POST['student'] as $sid => $sosArr) { $theUpdateData = ''; foreach ($sosArr as $osId => $flag) { if ($flag == 'yes') { if ($theUpdateData == '') $theUpdateData = $osId; else $theUpdateData .= ',' . $osId; } } //echo $sid.' == '.$theUpdateData.'
'; $this->db->query("DELETE FROM student_optional_subjects WHERE student_id=" . $sid . " AND course_id=" . $_POST['filter_by_course'] . " AND batch_id=" . $_POST['filter_by_batch']); if ($theUpdateData != '') { $udata['batch_id'] = $_POST['filter_by_batch']; $udata['course_id'] = $_POST['filter_by_course']; $udata['student_id'] = $sid; $udata['subjects_list'] = $theUpdateData; $udata['created_on'] = date('Y-m-d H:i:s', strtotime($this->nepali_current_date)); $udata['created_by'] = $_SESSION['admin_name']; $this->db->insert('student_optional_subjects', $udata); } /*$getPrevRecds = $this->db->query("SELECT id FROM student_optional_subjects WHERE student_id=".$sid." AND course_id=".$_POST['filter_by_course']." AND batch_id=".$_POST['filter_by_batch'])->result_array(); if(!empty($getPrevRecds)) { if($theUpdateData=='') $this->db->query("DELETE FROM student_optional_subjects WHERE id=".$getPrevRecds[0]['id']); else { $udata['subjects_list'] = $theUpdateData; $udata['modified_on'] = date('Y-m-d H:i:s',strtotime($this->nepali_current_date)); $udata['modified_by'] = $_SESSION['admin_name']; $this->db->where(array('id'=>$getPrevRecds[0]['id'])); $this->db->update('student_optional_subjects', $udata); } } else { if($theUpdateData!='') { $udata['batch_id'] = $_POST['filter_by_batch']; $udata['course_id'] = $_POST['filter_by_course']; $udata['student_id'] = $sid; $udata['subjects_list'] = $theUpdateData; $udata['created_on'] = date('Y-m-d H:i:s',strtotime($this->nepali_current_date)); $udata['created_by'] = $_SESSION['admin_name']; $this->db->insert('student_optional_subjects', $udata); } }*/ } $this->session->set_flashdata('success', "The details have been updated successfully."); } } $whereCond = " WHERE S.id > 0 AND SB.batch_id=" . $_POST['filter_by_batch'] . " AND CR.course_id=" . $_POST['filter_by_course']; $orderBy = " ORDER BY S.name ASC "; if ($currentBatch == $_POST['filter_by_batch'] && isset($_POST['filter_by_section']) && !empty($_POST['filter_by_section'])) $whereCond .= " AND CR.section_id IN(" . implode(",", $_POST['filter_by_section']) . ")"; $theSql = "SELECT S.id,S.name,S.studentId, SB.roll_no,SB.classroom_id, CR.course_id,CR.section_id FROM students AS S JOIN student_batch AS SB on SB.student_id = S.id JOIN classroom AS CR ON SB.classroom_id = CR.id " . $whereCond . $orderBy; $theResults = $this->Admin_model->get_query_result($theSql); if (!empty($theResults)) { foreach ($theResults as $key => $sutd) { $stdOptSubjects = $this->db->query("SELECT subjects_list FROM student_optional_subjects WHERE student_id=" . $sutd['id'] . " AND course_id=" . $_POST['filter_by_course'] . " AND batch_id=" . $_POST['filter_by_batch'])->result_array(); if (!empty($stdOptSubjects)) { $theResults[$key]['the_opt_subjects'] = $stdOptSubjects[0]['subjects_list']; $getOSdets = $this->db->query("SELECT GROUP_CONCAT(subject_name) AS sub_names_here FROM subject WHERE id IN(" . $stdOptSubjects[0]['subjects_list'] . ")")->result_array(); $theResults[$key]['the_opt_subject_details'] = ''; if (isset($getOSdets[0]['sub_names_here'])) $theResults[$key]['the_opt_subject_details'] = $theResults[$key]['the_opt_subject_details']; } else { $theResults[$key]['the_opt_subjects'] = ''; $theResults[$key]['the_opt_subject_details'] = ''; } } } //$getCSql = "SELECT GROUP_CONCAT(subject_id) AS c_s_ids FROM course_subjects WHERE course_id=".$_POST['filter_by_course']; $courseSubjects = $this->db->query("SELECT GROUP_CONCAT(subject_id) AS c_s_ids FROM course_subjects WHERE course_id=" . $_POST['filter_by_course'])->result_array(); if (isset($courseSubjects[0]['c_s_ids']) && $courseSubjects[0]['c_s_ids'] != '') { $csIdsArr = explode(',', $courseSubjects[0]['c_s_ids']); $s = 0; foreach ($csIdsArr as $key => $subId) { $subDetails = $this->db->query("SELECT id,subject_name FROM subject WHERE id=$subId AND is_optional='Yes' AND is_active='yes'")->result_array(); if (!empty($subDetails)) { $theOptSubs[$s]['id'] = $subDetails[0]['id']; $theOptSubs[$s]['sub_name'] = $subDetails[0]['subject_name']; $s++; } } } } //echo ''; print_r($theResults);exit; $data['course'] = $this->db->query("select * from course WHERE is_active='yes'")->result_array(); $data['batch'] = $this->Admin_model->get_batches(); $data['currentBatch'] = $currentBatch; $data['theResults'] = $theResults; $data['theOptSubs'] = $theOptSubs; $this->load->view('admin/header', $data); $this->load->view('admin/assign-opt-sub-to-students', $data); $this->load->view('admin/footer'); } function checktime() { echo date('l jS \of F Y h:i:s A', strtotime($this->nepali_current_date)) . "
"; echo date('l jS \of F Y h:i:s A') . "
"; echo $today = date('Y-m-d', strtotime('today 00:00:00')); } function assign_due_fees() { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); if (!file_exists(APPPATH . 'views/admin/assign_due_fees.php')) show_404(); $data['currentURL'] = current_url(); $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); $data['menulist'] = $this->Admin_model->get_adminMenu(); $batches = $this->Admin_model->get_table_info('batch', array('is_active' => 'yes')); $data['batches'] = $batches; $courses = $this->Admin_model->get_table_info('course', '', '', 'ASC'); $data['course'] = $courses; $condition = ''; $student_fee = array(); if (isset($_POST['save']) && $_POST['save'] == 'Save') { // print_r($_POST); $amount_arr = $_POST['opening_balance']; $batch_arr = $_POST['student_batch']; $course_arr = $_POST['student_course']; $section_arr = $_POST['student_section']; $cfIds_arr = $_POST['course_fee']; foreach ($amount_arr as $key => $value) { $amount = $amount_arr[$key]; $batchId = $batch_arr[$key]; $courseId = $course_arr[$key]; $sectionId = $section_arr[$key]; $courseFeeId = $cfIds_arr[$key]; $grouped = 'no'; $hostel_plan = NULL; $route_id = NULL; $nowDate = $this->nepali_current_date; // $cfId = // print_r($_POST); if ($value != 0) { if ($courseFeeId != '') { // Creating new fee of due balance. $data_to_update = array( 'amount' => $amount, 'modified' => $nowDate, ); $insertQuery = $this->Admin_model->add_edit_table('course_fees', $courseFeeId, $data_to_update); } else { // Creating new fee of due balance. $data_to_db = array( 'batch_id' => $batchId, 'course_id' => $courseId, 'fees_type' => 99, 'fees_name' => 'Due Balance', 'amount' => $amount, 'due_date' => $this->nepali_current_date, 'grouped' => $grouped, 'fee_values' => 'Due Balance', 'hostel_plan_id' => $hostel_plan, 'route_id' => $route_id, 'created' => $nowDate, ); $insertQuery = $this->Admin_model->add_edit_table('course_fees', 0, $data_to_db); // Assigning Fee to student/ $lastInsertedId = $this->db->insert_id(); $data_to_fas_db = array( 'student_id' => $key, 'course_fee_id' => $lastInsertedId, 'created_at' => $nowDate, ); $feeAssignedQuery = $this->Admin_model->add_edit_table('fee_assigned_students', 0, $data_to_fas_db); } } } if ($insertQuery || $feeAssignedQuery) { $this->session->set_flashdata('success_msg', str_replace('%s', 'Student opening balance', THE_ADD_SUCCESS_MSG)); // redirect(base_url() . 'admin/assign-due-fees'); } else { $this->session->set_flashdata('error_msg', str_replace('%s', 'Student opening balance', THE_ADD_ERROR_MSG)); // redirect(base_url() . 'admin/assign-due-fees'); } } else { if (count($_POST)) { $se_batch = (isset($_POST['f_batch']) && !empty($_POST['f_batch'])) ? $_POST['f_batch'] : ''; $se_course = (isset($_POST['f_course']) && !empty($_POST['f_course'])) ? $_POST['f_course'] : ''; $se_section = (isset($_POST['f_section']) && !empty($_POST['f_section'])) ? $_POST['f_section'] : ''; if ($se_course != '') $condition .= " AND cl.course_id=$se_course"; if ($se_section != '') $condition .= " AND cl.section_id IN (" . implode(',', $se_section) . ")"; $studentlist = $this->db->query("SELECT s.id as student_id,s.name as student_name,s.course as course_id ,s.batch_id,s.email,s.studentId,s.mobile,s.emergency_contact_name,s.emergency_contact_number,c.course_name,se.id as section_id, se.section_name,sb.roll_no FROM students s JOIN student_batch sb ON s.id=sb.student_id JOIN classroom cl ON cl.id=sb.classroom_id JOIN course c ON c.id=cl.course_id JOIN section se ON se.id=cl.section_id WHERE sb.batch_id=$se_batch AND s.is_active ='yes' $condition")->result_array(); $data['student_fees'] = $studentlist; $studentOpeningBalanceFees = $this->db->query("SELECT fas.student_id ,fas.course_fee_id, cf.id as course_fee_id, cf.course_id,cf.batch_id,cf.fees_name,cf.amount,cf.fee_values FROM fee_assigned_students fas JOIN course_fees cf ON cf.id=fas.course_fee_id WHERE cf.batch_id=$se_batch AND cf.fees_type=99")->result_array(); $data['student_opening_balance'] = $studentOpeningBalanceFees; // var_dump($studentOpeningBalanceFees); } } $this->load->view('admin/header', $data); $this->load->view('admin/assign_due_fees', $data); $this->load->view('admin/footer'); } public function scholarship() { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); if (!file_exists(APPPATH . 'views/admin/scholarship.php')) show_404(); $data['currentURL'] = current_url(); $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); $data['menulist'] = $this->Admin_model->get_adminMenu(); $startDate = ''; $endDate = ''; $condition = ''; $studentlist = array(); $selectedFeeTypes = array(); $batches = $this->Admin_model->get_table_info('batch', array('is_active' => 'yes')); $data['batches'] = $batches; $courses = $this->Admin_model->get_table_info('course', '', '', 'ASC'); $data['course'] = $courses; $fees_types_list = $this->Admin_model->get_fees_type(); // dd($fees_types_list); $data['fees_types'] = $fees_types_list; $ft_where = " "; if (count($_POST)) { // if (isset($_POST['filtersubmit']) && $_POST['filtersubmit'] == 'Filter') { $se_batch = (isset($_POST['f_batch']) && !empty($_POST['f_batch'])) ? $_POST['f_batch'] : ''; $se_course = (isset($_POST['f_course']) && !empty($_POST['f_course'])) ? $_POST['f_course'] : ''; $se_section = (isset($_POST['f_section']) && !empty($_POST['f_section'])) ? $_POST['f_section'] : ''; $f_feetype = (isset($_POST['filter_fee_types']) && !empty($_POST['filter_fee_types'])) ? $_POST['filter_fee_types'] : ''; // echo ''; // var_dump($_POST['filter_fee_types']); if ($se_course != '') $condition .= " AND cl.course_id=$se_course"; if ($se_section != '') $condition .= " AND cl.section_id IN (" . implode(',', $se_section) . ")"; $studentlist = $this->db->query("SELECT s.id as student_id,s.name as student_name,s.course as course_id ,s.batch_id,s.email,s.studentId,s.mobile,s.emergency_contact_name,s.emergency_contact_number,c.course_name,se.id as section_id, se.section_name,sb.id as student_batch_id, sb.roll_no FROM students s JOIN student_batch sb ON s.id=sb.student_id JOIN classroom cl ON cl.id=sb.classroom_id JOIN course c ON c.id=cl.course_id JOIN section se ON se.id=cl.section_id WHERE sb.batch_id=$se_batch AND s.is_active ='yes' $condition")->result_array(); // echo ''; // print_r($studentlist2); $arr_feetype = implode(',', $f_feetype); $selectedCourseFeeType = $this->db->query( "SELECT cf.id as course_fee_id,cf.fees_name,cf.amount,cf.fee_values,cf.is_active,cf.fees_type,cf.course_id,cf.batch_id,cf.modified FROM course_fees cf WHERE cf.course_id = $se_course AND cf.batch_id=$se_batch AND cf.is_active ='yes' AND cf.fees_type in ($arr_feetype)" )->result_array(); $data['selected_fee_types'] = $selectedCourseFeeType; // echo ''; // var_dump($selectedCourseFeeType); foreach ($studentlist as $key => $theStd) { $studentScholarship = $this->db->query("SELECT ss.id, ss.student_id, ss.course_fee_id, ss.created, ss.modified, ss.scholarship_amount, ss.scholarship_type, ss.scholarship_discount, IF(sop.id is null,0,sop.id) as isPaymentMade FROM student_scholarship ss LEFT JOIN students_online_payments sop on ss.course_fee_id = sop.course_fee_id AND sop.student_id = ss.student_id WHERE ss.student_id =" . $theStd['student_id'] . " AND ss.batch_id = " . $theStd['batch_id'] . " AND ss.fee_type in ($arr_feetype)")->result_array(); $studentlist[$key]['scholarship'] = count($studentScholarship) > 0 ? $studentScholarship : null; } if (isset($_POST['save']) && $_POST['save'] == 'Save') { // echo ''; // var_dump($_POST); $scholarshipPercentage = (isset($_POST['scholarshipPercentage']) && !empty($_POST['scholarshipPercentage'])) ? $_POST['scholarshipPercentage'] : []; $scholarshipAmount = (isset($_POST['scholarshipAmount']) && !empty($_POST['scholarshipAmount'])) ? $_POST['scholarshipAmount'] : []; $s_type = (isset($_POST['s_type']) && !empty($_POST['s_type'])) ? $_POST['s_type'] : []; $courseFees = (isset($_POST['courseFeeId']) && !empty($_POST['courseFeeId'])) ? $_POST['courseFeeId'] : []; $studentBatches = (isset($_POST['studentBatchId']) && !empty($_POST['studentBatchId'])) ? $_POST['studentBatchId'] : []; $selectedCourseFee = (isset($_POST['f_selected_course_fee']) && !empty($_POST['f_selected_course_fee'])) ? $_POST['f_selected_course_fee'] : []; $updateStatusArr = []; $scholarship_course_fees = []; // echo ''; // Loop for selected fee type foreach ($scholarshipAmount as $feeTypeKey => $s_amountValue) { foreach ($s_amountValue as $sa_key => $sa_value) { // dd($studentBatches[$sa_key]); if ($sa_value != '0' || $sa_value != '') { // var_dump($sa_value); if ($sa_value == 0) { // echo 'value = 0'; if ($feeTypeKey == 4 || $feeTypeKey == 8 || $feeTypeKey == 5) { if (isset($selectedCourseFee[$sa_key])) { foreach ($selectedCourseFee[$sa_key] as $scf_value) { $ss_scholarship = $this->db->query("SELECT * FROM student_scholarship WHERE student_id =" . $sa_key . " AND course_fee_id = " . $scf_value . " AND batch_id = " . $se_batch)->result_array(); // echo ''; // print_r($ss_scholarship[0]['id']); $this->db->where('id', $ss_scholarship[0]['id']); $del = $this->db->delete('student_scholarship'); // print_r($del); } } } else { $assignedScholarshipId = (isset($_POST['assignedScholarshipId']) && !empty($_POST['assignedScholarshipId'])) ? $_POST['assignedScholarshipId'] : []; $courseFeeId = $courseFees[$feeTypeKey][$sa_key]; $scholarshipId = $assignedScholarshipId[$feeTypeKey][$sa_key]; $data_to_update = []; if ($scholarshipId != 0) { $this->db->where('id', $scholarshipId); $del = $this->db->delete('student_scholarship'); // print_r($del); } // var_dump($data_to_update); } } else if ($sa_value == '') { // echo 'value = empty'; } else { $s_Amount = $sa_value; $s_Percentage = $scholarshipPercentage[$feeTypeKey][$sa_key]; $scholarshipType = $s_type[$sa_key]; // ************************************************** Single Fee Logic ************************************************** if ($feeTypeKey == 4 || $feeTypeKey == 8 || $feeTypeKey == 5) { // echo ''; if (isset($selectedCourseFee[$sa_key])) { foreach ($selectedCourseFee[$sa_key] as $scf_value) { $ss_scholarship = $this->db->query("SELECT * FROM student_scholarship WHERE student_id =" . $sa_key . " AND course_fee_id = " . $scf_value . " AND batch_id = " . $se_batch)->result_array(); // print_r($ss_scholarship); // Checking if the student is in student scholarship table if (count($ss_scholarship) > 0) { // var_dump($ss_scholarship[0]['id']); $data_to_update = array( 'student_id' => $sa_key, 'course_fee_id' => $scf_value, 'is_active' => 'yes', 'scholarship_amount' => $s_Amount, 'scholarship_type' => $scholarshipType, 'scholarship_discount' => $s_Percentage, 'modified' => $this->nepali_current_date, ); $updateQuery = $this->Admin_model->add_edit_table('student_scholarship', $ss_scholarship[0]['id'], $data_to_update); if ($updateQuery == true) { array_push($updateStatusArr, true); } else { array_push($updateStatusArr, false); } } else { $data_to_update = array( 'student_id' => $sa_key, 'course_fee_id' => $scf_value, 'fee_type' => $feeTypeKey, 'batch_id' => $se_batch, 'is_active' => 'yes', 'scholarship_amount' => $s_Amount, 'scholarship_type' => $scholarshipType, 'scholarship_discount' => $s_Percentage, 'created' => $this->nepali_current_date, 'modified' => $this->nepali_current_date, ); // print_r($data_to_update); $updateQuery = $this->Admin_model->add_edit_table('student_scholarship', 0, $data_to_update); if ($updateQuery == true) { array_push($updateStatusArr, true); } else { array_push($updateStatusArr, false); } } } } } else { // foreach ($s_amountValue as $sa_key => $sa_value) { $assignedScholarshipId = (isset($_POST['assignedScholarshipId']) && !empty($_POST['assignedScholarshipId'])) ? $_POST['assignedScholarshipId'] : []; $courseFeeId = $courseFees[$feeTypeKey][$sa_key]; $scholarshipId = $assignedScholarshipId[$feeTypeKey][$sa_key]; $data_to_update = []; if ($scholarshipId != 0) { $data_to_update = array( 'student_id' => $sa_key, 'course_fee_id' => $courseFeeId, 'is_active' => 'yes', 'scholarship_amount' => $s_Amount, 'scholarship_type' => $scholarshipType, 'scholarship_discount' => $s_Percentage, 'modified' => $this->nepali_current_date, ); $insertQuery = $this->Admin_model->add_edit_table('student_scholarship', $scholarshipId, $data_to_update); if ($insertQuery == true) { array_push($updateStatusArr, true); } else { array_push($updateStatusArr, false); } } else { $data_to_update = array( 'student_id' => $sa_key, 'course_fee_id' => $courseFeeId, 'fee_type' => $feeTypeKey, 'batch_id' => $se_batch, 'is_active' => 'yes', 'scholarship_amount' => $s_Amount, 'scholarship_type' => $scholarshipType, 'scholarship_discount' => $s_Percentage, 'created' => $this->nepali_current_date, 'modified' => $this->nepali_current_date, ); $insertQuery = $this->Admin_model->add_edit_table('student_scholarship', 0, $data_to_update); if ($insertQuery == true) { array_push($updateStatusArr, true); } else { array_push($updateStatusArr, false); } } // } } } } } if (in_array(false, $updateStatusArr)) { $this->session->set_flashdata('error_msg', str_replace('%s', 'Scholarship', 'Something went wrong. Plese try again after sometime.')); } else { $this->session->set_flashdata('success_msg', str_replace('%s', 'Scholarship', 'Scholarship has been assigned successfully.')); redirect(base_url() . 'admin/scholarship'); } // // $scholarship_course_fees = $scholarship_course_fees + ', ' + strval($feeTypeKey); // ************************************************** Single Fee Logic ************************************************** } } $data['all_fee_types'] = $this->Admin_model->get_query_result("SELECT id,feetype_name FROM fee_types"); $data['all_scholarship_types'] = $this->Admin_model->get_query_result("SELECT id, scholarshiptype_name FROM scholarship_types WHERE is_active = 'yes'"); $data['selected_feetype'] = $selectedFeeTypes; $data['search_start_paid_date'] = $startDate; $data['search_end_paid_date'] = $endDate; $data['students'] = $studentlist; $this->load->view('admin/header', $data); $this->load->view('admin/scholarship', $data); $this->load->view('admin/footer'); } public function scholarship_list() { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); if (!file_exists(APPPATH . 'views/admin/scholarship-list.php')) show_404(); $data['currentURL'] = current_url(); $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); $data['menulist'] = $this->Admin_model->get_adminMenu(); $startDate = ''; $endDate = ''; $condition = ''; $studentlist = array(); $selectedFeeTypes = array(); $batches = $this->Admin_model->get_table_info('batch', array('is_active' => 'yes')); $data['batches'] = $batches; $courses = $this->Admin_model->get_table_info('course', '', '', 'ASC'); $data['course'] = $courses; $fees_types_list = $this->Admin_model->get_fees_type(); // dd($fees_types_list); $data['fees_types'] = $fees_types_list; $ft_where = " "; if (count($_POST)) { // if (isset($_POST['filtersubmit']) && $_POST['filtersubmit'] == 'Filter') { $se_batch = (isset($_POST['f_batch']) && !empty($_POST['f_batch'])) ? $_POST['f_batch'] : ''; $data['search_batch_id'] = $se_batch; $query = "SELECT ss.id, ss.student_id, s.studentId AS studentId, s.name AS student_name, s.course AS student_course, s.batch_id AS student_batch_id, sb.roll_no, cr.classroom_name, crs.course_name, sec.section_name FROM student_scholarship ss LEFT JOIN students AS s ON s.id = ss.student_id LEFT JOIN student_batch AS sb ON s.id = sb.student_id AND s.batch_id=sb.batch_id LEFT JOIN classroom as cr ON sb.classroom_id = cr.id AND s.course=cr.course_id LEFT JOIN course as crs ON cr.course_id = crs.id AND s.course=crs.id LEFT JOIN section as sec ON cr.section_id = sec.id WHERE ss.batch_id = $se_batch GROUP BY ss.student_id"; $scholarshipList = []; $scholarshipList = $this->db->query($query)->result_array(); foreach ($scholarshipList as $stdKey => $stdValue) { $scholarship = $this->db->query("SELECT ss.id as scholarship_id,ss.student_id, ss.course_fee_id, ss.batch_id, ss.is_active, ss.scholarship_type,ss.scholarship_amount,ss.scholarship_discount, cf.fee_values as fee_name, cf.amount as fee_amount, ft.feetype_name as fee_type, IF(sop.id is null,0,sop.id) as isPaymentMade FROM student_scholarship ss LEFT JOIN course_fees AS cf ON ss.course_fee_id = cf.id LEFT JOIN fee_types AS ft ON cf.fees_type = ft.id LEFT JOIN students_online_payments sop on ss.course_fee_id = sop.course_fee_id AND sop.student_id = ss.student_id WHERE ss.batch_id=$se_batch AND ss.student_id=" . $stdValue['student_id'])->result_array(); $scholarshipList[$stdKey]['scholarship'] = $scholarship; } $data['scholarStudents'] = $scholarshipList; // echo ''; // print_r($scholarshipList); } $data['all_fee_types'] = $this->Admin_model->get_query_result("SELECT id,feetype_name FROM fee_types"); $data['all_scholarship_types'] = $this->Admin_model->get_query_result("SELECT id, scholarshiptype_name FROM scholarship_types WHERE is_active = 'yes'"); $data['selected_feetype'] = $selectedFeeTypes; $data['search_start_paid_date'] = $startDate; $data['search_end_paid_date'] = $endDate; $this->load->view('admin/header', $data); $this->load->view('admin/scholarship-list', $data); $this->load->view('admin/footer'); } function getscholarshipDetails() { $batchid = $_REQUEST['batch_id']; $student_id = $_REQUEST['studentId']; $scholarships = $this->db->query("SELECT ss.id as scholarship_id,ss.student_id, ss.course_fee_id, ss.batch_id, ss.is_active, ss.scholarship_type,ss.scholarship_amount,ss.scholarship_discount, cf.fee_values as fee_name, cf.amount as fee_amount, ft.feetype_name as fee_type, IF(sop.id is null,0,sop.id) as isPaymentMade FROM student_scholarship ss LEFT JOIN course_fees AS cf ON ss.course_fee_id = cf.id LEFT JOIN fee_types AS ft ON cf.fees_type = ft.id LEFT JOIN students_online_payments sop on ss.course_fee_id = sop.course_fee_id AND sop.student_id = ss.student_id WHERE ss.batch_id=$batchid AND ss.student_id=" . $student_id)->result_array(); $studentInfo = $this->db->query("SELECT * FROM students WHERE id=$student_id")->result_array(); // $studentDetail = []; foreach ($studentInfo as $sKey => $sValue) { $data['student_info'] = $sValue; } $data['batchid'] = $batchid; $data['all_scholarship_types'] = $this->Admin_model->get_query_result("SELECT id, scholarshiptype_name FROM scholarship_types WHERE is_active = 'yes'"); $data['student_id'] = $student_id; $data['scholarship_data'] = $scholarships; // $data['route_data'] = $routelist; // $data['batch_name'] = $this->db->get_where('batch', array('id' => $batchid))->row()->b_name; // $data['student_route_id'] = $student_route_id; // $data['student_assigned_route'] = $studentAssignedRoute; // $data['stop_list'] = $stoplist; $page = $this->load->view('admin/scholarshipdata', $data, TRUE); echo $page; } public function updateScholarship() { $studentId = $_REQUEST['student_id']; $routeId = $_REQUEST['route_id']; $pick_id = $_REQUEST['stop_id']; $batch_id = $_REQUEST['batch_id']; $is_one_way = $_REQUEST['is_one_way']; var_dump($_REQUEST); } public function send_message() { print_r($_POST); echo ' '; } public function sendNotification($message) { $options = array( 'cluster' => 'ap2', 'encrypted' => true ); $pusher = new Pusher\Pusher( '6df1a6c2a507560f5547', // app key '0d22f8afc8c3bfc10442', // app secret '1532423', // app id $options ); $data['message'] = $message; $pusher->trigger('my-channel', 'my-event', $data); } public function scholarship_types() { // sendNotification('Pusher Check'); $options = array( 'cluster' => 'ap2', 'encrypted' => true ); $pusher = new Pusher\Pusher( '6df1a6c2a507560f5547', // app key '0d22f8afc8c3bfc10442', // app secret '1532423', // app id $options ); $data['message'] = '$message'; $pusher->trigger('my-channel', 'my-event', $data); if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); $data['currentURL'] = current_url(); //get logo $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); //get menu list $data['menulist'] = $this->Admin_model->get_adminMenu(); $data['result'] = $this->Admin_model->get_table_info('scholarship_types'); $this->load->view('admin/header', $data); $this->load->view('admin/scholarship_types'); $this->load->view('admin/footer'); } public function add_edit_scholarship_type($scholarshipId) { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); if (!file_exists(APPPATH . 'views/admin/ae_scholarship_type.php')) show_404(); $data['currentURL'] = current_url(); //get logo $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); //get menu list $data['menulist'] = $this->Admin_model->get_adminMenu(); $data['id'] = $scholarshipId; $whereClause = array('id' => $scholarshipId); $checkSectionExists = $this->Admin_model->get_scholarship_type($whereClause); if (empty($checkSectionExists) && $scholarshipId != 0) { $this->session->set_flashdata('failed', 'There is no section with selected id'); redirect(base_url() . 'Admin/section'); } if (count($_POST) > 0) { $_POST['scholarshiptype_name'] = $this->convertToCapCase($_POST['scholarshiptype_name']); var_dump($_POST); if ($scholarshipId > 0) { $_POST['modified'] = $this->nepali_current_date; } else { $_POST['created'] = $this->nepali_current_date; } $sql = $this->Admin_model->add_edit_scholarship($scholarshipId, $_POST); if (($sql) && $scholarshipId > 0) { $this->session->set_flashdata('success', 'Scholarship has been updated successfully'); redirect(base_url() . 'admin/scholarship-types'); } else if ($sql) { $this->session->set_flashdata('success', 'Scholarship has been addedd successfully'); redirect(base_url() . 'admin/scholarship-types'); } else { $this->session->set_flashdata('failed', 'Scholarship updation failed.'); redirect(base_url() . 'admin/scholarship-types'); } } $data['title'] = 'Add New Scholarship'; if ($scholarshipId > 0) { $data['title'] = 'Edit Scholarship'; $data['result'] = $checkSectionExists; } $this->load->view('admin/header', $data); $this->load->view('admin/ae_scholarship_type'); $this->load->view('admin/footer'); } public function debug_to_console($data) { $output = $data; if (is_array($output)) $output = implode(',', $output); echo ""; } public function transport_report() { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); if (!file_exists(APPPATH . 'views/admin/transport-report.php')) show_404(); $data['currentURL'] = current_url(); $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); $data['menulist'] = $this->Admin_model->get_adminMenu(); $startDate = ''; $endDate = ''; $condition = ''; $studentlist = array(); $selectedFeeTypes = array(); $batches = $this->Admin_model->get_table_info('batch', array('is_active' => 'yes')); $data['batches'] = $batches; $courses = $this->Admin_model->get_table_info('course', '', '', 'ASC'); $data['course'] = $courses; $fees_types_list = $this->Admin_model->get_fees_type(); // dd($fees_types_list); $data['fees_types'] = $fees_types_list; $ft_where = " "; if (count($_POST)) { // if (isset($_POST['filtersubmit']) && $_POST['filtersubmit'] == 'Filter') { $se_batch = (isset($_POST['f_batch']) && !empty($_POST['f_batch'])) ? $_POST['f_batch'] : ''; $data['search_batch_id'] = $se_batch; $transport_db = $this->load->database('erisnClassroom_bts', TRUE); $batch_routes = $transport_db->query('SELECT * from bt_batch_routes where batch_id = ' . $se_batch)->row_array(); $transportListQuery = "SELECT btRD.student_id, btRD.route_id, btRD.pick_up_id, btRD.batch_id, btRD.one_way, btRD.is_active, btRD.drop_id FROM bt_students_bus_route_details btRD"; // $transportList = $this->$transport_db->query($transportListQuery); $transport_db = $this->load->database('erisnClassroom_bts', TRUE); $transportList = $transport_db->query( 'SELECT btRD.student_id, btRD.route_id, btRD.pick_up_id, btRD.batch_id, btRD.one_way, btRD.is_active, btRD.drop_id, bRD.place_name, bRD.route_id, bRD.route_order, br.id, br.route_name FROM bt_students_bus_route_details btRD LEFT JOIN bt_routes_details AS bRD ON bRD.id = btRD.pick_up_id AND btRD.route_id=bRD.route_id LEFT JOIN bt_routes AS br ON br.id=btRD.route_id Where btRD.batch_id = ' . $se_batch )->result_array(); // $studentList foreach ($transportList as $tl_key => $tl_value) { $studentQuery = "SELECT s.id, s.name AS student_name,s.studentId, s.course AS student_course, s.batch_id AS student_batch_id, sb.roll_no, cr.classroom_name, crs.course_name, sec.section_name FROM students AS s LEFT JOIN student_batch AS sb ON s.id = sb.student_id AND s.batch_id=sb.batch_id LEFT JOIN classroom as cr ON sb.classroom_id = cr.id AND s.course=cr.course_id LEFT JOIN course as crs ON cr.course_id = crs.id AND s.course=crs.id LEFT JOIN section as sec ON cr.section_id = sec.id WHERE s.batch_id = $se_batch AND s.id = " . $tl_value['student_id'] . " GROUP BY s.id"; // $transportFee = "SELECT cf.feeAmount, cf.fee_values AS fee_name // FROM course_fees AS cf // WHERE cf.batch_id = $se_batch AND cf.course_id = " . $tl_value['student_id'] . " // GROUP BY s.id"; $studentDetail = $this->db->query($studentQuery)->result_array(); $transportList[$tl_key]['student'] = $studentDetail; } $data['transportList'] = $transportList; } $this->load->view('admin/header', $data); $this->load->view('admin/transport-report', $data); $this->load->view('admin/footer'); } // public function assign_class_teacher() // { // } public function assign_class_teacher($classroomId) { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); if (!file_exists(APPPATH . 'views/admin/assign-class-teacher.php')) show_404(); $data['currentURL'] = current_url(); //get logo $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); //get menu list $data['menulist'] = $this->Admin_model->get_adminMenu(); $data['courselist'] = $this->Admin_model->get_general_result_details('course', 'DESC', array('is_active' => 'yes')); $data['title'] = "Assign Class Teacher "; $data['id'] = $classroomId; $teacherIds = []; if ($classroomId > 0) { $data['classroom'] = $this->Admin_model->get_general_row_details('classroom', 'ASC', array('id' => $classroomId)); $sqlQuery = "SELECT cl.*,cs.subject_id as course_subject_ids FROM classroom cl JOIN course_subjects cs ON cl.course_id=cs.course_id WHERE cl.id='$classroomId' AND cs.subject_id NOT IN (Select subject_id as subid from classroom_teacher_subject WHERE classroom_id = $classroomId)"; $data['course_subjects'] = $this->Admin_model->get_query_result($sqlQuery); $classroomSubjects = $this->Admin_model->get_general_result_details('classroom_teacher_subject', 'ASC', array('classroom_id' => $classroomId)); $sqlQuery = "SELECT cts.id,cts.classroom_id,cts.subject_id,cts.teacher_id,cts.is_class_teacher,sub.subject_name FROM classroom_teacher_subject cts LEFT JOIN subject sub on cts.subject_id=sub.id WHERE cts.classroom_id=$classroomId"; $data['classroom_subjects'] = $this->Admin_model->get_query_result($sqlQuery); if (count($_POST)) { if (isset($_POST['update']) && ($_POST['update'] == 'Update')) { $classroomSubjects = $data['classroom_subjects']; $subjectId = $_POST['subject_id']; var_dump($classroomSubjects); $updateStatus = []; foreach ($classroomSubjects as $cs_key => $cs_value) { $isClassTeacher = ''; if ($cs_value['subject_id'] == $subjectId) { $isClassTeacher = 'yes'; } else { $isClassTeacher = 'no'; } $data_array = array( 'is_class_teacher' => $isClassTeacher, 'modified' => $this->nepali_current_date ); $this->db->where('id', $cs_value['id']); $update = $this->db->update('classroom_teacher_subject', $data_array); if ($update) { array_push($updateStatus, true); } else { array_push($updateStatus, false); } } if (!in_array(false, $updateStatus)) { $this->session->set_flashdata('success', 'Classteacher has been updated successfully'); redirect(base_url() . 'admin/ae-classroom/' . $classroomId); } else { $this->session->set_flashdata('error', 'Something went wrong.'); } } } } else { show_404(); } $this->load->view('admin/header', $data); $this->load->view('admin/assign-class-teacher'); $this->load->view('admin/footer'); } public function symbolNumberUpdate($classroomId) { $data['encrepted_clas'] = $classroomId; $classroom_id = (int)str_replace("-qqcksbvlwierhwjerw", '', urlsafe_b64decode($classroomId)); $check_classroom_id = $this->db->query('select * from classroom where id =' . $classroom_id)->row_array(); $data['currentURL'] = current_url(); //get logo $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); $data['title'] = "Symbol Number of " . $check_classroom_id['classroom_name']; $data['classroomid'] = $check_classroom_id['id']; //get menu list $data['menulist'] = $this->Admin_model->get_adminMenu(); $cls_id = $check_classroom_id['id']; // $query = "SELECT sb.id as stud_batch_id, sb.roll_no, sb.symbol_no, sb.registration_no, sb.batch_id,sb.classroom_id,s.* FROM student_batch sb LEFT JOIN students s ON sb.student_id=s.id AND sb.batch_id = " . $school_info['batch_id'] . " WHERE sb.classroom_id=$cls_id"; $query = "SELECT sb.id as stud_batch_id, sb.roll_no, sb.symbol_no, sb.batch_id as student_batch, sb.classroom_id, s.* FROM student_batch sb LEFT JOIN students s ON sb.student_id=s.id WHERE sb.batch_id = " . $data['school_info']['batch_id'] . " AND sb.classroom_id=$cls_id ORDER BY sb.roll_no"; $data['student_list'] = $this->Admin_model->get_query_result($query); if ($_POST) { $checker = 0; $symbol_numbers = explode(",", $_POST['symbol_numbers']); $batch_ids = explode(",", $_POST['batch_ids']); // dd($_POST); foreach ($symbol_numbers as $key => $value) { $this->db->set('symbol_no', $value); $this->db->where('id', $batch_ids[$key]); $update = $this->db->update('student_batch'); if ($update) { $checker = 1; } } if ($checker > 0) $this->session->set_flashdata('success_msg', 'Symbol Number Updated Successfully'); else $this->session->set_flashdata('error_msg', 'Something Went Wrong...Plese try again...!!'); redirect(base_url() . 'admin/symbol-number/' . $classroomId); } $this->load->view('admin/header', $data); $this->load->view('admin/assign_symbol_number'); $this->load->view('admin/footer'); } public function registrationNumberUpdate($classroomId) { $data['encrepted_clas'] = $classroomId; $classroom_id = (int)str_replace("-qqcksbvlwierhwjerw", '', urlsafe_b64decode($classroomId)); $check_classroom_id = $this->db->query('select * from classroom where id =' . $classroom_id)->row_array(); $data['currentURL'] = current_url(); //get logo $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); $data['title'] = "Registration Number of " . $check_classroom_id['classroom_name']; $data['classroomid'] = $check_classroom_id['id']; //get menu list $data['menulist'] = $this->Admin_model->get_adminMenu(); $cls_id = $check_classroom_id['id']; $query = "SELECT sb.id as stud_batch_id, sb.roll_no, sb.symbol_no, sb.registration_no, sb.batch_id as student_batch, sb.classroom_id, s.* FROM student_batch sb LEFT JOIN students s ON sb.student_id=s.id WHERE sb.batch_id = " . $data['school_info']['batch_id'] . " AND sb.classroom_id=$cls_id ORDER BY sb.roll_no"; // $query = "SELECT sb.id as stud_batch_id, sb.roll_no, sb.symbol_no, sb.registration_no, sb.batch_id,sb.classroom_id,s.* FROM student_batch sb LEFT JOIN students s ON sb.student_id=s.id AND sb.batch_id = s.batch_id WHERE sb.classroom_id=$cls_id"; $data['student_list'] = $this->Admin_model->get_query_result($query); if ($_POST) { $checker = 0; $registration_numbers = explode(",", $_POST['registration_numbers']); $batch_ids = explode(",", $_POST['batch_ids']); // dd($_POST); foreach ($registration_numbers as $key => $value) { $this->db->set('registration_no', $value); $this->db->where('id', $batch_ids[$key]); $update = $this->db->update('student_batch'); if ($update) { $checker = 1; } } if ($checker > 0) $this->session->set_flashdata('success_msg', 'Registration Number Updated Successfully'); else $this->session->set_flashdata('error_msg', 'Something Went Wrong...Plese try again...!!'); redirect(base_url() . 'admin/registration-number/' . $classroomId); } $this->load->view('admin/header', $data); $this->load->view('admin/assign_registration_number'); $this->load->view('admin/footer'); } public function multiple_edit() { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); if (!file_exists(APPPATH . 'views/admin/multiple-student-edit.php')) show_404(); $data['currentURL'] = current_url(); $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); $data['menulist'] = $this->Admin_model->get_adminMenu(); $theStudents = array(); $theSubjects = array(); $data['selected_batch'] = $data['school_info']['batch_id']; if (count($_POST) > 0) { $se_course = $_POST['course_id']; $se_batch = $_POST['batch_id']; // $se_offline_exam_id = // $_POST['offline_exam_id']; $se_section = (isset($_POST['section_id']) && !empty($_POST['section_id'])) ? $_POST['section_id'] : ''; $data['selected_batch'] = $_POST['batch_id']; $condition = ''; if (isset($_POST['clicked_button']) && ($_POST['clicked_button'] == 'Save' || $_POST['clicked_button'] == 'Save All')) { $this->load->helper('url'); $this->load->helper(array('form', 'url')); $std_names = $_POST['name']; $std_email = $_POST['email']; $std_dob = $_POST['sdob']; $std_mobile = $_POST['mobile']; $std_fathername = $_POST['fathername']; $std_mothername = $_POST['mother_name']; $std_emergency_contact_number = $_POST['emergency_contact_number']; $std_address = $_POST['address']; $std_state = $_POST['state']; $std_country = $_POST['country']; $std_iemis = $_POST['iemis']; $user_photos = $_POST['user_photo']; $studentId = $_POST['studentId']; $update_status = array(); $std_photos = array(); $config['upload_path'] = 'assets_student/application/'; $config['allowed_types'] = 'gif|jpg|png|jpeg|jfif|jiff'; $imageCount = $_FILES['photo']['name']; print_r(count($imageCount)); // for ($i = 0; $i < $imageCount; $i++) { // $_FILES['file']['name'] = $_FILES['photo']['name'][$i]; // $_FILES['file']['type'] = $_FILES['photo']['type'][$i]; // $_FILES['file']['tmp_name'] = $_FILES['photo']['tmp_name'][$i]; // $_FILES['file']['error'] = $_FILES['photo']['error'][$i]; // $_FILES['file']['size'] = $_FILES['photo']['size'][$i]; // } foreach ($imageCount as $i_key => $i_value) { $config['file_name'] = $studentId[$i_key]; $config['encrypt_name'] = FALSE; $this->load->library('upload', $config); $this->upload->initialize($config); $_FILES['file']['name'] = $_FILES['photo']['name'][$i_key]; $_FILES['file']['type'] = $_FILES['photo']['type'][$i_key]; $_FILES['file']['tmp_name'] = $_FILES['photo']['tmp_name'][$i_key]; $_FILES['file']['error'] = $_FILES['photo']['error'][$i_key]; $_FILES['file']['size'] = $_FILES['photo']['size'][$i_key]; // echo ''; // print_r($_FILES['file']['tmp_name']); if ($_FILES['file']['size'] != 0) { if (!$this->upload->do_upload('file')) { $std_photos[$i_key] = ""; } else { $photo = array('upload_data' => $this->upload->data()); $std_photos[$i_key] = $photo['upload_data']['file_name']; $file = $config['upload_path'] . '' . $user_photos[$i_key]; // dd($file); if (file_exists($file)) { unlink($file); } } } } foreach ($std_names as $std_key => $std_value) { echo ''; $userPhoto = (isset($std_photos[$std_key]) && !empty($std_photos[$std_key])) ? $std_photos[$std_key] : $user_photos[$std_key]; $update_data = array( 'name' => $std_names[$std_key], 'email' => $std_email[$std_key], 'dob' => $std_dob[$std_key], 'mobile' => $std_mobile[$std_key], 'father_name' => $std_fathername[$std_key], 'mother_name' => $std_mothername[$std_key], 'emergency_contact_number' => $std_emergency_contact_number[$std_key], 'address1' => $std_address[$std_key], 'state' => $std_state[$std_key], 'country' => $std_country[$std_key], 'iemis' => $std_iemis[$std_key], 'photo' => $userPhoto ); // var_dump($update_data); $this->db->where('id', $std_key); $update = $this->db->update("students", $update_data); if ($update) { array_push($update_status, true); } else { array_push($update_status, false); } } // dd($update_status); // dd($std_photos); if (in_array(false, $update_status)) { $this->session->set_flashdata('error_msg', str_replace('%s', 'Records Update', 'Something went wrong. Plese try again after sometime.')); } else { $this->session->set_flashdata('success_msg', str_replace('%s', 'Records Update', 'Student records has been updated successfully.')); redirect(base_url() . 'admin/multiple-edit'); } } //START -- of getting the subjects for selected batch,course & exam combination if (isset($_SESSION['admin_role_ids']) && $_SESSION['admin_role_ids'] == 1) { // $theSubSql = "SELECT OEM.subject_id,OEM.th_total_marks,OEM.th_pass_marks,OEM.is_practical,OEM.pr_total_marks,OEM.pr_pass_marks,OEM.subject_order,S.subject_name,S.is_optional,S.is_additional FROM offline_exam_marks AS OEM, subject AS S WHERE OEM.batch_id=" . $_POST['batch_id'] . " AND OEM.course_id=" . $_POST['course_id'] . " AND OEM.offline_exam_id=" . $_POST['offline_exam_id'] . " AND OEM.subject_id=S.id AND S.is_additional='No' AND OEM.is_active='yes' ORDER BY OEM.subject_order ASC"; // $theSubjects = $this->db->query($theSubSql)->result_array(); // echo ''; // print_r($theSubjects); if ($se_course != '') $condition .= " AND cl.course_id=$se_course"; if ($se_section != '') $condition .= " AND cl.section_id IN (" . implode(',', $se_section) . ")"; $theStudents = $this->db->query("SELECT s.*,c.course_name,se.section_name,sb.roll_no FROM students s JOIN student_batch sb ON s.id=sb.student_id JOIN classroom cl ON cl.id=sb.classroom_id JOIN course c ON c.id=cl.course_id JOIN section se ON se.id=cl.section_id WHERE sb.batch_id=$se_batch $condition")->result_array(); // dd($theStudents); } } $data['batch'] = $this->db->query("select id,b_name from batch WHERE is_active='yes'")->result_array(); $data['course'] = $this->db->query("select * from course WHERE is_active='yes'")->result_array(); $data['exams'] = $this->db->query("select * from offline_exams WHERE is_active='yes'")->result_array(); $data['theStudents'] = $theStudents; // $data['theSubjects'] = $theSubjects; $this->load->view('admin/header', $data); $this->load->view('admin/multiple-student-edit', $data); $this->load->view('admin/footer'); } public function school_calendar() { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); if (!file_exists(APPPATH . 'views/admin/school-calendar.php')) show_404(); $data['title'] = 'School Calendar'; $data['currentURL'] = current_url(); //get logo $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); //get menu list $data['menulist'] = $this->Admin_model->get_adminMenu(); $adminInfo = $this->db->query("SELECT * FROM admin WHERE id =" . $_SESSION['admin_id'])->row_array(); $data['courses'] = $this->Admin_model->get_courses(); $data['batch'] = $this->Admin_model->get_batch(); $data['result'] = $this->db->query('select * from school_settings where id= 1')->row_array(); // $rst=$this->db->query("SELECT invoice_no FROM `student_fee_online_transactions` ORDER BY id DESC")->row_array(); // if(!empty($rst)){ // $data['new_invoice_no']=(isset($rst['invoice_no']) && !empty($rst['invoice_no'])) ? $rst['invoice_no'] :"0000"; // } if ($_POST > 0) { if (isset($_POST['addEvent']) && ($_POST['addEvent'] == 'Add')) { $start_date_array = explode('-', $_POST['event_date']); $td['title'] = $_POST['title']; $td['year'] = $start_date_array[0]; $td['month'] = $start_date_array[1]; $td['day'] = $start_date_array[2]; $td['date'] = $_POST['event_date']; $td['end_date'] = $_POST['event_end_date']; $td['event_type'] = $_POST['event_type']; $td['remarks'] = $_POST['description']; $td['created_on'] = $this->nepali_current_date; $td['created_by'] = $adminInfo['admin_name']; $td['modified_on'] = $this->nepali_current_date; $td['modified_by'] = $adminInfo['admin_name']; $this->db->insert('school_calendar', $td); $this->session->set_flashdata('success', str_replace('%s', 'Event Type', 'New event has been added.')); redirect(base_url() . 'admin/school-calendar'); // dd($td); } else if (isset($_POST['updateEvent']) && ($_POST['updateEvent'] == 'Update')) { $start_date_array = explode('-', $_POST['event_date']); $ud['title'] = $_POST['title']; $ud['year'] = $start_date_array[0]; $ud['month'] = $start_date_array[1]; $ud['day'] = $start_date_array[2]; $ud['date'] = $_POST['up_event_date']; $ud['end_date'] = $_POST['up_event_end_date']; $ud['event_type'] = $_POST['event_type']; $ud['remarks'] = $_POST['description']; $ud['modified_on'] = $this->nepali_current_date; $ud['modified_by'] = $adminInfo['admin_name']; $this->db->where('id', $_POST['eventId']); $update = $this->db->update('school_calendar', $ud); if ($update) { $this->session->set_flashdata('success', str_replace('%s', 'Event', 'Event record updated successfully.')); } else { $this->session->set_flashdata('danger', str_replace('%s', 'Event', 'Something went wrong. Please try again.')); } redirect(base_url() . 'admin/school-calendar'); // dd($_POST); } else if (isset($_POST['deleteEvent']) && ($_POST['deleteEvent'] == 'Delete')) { $eventId = $_POST['eventId']; $this->db->where('id', $eventId); $delete = $this->db->delete('school_calendar'); $this->session->set_flashdata('success', str_replace('%s', 'Event', 'Event deleted successfully.')); redirect(base_url() . 'admin/school-calendar'); } } $data['event_lists'] = $this->db->query('select * from school_calendar')->result_array(); $data['event_types'] = $this->db->query("select * from school_event_types WHERE is_active='yes'")->result_array(); $dateTimeArray = explode(' ', $this->nepali_current_date); $data['today_date'] = $dateTimeArray[0]; $data['currency'] = currency_data(); $this->load->view('admin/header', $data); $this->load->view('admin/school-calendar'); $this->load->view('admin/footer'); } public function school_event_type() { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); if (!file_exists(APPPATH . 'views/admin/school-event-type.php')) show_404(); $data['title'] = 'Event Types'; $data['currentURL'] = current_url(); //get logo $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); //get menu list $data['menulist'] = $this->Admin_model->get_adminMenu(); $data['courses'] = $this->Admin_model->get_courses(); $data['batch'] = $this->Admin_model->get_batch(); $data['result'] = $this->db->query('select * from school_settings where id= 1')->row_array(); if ($_POST > 0) { if (isset($_POST['addEventType']) && ($_POST['addEventType'] == 'Add')) { // dd($_POST); $eventTitle = $_POST['title']; $isUnique = $this->Admin_model->get_unique_name_main_db('title', $eventTitle, 'school_event_types'); if ($isUnique) { $in_data['title'] = $eventTitle; $in_data['is_active'] = 'yes'; $in_data['created_on'] = $this->nepali_current_date; $in_data['modified_on'] = $this->nepali_current_date; $this->db->insert('school_event_types', $in_data); $this->session->set_flashdata('success', str_replace('%s', 'Event Type', 'New event type has been added.')); } else { $this->session->set_flashdata('danger', str_replace('%s', 'Event Type', 'Event name already exist.')); } redirect(base_url() . 'admin/event-types'); } else if (isset($_POST['updateEventType']) && ($_POST['updateEventType'] == 'Update')) { $eventId = $_POST['eventId']; $eventTitle = $_POST['title']; // dd($_POST); $isUnique = $this->Admin_model->update_unique_name_main_db('title', $eventTitle, 'school_event_types', $eventId); if ($isUnique) { $up_data['title'] = $eventTitle; $up_data['is_active'] = $_POST['is_active']; $up_data['modified_on'] = $this->nepali_current_date; $this->db->where('id', $eventId); $this->db->update('school_event_types', $up_data); $this->session->set_flashdata('success', str_replace('%s', 'Event Type', 'Event details has been updated successfully.')); } else { $this->session->set_flashdata('danger', str_replace('%s', 'Event Type', 'Event name already exist.')); } redirect(base_url() . 'admin/event-types'); } else if (isset($_POST['deleteEventType']) && ($_POST['deleteEventType'] == 'Delete')) { $eventId = $_POST['eventId']; $events = $this->db->query("SELECT * FROM school_calendar WHERE event_type=$eventId")->result_array(); if (empty($events)) { $this->db->where('id', $eventId); $delete = $this->db->delete('school_event_types'); if ($delete) { $this->session->set_flashdata('success', str_replace('%s', 'Event Type', 'Event type deleted successfully.')); } } else { $this->session->set_flashdata('danger', str_replace('%s', 'Event Type', 'Event existed with this event type. Please delete events link with it.')); } redirect(base_url() . 'admin/event-types'); } } $data['event_type_list'] = $this->db->query('select * from school_event_types')->result_array(); $dateTimeArray = explode(' ', $this->nepali_current_date); $data['today_date'] = $dateTimeArray[0]; $data['currency'] = currency_data(); $this->load->view('admin/header', $data); $this->load->view('admin/school-event-type'); $this->load->view('admin/footer'); } public function designation() { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); $data['currentURL'] = current_url(); $data['title'] = 'Designations'; $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); $hr_db = $this->load->database('hr', TRUE); if (isset($_POST['addDesignation']) && $_POST['addDesignation'] == 'Add') { $designationTitle = $_POST['title']; $isUnique = $this->Admin_model->get_unique_name('title', $designationTitle, 'hr_designation'); if ($isUnique) { $in_data['title'] = $designationTitle; $in_data['is_active'] = 'yes'; $in_data['created_on'] = $this->nepali_current_date; $in_data['modified_on'] = $this->nepali_current_date; $hr_db->insert('hr_designation', $in_data); $this->session->set_flashdata('success', str_replace('%s', 'Designation', 'New designation has been added.')); } else { $this->session->set_flashdata('danger', str_replace('%s', 'Designation', 'Designation title already exist.')); } redirect(base_url() . 'admin/designation'); } else if (isset($_POST['updateDesignation']) && $_POST['updateDesignation'] == 'Update') { $designationTitle = $_POST['title']; $designationId = $_POST['designationId']; $update_data = array( 'title' => $designationTitle, 'is_active' => $_POST['is_active'], 'modified_on' => $this->nepali_current_date, ); $hr_db->where('id', $designationId); $update = $hr_db->update("hr_designation", $update_data); if ($update) { $this->session->set_flashdata('success', str_replace('%s', 'Designation', 'Designation has been updated successfully.')); } else { $this->session->set_flashdata('danger', str_replace('%s', 'Designation', 'THE_ADD_ERROR_MSG')); } redirect(base_url() . 'admin/designation'); } $query = $hr_db->query('select * from hr_designation'); $data['designation_list'] = $query->result_array(); // $this->load->view('bustracking-admin/common/left-menu', $data); // $this->load->view('bustracking-admin/common/header', $data); // $this->load->view('bustracking-admin/designation', $data); $this->load->view('admin/header', $data); $this->load->view('admin/designation', $data); $this->load->view('admin/footer'); } public function department() { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); $data['currentURL'] = current_url(); $data['title'] = 'Departments'; $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); $hr_db = $this->load->database('hr', TRUE); if (isset($_POST['addDepartment']) && $_POST['addDepartment'] == 'Add') { $departmentTitle = $_POST['title']; $isUnique = $this->Admin_model->get_unique_name('title', $departmentTitle, 'hr_department'); // echo ''; // print_r($isUnique); if ($isUnique) { $in_data['title'] = $departmentTitle; $in_data['is_active'] = 'yes'; $in_data['created_on'] = $this->nepali_current_date; $in_data['modified_on'] = $this->nepali_current_date; $hr_db->insert('hr_department', $in_data); $this->session->set_flashdata('success', str_replace('%s', 'Department', 'New department has been added.')); } else { $this->session->set_flashdata('danger', str_replace('%s', 'Department', 'Department title already exist.')); } redirect(base_url() . 'admin/department'); } else if (isset($_POST['updateDepartment']) && $_POST['updateDepartment'] == 'Update') { $departmentTitle = $_POST['title']; $departmentId = $_POST['departmentId']; $update_data = array( 'title' => $departmentTitle, 'is_active' => $_POST['is_active'], 'modified_on' => $this->nepali_current_date, ); $hr_db->where('id', $departmentId); $update = $hr_db->update("hr_department", $update_data); if ($update) { $this->session->set_flashdata('success', str_replace('%s', 'Department', 'Department has been updated successfully.')); } else { $this->session->set_flashdata('danger', str_replace('%s', 'Department', 'THE_ADD_ERROR_MSG')); } redirect(base_url() . 'admin/department'); } $query = $hr_db->query('select * from hr_department'); $data['department_list'] = $query->result_array(); $this->load->view('admin/header', $data); $this->load->view('admin/department', $data); $this->load->view('admin/footer'); } public function staff_roles() { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); $data['currentURL'] = current_url(); $data['title'] = 'Staff Roles'; $data['school_info'] = $this->Admin_model->get_logo_from_setting(); $data['logo'] = $this->Admin_model->get_logo(); $hr_db = $this->load->database('hr', TRUE); if (isset($_POST['addStaffRole']) && $_POST['addStaffRole'] == 'Add') { $staffRoleTitle = $_POST['title']; $isUnique = $this->Admin_model->get_unique_name('title', $staffRoleTitle, 'staff_roles'); // echo ''; // print_r($isUnique); if ($isUnique) { $in_data['title'] = $staffRoleTitle; $in_data['is_active'] = 'yes'; $in_data['created_on'] = $this->nepali_current_date; $in_data['modified_on'] = $this->nepali_current_date; $hr_db->insert('staff_roles', $in_data); $this->session->set_flashdata('success', str_replace('%s', 'Role', 'New has been added.')); } else { $this->session->set_flashdata('danger', str_replace('%s', 'Role', 'Role already exist.')); } redirect(base_url() . 'admin/staff-roles'); } else if (isset($_POST['updateStaffRole']) && $_POST['updateStaffRole'] == 'Update') { // var_dump($_POST); // exit(); $staffRoleTitle = $_POST['title']; $staffRoleId = $_POST['roleId']; $update_data = array( 'title' => $staffRoleTitle, 'is_active' => $_POST['is_active'], 'modified_on' => $this->nepali_current_date, ); $hr_db->where('id', $staffRoleId); $update = $hr_db->update("staff_roles", $update_data); if ($update) { $this->session->set_flashdata('success', str_replace('%s', 'Roles', 'Role has been updated successfully.')); } else { $this->session->set_flashdata('danger', str_replace('%s', 'Roles', 'THE_ADD_ERROR_MSG')); } redirect(base_url() . 'admin/staff-roles'); } $query = $hr_db->query('select * from staff_roles'); $data['staffRole_list'] = $query->result_array(); $this->load->view('admin/header', $data); $this->load->view('admin/staff-roles', $data); $this->load->view('admin/footer'); } public function school_administration() { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); if (!file_exists(APPPATH . 'views/admin/school-administration.php')) show_404(); $data['title'] = 'School Administration'; $data['currentURL'] = current_url(); //get logo $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); //get menu list $data['menulist'] = $this->Admin_model->get_adminMenu(); $data['courses'] = $this->Admin_model->get_courses(); $data['batch'] = $this->Admin_model->get_batch(); $data['result'] = $this->db->query('select * from school_settings where id= 1')->row_array(); // $rst=$this->db->query("SELECT invoice_no FROM `student_fee_online_transactions` ORDER BY id DESC")->row_array(); // if(!empty($rst)){ // $data['new_invoice_no']=(isset($rst['invoice_no']) && !empty($rst['invoice_no'])) ? $rst['invoice_no'] :"0000"; // } $data['currency'] = currency_data(); $this->load->view('admin/header', $data); $this->load->view('admin/school-administration'); $this->load->view('admin/footer'); } public function school_staffs() { if (isset($_SESSION['admin_id'])) { $tid = ''; $data['currentURL'] = current_url(); //get logo $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); //get menu list $data['menulist'] = $this->Admin_model->get_adminMenu(); $staffs = $this->Admin_model->get_staff($tid); foreach ($staffs as $key => $value) { $filePath = 'assets_admin/images/teacher-profile/' . $value['photo']; if (file_exists($filePath)) { $staffs[$key]['profile_pic'] = base_url() . 'assets_admin/images/teacher-profile/' . $value['photo']; } else { $staffs[$key]['profile_pic'] = base_url() . 'common_assets/No-Image.jpg'; } } $data['staffs'] = $staffs; $hr_db = $this->load->database('hr', TRUE); $hr_roles = $hr_db->query("SELECT * from staff_roles where is_active = 'yes'")->result_array(); $hr_designation = $hr_db->query("SELECT * from hr_designation where is_active = 'yes'")->result_array(); $data['hr_designation'] = $hr_designation; $data['hr_roles'] = $hr_roles; $this->load->view('admin/header', $data); $this->load->view('admin/staffs'); $this->load->view('admin/footer'); } } public function add_edit_staff($tid = NULL) { if (isset($_SESSION['admin_id'])) { $data['tid'] = $tid; $data['currentURL'] = current_url(); //get logo $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); //get menu list $data['menulist'] = $this->Admin_model->get_adminMenu(); //shankar code start here / $data['subject_list'] = $this->Admin_model->get_subjects(); $data['assign_subjects'] = array('0'); //shankar code end here if ($tid > 0) { $data['detail'] = $this->Admin_model->get_teacher($tid); //shankar code start here $data['subjects'] = $this->Admin_model->get_teacher($tid, 1); $dat = array(); foreach ($data['subjects'] as $key => $val) { array_push($dat, $val['id']); } $data['assign_subjects'] = $dat; //shankar code end here } $hr_db = $this->load->database('hr', TRUE); $hr_roles = $hr_db->query("SELECT * from staff_roles where is_active = 'yes'")->result_array(); $hr_designation = $hr_db->query("SELECT * from hr_designation where is_active = 'yes'")->result_array(); $data['hr_designation'] = $hr_designation; $data['hr_roles'] = $hr_roles; // dd($hr_designation); $this->load->view('admin/header', $data); $this->load->view('admin/add-edit-staff'); $this->load->view('admin/footer'); } } public function dowmloadApplictionForm() { $this->load->library('m_pdf'); $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); $data['issue_date'] = $this->nepali_current_date; $data['courses'] = $this->db->query("SELECT * FROM course WHERE is_active = 'yes'")->result_array(); // dd($data['school_info']); $html = $this->load->view('admin/admission_form', $data, true); $pdfFilePath = 'Admission Form' . '-' . date('YmdHis') . ".pdf"; $pdf = $this->m_pdf->loadforAdmissionForm(); // $stylesheet = file_get_contents('assets_admin/css/bootstrap.min.css'); // $pdf->WriteHTML($stylesheet, 1); $pdf->WriteHTML($html, 2); $pdf->Output($pdfFilePath, "D"); } public function dowmloadApplicantApplictionForm() { $this->load->library('m_pdf'); // dd($_POST); $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); $data['issue_date'] = $this->nepali_current_date; $data['courses'] = $this->db->query("SELECT * FROM course WHERE is_active = 'yes'")->result_array(); // dd($data['school_info']); $data['applicant'] = $this->db->query("SELECT * FROM applications WHERE id = " . $_POST['applicant_id'])->row_array(); $html = $this->load->view('admin/applicant_admission_form', $data, true); $pdfFilePath = 'Admission Form' . '-' . date('YmdHis') . ".pdf"; $pdf = $this->m_pdf->loadforAdmissionForm(); // $stylesheet = file_get_contents('assets_admin/css/bootstrap.min.css'); // $pdf->WriteHTML($stylesheet, 1); $pdf->WriteHTML($html, 2); $pdf->Output($pdfFilePath, "D"); } function classroom_schedule() { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); if (!file_exists(APPPATH . 'views/admin/classroom_schedule.php')) show_404(); $theCourseSubjects = array(); $theBatchId = ''; $studntinfo = []; $sectionId = ''; $courseId = ''; $data['currentURL'] = current_url(); $data['logo'] = $this->Admin_model->get_logo(); $data['menulist'] = $this->Admin_model->get_adminMenu(); $data['title'] = "Assign Fees"; $data['courses'] = $this->Admin_model->get_courses(); //echo ''; print_r($data['courses']);exit; $school_info = $this->Admin_model->get_logo_from_setting(); $data['school_info'] = $school_info; $data['nepali_months'] = $this->db->query("Select * from nepali_months")->result_array(); $adminInfo = $this->db->query("SELECT * FROM admin WHERE id =" . $_SESSION['admin_id'])->row_array(); $theResult = array(); $weekDays = $this->db->query("Select * from week_days")->result_array(); if (isset($school_info['batch_id'])) $theBatchId = (!empty($school_info['batch_id'])) ? $school_info['batch_id'] : 0; if ($this->input->post('filterSubmit') == "Filter") { $obj = new NepaliDate(); $condtion = ''; $theBatchId = (isset($_POST['f_batch']) && !empty($_POST['f_batch'])) ? $_POST['f_batch'] : $school_info['batch_id']; $courseId = (isset($_POST['filter-course']) && !empty($_POST['filter-course'])) ? $_POST['filter-course'] : ''; $sectionId = (isset($_POST['filter-section']) && !empty($_POST['filter-section'])) ? $_POST['filter-section'] : ''; $theCourseSubjects = $this->db->query("Select cs.*, s.subject_name, s.id as subject_id from course_subjects cs JOIN subject s ON s.id = cs.subject_id WHERE cs.course_id = $courseId")->result_array(); $class_schedule_query = "SELECT id, GROUP_CONCAT(DISTINCT start_time) AS class_start_time, GROUP_CONCAT(DISTINCT end_time) as class_end_time FROM classroom_schedule WHERE batch=$theBatchId AND course=$courseId AND section=$sectionId"; $theResult = $this->db->query($class_schedule_query)->row_array(); if (!empty($theResult['class_start_time'])) { $class_start_time_array = explode(',', $theResult['class_start_time']); $class_end_time_array = explode(',', $theResult['class_end_time']); // dd($theResult); foreach ($class_start_time_array as $cst_key => $cst_value) { // echo $cst_value . ' =====> ' . $class_end_time_array[$cst_key] . '
'; $theResult['class_schedule'][$cst_key]['batch_id'] = $theBatchId; $theResult['class_schedule'][$cst_key]['course_id'] = $courseId; $theResult['class_schedule'][$cst_key]['section_id'] = $sectionId; $theResult['class_schedule'][$cst_key]['start_time'] = $cst_value; $theResult['class_schedule'][$cst_key]['end_time'] = $class_end_time_array[$cst_key]; foreach ($weekDays as $wd_key => $wd_value) { $theResult['class_schedule'][$cst_key]['days'][$wd_key] = $wd_value; $class_subject_schedule = "SELECT cs.subject, s.subject_name FROM classroom_schedule cs JOIN subject s ON s.id=cs.subject WHERE cs.start_time = '$cst_value' AND cs.end_time='" . $class_end_time_array[$cst_key] . "' AND cs.day=" . $wd_value['id'] . " AND batch=$theBatchId AND course=$courseId AND section=$sectionId"; $class_subject = $this->db->query($class_subject_schedule)->row_array(); $theResult['class_schedule'][$cst_key]['days'][$wd_key]['subject'] = $class_subject; } } } // dd($theResult); } if ((isset($_POST['addClassSchedule'])) && ($_POST['addClassSchedule'] == 'Save')) { $theBatchId = (isset($_POST['selectedBatchId']) && !empty($_POST['selectedBatchId'])) ? $_POST['selectedBatchId'] : $school_info['batch_id']; $courseId = (isset($_POST['selectedCourseId']) && !empty($_POST['selectedCourseId'])) ? $_POST['selectedCourseId'] : ''; $sectionId = (isset($_POST['selectedSectionId']) && !empty($_POST['selectedSectionId'])) ? $_POST['selectedSectionId'] : ''; $days = $_POST['days']; $startTime = $_POST['class_start_time']; $endTime = $_POST['class_end_time']; $subject = $_POST['subject']; $classroom = $this->db->query("SELECT * FROM classroom WHERE course_id=$courseId AND section_id=$sectionId")->row_array(); $insert_array = array(); foreach ($days as $key => $day) { $td['day'] = $day; $td['start_time'] = $startTime; $td['end_time'] = $endTime; $td['subject'] = $subject; $td['course'] = $courseId; $td['section'] = $sectionId; $td['batch'] = $theBatchId; $td['classroom'] = $classroom['id']; $td['created_on'] = $this->nepali_current_date; $td['created_by'] = $adminInfo['admin_name']; $td['modified_on'] = $this->nepali_current_date; $td['modified_by'] = $adminInfo['admin_name']; // echo ''; // print_r($td); $insert = $this->db->insert('classroom_schedule', $td); if ($insert) { array_push($insert_array, true); } else { array_push($insert_array, true); } } if (!in_array(false, $insert_array)) { $this->session->set_flashdata('success', 'Record has been inserted Successfully.'); } else { $this->session->set_flashdata('error', 'Something Went Wrong. Please try again later'); } // redirect('admin/classroom-schedule'); // dd($insert_array); $class_schedule_query = "SELECT id, GROUP_CONCAT(DISTINCT start_time) AS class_start_time, GROUP_CONCAT(DISTINCT end_time) as class_end_time FROM classroom_schedule WHERE batch=$theBatchId AND course=$courseId AND section=$sectionId"; $theResult = $this->db->query($class_schedule_query)->row_array(); $class_start_time_array = explode(',', $theResult['class_start_time']); $class_end_time_array = explode(',', $theResult['class_end_time']); foreach ($class_start_time_array as $cst_key => $cst_value) { // echo $cst_value . ' =====> ' . $class_end_time_array[$cst_key] . '
'; $theResult['class_schedule'][$cst_key]['start_time'] = $cst_value; $theResult['class_schedule'][$cst_key]['end_time'] = $class_end_time_array[$cst_key]; foreach ($weekDays as $wd_key => $wd_value) { $theResult['class_schedule'][$cst_key]['days'][$wd_key] = $wd_value; $class_subject_schedule = "SELECT cs.subject, s.subject_name FROM classroom_schedule cs JOIN subject s ON s.id=cs.subject WHERE cs.start_time = '$cst_value' AND cs.end_time='" . $class_end_time_array[$cst_key] . "' AND cs.day=" . $wd_value['id'] . " AND batch=$theBatchId AND course=$courseId AND section=$sectionId"; $class_subject = $this->db->query($class_subject_schedule)->row_array(); $theResult['class_schedule'][$cst_key]['batch_id'] = $theBatchId; $theResult['class_schedule'][$cst_key]['course_id'] = $courseId; $theResult['class_schedule'][$cst_key]['section_id'] = $sectionId; $theResult['class_schedule'][$cst_key]['days'][$wd_key]['subject'] = $class_subject; } } $theCourseSubjects = $this->db->query("Select cs.*, s.subject_name, s.id as subject_id from course_subjects cs JOIN subject s ON s.id = cs.subject_id WHERE cs.course_id = $courseId")->result_array(); } if ((isset($_POST['d_action'])) && ($_POST['d_action'] == 'deleteSchedule')) { $theBatchId = $_POST['batch_id']; $courseId = $_POST['course_id']; $sectionId = $_POST['section_id']; $startTime = $_POST['start_time']; $endTime = $_POST['end_time']; $current_class = $this->db->query("SELECT id FROM classroom_schedule WHERE start_time='$startTime' AND end_time='$endTime' AND batch=$theBatchId AND course=$courseId AND section=$sectionId")->result_array(); $delete_array = array(); foreach ($current_class as $c_key => $cc) { $this->db->where('id', $cc['id']); $delete = $this->db->delete('classroom_schedule'); // print_r($cc); if ($delete) { array_push($delete_array, true); } else { array_push($delete_array, false); } } if (!(in_array(false, $delete_array))) { $this->session->set_flashdata('success', 'Record has been deleted Successfully.'); } else { $this->session->set_flashdata('error', 'Something Went Wrong. Please try again later'); } $class_schedule_query = "SELECT id, GROUP_CONCAT(DISTINCT start_time) AS class_start_time, GROUP_CONCAT(DISTINCT end_time) as class_end_time FROM classroom_schedule WHERE batch=$theBatchId AND course=$courseId AND section=$sectionId"; $theResult = $this->db->query($class_schedule_query)->row_array(); if (empty($theResult['id'])) { $theResult = []; $class_start_time_array = []; $class_end_time_array = []; } else { $class_start_time_array = explode(',', $theResult['class_start_time']); $class_end_time_array = explode(',', $theResult['class_end_time']); } // dd($theResult); foreach ($class_start_time_array as $cst_key => $cst_value) { // echo $cst_value . ' =====> ' . $class_end_time_array[$cst_key] . '
'; if (!empty($theResult['id'])) { $theResult['class_schedule'][$cst_key]['start_time'] = $cst_value; $theResult['class_schedule'][$cst_key]['end_time'] = $class_end_time_array[$cst_key]; foreach ($weekDays as $wd_key => $wd_value) { $theResult['class_schedule'][$cst_key]['days'][$wd_key] = $wd_value; $class_subject_schedule = "SELECT cs.subject, s.subject_name FROM classroom_schedule cs JOIN subject s ON s.id=cs.subject WHERE cs.start_time = '$cst_value' AND cs.end_time='" . $class_end_time_array[$cst_key] . "' AND cs.day=" . $wd_value['id'] . " AND batch=$theBatchId AND course=$courseId AND section=$sectionId"; $class_subject = $this->db->query($class_subject_schedule)->row_array(); $theResult['class_schedule'][$cst_key]['batch_id'] = $theBatchId; $theResult['class_schedule'][$cst_key]['course_id'] = $courseId; $theResult['class_schedule'][$cst_key]['section_id'] = $sectionId; $theResult['class_schedule'][$cst_key]['days'][$wd_key]['subject'] = $class_subject; } } } $theCourseSubjects = $this->db->query("Select cs.*, s.subject_name, s.id as subject_id from course_subjects cs JOIN subject s ON s.id = cs.subject_id WHERE cs.course_id = $courseId")->result_array(); } // dd($theResult); $data['course_subjects'] = $theCourseSubjects; $data['week_days'] = $weekDays; $data['section'] = $sectionId; $data['course'] = $courseId; $data['class_schedule'] = $theResult; // dd($theResult); $data['theBatchId'] = $theBatchId; $batches = $this->Admin_model->get_table_info('batch', array('is_active' => 'yes')); $data['batches'] = $batches; $this->load->view('admin/header', $data); $this->load->view('admin/classroom_schedule', $data); $this->load->view('admin/footer'); } function classroom_schedule_update($url_params) { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); if (!file_exists(APPPATH . 'views/admin/classroom_schedule.php')) show_404(); $theCourseSubjects = array(); $theBatchId = ''; $studntinfo = []; $sectionId = ''; $courseId = ''; $data['currentURL'] = current_url(); $data['logo'] = $this->Admin_model->get_logo(); $data['menulist'] = $this->Admin_model->get_adminMenu(); $data['courses'] = $this->Admin_model->get_courses(); //echo ''; print_r($data['courses']);exit; $school_info = $this->Admin_model->get_logo_from_setting(); $data['school_info'] = $school_info; $data['nepali_months'] = $this->db->query("Select * from nepali_months")->result_array(); $adminInfo = $this->db->query("SELECT * FROM admin WHERE id =" . $_SESSION['admin_id'])->row_array(); $theResult = array(); $weekDays = $this->db->query("Select * from week_days")->result_array(); // $param_arr = unserialize(urldecode($url_params)); $theBatchId = $param_arr['batch_id']; $sectionId = $param_arr['section_id']; $courseId = $param_arr['course_id']; $start_time = $param_arr['start_time']; $end_time = $param_arr['end_time']; if ($_POST > 0) { if (isset($_POST['schedule_update']) && ($_POST['schedule_update'] == 'Save')) { // $isUnique = $this->Admin_model->get_unique_name_main_db('classroom_schedule', $_POST['class_start_time'], 'start_time'); // if($isUnique){} $class_start_time = date('h:i:s', strtotime($_POST['class_start_time'])); // strtotime($_POST['class_start_time']); $class_end_time = date('h:i:s', strtotime($_POST['class_end_time'])); $theBatchId = $_POST['batch_id']; $courseId = $_POST['course_id']; $sectionId = $_POST['section_id']; $class_schedule_query = "SELECT id, GROUP_CONCAT(DISTINCT start_time) AS class_start_time, GROUP_CONCAT(DISTINCT end_time) as class_end_time FROM classroom_schedule WHERE batch=$theBatchId AND course=$courseId AND section=$sectionId"; $schedules = $this->db->query($class_schedule_query)->row_array(); $previos_class_start_times = explode(',', $schedules['class_start_time']); $previos_class_end_times = explode(',', $schedules['class_end_time']); foreach ($previos_class_start_times as $p_key => $pc_value) { // echo ($pc_value . ' => ' . $class_start_time . '
'); $pc_startTime = date('h:i:s', strtotime($pc_value)); $pcEndTime = date('h:i:s', strtotime($previos_class_end_times[$p_key])); $subjects = $_POST['subject']; foreach ($subjects as $s_key => $subject) { $current_class = $this->db->query("SELECT id FROM classroom_schedule WHERE start_time='$pc_startTime' AND end_time='$pcEndTime' AND day=" . $s_key . " AND batch=$theBatchId AND course=$courseId AND section=$sectionId")->row_array(); if (!empty($current_class)) { // echo $subject . ' => ' . $current_class['id'] . '
'; $ud['start_time'] = $_POST['class_start_time']; $ud['end_time'] = $_POST['class_end_time']; $ud['subject'] = $subject; $ud['modified_on'] = $this->nepali_current_date; $ud['modified_by'] = $adminInfo['admin_name']; $ud['id'] = $current_class['id']; // echo ''; // print_r($ud); $this->db->where('id', $current_class['id']); $update = $this->db->update('classroom_schedule', $ud); } else { $classroom = $this->db->query("SELECT * FROM classroom WHERE course_id=$courseId AND section_id=$sectionId")->row_array(); $td['day'] = $s_key; $td['start_time'] = $_POST['class_start_time']; $td['end_time'] = $_POST['class_end_time']; $td['subject'] = $subject; $td['course'] = $courseId; $td['section'] = $sectionId; $td['batch'] = $theBatchId; $td['classroom'] = $classroom['id']; $td['created_on'] = $this->nepali_current_date; $td['created_by'] = $adminInfo['admin_name']; $td['modified_on'] = $this->nepali_current_date; $td['modified_by'] = $adminInfo['admin_name']; // echo ''; // print_r($td); $insert = $this->db->insert('classroom_schedule', $td); if ($insert) { array_push($insert_array, true); } else { array_push($insert_array, true); } } } // } // } // dd($_POST); $url_params = array( 'batch_id' => $_POST['batch_id'], 'course_id' => $_POST['course_id'], 'section_id' => $_POST['section_id'], 'start_time' => $_POST['class_start_time'], 'end_time' => $_POST['class_end_time'] ); $this->session->set_flashdata('success', 'The schedule updated successfully.'); redirect('admin/classroom-schedule-update/' . urlencode(serialize($url_params))); } } } $classroom_schedule = $this->db->query("SELECT * FROM classroom_schedule WHERE start_time='$start_time' AND end_time='$end_time' AND course=$courseId AND section=$sectionId AND batch=$theBatchId")->result_array(); $classroom = $this->db->query("SELECT * FROM classroom WHERE course_id=$courseId AND section_id=$sectionId")->row_array(); $theCourseSubjects = $this->db->query("Select cs.*, s.subject_name, s.id as subject_id from course_subjects cs JOIN subject s ON s.id = cs.subject_id WHERE cs.course_id = $courseId")->result_array(); $data['course_subjects'] = $theCourseSubjects; $data['week_days'] = $weekDays; $data['section'] = $sectionId; $data['course'] = $courseId; $data['classroom'] = $classroom; $data['url_params'] = $url_params; $data['start_time'] = $start_time; $data['end_time'] = $end_time; $data['class_schedule'] = $classroom_schedule; $data['theBatchId'] = $theBatchId; $batches = $this->Admin_model->get_table_info('batch', array('is_active' => 'yes')); $data['batches'] = $batches; $this->load->view('admin/header', $data); $this->load->view('admin/classroom_schedule_update', $data); $this->load->view('admin/footer'); } function assign_student_fees($url_params) { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); if (!file_exists(APPPATH . 'views/admin/assign-all-fees-student.php')) show_404(); $theStudents = array(); $theFees = array(); $theBatchId = ''; $feestype = array(); $studntinfo = []; $studntinfo1 = []; $studntRouteInfo = []; $studntRouteInfo1 = []; $sectionId = ''; $courseId = ''; $filterRouteId = ''; $dateFrom = ''; $feestypes = []; $data['currentURL'] = current_url(); $data['logo'] = $this->Admin_model->get_logo(); $data['menulist'] = $this->Admin_model->get_adminMenu(); $data['title'] = "Assign Fees"; $data['courses'] = $this->Admin_model->get_courses(); //echo ''; print_r($data['courses']);exit; $school_info = $this->Admin_model->get_logo_from_setting(); $data['school_info'] = $school_info; if (isset($school_info['batch_id'])) $theBatchId = (!empty($school_info['batch_id'])) ? $school_info['batch_id'] : 0; $param_arr = unserialize(urldecode($url_params)); $theBatchId = $param_arr['batch_id']; $theCourseId = $param_arr['course_id']; $theSectionId = $param_arr['section_id']; $theStudentd = $param_arr['student_id']; $student_info_query = "SELECT s.id as student_id, s.name, s.email, s.studentId, s.photo, s.bus_routeid, s.hostel_plan_id, s.gender, s.emergency_contact_number, s.dob, cl.classroom_name,b.id as batch_id, cl.course_id, b.b_name, sb.roll_no FROM students s JOIN student_batch sb ON sb.student_id = $theStudentd AND sb.batch_id = $theBatchId JOIN batch b ON b.id = $theBatchId JOIN classroom cl ON cl.id = sb.classroom_id WHERE s.id =$theStudentd ORDER BY sb.id DESC"; $student_info = $this->db->query($student_info_query)->row_array(); // echo $student_info_query; $course_fees_types_query = "SELECT DISTINCT cf.fees_type FROM course_fees cf WHERE cf.course_id = $theCourseId AND cf.batch_id = $theBatchId"; $course_fee_types = $this->db->query($course_fees_types_query)->result_array(); foreach ($course_fee_types as $cft_key => $cf_type) { $fee_type = $this->db->query("SELECT * FROM fee_types WHERE id = " . $cf_type['fees_type'])->row_array(); $course_fees_query = ""; // For transport fee // if($student_info['bus_routeid'] > 0){ // } if (($cf_type['fees_type'] == 4)) { if ($student_info['bus_routeid'] > 0) { $course_fees_query = "SELECT cf.* FROM course_fees cf WHERE cf.course_id = $theCourseId AND cf.batch_id = $theBatchId AND cf.fees_type = " . $cf_type['fees_type'] . " AND route_id = " . $student_info['bus_routeid']; $course_fees = $this->db->query($course_fees_query)->result_array(); $student_info['course_fees'][$cf_type['fees_type']]['fee_title'] = $fee_type['feetype_name']; $student_info['course_fees'][$cf_type['fees_type']]['fees'] = $course_fees; foreach ($course_fees as $cf_key => $cf_value) { $fee_assign_query = "SELECT * FROM fee_assigned_students WHERE student_id = $theStudentd AND course_fee_id = " . $cf_value['id']; $assigned_fee = $this->db->query($fee_assign_query)->row_array(); // Looking if the fee is assigned or not if (!empty($assigned_fee)) { $student_info['course_fees'][$cf_type['fees_type']]['fees'][$cf_key]['assigned'] = 'yes'; $student_info['course_fees'][$cf_type['fees_type']]['fees'][$cf_key]['fee_assigned_id'] = $assigned_fee['id']; } else { $student_info['course_fees'][$cf_type['fees_type']]['fees'][$cf_key]['assigned'] = 'no'; $student_info['course_fees'][$cf_type['fees_type']]['fees'][$cf_key]['fee_assigned_id'] = 0; } // Checking if the payment has been made or not. $fee_online_payment_query = "SELECT * FROM students_online_payments WHERE student_id = $theStudentd AND course_fee_id = " . $cf_value['id']; $student_online_payment = $this->db->query($fee_online_payment_query)->row_array(); if (!empty($assigned_fee)) { $student_info['course_fees'][$cf_type['fees_type']]['fees'][$cf_key]['payment'] = 'yes'; $student_info['course_fees'][$cf_type['fees_type']]['fees'][$cf_key]['sop_id'] = isset($student_online_payment) ? $student_online_payment['id'] : 0; } else { $student_info['course_fees'][$cf_type['fees_type']]['fees'][$cf_key]['payment'] = 'no'; $student_info['course_fees'][$cf_type['fees_type']]['fees'][$cf_key]['sop_id'] = 0; } // print_r($assigned_fee); } } } else { $course_fees_query = "SELECT cf.* FROM course_fees cf WHERE cf.course_id = $theCourseId AND cf.batch_id = $theBatchId AND cf.fees_type = " . $cf_type['fees_type']; $course_fees = $this->db->query($course_fees_query)->result_array(); $student_info['course_fees'][$cf_type['fees_type']]['fee_title'] = $fee_type['feetype_name']; $student_info['course_fees'][$cf_type['fees_type']]['fees'] = $course_fees; foreach ($course_fees as $cf_key => $cf_value) { $fee_assign_query = "SELECT * FROM fee_assigned_students WHERE student_id = $theStudentd AND course_fee_id = " . $cf_value['id']; $assigned_fee = $this->db->query($fee_assign_query)->row_array(); // Looking if the fee is assigned or not if (!empty($assigned_fee)) { $student_info['course_fees'][$cf_type['fees_type']]['fees'][$cf_key]['assigned'] = 'yes'; $student_info['course_fees'][$cf_type['fees_type']]['fees'][$cf_key]['fee_assigned_id'] = $assigned_fee['id']; } else { $student_info['course_fees'][$cf_type['fees_type']]['fees'][$cf_key]['assigned'] = 'no'; $student_info['course_fees'][$cf_type['fees_type']]['fees'][$cf_key]['fee_assigned_id'] = 0; } // Checking if the payment has been made or not. $fee_online_payment_query = "SELECT * FROM students_online_payments WHERE student_id = $theStudentd AND course_fee_id = " . $cf_value['id']; $student_online_payment = $this->db->query($fee_online_payment_query)->row_array(); if (!empty($student_online_payment)) { $student_info['course_fees'][$cf_type['fees_type']]['fees'][$cf_key]['payment'] = 'yes'; $student_info['course_fees'][$cf_type['fees_type']]['fees'][$cf_key]['sop_id'] = isset($student_online_payment) ? $student_online_payment['id'] : 0; } else { $student_info['course_fees'][$cf_type['fees_type']]['fees'][$cf_key]['payment'] = 'no'; $student_info['course_fees'][$cf_type['fees_type']]['fees'][$cf_key]['sop_id'] = 0; } // print_r($assigned_fee); } } } if ($_POST > 0) { if (isset($_POST['assigntostudents']) && $_POST['assigntostudents'] == 'Update') { // $course_fees = isset($_POST['course_fees_id']) ? $_POST['course_fees_id'] : []; $fees_assigned = isset($_POST['course_fees_assigned_id']) ? $_POST['course_fees_assigned_id'] : []; $fees_payment_status = isset($_POST['course_fees_payment_status']) ? $_POST['course_fees_payment_status'] : []; $assigned_fees = isset($_POST['fees']) ? $_POST['fees'] : []; $update_array = array(); foreach ($course_fees as $cf_key => $cf_value) { // echo $cf_value . ' => ' . $fees_assigned[$cf_value] . ' => ' . $fees_payment_status[$cf_value]; // Deleting previous assigned fees if ($fees_payment_status[$cf_value] == 'no') { if ($fees_assigned[$cf_value] > 0) { // echo '
' . 'Delete id ' . $fees_assigned[$cf_value] . '
'; $this->db->where('id', $fees_assigned[$cf_value]); $this->db->delete('fee_assigned_students'); } } // End of Deleting previous assigned fees if (isset($assigned_fees[$cf_value])) { // echo ' => ' . $assigned_fees[$cf_value] . '
'; $td['student_id'] = $_POST['student_id']; $td['course_fee_id'] = $cf_value; $td['created_at'] = $this->nepali_current_date; $insert = $this->db->insert('fee_assigned_students', $td); if ($insert) { array_push($update_array, true); } else { array_push($update_array, false); } } // echo ' ===============================================
'; } if (in_array(true, $update_array)) { $this->session->set_flashdata('success', 'Student fees updated successfully.'); } else { $this->session->set_flashdata('danger', 'Fee update unsuccessful.'); } redirect('admin/student-fees/' . $url_params); // dd($_POST); } } // dd($student_info); $data['url_params'] = $url_params; $data['theBatchId'] = $theBatchId; $data['theStudentInfo'] = $student_info; $this->load->view('admin/header', $data); $this->load->view('admin/assign-all-fees-student', $data); $this->load->view('admin/footer'); } public function accounting_ledgers() { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); if (!file_exists(APPPATH . 'views/admin/accounting-ledgers.php')) show_404(); $data['currentURL'] = current_url(); $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); $data['menulist'] = $this->Admin_model->get_adminMenu(); $condition = ''; $studentlist = array(); $batches = $this->Admin_model->get_table_info('batch', array('is_active' => 'yes')); $data['batches'] = $batches; $courses = $this->Admin_model->get_table_info('course', '', '', 'ASC'); $data['course'] = $courses; $fees_types_list = $this->Admin_model->get_fees_type(); $data['fees_types'] = $fees_types_list; $user_type = 'student'; if (count($_POST)) { $user_type = $_POST['f_user_type']; if ($_POST['f_user_type'] == 'student') { $se_batch = (isset($_POST['f_batch']) && !empty($_POST['f_batch'])) ? $_POST['f_batch'] : ''; $se_course = (isset($_POST['f_course']) && !empty($_POST['f_course'])) ? $_POST['f_course'] : ''; $se_section = (isset($_POST['f_section']) && !empty($_POST['f_section'])) ? $_POST['f_section'] : ''; $f_feetype = (isset($_POST['filter_fee_types']) && !empty($_POST['filter_fee_types'])) ? $_POST['filter_fee_types'] : ''; if ($se_course != '') $condition .= " AND cl.course_id=$se_course"; if ($se_section != '') $condition .= " AND cl.section_id IN (" . implode(',', $se_section) . ")"; $studentlist = $this->db->query("SELECT s.id as student_id,s.name as student_name,s.course as course_id ,s.batch_id,s.email,s.studentId,s.mobile,s.emergency_contact_name as guardian_name,s.emergency_contact_number as guardian_contact_number,c.course_name,se.id as section_id, se.section_name,sb.id as student_batch_id, sb.roll_no FROM students s JOIN student_batch sb ON s.id=sb.student_id JOIN classroom cl ON cl.id=sb.classroom_id JOIN course c ON c.id=cl.course_id JOIN section se ON se.id=cl.section_id WHERE sb.batch_id=$se_batch AND s.is_active ='yes' $condition ORDER BY cl.course_id, cl.section_id, sb.roll_no ")->result_array(); foreach ($studentlist as $key => $std) { $studentlist[$key]['ledger_account'] = $this->accounting->fetchAccountInfo($std['studentId']); } // dd($studentlist); $data['students'] = $studentlist; } else { $tid = ''; $teachers = $this->Admin_model->get_teacher($tid); foreach ($teachers as $key => $value) { $filePath = 'assets_admin/images/teacher-profile/' . $value['photo']; if (file_exists($filePath)) { $teachers[$key]['profile_pic'] = base_url() . 'assets_admin/images/teacher-profile/' . $value['photo']; } else { $teachers[$key]['profile_pic'] = base_url() . 'common_assets/No-Image.jpg'; } $teachers[$key]['ledger_account'] = $this->accounting->fetchAccountInfo($value['teacherId']); } // dd($studentlist); $data['teacher'] = $teachers; $hr_db = $this->load->database('hr', TRUE); $hr_roles = $hr_db->query("SELECT * from staff_roles where is_active = 'yes'")->result_array(); $hr_designation = $hr_db->query("SELECT * from hr_designation where is_active = 'yes'")->result_array(); $data['hr_designation'] = $hr_designation; $data['hr_roles'] = $hr_roles; $data['teachers'] = $teachers; } // dd($data); } $data['user_type'] = $user_type; $this->load->view('admin/header', $data); $this->load->view('admin/accounting-ledgers', $data); $this->load->view('admin/footer'); } public function createLedgerAccount() { // dd($_POST); $adminInfo = $this->db->query("SELECT * FROM admin WHERE id =" . $_SESSION['admin_id'])->row_array(); $userIds = $this->input->post('contact_list'); $user_type = $this->input->post('user_t'); $course_id = $this->input->post('course_id'); $course_id = !empty($course_id) ? $course_id : 0; $dobArr = explode('-', date("Y-m-d")); $dateBS = $this->nepaliDateObject->convertAdToBs($dobArr[0], $dobArr[1], $dobArr[2]); $t_date = $dateBS['year'] . '-' . sprintf("%02d", $dateBS['month']) . '-' . sprintf("%02d", $dateBS['day']); $status = array(); foreach ($userIds as $c_key => $userId) { $username = ''; if ($user_type == 'student') { $std_info = $this->db->query("SELECT * FROM students WHERE studentId = '$userId'")->row_array(); $username = $std_info['name']; } else { $teacher_info = $this->db->query("SELECT * FROM teacher WHERE teacherId = '$userId'")->row_array(); $username = $teacher_info['teacher_name']; } $acc_create = $this->accounting->userCreateAcc($userId, $user_type, $username, $t_date); array_push($status, $acc_create); } if (in_array('success', $status)) { $this->session->set_flashdata('success_msg', str_replace('%s', 'Ledger Account', 'Ledger accounts has been created successfully.')); } else { $this->session->set_flashdata('error_msg', str_replace('%s', 'Ledger Account', 'Something went wrong. Please try again later.')); } redirect(base_url() . 'admin/accounting-ledgers'); } public function journal_vouchers() { if (!isset($_SESSION['admin_id'])) redirect(base_url() . 'admin'); if (!file_exists(APPPATH . 'views/admin/journal-vouchers.php')) show_404(); $data['currentURL'] = current_url(); $data['logo'] = $this->Admin_model->get_logo(); $data['school_info'] = $this->Admin_model->get_logo_from_setting(); $data['menulist'] = $this->Admin_model->get_adminMenu(); $condition = ''; $studentlist = array(); $batches = $this->Admin_model->get_table_info('batch', array('is_active' => 'yes')); $data['batches'] = $batches; $courses = $this->Admin_model->get_table_info('course', '', '', 'ASC'); $data['course'] = $courses; $fees_types_list = $this->Admin_model->get_fees_type(); $data['fees_types'] = $fees_types_list; $user_type = 'student'; if (count($_POST)) { $user_type = $_POST['f_user_type']; if ($_POST['f_user_type'] == 'student') { $se_batch = (isset($_POST['f_batch']) && !empty($_POST['f_batch'])) ? $_POST['f_batch'] : ''; $se_course = (isset($_POST['f_course']) && !empty($_POST['f_course'])) ? $_POST['f_course'] : ''; $se_section = (isset($_POST['f_section']) && !empty($_POST['f_section'])) ? $_POST['f_section'] : ''; $f_feetype = (isset($_POST['filter_fee_types']) && !empty($_POST['filter_fee_types'])) ? $_POST['filter_fee_types'] : ''; if ($se_course != '') $condition .= " AND cl.course_id=$se_course"; if ($se_section != '') $condition .= " AND cl.section_id IN (" . implode(',', $se_section) . ")"; $studentlist = $this->db->query("SELECT s.id as student_id,s.name as student_name,s.course as course_id ,s.batch_id,s.email,s.studentId,s.mobile,s.emergency_contact_name as guardian_name,s.emergency_contact_number as guardian_contact_number,c.course_name,se.id as section_id, se.section_name,sb.id as student_batch_id, sb.roll_no FROM students s JOIN student_batch sb ON s.id=sb.student_id JOIN classroom cl ON cl.id=sb.classroom_id JOIN course c ON c.id=cl.course_id JOIN section se ON se.id=cl.section_id WHERE sb.batch_id=$se_batch AND s.is_active ='yes' $condition ORDER BY cl.course_id, cl.section_id, sb.roll_no ")->result_array(); foreach ($studentlist as $key => $std) { $studentlist[$key]['ledger_account'] = $this->accounting->fetchVoucherInfo($std['student_id']); } // dd($studentlist); $data['students'] = $studentlist; } else { $tid = ''; $teachers = $this->Admin_model->get_teacher($tid); foreach ($teachers as $key => $value) { $filePath = 'assets_admin/images/teacher-profile/' . $value['photo']; if (file_exists($filePath)) { $teachers[$key]['profile_pic'] = base_url() . 'assets_admin/images/teacher-profile/' . $value['photo']; } else { $teachers[$key]['profile_pic'] = base_url() . 'common_assets/No-Image.jpg'; } $teachers[$key]['ledger_account'] = $this->accounting->fetchAccountInfo($value['teacherId']); } // dd($studentlist); $data['teacher'] = $teachers; $hr_db = $this->load->database('hr', TRUE); $hr_roles = $hr_db->query("SELECT * from staff_roles where is_active = 'yes'")->result_array(); $hr_designation = $hr_db->query("SELECT * from hr_designation where is_active = 'yes'")->result_array(); $data['hr_designation'] = $hr_designation; $data['hr_roles'] = $hr_roles; $data['teachers'] = $teachers; } // dd($data); } $data['all_fee_types'] = $this->Admin_model->get_query_result("SELECT id,feetype_name FROM fee_types WHERE is_active = 'yes'"); $data['user_type'] = $user_type; $this->load->view('admin/header', $data); $this->load->view('admin/journal-vouchers', $data); $this->load->view('admin/footer'); } public function createVoucher() { // dd($_POST); $adminInfo = $this->db->query("SELECT * FROM admin WHERE id =" . $_SESSION['admin_id'])->row_array(); $userIds = $this->input->post('contact_list'); $user_type = $this->input->post('user_t'); $course_id = $this->input->post('course_id'); $course_id = !empty($course_id) ? $course_id : 0; $dobArr = explode('-', date("Y-m-d")); $dateBS = $this->nepaliDateObject->convertAdToBs($dobArr[0], $dobArr[1], $dobArr[2]); $t_date = $dateBS['year'] . '-' . sprintf("%02d", $dateBS['month']) . '-' . sprintf("%02d", $dateBS['day']); $status = array(); foreach ($userIds as $c_key => $userId) { $username = ''; if ($user_type == 'student') { $std_info = $this->db->query("SELECT * FROM students WHERE studentId = '$userId'")->row_array(); $student = $this->db->query("SELECT s.id as student_id FROM students s WHERE s.studentId='$userId' AND s.is_active ='yes' ")->row_array(); $userId = $student['student_id']; } else { $teacher_info = $this->db->query("SELECT * FROM teacher WHERE teacherId = '$userId'")->row_array(); $userId = $teacher_info['id']; } $acc_create = $this->accounting->createVoucher($userId, $user_type); array_push($status, $acc_create); } // dd($status); if (in_array('success', $status)) { $this->session->set_flashdata('success_msg', str_replace('%s', 'Ledger Account', 'Ledger accounts has been created successfully.')); } else { $this->session->set_flashdata('error_msg', str_replace('%s', 'Ledger Account', 'Something went wrong. Please try again later.')); } redirect(base_url() . 'admin/journal-vouchers'); } }