<?php
	define('thisscript','adminbalancereport');

	require_once 'globalad.php';	
	require_once '../class/BSM_Other.php';	
	require_once '../class/class.Mandiri.php';		
	
	$mandiri = new Mandiri();
	$bsm = new BSM_Other();
	
	if (empty($userid)){
		redirecting("index.php");
	}
	
	if (empty($useraccess['manage_balance_report'])){
		redirecting('index.php');
	}
	
	/* sanitize post, get, request */
	$_POST['replayedit'] = ((empty($_POST['replayedit']))?"":$_POST['replayedit']);
	$_POST['do'] = ((empty($_POST['do']))?"":$_POST['do']);
	$_GET['getlist'] = ((empty($_GET['getlist']))?"":$_GET['getlist']);
	$_GET['keyword'] = ((empty($_GET['keyword']))?array():$_GET['keyword']);
	$_GET['field'] = ((empty($_GET['field']))?array():$_GET['field']);
	$_POST['cek'] = ((empty($_POST['cek']))?array():$_POST['cek']);
	$_POST['does'] = ((empty($_POST['does']))?"":$_POST['does']);
	$_GET['error'] = ((empty($_GET['error']))?"":$_GET['error']);		
	$_GET['actions'] = ((empty($_GET['actions']))?"":$_GET['actions']);
	$_POST['show_table'] = ((empty($_POST['show_table']))?"":$_POST['show_table']); 
	$_GET['msg'] = ((empty($_GET['msg']))?array():$_GET['msg']);
	/* end sanitize */
	
	if (empty($general['showperpageadmin'])){
		$general['showperpageadmin'] = 20;
	}
	
	$installyear = (int)date('Y', strtotime($general['installdate']));
	
	$pagelink = '';
	$listr = '';
	$listaction = '';
	$show_table_list = false;
	$saldo_awal = 0;
	$saldo_akhir = 0;
	$total_deposit = 0;
	$total_in = 0;
	$total_out = 0;
	
	if ($_GET['getlist'] == 'pagenav'){
		$keywords = $_GET['keyword'];
		$fields = $_GET['field'];
		$alls = $user_obj->searchUser($keywords,$fields,'','','pagenav',$_GET['p']);
		echo $alls;
		exit;
	}
	else if ($_GET['getlist'] == 'ajax'){
		$keywords = $_GET['keyword'];
		$fields = $_GET['field'];
		$alls = $user_obj->searchUser($keywords,$fields,'','','data');
		$totalrows = sizeof($alls);
		$totalpgs = ceil($totalrows / $general['showperpageadmin']);
		$pgs = handlepage($_GET['p'],$totalpgs);
		$dblast = $user_obj->searchUser($keywords,$fields,$_GET['sortf'],$_GET['sortd'],'data',$pgs);
		$listtr = '';

		if (sizeof($dblast) > 0){
			foreach ($dblast as $result){
				$statusdep = '';
				switch ($result['status']){
					case '1' : $statusdep = 'Active'; break;
					case '2' : $statusdep = 'Inactive'; break;
				}
				
 				$listr .= '
						<tr ondblclick="window.open(\'adminuserlistdetail.php?id='.$result['userid'].'\',\'_self\')">
							<td height="25" align="left"><a href="adminuserlistdetail.php?id='.$result['userid'].'" target="_blank">'.$result['email'].'</a></td>
							<td height="25" align="left">'.$result['firstname'].' '.$result['lastname'].'</td>
							<td height="25" align="left">'.$result['companyphone'].'</td>
							<td height="25" align="right">'.number_format($result['deposit'], 0, ",", ".").'</td>
							<td height="25" align="center">'.$statusdep.'</td>											
						</tr>
					';
			}
 		}
		else{
			$listr = '<tr><td colspan="7" align="center">NO DATA</td></tr>';
		}
			
		echo $listr;
		exit;
	}
	else if($_GET['actions'] == 'checkSaldo'){
		//$reff = 'SALDO'.date('dmYHis');
		$mandiri->CHECK_SALDO(''); 
		
		$response = $mandiri->run();
		
		/* $mandiri->CHECK_SALDO('');
		echo var_dump($mandiri->ap_param).'<br><br><br>';
		$response = $mandiri->run();
		echo var_dump($response).'<br><br><br>';exit; */
		
		print_r($response);exit;
	}
	
	if($_POST['do'] == 'filter_report')
	{
		$show_table_list = true;
		
		if(!empty($_POST['month']) && !empty($_POST['year']))
		{
			$month = $_POST['month'];
			$year = $_POST['year'];
			$month_index = $month - 1;
			
			$saldo_db = $db->fetch_one("SELECT (SUM(nominal_in) - SUM(nominal_out)) as saldo_awal FROM transaction_summary WHERE (MONTH(STR_TO_DATE(month_year, '%Y%m')) < MONTH(STR_TO_DATE('".$db->clean($year.$month)."', '%Y%m')) AND YEAR(STR_TO_DATE(month_year, '%Y%m')) = YEAR(STR_TO_DATE('".$db->clean($year.$month)."', '%Y%m'))) || (YEAR(STR_TO_DATE(month_year, '%Y%m')) < YEAR(STR_TO_DATE('".$db->clean($year.$month)."', '%Y%m')))");
			
			$saldo_awal = empty($saldo_db['saldo_awal'])?0:$saldo_db['saldo_awal'];
			$saldo_awal_txt = number_format($saldo_awal, 0, ",", ".");
			$saldo_akhir = $saldo_awal;
			
			/* Other Transaction */
			$trx_db = $saldo_db = $db->fetch_all("SELECT * FROM other_transaction WHERE MONTH(created_date) = MONTH(STR_TO_DATE('".$db->clean($year.$month)."', '%Y%m')) AND YEAR(created_date) = YEAR(STR_TO_DATE('".$db->clean($year.$month)."', '%Y%m')) ORDER BY created_date ASC");
			
			$trx_list = '';
			if(sizeof($trx_db) > 0){
				foreach($trx_db as $row){
					if($row['type'] == 1){
						$saldo_akhir += $row['amount'];
						$total_in += $row['amount'];
					}
					else if($row['type'] == 2){
						$saldo_akhir -= $row['amount'];
						$total_out += $row['amount'];
					}
					
					$trx_list .= '<tr>
									<td>Transaksi Lain - lain</td>
									<td align="right">'.($row['type'] == 1?number_format($row['amount'], 0, ",", "."):'-').'</td>
									<td align="right">'.($row['type'] == 2?number_format($row['amount'], 0, ",", "."):'-').'</td>
									<td align="right">'.number_format($saldo_akhir, 0, ",", ".").'</td>
								</tr>';
				}
			}
			
			/* Deposit */
			$deposit_db = $db->fetch_one("SELECT SUM(amount) as total_deposit FROM deposit WHERE MONTH(approved_date) = MONTH(STR_TO_DATE('".$db->clean($year.$month)."', '%Y%m')) AND YEAR(approved_date) = YEAR(STR_TO_DATE('".$db->clean($year.$month)."', '%Y%m'))");
			
			$total_deposit = empty($deposit_db['total_deposit'])?0:$deposit_db['total_deposit'];
			$saldo_akhir += $total_deposit;
			$total_in += $total_deposit;
			
			$report_list = '<tr>
								<td><b>Total Deposit</b></td>
								<td align="right"><b>'.number_format($total_deposit, 0, ",", ".").'</b></td>
								<td align="right"><b>-</b></td>
								<td align="right"><b>'.number_format($saldo_akhir, 0, ",", ".").'</b></td>
							</tr>';
			
			$mandiri_trx_db = $db->fetch_one("
				SELECT 
					SUM(c.total + o.total + p.total + r.total) as total_amount,
					SUM(c.fee + o.fee + p.fee + r.fee) as total_fee				
				FROM
					(SELECT SUM(amount) as total, SUM(fee) as fee FROM bsm_clearing WHERE MONTH(created_date) = MONTH(STR_TO_DATE('".$db->clean($year.$month)."', '%Y%m')) AND YEAR(created_date) = YEAR(STR_TO_DATE('".$db->clean($year.$month)."', '%Y%m'))) c,
					(SELECT SUM(amount) as total, SUM(fee) as fee FROM bsm_online WHERE MONTH(created_date) = MONTH(STR_TO_DATE('".$db->clean($year.$month)."', '%Y%m')) AND YEAR(created_date) = YEAR(STR_TO_DATE('".$db->clean($year.$month)."', '%Y%m'))) o,
					(SELECT SUM(amount) as total, SUM(fee) as fee FROM bsm_pos WHERE MONTH(created_date) = MONTH(STR_TO_DATE('".$db->clean($year.$month)."', '%Y%m')) AND YEAR(created_date) = YEAR(STR_TO_DATE('".$db->clean($year.$month)."', '%Y%m'))) p,
					(SELECT SUM(amount) as total, SUM(fee) as fee FROM bsm_rtgs WHERE MONTH(created_date) = MONTH(STR_TO_DATE('".$db->clean($year.$month)."', '%Y%m')) AND YEAR(created_date) = YEAR(STR_TO_DATE('".$db->clean($year.$month)."', '%Y%m'))) r
			");
			
			$total_amount = empty($mandiri_trx_db['total_amount'])?0:$mandiri_trx_db['total_amount'];
			$saldo_akhir -= $total_amount;
			$total_out += $total_amount;
			
			$report_list .= '<tr>
								<td><b>Total Transaksi Member/Admin</b></td>
								<td align="right"><b>-</b></td>
								<td align="right"><b>'.number_format($total_amount, 0, ",", ".").'</b></td>
								<td align="right"><b>'.number_format($saldo_akhir, 0, ",", ".").'</b></td>
							</tr>';
							
			$total_fee = empty($mandiri_trx_db['total_fee'])?0:$mandiri_trx_db['total_fee'];
			$saldo_akhir -= $total_fee;
			$total_out += $total_fee;
			
			$report_list .= '<tr>
								<td><b>Total Fee</b></td>
								<td align="right"><b>-</b></td>
								<td align="right"><b>'.number_format($total_fee, 0, ",", ".").'</b></td>
								<td align="right"><b>'.number_format($saldo_akhir, 0, ",", ".").'</b></td>
							</tr>';
							
			$total_in = number_format($total_in, 0, ",", ".");
			$total_out = number_format($total_out, 0, ",", ".");
		}
		else{
			redirecting("adminbalancereport.php?msg=error");
		}
		
	}
	
	$monthlist = '<option value="">Bulan</option>';
	if(sizeof($arrmonthnameassoc) > 0){
		$i = 1;
		foreach($arrmonthnameassoc as $key => $value){
			$monthlist .= '<option value="'.$i.'">'.$value.'</option>';
			
			$i++;
		}
	}
	$yearlist = '<option value="">Tahun</option>';
	
	$curryear = (int)date('Y');
	while($curryear >= $installyear){
		$yearlist .= '<option value="'.$installyear.'">'.$installyear.'</option>';
		
		$installyear++;
	}
	
	require_once 'incl/global_template.php';
		
	$theme = gettemplate('adminbalancereport');
	eval("\$theme = \"$theme\";");
	echo $theme;
?>