MOON
Server: Apache
System: Linux nserver.cafsindia.com 4.18.0-553.104.1.lve.el8.x86_64 #1 SMP Tue Feb 10 20:07:30 UTC 2026 x86_64
User: cafsindia (1002)
PHP: 8.2.30
Disabled: NONE
Upload Files
File: /home/cafsindia/allyindian_com/sbltt/application/controllers/Accounts.php
<?php if ( ! defined('BASEPATH')) exit('No direct script is allowed');
require_once("Secure_Controller.php");
class accounts  extends Secure_Controller{
 
	public function __construct(){
		parent::__construct('accounts');
		$this->load->model('Accounts_model');
	}
	public function index(){
		if(!$this->Appconfig->isAppvalid()){
			redirect('config');
		}
		$data['table_headers']=$this->xss_clean(get_accounts_headers());
		$this->load->view('accounts/manage',$data);
	}
	
	public function search(){
		$search=$this->input->get('search');
		$limit=$this->input->get('limit');
		$offset=$this->input->get('offset');
		$sort=$this->input->get('sort');
		$order=$this->input->get('order');
		
		$filters = array('start_date' => $this->input->get('start_date'),'end_date' => $this->input->get('end_date'),'Follow_Up' => FALSE,'Confirm' => FALSE,'Cancelled' => FALSE,'Completed' => FALSE,'On_progress' => FALSE);			
		$filledup = array_fill_keys($this->input->get('filters'), TRUE);
		$filters = array_merge($filters, $filledup);
		
		$accounts=$this->Accounts_model->search($search,$filters,$limit,$offset,$sort,$order);

		$TotalRows=$this->Accounts_model->get_found_rows($search,$filters);
		$DataRows=array();

		foreach ($accounts->result() as $person) 
		{	
			$DataRows[]=get_accounts_datarows($person,$this);
		}
		$DataRows=$this->xss_clean($DataRows);
		echo json_encode(array('total'=>$TotalRows,'rows'=>$DataRows));
	}

	public function view($accounts_id=-1){
		$info=$this->Accounts_model->get_info($accounts_id);
		foreach (get_object_vars($info) as $property => $value){
			$info->$property = $this->xss_clean($value);
		}
		$data['accounts'] = $info;
		$getaccounts  = $data['accounts'];
		$operation_id = $getaccounts->operation_id;
		$data['trip_summary'] = $this->Accounts_model->trip_summary($operation_id);
		$data['op_line_list'] = $this->Accounts_model->get_op_line_list($operation_id);
		$this->load->view("accounts/form",$data);
	}
	
