<?php
	define('thisscript','pagecategory');

	require_once 'globalad.php';
	require_once '../class/PageCategory.php';
	
	if (empty($useraccess['manage_category_page'])){
		redirecting('index.php');
	}
	
	$trdest = new PageCategory();
	
	$tab = '';

	$edmenu = checkFormValue('editingmenu');

	/* mass management */
	if ($edmenu == 'saveorder'){
		$idtomanage = $_POST['sortsid'];
		$gorder = $_POST['sorts'];
		for ($i = 0; $i < sizeof($idtomanage); $i++){
			$trdest->setId($idtomanage[$i]);
			if (ctype_digit($gorder[$i])){
				$trdest->updateSort($gorder[$i]);
			}
		}
	}
	else if ($edmenu == 'show'){
		$idtomanage = $_POST['depcheck'];
		for ($i = 0; $i < sizeof($idtomanage); $i++){
			$alldelid = $trdest->buildAllChildID($idtomanage[$i]);
			$alldelid = $idtomanage[$i].$alldelid;
			$db->query("UPDATE category_page SET status='1' WHERE categoryid IN (".$alldelid.")");
		}
	}
	else if ($edmenu == 'hide'){
		$idtomanage = $_POST['depcheck'];
		for ($i = 0; $i < sizeof($idtomanage); $i++){
			$alldelid = $trdest->buildallchildid($idtomanage[$i]);
			$alldelid = $idtomanage[$i].$alldelid;
			$db->query("UPDATE category_page SET status='2' WHERE categoryid IN (".$alldelid.")");
		}
	}
	else if ($edmenu == 'moveall'){
		$idtomanage = $_POST['depcheck'];
		$ctgmove = $_POST['ctgmove'];

		$lastorder = getlastid('category_page','sort','parentid=\''.$db->clean($ctgmove).'\'');
		for ($i = 0; $i < sizeof($idtomanage); $i++){
			$addchange = 'sort=\''.$db->clean($lastorder).'\' , parentid=\''.$db->clean($ctgmove).'\'';
			$pid = $trdest->getParentID($idtomanage[$i]);

			/* build parent list */
			$allprlist = substr($trdest->buildParentList($ctgmove),1);
			$arrprlist = explode(",",$allprlist);
			if ($ctgmove != $idtomanage[$i] && !in_array($idtomanage[$i],$arrprlist)){
				$db->query("UPDATE category_page SET ".$addchange." WHERE categoryid='".$db->clean($idtomanage[$i])."'");
				reorder('category_page','sort','categoryid','parentid=\''.$db->clean($pid).'\'');
				$lastorder++;
			}
		}
	}
	else if ($edmenu == 'moveone'){
		$idtomanage = $_POST['depcheck'];
		$ctgmove = $_POST['ctgmove'];
		$lastorder = getlastid('category_page','sort','parentid='.$ctgmove);
		for ($i = 0; $i < sizeof($idtomanage); $i++){
			$addchange = 'sort=\''.$db->clean($lastorder).'\' , parentid=\''.$db->clean($ctgmove).'\'';
			$pid = $trdest->getParentID($idtomanage[$i]);

			/* build parent list */
			$allprlist = substr($trdest->buildParentList($ctgmove),1);
			$arrprlist = explode(",",$allprlist);
			if ($ctgmove != $idtomanage[$i] && !in_array($idtomanage[$i],$arrprlist)){
				$db->query("UPDATE category_page SET parentid='".$db->clean($pid)."' WHERE parentid='".$db->clean($idtomanage[$i])."'");

				$db->query("UPDATE category_page SET ".$addchange." WHERE categoryid='".$db->clean($idtomanage[$i])."'");
				reorder('category_page','sort','categoryid','parentid=\''.$db->clean($pid).'\'');
				$lastorder++;
			}
		}
	}
	else if ($edmenu == 'deleteall'){
		$idtomanage = $_POST['depcheck'];
		$pid = array();
		for ($i = 0; $i < sizeof($idtomanage); $i++){
			$pid[$i] = $trdest->getParentID($idtomanage[$i]);
		}
		for ($i = 0; $i < sizeof($idtomanage); $i++){
			$alldelid = $trdest->buildAllChildID($idtomanage[$i]);
			$alldelid = $idtomanage[$i].$alldelid;

			$db->query("DELETE FROM category_page WHERE categoryid IN (".$alldelid.")");
			reorder('category_page','sort','categoryid','parentid=\''.$db->clean($pid[$i]).'\'');
		}
	}
	else if ($edmenu == 'deleteone'){
		$idtomanage = $_POST['depcheck'];
		$pid = array();
		for ($i = 0; $i < sizeof($idtomanage); $i++){
			$pid[$i] = $trdest->getParentID($idtomanage[$i]);
		}
		for ($i = 0; $i < sizeof($idtomanage); $i++){
			$dbctg = $db->fetch_one("SELECT * FROM category_page WHERE categoryid='".$db->clean($idtomanage[$i])."'");
			$pop = $dbctg['parentid'];

			$db->query("UPDATE category_page SET parentid='".$pop."' WHERE parentid='".$db->clean($idtomanage[$i])."'");
			$db->query("DELETE FROM category_page WHERE categoryid='".$db->clean($idtomanage[$i])."'");
			reorder('category_page','sort','categoryid','parentid=\''.$db->clean($pid[$i]).'\'');
		}
	}

	/* build category list */
	$contentdb = gettemplate('page_category_per_row');
	$nav_query = $db->fetch_all("SELECT * FROM category_page WHERE parentid = -1 ORDER BY sort");
	$tree = "";
	$treemv = "";
	$depth = 1;
	$exclude = array();
	array_push($exclude, 0);
	if (sizeof($nav_query)){
		foreach ($nav_query as $nav_row){
			$cid = $nav_row['categoryid'];
			$cname = $nav_row['categoryname_'.$langid];
			$csort = $nav_row['sort'];
			$cpid = $nav_row['parentid'];

			$cstatus = '';
			switch ($nav_row['status']){
				case '1' : $cstatus = 'Aktif'; break;
				case '2' : $cstatus = 'Tidak Aktif'; break;
			}

			$goOn = 1;
			for($x = 0; $x < count($exclude); $x++ ){
				if ($exclude[$x] == $nav_row['categoryid']){
					$goOn = 0;
					break;
				}
			}
			if($goOn == 1){
				eval("\$tree .= \"$contentdb\";");
				$treemv .= "<option value=\"".$nav_row['categoryid']."\">".$nav_row['categoryname_'.$langid]."</option>";
				array_push($exclude, $cid);
				$tree .= $trdest->buildChildAdmin($cid,'','page_category_per_row');
				$treemv .= $trdest->buildChildAdmin($cid,'');
			}
		}
	}
	$content = $tree;
	$treemv = '<select id="ctgmove" name="ctgmove" style="display: none"><option value="-1" selected>No Parent / Main Category</option>'.$treemv.'</select>';
	
	require_once 'incl/global_template.php';
	
	$theme = gettemplate('pagecategory');
	eval("\$theme = \"$theme\";");
	echo $theme;
?>