<?php
	define('thisscript','admindepositdetail');

	require_once 'globalad.php';
	require_once '../class/Deposit.php';
	
	$deposit = new Deposit();
	
	
	if (empty($userid)){
		redirecting("index.php");
	}
	
	if (empty($useraccess['manage_deposit'])){
		redirecting('index.php');
	}
	
	$supportedfile = array(IMAGETYPE_JPEG=>'jpg', IMAGETYPE_PNG=>'png', IMAGETYPE_GIF=>'gif');
	
	/* sanitize post, get, request */
	$_REQUEST['id'] = ((empty($_REQUEST['id']))?"":$_REQUEST['id']);
	$_POST['do'] = ((empty($_POST['do']))?"":$_POST['do']);
	$_GET['act'] = ((empty($_GET['act']))?"":$_GET['act']);
	$_GET['add'] = ((empty($_GET['add']))?"":$_GET['add']);
	/* end sanitize */
		
	$curstatus = array();
	$curstatus['amount'] = '';
	$curstatus['date'] = '';
	$curstatus['files'] = '';
	$curstatus['status'] = '';
	$curstatus['type'] = '';
	$curstatus['bitcoin_account'] = '';
	$deposit_type_txt = '';
	
	$depositid = trim($_REQUEST['deposit_id']);
	
	if (empty($depositid)){
		redirecting("admindeposit.php");
	}	
	
	if (!empty($depositid)){
		$deposit->setId($depositid);
		$curstatus = $deposit->getDepositDetail();
		
		/* $usr_db = $db->fetch_one("SELECT u.*, b.bankname FROM user u INNER JOIN bank b ON b.bank_id = u.bank_id WHERE u.userid = ".$db->clean($curstatus['userid']));
		$user_acc = '';
		if(!empty($usr_db['userid'])){
			$user_acc = $usr_db['bankname'].(!empty($usr_db['bitcoin_acc'])?' - '.$usr_db['bitcoin_acc']:'');
		} */
		
		$amount = empty($curstatus['amount'])?0:number_format($curstatus['amount'], 2, $decimalseparator, $thousandseparator);
		$date = empty($curstatus['date'])?'-':date('d-m-Y', strtotime($curstatus['date']));
		
		$deposit_type_txt = $deposit_type[$curstatus['type']];
		
		$curstatus['modified_date'] = ($curstatus['modified_date'] == '0000-00-00 00:00:00')?'-':$curstatus['modified_date'];
		$modified_by = '-';
		if (!empty($curstatus['modified_by'])){
			$db_user = $db->fetch_one("SELECT email FROM user WHERE userid = '".$db->clean($curstatus['modified_by'])."'");
			$modified_by = empty($db_user['email'])?'':$db_user['email'];
		}
	}
	
	if (!empty($_POST)){
		$do = $_POST['do'];
		if ($do == "editDeposit"){
			if($curstatus['status'] == 2 || $curstatus['status'] == 3) 
			{
				redirecting('admindeposit.php?error=status');
			}
			
			$status = (empty($_POST['status']))?"":$_POST['status'];
			
			$db->beginTransaction();
			
			if($curstatus['status'] != 2 && $status == 2)
			{
				$sql = "";
				$level = 0;
				$level_ctr = 0;
				$trading = 0;
				$pam = 0;
						
				$member_db = $db->fetch_one("SELECT parentid, deposit_status, level, email, firstname, parent_tree FROM user WHERE userid = ".$db->clean($curstatus['userid']));
				if($member_db['deposit_status'] == 1){
					/* $user->setUplinePoint($curstatus['userid'], $curstatus['amount']); */
					
					if($curstatus['type'] == 'topup'){
						/* $dp = $curstatus['amount'] / 2; */
						$dp = $curstatus['amount'];
						$sql = " trading_account_pam_amount = trading_account_pam_amount + ".$db->clean($dp);
					}
					else if($curstatus['type'] == 'inject'){
						$dp = $curstatus['amount'];
						$sql = " trading_account_amount = trading_account_amount + ".$db->clean($dp);
					}
				}
				else{
					/* $sql = " deposit_status = 1, trading_account_amount = trading_account_amount + 200, trading_account_pam_amount = trading_account_pam_amount + 50, eshare = eshare + 50"; */
					
					$package = '';
					if($curstatus['amount'] == 50){
						$trading = 0;
						$pam = 50;
						$package = 'silver';
					}
					else if($curstatus['amount'] == 100){
						$trading = 0;
						$pam = 100;
						$package = 'gold';
					}
					
					$sql = " deposit_status = 1, activated_date = '".$db->clean($nwtm)."', package = '".$db->clean($package)."', trading_account_amount = trading_account_amount + ".$db->clean($trading).", trading_account_pam_amount = trading_account_pam_amount + ".$db->clean($pam);
					
					$db->query("UPDATE user set total_downline = total_downline + 1 WHERE userid = '".$db->clean($member_db['parentid'])."'");
					$user->setUplineTotalDownline($member_db['parentid']);
				}
				
				$db->query("UPDATE user set".$sql." WHERE userid = ".$db->clean($curstatus['userid']));
				$user->updateTotalDeposit($curstatus['userid'], $curstatus['amount']);
				
				if($curstatus['type'] == 'topup'){
					$dp = $curstatus['amount'];
					
					if (!empty($member_db['parent_tree'])){
						$user->setUplineTotalTopup($dp, $curstatus['userid']);
					}
					else{
						$db->query("UPDATE user SET pending_point = pending_point + ".$dp." WHERE userid = ".$db->clean($curstatus['userid']));
					}
				
					$deposit->saveDepositHistory($curstatus['transaction_number'], $dp, $curstatus['userid'], 'deposit-'.$curstatus['type'].'-pam', 'Topup - Trading Account');
					
					/* $deposit->saveDepositHistory($curstatus['transaction_number'], $dp, $curstatus['userid'], 'deposit-'.$curstatus['type'].'-eshare', 'Topup - E-Share'); */
					
					/* bonus topup referral */
					$bonus_amount = $bonussetting['bonus_topup'] / 100 * $curstatus['amount'];
					$db->query("UPDATE user SET bonus_sharing = bonus_sharing + ".$bonus_amount." WHERE userid = '".$db->clean($member_db['parentid'])."'");
					$deposit->saveDepositHistory($curstatus['transaction_number'], $bonus_amount, $member_db['parentid'], 'bonus-topup', 'Bonus Topup 1 - Member : '.$member_db['email'].' ('.$member_db['firstname'].')');
					
					/* bonus topup referral 4 times more */
					for ($z = 1; $z <= 4; $z++){
						$deposit->saveTempHistory($curstatus['transaction_number'], $bonus_amount, $member_db['parentid'], 'bonus-topup', 'Bonus Topup '.($z + 1).' - Member : '.$member_db['email'].' ('.$member_db['firstname'].')', $z);
					}
					
					/* bonus point EVTrade every day */
					$bonus_ev = 0.005 * $dp;
					for ($z = 1; $z <= 200; $z++){
						$deposit->saveTempHistoryDaily('', round($bonus_ev, 2), $curstatus['userid'], 'point-evtrade', 'Cash Back Rebate', $z);
					}
					
					/* set to global deposit */
					$amount_added = round(0.2 * $dp, 2);
					$current_global = floatval($transactionsetting['evtrade_global']) + $amount_added;
					$db->query("UPDATE settings SET `value` = '".$db->clean($current_global)."' WHERE sid = 41");
					
					/* sell all bidded */
					$remaining_evtrade = $current_global - $transactionsetting['evtrade_sold'];
					$bidded = $db->fetch_all("SELECT * FROM evtrade_history WHERE status = 'pending' ORDER BY id");
					$sold = 0;
					if (sizeof($bidded) > 0){
						foreach ($bidded as $bd){
							if ($bd['amount'] <= $remaining_evtrade){
								$sold += $bd['amount'];
								$deposit->saveDepositHistory('', $bd['amount'], $bd['user_id'], 'bonus-evtrade', 'Bonus Cash Back Rebate');
								$db->query("UPDATE user SET bonus_sharing = bonus_sharing + ".$bd['amount']." WHERE userid = '".$db->clean($bd['user_id'])."'");
								$db->query("UPDATE evtrade_history SET status = 'sold' WHERE id = '".$db->clean($bd['id'])."'");
								$remaining_evtrade -= $bd['amount'];
							}
							else{
								break;
							}
						}
						
						if ($sold > 0){
							$current_sold = floatval($transactionsetting['evtrade_sold']) + $sold;
							$current_bid = floatval($transactionsetting['evtrade_bid']) - $sold;
							$db->query("UPDATE settings SET `value` = '".$db->clean($current_sold)."' WHERE sid = 42");
							$db->query("UPDATE settings SET `value` = '".$db->clean($current_bid)."' WHERE sid = 43");
						}
					}
				}
				else if($curstatus['type'] == 'inject'){
					$dp = $curstatus['amount'];
					
					$deposit->saveDepositHistory($curstatus['transaction_number'], $dp, $curstatus['userid'], 'deposit-'.$curstatus['type'].'-trading', 'Inject to Trading Account');
				}
				else{
					/* $deposit->saveDepositHistory($curstatus['transaction_number'], $trading, $curstatus['userid'], 'deposit-'.$curstatus['type'].'-trading', 'Deposit - Trading Account'); */
					$deposit->saveDepositHistory($curstatus['transaction_number'], $pam, $curstatus['userid'], 'deposit-'.$curstatus['type'].'-pam', 'Deposit - Trading Account');
					
					$db->query("UPDATE user SET pending_point = pending_point + ".$pam." WHERE userid = ".$db->clean($curstatus['userid']));
					
					/* bonus sponsor level */
					$share_to = $member_db['parentid'];
					for ($lvl = 1; $lvl <= 7; $lvl++){
						$bonus_amount = $bonussetting['bonus_sponsor_'.$lvl] / 100 * $curstatus['amount'];
						$db->query("UPDATE user SET bonus_sharing = bonus_sharing + ".$bonus_amount." WHERE userid = '".$db->clean($share_to)."'");
						$deposit->saveDepositHistory($curstatus['transaction_number'], $bonus_amount, $share_to, 'bonus-sponsor-'.$lvl, 'Bonus Sponsor Level '.$lvl.' - Member : '.$member_db['email'].' ('.$member_db['firstname'].')');
						
						$toup = $db->fetch_one("SELECT parentid FROM user WHERE userid = '".$db->clean($share_to)."'");
						$toup['parentid'] = empty($toup['parentid']) ? 0 : $toup['parentid'];
						if (empty($toup['parentid']) || $toup['parentid'] == -1){
							break;
						}
						$share_to = $toup['parentid'];
					}
					
					/* bonus point EVTrade every day */
					$bonus_ev = 0.005 * $pam;
					for ($z = 1; $z <= 200; $z++){
						$deposit->saveTempHistoryDaily('', round($bonus_ev, 2), $curstatus['userid'], 'point-evtrade', 'Cash Back Rebate', $z);
					}
					
					/* set to global deposit */
					$amount_added = round(0.2 * $pam, 2);
					$current_global = floatval($transactionsetting['evtrade_global']) + $amount_added;
					$db->query("UPDATE settings SET `value` = '".$db->clean($current_global)."' WHERE sid = 41");
					
					/* sell all bidded */
					$bidded = $db->fetch_all("SELECT * FROM evtrade_history WHERE status = 'pending' ORDER BY id");
					$sold = 0;
					if (sizeof($bidded) > 0){
						foreach ($bidded as $bd){
							if ($bd['amount'] <= $amount_added){
								$sold += $bd['amount'];
								$deposit->saveDepositHistory('', $bd['amount'], $bd['user_id'], 'bonus-evtrade', 'Bonus Cash Back Rebate');
								$db->query("UPDATE user SET bonus_sharing = bonus_sharing + ".$bd['amount']." WHERE userid = '".$db->clean($bd['user_id'])."'");
								$db->query("UPDATE evtrade_history SET status = 'sold' WHERE id = '".$db->clean($bd['id'])."'");
							}
							else{
								break;
							}
						}
						
						if ($sold > 0){
							$current_sold = floatval($transactionsetting['evtrade_sold']) + $sold;
							$current_bid = floatval($transactionsetting['evtrade_bid']) - $sold;
							$db->query("UPDATE settings SET `value` = '".$db->clean($current_sold)."' WHERE sid = 42");
							$db->query("UPDATE settings SET `value` = '".$db->clean($current_bid)."' WHERE sid = 43");
						}
					}
					
					/* $deposit->saveDepositHistory($curstatus['transaction_number'], 50, $curstatus['userid'], 'deposit-'.$curstatus['type'].'-eshare', 'Deposit - E-Share'); */
				}
				
				/* bonus PAM every month */
				$current_user_stat = $db->fetch_one("SELECT * FROM user WHERE userid = '".$db->clean($curstatus['userid'])."'");
				if (!empty($current_user_stat['userid'])){
					if ($current_user_stat['trading_account_pam_amount'] > 0){
						$bonus_roi = 0.1 * $current_user_stat['trading_account_pam_amount'];
						
						$db->query("DELETE FROM temp_history WHERE transaction_type = 'bonus-point-roi' AND userid = '".$db->clean($curstatus['userid'])."'");
						for ($z = 1; $z <= 24; $z++){
							$deposit->saveTempHistory('', round($bonus_roi, 2), $curstatus['userid'], 'bonus-point-roi', 'Sharing Profit', $z);
						}
					}
				}
				
				//$deposit->saveDepositSummary($curstatus['amount'], 0);
			}
			
			$deposit->updateDeposit($status);
			
			$db->endTransaction();
			
			redirecting('admindeposit.php');
		}
	}
	
	$now = date('d-m-Y');
	
	require_once 'incl/global_template.php';
	
	$theme = gettemplate('admindepositdetail');
	eval("\$theme = \"$theme\";");
	echo $theme;
?>