	public function save($accounts_id = -1){
		$accounts_data = array(
			'inv_date'      => date("Y-m-d", strtotime($this->input->post('inv_date'))),
			'inv_number'    => $this->input->post('inv_number'),
			'accounts_sts'  => $this->input->post('accounts_sts'),
			'acc_remarks'   => $this->input->post('acc_remarks'),
		);
		$this->Accounts_model->update_accounts($accounts_data, $accounts_id);
		echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('accounts_successful_adding').' '. $accounts_data['accounts_name'], 'id' => $accounts_id));
	}

	public function get_row($accounts_ids){
		$accounts_infos = $this->Accounts_model->get_multiple_info($accounts_ids);
		$result = array();
		foreach($accounts_infos as $item_info){
			$result[$item_info->accounts_id] = $this->xss_clean(get_item_data_row($item_info, $this));
		}
		echo json_encode($result);
	}
	
	public function balance_log($booking_id){
		$info=$this->Accounts_model->get_balance_info($booking_id);
		foreach (get_object_vars($info) as $property => $value){
			$info->$property = $this->xss_clean($value);
		}
		$data['accounts']=$info; 
		
		$data['balance_info'] = $this->Accounts_model->balance_log_list($booking_id);
		$this->load->view("accounts/balance_form",$data);
	}
	public function save_balance_log($booking_id){
		$bal_log_id = $this->input->post('bal_log_id');
		$balance_data = array(
			'booking_id'    => $this->input->post('bal_booking_id'),
			'balance_date'  => date('Y-m-d',strtotime($this->input->post('balance_date'))),
			'amount'        => $this->input->post('amount'),
			'remarks'       => $this->input->post('remarks'),
			'created_by'    => $this->session->userdata('emp_id'),
			'created_date'  => date("Y-m-d H:i:s"),
		);
		$balance_amount = $this->Accounts_model->balance_amount($booking_id);
		$pay_amount     = $this->input->post('amount');
		if((int)$balance_amount >= (int)$pay_amount){
			if($this->Accounts_model->save_balance_log($balance_data,$bal_log_id)){
				$balance_info = $this->Accounts_model->balance_log_list($booking_id);
				echo json_encode(array('success' => TRUE, 'balance_info' =>$balance_info,'sts' =>"SUCCESS"));
			}
		}else{
			echo json_encode(array('success' => TRUE, 'sts' =>"FAIL"));
		}
	}
	public function get_balance_log(){
		$balance_log_id    = $this->input->post('balance_log_id');		
		$balance_info  = $this->Accounts_model->get_balance_log($balance_log_id);		
		echo json_encode(array('success' => TRUE, 'balance_info' => $balance_info));
	}
	public function print_acccounts($booking_id){
		$data = $this->_load_print_acccounts_data($booking_id);
		$this->load->view('accounts/print_acccounts',$data);
	}
	public function print_cash_bill($booking_id){
		$data = $this->_load_acccounts_data($booking_id);
		$this->load->view('accounts/print_cash_bill',$data);
	}
	public function group_inv(){
		$inv_date   = date('Y-m-d',strtotime($this->input->post('inv_date')));
		$inv_number = $this->input->post('inv_number');
		$ids        = $this->input->post('ids');
		$group_info  = $this->Accounts_model->group_inv($inv_date,$inv_number,$ids);
		echo json_encode(array('success' => TRUE, 'message' =>"Updated grouping / Ungrouping Successfull"));
	}
	private function _load_print_acccounts_data($booking_id){	
		$data['acccounts_info'] = $this->Accounts_model->get_load_data_print($booking_id);
		$getcust    = $data['acccounts_info'];	
		$tax        = $getcust[0]->tax_precentage;
		$data['hsn'] = $this->Accounts_model->get_hsn($tax);
		$booking_ids = $this->Accounts_model->get_booking_ids($booking_id);
		$data['catering_order'] = $this->Accounts_model->get_catering_order($booking_ids);
		$data['stay_info']      = $this->Accounts_model->get_stay_list($booking_ids);
		return $data;
	}
	private function _load_acccounts_data($booking_id){	
		$data['acccounts_info'] = $this->Accounts_model->get_load_data($booking_id);		
		$getcust    = $data['acccounts_info'];		
		$booking_id   = $getcust[0]->booking_id;
		$operation_id = $getcust[0]->operation_id;
		$group_id   = $getcust[0]->group_id;
		$tax        = $getcust[0]->tax_precentage;
		$data['hsn'] = $this->Accounts_model->get_hsn($tax);		
		$data['vehicle_list']   = $this->Accounts_model->vehicle_list($operation_id);
		$data['catering_order'] = $this->Accounts_model->get_catering_order($booking_id);
		$data['stay_info']      = $this->Accounts_model->get_stay_list($booking_id);
		$data['balance_log']    = $this->Accounts_model->get_bal_log_amount($booking_id);
		$data['extra_info']     = $this->Accounts_model->get_extra_amount($booking_id);	
		$data['suspence_list']  = $this->Accounts_model->get_suspence_list($operation_id);	
		return $data;
	}
	public function delete(){
		$accounts_to_delete = $this->xss_clean($this->input->post('ids'));
		if($this->Accounts_model->delete_list($accounts_to_delete)){
			echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('accounts_successful_deleted').' '. count($accounts_to_delete).' '.$this->lang->line('accounts_one_or_multiple')));
		}else{
			echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('accounts_cannot_be_deleted')));
		}
	}
}
?>