<?php
if (!defined("root")) {
	define("root", $_SERVER['DOCUMENT_ROOT']);
}
require(root."/___simple_config.php");
session_start();
require(root."/".adminFolder."/_common.php");
require(root."/".adminFolder."/_lib/db.php");
require(root."/".adminFolder."/_lib/main.php");
require(root."/".adminFolder."/_lib/auth.php");
require(root."/".adminFolder."/_lib/bootstraps.php");
$pageSubOf = "pages";
$pageName = "game-categories";
$pageTitle = "Game Categories";
$thisUrl = "game-categories";
$ajax_page = "ajax_game-categories.php";
$pageUrl = "/".adminFolder."/$thisUrl";
$a = cekpost(cleanQuery($_GET["a"]), "");
$err = "";
if ($a=="section_main") {
	if (!authorizedModule("games_main", $ses_kduser)) {
		unAuthorizedAccess("games_main");
	} else {
		$fil_nama = trim(cekpost(cleanQuery($_REQUEST["fil_nama"]), ""));
		$fil_isactive = trim(cekpost(cleanQuery($_REQUEST["fil_isactive"]), ""));
		$swhere = '';
		if ($fil_nama!="") { $swhere .= " AND a.nama LIKE '%$fil_nama%' "; }
		if ($fil_isactive!="") { $swhere .= " AND a.isactive = '$fil_isactive' "; }
		
		$rs=array(); $q="SELECT a.* FROM game_cats a WHERE 1=1 $swhere";
		callRS($rs, $q);
		if (count($rs)!=0) {
			$ld = 20;
			$cp = cekpost(cleanQuery($_GET["cp"]), "1");
			$tp = intval(count($rs) / $ld) + (count($rs)%$ld==0?0:1);
			$sr = ($cp-1) * $ld;
			$pagination = '';
			if ($tp!=1) {
				$pagination .= ('<ul class="pagination pagination-sm">');
					$disabled = '';
					$purl = '#';
					$onclick = '';
					if ($cp<=1) {
						$disabled = 'disabled';
						$onclick = ' onclick="return false;" ';
					}
					$pagination .= ('<li class="'.$disabled.'"><a href="'.$purl.'" '.($onclick!=""?$onclick:'onclick="filterReload(\''.$pageName.'\', 1);return false;"').'>&lt;&lt;</a></li>');
					$pagination .= ('<li class="'.$disabled.'"><a href="'.$purl.'" '.($onclick!=""?$onclick:'onclick="filterReload(\''.$pageName.'\', '.($cp-1).');return false;"').'>&lt;</a></li>');
					for ($c=1;$c<=$tp;$c++) {
						$active = '';
						$purl = '#';
						$disabled = '';
						$onclick = '';
						if ($c==$cp) {
							$active = 'active';
						} else {
							$purl = '#';
							$onclick = ' onclick="filterReload(\''.$pageName.'\', '.$c.');return false;" ';
						}
						$pagination .= ('<li class="'.$active.' '.$disabled.'"><a href="'.$purl.'" '.$onclick.'>'.$c.'</a></li>');
					}
					$disabled = '';
					$onclick = '';
					if ($cp>=$tp) {
						$disabled = 'disabled';
						$onclick = ' onclick="return false;" ';
					}
					$pagination .= ('<li class="'.$disabled.'"><a href="#" '.($onclick!=""?$onclick:'onclick="filterReload(\''.$pageName.'\', '.($cp+1).');return false;"').'>&gt;</a></li>');
					$pagination .= ('<li class="'.$disabled.'"><a href="#" '.($onclick!=""?$onclick:'onclick="filterReload(\''.$pageName.'\', '.$tp.');return false;"').'>&gt;&gt;</a></li>');
				$pagination .= ('</ul>');
			}
			cout('<div class="alert alert-info" role="alert"><strong>Total whole data</strong> <span class="badge">'.count($rs).'</span></div>');
			
			if ($tp!=1) {
				cout($pagination);
			}
			cout('<table class="table table-striped table-bordered">');
				cout('<thead>');
					cout('<tr>');
						cout('<th class="text-center">#</th>');
						if (authorizedModule("games_element_name", $ses_kduser)) {
							cout('<th class="text-center">Name</th>');
							cout('<th class="text-center">URL</th>');
						}
						if (authorizedModule("games_element_active", $ses_kduser)) {
							cout('<th class="text-center">Active?</th>');
						}
						cout('<th class=""></th>');
					cout('</tr>');
				cout('</thead>');
				cout('<tbody>');
				$cnt = 0;
				for ($i=$sr;$i<count($rs) && $cnt<$ld;$i++) {
					$cnt++;
					$kdgame_cat = $rs[$i]["kdgame_cat"];
					if (intval($rs[$i]["isactive"])==0) {
						$isactive = '<a href="#" title="Activate" onclick="chActive(\''.$pageName.'\', '.$kdgame_cat.', '.$rs[$i]["isactive"].');return false;">Non-Active</a>';
					} else {
						$isactive = '<a href="#" title="Deactivate" onclick="chActive(\''.$pageName.'\', '.$kdgame_cat.', '.$rs[$i]["isactive"].');return false;">Active</a>';
					}
					$isi = str_replace("\n", "<br/>", $rs[$i]["isi"]);
					
					$links = $rs[$i]["links"];
					$arr_links = explode(",", $links);
					$tmp_link = '';
					$cnt_links = 0;
					for ($j=0;$j<count($arr_links);$j++) {
						$tmp_link = trim($arr_links[$j]);
						if ($tmp_link!="") { $cnt_links += 1; }
					}
					cout('<tr>');
						cout('<td class="text-center">'.($i+1).'</td>');
						if (authorizedModule("games_element_name", $ses_kduser)) {
							cout('<td class="text-center"><a href="'.$pageUrl.'/view/'.$rs[$i]["kdgame_cat"].'/">'.$rs[$i]["nama"].'</a></td>');
							cout('<td class="text-center">'.$rs[$i]["url"].'</td>');
						}
						if (authorizedModule("games_element_active", $ses_kduser)) {
							cout('<td class="text-center isactive'.$kdgame_cat.'">'.$isactive.'</td>');
						}
						cout('<td class="text-center">');
							if (authorizedModule("games_edit", $ses_kduser)) {
								cout('<a href="'.$pageUrl.'/edit/'.$kdgame_cat.'/"><span class="glyphicon glyphicon-pencil"></span><span class="hidden-xs hidden-sm"> Edit</span></a>');
								cout(BSTextSeparator());
							}
							if (authorizedModule("games_image_logo", $ses_kduser)) {
								cout('<a href="'.$pageUrl.'/logo/'.$kdgame_cat.'/"><span class="glyphicon glyphicon-apple"></span><span class="hidden-xs hidden-sm"> Logo</span></a>');
								cout(BSTextSeparator());
							}
							if (authorizedModule("games_image_screenshot", $ses_kduser)) {
								cout('<a href="'.$pageUrl.'/image/'.$kdgame_cat.'/"><span class="glyphicon glyphicon-picture"></span><span class="hidden-xs hidden-sm"> SS</span></a>');
								cout(BSTextSeparator());
							}
							if (authorizedModule("games_delete", $ses_kduser)) {
								cout('<a href="'.$pageUrl.'/delete/'.$kdgame_cat.'/"><span class="glyphicon glyphicon-trash"></span><span class="hidden-xs hidden-sm"> Delete</span></a>');
							}
						cout('</td>');
					cout('</tr>');
				}
				cout('</tbody>');
			cout('</table>');
			
			if ($tp!=1) {
				cout($pagination);
			}
			cout('<div class="alert alert-info" role="alert"><strong>Total whole data</strong> <span class="badge">'.count($rs).'</span></div>');
			$act_ket = "Game Categories: Main List";
			if ($swhere!="") { $act_ket .= ": ".cleanQuery($swhere).""; }
			updateUserActivities($act_ket);
		} else {
			cout('<div class="alert alert-info" role="alert">');
				cout('<strong>No data available.</strong> Please add new data for display.');
			cout('</div>');
		}
	}
}
if ($a=="chactive") {
	$kd = cekpost(cleanQuery($_REQUEST["kd"]), "");
	$ca = cekpost(cleanQuery($_REQUEST["ca"]), "");
	$kd = (trim($kd)=="undefined")?'':$kd;
	$ca = (trim($ca)=="undefined")?'':$ca;
	if ($kd!="" && $kd!=0 && $ca!="") {
		$na = $ca==0?1:0;
		$modby = $_SESSION["user"]["inisial"];
		$modtime = time();
		$qu = "UPDATE game_cats SET isactive='$na', modby='$modby', modtime='$modtime' WHERE kdgame_cat='$kd'";
		execRS($qu);
		$act_ket = "Game Categories: Ch. Active [kd: $kd][from Act: $ca][to Act: $na]";
		updateUserActivities($act_ket);
		if (intval($na)==0) {
			$isactive = '<a href="#" title="Activate" onclick="chActive(\''.$pageName.'\', '.$kd.', '.$na.');return false;">Non-Active</a>';
		} else {
			$isactive = '<a href="#" title="Deactivate" onclick="chActive(\''.$pageName.'\', '.$kd.', '.$na.');return false;">Active</a>';
		}
		echo $isactive;
	}
}

