⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 admin_class_menuen.asp

📁 架設ROSE私服必備之物 ROSE數據庫
💻 ASP
📖 第 1 页 / 共 4 页
字号:
			response.write "<option value="&i&">"&i&"</option>" 
		next 
		response.write "</select>" 
		response.write "<input type=hidden name=ClassID value="&rsClass("ClassID")&">"
		response.write "<input type=hidden name=cRootID value="&rsClass("RootID")&">&nbsp;<input type=submit name=Submit value=修改>" 
		response.write "</td></form>" 
	else 
		response.write "<td width='150'>&nbsp;</td>" 
	end if 
	if iCount>j then 
  		response.write "<form action='Admin_Class_MenuEn.asp?Action=DownOrder' method='post'><td width='150'>" 
		response.write "<select name=MoveNum size=1><option value=0>向下移动</option>" 
		for i=1 to iCount-j 
			response.write "<option value="&i&">"&i&"</option>" 
		next 
		response.write "</select>" 
		response.write "<input type=hidden name=ClassID value="&rsClass("ClassID")&">"
		response.write "<input type=hidden name=cRootID value="&rsClass("RootID")&">&nbsp;<input type=submit name=Submit value=修改>" 
		response.write "</td></form>" 
	else 
		response.write "<td width='150'>&nbsp;</td>" 
	end if 
%> 
      <td>&nbsp;</td>
	</tr> 
  <% 
	j=j+1 
	rsClass.movenext 
loop 
%> 
</table> 
<% 
	rsClass.close 
	set rsClass=nothing 
end sub 

sub OrderN() 
	dim sqlClass,rsClass,i,iCount,trs,UpMoveNum,DownMoveNum 
	sqlClass="select * From EnMenuClass order by RootID,OrderID" 
	set rsClass=server.CreateObject("adodb.recordset") 
	rsClass.open sqlClass,conn,1,1 
%>
<br>
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="1" class="table_southidc"> 
  <tr class="title">  
    <td height="22" colspan="4" align="center"><strong>N 级 栏 目 排 序</strong></td> 
  </tr> 
  <% 
do while not rsClass.eof 
%> 
    <tr class="td_southidc" onMouseOut="this.style.backgroundColor=''" onMouseOver="this.style.backgroundColor='#BFDFFF'">  
      <td width="300"> 
	  <% 
	for i=1 to rsClass("Depth") 
	  	response.write "&nbsp;&nbsp;&nbsp;" 
	next 
	if rsClass("Child")>0 then 
		response.write "<img src='Image/tree_folder4.gif' width='15' height='15' valign='abvmiddle'>" 
	else 
	  	response.write "<img src='Image/tree_folder3.gif' width='15' height='15' valign='abvmiddle'>" 
	end if 
	if rsClass("ParentID")=0 then 
		response.write "<b>" 
	end if 
	response.write rsClass("ClassName") 
	if rsClass("Child")>0 then 
		response.write "(" & rsClass("Child") & ")" 
	end if 
	%></td> 
<% 
	if rsClass("ParentID")>0 then   '如果不是一级栏目,则算出相同深度的栏目数目,得到该栏目在相同深度的栏目中所处位置(之上或者之下的栏目数) 
		'所能提升最大幅度应为For i=1 to 该版之上的版面数 
		set trs=conn.execute("select count(ClassID) From EnMenuClass where ParentID="&rsClass("ParentID")&" and OrderID<"&rsClass("OrderID")&"") 
		UpMoveNum=trs(0) 
		if isnull(UpMoveNum) then UpMoveNum=0 
		if UpMoveNum>0 then 
  			response.write "<form action='Admin_Class_MenuEn.asp?Action=UpOrderN' method='post'><td width='150'>" 
			response.write "<select name=MoveNum size=1><option value=0>向上移动</option>" 
			for i=1 to UpMoveNum 
				response.write "<option value="&i&">"&i&"</option>" 
			next 
			response.write "</select>" 
			response.write "<input type=hidden name=ClassID value="&rsClass("ClassID")&">&nbsp;<input type=submit name=Submit value=修改>" 
			response.write "</td></form>" 
		else 
			response.write "<td width='150'>&nbsp;</td>" 
		end if 
		trs.close 
		'所能降低最大幅度应为For i=1 to 该版之下的版面数 
		set trs=conn.execute("select count(ClassID) From EnMenuClass where ParentID="&rsClass("ParentID")&" and orderID>"&rsClass("orderID")&"") 
		DownMoveNum=trs(0) 
		if isnull(DownMoveNum) then DownMoveNum=0 
		if DownMoveNum>0 then 
  			response.write "<form action='Admin_Class_MenuEn.asp?Action=DownOrderN' method='post'><td width='150'>" 
			response.write "<select name=MoveNum size=1><option value=0>向下移动</option>" 
			for i=1 to DownMoveNum 
				response.write "<option value="&i&">"&i&"</option>" 
			next 
			response.write "</select>" 
			response.write "<input type=hidden name=ClassID value="&rsClass("ClassID")&">&nbsp;<input type=submit name=Submit value=修改>" 
			response.write "</td></form>" 
		else 
			response.write "<td width='150'>&nbsp;</td>" 
		end if 
		trs.close 
	else 
		response.write "<td colspan=2>&nbsp;</td>" 
	end if 
