<?

### DO THIS FIRST:
include_once("/var/www/html/master_config.php");
include_once("/$master_config_root_path/shared/functions.shared");
include_once("/$master_config_root_path/shared/session.shared");
if(!$template) { $template = template($master_config_database_company_template); }



/*
################################################################################
### API VARS: ##################################################################

$_SESSION['transaction']["recipient"]["accountid"]
$_SESSION['transaction']["requested_value"]
//$_SESSION['account']["accountid"] = $_SESSION['account']["accountid"]; // should already be set on login
//$_SESSION['transaction']["action"] = "process.outgoing"; // should already be set to "process.outgoing"
//$authorization["timestamp"] = $authorization["timestamp"];  // should already be set - needs to match authorization statement

################################################################################
################################################################################
*/


/* NEW:

		$_SESSION['transaction']["requested_value"] = $payme["amount"];
		$_SESSION['transaction']["net_value"] = $payme["amount"];
		$_SESSION['transaction']["account"]["method"] = $payme["method"];
		$_SESSION['transaction']["account"]["name"] = $payme["name_on_card"];
		$_SESSION['transaction']["account"]["number"] = $payme["credit_card"]["number"];
		$_SESSION['transaction']["account"]["expiration_month"] = "";
		$_SESSION['transaction']["account"]["expiration_year"] = "";
		$_SESSION['transaction']["account"]["streetaddress1"] = "";
		$_SESSION['transaction']["account"]["streetaddress2"] = "";
		$_SESSION['transaction']["account"]["city"] = "";
		$_SESSION['transaction']["account"]["state"] = "";
		$_SESSION['transaction']["account"]["country"] = "";
		$_SESSION['transaction']["account"]["postalcode"] = "";
		$_SESSION['transaction']["account"]["phone"] = "";
		$_SESSION['transaction']["account"]["cvv2"] = "";
		### new
		$_SESSION['transaction']["source"] = "PayMe";
		$_SESSION['transaction']["memberid"] = $_SESSION['member']["memberid"];
		$_SESSION['transaction']["accountid"] = $_SESSION['account']["accountid"];
		$_SESSION['transaction']["account_details"] = "NULL";
		$_SESSION['transaction']["description"] = "Deposit";
		$_SESSION['transaction']["method"] = $payme["method"];
		$_SESSION['transaction']["method_details"] = "NULL";
		$_SESSION['transaction']["transaction_gross_value"] = $payme["transaction_total_charge"];
		$_SESSION['transaction']["fee_sponsor_percentage"] = $_SESSION['transaction']["fee_sponsor_percentage"];
		$_SESSION['transaction']["fee_sponsor_value"] = $_SESSION['transaction']["fee_sponsor_value"];
		$_SESSION['transaction']["fee_bonus_percentage"] = $_SESSION['transaction']["fee_bonus_percentage"];
		$_SESSION['transaction']["fee_bonus_value"] = $_SESSION['transaction']["fee_bonus_value"];
		$_SESSION['transaction']["fee_sender_percentage"] = $payme["account"]["transaction_fee_their"];
		$_SESSION['transaction']["fee_sender_value"] = $payme["account"]["transaction_fee_their"];
		$_SESSION['transaction']["fee_recipient_percentage"] = $payme["account"]["transaction_fee_my"];
		$_SESSION['transaction']["fee_recipient_value"] = number_format($payme["account"]["transaction_fee_my"] * $payme["amount"],2,".","");
		$_SESSION['transaction']["fee_network_value"] = "NULL";
		$_SESSION['transaction']["fee_total_percentage"] = $payme["account"]["transaction_fee_total"];
		$_SESSION['transaction']["fee_total_value"] = number_format($payme["account"]["transaction_fee_total"] * $payme["amount"],2,".","");
		$_SESSION['transaction']["status"] = $_SESSION['transaction']["status"];
		$_SESSION['transaction']["results"] = "NULL";
		$_SESSION['transaction']["account_balance_before"] = simple_balance($_SESSION['account']["accountid"]);
		$_SESSION['transaction']["transaction_net_value"] = $payme["method"];
		$_SESSION['transaction']["account_bonus_value"] = "NULL";
		$_SESSION['transaction']["account_balance_after"] = number_format($_SESSION['transaction']["account_balance_before"] + $_SESSION['transaction']["transaction_net_value"],2,".","");
		$_SESSION['transaction']["ratio"] = currencyRATIO();
		$_SESSION['transaction']["ratio_updated"] = "NULL";	
		$_SESSION['transaction']["memo"] = "NULL";
		$_SESSION['transaction']["requested_datetime"] = $timestamp;
		$_SESSION['transaction']["updated_datetime"] = $timestamp;
		$_SESSION['transaction']["authorization"] = $_SESSION['transaction']["authorization"];
		$_SESSION['transaction']["adminid"] = "NULL";
		
*/


### TURN LOGGING ON:
$logging = "on";

