📄 admin_linkclass.asp
字号:
rsClass.close
set rsClass=Nothing
end sub
sub Order()
dim sqlClass,rsClass,iCount,j
sqlClass="select * From Cl_LinkClass where ParentID=0 order by RootID"
set rsClass=server.CreateObject("adodb.recordset")
rsClass.open sqlClass,Conn,1,1
iCount=rsClass.recordcount
%>
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="1" class="border">
<tr class="title">
<td height="22" colspan="4" align="center"><strong>一 级 栏 目 排 序</strong></td>
</tr>
<%
j=1
do while not rsClass.eof
%>
<tr class="tdbg" onMouseOut="this.className='tdbg'" onMouseOver="this.className='tdbg2'">
<td width="200"> <%=rsClass("ClassName")%></td>
<%
if j>1 then
response.write "<form action='" & FileName & "?Action=UpOrder' method='post'><td width='150'>"
response.write "<select name=MoveNum size=1><option value=0>向上移动</option>"
for i=1 to j-1
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")&"> <input type=submit name=Submit value=修改>"
response.write "</td></form>"
else
response.write "<td width='150'> </td>"
end if
if iCount>j then
response.write "<form action='"&FileName&"?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")&"> <input type=submit name=Submit value=修改>"
response.write "</td></form>"
else
response.write "<td width='150'> </td>"
end if
%>
<td> </td>
</tr>
<%
j=j+1
rsClass.movenext
loop
%>
</table>
<%
rsClass.close
set rsClass=Nothing
end sub
sub OrderN()
dim sqlClass,rsClass,iCount,trs,UpMoveNum,DownMoveNum
sqlClass="select * From Cl_LinkClass order by RootID,OrderID"
set rsClass=server.CreateObject("adodb.recordset")
rsClass.open sqlClass,Conn,1,1
%>
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="1" class="border">
<tr class="title">
<td height="22" colspan="4" align="center"><strong>N 级 栏 目 排 序</strong></td>
</tr>
<%
do while not rsClass.eof
%>
<tr class="tdbg" onMouseOut="this.className='tdbg'" onMouseOver="this.className='tdbg2'">
<td width="300">
<%
for i=1 to rsClass("Depth")
response.write " "
next
if rsClass("Child")>0 then
response.write "<img src='../images/Tree/folder4.gif' width='15' height='15' valign='abvmiddle'>"
else
response.write "<img src='../images/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=Cl.Execute("select count(ClassID) From Cl_LinkClass 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='"&FileName&"?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")&"> <input type=submit name=Submit value=修改>"
response.write "</td></form>"
else
response.write "<td width='150'> </td>"
end if
trs.close
'所能降低最大幅度应为For i=1 to 该版之下的版面数
set trs=Cl.Execute("select count(ClassID) From Cl_LinkClass 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='"&FileName&"?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")&"> <input type=submit name=Submit value=修改>"
response.write "</td></form>"
else
response.write "<td width='150'> </td>"
end if
trs.close
else
response.write "<td colspan=2> </td>"
end if
%>
<td> </td>
</tr>
<%
UpMoveNum=0
DownMoveNum=0
rsClass.movenext
loop
%>
</table>
<%
rsClass.close
set rsClass=Nothing
end sub
sub Reset()
%>
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="1" class="border">
<tr class="title">
<td height="22" colspan="3" align="center"><strong>复 位 所 有 栏 目</strong></td>
</tr>
<tr class="tdbg">
<td align="center">
<form name="form1" method="post" action="<%=FileName%>?Action=SaveReset">
<table width="80%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="150"><font color="#FF0000"><strong>注意:</strong></font><br />
如果选择复位所有栏目,则所有栏目都将作为一级栏目,这时您需要重新对各个栏目进行归属的基本设置。不要轻易使用该功能,仅在做出了错误的设置而无法复原栏目之间的关系和排序的时候使用。
</td>
</tr>
</table>
<input type="submit" name="Submit" value="复位所有栏目"> <input name="Cancel" type="button" id="Cancel" value=" 取 消 " onClick="window.location.href='<%=FileName%>'" style="cursor:hand;">
</form></td>
</tr>
</table>
<%
end sub
sub Unite()
%>
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="1" class="border">
<tr class="title">
<td height="22" colspan="3" align="center"><strong>栏 目 合 并</strong></td>
</tr>
<tr class="tdbg">
<td height="100"><form name="myform" method="post" action="<%=FileName%>" onSubmit="return ConfirmUnite();">
将栏目
<select name="ClassID" id="ClassID">
<%=ShowLinkClass_Option(1,0)%>
</select>
合并到
<select name="TargetClassID" id="TargetClassID">
<%=ShowLinkClass_Option(1,0)%>
</select>
<br /> <br />
<input name="Action" type="hidden" id="Action" value="SaveUnite">
<input type="submit" name="Submit" value=" 合并栏目 " style="cursor:hand;">
<input name="Cancel" type="button" id="Cancel" value=" 取 消 " onClick="window.location.href='<%=FileName%>'" style="cursor:hand;">
</form>
</td>
</tr>
<tr class="tdbg">
<td height="60"><strong>注意事项:</strong><br />
所有操作不可逆,请慎重操作!!!<br />
不能在同一个栏目内进行操作,不能将一个栏目合并到其下属栏目中。目标栏目中不能含有子栏目。<br />
合并后您所指定的栏目(或者包括其下属栏目)将被删除,所有数据将转移到目标栏目中。</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,ClassDir,ParentDir,IsElite,ShowOnTop,Setting,Readme,PrevOrderID,trs
dim RootID,ParentDepth,ParentPath,ParentStr,ParentName,MaxClassID,MaxRootID
dim PrevID,NextID,Child
ClassName=Trim(request("ClassName"))
ClassDir=Trim(request("ClassDir"))
IsElite=Trim(request("IsElite"))
ShowOnTop=Trim(request("ShowOnTop"))
Readme=Trim(request("Readme"))
if ClassName="" then
FoundErr=True
ErrMsg=ErrMsg & "<br /><li>栏目名称不能为空!</li>"
end if
'if ClassDir="" then
' FoundErr=True
' ErrMsg=ErrMsg & "<br /><li>栏目目录不能为空!</li>"
'end if
if FoundErr=True then
exit sub
end if
set rs = Cl.Execute("select Max(ClassID) From Cl_LinkClass")
MaxClassID=rs(0)
if isnull(MaxClassID) then
MaxClassID=0
end if
rs.close
ClassID=MaxClassID+1
set rs=Cl.Execute("select max(rootid) From Cl_LinkClass")
MaxRootID=rs(0)
if isnull(MaxRootID) then
MaxRootID=0
end if
rs.close
RootID=MaxRootID+1
if ParentID>0 then
sql="select * From Cl_LinkClass where ClassID=" & ParentID & ""
rs.open sql,Conn,1,1
if rs.bof and rs.eof then
FoundErr=True
ErrMsg=ErrMsg & "<br /><li>所属栏目已经被删除!</li>"
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 '得到此栏目的父级栏目路径
ParentDir=rs("ParentDir") & rs("ClassDir") & "/" '得到此栏目的父级栏目目录
PrevOrderID=rs("OrderID")
if Child>0 then
dim rsPrevOrderID
'得到与本栏目同级的最后一个栏目的OrderID
set rsPrevOrderID=Cl.Execute("select Max(OrderID) From Cl_LinkClass where ParentID=" & ParentID)
PrevOrderID=rsPrevOrderID(0)
set trs=Cl.Execute("select ClassID from Cl_LinkClass where ParentID=" & ParentID & " and OrderID=" & PrevOrderID)
PrevID=trs(0)
'得到同一父栏目但比本栏目级数大的子栏目的最大OrderID,如果比前一个值大,则改用这个值。
set rsPrevOrderID=Cl.Execute("select Max(OrderID) From Cl_LinkClass 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=Cl.Execute("select ClassID from Cl_LinkClass where RootID=" & MaxRootID & " and Depth=0")
PrevID=trs(0)
trs.close
else
PrevID=0
end if
PrevOrderID=0
ParentPath="0"
ParentDir="/"
end if
'sql="Select * From Cl_LinkClass where ParentID=" & ParentID & " And (ClassName='" & ClassName & "' or ClassDir='"&ClassDir&"')"
sql="Select * From Cl_LinkClass 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 & " 或者已经存在目录:" & ClassDir & "。</li>"
else
ErrMsg=ErrMsg & "<br /><li>“" & ParentName & "”中已经存在子栏目“" & ClassName & "” 或者已经存在目录:" & ClassDir & "。</li>"
end if
rs.close:set rs=Nothing
exit sub
end if
rs.close
if IsElite="Yes" then
IsElite=True
else
IsElite=False
end if
if ShowOnTop="Yes" then
ShowOnTop=True
else
ShowOnTop=False
end if
if Readme<>"" or Not IsNull(Readme) then Readme=Replace(Readme,VbCrlf,"")
sql="Select top 1 * From Cl_LinkClass"
rs.open sql,Conn,1,3
rs.addnew
rs("ClassID")=ClassID
rs("ClassName")=ClassName
rs("ParentID")=ParentID
rs("ParentPath")=ParentPath
rs("ClassDir")=ClassDir
rs("ParentDir")=ParentDir
if ParentID>0 then
rs("Depth")=ParentDepth+1
else
rs("Depth")=0
end if
rs("RootID")=RootID
rs("Child")=0
rs("arrChildID")=ClassID
rs("PrevID")=PrevID
rs("NextID")=0
rs("OrderID")=PrevOrderID
rs("Readme")=Readme
rs("IsElite")=IsElite
rs("ShowOnTop")=ShowOnTop
rs.update
rs.Close:set rs=Nothing
'更新与本栏目同一父栏目的上一个栏目的“NextID”字段值
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -