HEX
Server: Apache/2.2.15 (CentOS)
System: Linux ip-10-0-2-146.eu-west-1.compute.internal 2.6.32-754.35.1.el6.centos.plus.x86_64 #1 SMP Sat Nov 7 11:33:42 UTC 2020 x86_64
User: root (0)
PHP: 5.6.40
Disabled: NONE
Upload Files
File: /www/exchange2/exchange/classes/Model/MTransactions.php
<?php
include_once('admin/classes/Model/statement_actions.php');
class Model_MTransactions extends Statement_actions
{
	var $output = array();
	
	public function getStatements(){

		$user_id 			= $_SESSION['user']['userid'];
		$temp_reg_id		= Model_MTransactions::getRegisterId($user_id);
		
		$where 				= '';
		if($temp_reg_id !=0){
			$where 			= " || t.temp_reg_id = '".$temp_reg_id."' ";
		}
		
		$query				= new Bin_Query();
		$sql 				= "SELECT t.*, td.*,DATE_FORMAT(t.transaction_date,'%d/%m/%Y') as order_date ".
							" FROM `transactions` as t ".
							" LEFT JOIN `transaction_detail` as td ON td.transaction_id = t.transaction_id ".
							" WHERE (t.user_id = '".$user_id."' $where ) ";
		$query->executeQuery($sql);
		$contents 			= $query->records;
		return $contents;

	}//End
	
	//Start
	public function getCreditReports(){

		$user_id 			= $_SESSION['user']['userid'];
		
		$query				= new Bin_Query();
		$sql 				= "SELECT t.*, c.*,td.*,DATE_FORMAT(t.transaction_date,'%d/%m/%Y') as order_date ".
							" FROM `transactions` as t ".
							" LEFT JOIN `transaction_detail` as td ON td.transaction_id = t.transaction_id ".
							" LEFT JOIN `shopping_cart` as c ON c.cart_session = td.cart_session_id && c.user_id = t.user_id ".
							" WHERE (t.user_id = '".$user_id."' $where ) ";
		$query->executeQuery($sql);
		$contents 			= $query->records;
		return $contents;

	}//End
	
	//Start
	public function getDownloadCreditReports($id){

		$report 			= $id;
		$cart 				= $_REQUEST['cart'];
		$type 				= $_REQUEST['p'];
		$temp_reg_id		= Model_MTransactions::getRegisterId($user_id);
		
		
		$query				= new Bin_Query();
		$sql 				= "SELECT r.* ".
							" FROM `transactions` as t ".
							" LEFT JOIN `transaction_detail` as td ON td.transaction_id = t.transaction_id ".
							" LEFT JOIN `shopping_cart` as c ON c.cart_session = td.cart_session_id && c.user_id = t.user_id ".
							" && shopping_cart_id = '".$cart."' ".
							" LEFT JOIN `risk_credit_document` as r ON r.risk_credit_id  = c.risk_credit_document_id  ".
							" WHERE t.transaction_id = '".$report."' ORDER BY r.risk_credit_document_id DESC LIMIT 1";
		$query->executeQuery($sql);
		$contents 			= $query->records;
		return $contents;

	}//End
	
	
	
	//Start
	public function getRegisterId($userid){

		$query				= new Bin_Query();
		$sql 				= "SELECT temp_reg_id FROM `temp_registration` WHERE user_id = '".$userid."' limit 1 ";
		$query->executeQuery($sql);
		$register_user		= $query->records;
		
		if(count($register_user) > 0){
			
			return $register_user[0]['temp_reg_id'];
		}else{
			return '0';
		}
	}//End
	
	//Start
	public function getOrganisation($userid){

		$query				= new Bin_Query();
		$sql 				= "SELECT organisation_id FROM `organistion_details` WHERE user_id = '".$userid."' limit 1 ";
		$query->executeQuery($sql);
		$register_user		= $query->records;
		
		return $register_user;
	}//End

