<?php
	date_default_timezone_set('Asia/Jakarta');
	
	require_once "incl/config.php";
	require_once "class/Database.php";
	require_once "incl/misc_function.php";
	$db = new Database();
	$db->connect();
	
	$arrdayname = array('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday');
	$arrmonthname = array('January','February','March','April','May','June','July','August','September','October','November','December');
	
	$thisurl = currentURL();

	$yearnow = date("Y");
	$syearnow = date("y");
	$monthnow = date("m");
	
	$username = '';
	$user_id = '';
	$firstname = '';
	$userdeposit = '';
	$linkwebsite = '';
	$linkverification = '';
	$linkemail = '';
	$upol = '';
	$upollog = '';
	$thisuseremail = '';
	$promo_startdate = '';
	$promo_enddate = '';
	$merchant = '';
	$isUserDeposit = false;
	
	$result = $db->query("SELECT * FROM settings");
	while ($stg = @mysql_fetch_array($result)){
		$pvl = str_replace('"','\"',$stg['value']);
		eval("\$".$stg['grouping']."['".$stg['varkey']."'] = \"$pvl\";");
	}
	
	/* setting number format */
	$thousandseparator = ',';
	$decimalseparator = '.';
	if ($general['numberformat'] == 'Indonesia'){
		$thousandseparator = '.';
		$decimalseparator = ',';
	}
	
	//check cookie
	$langid = $general['defaultlangid'];
	$nwtm = time();
	define('THETIMENOW',$nwtm);
	$db->query("DELETE FROM online WHERE lastvisit < ".($nwtm-$general['logintimelimit']));
	$cookieid = empty($_COOKIE['mycookie'])?'':$_COOKIE['mycookie'];
	$_POST['remember'] = empty($_POST['remember'])?'':$_POST['remember'];
	$_GET['langid'] = empty($_GET['langid'])?'':$_GET['langid'];
	
	if (!empty($cookieid)){
		$db->query("UPDATE online SET userid=0, languageid='".$db->clean($langid)."' WHERE lastvisit < ".($nwtm-$general['logintimelimit'])." AND userid <> 0");
		
		if (!empty($_GET['langid'])){
			$upol .= ',languageid=\''.$db->clean($_GET['langid']).'\'';
			$upollog .= ',languageid=\''.$db->clean($_GET['langid']).'\'';
		}
		$upol .= ',lastvisit=\''.$db->clean($nwtm).'\'';
		if (!empty($upol)){
			$upol = substr($upol,1);
			$db->query("UPDATE online SET ".$upol." WHERE cookieid='".$db->clean($cookieid)."'");
		}
		
		$dbonline = $db->query("SELECT * FROM online WHERE cookieid='".$db->clean($cookieid)."'");
		if (@mysql_num_rows($dbonline) > 0){
			$rsol = @mysql_fetch_array($dbonline);
			$langid = $rsol['languageid'];
			$userid = $rsol['userid'];
			$statususer = $rsol['status'];
		}
		else{
			$usip = getIP();
			$db->query("INSERT INTO `online`(`cookieid`,`userid`,`lastvisit`,`ipaddress`,`useragent`,`languageid`,`status`, `froms`) 
						  VALUES('".$db->clean($cookieid)."',0,'".$db->clean($nwtm)."','".$db->clean($usip)."','".$db->clean($_SERVER['HTTP_USER_AGENT'])."',".$db->clean($langid).",1,'')");
		}
		if (!empty($userid) && !empty($upollog)){
			$upollog = substr($upollog,1);
			$db->query("UPDATE user SET ".$upollog." WHERE userid='".$db->clean($userid)."'");
		}
	}
	else{
		$usip = getIP();
		$ckie = md5($nwtm.$usip);
		$cek = $_POST['remember'];
		if ($cek == 'ON'){			
			setcookie('mycookie',$ckie,time()+604800,'/');
		}
		else{
			setcookie('mycookie',$ckie,0,'/');			
		}
		$db->query("INSERT INTO `online`(`cookieid`,`userid`,`lastvisit`,`ipaddress`,`useragent`,`languageid`,`status`,`froms`) 
						  VALUES('".$db->clean($ckie)."',0,'".$db->clean($nwtm)."','".$db->clean($usip)."','".$db->clean($_SERVER['HTTP_USER_AGENT'])."','".$db->clean($langid)."',1,'')");
		$cookieid = $ckie;
	}
	
	$pointuser = 0;
	$langid = 2;
	
	require_once "class/User.php";
	require_once "class/UserGroup.php";
	$user = new User();
	if (!empty($userid)){
		$user->setId($userid);
		$userdetail = $user->getUserDetail();
		
		$userdetail['point'] = empty($userdetail['point'])?0:$userdetail['point'];
		$pointuser = $userdetail['point'];
		$pointusertext = number_format($userdetail['point'], 0, $decimalseparator, $thousandseparator);
  		
		$username = empty($userdetail['username'])?'':$userdetail['username'];
		$firstname = empty($userdetail['firstname'])?'':$userdetail['firstname'];
		$thisuseremail = empty($userdetail['email'])?'':$userdetail['email'];
		$userid = empty($userdetail['userid'])?'':$userdetail['userid'];
		$userdeposit = $userdetail['deposit'];
		$isUserDeposit = $userdetail['deposit_status'] == 1?true:false;
		
 		$ugroup = new UserGroup();
		$ugroup->setId($userdetail['usergroupid']);
		$ugroupdetail = $ugroup->getUserGroupDetail();
		
		$bonus = empty($userdetail['bonus_sharing']) ? 0 : number_format($userdetail['bonus_sharing'], 2, $decimalseparator, $thousandseparator);
		$bonus_point = empty($userdetail['bonus_point']) ? 0 : number_format($userdetail['bonus_point'], 2, $decimalseparator, $thousandseparator);
		$trading_account_amount = number_format($userdetail['trading_account_amount'], 2, $decimalseparator, $thousandseparator);
		$trading_account_pam_amount = empty($userdetail['trading_account_pam_amount']) ? '' : number_format($userdetail['trading_account_pam_amount'], 2, $decimalseparator, $thousandseparator);
	}
	else{
		$userdetail['usergroupid'] = 5;
		$bonus = 0;
		$bonus_point = 0;
		$trading_account_amount = 0;
		$trading_account_pam_amount = 0;
	}
	
	$userdetail['usergroupid'] = empty($userdetail['usergroupid'])?0:$userdetail['usergroupid'];
	$dpug = $userdetail['usergroupid'];
	if ($dpug == 3388){
		$dpug = 2;
	}
	
	if ($general['available'] == '0'){
		if (($userdetail['usergroupid'] != 3388 && !empty($userid)) || empty($userid)){
			$db->query("DELETE o FROM online o INNER JOIN user u ON o.userid = u.userid WHERE u.usergroupid <> 3388");
			redirecting('maintenance');
		}
	}

	/* get client browser */
	$cbrow = checkBrowser(true);
	
	/* get all phrase */
	$_GET['trid'] = ((empty($_GET['trid']))?"":$_GET['trid']);
	$trid = trim($_GET['trid']);
	$invoicenumber = '';
	if (!empty($trid)){
		require_once 'class/Transaction.php';
		$transaction = new Transaction();
		
		$transaction->setId($trid);
		$header = $transaction->getTransactionHeader();
		if (empty($header['transactionnumber'])){
			redirecting('cart');
		}
		$invoicenumber = $header['transactionnumber'];
	}
	$phrase = array();
	$phrasedata = $db->fetch_all("SELECT * FROM phrase");
	if (sizeof($phrasedata) > 0){
		foreach ($phrasedata as $pdata){
			$pvl = str_replace('"','\"',$pdata['phrasetext_'.$langid]);
			eval("\$phrase['".$pdata['phrasevar']."'] = \"$pvl\";");
		}
	}
	
	$datetext = date("l j F Y");
	$arrdt = explode(" ",$datetext);
	$datetext = $phrase[$arrdt[0]].', '.$arrdt[1].' '.$phrase[$arrdt[2]].' '.$arrdt[3];
	
	$_GET['msg'] = empty($_GET['msg'])?'':$_GET['msg'];
	
	$navigations = '';
	
	/* get web background */
	$dbbgweb = $db->fetch_one("SELECT banner_home_image FROM banner_home WHERE banner_home_position = 'background' AND banner_home_status = 1 ORDER BY banner_home_order LIMIT 1");
	$bgweb = empty($dbbgweb['banner_home_image'])?'':$dbbgweb['banner_home_image'];
	
	/* get all page */
	require_once 'class/PageCategory.php';
	require_once 'class/Page.php';
	$pagectg = new PageCategory();
	$page = new Page();
	
	$listpages = '';
	$allpctg = $pagectg->getPageCategoryList('allparent');
	$pagectgcounter = 0;
	$perrowctgcounter = 4;
	if (sizeof($allpctg) > 0){
		foreach ($allpctg as $datactg){
			$allchildid = $datactg['categoryid'].$pagectg->buildAllChildID($datactg['categoryid']);
			$page->setCategory($allchildid);
			$allpage = $page->getPageList('partial');
			$listpages .= '<div class="information_container footertext">'.$datactg['categoryname_'.$langid].'<div style="clear: left"></div>';
			if (sizeof($allpage) > 0){
				foreach ($allpage as $x){
					$listpages .= '
						<div class="information_bullet footertext">&diams;</div>
						<div class="information_title"><a href="'.htmlspecialchars($x['ref_title']).'.htm" class="linkfooter">'.htmlspecialchars($x['title_'.$langid]).'</a></div>
						<div style="clear: both"></div>
					';
				}
			}
			$listpages .= '</div>';
			
			if ($pagectgcounter % $perrowctgcounter == ($perrowctgcounter - 1)){
				$listpages .= '<div style="clear: both"></div>';
			}
			
			$pagectgcounter++;
		}
	}
	$page->setCategory('');

	$phrase['copyright'] = str_replace('CURRENT_YEAR', $yearnow, $phrase['copyright']);
	
	$deposit_type = array('registration' => 'Registration', 'topup' => 'Topup', 'inject' => 'Inject to trading account');
?>