%> 
      <td>&nbsp;</td>
	</tr> 
  <% 
	UpMoveNum=0 
	DownMoveNum=0 
	rsClass.movenext 
loop 
%> 
</table> 
<% 
	rsClass.close 
	set rsClass=nothing 
end sub 

sub Reset() 
%>
<br>
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="1" class="table_southidc"> 
  <tr class="title">  
    <td height="22" colspan="3" align="center"><strong>复 位 所 有 菜 单 栏 目</strong></td> 
  </tr> 
    <tr class="td_southidc">  
    <td align="center">  
      <form name="form1" method="post" action="Admin_Class_MenuEn.asp?Action=SaveReset"> 
        <table width="80%" border="0" cellspacing="0" cellpadding="0"> 
          <tr>  
            <td height="150"><font color="#FF0000"><strong>注意:</strong></font><br>
              &nbsp;&nbsp;&nbsp;&nbsp;如果选择复位所有菜单,则所有菜单都将作为一级菜单,这时您需要重新对各个菜单进行归属的基本设置。不要轻易使用该功能,仅在做出了错误的设置而无法复原菜单之间的关系和排序的时候使用。 
            </td> 
          </tr> 
        </table> 
        <input type="submit" name="Submit" value="复位所有菜单">
         &nbsp; <input name="Cancel" type="button" id="Cancel" value=" 取 消 " onClick="window.location.href='Admin_Class_MenuEn.asp'" style="cursor:hand;">
      </form></td>
    </tr>
</table>
<%
end sub

sub Unite()
%>
<br>
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="1" class="table_southidc">
  <tr class="title"> 
    <td height="22" colspan="3" align="center"><strong>菜 单 栏 目 合 并</strong></td>
  </tr>
  <tr class="td_southidc"> 
    <td height="100"><form name="myform" method="post" action="Admin_Class_MenuEn.asp" onSubmit="return ConfirmUnite();">
        &nbsp;&nbsp;将菜单
<select name="ClassID" id="ClassID">
        <%call Admin_ShowClass_Option(1,0,0)%>
        </select>
        合并到
        <select name="TargetClassID" id="TargetClassID">
        <%call Admin_ShowClass_Option(1,0,0)%>
        </select>
        <br> <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        <input name="Action" type="hidden" id="Action" value="SaveUnite">
        <input type="submit" name="Submit" value=" 合并菜单 " style="cursor:hand;">
        &nbsp;&nbsp; 
        <input name="Cancel" type="button" id="Cancel" value=" 取 消 " onClick="window.location.href='Admin_Class_MenuEn.asp'" style="cursor:hand;">
      </form>
	</td>
  </tr>
  <tr class="td_southidc"> 
    <td height="60"><strong>注意事项:</strong><br>
      &nbsp;&nbsp;&nbsp;&nbsp;所有操作不可逆,请慎重操作!!!<br>
      &nbsp;&nbsp;&nbsp;&nbsp;不能在同一个菜单内进行操作,不能将一个菜单合并到其下属菜单中。目标菜单中不能含有子菜单。<br>
      &nbsp;&nbsp;&nbsp;&nbsp;合并后您所指定的菜单(或者包括其下属菜单)将被删除,所有菜单将转移到目标菜单中。</td>
  </tr>
