<?
$sub_menu = "";
include_once("./_common.php");

if(!$is_admin) exit;
$now	= date("Y-m-d H:i:s", $g4[server_time]);

//-- 분류 등록 ------------------------------------------------------------------------------------
if($mode == "save") {
	$s_set	= "";

	//-- INDEX 스킨
	$index_skins	= get_skin_dir("zm.index");
	$sw		= false;
	for($i = 0; $i < count($index_skins); $i++) {
		if($index_skins[$i] == "zm.basic") { $s_set	.= ", db_index_skin='zm.basic'"; $sw = true; }
	}
	if(!$sw) $s_set	.= ", db_index_skin='$index_skins[0]'";

	//-- 레이아웃 기본 스킨
	$layout_skins	= get_skin_dir("zm.layout");
	$sw		= false;
	for($i = 0; $i < count($layout_skins); $i++) {
		if($layout_skins[$i] == "zm.basic") { $s_set	.= ", db_layout_skin='zm.basic'"; $sw = true; }
	}
	if(!$sw) $s_set	.= ", db_layout_skin='$layout_skins[0]'";

	if($level == '0')	{
		$linktype = '0';
		$href	= "[#G4URL#]";
		$target	= "_top";
	}else{
		$linktype = '1';			//-- index 아니면 기본 게시판 스킨
		$target	= "_self";
	}

	if($level > "1") {				//-- 생성하는 메뉴가 서브일 때 서브 도메인
		$upmn	= sql_fetch("select * from $zmb[table_builder_config] where db_recno='$uprecno'");
	}

	sql_query("insert into $zmb[table_builder_config] set db_level='$level', db_up_recno='$uprecno', db_group_name='$group_name', db_link_type='$linktype', db_target='$target', db_menu_reg='1', db_rank='0', db_subdomain='$upmn[db_subdomain]', db_datetime='$now' $s_set");

	//-- 메뉴정보 수정 페이지로 이동
	if($level == "2")		$ret	= "g_1_r=".$uprecno;
	elseif($level == "3")	{
		$rd		= sql_fetch("select * from $zmb[table_builder_config] where db_recno='$uprecno'");
		$g_1_r	= $rd[db_up_recno];
		$ret	= "g_1_r=".$g_1_r."&g_2_r=".$uprecno;
	}
	zm_gourl("./zm.builder.php?".$ret);
}

//-- 분류 수정 ------------------------------------------------------------------------------------
if($mode == "update") {
	$tmp_info	= sql_fetch("select * from $zmb[table_builder_config] where db_recno='$recno'");
	foreach($tmp_info as $key=>$value) {
		$k	= str_replace("db_", "", $key);
		$mn_info[$k]	= $value;
	}
	unset($tmp_info);

	//-- 데이터 저장
	$href		= "";
	if(substr($in_url, 0, 9) != "[#G4URL#]") $in_url		= set_http($in_url);
	if(substr($in_url, strlen($in_url)-1, 1) == "/") $in_url = substr($in_url, 0, strlen($in_url)-1);

	if($rdo_skin != '2'){				//-- 페이지가 아니면 페이지 이름 X
		$in_layout_pagename	= "";
	}
	if($rdo_skin == '1') {
		$link_type	= "1";				//-- 게시판
		$s_skin	= ", db_layout_skin='$in_layout', db_m_pagename='', db_target='$in_target', db_m_layout_skin='$in_m_layout'";
		$href	= "[#G4URL#]/bbs/board.php?bo_table=$in_board";
		if(!$in_board)  $href	= '';

		//-- 게시판 정보 테이블에 스킨 정보 변경 g4_board
		$head_path	= "../skin/zm.layout/".$in_layout."/head.skin.php";
		$tail_path	= "../skin/zm.layout/".$in_layout."/tail.skin.php";
		sql_query("update $g4[board_table] set bo_include_head='$head_path', bo_include_tail='$tail_path' where bo_table='$in_board'");
	}elseif($rdo_skin == '2'){
		$link_type	= '2';				//-- Page
		$s_skin		= ", db_layout_skin='$in_layout', db_m_layout_skin='$in_m_layout', db_pagename='$in_layout_pagename', db_m_pagename='$in_m_layout_pagename', db_target='$in_target'";
		$href		= "[#G4URL#]/?zm_goto=p$recno";
	}elseif($rdo_skin == '3'){
		$link_type	= '3';				//-- URL
		$s_skin		= ", db_target='$in_target'";
		$href		= "$in_url";
		$in_subdomain	= "";
	}elseif($rdo_skin == '4'){	
		$link_type	= '4';				//-- Not link
		$s_skin		= ", db_layout_skin='', db_m_layout_skin=''";
		$href		= "#";
	}


	if($mn_info[level] == '0') {
		$link_type	= "0";				//-- INDEX
		$s_skin = ", db_index_skin='$in_index_skin', db_target='_top', db_m_index_skin='$in_m_index_skin'";
		$href	= "[#G4URL#]";
	}
	if($mn_info[level] == "99") {	
		$s_skin	= ", db_layout_skin='$in_layout'";		//-- 회원가입은 db_layout_skin을 같이 씀
		$href	= "[#G4URL#]/bbs/register.php";
		if($in_mobile) {
			$s_skin	.= ", db_m_layout_skin='$in_m_layout'";
		}else{
			$s_skin	.= ", db_m_layout_skin=''";
		}
	}

	//-- top menu, bottom 스킨 적용
	$s_skin	.= ", db_topmenu_skin='$in_topmenu_skin', db_m_topmenu_skin='$in_m_topmenu_skin', db_bottom_skin='$in_bottom_skin', db_m_bottom_skin='$in_m_bottom_skin'";
	
	$sw_all_skin	= 0;
	$all_skin		= "set db_datetime='$now'";
	if($chk_all_topmenu) { $sw_all_skin = 1; $all_skin	.= ", db_topmenu_skin='$in_topmenu_skin'"; }
	if($chk_all_m_topmenu) { $sw_all_skin = 1; $all_skin .= ", db_m_topmenu_skin='$in_m_topmenu_skin'"; }
	if($chk_all_bottom) { $sw_all_skin = 1; $all_skin	.= ", db_bottom_skin='$in_bottom_skin'"; }
	if($chk_all_m_bottom) { $sw_all_skin = 1; $all_skin	.= ", db_m_bottom_skin='$in_m_bottom_skin'"; }
	if($sw_all_skin)
		sql_query("update $zmb[table_builder_config] $all_skin");

	//-- 서브 도메인 입력
	if($mn_info[level] == "1" && $in_subdomain != "www") {
		if($in_subdomain) {
			$go_url	= $in_subdomain . "." . $_SERVER[SERVER_NAME];
		}

		$s_sub	= ", db_subdomain='$in_subdomain', db_url='$go_url'";

		//-- 서브 메뉴의 서브 도메인 이름도 수정
		sql_query("update $zmb[table_builder_config] set db_subdomain='$in_subdomain' where db_up_recno='$recno'");
	}

	//-- 모바일 적용 여부
	if($in_mobile) {
		$s_mobile	= ", db_mobile='1'";
		if(!$in_m_gname) $in_m_gname = "$in_gname";
	}else{
		$s_mobile	= ", db_mobile=''";
	}
	$s_mobile	.= ", db_m_group_name='$in_m_gname'";

	$s_set		= "set db_rank='$in_rank', db_more='$in_more', db_link_type='$link_type', db_group_name='$in_gname', db_group_explain='$in_gname_explain', db_href='$href', db_menu_reg='1', db_datetime='$now' $s_skin $s_sub $s_mobile";

	if($mn_info[level] == '0')
		$s_set	.= ", db_index_skin='$in_index_skin'";
	else
		$s_set	.= ", db_board='$in_board'";

	$sql	= "update $zmb[table_builder_config] $s_set where db_recno='$recno'";
	$rs		= sql_query($sql);

	//-- 연결 종류가 게시판이 아닌데 게시판 이름이 있으면 제거
	sql_query("update $zmb[table_builder_config] set db_board='' where db_link_type <> '1'");
	//-- INDEX아닌데 SKIN을 갖고 있으면 제거
	sql_query("update $zmb[table_builder_config] set db_index_skin='' where db_link_type <> '0'");

	if($rs)		alert("변경 내용을 적용 했습니다.", "./zm.builder_write.php?recno=$recno");
	else		alert("변경 내용을 적용하던 중 오류가 발생 했습니다.");
}

