Server IP : 103.191.208.50 / Your IP : 216.73.216.53 Web Server : LiteSpeed System : Linux orion.herosite.pro 4.18.0-553.53.1.lve.el8.x86_64 #1 SMP Wed May 28 17:01:02 UTC 2025 x86_64 User : celkcksm ( 1031) PHP Version : 7.4.33 Disable Function : show_source, system, shell_exec, passthru, popen, exec MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON Directory (0755) : /home/celkcksm/ecampus.ncriptech.com/application/controllers/admin/ |
[ Home ] | [ C0mmand ] | [ Upload File ] |
---|
<?php defined('BASEPATH') OR exit('No direct script access allowed'); /** * */ class Banks extends BaseAdminController { protected $inst_id=''; protected $inst_parent_id=''; protected $inst_code=''; protected $inst_type=''; protected $user_type=''; protected $hrms_access=''; protected $bank_add_access=''; protected $bank_edit_access=''; protected $bank_delete_access=''; protected $bank_balance_add=''; protected $bank_balance_edit=''; protected $user_permissions=''; function __construct() { parent::__construct(); $institute_data=check_institute($this->data['userdata']); //print_obj($institute_data);die; $this->user_type=$this->data['userdata']->user_type; $this->inst_id=$institute_data['institute_id']; $this->inst_parent_id=$institute_data['inst_parent_id']; $this->inst_code=$institute_data['inst_code']; $this->inst_type=$institute_data['inst_type']; $this->bank_add_access=$institute_data['bank_add_access']; $this->bank_edit_access=$institute_data['bank_edit_access']; $this->bank_delete_access=$institute_data['bank_delete_access']; $this->bank_balance_add=$institute_data['bank_balance_add']; $this->bank_balance_edit=$institute_data['bank_balance_edit']; $this->ams_access=$institute_data['ams_access']; } //Bank Details function index($bank=null){ // if($this->data['userdata']->user_type=='student' || $this->data['userdata']->user_type=='agent' ){ // redirect($this->data['base_url']); // } if(session_userdata('isAdminLoggedin')){ $this->data['page_title']='Bank Setups'; $ams_bank_accounts_access= check_access_control($this->data['userdata'],'ams_bank_accounts','view'); $this->data['ams_bank_accounts_add_access']= check_access_control($this->data['userdata'],'ams_bank_accounts','add'); $this->data['ams_bank_accounts_edit_access']= check_access_control($this->data['userdata'],'ams_bank_accounts','edit'); $this->data['ams_bank_accounts_add_balance_access']= check_access_control($this->data['userdata'],'ams_bank_accounts','add_balance'); if($this->ams_access=='yes'){ if($ams_bank_accounts_access=='yes'){ $this->data['fiscal_year']=fiscalyear(2000); $this->data['fiscal_year']=fiscalyear(2000); $this->data['add_access']=$this->bank_add_access; $this->data['edit_access']=$this->bank_edit_access; $this->data['banks']=$this->sm->get_banks(array('bank_inst_id'=>$this->inst_id,'bank_inst_type'=>$this->inst_type),FALSE); $view='master/vw_banks'; }else{ $view='exm/vw_exms_permission_denied'; } }else{ $view='exm/vw_exms_permission_denied'; } $this->theme->title($this->data['page_title'])->load($view, $this->data); }else{ redirect($this->data['base_url']); } } public function onAddEditBank(){ if(session_userdata('isAdminLoggedin')==TRUE && session_userdata('admin_id')){ $bank_name=post_data('bank_name'); $_bank=post_data('_bank'); $bank_branch=post_data('bank_branch'); $bank_ifsc=post_data('bank_ifsc'); $bank_phone_no=post_data('bank_phone_nos'); $bank_acc_no=post_data('bank_acc_no'); $bank_address=post_data('bank_address'); $bank_acc_status=post_data('bank_acc_status'); $bank_ac_description=post_data('bank_ac_description'); $this->form_validation->set_rules('bank_name', 'Bank name required', 'trim|required'); $this->form_validation->set_rules('bank_branch', 'Bank Branch Name required', 'trim|required'); $this->form_validation->set_rules('bank_phone_nos', 'Bank phone no required', 'trim|required'); if ($this->form_validation->run() == true){ if(!empty($bank_address)){ $bank_address=$bank_address; } $bank_details=array('bank_inst_id'=>$this->data['userdata']->user_id,'bank_name'=>strtoupper($bank_name),'bank_branch'=>strtoupper($bank_branch),'bank_ifsc'=>strtoupper($bank_ifsc),'bank_account_no'=>$bank_acc_no, 'bank_phone'=>$bank_phone_no,'bank_address'=>$bank_address,'bank_account_description'=>$bank_ac_description,'bank_status'=>$bank_acc_status); $bank_data=$this->sm->get_banks(array('bank_inst_id'=>$this->data['userdata']->user_id,'bank_name'=>strtoupper($bank_name),'bank_account_no'=>$bank_acc_no,'bank_branch'=>strtoupper($bank_branch))); if(empty($bank_data)){ $added=$this->sm->store_bank_data($bank_details); if($added){ $return['success']='Bank added successfully'; }else{ $return['error']='Bank not added'; } }else if(!empty($_bank)){ $bank_id=decode_data($_bank); $updated=$this->sm->update_bank_data($bank_details,array('bank_id'=>$bank_id)); if($updated){ $return['success']='Bank updated successfully'; }else{ $return['error']='Bank not updated'; } } }else{ $return['error']='Error occurred'; } json_headers($return); }else{ redirect($this->data['base_url']); } } public function onAddEditBankBalance(){ if(session_userdata('isAdminLoggedin')==TRUE && session_userdata('admin_id')){ if($this->input->is_ajax_request() && $this->input->server('REQUEST_METHOD')=='POST'){ $ams_bank_accounts_add_balance_access= check_access_control($this->data['userdata'],'ams_bank_accounts','add_balance'); if($ams_bank_accounts_add_balance_access=='no'){ $return['error']='You don\'t have the required permission to add new balance'; }else{ $bank_id=post_data('bank_id'); $balance_amount=post_data('bank_opening_balance'); // $financial_year=post_data('bank_balance_fiscal_year'); $institute_data=check_institute($this->data['userdata']); $inst_id=$institute_data['institute_id']; $inst_type=$institute_data['inst_type']; $creator_id=$this->data['userdata']->user_id; if(empty($balance_id)){ $bank_id=decode_data($bank_id); $get_balance_data=$this->sm->get_bank_balance(array('balance_bank_id'=>$bank_id, 'balance_inst_id'=>$inst_id,'balance_status'=>'active')); if(!empty($get_balance_data)){ if($get_balance_data->balance_adjusted_amount>0){ $new_balance=$get_balance_data->balance_opening_amount+$balance_amount; }else{ $new_balance=$balance_amount; } $balance_adjusted_amount=$balance_amount; }else{ $new_balance=$balance_amount; $balance_adjusted_amount=0; } $data_to_insert=array( 'balance_bank_id'=>$bank_id, 'balance_inst_id'=>$inst_id, 'balance_opening_amount'=>$new_balance, 'balance_adjusted_amount'=>$balance_adjusted_amount, 'balance_status'=>'active', 'balance_is_credit_debit'=>'credit', 'balance_created_by'=>$creator_id ); if(!empty($get_balance_data)){ if($get_balance_data->balance_adjusted_amount>0){ $balance_id=$this->sm->store_bank_balance_data($data_to_insert); }else{ $balance_id=$get_balance_data->balance_id; if($get_balance_data->balance_adjusted_amount>0){ $this->sm->update_bank_balance_data(array('balance_status'=>'inactive','balance_updated_at'=>date('Y-m-d H:i:s'),'balance_updated_by'=>$creator_id),array('balance_bank_id'=>$bank_id,'balance_id'=>$balance_id)); }else{ $this->sm->update_bank_balance_data(array('balance_opening_amount'=>$new_balance,'balance_updated_at'=>date('Y-m-d H:i:s'),'balance_updated_by'=>$creator_id),array('balance_bank_id'=>$bank_id,'balance_id'=>$balance_id)); } } }else if(empty($get_balance_data)){ $balance_id=$this->sm->store_bank_balance_data($data_to_insert); } if($balance_id){ $return['success']='Balance added successfully'; }else{ $return['error']='Balance not added.'; } }else{ $balance_id=decode_data($balance_id); } } json_headers($return); }else{ redirect($this->data['base_url']); } }else{ redirect($this->data['base_url']); } } public function onSearchBanksList(){ if(session_userdata('isAdminLoggedin')==TRUE && session_userdata('admin_id')){ if($this->input->is_ajax_request() && $this->input->server('REQUEST_METHOD')=='POST'){ $inst_id=$this->inst_id; $param['bank_inst_id']=$inst_id; $param['column_order'] = array( null, 'bank_name' ); $param['column_search'] = array('bank_name','bank_branch'); $param['order'] = array('bank_id' => 'ASC'); $posts=$this->input->post(); //$param['created_by']=session_userdata('admin_id'); $list = $this->sm->_get_banks($posts,$param,FALSE,FALSE); $data = array(); $no = isset($posts['start'])?$posts['start']:0; $action=''; foreach ($list as $bank){ $no++; $row = array(); $details=$bank->bank_name.'<br>Branch:'.$bank->bank_branch.'<br>A/C:'.$bank->bank_account_no.'<br>IFSC:'.$bank->bank_ifsc.'<br>Type:'.$bank->bank_account_description.'<br>Primary Account:'.$bank->is_primary_account; $ams_bank_accounts_edit_access= check_access_control($this->data['userdata'],'ams_bank_accounts','edit'); $ams_bank_accounts_view_balance_access= check_access_control($this->data['userdata'],'ams_bank_accounts','view_balance'); $ams_bank_accounts_delete_access= check_access_control($this->data['userdata'],'ams_bank_accounts','delete'); $action=''; $row[] = $no; $row[] = $details; // $row[] = $bank->bank_branch; if($bank->bank_status=='active'){ $bank_status='<span class="badge badge-sm badge-success">Active</span>'; }else if($bank->bank_status=='inactive'){ $bank_status='<span class="badge badge-sm badge-danger">Inactive</span>'; } $row[] = $bank_status; $action.='<div class="btn-group" role="group" aria-label="Basic example">'; if($ams_bank_accounts_view_balance_access=='yes'){ if($bank->bank_status=='active'){ $action.='<button class="btn btn-xs btn-success btn_add_bank_balance" data-banck_acc="'.$bank->bank_account_no.'" data-bank_branch="'.$bank->bank_branch.'" data-bank_name="'.$bank->bank_name.'" data-bank_id="'.encode_data($bank->bank_id).'">Bank Balance</button>'; } } if($ams_bank_accounts_edit_access=='yes'){ $action.='<button class="btn btn-xs btn-dark btn_edit_bank" data-bank_id="'.encode_data($bank->bank_id).'" data-bank_name="'.$bank->bank_name.'" data-bank_branch="'.$bank->bank_branch.'" data-bank_phone_nos="'.$bank->bank_phone.'" data-bank_ifsc="'.$bank->bank_ifsc.'" data-bank_address="'.$bank->bank_address.'" data-banck_acc="'.$bank->bank_account_no.'" data-acc_status="'.$bank->bank_status.'" data-account_type="'.$bank->bank_account_description.'"> <i class="fa fa-edit"></i> </button>'; } if($ams_bank_accounts_delete_access=='yes'){ $action.='<button class="btn btn-xs btn-danger"><i class="fa fa-trash"></i></button>'; } if($ams_bank_accounts_view_balance_access=='no' && $ams_bank_accounts_edit_access=='no' && $ams_bank_accounts_delete_access=='no'){ $action.='<span class="badge badge-dark">Not permitted</span>'; } $action.='</div>'; $row[] = $action; $data[] = $row; } $output = array( "draw" => isset($posts['draw'])?$posts['draw']:'', "recordsTotal" => $this->sm->_get_banks($posts,$param,TRUE), "recordsFiltered" => $this->sm->_get_banks($posts,$param,TRUE), "data" => $data, ); echo json_encode($output); }else{ redirect($this->data['base_url']); } }else{ redirect($this->data['base_url']); } } public function onSearchBankBalanceList(){ if(session_userdata('isAdminLoggedin')==TRUE && session_userdata('admin_id')){ if($this->input->is_ajax_request() && $this->input->server('REQUEST_METHOD')=='POST'){ $institute_data=check_institute($this->data['userdata']); $inst_id=$institute_data['institute_id']; $param['bank_inst_id']=$inst_id; $param['column_order'] = array( null, 'bank_name' ); $param['column_search'] = array('balance_financial_year'); $param['order'] = array('balance_id' => 'DESC'); $posts=$this->input->post(); if(isset($posts['bank_id'])){ $bank_id=decode_data($posts['bank_id']); $param['bank_id']=$bank_id; } $list = $this->sm->_get_bank_balance($posts,$param,FALSE,FALSE); $data = array(); $no = isset($posts['start'])?$posts['start']:0; $action=''; foreach ($list as $bank){ $no++; $row = array(); $row[] = $no; // $row[] = $bank->balance_financial_year; $row[] = number_format($bank->balance_opening_amount,2); $row[] = number_format($bank->balance_adjusted_amount,2); $row[] = date('d-m-Y',strtotime($bank->balance_created_at)); /*if($bank->balance_status=='active'){ $action='<button class="btn btn-xs btn-dark btn_edit_bank_balance" data-bank_id="'.encode_data($bank->balance_bank_id).'" data-balance_value="'.$bank->balance_opening_amount.'" data-fiscal_year="'.$bank->balance_financial_year.'"><i class="fa fa-edit"></i></button>'; }else{ $action=''; }*/ //$row[] = $action; if(in_array($bank->balance_is_credit_debit, array('credit','transfer_credit'))){ $row[] = '<span class="badge badge-success">Credit</span>'; }else if(in_array($bank->balance_is_credit_debit, array('debit','transfer_debit'))){ $row[] = '<span class="badge badge-danger">Debit</span>'; } if($bank->balance_status=='active'){ $row[] = '<span class="badge badge-success">Active</span>'; }else{ $row[] = '<span class="badge badge-dark">inactive</span>'; } $data[] = $row; } $output = array( "draw" => isset($posts['draw'])?$posts['draw']:'', "recordsTotal" => $this->sm->_get_bank_balance($posts,$param,TRUE), "recordsFiltered" => $this->sm->_get_bank_balance($posts,$param,TRUE), "data" => $data, ); echo json_encode($output); }else{ redirect($this->data['base_url']); } }else{ redirect($this->data['base_url']); } } public function onExportBankDetails() { if (session_userdata('isAdminLoggedin') === TRUE && session_userdata('admin_id')) { if ($this->input->is_ajax_request() && $this->input->server('REQUEST_METHOD') == 'POST') { // Fetch bank data $banks_list = $this->sm->get_banks( ['bank_inst_id' => $this->inst_id, 'bank_inst_type' => $this->inst_type], FALSE ); // Define column headings $headingdata = [ 'Sl. No.', 'Bank Name', 'Branch Name', 'A/C No.', 'IFSC', 'Phone No.', 'Address', 'Description', 'Opening Amount', 'Date' ]; // Prepare input data $inputData = []; if (!empty($banks_list)) { $no = 1; // Start numbering at 1 foreach ($banks_list as $value) { $bank_balance=$this->sm->get_bank_balance(array('balance_bank_id'=>$value->bank_id,'balance_status'=>'active')); if(!empty($bank_balance)){ if($bank_balance->balance_updated_at!=null){ $created_at=$bank_balance->balance_updated_at; }else{ $created_at=$bank_balance->balance_created_at; } }else{ $created_at=$value->created_at; } $inputData[] = [ $no++, // Increment Sl. No. $value->bank_name, $value->bank_branch, $value->bank_account_no, $value->bank_ifsc, $value->bank_phone, $value->bank_address, $value->bank_account_description, number_format($bank_balance->balance_opening_amount,2) ?? '0.00', // Default if missing date('d-m-Y', strtotime($created_at)) // Format date ]; } } // Call the helper function $file_name = 'BankDetails_' . date('YmdHis') . '.xlsx'; $result = __write_excel($headingdata, $inputData, $file_name); // Return JSON response if ($result['success'] ?? false) { $return=array('status' => 'success', 'file_name'=>$file_name, 'file_url' => $result['file_url']); } else { $return=array('status' => 'error', 'message' => $result['error']); } json_headers($return); } else { redirect($this->data['base_url']); } } else { redirect($this->data['base_url']); } } //Bank Details //Cash Details function indexCashes($balance_id=null){ if($this->data['userdata']->user_type=='student'|| $this->data['userdata']->user_type=='agent' ){ redirect($this->data['base_url']); } if(session_userdata('isAdminLoggedin')){ $view_access= check_access_control($this->data['userdata'],'cash_master','view'); $add_access= check_access_control($this->data['userdata'],'cash_master','add'); $edit_access= check_access_control($this->data['userdata'],'cash_master','edit'); $this->data['page_title']='Cash Setups'; $this->data['fiscal_year']=fiscalyear(2000); if($view_access=='yes'){ $view='master/vw_cashes'; if($add_access=='yes'){ $this->data['add_access']='yes'; } else{ $this->data['add_access']='no'; } if(!empty($balance_id)){ if( $edit_access=='yes'){ $this->data['edit_access']=$edit_access; $balance_id=decode_data($balance_id); $this->data['cash_data']=$this->sm->get_cash_balance(array('balance_id'=>$balance_id)); /* print_obj($this->data['cash_data']); die();*/ $this->data['edit_access']='yes'; } else{ $this->data['edit_access']='no'; } } } else{ $view='hrm/vw_permission_denied'; } $this->theme->title($this->data['page_title'])->load($view, $this->data); }else{ redirect($this->data['base_url']); } } public function onDeleteCashBalanceList(){ if(session_userdata('isAdminLoggedin')==TRUE && session_userdata('admin_id')){ if($this->input->is_ajax_request() && $this->input->server('REQUEST_METHOD')=='POST'){ $delete_access=check_access_control($this->data['userdata'],'lms_books_athors','delete'); if($delete_access=='yes'){ $balance_id=post_data('balance_id'); if(!empty($balance_id)){ $balance_id=decode_data($balance_id); $cash_data=$this->sm->delete_cash_data(array('balance_id'=>$balance_id)); if(!empty($cash_data)){ if($cash_data){ $return['success']='cash has been removed from the system.'; }else{ $return['error']='cash can not be removed'; } }else{ $return['error']='cash data not found in the system'; } }else{ $return['error']='No cash data found'; } } else{ $return['error']='you dont have a permission to delete this author'; } json_headers($return); }else{ redirect($this->data['base_url']); } }else{ redirect($this->data['base_url']); } } public function onSearchCashBalanceList(){ if(session_userdata('isAdminLoggedin')==TRUE && session_userdata('admin_id')){ if($this->input->is_ajax_request() && $this->input->server('REQUEST_METHOD')=='POST'){ $edit_access= check_access_control($this->data['userdata'],'cash_master','edit'); $delete_access= check_access_control($this->data['userdata'],'cash_master','delete'); $institute_data=check_institute($this->data['userdata']); $inst_id=$institute_data['institute_id']; $param['inst_id']=$inst_id; $param['column_order'] = array( null, 'balance_financial_year' ); $param['column_search'] = array('balance_financial_year'); $param['order'] = array('balance_id' => 'DESC'); $posts=$this->input->post(); $list = $this->sm->_get_cash_balance($posts,$param,FALSE,FALSE); $data = array(); $no = isset($posts['start'])?$posts['start']:0; $action=''; foreach ($list as $bank){ $no++; $row = array(); $row[] = $no; $row[] = $bank->balance_financial_year; $row[] = number_format($bank->balance_opening_amount,2); $row[] = number_format($bank->balance_adjusted_amount,2); $row[] = date('d-m-Y',strtotime($bank->balance_created_at)); /* print_obj($bank); die();*/ if($bank->balance_status=='active'){ if($edit_access=='yes' && $delete_access=='yes') { $action=' <a class="btn btn-xs btn-info" href="'.$this->data['base_url'].'/cashes/'.encode_data($bank->balance_id).'" ><i class="fa fa-edit"></i></a> <button class="btn btn-xs btn-danger btn-del-cash " data-cash_id="'.encode_data($bank->balance_id).'"><i class="fa fa-trash"></i></button>'; } else if($edit_access=='yes'){ $action='<a class="btn btn-xs btn-info" href="'.$this->data['base_url'].'/cashes/'.encode_data($bank->balance_id).'" ><i class="fa fa-edit"></i></a> '; } else if($delete_access=='yes'){ $action='<button class="btn btn-xs btn-danger btn-del-cash " data-cash_id="'.encode_data($bank->balance_id).'"><i class="fa fa-trash"></i></button>'; } else { $action='Not permitted'; } }else{ $action=''; } $row[] = $action; $data[] = $row; } $output = array( "draw" => isset($posts['draw'])?$posts['draw']:'', "recordsTotal" => $this->sm->_get_cash_balance($posts,$param,TRUE), "recordsFiltered" => $this->sm->_get_cash_balance($posts,$param,TRUE), "data" => $data, ); echo json_encode($output); }else{ redirect($this->data['base_url']); } }else{ redirect($this->data['base_url']); } } public function onAddEditCashBalance(){ if(session_userdata('isAdminLoggedin')==TRUE && session_userdata('admin_id')){ if($this->input->is_ajax_request() && $this->input->server('REQUEST_METHOD')=='POST'){ $cash_id=decode_data(post_data('cash_id')); $balance_amount=post_data('cash_opening_balance'); $financial_year=post_data('cash_balance_fiscal_year'); $institute_data=check_institute($this->data['userdata']); $inst_id=$institute_data['institute_id']; $inst_type=$institute_data['inst_type']; $creator_id=$this->data['userdata']->user_id; $bank_id=decode_data($bank_id); if(empty($cash_id)){ $get_balance_data=$this->sm->get_cash_balance(array('balance_inst_id'=>$inst_id,'balance_status'=>'active')); /* print_obj($get_balance_data); die();*/ $data_to_insert=array( 'balance_inst_id'=>$inst_id, 'balance_opening_amount'=>$balance_amount, 'balance_financial_year'=>$financial_year, 'balance_status'=>'active', 'balance_created_by'=>$creator_id ); $balance_id=$this->sm->store_cash_balance_data($data_to_insert); //print($balance_id); //die(); /* print($cash_id); die();*/ if($balance_id){ if(!empty($get_balance_data)){ $this->sm->update_cash_balance_data(array('balance_status'=>'inactive','balance_updated_at'=>date('Y-m-d H:i:s'),'balance_updated_by'=>$creator_id),array('balance_id!='=>$balance_id)); } $return['success']='Balance added successfully'; }else{ $return['error']='Balance not added.'; } } else{ $updated_cash=$this->sm->update_cash_balance_data(array('balance_opening_amount'=>$balance_amount,'balance_financial_year'=>$financial_year,'balance_updated_by'=>$creator_id),array('balance_id'=>$cash_id)); if($updated_cash){ $return['success']='Balance updated successfully'; } else{ $return['error']='Balance not updated.'; } } json_headers($return); }else{ redirect($this->data['base_url']); } }else{ redirect($this->data['base_url']); } } //Cash Details }