</table> 
<script language="JavaScript" type="text/JavaScript">
function ConfirmUnite()
{
  if (document.myform.ClassID.value==document.myform.TargetClassID.value)
  {
    alert("请不要在相同栏目内进行操作!");
	document.myform.TargetClassID.focus();
	return false;
  }
  if (document.myform.TargetClassID.value=="")
  {
    alert("目标栏目不能指定为含有子栏目的栏目!");
	document.myform.TargetClassID.focus();
	return false;
  }
}
</script>
<% 
end sub 
%> 

</body> 
</html> 
<% 

sub SaveAdd()
	dim ClassID,ClassName,ShowOnTop,Readme,LinkUrl,PrevOrderID
	dim sql,rs,trs
	dim RootID,ParentDepth,ParentPath,ParentStr,ParentName,MaxClassID,MaxRootID
	dim PrevID,NextID,Child

	ClassName=trim(request("ClassName"))
	ShowOnTop=trim(request("ShowOnTop"))
	Readme=trim(request("Readme"))
	LinkUrl=trim(request("LinkUrl"))
	if ClassName="" then
		FoundErr=True
		ErrMsg=ErrMsg & "<br><li>栏目名称不能为空!</li>"
	end if
	if ShowOnTop="Yes" then
		ShowOnTop=True
	else
		ShowOnTop=False
	end if
	if FoundErr=True then
		exit sub
	end if

	set rs = conn.execute("select Max(ClassID) From EnMenuClass")
	MaxClassID=rs(0)
	if isnull(MaxClassID) then
		MaxClassID=0
	end if
	rs.close
	ClassID=MaxClassID+1
	set rs=conn.execute("select max(rootid) From EnMenuClass")
	MaxRootID=rs(0)
	if isnull(MaxRootID) then
		MaxRootID=0
	end if
	rs.close
	RootID=MaxRootID+1
	
	if ParentID>0 then
		sql="select * From EnMenuClass where ClassID=" & ParentID & ""
		rs.open sql,conn,1,1
		if rs.bof and rs.eof then
			FoundErr=True
			ErrMsg=ErrMsg & "<br><li>所属栏目已经被删除!</li>"	
		end if
		if FoundErr=True then
			rs.close
			set rs=nothing
			exit sub
		else	
			RootID=rs("RootID")
			ParentName=rs("ClassName")
			ParentDepth=rs("Depth")
			ParentPath=rs("ParentPath")
			Child=rs("Child")
			ParentPath=ParentPath & "," & ParentID     '得到此栏目的父级栏目路径
			PrevOrderID=rs("OrderID")
			if Child>0 then		
				dim rsPrevOrderID
				'得到与本栏目同级的最后一个栏目的OrderID
				set rsPrevOrderID=conn.execute("select Max(OrderID) From EnMenuClass where ParentID=" & ParentID)
				PrevOrderID=rsPrevOrderID(0)
				set trs=conn.execute("select ClassID from EnMenuClass where ParentID=" & ParentID & " and OrderID=" & PrevOrderID)
				PrevID=trs(0)
				
				'得到同一父栏目但比本栏目级数大的子栏目的最大OrderID,如果比前一个值大,则改用这个值。
				set rsPrevOrderID=conn.execute("select Max(OrderID) From EnMenuClass where ParentPath like '" & ParentPath & ",%'")
				if (not(rsPrevOrderID.bof and rsPrevOrderID.eof)) then
					if not IsNull(rsPrevOrderID(0))  then
				 		if rsPrevOrderID(0)>PrevOrderID then
							PrevOrderID=rsPrevOrderID(0)
						end if
					end if
				end if
			else
				PrevID=0
			end if

		end if
		rs.close
	else
		if MaxRootID>0 then
			set trs=conn.execute("select ClassID from EnMenuClass where RootID=" & MaxRootID & " and Depth=0")
			PrevID=trs(0)
			trs.close
		else
			PrevID=0
		end if
		PrevOrderID=0
		ParentPath="0"
	end if

	sql="Select * From EnMenuClass Where ParentID=" & ParentID & " AND ClassName='" & ClassName & "'"
	set rs=server.CreateObject("adodb.recordset")
	rs.open sql,conn,1,1
	if not(rs.bof and rs.eof) then
		FoundErr=True
		if ParentID=0 then
			ErrMsg=ErrMsg & "<br><li>已经存在一级栏目:" & ClassName & "</li>"
		else
			ErrMsg=ErrMsg & "<br><li>“" & ParentName & "”中已经存在子栏目“" & ClassName & "”!</li>"
		end if
		rs.close
		set rs=nothing
		exit sub
	end if
	rs.close

	sql="Select top 1 * From EnMenuClass"
	rs.open sql,conn,1,3
    rs.addnew
	rs("ClassID")=ClassID
   	rs("ClassName")=ClassName
	rs("ShowOnTop")=ShowOnTop
	rs("RootID")=RootID
	rs("ParentID")=ParentID
	if ParentID>0 then
		rs("Depth")=ParentDepth+1
	else
		rs("Depth")=0
	end if
	rs("ParentPath")=ParentPath
	rs("OrderID")=PrevOrderID
	rs("Child")=0
	rs("Readme")=Readme
	rs("LinkUrl")=LinkUrl
	rs("PrevID")=PrevID
	rs("NextID")=0
	rs.update
	rs.Close
    set rs=Nothing
	
	'更新与本栏目同一父栏目的上一个栏目的“NextID”字段值
	if PrevID>0 then
		conn.execute("update EnMenuClass set NextID=" & ClassID & " where ClassID=" & PrevID)
	end if
	
	if ParentID>0 then
		'更新其父类的子栏目数
		conn.execute("update EnMenuClass set child=child+1 where ClassID="&ParentID)
		
		'更新该栏目排序以及大于本需要和同在本分类下的栏目排序序号
		conn.execute("update EnMenuClass set OrderID=OrderID+1 where rootid=" & rootid & " and OrderID>" & PrevOrderID)
		conn.execute("update EnMenuClass set OrderID=" & PrevOrderID & "+1 where ClassID=" & ClassID)
	end if
	
    call CloseConn()
	Response.Redirect "Admin_Class_MenuEn.asp"  