//-- 메뉴 삭제 ------------------------------------------------------------------------------------
if($mode == "del") {
	//-- 회원가입 정보인가?
	$tmp	= sql_fetch("select * from $zmb[table_builder_config] where db_recno='$recno'");
	if($tmp[db_level] == "99") {
		alert("회원가입 스킨 정보는 삭제 할 수 없습니다.", "./zm.builder_write.php?recno=$recno");
	}

	//-- 하위 메뉴가 있는지 체크
	$tmp	= sql_fetch("select * from $zmb[table_builder_config] where db_up_recno='$recno'");
	if($tmp[db_recno]) {
		alert("하위 메뉴가 등록 돼 있습니다.\\n하위 메뉴를 먼저 삭제 해 주세요.", "./zm.builder_write.php?recno=$recno");
	}

	sql_query("delete from $zmb[table_builder_config] where db_recno='$recno'");
	alert("메뉴를 삭제 했습니다.", "./zm.builder.php");
}

//-- 레이아웃 페이지 목록 불러오기 ----------------------------------------------------------------
if($mode == "layout_page"){
	$pages	= array();
	if(!$layout) $layout = "zm.basic";				//-- 레이아웃 선택이 없으면 zm.basic을 찾는다.
	if($mb == "m")
		$layout_path	= $g4[path] . "/skin.mobile/zm.layout/" . $layout . "/";		//-- 모바일 스킨
	else
		$layout_path	= $g4[path] . "/skin/zm.layout/" . $layout . "/";
	$handle = opendir($layout_path);
	while ($file = readdir($handle)) 
	{
		if(substr($file, 0, 5) == "page.") $pages[] = $file;
	}
	closedir($handle);

	sort($pages);
	for($i = 0; $i < count($pages); $i++){
		if($mb == "m")
			$sel	= ($m_pagename == $pages[$i]) ? 'selected' : '';
		else
			$sel	= ($pagename == $pages[$i]) ? 'selected' : '';
		echo "<option value='$pages[$i]' $sel>$pages[$i]</option>";
	}
}

//-- 테마 적용 ------------------------------------------------------------------------------------
if($mode == "theme_adj") {
	//-- index
	sql_query("update $zmb[table_builder_config] set db_index_skin='$in_theme' where db_level='0'");

	//-- member
	sql_query("update $zmb[table_builder_config] set db_layout_skin='$in_theme' where db_level='99'");

	//-- board
	sql_query("update $zmb[table_builder_config] set db_layout_skin='$in_theme' where db_link_type='1'");


	alert("테마를 적용 했습니다.", "./zm.builder.php");
}
?>