if ($a=="section_view") {
	if (!authorizedModule("games_view", $ses_kduser)) {
		unAuthorizedAccess("games_view");
	} else {
		$id = cekpost(cleanQuery($_GET["id"]), "0");
		$rs=array(); $q="SELECT a.* FROM game_cats a WHERE kdgame_cat='$id'";
		callRS($rs, $q);
		if (intval($rs[0]["isactive"])==0) {
			$isactive = '<a href="#" title="Activate" onclick="chActive(\''.$pageName.'\', '.$rs[0]["kdgame_cat"].', '.$rs[0]["isactive"].');return false;">Non-Active</a>';
		} else {
			$isactive = '<a href="#" title="Deactivate" onclick="chActive(\''.$pageName.'\', '.$rs[0]["kdgame_cat"].', '.$rs[0]["isactive"].');return false;">Active</a>';
		}
		$creby = (trim($rs[0]["creby"])!=""?'By: <strong>'.$rs[0]["creby"].'</strong>':'By: &lt;<em>no data</em>&gt;').(trim($rs[0]["cretime"])?' ('.date('d M Y, H:i:s A', $rs[0]["cretime"]).')':' &lt;<em>no data</em>&gt;');
		$modby = (trim($rs[0]["modby"])!=""?'By: <strong>'.$rs[0]["modby"].'</strong>':'By: &lt;<em>no data</em>&gt;').(trim($rs[0]["modtime"])?' ('.date('d M Y, H:i:s A', $rs[0]["modtime"]).')':' &lt;<em>no data</em>&gt;');
		cout('<dl class="dl-horizontal dldata">');
			if (authorizedModule("games_element_name", $ses_kduser)) {
				cout('<dt>Name</dt>');
				cout('<dd>'.$rs[0]["nama"].'</dd>');
				$build_url = ''.absDom.'/'.$rs[0]["url"].'';
				cout('<dt>URL</dt>');
				cout('<dd>'.$build_url.'&nbsp;&nbsp;<a href="'.$build_url.'" target="_blank"><span class="glyphicon glyphicon-share"></span></a></dd>');
			}
			if (authorizedModule("games_element_active", $ses_kduser)) {
				cout('<dt>Active Status</dt>');
				cout('<dd class="isactive'.$rs[0]["kdgame_cat"].'">'.$isactive.'</dd>');
			}
			if (authorizedModule("games_element_creation", $ses_kduser)) {
				cout('<dt>Created</dt>');
				cout('<dd>'.$creby.'</dd>');
			}
			if (authorizedModule("games_element_modification", $ses_kduser)) {
				cout('<dt>Modified</dt>');
				cout('<dd>'.$modby.'</dd>');
			}
			
		cout('</dl>');
		
		$act_ket = "Game Categories: View: [".cleanQuery(printR($rs, 1))."]";
		updateUserActivities($act_ket);
		exit;
	}
	exit;
}
if ($a=="do_delete") {
	$kirim = cekpost(cleanQuery($_REQUEST["kirim"]), "");
	if ($kirim=="1") {
		$delby = $_SESSION["user"]["inisial"];
		$deltime = time();
		$kdgame_cat = cekpost(cleanQuery($_POST["kdgame_cat"]), "0");
		$rs=array(); $q="SELECT * FROM game_cats WHERE kdgame_cat='$kdgame_cat'";
		callRS($rs, $q);
		
		$q = "DELETE FROM game_cats WHERE kdgame_cat='$kdgame_cat'";
		execRS($q);
		$act_ket = "Game Categories: Delete: Deleted [kd: $kdgame_cat][".cleanQuery(printR($rs, 1))."]";
		updateUserActivities($act_ket);
		cout('<script type="text/javascript">parent.window.location="'.$pageUrl.'/";</script>');
		exit;
	}
}
if ($a=="section_delete") {
	if (!authorizedModule("games_delete", $ses_kduser)) {
		unAuthorizedAccess("games_delete");
	} else {
		$id = cekpost(cleanQuery($_GET["id"]), "0");
		$rs=array(); $q="SELECT * FROM game_cats WHERE kdgame_cat='$id'";
		callRS($rs, $q);
		
		cout('<form method="post" target="quick_iframe" action="/'.adminFolder.'/_ajax/'.$ajax_page.'?a=do_delete" role="form">');
			cout('<input type="hidden" name="kirim" id="kirim" value="1" />');
			cout('<input type="hidden" name="kdgame_cat" id="kdgame_cat" value="'.$rs[0]["kdgame_cat"].'" />');
			cout('<dl class="dl-horizontal dldata">');
				if (authorizedModule("games_element_name", $ses_kduser)) {
					cout('<dt>Name</dt>');
					cout('<dd>'.$rs[0]["nama"].'</dd>');
				}
				cout('<dt></dt>');
				cout('<dd><button class="btn btn-primary" type="submit">Delete</button></dd>');
			cout('</dl>');
		cout('</form>');
		$viewFrame = 0;
		if ($viewFrame==1) {
			cout('<iframe name="quick_iframe" id="quick_iframe" src="/'.adminFolder.'/_ajax/index.php" width="300" height="100" style="overflow:;border:1px red solid;" visibility="" scrolling="yes" frameborder="1"></iframe>');
		} else {
			cout('<iframe name="quick_iframe" id="quick_iframe" src="/'.adminFolder.'/_ajax/index.php" width="300" height="11" style="overflow:hidden;" visibility="hidden" scrolling="no" frameborder="0"></iframe>');
		}
		$act_ket = "Game Categories: Deleting... [".cleanQuery(printR($rs, 1))."]";
		updateUserActivities($act_ket);
		exit;
	}
}
if ($a=="section_logo") {
	if (!authorizedModule("games_image_logo", $ses_kduser)) {
		unAuthorizedAccess("games_image_logo");
	} else {
		$id = cekpost(cleanQuery($_GET["id"]), "0");
		$rs=array(); $q="SELECT * FROM game_cats WHERE kdgame_cat='$id'";
		callRS($rs, $q);
		$rsi=array(); $qi="SELECT * FROM u_files WHERE kdgame_cat_logo='$id'";
		callRS($rsi, $qi);
		$pageName = 'game_logo';
		if (count($rsi)!=0) {
			cout('<script type="text/javascript">parent.loadUploadedImage(\''.$pageName.'\', \''.$id.'\');</script>');
		} else {
			cout('<script type="text/javascript">parent.loadFormUploadImage(\''.$pageName.'\', \''.$id.'\', 0, 0);</script>');
		}
		$act_ket = "Game Categories: Upload Logo... [kd: ".$rs[0]["kdgame_cat"]."][nama: ".$rs[0]["nama"]."]";
		updateUserActivities($act_ket);
		exit;
	}
}
if ($a=="section_image") {
	if (!authorizedModule("games_image_screenshot", $ses_kduser)) {
		unAuthorizedAccess("games_image_screenshot");
	} else {
		$id = cekpost(cleanQuery($_GET["id"]), "0");
		$rs=array(); $q="SELECT * FROM game_cats WHERE kdgame_cat='$id'";
		callRS($rs, $q);
		$rsi=array(); $qi="SELECT * FROM u_files WHERE kdgame_cat='$id'";
		callRS($rsi, $qi);
		if (count($rsi)!=0) {
			cout('<script type="text/javascript">parent.loadUploadedImage(\''.$pageName.'\', \''.$id.'\');</script>');
		} else {
			cout('<script type="text/javascript">parent.loadFormUploadImage(\''.$pageName.'\', \''.$id.'\', 0, 0);</script>');
		}
		$act_ket = "Game Categories: Upload Image... [kd: ".$rs[0]["kdgame_cat"]."][nama: ".$rs[0]["nama"]."]";
		updateUserActivities($act_ket);
		exit;
	}
}
if ($a=="do_edit") {
	$kirim = cekpost(cleanQuery($_REQUEST["kirim"]), "");
	$err = "";
	if ($kirim=="1") {
		$kdgame_cat = cekpost(cleanQuery($_REQUEST["kdgame_cat"]), "0");
		$nama = cekpost(cleanQuery($_REQUEST["nama"]), "");
		$isactive = cekpost(cleanQuery($_REQUEST["isactive"]), 0);
		if ($nama=="") { $err.= BSErrorMessage('Name must be filled'); }
		if ($err=="") {
			$modby = $_SESSION["user"]["inisial"];
			$modtime = time();
			$flag = 0;
			$url = cleanURL($nama);
			do {
				$rscek = array(); $qcek = "SELECT kdgame_cat FROM game_cats WHERE url = '$url' AND kdgame_cat!='$kdgame_cat'";
				callRS($rscek, $qcek);
				if (count($rscek)!=0) {
					$flag = 0;
					$url = "$kdgame_cat-".$url;
				} else {
					$flag = 1;
				}
			} while($flag==0);
			$q = "UPDATE game_cats SET nama='$nama', url='$url', isactive='$isactive', modby='$modby', modtime='$modtime' 
				WHERE kdgame_cat='$kdgame_cat'";
			execRS($q);
			$act_ket = "Game Categories: Edit: Updated [query: ".cleanQuery($q)."]";
			updateUserActivities($act_ket);
			cout('<script type="text/javascript">parent.window.location="'.$pageUrl.'/view/'.$kdgame_cat.'/";</script>');
		} else {
			cout('<script type="text/javascript">parent.showError(\''.$err.'\');</script>');
		}
		exit;
	}
	exit;
}
if ($a=="section_edit") {
	if (!authorizedModule("games_edit", $ses_kduser)) {
		unAuthorizedAccess("games_edit");
	} else {
		$id = cekpost(cleanQuery($_GET["id"]), "0");
		$rs=array(); $q="SELECT * FROM game_cats WHERE kdgame_cat='$id'";
		callRS($rs, $q);
		cout('<form method="post" target="quick_iframe" action="/'.adminFolder.'/_ajax/'.$ajax_page.'?a=do_edit" role="form">');
			cout('<input type="hidden" name="kirim" id="kirim" value="1" />');
			cout('<input type="hidden" name="kdgame_cat" id="kdgame_cat" value="'.$rs[0]["kdgame_cat"].'" />');
			cout('<dl class="dl-horizontal dldata">');
				if (authorizedModule("games_element_name", $ses_kduser)) {
					cout('<dt><label for="nama">Name</label></dt>');
					cout('<dd><input class="form-control" type="text" name="nama" id="nama" value="'.$rs[0]["nama"].'" /></dd>');
				}
				if (authorizedModule("games_element_active", $ses_kduser)) {
					$isactive0 = intval($rs[0]["isactive"])==0?'selected="selected"':'';
					$isactive1 = intval($rs[0]["isactive"])==1?'selected="selected"':'';
					cout('<dt><label for="isactive">Active Status</label></dt>');
					cout('<dd>
						<select name="isactive" id="isactive" class="form-control">
							<option value="0" '.$isactive0.'>Non-Active</option>
							<option value="1" '.$isactive1.'>Active</option>
						</select>
					</dd>');
				}
				cout('<dt></dt>');
				cout('<dd class="err"></dd>');
				
				cout('<dt></dt>');
				cout('<dd><button class="btn btn-primary" type="submit">Update</button></dd>');
			cout('</dl>');
		cout('</form>');
		$viewFrame = 0;
		if ($viewFrame==1) {
			cout('<iframe name="quick_iframe" id="quick_iframe" src="/'.adminFolder.'/_ajax/index.php" width="300" height="100" style="overflow:;border:1px red solid;" visibility="" scrolling="yes" frameborder="1"></iframe>');
		} else {
			cout('<iframe name="quick_iframe" id="quick_iframe" src="/'.adminFolder.'/_ajax/index.php" width="300" height="11" style="overflow:hidden;" visibility="hidden" scrolling="no" frameborder="0"></iframe>');
		}
		$act_ket = "Game Categories: Editing... [".cleanQuery(printR($rs, 1))."]";
		updateUserActivities($act_ket);
		exit;
	}
}
if ($a=="do_add") {
	$kirim = cekpost(cleanQuery($_REQUEST["kirim"]), "");
	$err = "";
	if ($kirim=="1") {
		$nama = cekpost(cleanQuery($_REQUEST["nama"]), "");
		$isactive = cekpost(cleanQuery($_REQUEST["isactive"]), 0);
		if ($tanggal!="") { $tanggal = strtotime($tanggal." ".date('H:i:s', time())); }
		if ($nama=="") { $err.= BSErrorMessage('Name must be filled'); }
		if ($err=="") {
			$creby = $_SESSION["user"]["inisial"];
			$cretime = time();
			$kdgame_cat = getID("game_cats", "kdgame_cat");
			$flag = 0;
			$url = cleanURL($nama);
			do {
				$rscek = array(); $qcek = "SELECT kdgame_cat FROM game_cats WHERE url = '$url'";
				callRS($rscek, $qcek);
				if (count($rscek)!=0) {
					$flag = 0;
					$url = "$kdgame_cat-".$url;
				} else {
					$flag = 1;
				}
			} while($flag==0);
			$q = "INSERT INTO game_cats (kdgame_cat, nama, url, isactive, creby, cretime) 
				VALUES ('$kdgame_cat', '$nama', '$url', '$isactive', '$creby', '$cretime')";
			execRS($q);
			$act_ket = "Game Categories: Add [query: ".cleanQuery($q)."]";
			updateUserActivities($act_ket);
			cout('<script type="text/javascript">parent.window.location="'.$pageUrl.'/view/'.$kdgame_cat.'/";</script>');
		} else {
			cout('<script type="text/javascript">parent.showError(\''.$err.'\');</script>');
		}
		exit;
	}
	exit;
}
if ($a=="section_add") {
	if (!authorizedModule("games_add", $ses_kduser)) {
		unAuthorizedAccess("games_add");
	} else {
		cout('<form method="post" target="quick_iframe" action="/'.adminFolder.'/_ajax/'.$ajax_page.'?a=do_add" role="form">');
			cout('<input type="hidden" name="kirim" id="kirim" value="1" />');
			cout('<dl class="dl-horizontal dldata">');
				cout('<dt><label for="nama">Name</label></dt>');
				cout('<dd><input class="form-control" type="text" name="nama" id="nama" /></dd>');
				
				cout('<dt><label for="isactive">Active Status</label></dt>');
				cout('<dd>
					<select name="isactive" id="isactive" class="form-control">
						<option value="0">Non-Active</option>
						<option value="1">Active</option>
					</select>
				</dd>');
				
				cout('<dt></dt>');
				cout('<dd class="err"></dd>');
				
				cout('<dt></dt>');
				cout('<dd><button class="btn btn-primary" type="submit">Add</button></dd>');
			cout('</dl>');
		cout('</form>');
		$viewFrame = 1;
		if ($viewFrame==1) {
			cout('<iframe name="quick_iframe" id="quick_iframe" src="/'.adminFolder.'/_ajax/index.php" width="300" height="100" style="overflow:;border:1px red solid;" visibility="" scrolling="yes" frameborder="1"></iframe>');
		} else {
			cout('<iframe name="quick_iframe" id="quick_iframe" src="/'.adminFolder.'/_ajax/index.php" width="300" height="11" style="overflow:hidden;" visibility="hidden" scrolling="no" frameborder="0"></iframe>');
		}
		$act_ket = "Game Categories: Adding...";
		updateUserActivities($act_ket);
		exit;
	}
}
?>