if($logging) logf("/tmp/process_transfer.txt","





<<<<<<<<START NEW SESSION>>>>>>

");


if($logging) logf("/tmp/process_transfer.txt","START: transaction[action] = " . $_SESSION['transaction']["action"]);

	
### ONLY DO THIS ONCE:
if($_SESSION['transaction'][action] == "process.outgoing") {
	
	
	##############################################################################
  ### GATEWAY-SPEFIC PATCH:
  
	if(!$_SESSION['transaction']["recipient"]["accountid"]) {
		$_SESSION['transaction']["recipient"]["accountid"] = $_SESSION['gateway']["business"]["accountid"]; // from index.gate
	}
	
	
	
	
	
	##############################################################################
  ### SET SOME COMMON RECIPIENT VARS:
  
  $tmp_recipient_account = account($_SESSION['transaction']["recipient"]["accountid"]);
  $_SESSION['transaction']["recipient"]["accountname"] = $tmp_recipient_account["accountname"];
  $_SESSION['transaction']["recipient"]["emailaddress"] = $tmp_recipient_account["emailaddress"];
  $_SESSION['transaction']["recipient"]["transaction_fee_my"] = $tmp_recipient_account["transaction_fee_my"];
  $_SESSION['transaction']["recipient"]["transaction_fee_total"] = $tmp_recipient_account["transaction_fee_total"];
  
 
  if($logging) logf("/tmp/process_transfer.txt","transaction[recipient][accountid]: " . $_SESSION['transaction']["recipient"]["accountid"]);
  if($logging) logf("/tmp/process_transfer.txt","transaction[recipient][accountname]: " . $_SESSION['transaction']["recipient"]["accountname"]);
  if($logging) logf("/tmp/process_transfer.txt","transaction[recipient][emailaddress]: " . $_SESSION['transaction']["recipient"]["emailaddress"]);



  ##############################################################################
  ### SET SOME VARS THAT WILL BE COMMON TO ALL TRANSACTION RESULTS:
  $_SESSION['transaction']["ratio"] = currencyRATIO();
  $_SESSION['transaction']["datetime_requested"] = date("Y-m-d H:i:s",$authorization["timestamp"]);
  $_SESSION['transaction']["datetime_updated"] = date("Y-m-d H:i:s",time());
  $_SESSION['transaction']['balance']['before'] = balance($_SESSION['account']["accountid"]);
  $_SESSION['transaction']["recipient"]["before"] = balance($_SESSION['transaction']["recipient"]["accountid"]);
  
  
  if($logging) logf("/tmp/process_transfer.txt","transaction[ratio]: " . $_SESSION['transaction']["ratio"]);
  if($logging) logf("/tmp/process_transfer.txt","transaction[datetime_requested]: " . $_SESSION['transaction']["datetime_requested"]);
  if($logging) logf("/tmp/process_transfer.txt","transaction[datetime_updated]: " . $_SESSION['transaction']["datetime_updated"]);
  if($logging) logf("/tmp/process_transfer.txt","transaction[balance][before]: " . $_SESSION['transaction']['balance']['before']);
  if($logging) logf("/tmp/process_transfer.txt","transaction[recipient][before]: " . $_SESSION['transaction']["recipient"]["before"]);
  if($logging) logf("/tmp/process_transfer.txt","account[accountid]: " . $_SESSION['account']["accountid"]);

  
  
  
	# initiated by
	$initiated_by = "INITIATED BY ACCOUNTID][" . $_SESSION['account']["accountid"] . "][ACCOUNTNAME][" . $_SESSION['account']["accountname"] . "][EMAILADDRESS][" . $_SESSION['account']["emailaddress"] . "][";
	if($logging) logf("/tmp/process_transfer.txt","transaction[results]: " . $_SESSION['transaction']["results"]);
  
  # account details:
  $account_details = "ACCOUNTID][" . $_SESSION['account']["accountid"] . "][ACCOUNTNAME][" . $_SESSION['account']["accountname"] . "][EMAILADDRESS][" . $_SESSION['account']["emailaddress"] . "][";
	if($logging) logf("/tmp/process_transfer.txt","account_details: " . $account_details);
	
	# method details:
  $method_details = "ACCOUNTID][" . $_SESSION['transaction']["recipient"]["accountid"] . "][ACCOUNTNAME][" . $_SESSION['transaction']["recipient"]["accountname"] . "][EMAILADDRESS][" . $_SESSION['transaction']["recipient"]["emailaddress"] . "][";
  if($logging) logf("/tmp/process_transfer.txt","method_details: " . $method_details);  
  

	##############################################################################
 	### SET BONUS/FEES:
 	if($logging) logf("/tmp/process_transfer.txt","transfer_action... " . $transfer_action); 
 	if($transfer_action != "system_process") {
 	
 		if($logging) logf("/tmp/process_transfer.txt","### SET THE FEES ###");  
 	
 		//$_SESSION['transaction']["fees"] = new_fees("gateway",$_SESSION['member'][memberid],"transfer",$_SESSION['transaction']["requested_value"]);
 	
 		$_SESSION['transaction']["fees"]["total_percentage"] = $tmp_recipient_account["transaction_fee_total"];
 		$_SESSION['transaction']["fees"]["total_value"] = $_SESSION['transaction']["requested_value"] * $tmp_recipient_account["transaction_fee_total"];
 		$_SESSION['transaction']["fees"]["bonus_percentage"] = $_SESSION['template']["company"]["transaction_bonus"];  // 0.005
 		$_SESSION['transaction']["fees"]["bonus_value"] = $_SESSION['transaction']["requested_value"] * $_SESSION['transaction']["fees"]["bonus_percentage"];
 		
		### set sponsor fee
		# get sponsor
		$tmp_sql = "SELECT sponsor_accountid FROM members WHERE memberid = '" . $tmp_recipient_account["creator_memberid"] . "';";
		$tmp_sponsor_accountid = getTHECASHIER($tmp_sql);		
		
		if($logging) logf("/tmp/process_transfer.txt","tmp_sql: " . $tmp_sql);
		if($logging) logf("/tmp/process_transfer.txt","tmp_sponsor_accountid: " . $tmp_sponsor_accountid);
		
		if($tmp_sponsor_accountid) {
			# get sponsor fee
			$tmp_sql = "SELECT sponsor_fee FROM accounts WHERE accountid = '" . $tmp_sponsor_accountid . "';";
			$tmp_sponsor_fee = getTHECASHIER($tmp_sql);		
			
			if($logging) logf("/tmp/process_transfer.txt","tmp_sql: " . $tmp_sql);
			if($logging) logf("/tmp/process_transfer.txt","tmp_sponsor_fee: " . $tmp_sponsor_fee);
			
			if(!$tmp_sponsor_fee) {
				# set default sponor fee
				$_SESSION['transaction']["fees"]["sponsor_percentage"] = $_SESSION['template']["company"]["sponsor_fee"]; // 0.005
				$_SESSION['transaction']["fees"]["sponsor_value"] = number_format($_SESSION['transaction']["requested_value"] * $_SESSION['transaction']["fees"]["sponsor_percentage"],2,".","");
				
				
			} else {
				if($logging) logf("/tmp/process_transfer.txt","...setting fees from account.");
				$_SESSION['transaction']["fees"]["sponsor_percentage"]  = $tmp_sponsor_fee;
				$_SESSION['transaction']["fees"]["sponsor_value"] = number_format($_SESSION['transaction']["requested_value"] * $_SESSION['transaction']["fees"]["sponsor_percentage"],2,".","");
			}
		
		} else {
			#no sponsor
			$_SESSION['transaction']["fees"]["sponsor_percentage"] = "0.000";
			$_SESSION['transaction']["fees"]["sponsor_value"] = "0.00";
		}
		
		
		# new
		$_SESSION['transaction']["fees"]["recipient_percentage"] = $_SESSION['transaction']["recipient"]["transaction_fee_my"];
		$_SESSION['transaction']["fees"]["sender_percentage"] = $_SESSION['transaction']["recipient"]["transaction_fee_total"] - $_SESSION['transaction']["recipient"]["transaction_fee_my"];
		
		if($logging) logf("/tmp/process_transfer.txt","transaction[fees][sender_percentage]: " . $_SESSION['transaction']["fees"]["sender_percentage"]);
		if($logging) logf("/tmp/process_transfer.txt","transaction[fees][recipient_percentage]: " . $_SESSION['transaction']["fees"]["recipient_percentage"]);
		
		$_SESSION['transaction']["fees"]["sender_value"] = $_SESSION['transaction']["requested_value"] * $_SESSION['transaction']["fees"]["sender_percentage"];
		$_SESSION['transaction']["fees"]["recipient_value"] = $_SESSION['transaction']["requested_value"] * $_SESSION['transaction']["fees"]["recipient_percentage"];
		
		$_SESSION['transaction']["fees"]["network_value"] = $_SESSION['transaction']["fees"]["total_value"] - ($_SESSION['transaction']["fees"]["sponsor_value"] + $_SESSION['transaction']["fees"]["bonus_value"]);
		
		
		
 	
 	}	else {
		# system transactions
		$_SESSION['transaction']["fees"]["total_percentage"] = "000.000";
		$_SESSION['transaction']["fees"]["total_value"] = "000.000";
		$_SESSION['transaction']["fees"]["bonus_percentage"] = "000.000";
		$_SESSION['transaction']["fees"]["bonus_value"] = "000.000";
		$_SESSION['transaction']["fees"]["sponsor_percentage"] = "000.000";
		$_SESSION['transaction']["fees"]["sponsor_value"] = "000.000";	
		$_SESSION['transaction']["fees"]["sender_percentage"] = "000.000";
		$_SESSION['transaction']["fees"]["sender_value"] = "000.000";
		$_SESSION['transaction']["fees"]["recipient_percentage"] = "000.000";
		$_SESSION['transaction']["fees"]["recipient_value"] = "000.000";
		$_SESSION['transaction']["fees"]["network_value"] = "000.000";
	}
 	
 	if($logging) logf("/tmp/process_transfer.txt","transaction[requested_value]: " . $_SESSION['transaction']["requested_value"]);  
	if($logging) logf("/tmp/process_transfer.txt","transaction[fees][total_value]: " . $_SESSION['transaction']["fees"]["total_value"]);
	if($logging) logf("/tmp/process_transfer.txt","transaction[fees][bonus_value]: " . $_SESSION['transaction']["fees"]["bonus_value"]);
	if($logging) logf("/tmp/process_transfer.txt","transaction[fees][bonus_percentage]: " . $_SESSION['transaction']["fees"]["bonus_percentage"]);
	if($logging) logf("/tmp/process_transfer.txt","transaction[fees][sponsor_value]: " . $_SESSION['transaction']["fees"]["sponsor_value"]);
	if($logging) logf("/tmp/process_transfer.txt","transaction[fees][network_value]: " . $_SESSION['transaction']["fees"]["network_value"]);
	if($logging) logf("/tmp/process_transfer.txt","transaction[fees]: " . $_SESSION['transaction']["fees"]);


    
  ##############################################################################
  ### SET <<<SENDER>>> AMOUNT_VALUES:
  #
  # USE VARS:
  $_SESSION['transaction']["requested_value"] = $_SESSION['transaction']["requested_value"];
  $_SESSION['transaction']["gross_value"] = $_SESSION['transaction']["requested_value"];
  $_SESSION['transaction']["net_value"] = $_SESSION['transaction']["requested_value"];
  
  $_SESSION['transaction']["account_bonus_value"] = number_format($_SESSION['transaction']["fees"]["bonus_value"],2,".","");
  $_SESSION['transaction']["fee_sponsor_value"] = number_format($_SESSION['transaction']["fees"]["sponsor_value"],2,".","");
  $_SESSION['transaction']["fee_bonus_value"] = number_format($_SESSION['transaction']["fees"]["bonus_value"],2,".","");
  $_SESSION['transaction']["fee_network_value"] = number_format($_SESSION['transaction']["fees"]["network_value"],2,".","");
  $_SESSION['transaction']["fee_total_value"] = number_format($_SESSION['transaction']["fees"]["total_value"],2,".","");
  
  
  # new
  $_SESSION['transaction']["fee_total_percentage"] = $_SESSION['transaction']["fees"]["total_percentage"];
  
  $_SESSION['transaction']["fee_sender_percentage"] = $_SESSION['transaction']["fees"]["sender_percentage"];
  $_SESSION['transaction']["fee_sender_value"] = number_format($_SESSION['transaction']["fees"]["sender_value"],2,".","");
  
  $_SESSION['transaction']["fee_recipient_percentage"] = $_SESSION['transaction']["fees"]["recipient_percentage"];
  $_SESSION['transaction']["fee_recipient_value"] = number_format($_SESSION['transaction']["fees"]["recipient_value"],2,".","");
  
  $_SESSION['transaction']["fee_bonus_percentage"] = $_SESSION['transaction']["fees"]["bonus_percentage"];
  //$_SESSION['transaction']["fee_bonus_value"] = $_SESSION['transaction']["account_bonus_value"];
  $recipient["fee"]["bonus_value"] = $_SESSION['transaction']["account_bonus_value"]; // legacy
  
  $_SESSION['transaction']["fee_sponsor_percentage"] = $_SESSION['transaction']["fees"]["sponsor_percentage"];
  $_SESSION['transaction']["fee_sponsor_value"] = $_SESSION['transaction']["fees"]["sponsor_value"];
  
  
  
  
  
  
  if($logging) logf("/tmp/process_transfer.txt","transaction[account_bonus_value]: " . $_SESSION['transaction']["account_bonus_value"]);



	##############################################################################
  ### CHECK FOR SUFFICIENT BALANCE ONE LAST TIME:
	
	if($transfer_action != "system_process") { // this is a system process that does not require a balance check
	
  	if($_SESSION['transaction']['balance']['before']['balance']['account'] < $_SESSION['transaction']["requested_value"]) {
  
  		if($logging) logf("/tmp/process_transfer.txt","transaction[balance][before][balance][account]: " . $_SESSION['transaction']['balance']['before']['balance']['account']);
  		if($logging) logf("/tmp/process_transfer.txt","transaction[requested_value: " . $_SESSION['transaction']["requested_value"]);
  		if($logging) logf("/tmp/process_transfer.txt","balance[balance][account]: " . $balance['balance']['account']);
  		if($logging) logf("/tmp/process_transfer.txt","account[accountid]: " . $_SESSION['account']['accountid']);
  	
  	
    	$_SESSION['transaction']["status"] = "Rejected";
			$SYSMSG = "<u>ALERT!</u> You do not have sufficient funds in your account to complete this transfer.";
		
			if($logging) logf("/tmp/process_transfer.txt","SYSMSG1: " . $SYSMSG);
		}
	}
		
	
		
	##############################################################################
  ### CHECK "BANNED" STATUS OF RECIPIENT ONE LAST TIME:
  
  if($transfer_action != "system_process") { // this is a system process that does not require a banned check (the system should never ban itself)
  
  	if(readTHECASHIER("SELECT * FROM banned WHERE identity LIKE '%ACCOUNTID:" . $_SESSION['transaction']["recipient"]["accountid"] . "]%' AND status != ''")) {
    	$_SESSION['transaction']["status"] = "Rejected";
			$SYSMSG = "<u>ALERT!</u> The account to which you wish to transfer money is temporarily unavailable. Please contact the recipient directly for more infomation...";
		
			if($logging) logf("/tmp/process_transfer.txt","SYSMSG: " . $SYSMSG);
		}
	}
	
	
	##############################################################################
	### TRANSCATION APPROVED
	if(
			
			($_SESSION['transaction']["status"] != "Rejected") ||
			(!$_SESSION['transaction']["status"]) || /* this is retarded... needs to be reworked */
			($_SESSION['transaction']["action"] == "process.outgoing") ||
			($_SESSION['gateway']["quickbuy"] == "true")
		
	) {
		
		if($logging) logf("/tmp/process_transfer.txt","Incoming.........");
		
		
 
 
		##############################################################################
  	### UPDATE <<<SENDER>>> ACCOUNT BALANCE:
  	
  	if($transfer_action != "system_process") { // this is a system process that does not have a "sender"
  	
  		$_SESSION['transaction']['balance']["after"]['balance']["account"] = $_SESSION['transaction']['balance']['before']['balance']['account'] - ($_SESSION['transaction']["net_value"] + $_SESSION['transaction']["account_bonus_value"]);
  	
  		if($logging) logf("/tmp/process_transfer.txt","transaction[account_bonus_value]: " . $_SESSION['transaction']["account_bonus_value"]);
  		if($logging) logf("/tmp/process_transfer.txt","transaction[balance][after][balance][account]: " . $_SESSION['transaction']['balance']["after"]['balance']["account"]);
     
    	$tmp_sql = "UPDATE balances SET account_balance = '" . $_SESSION['transaction']['balance']["after"]['balance']["account"] . "', updated = '" . $_SESSION['transaction']["datetime_updated"] . "' WHERE accountid = '" . $_SESSION['account']["accountid"] . "'";
  		updateTHECASHIER($tmp_sql);
  		if($logging) logf("/tmp/process_transfer.txt","update sender balance sql: " . $tmp_sql);
  	
  	}

  	

	  #################################################################################################################
		### UPDATE RECIPIENT BALANCE BALNACES: ##########################################################################
		#################################################################################################################
		
		### NOTE:
			# $_SESSION['transaction'][recipient] = recipient account details (from transfer.b!)
			
		$recipient = NULL;
		$recipient = array();
		
		$recipient["account"] = account($_SESSION['transaction']["recipient"]["accountid"]);
		
		if($logging) logf("/tmp/process_transfer.txt","recipient[account]: " . $recipient["account"]);
		

		### SET RECIPIENT VARS:
		$recipient["before"] = balance($_SESSION['transaction']["recipient"]["accountid"]);
		
		if($logging) logf("/tmp/process_transfer.txt","recipient[before]: " . $recipient["before"]);
		
		$recipient["fee"]["total_percentage"] = $_SESSION['transaction']["fee_total_percentage"];
    $recipient["fee"]["sponsor_value"] = $_SESSION['transaction']["fee_sponsor_value"];
    $recipient["fee"]["network_value"] = $_SESSION['transaction']["fee_network_value"];
    $recipient["fee"]["total_value"] = $_SESSION['transaction']["fee_total_value"];
    $recipient["bonus_value"] = $_SESSION['transaction']["fee_bonus_value"];
    $recipient["transaction"]["net_value"] = $_SESSION['transaction']["gross_value"] - $recipient["fee"]["total_value"];
    
    if($logging) logf("/tmp/process_transfer.txt","recipient: " . $recipient);

    
    	
		## SET NEW BALANCE
		$recipient["after"]['balance']["account"] = $recipient["before"]['balance']["account"] + $recipient["transaction"]["net_value"];
		$_SESSION['transaction']["recipient_balance_before"] = number_format($recipient["after"]['balance']["account"],2,".","");
		
		if($logging) logf("/tmp/process_transfer.txt","recipient[after][balance][account]: " . $recipient["after"]['balance']["account"]);

		### TEST:
		#test("",);
		#test("admin",$admin);
		#test("fee_network_value",$fee_network_value);
		#test("recipient_account",$reciptient_account);
		#test("recipient_balance",$reciptient_balance);
			


    ### UPDATE RECIPIENT BALANCE: ################################################
    $tmp_sql = "UPDATE balances SET account_balance = '" . $recipient["after"]['balance']["account"] . "', updated = '" . $_SESSION['transaction']["datetime_updated"] . "' WHERE  accountid = '" . $recipient["account"]["accountid"] . "'";
    updateTHECASHIER($tmp_sql);
    if($logging) logf("/tmp/process_transfer.txt","update recipient balance sql: " . $tmp_sql);



    ### SET SENDER INFO:
    $method_details = "ACCOUNTID][" . $_SESSION['account']["accountid"] . "][ACCOUNTNAME][" . $_SESSION['account']["accountname"] . "][EMAILADDRESS][" . $_SESSION['account']["emailaddress"] . "][";
    
    if($logging) logf("/tmp/process_transfer.txt","method_details: " . $method_details);
    
    
    
    ### SET RECIPIENT INFO
    $account_details = "ACCOUNTID][" . $_SESSION['transaction']["recipient"]["accountid"] . "][ACCOUNTNAME][" . $_SESSION['transaction']["recipient"]["accountname"] . "][EMAILADDRESS][" . $_SESSION['transaction']["recipient"]["emailaddress"] . "][";
    	
		if($logging) logf("/tmp/process_transfer.txt","account_details: " . $account_details);
    	

    ### RECORD ABOVE <<<RECIPIENT>>> TRANSACTION: (SEND ONLY IF APPROVED)
    $tmp_query = "INSERT into transactions 
    	(`transactionid`,
  	  `source`,
  	  `memberid`,
  	  `accountid`,
    	`account_details`,
    	`description`,
    	`method`,
    	`method_details`,
    	`transaction_gross_value`,
    	`fee_sponsor_percentage`,
    	`fee_sponsor_value`,
    	`fee_bonus_percentage`,
    	`fee_bonus_value`,
    	`fee_sender_percentage`,
    	`fee_sender_value`,
    	`fee_recipient_percentage`,
    	`fee_recipient_value`,
    	`fee_network_value`,
    	`fee_total_percentage`,
    	`fee_total_value`,
    	`status`,
    	`results`,
    	`account_balance_before`,
    	`transaction_net_value`,
    	`account_bonus_value`,
    	`account_balance_after`,
    	`ratio`,
    	`memo`,
    	`requested_datetime`,
    	`updated_datetime`) 
    
    VALUES 
  
    	('$blank_id',
    	'WWW',
    	'NULL',
    	'" . $_SESSION['transaction']["recipient"]["accountid"] . "',
    	'$account_details',
    	'Incoming',
    	'" . $_SESSION['template']["company"]["name"] . "',
    	'$method_details',
    	'" . $_SESSION['transaction']["gross_value"] . "',
    	'" . $_SESSION['transaction']["fee_sponsor_percentage"] . "',
    	'" . $_SESSION['transaction']["fee_sponsor_value"] . "',
    	'" . $_SESSION['transaction']["fee_bonus_percentage"] . "',
    	'" . $_SESSION['transaction']["fee_bonus_value"] . "',
    	'" . $_SESSION['transaction']["fee_sender_percentage"] . "',
    	'" . $_SESSION['transaction']["fee_sender_value"] . "',
    	'" . $_SESSION['transaction']["fee_recipient_percentage"] . "',
    	'" . $_SESSION['transaction']["fee_recipient_value"] . "',
    	'" . $recipient["fee"]["network_value"] . "',
    	'" . $recipient["fee"]["total_percentage"] . "',
    	'" . $recipient["fee"]["total_value"] . "',
    	'Completed',
    	'" . $initiated_by . "',
    	'" . $recipient["before"]['balance']["account"] . "',
    	'" . $recipient["transaction"]["net_value"] . "',
    	'NULL',
    	'" . $recipient["after"]['balance']["account"] . "',
    	'" . $_SESSION['transaction']["ratio"] . "',
    	'NULL',
    	'" . $_SESSION['transaction']["datetime_requested"] . "',
    	'" . $_SESSION['transaction']["datetime_updated"] . "')";
    
    if($logging) logf("/tmp/process_transfer.txt","tmp_query: " . $tmp_query);
    $_SESSION['transaction']["recipient"]["transactionid"] = insertTHECASHIER($tmp_query);
  
  
  
/*
    ### SEND EMAIL RECEIPT TO <<<RECIPIENT>>>:
    #$email_transaction = "incoming gateway";
    #include($_SESSION['template'][company][file_path] . "shared/email_admin_receipts.shared");
    
    #test("recipient_balance_before[account][balance]",$recipient_balance_before[account][balance]);
		#test("recipient_balance_after",$recipient_balance_after);
    
		### SEND "RECIPIENT" AN EMAIL: ##########################################
		#
		#
		$sender_member = member($admin[details][transaction][memberid]);
		$sender_account = account($admin[details][transaction][accountid]);
		$tmp_recipient_account = explode("][",$admin[details][transaction][method_details]);
		$recipient[account] = account($tmp_recipient_account[1]);
		$recipient_member = ""; # as an incoming transfer, this would not need to accociate with a specific member - just the account.
		
		#
		#
		$email_to = $admin[details][member][emailaddress];
		$email_cc = "";
		$email_admin = "";
		$email_dear = $recipient[account][accountname];
		#
		$email_transaction_by = $admin[details][member][firstname] . " " . $admin[details][member][lastname];
		$email_transaction_method_type = "";
		$email_transaction_method_number = "";
		$email_transaction_source_email = $sender_account[emailaddress];
		$email_transaction_source_name = $sender_account[accountname];
		$email_transaction_destination_email = $recipient[account][emailaddress];
		$email_transaction_destination_name = $recipient[account][accountname];
			
		$email_transaction_gross = $admin[details][transaction][transaction_gross_value];
		$email_transaction_fee = $fee_total_value;
		$email_transaction_net = $transaction_net_value;
			
		$email_transaction_status = $update;
		#
		$email_balance_before = $recipient_balance_before[account][balance];
		$email_balance_after = $recipient_balance_after;
		$email_ratio = $admin[details][transaction][ratio];
		#
		$email_original_transaction_timestamp_requested = timezone($admin[details][transaction][memberid],strtotime("{$admin[details][transaction][requested_datetime]}"),"goodlooking"); 
		$email_transaction_timestamp_updated = timezone($admin[details][transaction][memberid],time(),"goodlooking"); 
		#
		$email_transaction_administered_by = $_SESSION['account'][accountname];
		#
		$email_form = "completed incoming transfer";
		include($_SESSION['template'][company][file_path] . "shared/email_forms.shared");
    
	
    #
    #
    ################################################################################



    ################################################################################
    #
    #
    # SEND REPONSE TO VENDOR:
    
    $BANGK_transfer_message = "<u>{$_SESSION['template']["company"]["name"]} Message</u>:  Your " . currency1($_SESSION['transaction'][transfer][requested_value],$blank) . "&nbsp;(" . currency2($_SESSION['transaction'][transfer][requested_value],$_SESSION['transaction'][transfer][ratio]) . ") Gold transfer to {$_SESSION['gateway'][business][accountname]} was successful!";
    
    $send_data = "";
    $send_data = "BANGK_transfer_status=" . urlencode("Completed") . "&";
    
    $send_data = $send_data . "BANGK_transfer_message=" . urlencode($BANGK_transfer_message) . "&";
    
    $send_data = $send_data . "BANGK_transfer_note=" . urlencode($_SESSION['gateway'][business][note]) . "&";
    
    $send_data = $send_data . "BANGK_transfer_datetime=" . urlencode(date("Y-m-d H:i:s",time())) . "&";
    
   	$send_data = $send_data . "BANGK_tranfer_source=" . urlencode($_SESSION['account'][emailaddress]) . "&";
    
    $send_data = $send_data . "BANGK_transfer_destination=" . urlencode($_SESSION['gateway'][business][emailaddress]) . "&";
    
    $send_data = $send_data . "BANGK_transfer_gross_AUG=" . urlencode(number_format($_SESSION['transaction'][transfer][gross_value] * $_SESSION['transaction'][transfer][ratio],1,".","")) . "&";

    $send_data = $send_data . "BANGK_transfer_fee_AUG=" . urlencode(number_format($_SESSION['transaction'][transfer][fee_total_value] * $_SESSION['transaction'][transfer][ratio],1,".","")) . "&";

    $send_data = $send_data . "BANGK_transfer_net_AUG=" . urlencode(number_format($_SESSION['transaction'][transfer][net_value] * $_SESSION['transaction'][transfer][ratio],1,".","")) . "&";

    $send_data = $send_data . "BANGK_transfer_spot=" . urlencode($_SESSION['transaction'][transfer][ratio]) . "&";
    
    $send_data = $send_data . "BANGK_transfer_gross_US=" . urlencode(number_format($_SESSION['transaction'][transfer][gross_value],2,".","")) . "&";

    $send_data = $send_data . "BANGK_transfer_fee_US=" . urlencode(number_format($_SESSION['transaction'][transfer][fee_total_value],2,".","")) . "&";

    $send_data = $send_data . "BANGK_transfer_net_US=" . urlencode(number_format($_SESSION['transaction'][transfer][net_value],2,".","")) . "&";
    
    ### SEND IT:
    #test("gateway[business][response_url]",$_SESSION['gateway'][business][response_url]);
    #test("send_data",$send_data);
    
    postDATA($_SESSION['gateway'][business][response_url],$send_data);

    # test("send_data: ",$_SESSION['gateway'][business][response_url])

    #
    #
    ################################################################################
*/
  	
  	
  	
			
		// NOTE:  $_SESSION['transaction']["status"] is set to Completed in process_creditcard_deposit.shared.  
		// so to approved conflict, we will utilize the $_SESSION['gateway']["quickbuy"] var.
		
		### SET APPROVED VARS:
		if($_SESSION['gateway']["quickbuy"] == "true") {
			$_SESSION['gateway']["quickbuy"] == "Completed";
  	} else {
  		$_SESSION['transaction']["status"] = "Completed";
  	}
  	
  	
  	if($logging) logf("/tmp/process_transfer.txt","transaction[status]: " . $_SESSION['transaction']["status"]);
    if($logging) logf("/tmp/process_transfer.txt","gateway[quickbuy]: " . $_SESSION['gateway']["quickbuy"]);
  	
  	
  } // END IF TRANSACTION IS APPROVED
  
  
  ### ALWAYS DO THIS:

  ##############################################################################
  ### RECORD ABOVE <<<SENDER>>> TRANSACTION:
  $tmp_sql = "INSERT into transactions 
  	(`transactionid`,
  	`source`,
 	 	`memberid`,
 	 	`accountid`,
  	`account_details`,
  	`description`,
  	`method`,
  	`method_details`,
  	`transaction_gross_value`,
  	`fee_sponsor_percentage`,
  	`fee_sponsor_value`,
  	`fee_bonus_percentage`,
  	`fee_bonus_value`,
    `fee_sender_percentage`,
    `fee_sender_value`,
    `fee_recipient_percentage`,
    `fee_recipient_value`,
  	`fee_network_value`,
  	`fee_total_percentage`,
  	`fee_total_value`,
  	`status`,
  	`results`,
  	`account_balance_before`,
  	`transaction_net_value`,
  	`account_bonus_value`,
  	`account_balance_after`,
  	`ratio`,
  	`memo`,
  	`requested_datetime`,
  	`updated_datetime`,
  	`authorization`) 
 
  VALUES 

  	('$blank_id',
  	'WWW',
  	'" . $_SESSION['member']["memberid"] . "',
  	'" . $_SESSION['account']["accountid"] . "',
  	'$account_details',
  	'Outgoing',
  	'" . $_SESSION['template']["company"]["name"] . "',
  	'$method_details',
    '" . $_SESSION['transaction']["gross_value"] . "',
    '" . $_SESSION['transaction']["fee_sponsor_percentage"] . "',
    '" . $_SESSION['transaction']["fee_sponsor_value"] . "',
    '" . $_SESSION['transaction']["fee_bonus_percentage"] . "',
    '" . $_SESSION['transaction']["fee_bonus_value"] . "',
    '" . $_SESSION['transaction']["fee_sender_percentage"] . "',
    '" . $_SESSION['transaction']["fee_sender_value"] . "',
    '" . $_SESSION['transaction']["fee_recipient_percentage"] . "',
    '" . $_SESSION['transaction']["fee_recipient_value"] . "',
    '" . $recipient["fee"]["network_value"] . "',
    '" . $recipient["fee"]["total_percentage"] . "',
    '" . $recipient["fee"]["total_value"] . "',
  	'" . $_SESSION['transaction']["status"] . "',
  	'" . $initiated_by . "',
  	'" . $_SESSION['transaction']['balance']['before']['balance']['account'] . "',
  	'" . $_SESSION['transaction']["net_value"] . "',
  	'" . $_SESSION['transaction']["account_bonus_value"] . "',
  	'" . $_SESSION['transaction']['balance']["after"]['balance']["account"] . "',
  	'" . $_SESSION['transaction']["ratio"] . "',
  	'NULL',
  	'" . $_SESSION['transaction']["datetime_requested"] . "',
  	'" . $_SESSION['transaction']["datetime_updated"] . "',
  	'" . $authorization["voice_file"] . "');";
  
  if($transfer_action != "process_daily_fees") { // this is a system process that does not record a sender transaction - only an incoming/recipient transaction
  	$_SESSION['transaction']["transactionid"] = insertTHECASHIER($tmp_sql);
  	if($logging) logf("/tmp/process_transfer.txt","tmp_sql: " . $tmp_sql);
  	if($logging) logf("/tmp/process_transfer.txt","transaction[transactionid]1: " . $_SESSION['transaction']["transactionid"]);
  }
  
  
  
  
 /*  NO LONGER NECESSARY PER TRANSCATION -- NOW A DAILY CRON 
  
  #############################################################################  
	### CALCULATE/UPDATE NEW ADMIN BALANCES:
	$administrative_balance = balance($_SESSION['template']["company"]["accountid"]);
	//$new_administrative_balance = ($_SESSION['transaction']["fee_network_value"] * $_SESSION['transaction']["ratio"]) + $administrative_balance[account][balance];
	
	
	if($logging) logf("/tmp/process_transfer.txt","template[company][accountid]: " . $_SESSION['template']["company"]["accountid"]);
	if($logging) logf("/tmp/process_transfer.txt","transaction[fee_network_value]: " . $_SESSION['transaction']["fee_network_value"]);
	if($logging) logf("/tmp/process_transfer.txt","administrative_balance[balance][account]: " . $administrative_balance['balance']["account"]);
	
	
	$new_administrative_balance = $_SESSION['transaction']["fee_network_value"] + $administrative_balance['balance']["account"];
      
  $tmp_sql = "UPDATE balances SET account_balance = '$new_administrative_balance', updated = '" . $_SESSION['transaction']["datetime_updated"] . "' WHERE accountid = '" . $_SESSION['template']["company"]["accountid"] . "';";
	updateTHECASHIER($tmp_sql);
	if($logging) logf("/tmp/process_transfer.txt","update admin balance sql: " . $tmp_sql);

*/			

}

### done:
$_SESSION['transaction'][action] = "process.complete";


?>