	function showRetailInvestors($flg='1')
	{
		$sort = self::prepareSorting(array(
            1=>'retailer_name',
            '',
            'tr.quote_rate',
            'status',
            6=>'date'
        ),'date DESC');

		$where .=  " WHERE r.created_by='".$_SESSION['user']['userid']."' AND r.temp_reg_id='NULL' ";

		$where1 .= " WHERE t.user_type='6' AND i.intermediary_id='".$_SESSION['user']['userid']."' ";
		
        $noofrec         = (isset($_GET['show']) && ctype_digit($_GET['show']))?trim($_GET['show']):CONFIG_ENTRIES_PER_PAGE;
        $start=(isset($_GET['page']))?(trim($_GET['page']-1) * $noofrec):0;
        
			$query = new Bin_Query();
			$sql 		= "(SELECT SQL_CALC_FOUND_ROWS DATE_FORMAT(t.doj,'%Y-%m-%d') as date,CONCAT(t.first_name,t.last_name) as retailer_name,".
			" t.status as status,t.temp_reg_id as uid,t.user_id as user_id,'2' as flag, ".
			" tr.quote_rate FROM ".
			" `temp_registration` as t LEFT JOIN temp_retailer tr ON tr.temp_reg_id=t.temp_reg_id ".
			" LEFT JOIN investor_relation i ON i.investor_id=tr.temp_reg_id ".
			" LEFT JOIN address_details a ON a.address_id = t.organization_address_id ".
			" LEFT JOIN country_mas c ON  c.country_id = a.address_country $where1 ) ".
			" $sort 
            LIMIT ".$start.",".$noofrec;

		$query->executeQuery($sql);
		$recordSet     = $query->records;
	    
        $query->executeQuery('SELECT FOUND_ROWS() as totalRecord');
        $totalRecord=$query->records[0]['totalRecord'];
        		
		if($flg == 2)
        {
			return $totalRecord;
		}

		return Display_DTransactions::showRetailInvestors(ceil($totalRecord/$noofrec),$recordSet);
	}

	function getOriginatorRateDetails($debtor_type='', $user_id = null)
    {
            if(!$user_id)
            {
                $user_id = $_SESSION['user']['userid'];
            }

            $security = new Bin_Security();
            $security->escapeGet();
			$qry 			= new Bin_Query();
			$sql 			= "SELECT org.agreed_rate,org.organisation_reference_id,org.purchase_price".
							"  FROM organisation_details org,".
							" temp_registration t WHERE ".
							" org.user_id='".$user_id."' ".
							" AND org.user_id = t.user_id  LIMIT 1 ";
			$qry->executeQuery($sql);
			$rate 				= $qry->records[0]['agreed_rate'];
			$originator_id 		= $qry->records[0]['organisation_reference_id'];
			$purchase_payment 	= $qry->records[0]['purchase_price'];
			$debtors_avg_payment=0;
			if(!empty($_REQUEST['id'])){
				
				$query12 	= new Bin_Query();
				$sql12 		= "SELECT dd.* 
                              FROM debtors_detail dd,organisation_details org, debtor_relation dr 
                              WHERE org.user_id='".$user_id."'  AND dr.organisation_id=dr.organisation_id AND dd.debtor_id=dr.debtor_id AND dd.debtor_id = '".$_REQUEST['id']."' 
                              LIMIT 1 ";
				$query12->executeQuery($sql12);
				$debtors 	= $query12->records;
				
				for($i=0; $i<count($debtors); $i++)
                {
					$debtors_avg_payment += $debtors[$i]['average_payment_cycle'];
				}
	
				$avg_payment_cycle = number_format($debtors_avg_payment / count($debtors));
				
			}else{
				$query12 	= new Bin_Query();
				$sql12 		= "SELECT dd.* FROM debtors_detail dd,organisation_details org,".
								" debtor_relation dr WHERE org.user_id='".$user_id."' ".
								" AND dr.organisation_id=dr.organisation_id AND dd.debtor_id=dr.debtor_id ";
				$query12->executeQuery($sql12);
				$debtors 	= $query12->records;
				
				for($i=0; $i<count($debtors); $i++){
	
					$debtors_avg_payment += $debtors[$i]['average_payment_cycle'];
				}
	
				$avg_payment_cycle = number_format($debtors_avg_payment / count($debtors));
			}
			

			$qry 	= new Bin_Query();
			$sql 	= "SELECT t.doj as start_date,DATE_ADD(t.doj, INTERVAL 364 DAY) as received_date, ".
					" DATE(NOW()) as today FROM temp_registration t WHERE t.user_id='".$user_id."' ".
					" LIMIT 1  ";
			$qry->executeQuery($sql);
			$records= $qry->records[0];

            $dates = array('0'=>$records['start_date'],'1'=>$records['received_date'],'2'=>$records['today'], '3'=>self::getMinStatementDate($_SESSION['user']['userid'],'user_id',$debtor_type));


		    return array('1'=>$rate,'3'=>$dates,'4'=>$avg_payment_cycle,'5'=>$originator_id,'6'=>$purchase_payment);
	}

