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')." >><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\"> <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\"> <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"); } ?>