<?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('Minggu','Senin','Selasa','Rabu','Kamis','Jumat','Sabtu');
	$arrmonthname = array('Januari','Februari','Maret','April','Mei','Juni','Juli','Agustus','September','Oktober','November','Desember');
	$arrdaynameassoc = array(
		'Sunday' => 'Minggu',
		'Monday' => 'Senin',
		'Tuesday' => 'Selasa',
		'Wednesday' => 'Rabu',
		'Thursday' => 'Kamis',
		'Friday' => 'Jumat',
		'Saturday' => 'Sabtu'
	);
	$arrmonthnameassoc = array(
		'January' => 'Januari',
		'February' => 'Februari',
		'March' => 'Maret',
		'April' => 'April',
		'May' => 'Mei',
		'June' => 'Juni',
		'July' => 'Juli',
		'August' => 'Agustus',
		'September' => 'September',
		'October' => 'Oktober',
		'November' => 'November',
		'December' => 'Desember'
	);
	$arrdaynameassocst = array(
		'Sun' => 'Minggu',
		'Mon' => 'Senin',
		'Tue' => 'Selasa',
		'Wed' => 'Rabu',
		'Thu' => 'Kamis',
		'Fri' => 'Jumat',
		'Sat' => 'Sabtu'
	);
	$arrmonthnameassocst = array(
		'Jan' => 'Jan',
		'Feb' => 'Feb',
		'Mar' => 'Mar',
		'Apr' => 'Apr',
		'May' => 'Mei',
		'Jun' => 'Jun',
		'Jul' => 'Jul',
		'Aug' => 'Agu',
		'Sep' => 'Sep',
		'Oct' => 'Okt',
		'Nov' => 'Nov',
		'Dec' => 'Des'
	);
	
	$scriptexc = array("index","login");
	
	$thisurl = currentURL();
	
	$yearnow = date("Y");
	$syearnow = date("y");
	$monthnow = date("m");
	
	$merchant = '';
	$promo_startdate = '';
	$promo_enddate = '';
	$username = '';		$usermail = '';
	$linkwebsite = '';
	$linkverification = '';
	$linkemail = '';
	$upol = '';
	$upollog = '';
	$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();
	$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);
		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;
	}
	
	require_once "../class/User.php";
	require_once "../class/UserGroup.php";
	$navigationmenu = '';
	$user = new User();
	$ugroup = new UserGroup();
	$userdetail = array();
	$userloc = '';
	$allowadmin = false;
	$bankaccess = '';
	$bankaccessarray = array();
	if (!empty($userid)){
		$user->setId($userid);
		$userdetail = $user->getUserDetail();
		
		$username = $userdetail['username'];				$usermail = $userdetail['email'];
		
		$ugroup->setId($userdetail['usergroupid']);
		$ugroupdetail = $ugroup->getUserGroupDetail();
		
		$userloc = $ugroupdetail['location_id'];
		
		$arrallaccessid = array();
		
		if ($ugroupdetail['adminaccess'] == 1){
			$allowadmin = true;
		}
		
		$bankaccess = $userdetail['account_id'];
		$bankaccessarray = explode(",", $userdetail['account_id']);
		
		require_once "../class/Access.php";
		$uaccess = new Access();
		
		if (!empty($ugroupdetail['accessed'])){
			$arrallaccessid = explode(",",$ugroupdetail['accessed']);
		}
		
		$useraccess = array();
		/* generate all access */
		$allaccess = $uaccess->getListAccess('allaccess');
		if (sizeof($allaccess) > 0){
			foreach ($allaccess as $aacss){
				$useraccess[$aacss['accessname']] = 0;
			}
		}
		
		$navigationmenu = $uaccess->generateParentMenu(); 
	}
	else{
		if (!strstr($thisurl,'index.php') && !strstr($thisurl,'login.php')){
			redirecting('index.php?msg=offline');
		}
	}
	
	$userdetail['usergroupid'] = empty($userdetail['usergroupid'])?0:$userdetail['usergroupid'];
	$dpug = $userdetail['usergroupid'];
	if ($dpug == 3388){
		$dpug = 2;
	}

	if ($general['available'] == '0' && !$allowadmin && !empty($userid)){
		$db->query("DELETE o FROM online o INNER JOIN user u ON o.userid = u.id WHERE u.usergroupid <> 3388");
		$userid = 0;
		$msgoff = 'offline';
		if (!strstr($thisurl,'index.php')){
			redirecting('index.php?msg=offline');
		}
	}

	//get client browser
	$cbrow = checkBrowser(true);
	
	/* get all phrase */
	$_GET['trid'] = ((empty($_GET['trid']))?"":$_GET['trid']);
	$trid = trim($_GET['trid']);
	$phrase = array();
	$phrasedata = $db->fetch_all("SELECT * FROM phrase");
	$invoicenumber = '';
	if (sizeof($phrasedata) > 0){
		foreach ($phrasedata as $pdata){
			$pvl = str_replace('"','\"',$pdata['phrasetext_'.$langid]);
			eval("\$phrase['".$pdata['phrasevar']."'] = \"$pvl\";");
		}
	}
	
	$deposit_type = array('registration' => 'Registration', 'topup' => 'Topup', 'inject' => 'Inject to trading account');
?>