	function getDebtorDetails($debtor_id = null)
    {
        if (!$debtor_id)
        {
            $debtor_id = $_REQUEST['id'];
        }

        $query 		= new Bin_Query();
		$query->executeQuery("SELECT d.debtor_id,IF(d.trade_name != '', d.trade_name, d.debtor_name) as debtor_name,d.debtor_reference_id,d.trade_name, d.payment_discount, currencies.currency_code, d.type, d.currency_id, d.purchase_price
                              FROM debtors_detail d
                              LEFT JOIN currencies ON currencies.currency_id = d.currency_id
                              WHERE d.debtor_id='".$debtor_id."'
                              LIMIT 1 ");
		return $query->records[0];
	}

	function getManualTransDetails(){

		$debtor_id = $_REQUEST['id'];
		
		$qry 		= new Bin_Query();

		$sql 		= "SELECT m.*, c.*,trans.*,DATE(trans.created_at) as created FROM invoice_master m, ".
				" invoice_closed c,manual_transactions trans WHERE m.debtor_id='".$debtor_id."' && ".
				" m.user_id='".$_SESSION['user']['userid']."' && m.root_invoice_id > 0 && ".
				" m.invoice_status = 3 && c.invoice_id = m.invoice_id && trans.manual_transaction_id=m.manual_transaction_id  GROUP BY trans.manual_transaction_id ORDER BY trans.created_at DESC";

		$qry->executeQuery($sql);
		$recordSet = $qry->records;
		$recordSize = count($recordSet);

		if($recordSize==0)
			return 1;

		return Display_DTransactions::getManualTransDetails($recordSet,$recordSize);

	}

	function getPaymentOnAccDetails(){

		$qry 	= new Bin_Query();
		$sql 	= "SELECT m.* , DATE(m.created_at) as issuedate,org.organisation_reference_id,org.organisation_name,CONCAT(t.first_name,t.last_name) as uname FROM `manual_transactions` m,`organisation_details` org,`temp_registration` t WHERE m.originator_id='".$_REQUEST['uid']."' && m.transaction_type = ".ORIGINATOR_PAYMENT_ON_ACCOUNT." && m.status='1' && m.originator_id=org.user_id && org.user_id=t.user_id ";
		$qry->executeQuery($sql);
		$records = $qry->records;
		$recordSize = count($records);

		return Display_DTransactions::getPaymentOnAccDetails($records,$recordSize);
	}


	function getOrgCreditNotes(){

		$qry 	= new Bin_Query();
		$sql 	= "SELECT m.* , DATE(m.created_at) as issuedate,org.organisation_reference_id,org.organisation_name,CONCAT(t.first_name,t.last_name) as uname FROM `manual_transactions` m,`organisation_details` org,`temp_registration` t WHERE m.originator_id='".$_REQUEST['uid']."' && m.transaction_type = ".CREDIT_NOTE." && m.status='1' && m.originator_id=org.user_id && org.user_id=t.user_id ";
		$qry->executeQuery($sql);
		$records = $qry->records;
		$recordSize = count($records);

		return Display_DTransactions::getOrgCreditNotes($records,$recordSize);
	}

	function chkInstalmentUser(){

		$qry 		= new Bin_Query();
		$sql 		= "SELECT instalment_etr FROM organisation_details WHERE user_id='".$_SESSION['user']['userid']."' LIMIT 1 ";
		$qry->executeQuery($sql);
		$instalment_etr = $qry->records[0]['instalment_etr'];
        
		if($instalment_etr!='1' && ($_REQUEST['do']=='instrastatements'))
		{
			header('Location: index.php?do=originatorhome');
			exit();
		}
        elseif($instalment_etr=='1' && ($_REQUEST['do']=='mytrastatements'))
        {
			header('Location: index.php?do=originatorhome');
			exit();
		}
        else
        {
			return true;
		}
	}
    
    function getOriginatorDetails($user_id = null)
    {
        if(!$user_id)
        {
            $user_id = $_SESSION['user']['userid'];
        }
        $query = new Bin_Query();
        $query->executeQuery('SELECT organisation_name,address_line_one, address_line_two, address_area, address_city, address_state,address_zipcode, country_name
                              FROM organisation_details
                              LEFT JOIN address_details ON address_details.address_id = organisation_details.mail_address_id
                              LEFT JOIN country_mas ON country_mas.country_id = address_details.address_country
                              WHERE user_id='.$user_id);
        return $query->records[0];
    }
    
    function getDEBXAccountForPayment($debtor_id = null)
    {
        if(!$debtor_id)
        {
            $debtor_id = $_REQUEST['id'];
        }

        $query = new Bin_Query();
        $query->executeQuery('SELECT address_line_one, address_line_two, address_area, address_city, address_state, address_zipcode, country_name, bank_account_no, sort_code, iban_code, swift_code, currency_code
                              FROM debtors_detail
                              LEFT JOIN  bank_account ON bank_account.currency_id = debtors_detail.currency_id
                              LEFT JOIN address_details ON address_details.address_id = bank_account.address_id
                              LEFT JOIN country_mas ON country_mas.country_id = address_details.address_country
                              LEFT JOIN currencies ON currencies.currency_id = debtors_detail.currency_id
                              WHERE debtor_id="'.$debtor_id.'" AND account_type=2 AND status_type=4');
        
        return (count($query->records)>0)?$query->records[0]:NULL;
    }
}   
?>