www.gusucode.com > 08CMS空白站群系统 3.3 繁体 UTF-8 > upload/admina/menus.inc.php

    <?php
(!defined('M_COM') || !defined('M_ADMIN')) && exit('No Permission');
aheader();
!checkapermission(37) && amessage(lang('no_apermission'));
if($sid && $sid_self) amessage(lang('msite admin item !'));
$issub = empty($issub) ? 0 : 1;
$sub_suffix = !$issub ? '' : '&issub=1';
if($action == 'mtypeadd'){
	if(!submitcheck('bmtypeadd')){
		a_guide('mtypeadd');
		$pid = empty($pid) ? 0 : max(0,intval($pid));
		tabheader(lang('add '.($issub ? 'subsite' : 'msite').' menu coclass'),'mtypeadd',"?entry=menus&action=mtypeadd$sub_suffix");
		$mtidsarr = array('0' => lang('topic coclass'));
		$query = $db->query("SELECT * FROM {$tblprefix}mtypes WHERE pid=0 AND issub=$issub ORDER BY vieworder,mtid");
		while($row = $db->fetch_array($query)){
			$mtidsarr[$row['mtid']] = $row['title'];
		}
		trbasic(lang('uplevel coclass'),'mtypenew[pid]',makeoption($mtidsarr,$pid),'select');
		trbasic(lang('coclass cname'),'mtypenew[title]','','text');
		trbasic(lang('coclass default url'),'mtypenew[url]','','btext');
		trbasic(lang('coclass order'),'mtypenew[vieworder]','','text');
		tabfooter('bmtypeadd');
	}else{
		$mtypenew['title'] = trim(strip_tags($mtypenew['title']));
		$mtypenew['url'] = trim(strip_tags($mtypenew['url']));
		$mtypenew['vieworder'] = max(0,intval($mtypenew['vieworder']));
		!$mtypenew['title'] && amessage(lang('please input menu coclass title !'));
		if(!$mtypenew['pid']){
			!$mtypenew['url'] && amessage(lang('please input menu coclass default url !'));
		}else $mtypenew['url'] = '';
		$db->query("INSERT INTO {$tblprefix}mtypes SET 
					title='$mtypenew[title]', 
					url='$mtypenew[url]', 
					pid='$mtypenew[pid]', 
					issub='$issub', 
					vieworder='$mtypenew[vieworder]'
					");
	
		adminlog(lang('add menu coclass'));
		updatecache('menus',$issub);
		amessage(lang('menu coclass add finish'), "?entry=menus&action=menusedit$sub_suffix");
	}
}elseif($action == 'menuadd' && $mtid){
	$mtid = max(0,intval($mtid));
	$mtidsarr = array();
	$query = $db->query("SELECT * FROM {$tblprefix}mtypes WHERE pid!=0 AND issub=$issub ORDER BY pid,vieworder,mtid");
	while($row = $db->fetch_array($query)){
		$mtidsarr[$row['mtid']] = $row['title'];
	}
	if(!submitcheck('bmenuadd')){
		a_guide('menuadd');
		tabheader(lang('add '.($issub ? 'subsite' : 'msite').' menu item'),'menuadd',"?entry=menus&action=menuadd&mtid=$mtid$sub_suffix");
		trbasic(lang('belong coclass'),'menunew[mtid]',makeoption($mtidsarr,$mtid),'select');
		trbasic(lang('menu item cname'),'menunew[title]','','text');
		trbasic(lang('menu item url'),'menunew[url]','','btext');
		trbasic(lang('menu item order'),'menunew[vieworder]','','text');
		tabfooter('bmenuadd');
	}else{
		$menunew['title'] = trim(strip_tags($menunew['title']));
		$menunew['url'] = trim(strip_tags($menunew['url']));
		$menunew['vieworder'] = max(0,intval($menunew['vieworder']));
		(!$menunew['title'] || !$menunew['url']) && amessage(lang('please input menu title and url !'));
		!$menunew['mtid'] && amessage(lang('please point menu belong coclass !'));
		$db->query("INSERT INTO {$tblprefix}menus SET 
					title='$menunew[title]', 
					url='$menunew[url]', 
					mtid='$menunew[mtid]', 
					issub='$issub', 
					vieworder='$menunew[vieworder]'
					");
	
		adminlog(lang('add backarea menu item'));
		updatecache('menus',$issub);
		amessage(lang('menu item add finish'), "?entry=menus&action=menusedit$sub_suffix");
	}
}elseif($action == 'menusedit'){
	if(!submitcheck('bmenusedit')){
		a_guide('menusedit');
		tabheader(lang('choose site type'),'','',2);
		echo "<tr>\n";
		echo "<td class=\"item2\">>><a href=\"?entry=menus&action=menusedit\">".lang('msite menu admin')."</a></td>\n";
		echo "<td class=\"item2\">>><a href=\"?entry=menus&action=menusedit&issub=1\">".lang('subsite menu admin')."</a></td>\n";
		echo "</tr>\n";
		tabfooter();
		tabheader(lang(($issub ? 'subsite' : 'msite').' backarea menu manager')."&nbsp; &nbsp; >><a href=\"?entry=menus&action=mtypeadd$sub_suffix\">".lang('add topic coclass').'</a>','menusedit',"?entry=menus&action=menusedit$sub_suffix",'8');
		trcategory(array(lang('sn'),lang('id'),lang('title'),lang('enable'),lang('order'),lang('add'),lang('edit'),lang('delete')));
		$query = $db->query("SELECT * FROM {$tblprefix}mtypes WHERE pid=0 AND issub=$issub ORDER BY vieworder,mtid");
		$i = 0;
		while($mtype0 = $db->fetch_array($query)){
			$mtid = $mtype0['mtid'];
			$i ++;
			echo "<tr>\n".
				"<td class=\"item1\" align=\"center\" width=\"30\">$i</td>\n".
				"<td class=\"item2\" align=\"center\" width=\"30\">$mtid</td>\n".
				"<td class=\"item1\"><input type=\"text\" name=\"mtypesnew[$mtid][title]\" value=\"$mtype0[title]\" size=\"25\"></td>\n".
				"<td class=\"item2\" align=\"center\" width=\"30\"></td>\n".
				"<td class=\"item1\" align=\"center\" width=\"40\">".($mtype0['fixed'] ? $mtype0['vieworder'] : ("<input type=\"text\" name=\"mtypesnew[$mtid][vieworder]\" value=\"$mtype0[vieworder]\" size=\"4\">"))."</td>\n".
				"<td class=\"item2\" align=\"center\" width=\"40\"><a href=\"?entry=menus&action=mtypeadd&pid=$mtid$sub_suffix\">+".lang('coclass')."</a></td>\n".
				"<td class=\"item1\" align=\"center\" width=\"40\">".($mtype0['fixed'] ? '-' : ("<a href=\"?entry=menus&action=mtypedetail&mtid=$mtid$sub_suffix\">".lang('detail')."</a>"))."</td>\n".
				"<td class=\"item2\" align=\"center\" width=\"40\">".($mtype0['fixed'] ? '-' : ("<a href=\"?entry=menus&action=mtypedel&mtid=$mtid$sub_suffix\">".lang('delete')."</a>"))."</td>\n".
				"</tr>";
			$query1 = $db->query("SELECT * FROM {$tblprefix}mtypes WHERE pid='$mtid' AND issub=$issub ORDER BY vieworder,mtid");
			while($mtype1 = $db->fetch_array($query1)){
				$mtid = $mtype1['mtid'];
				$i ++;
				echo "<tr>\n".
					"<td class=\"item1\" align=\"center\" width=\"30\">$i</td>\n".
					"<td class=\"item2\" align=\"center\" width=\"30\">$mtid</td>\n".
					"<td class=\"item1\">&nbsp; &nbsp; &nbsp; &nbsp; <input type=\"text\" name=\"mtypesnew[$mtid][title]\" value=\"$mtype1[title]\" size=\"25\"></td>\n".
					"<td class=\"item2\" align=\"center\" width=\"30\"></td>\n".
					"<td class=\"item1\" align=\"center\" width=\"40\">".($mtype1['fixed'] ? $mtype1['vieworder'] : ("<input type=\"text\" name=\"mtypesnew[$mtid][vieworder]\" value=\"$mtype1[vieworder]\" size=\"4\">"))."</td>\n".
					"<td class=\"item2\" align=\"center\" width=\"40\"><a href=\"?entry=menus&action=menuadd&mtid=$mtid$sub_suffix\">+".lang('menu')."</a></td>\n".
					"<td class=\"item1\" align=\"center\" width=\"40\">".($mtype1['fixed'] ? '-' : ("<a href=\"?entry=menus&action=mtypedetail&mtid=$mtid$sub_suffix\">".lang('detail')."</a>"))."</td>\n".
					"<td class=\"item2\" align=\"center\" width=\"40\">".($mtype1['fixed'] ? '-' : ("<a href=\"?entry=menus&action=mtypedel&mtid=$mtid$sub_suffix\">".lang('delete')."</a>"))."</td>\n".
					"</tr>";
				$query2 = $db->query("SELECT * FROM {$tblprefix}menus WHERE mtid='$mtid' AND fixed=0 AND issub=$issub AND isbk=0 ORDER BY vieworder,mnid");
				while($row = $db->fetch_array($query2)){
					$mnid = $row['mnid'];
					$i ++;
					echo "<tr>\n".
						"<td class=\"item1\" align=\"center\" width=\"30\">$i</td>\n".
						"<td class=\"item2\" align=\"center\" width=\"30\">$mnid</td>\n".
						"<td class=\"item1\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <input type=\"text\" name=\"menusnew[$mnid][title]\" value=\"$row[title]\" size=\"25\"></td>\n".
						"<td class=\"item2\" align=\"center\" width=\"30\"><input class=\"checkbox\" type=\"checkbox\" name=\"menusnew[$mnid][available]\" value=\"1\"".($row['available'] ? " checked" : "").($row['fixed'] ? " disabled" : "")."></td>\n".
						//"<td class=\"item2\" align=\"center\" width=\"30\"><input class=\"checkbox\" type=\"checkbox\" name=\"menusnew[$mnid][issys]\" value=\"1\"".($row['issys'] ? " checked" : "")."></td>\n".
						"<td class=\"item1\" align=\"center\" width=\"40\"><input type=\"text\" name=\"menusnew[$mnid][vieworder]\" value=\"$row[vieworder]\" size=\"4\"></td>\n".
						"<td class=\"item2\" align=\"center\" width=\"40\">-</td>\n".
						"<td class=\"item1\" align=\"center\" width=\"40\"><a href=\"?entry=menus&action=menudetail&mnid=$mnid$sub_suffix\">".lang('detail')."</a></td>\n".
						"<td class=\"item2\" align=\"center\" width=\"40\">".($row['issys'] ? '-' : ("<a href=\"?entry=menus&action=menudel&mnid=$mnid$sub_suffix\">".lang('delete')."</a>"))."</td>\n".
						"</tr>";
				}
			}
		}
		tabfooter('bmenusedit');
	}else{
		if(!empty($mtypesnew)){
			foreach($mtypesnew as $k => $v){
				$v['title'] = trim(strip_tags($v['title']));
				$v['vieworder'] = empty($v['vieworder']) ? 0 : max(0,intval($v['vieworder']));
				$sqlstr = "vieworder='$v[vieworder]'";
				$v['title'] && $sqlstr .= ",title='$v[title]'";
				$db->query("UPDATE {$tblprefix}mtypes SET $sqlstr WHERE mtid='$k'");
			}
		}
		if(!empty($menusnew)){
			foreach($menusnew as $k => $v){
				$v['title'] = trim(strip_tags($v['title']));
				$v['vieworder'] = max(0,intval($v['vieworder']));
				$v['available'] = empty($v['available']) ? 0 : 1;
				$sqlstr = "vieworder='$v[vieworder]',available='$v[available]'";
				//$v['issys'] = empty($v['issys']) ? 0 : 1;
				//$sqlstr = "vieworder='$v[vieworder]',issys='$v[issys]'";
				$v['title'] && $sqlstr .= ",title='$v[title]'";
				$db->query("UPDATE {$tblprefix}menus SET $sqlstr WHERE mnid='$k'");
			}
		}
		adminlog(lang('edit menu item list'));
		updatecache('menus',$issub);
		amessage(lang('menu item edit finish'), "?entry=menus&action=menusedit$sub_suffix");
	}
}elseif($action == 'mtypedetail' && $mtid){
	if(!($mtype = $db->fetch_one("SELECT * FROM {$tblprefix}mtypes WHERE mtid='$mtid'"))) amessage(lang('confirmchoose menu coclass'));
	if(!submitcheck('bmtypedetail')){
		a_guide('mtypedetail');
		tabheader(lang('edit '.($issub ? 'subsite' : 'msite').' menu coclass'),'mtypedetail',"?entry=menus&action=mtypedetail&mtid=$mtid$sub_suffix");
		if($mtype['pid']){
			$mtidsarr = array();
			$query = $db->query("SELECT * FROM {$tblprefix}mtypes WHERE pid=0 AND issub=$issub ORDER BY vieworder,mtid");
			while($row = $db->fetch_array($query)){
				$mtidsarr[$row['mtid']] = $row['title'];
			}
			trbasic(lang('uplevel coclass'),'mtypenew[pid]',makeoption($mtidsarr,$mtype['pid']),'select');
		}
		trbasic(lang('coclass cname'),'mtypenew[title]',$mtype['title'],'text');
		trbasic(lang('coclass default url'),'mtypenew[url]',$mtype['url'],'btext');
		trbasic(lang('coclass order'),'mtypenew[vieworder]',$mtype['vieworder'],'text');
		tabfooter('bmtypedetail');
	}else{
		$mtypenew['title'] = trim(strip_tags($mtypenew['title']));
		$mtypenew['url'] = trim(strip_tags($mtypenew['url']));
		$mtypenew['vieworder'] = max(0,intval($mtypenew['vieworder']));
		$mtypenew['pid'] = empty($mtypenew['pid']) ? 0 : max(0,intval($mtypenew['pid']));
		!$mtypenew['title'] && amessage(lang('please input menu coclass title !'));
		if(!$mtypenew['pid']){
			!$mtypenew['url'] && amessage(lang('please input menu coclass default url !'));
		}else $mtypenew['url'] = '';
		$db->query("UPDATE {$tblprefix}mtypes SET 
					title='$mtypenew[title]', 
					url='$mtypenew[url]', 
					pid='$mtypenew[pid]', 
					vieworder='$mtypenew[vieworder]'
					WHERE mtid='$mtid'");
	
		adminlog(lang('edit menu coclass detail'));
		updatecache('menus',$issub);
		amessage(lang('menu coclass modify finish'), "?entry=menus&action=menusedit$sub_suffix");
	}

}elseif($action == 'menudetail' && $mnid){
	if(!($menu = $db->fetch_one("SELECT * FROM {$tblprefix}menus WHERE mnid='$mnid'"))) amessage(lang('confirmchoose menu item'));
	if(!submitcheck('bmenudetail')){
		a_guide('menudetail');
		tabheader(lang('edit '.($issub ? 'subsite' : 'msite').' menu item'),'menudetail',"?entry=menus&action=menudetail&mnid=$mnid$sub_suffix");
		$mtidsarr = array();
		$query = $db->query("SELECT * FROM {$tblprefix}mtypes WHERE pid!=0 AND issub=$issub ORDER BY pid,vieworder,mtid");
		while($row = $db->fetch_array($query)){
			$mtidsarr[$row['mtid']] = $row['title'];
		}
		trbasic(lang('belong coclass'),'menunew[mtid]',makeoption($mtidsarr,$menu['mtid']),'select');
		trbasic(lang('menu item cname'),'menunew[title]',$menu['title'],'text');
		trbasic(lang('menu item url'),$menu['issys'] ? '' : 'menunew[url]',$menu['url'],$menu['issys'] ? '' : 'btext');
		trbasic(lang('menu item order'),'menunew[vieworder]',$menu['vieworder'],'text');
		tabfooter('bmenudetail');
	}else{
		$menunew['title'] = trim(strip_tags($menunew['title']));
		$menunew['url'] = $menu['issys'] ? $menu['url'] : trim(strip_tags($menunew['url']));
		$menunew['vieworder'] = max(0,intval($menunew['vieworder']));
		$menunew['mtid'] = empty($menunew['mtid']) ? 0 : max(0,intval($menunew['mtid']));
		(!$menunew['title'] || !$menunew['url']) && amessage(lang('please input menu title and url !'));
		!$menunew['mtid'] && amessage(lang('please point menu belong coclass !'));
		$db->query("UPDATE {$tblprefix}menus SET 
					title='$menunew[title]', 
					url='$menunew[url]', 
					mtid='$menunew[mtid]', 
					vieworder='$menunew[vieworder]'
					WHERE mnid='$mnid'");
		adminlog(lang('edit menu item detail'));
		updatecache('menus',$issub);
		amessage(lang('menu item modify finish'), "?entry=menus&action=menusedit$sub_suffix");
	}
}elseif($action == 'mtypedel' && $mtid){
	if($db->result_one("SELECT COUNT(*) FROM {$tblprefix}mtypes WHERE pid='$mtid'")){
		amessage(lang('menu coclass without son coclass can delete'), "?entry=menus&action=menusedit$sub_suffix");
	}
	if($db->result_one("SELECT COUNT(*) FROM {$tblprefix}menus WHERE mtid='$mtid'")){
		amessage(lang('menu coclass without menu item can delete'), "?entry=menus&action=menusedit$sub_suffix");
	}
	$db->query("DELETE FROM {$tblprefix}mtypes WHERE mtid='$mtid'");
	adminlog(lang('delete menu coclass'));
	updatecache('menus',$issub);
	amessage(lang('menu coclass delete finish'), "?entry=menus&action=menusedit$sub_suffix");
}elseif($action == 'menudel' && $mnid){
	$db->query("DELETE FROM {$tblprefix}menus WHERE mnid='$mnid'");
	adminlog(lang('delete menu item'));
	updatecache('menus',$issub);
	amessage(lang('menu item delete finish'), "?entry=menus&action=menusedit$sub_suffix");
}
?>