📄 class_action.asp
字号:
<% Option Explicit %>
<!--#include file="../../FS_Inc/Const.asp" -->
<!--#include file="../../FS_Inc/Function.asp"-->
<!--#include file="../../FS_InterFace/MF_Function.asp" -->
<!--#include file="../../FS_InterFace/NS_Function.asp" -->
<!--#include file="lib/cls_main.asp" -->
<%'CopyRight (c) 2006 Fooun Inc. Code by Simpwind.Xie
Dim Conn,User_Conn,strShowErr
MF_Default_Conn
MF_User_Conn
'session判断
MF_Session_TF
'权限判断
'Call MF_Check_Pop_TF("NS_Class_000001")
'得到会员组列表
dim Fs_news
set Fs_news = new Cls_News
Fs_News.GetSysParam()
If Not Fs_news.IsSelfRefer Then response.write "非法提交数据":Response.end
if Request.Form("actionType") = "xml" then
Response.Write("生成xml")
Response.end
Elseif Request.Form("actionType") = "html" then
Response.Write("生成html")
Response.end
End if
if Request("Action") = "makeXML" then
if not Get_SubPop_TF("","NS022","NS","class") then Err_Show
dim cid
cid=NoSqlHack(Replace(Request("Cid")," ",""))
if trim(cid)=empty then
strShowErr = "<li>请选择栏目</li>"
Response.Redirect("lib/Error.asp?ErrCodes="&Server.URLEncode(strShowErr)&"&ErrorUrl=")
Response.end
end if
Response.Redirect "Class_makerss.asp?cid="& cid &""
Response.end
End if
'---2007-02-06 By Ken ---批量删除栏目-------
If Request.Form("Action") = "DelClass" then
Dim NewsConfigTF,DleClassObj,VRootStr,Str_DelClassID
Dim DelClassIDStr,DelNum,DelXmlStr,DelAllClassIDStr
Dim Arr_Num,Arr_i,Class_i,Class_Num
Dim ArrC_Num,ArrC_i,CheckTopClassRs
'---获取删除栏目的id
DelClassIDStr = Request.Form("Cid")
'---获取系统参数,是直接删除还是删除到回收站中
NewsConfigTF = fs_news.ReycleTF
'---取得系统的虚拟目录
If G_VIRTUAL_ROOT_DIR <> "" Then
VRootStr = "/" & G_VIRTUAL_ROOT_DIR
Else
VRootStr = ""
End If
'---如果删除栏目id为空返回错误
If DelClassIDStr = "" Then
strShowErr = "<li><font color=""#ff0000"">没有选择要删除的栏目</font></li>"
Response.Redirect("lib/Error.asp?ErrCodes="&Server.URLEncode(strShowErr)&"&ErrorUrl=")
Response.end
Else
'---对需要删除的栏目id进行格式化
If Instr(DelClassIDStr,",") > 0 Then
DelClassIDStr = Replace(Replace(DelClassIDStr," ,",","),", ",",")
Class_Num = Split(DelClassIDStr,",")
For Class_i = LBound(Class_Num) To UBound(Class_Num)
Set CheckTopClassRs = Conn.ExeCute("Select ParentID,ClassID From FS_NS_NewsClass Where ClassID = '" & Class_Num(Class_i) & "' And ReycleTF = 0 Order By OrderID Desc,ID Desc")
If CheckTopClassRs(0) <> "0" Then
If InStrTopIDTF(Class_Num(Class_i),DelClassIDStr) = True Then
DelClassIDStr = Replace(DelClassIDStr,"," & Class_Num(Class_i),"")
End If
End If
CheckTopClassRs.CLose : Set CheckTopClassRs = Nothing
Next
Str_DelClassID = DelClassIDStr
ArrC_Num = Split(Str_DelClassID,",")
For ArrC_i = LBound(ArrC_Num) To Ubound(ArrC_Num)
DelAllClassIDStr = DelAllClassIDStr & "," & GetAllChildRenClassID(ArrC_Num(ArrC_i))
Next
Else
DelAllClassIDStr = GetAllChildRenClassID(DelClassIDStr)
End If
If Left(DelAllClassIDStr,1) = "," Then
DelAllClassIDStr = Right(DelAllClassIDStr,Len(DelAllClassIDStr) - 1)
End If
If Instr(DelAllClassIDStr,",") > 0 Then
Arr_Num = Split(DelAllClassIDStr,",")
DelNum = Clng(Ubound(Arr_Num) + 1)
Else
Arr_Num = 0
DelNum = 1
End If
'---如果为彻底删除
If NewsConfigTF = 0 Then
On Error Resume Next
'---物理删除所选栏目已生成的静态文件
Set DleClassObj = Conn.ExeCute("Select SavePath,ClassEName,IsURL From Fs_Ns_NewsClass Where ClassID In(" & DelAllClassIDStr & ")")
While Not DleClassObj.Eof
If Cint(DleClassObj(2)) = 0 Then
If DleClassObj(0) = "/" Then
fso_DeleteFolder("/" & DleClassObj(1))
Else
fso_DeleteFolder(VRootStr & DleClassObj(0) & "/" & DleClassObj(1))
End If
End IF
DleClassObj.MoveNext
Wend
'---从数据库中删除所选栏目
Conn.ExeCute("Delete From Fs_Ns_NewsClass Where ClassID In(" & DelAllClassIDStr & ")")
Conn.ExeCute("Delete From Fs_Ns_News Where ClassID In(" & DelAllClassIDStr & ")")
'---同时更新xml文件
If Arr_Num = 0 Then
DelXmlStr = fso_DeleteFile("../../FS_InterFace/xml/NS/" & Replace(DelAllClassIDStr,"'","") & ".xml")
Else
For Arr_i = LBound(Arr_Num) To UBound(Arr_Num)
DelXmlStr = fso_DeleteFile("../../FS_InterFace/xml/NS/" & Replace(Arr_Num(Arr_i),"'","") & ".xml")
Next
End If
Call Makexml("0")
If DelXmlStr = True Then
DelXmlStr = "同时更新了xml文件"
Else
DelXmlStr = "同时更新了xml文件。状态:更新不成功.可能是您的目录不支持写入权限"
End If
If Error.Number = 0 Then
'---将操作写入系统管理日志
Call MF_Insert_oper_Log("删除栏目","删除栏目ClassID:"& Replace(DelAllClassIDStr,"'","") &"及子类栏目,同时删除了此栏目下的所有信息,彻底删除",now,session("admin_name"),"NS")
'---删除成功返回结果
strShowErr = "<li><font color=""#ff0000"">删除成功</font></li><li>所选栏目(共<strong style=""color:#FF0000"">" & DelNum & "</strong>个)已彻底删除</li><li>" & DelXmlStr & "</li>"
Response.Redirect("lib/Success.asp?ErrCodes="&Server.URLEncode(strShowErr)&"&ErrorUrl=../Class_Manage.asp")
Response.end
Else
Error.Clear
'---删除失败返回结果
strShowErr = "<li><font color=""#ff0000"">发生错误,部分栏目删除失败</font></li>"
Response.Redirect("lib/Error.asp?ErrCodes="&Server.URLEncode(strShowErr)&"&ErrorUrl=")
Response.end
End If
Else '---如果删除到回收站
On Error Resume Next
Conn.ExeCute("Update Fs_Ns_NewsClass Set ReycleTF = 1 Where ClassID In(" & DelAllClassIDStr & ")")
Conn.ExeCute("Update Fs_Ns_News Set ReycleTF = 1 Where ClassID In(" & DelAllClassIDStr & ")")
'---同时更新xml文件
If Arr_Num = 0 Then
DelXmlStr = fso_DeleteFile("../../FS_InterFace/xml/NS/" & Replace(DelAllClassIDStr,"'","") & ".xml")
Else
For Arr_i = LBound(Arr_Num) To UBound(Arr_Num)
DelXmlStr = fso_DeleteFile("../../FS_InterFace/xml/NS/" & Replace(Arr_Num(Arr_i),"'","") & ".xml")
Next
End If
Call Makexml("0")
If DelXmlStr = True Then
DelXmlStr = "同时更新了xml文件"
Else
DelXmlStr = "同时更新了xml文件。状态:更新不成功.可能是您的目录不支持写入权限"
End If
If Error.Number = 0 Then
'---将操作写入系统管理日志
Call MF_Insert_oper_Log("删除栏目","删除栏目ClassID:"& Replace(DelAllClassIDStr,"'","") &"及子类栏目,同时删除了此栏目下的所有信息,删除到回收站",now,session("admin_name"),"NS")
'---删除成功返回结果
strShowErr = "<li><font color=""#ff0000"">删除成功</font></li><li>所选栏目(共<strong style=""color:#FF0000"">" & DelNum & "</strong>个)已放入回收站,可以从回收站中恢复</li><li>" & DelXmlStr & "</li>"
Response.Redirect("lib/Success.asp?ErrCodes="&Server.URLEncode(strShowErr)&"&ErrorUrl=../Class_Manage.asp")
Response.end
Else
Error.Clear
'---删除失败返回结果
strShowErr = "<li><font color=""#ff0000"">发生错误,部分栏目删除失败</font></li>"
Response.Redirect("lib/Error.asp?ErrCodes="&Server.URLEncode(strShowErr)&"&ErrorUrl=")
Response.end
End If
End If
End If
End If
Function InStrTopIDTF(ClassID,InStrID)
Dim GetTopIDRs,StrID,ArrIDNum,Arr_i,InstrNum
Set GetTopIDRs = Conn.ExeCute("Select ParentID,ClassID From FS_NS_NewsClass Where ClassID = '" & ClassID & "' And ReycleTF = 0 Order By OrderID Desc,ID Desc")
If Not GetTopIDRs.Eof Then
Do While GetTopIDRs(0) <> "0"
Set GetTopIDRs = Conn.ExeCute("Select ParentID,ClassID From FS_NS_NewsClass Where ClassID = '" & GetTopIDRs(0) & "' And ReycleTF = 0 Order By OrderID Desc,ID Desc")
StrID = StrID & "," & GetTopIDRs(1)
Loop
End If
GetTopIDRs.Close : Set GetTopIDRs = Nothing
StrID = Replace(Replace(StrID," ,",","),", ",",")
If Left(StrID,1) = "," Then
StrID = Right(StrID,Len(StrID) - 1)
End If
If Instr(StrID,",") > 0 Then
ArrIDNum = Split(StrID,",")
For Arr_i = LBound(ArrIDNum) To UBound(ArrIDNum)
InstrNum = Clng(InstrNum + Instr(InStrID,ArrIDNum(Arr_i)))
Next
Else
InstrNum = Instr(InStrID,StrID)
End If
If InstrNum > 0 Then
InStrTopIDTF = True
Else
InStrTopIDTF = False
End If
End Function
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>栏目管理___Powered by foosun Inc.</title>
<link href="../images/skin/Css_<%=Session("Admin_Style_Num")%>/<%=Session("Admin_Style_Num")%>.css" rel="stylesheet" type="text/css">
</head>
<body>
<table width="98%" border="0" align="center" cellpadding="5" cellspacing="1" class="table">
<tr class="hback">
<td class="xingmu">栏目管理<a href="../../help?Lable=NS_Class_Action" target="_blank" style="cursor:help;'" class="sd"><img src="../Images/_help.gif" border="0"></a></td>
</tr>
<tr>
<td height="18" class="hback"><div align="left"><a href="Class_Manage.asp">管理首页</a>┆<a href="Class_add.asp?ClassID=&Action=add">添加根栏目</a>┆<a href="Class_Action.asp?Action=one">一级栏目排序</a>┆<a href="Class_Action.asp?Action=n">N级栏目排序</a>┆<a href="Class_Action.asp?Action=reset" onClick="{if(confirm('确认复位所有栏目?\n\n如果选择确定,所有的栏目将设置为一级分类!!')){return true;}return false;}">复位所有栏目</a>┆<a href="Class_Action.asp?Action=unite">栏目合并</a>┆<a href="Class_Action.asp?Action=allmove">栏目转移</a>┆<a href="Class_Action.asp?Action=clearClass" onClick="{if(confirm('确认清空所有栏目里的数据吗?\n\n如果选择确定,所有的栏目的新闻将被放到回收站中!!')){return true;}return false;}">删除所有栏目</a>
<a href="../../help?Lable=NS_Class_Action_1" target="_blank" style="cursor:help;'" class="sd"><img src="../Images/_help.gif" border="0"></a></div></td>
</tr>
</table>
<%
Dim str_Action,obj_news_rs,obj_news_rs_1,isUrlStr
str_Action = Request("Action")
Select Case str_Action
Case "one"
Call OrderOne()
Case "n"
Call OrderN()
Case "Order_one"
Call UpdateOrderID()
Case "Order_n"
Call UpdateOrderIDN()
Case "del"
Call delclass()
Case "reset"
Call resetClass()
Case "unite"
Call Classunite()
Case "Saveunite"
Call Saveunite()
Case "allmove"
Call allmove()
Case "clearClass"
Call clearClass()
Case "clear"
Call one_clear()
Case "SaveAllmove"
Call allmove_save()
End Select
Sub OrderOne()
%>
<table width="98%" border="0" align="center" cellpadding="5" cellspacing="1" class="table">
<tr class="hback">
<td height="22" class="xingmu">栏目名称</td>
<td height="22" class="xingmu"><div align="center">ID</div></td>
<td class="xingmu"><div align="center">操作</div></td>
</tr>
<%
Set obj_news_rs = server.CreateObject(G_FS_RS)
obj_news_rs.Open "Select Orderid,id,ClassID,ParentID,ClassName from FS_NS_NewsClass where Parentid = '0' Order by Orderid desc,ID desc",Conn,1,3
Do while Not obj_news_rs.eof
%>
<form name="ClassForm" method="post" action="Class_Action.asp">
<tr class="hback">
<td width="39%" height="31" class="hback"><img src="images/%2B.gif" width="15" height="15">
<% = obj_news_rs("ClassName") %> </td>
<td width="21%" class="hback"><div align="center">
<% = obj_news_rs("ID") %>
</div></td>
<td width="40%" class="hback"><div align="center">
<input name="OrderID" type="text" id="OrderID" value="<% = obj_news_rs("OrderID") %>" size="4" maxlength="3">
<input name="ClassID" type="hidden" id="ClassID" value="<% = obj_news_rs("ClassID") %>">
<input name="Action" type="hidden" id="ClassID" value="Order_one">
<input type="submit" name="Submit" value="更新权重(排列序号)">
</div></td>
</tr>
</form>
<%
obj_news_rs.MoveNext
loop
%>
</table>
<table width="98%" border="0" align="center" cellpadding="5" cellspacing="1" class="table">
<tr>
<td class="hback">说明:权重(排列序号)数字越大排得越靠前.如果权重(排列序号)数字相同,就根据ID来排列</td>
</tr>
</table>
<%
obj_news_rs.close
set obj_news_rs =nothing
End Sub
Sub OrderN()
%>
<table width="98%" border="0" align="center" cellpadding="5" cellspacing="1" class="table">
<tr class="hback">
<td height="22" class="xingmu">栏目名称</td>
<td height="22" class="xingmu"><div align="center">ID</div></td>
<td class="xingmu"><div align="center">操作</div></td>
</tr>
<%
Set obj_news_rs = server.CreateObject(G_FS_RS)
obj_news_rs.Open "Select Orderid,id,ClassID,ParentID,ClassName from FS_NS_NewsClass where Parentid = '0' Order by Orderid desc,ID desc",Conn,1,3
Do while Not obj_news_rs.eof
%>
<tr class="hback">
<td width="39%" height="28" class="hback"><img src="images/%2B.gif" width="15" height="15">
<% = obj_news_rs("ClassName") %> </td>
<td width="21%" class="hback"><div align="center">
<% = obj_news_rs("ID") %>
</div></td>
<td width="40%" class="hback"><div align="center"> </div></td>
</tr>
<%
Response.Write(Fs_news.GetChildNewsList_order(obj_news_rs("ClassID"),""))
obj_news_rs.MoveNext
loop
%>
</table>
<table width="98%" border="0" align="center" cellpadding="5" cellspacing="1" class="table">
<tr>
<td class="hback">说明:权重(排列序号)数字越大排得越靠前.如果权重(排列序号)数字相同,就根据ID来排列</td>
</tr>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -