13571 lines
508 KiB
PHP
13571 lines
508 KiB
PHP
|
<?php
|
||
|
defined('BASEPATH') or exit('No direct script access allowed');
|
||
|
|
||
|
use Nilambar\NepaliDate\NepaliDate;
|
||
|
|
||
|
require_once 'vendor/autoload.php';
|
||
|
|
||
|
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||
|
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
|
||
|
use PhpOffice\PhpSpreadsheet\IOFactory;
|
||
|
// use Nilambar\NepaliDate\NepaliDate;
|
||
|
|
||
|
require_once APPPATH . '/third_party/fpdf/fpdf.php';
|
||
|
// use PhpOffice\PhpSpreadsheet\IOFactory;
|
||
|
// require('vendor/autoload.php');
|
||
|
|
||
|
|
||
|
|
||
|
class Admin extends CI_Controller
|
||
|
{
|
||
|
|
||
|
private $nepaliDateObject;
|
||
|
private $nepali_current_date;
|
||
|
|
||
|
public function __construct()
|
||
|
{
|
||
|
parent::__construct();
|
||
|
$this->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 '<pre>';print_r($errArray);
|
||
|
//echo '<pre>';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 '<pre>'; 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 '<pre>'; 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 "<pre>";
|
||
|
// 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 "<pre>";
|
||
|
// 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 .= '<br>' . $data_subject['subject_name'];
|
||
|
$teacher .= '<br>' . $data_teacher['teacher_name'];
|
||
|
}
|
||
|
|
||
|
$final_details[$lastk]['subject'] = $subject;
|
||
|
$final_details[$lastk]['teacher'] = $teacher;
|
||
|
} else {
|
||
|
$cur = $classroom[$i]['classroom_name'];
|
||
|
// $payment .= '<br>'.$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 .= '<br>' . $data_subject['subject_name'];
|
||
|
$teacher .= '<br>' . $data_teacher['teacher_name'];
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
$prev = $cur;
|
||
|
}
|
||
|
|
||
|
/*
|
||
|
echo "<pre>";
|
||
|
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! <br> 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 "<pre>";
|
||
|
// 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 .= '<br>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 '<pre>';
|
||
|
|
||
|
$update_course_offline_exam =
|
||
|
$this->Admin_model->update_course_offline_exam($subject_section_ids['subject'], $offlineExams, $cid);
|
||
|
|
||
|
|
||
|
// echo '<pre>';
|
||
|
// print_r($update_course_offline_exam);
|
||
|
|
||
|
if ($update_course_subject['status'] == 'failed') {
|
||
|
|
||
|
$subjectNameMsg = 'Cannot unselect ' . $update_course_subject['subject-names'];
|
||
|
$subjectNameMsg .= '<br>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! <br> 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"<pre>";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! <br> 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."<br>".$subject_id."<br>";
|
||
|
// print_r($section_id);
|
||
|
// echo "<br>";
|
||
|
|
||
|
// 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"<pre>";
|
||
|
// 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' . '<br>');
|
||
|
|
||
|
$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' . '<br>');
|
||
|
|
||
|
$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 = '<select name="feename[0]" onchange="set_plan_id(this)" class="form-control feeNameClass">';
|
||
|
$id = '';
|
||
|
$name = '';
|
||
|
foreach ($plans as $key => $value) {
|
||
|
if ($key == 0) {
|
||
|
$html .= '<option value="">Select A Plan</option>';
|
||
|
}
|
||
|
|
||
|
if ($select_plan != '' && $select_plan == $value['plan_name']) {
|
||
|
$id = $value['id'];
|
||
|
$name = $value['plan_name'];
|
||
|
$html .= '<option selected data-id="' . $value['id'] . '" value="' . $value['plan_name'] . '">' . $value['plan_name'] . '</option>';
|
||
|
} else {
|
||
|
$html .= '<option data-id=' . $value['id'] . ' value="' . $value['plan_name'] . '">' . $value['plan_name'] . '</option>';
|
||
|
}
|
||
|
}
|
||
|
$html .= '</select>';
|
||
|
if ($select_plan != '' && $select_plan == $name) {
|
||
|
$html .= '<input type="hidden" name="hostel_plan_id" value="' . $id . '" id="hostel_plan_id">';
|
||
|
} else {
|
||
|
$html .= '<input type="hidden" name="hostel_plan_id" id="hostel_plan_id">';
|
||
|
}
|
||
|
|
||
|
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 . "-<br>";
|
||
|
$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 .'<br>';
|
||
|
|
||
|
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 '<pre>';
|
||
|
// 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 '<pre>';
|
||
|
// 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 .= '<tr>';
|
||
|
$data_to_return .= '<td>' . $value->install_sno . '</td>';
|
||
|
$data_to_return .= '<td>' . $value->paid_amount . '</td>';
|
||
|
$data_to_return .= '<td>' . $value->pending_amount . '</td>';
|
||
|
$data_to_return .= '<td>' . $value->deduction_type . '</td>';
|
||
|
$data_to_return .= '<td>' . $value->deduction_amount . '</td>';
|
||
|
$data_to_return .= '<td>' . $value->fine_amount . '</td>';
|
||
|
$data_to_return .= '<td>' . $value->payment_via . '</td>';
|
||
|
$data_to_return .= '<td>' . $value->updated_by . '</td>';
|
||
|
$data_to_return .= '<td class="eft-action"><i onclick="revertEft(this,' . $sop_info['id'] . ',' . $value->install_sno . ')" data-toggle="tooltip" data-placement="top" title="Revert this payment" class="fa fa-times" style="color:red" ></i><a target="blank" href="' . $invoice_link . '"><i style="color:#032da1" class="fa fa-file" aria-hidden="true"></i></a></td>';
|
||
|
|
||
|
$data_to_return .= '</tr>';
|
||
|
}
|
||
|
}
|
||
|
|
||
|
$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 '<pre>'; 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 = '<option selected value="">Please select a course</option>';
|
||
|
|
||
|
foreach ($data as $value) {
|
||
|
$html .= '<option value="' . $value['course_id'] . '">' . $value['course_name'] . '</option>';
|
||
|
}
|
||
|
|
||
|
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 = '<option selected value="">Please select a fee type</option>';
|
||
|
|
||
|
foreach ($data as $value) {
|
||
|
$html .= '<option value="' . $value['id'] . '">' . $value['ft_name'] . '</option>';
|
||
|
}
|
||
|
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 = '<option selected value="">Please select a Hostel Plan</option>';
|
||
|
|
||
|
foreach ($data as $value) {
|
||
|
$html .= '<option value="' . $value['id'] . '">' . $value['plan_name'] . '</option>';
|
||
|
}
|
||
|
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 = '<option selected value="">Please select Fee Names of the above combination</option>';
|
||
|
|
||
|
foreach ($data as $value) {
|
||
|
$html .= '<option value="' . $value['id'] . '">' . $value['fee_values'] . '</option>';
|
||
|
}
|
||
|
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 = '<option selected value="">Please select Fee Names of the above combination</option>';
|
||
|
foreach ($data as $value) {
|
||
|
$html .= '<option value="' . $value['id'] . '">' . $value['fee_values'] . '</option>';
|
||
|
}
|
||
|
|
||
|
$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 = '<style>' . file_get_contents('assets_student/css/bootstrap.css') . '</style>';
|
||
|
// $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) ? "<span> Instant Payment </span>" : "<span>" . $val->due_date . "</span>";
|
||
|
$checkbox = ($inskey == 0) ? "style='color:green'" : "style='color:red'";
|
||
|
$firstPayment = ($inskey == 0) ? $val->amount : 0;
|
||
|
$html .= '<div class="row"><div class="instalment-row"><i class="far fa-check-circle" ' . $checkbox . '></i>
|
||
|
<input readonly type = "text" value = ' . $val->amount . ' id = "feeamount" data-amt="' . $firstPayment . '" />
|
||
|
<label> - ' . $due_date . '</label>
|
||
|
</div></div>';
|
||
|
// <input type = "text" value = ' . $n["payable_amount"] . ' id = "feeamount" />
|
||
|
// <div> <p>Due dates : </p>' . str_replace(',', '<br>', $n["duedates"]) . '
|
||
|
// </div>
|
||
|
|
||
|
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
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 "<pre>";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 "<pre>";
|
||
|
// 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 = '<div class="user-info-one-fees mb-5">
|
||
|
<p>Payment Dates:</p>
|
||
|
<ul class="mt-3 sele-sub-opt-two" style="list-style-type: none;">';
|
||
|
// test_view_array($data['installment']['due_amount_date']);
|
||
|
|
||
|
foreach ($data['installment']['due_amount_date'] as $index => $val) {
|
||
|
$flag = true;
|
||
|
foreach ($val as $key2 => $ele) {
|
||
|
$due_date = date('Y-m-d', strtotime($ele->due_date));
|
||
|
$current_date = date('Y-m-d', strtotime($this->nepali_current_date));
|
||
|
$payClass = $due_date > $current_date ? '' : 'red-pay';
|
||
|
$html .= '<li><div class="outter-pay-wrap" style="display: flex;">';
|
||
|
if ($due_date > $current_date) {
|
||
|
$html .= '<div class="outter-check"><i class="fa fa-check"></i></div>';
|
||
|
} else {
|
||
|
$html .= '<div class="outter-check red-pay"><i class="fas fa-times"></i></div>';
|
||
|
}
|
||
|
|
||
|
$html .= '<p class="paid-para">' . $ele->amount . '</p></div>';
|
||
|
$html .= '<div class="paid-space"> Due on : ' . date('d-m-Y', strtotime($ele->due_date));
|
||
|
if ($flag) {
|
||
|
$html .= '<span><a href="javascript:void(0)" class="btn pay-btn ml-2 blue-bg btn-sm" onclick="createDynamicForm(' . $student_id . ',this,' . $installment_key . ',\'new_payment\',' . $ele->amount . ',' . $course_fee_id . ',' . $jsonString . ')">Pay Now</a></span></div>';
|
||
|
$flag = false;
|
||
|
}
|
||
|
$html .= '</li>';
|
||
|
}
|
||
|
|
||
|
$html .= '</ul></div>';
|
||
|
}
|
||
|
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;
|
||
|
// }
|
||
|
|
||
|
$total_paid_amount = 0;
|
||
|
|
||
|
// 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;
|
||
|
$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;
|
||
|
|
||
|
$total_paid_amount = $total_paid_amount + $transData['payment_amt'];
|
||
|
} // 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)) {
|
||
|
$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);
|
||
|
$insert_transactions = $this->db->insert_batch('student_fee_online_transactions', $transactions_to_be_inserted);
|
||
|
|
||
|
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->accounting->receiptVoucherEntry($student_id, $student_app_id, $cf['batch_id'], $cf['course_id'], $total_paid_amount);
|
||
|
$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 = '<select name="feename[0]" onchange="set_transport_route_id(this)" class="form-control feeNameClass">';
|
||
|
$id = '';
|
||
|
$name = '';
|
||
|
|
||
|
foreach ($routes as $key => $value) {
|
||
|
if ($key == 0) {
|
||
|
$html .= '<option value="">Select A Route</option>';
|
||
|
}
|
||
|
|
||
|
if ($select_plan != '' && $select_plan == $value['route_name']) {
|
||
|
$id = $value['id'];
|
||
|
$name = $value['route_name'];
|
||
|
$html .= '<option selected data-id="' . $value['id'] . '" value="' . $value['route_name'] . '">' . $value['route_name'] . '</option>';
|
||
|
} else {
|
||
|
$html .= '<option data-id=' . $value['id'] . ' value="' . $value['route_name'] . '">' . $value['route_name'] . '</option>';
|
||
|
}
|
||
|
}
|
||
|
$html .= '</select>';
|
||
|
if ($select_plan != '' && $select_plan == $name) {
|
||
|
$html .= '<input type="hidden" name="route_id" value="' . $id . '" id="route_id">';
|
||
|
} else {
|
||
|
$html .= '<input type="hidden" name="route_id" id="route_id">';
|
||
|
}
|
||
|
|
||
|
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 = '<label for="">Routes Name<span class="text-danger font-weight-bold">*</span></label><select name="new_route_id" id="new_route_id" onchange="CheckRouteFee(this)" class="form-control feeNameClass123">';
|
||
|
$id = '';
|
||
|
$name = '';
|
||
|
|
||
|
foreach ($routes as $key => $value) {
|
||
|
if ($key == 0) {
|
||
|
$html .= '<option value="" >Select A Route</option>';
|
||
|
}
|
||
|
|
||
|
if ($select_plan != '' && $select_plan == $value['route_name']) {
|
||
|
$id = $value['id'];
|
||
|
$name = $value['route_name'];
|
||
|
$html .= '<option selected data-id="' . $value['id'] . '" value="' . $value['id'] . '">' . $value['route_name'] . '</option>';
|
||
|
} else {
|
||
|
$html .= '<option data-id=' . $value['id'] . ' value="' . $value['id'] . '">' . $value['route_name'] . '</option>';
|
||
|
}
|
||
|
}
|
||
|
$html .= '</select> <br> <div class="row"><div class="col-md-12" id="errorDiv"></div></div>';
|
||
|
if ($select_plan != '' && $select_plan == $name) {
|
||
|
$html .= '<input type="hidden" name="route_id" value="' . $id . '" id="route_id">';
|
||
|
} else {
|
||
|
$html .= '<input type="hidden" name="route_id" id="route_id">';
|
||
|
}
|
||
|
|
||
|
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 ("<script>console.log('PHP: 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 . "');</script>");
|
||
|
// // 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 "<script>console.log('Same pick up.');</script>";
|
||
|
// // } else {
|
||
|
// // echo "<script>console.log('diffferent pick up.');</script>";
|
||
|
// // $upQuery = $BTSdb->query("UPDATE bt_students_bus_route_details SET is_active='No' WHERE student_id=" . $query1['student_id']);
|
||
|
// // echo "<script>console.log(UPDATE bt_students_bus_route_details SET is_active='No', one_way='" . $oneway . "' WHERE student_id=" . $query1['student_id'] . "</script>";
|
||
|
|
||
|
// // 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 '<pre>'; 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 '<pre>';
|
||
|
// 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 '<pre>';
|
||
|
// print_r($student_fees);
|
||
|
// print_r($oneWay);
|
||
|
foreach ($student_fees as $key => $std_value) {
|
||
|
if (in_array($key, $modified_students)) {
|
||
|
|
||
|
|
||
|
// echo '<h2> Is Half Fee ' . $oneWay[$key] . ' </h2> <span> Fee Data = ' . $std_value . ' Student Id = ' . $key . ' </span> <br>';
|
||
|
|
||
|
$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 '<pre>';
|
||
|
// 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->reversalVoucherEntry($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 '<pre>'; 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 '<pre>';
|
||
|
// print_r($sopQuery);
|
||
|
$courseFee = $this->Admin_model->get_query_row($cfDetQuery);
|
||
|
// echo '================================> ' . $assignedFeesVal;
|
||
|
// print_r($courseFee);
|
||
|
// if ($std_key == 21) {
|
||
|
// echo '<pre>';
|
||
|
// 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 '<pre>';
|
||
|
// 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 '<pre>';
|
||
|
// print_r($sopQuery);
|
||
|
$courseFee = $this->Admin_model->get_query_row($cfDetQuery);
|
||
|
// if ($std_key == 21) {
|
||
|
// echo '<pre>';
|
||
|
// 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 '<pre>';
|
||
|
// 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 '<pre> ----------------------------------------------------------->';
|
||
|
// 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 '<pre>'; 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.'<br/>'.$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 '<pre>';print_r($feeTypeList);
|
||
|
//echo '<pre>';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 '<pre>'; 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'] .'<br>';
|
||
|
// echo '<pre>';
|
||
|
|
||
|
// if(isset)
|
||
|
|
||
|
array_push($finalResult, $theResults[$key]);
|
||
|
|
||
|
// print_r($theResults[$key]);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// dd(($theResults));
|
||
|
|
||
|
//echo '<pre>';print_r($feeTypeList);
|
||
|
//echo '<pre>';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 '<pre>'; 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 '<pre>'; 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 "<pre>";
|
||
|
// 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 "<pre>";
|
||
|
// 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 '<pre>'; print_r($_POST['student']);
|
||
|
foreach ($_POST['student'] as $sid => $sosArr) {
|
||
|
//echo '<pre>'; print_r($sosArr);
|
||
|
$theUpdateData = '';
|
||
|
foreach ($sosArr as $osId => $flag) {
|
||
|
if ($flag == 'yes') {
|
||
|
if ($theUpdateData == '')
|
||
|
$theUpdateData = $osId;
|
||
|
else
|
||
|
$theUpdateData .= ',' . $osId;
|
||
|
}
|
||
|
}
|
||
|
//echo $sid.' == '.$theUpdateData.'<br/>';
|
||
|
|
||
|
$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 '<pre>'; 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.'<br/>';
|
||
|
|
||
|
$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 '<pre>'; 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)) . "<br>";
|
||
|
echo date('l jS \of F Y h:i:s A') . "<br>";
|
||
|
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 '<pre>';
|
||
|
// 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 '<pre>';
|
||
|
// 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 '<pre>';
|
||
|
// 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 '<pre>';
|
||
|
// 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 '<pre>';
|
||
|
|
||
|
// 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 '<pre>';
|
||
|
|
||
|
// 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 '<pre>';
|
||
|
|
||
|
|
||
|
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 '<pre>';
|
||
|
// 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 '
|
||
|
<script type="text/javascript">
|
||
|
window.onload = function () { alert("' . $_POST['contact_number'] . '"); }
|
||
|
</script>';
|
||
|
}
|
||
|
|
||
|
|
||
|
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 "<script>console.log('Debug Objects: " . $output . "' );</script>";
|
||
|
}
|
||
|
|
||
|
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 '<pre>';
|
||
|
// 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 '<pre>';
|
||
|
$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 '<pre>';
|
||
|
// 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 '<pre>';
|
||
|
// 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 '<pre>';
|
||
|
// 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 '<pre>'; 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] . '<br>';
|
||
|
|
||
|
|
||
|
$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 '<pre>';
|
||
|
// 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] . '<br>';
|
||
|
|
||
|
|
||
|
$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] . '<br>';
|
||
|
|
||
|
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 '<pre>'; 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 . '<br>');
|
||
|
$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'] . '<br>';
|
||
|
|
||
|
$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 '<pre>';
|
||
|
// 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 '<pre>';
|
||
|
// 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 '<pre>'; 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 '<br>' . 'Delete id ' . $fees_assigned[$cf_value] . '<br>';
|
||
|
|
||
|
$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] . '<br>';
|
||
|
|
||
|
$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 ' =============================================== <br>';
|
||
|
}
|
||
|
|
||
|
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');
|
||
|
}
|
||
|
}
|