end sub

sub SaveModify()
	dim ClassName,Readme,ShowOnTop,LinkUrl
	dim trs,rs
	dim ClassID,sql,rsClass,i
	dim SkinCount,LayoutCount
	ClassID=trim(request("ClassID"))
	if ClassID="" then
		FoundErr=True
		ErrMsg=ErrMsg & "<br><li>参数不足!</li>"
	else
		ClassID=CLng(ClassID)
	end if
	ClassName=trim(request("ClassName"))
	ShowOnTop=trim(request("ShowOnTop"))
	Readme=trim(request("Readme"))
	LinkUrl=trim(request("LinkUrl"))
	if ClassName="" then
		FoundErr=True
		ErrMsg=ErrMsg & "<br><li>栏目名称不能为空!</li>"
	end if
	
	if FoundErr=True then
		exit sub
	end if
	
	sql="select * From EnMenuClass where ClassID=" & ClassID
	set rsClass=server.CreateObject ("Adodb.recordset")
	rsClass.open sql,conn,1,3
	if rsClass.bof and rsClass.eof then
		FoundErr=True
		ErrMsg=ErrMsg & "<br><li>找不到指定的栏目!</li>"
		rsClass.close
		set rsClass=nothing
		exit sub
	end if
	if ShowOnTop="Yes" then
		ShowOnTop=True
	else
		ShowOnTop=False
	end if	
	if FoundErr=True then
		rsClass.close
		set rsClass=nothing
		exit sub
	end if
	
   	rsClass("ClassName")=ClassName
	rsClass("ShowOnTop")=ShowOnTop
	rsClass("Readme")=Readme
	rsClass("LinkUrl")=LinkUrl
	rsClass.update
	rsClass.close
	set rsClass=nothing
	
	set rs=nothing
	set trs=nothing
	
    call CloseConn()
	Response.Redirect "Admin_Class_MenuEn.asp"  
end sub


sub DeleteClass()
	dim sql,rs,PrevID,NextID,ClassID
	ClassID=trim(Request("ClassID"))
	if ClassID="" then
		FoundErr=True
		ErrMsg=ErrMsg & "<br><li>参数不足!</li>"
		exit sub
	else
		ClassID=CLng(ClassID)
	end if
	
	sql="select ClassID,RootID,Depth,ParentID,Child,PrevID,NextID From EnMenuClass where ClassID="&ClassID
	set rs=server.CreateObject ("Adodb.recordset")
	rs.open sql,conn,1,3
	if rs.bof and rs.eof then

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -