www.gusucode.com > ShopEx481 & PHPWind 整合版码程序 > bbs/hack/nav/admin.php

    <?php
!function_exists("adminmsg") && exit("Forbidden");

require_once(H_P."color.php");

if($action=="add" || $action=="edit"){
	InitGP(array('title','link','view','alt','color','b','i','u','pos','target','nid'),'P');
	empty($title) && adminmsg("nav_empty_title");
	empty($link) && adminmsg("nav_empty_link");
	$view	= (int)$view;
	$title	= Char_cv($title);
	$style	= $color."|".$b."|".$i."|".$u;
	$link	= Char_cv($link);
	$alt	= Char_cv($alt);
	if($action=="add"){
		$db->update("INSERT INTO pw_nav (title,style,link,alt,target,pos,view) VALUES('$title','$style','$link','$alt','$target','$pos','$view')");
	} elseif($action=="edit"){
		!isset($nid) && adminmsg("undefine_action");
		$db->update("UPDATE pw_nav SET title='$title',style='$style',link='$link',alt='$alt',target='$target',pos='$pos',view='$view' WHERE nid='$nid'");
	}
	updatenav();
	$jumpto = $pos=="foot" ? "viewfoot" : "viewhead";
	adminmsg("operate_success","$basename&job=$jumpto");
} elseif($action=="del"){
	$nid = (int)GetGP('nid');
	$db->update("DELETE FROM pw_nav WHERE nid='$nid'");
	updatenav();
	adminmsg("operate_success");
} elseif($action=="editview"){
	InitGP(array('view'),'P');
	foreach($view as $key=>$val){
		$val = (int)$val;
		$db->update("UPDATE pw_nav SET view='$val' WHERE nid='$key'");
	}
	updatenav();
	adminmsg("operate_success");
} elseif(!$job || $job=="add"){ ##job
	$actionvalue = "add";
	$head_check  = "checked";
	$blank_check = "checked";
	foreach($colors as $c){
		$color_select.="<option value=\"$c\" style=\"background-color:$c;color:$c\"></option>";
	}
} elseif($job=="edit"){
	InitGP(array('nid'));
	$actionvalue="edit";
	!isset($nid) && adminmsg("undefine_action");
	@extract($db->get_one("SELECT * FROM pw_nav WHERE nid='$nid'"));
	$style_array=explode("|",$style);
	$style_array[1] && $b_check="checked";
	$style_array[2] && $i_check="checked";
	$style_array[3] && $u_check="checked";
	$pos=="foot" ? $foot_check="checked" : $head_check="checked";
	$target==1 ? $blank_check="checked" : $self_check="checked";
	foreach($colors as $c){
		$ifselect=$c==$style_array[0] ? "selected" : "";
		$color_select.="<option value=\"$c\" style=\"background-color:$c;color:$c\" $ifselect></option>";
	}
} elseif($job=="viewfoot" || $job=="viewhead"){
	if($job=="viewfoot"){
		$pos="foot";
	} else{
		$pos="head";
	}
	$rs	 = $db->query("SELECT * FROM pw_nav WHERE pos='$pos' ORDER BY view");
	$nav = array();
	while($navdb=$db->fetch_array($rs)){
		$style_array=explode("|",$navdb['style']);
		$style_array[1] && $navdb['title']="<b>".$navdb['title']."</b>";
		$style_array[2] && $navdb['title']="<i>".$navdb['title']."</i>";
		$style_array[3] && $navdb['title']="<u>".$navdb['title']."</u>";
		$style_array[0] && $navdb['title']="<font color=\"$style_array[0]\">".$navdb['title']."</font>";
		$nav[]=$navdb;
	}
}
require PrintHack("admin");exit;

function updatenav(){
	global $db;
	$rs=$db->query("SELECT * FROM pw_nav ORDER BY view");
	$nav_head=$nav_foot=array();
	while ($navdb=$db->fetch_array($rs)){
		if($navdb['pos']=="foot"){
			$nav_foot[]=$navdb;
		} elseif($navdb['pos']=="head"){
			$nav_head[]=$navdb;
		}
	}
	$head = getcache($nav_head,'head');
	$foot = getcache($nav_foot,'foot');
	$db->update("REPLACE INTO pw_config(db_name,db_value) VALUES ('db_head','$head')");
	$db->update("REPLACE INTO pw_config(db_name,db_value) VALUES ('db_foot','$foot')");

	updatecache_c();
}

function getcache($arrayvalue,$type){
	$navigation = '';
	foreach($arrayvalue as $nav){
		$text="";
		$text=$nav['title'];
		$nav_style=explode("|",$nav['style']);
		$nav_style[1] && $text="<b>$text</b>";
		$nav_style[2] && $text="<i>$text</i>";
		$nav_style[3] && $text="<u>$text</u>";
		$nav_style[0] && $text="<font color=\"$nav_style[0]\">$text</font>";
		$target=$nav['target'] ? "target=\"_blank\"" : "";
		$navigation.="<a href=\"$nav[link]\" title=\"$nav[alt]\" $target>$text</a> | ";
	}
	$type=='foot' && $navigation = substr($navigation,0,-3);
	return addslashes($navigation);
}
?>