📄 admin_createxml.asp
字号:
<!--#include file="Admin_Common.asp"-->
<!--#include file="../Include/PowerEasy.FSO.asp"-->
<%
'**************************************************************
' Software name: PowerEasy SiteWeaver
' Web: http://www.powereasy.net
' Copyright (C) 2005-2008 佛山市动易网络科技有限公司 版权所有
'**************************************************************
Const NeedCheckComeUrl = True '是否需要检查外部访问
Const PurviewLevel = 1 '0--不检查,1--超级管理员,2--普通管理员
Const PurviewLevel_Channel = 0 '0--不检查,1--频道管理员,2--栏目总编,3--栏目管理员
Const PurviewLevel_Others = "" '其他权限
Dim strHTML
Dim tempNode, CreatChannel, CreatGuest, CreatAuthor, CreatUser, CreatSite, CreatAnnounce
'检查管理员操作权限
If AdminPurview > 1 And CheckPurview_Other(AdminPurview_Others, "XML_" & ChannelDir) = False Then
Response.Write "你没有此项操作的权限!"
Response.End
End If
Action = Trim(Request("Action"))
Response.Write "<html><head><title>更新XML数据</title>" & vbCrLf
Response.Write "<meta http-equiv='Content-Type' content='text/html; charset=gb2312'>" & vbCrLf
Response.Write "<link href='Admin_Style.css' rel='stylesheet' type='text/css'>" & vbCrLf
Response.Write "</head>" & vbCrLf
Response.Write "<body leftmargin='2' topmargin='0' marginwidth='0' marginheight='0'>" & vbCrLf
Set XMLDOM = Server.CreateObject("Microsoft.FreeThreadedXMLDOM")
XMLDOM.appendChild (XMLDOM.createProcessingInstruction("xml", "version=""1.0"" encoding=""gb2312"""))
If Action = "" Then
CreatChannel = Trim(Request("Channel"))
CreatGuest = Trim(Request("Guest"))
CreatAuthor = Trim(Request("Author"))
CreatUser = Trim(Request("User"))
CreatSite = Trim(Request("Site"))
CreatAnnounce = Trim(Request("Announce"))
Response.Write "<br><br><b>正在生成XML数据输出页面..........<br>" & vbCrLf
XMLDOM.appendChild (XMLDOM.createElement("powereasy"))
XMLDOM.documentElement.Attributes.setNamedItem(XMLDOM.createNode(2, "version", "")).text = "2006"
Set Node = XMLDOM.createNode(1, "SiteName", "")
Node.text = SiteName
XMLDOM.documentElement.appendChild (Node)
Set Node = XMLDOM.createNode(1, "SiteTitle", "")
Node.text = SiteTitle
XMLDOM.documentElement.appendChild (Node)
Set Node = XMLDOM.createNode(1, "SiteUrl", "")
Node.text = SiteUrl
XMLDOM.documentElement.appendChild (Node)
Set Node = XMLDOM.createNode(1, "InstallDir", "")
Node.text = InstallDir
XMLDOM.documentElement.appendChild (Node)
Set Node = XMLDOM.createNode(1, "LogoUrl", "")
Node.text = LogoUrl
XMLDOM.documentElement.appendChild (Node)
Set Node = XMLDOM.createNode(1, "BannerUrl", "")
Node.text = BannerUrl
XMLDOM.documentElement.appendChild (Node)
Set Node = XMLDOM.createNode(1, "WebmasterName", "")
Node.text = WebmasterName
XMLDOM.documentElement.appendChild (Node)
Set Node = XMLDOM.createNode(1, "WebmasterEmail", "")
Node.text = WebmasterEmail
XMLDOM.documentElement.appendChild (Node)
Set Node = XMLDOM.createNode(1, "Copyright", "")
Node.text = Copyright
XMLDOM.documentElement.appendChild (Node)
If CreatChannel = True Then
If ChannelID = 0 Then
sqlChannel = "select ChannelID,OrderID,ChannelName,ChannelType,LinkUrl,ChannelDir,ModuleType,ReadMe,ChannelPicUrl,Disabled,ItemCount,ItemChecked,CommentCount from PE_Channel where Disabled = " & PE_False & " order by OrderID"
Else
sqlChannel = "select ChannelID,OrderID,ChannelName,ChannelType,LinkUrl,ChannelDir,ModuleType,ReadMe,ChannelPicUrl,Disabled,ItemCount,ItemChecked,CommentCount from PE_Channel where ChannelID=" & ChannelID & " and Disabled = " & PE_False & " and ChannelType=0 order by OrderID"
End If
Set rsChannel = Conn.Execute(sqlChannel)
If rsChannel.BOF And rsChannel.EOF Then
Set Node = XMLDOM.createNode(1, "errmsg", "")
Node.text = "找不到指定的频道,或频道已被禁用!"
Else
Do While Not rsChannel.EOF
Set Node = XMLDOM.createNode(1, "Channel", "")
XMLDOM.documentElement.appendChild (Node)
Set SubNode = XMLDOM.createNode(2, "ChannelID", "")
SubNode.text = rsChannel("ChannelID")
Node.Attributes.setNamedItem (SubNode)
Set SubNode = XMLDOM.createNode(2, "ChannelName", "")
SubNode.text = rsChannel("ChannelName")
Node.Attributes.setNamedItem (SubNode)
Set SubNode = XMLDOM.createNode(2, "ChannelReadMe", "")
If Not (rsChannel("ReadMe") = "" Or IsNull(rsChannel("ReadMe"))) Then SubNode.text = rsChannel("ReadMe")
Node.Attributes.setNamedItem (SubNode)
Set SubNode = XMLDOM.createNode(2, "ChannelPicUrl", "")
If Not (rsChannel("ChannelPicUrl") = "" Or IsNull(rsChannel("ChannelPicUrl"))) Then SubNode.text = rsChannel("ChannelPicUrl")
Node.Attributes.setNamedItem (SubNode)
Set SubNode = XMLDOM.createNode(2, "ModuleType", "")
SubNode.text = rsChannel("ModuleType")
Node.Attributes.setNamedItem (SubNode)
Set SubNode = XMLDOM.createNode(2, "ChannelType", "")
SubNode.text = rsChannel("ChannelType")
Node.Attributes.setNamedItem (SubNode)
Set SubNode = XMLDOM.createNode(2, "ItemCount", "")
SubNode.text = rsChannel("ItemCount")
Node.Attributes.setNamedItem (SubNode)
Set SubNode = XMLDOM.createNode(2, "ItemChecked", "")
SubNode.text = rsChannel("ItemChecked")
Node.Attributes.setNamedItem (SubNode)
Set SubNode = XMLDOM.createNode(2, "CommentCount", "")
SubNode.text = rsChannel("CommentCount")
Node.Attributes.setNamedItem (SubNode)
Set SubNode = XMLDOM.createNode(2, "LinkUrl", "")
If rsChannel("ChannelType") = 0 Then
SubNode.text = SiteUrl & "/" & rsChannel("ChannelDir")
Else
If Not (rsChannel("LinkUrl") = "" Or IsNull(rsChannel("LinkUrl"))) Then SubNode.text = rsChannel("LinkUrl")
End If
Node.Attributes.setNamedItem (SubNode)
If rsChannel("ChannelType") = 0 Then
If rsChannel("ModuleType") = 4 Then
If CreatGuest = True Then Call ShowGuestClass
Else
Call ShowClass(rsChannel("ChannelID"), rsChannel("ModuleType"))
End If
rsChannel.MoveNext
Else
rsChannel.MoveNext
End If
Loop
End If
rsChannel.Close
Set rsChannel = Nothing
End If
If ChannelID = 0 Then
If CreatUser = True Then Call ShowUserXml
If CreatAuthor = True Then Call ShowAuthorXml
If CreatSite = True Then Call ShowFsClass
If CreatAnnounce = True Then Call ShowAnnounce
End If
If ChannelID = 0 Then
XMLDOM.save (Server.MapPath(InstallDir & "xml/xml.xml"))
Else
XMLDOM.save (Server.MapPath(InstallDir & "xml/xml_Channel_" & ChannelID & ".xml"))
End If
Set Node = Nothing
Set SubNode = Nothing
Set XMLDOM = Nothing
If ChannelID = 0 Then
Response.Write "生成页面(<a href='" & InstallDir & "xml/xml.xml'>" & InstallDir & "xml/xml.xml</a>)<font color=red>成功!</font></b>"
Else
Response.Write "生成页面(<a href='" & InstallDir & "xml/xml_Channel_" & ChannelID & ".xml'>" & InstallDir & "xml/xml_Channel_" & ChannelID & ".xml</a>)<font color=red>成功!</font></b>" & vbCrLf
End If
ElseIf Action = "GreatNav" Then
If ChannelID = 0 Then
Response.Write "<Li>频道ID数据输入错误!</Li>" & vbCrLf
Else
Dim rsChannel
Set rsChannel = Conn.Execute("select top 1 ChannelID,OrderID,ChannelName,ChannelType,LinkUrl,ChannelDir,ModuleType,Disabled,UseCreateHTML,ListFileType,FileExt_List from PE_Channel where ChannelID=" & ChannelID & " and Disabled = " & PE_False & " and ModuleType<6 order by OrderID")
If rsChannel.BOF And rsChannel.EOF Then
Response.Write "<Li>找不到指定的频道,或频道已被禁用!</Li>"
rsChannel.Close
Set rsChannel = Nothing
Response.End
Else
ChannelDir = rsChannel("ChannelDir")
UseCreateHTML = rsChannel("UseCreateHTML")
ListFileType = rsChannel("ListFileType")
FileExt_List = rsChannel("FileExt_List")
strHTML = "<?xml version=""1.0"" encoding=""GB2312""?>" & vbCrLf
strHTML = strHTML & ("<menu>" & vbCrLf)
If rsChannel("ModuleType") = 4 Then
Call ShowGuestNav
Else
Call ShowNav(rsChannel("ChannelID"))
End If
strHTML = strHTML & ("</menu>" & vbCrLf)
rsChannel.Close
Set rsChannel = Nothing
End If
Call WriteToFile(InstallDir & "xml/nav_" & ChannelID & ".xml", strHTML)
End If
Response.Write "<b>生成网站频道" & ChannelID & "XML栏目导航数据输出页面(" & InstallDir & "xml/nav_" & ChannelID & ".xml)成功!</b><br><br>" & vbCrLf
End If
Response.Write "</body></html>"
Call CloseConn
Sub ShowClass(ByVal iChannelID, ByVal iType)
Dim rsClass, sqlClass, preDepth, i, ClassNode, ClassNodeTemp
sqlClass = "select ClassID,ClassName,Depth,ParentID,NextID,LinkUrl,Child,Readme,ClassPicUrl,ClassType,ParentDir,ClassDir,OpenType,ItemCount from PE_Class where ChannelID=" & iChannelID & " order by RootID,OrderID"
Set rsClass = Conn.Execute(sqlClass)
If Not (rsClass.BOF And rsClass.EOF) Then
Do While Not rsClass.EOF
Set SubNode = Node.appendChild(XMLDOM.createElement("Class"))
Set ClassNodeTemp = XMLDOM.createNode(2, "ClassID", "")
ClassNodeTemp.text = rsClass("ClassID")
SubNode.Attributes.setNamedItem (ClassNodeTemp)
Set ClassNodeTemp = XMLDOM.createNode(2, "ClassName", "")
ClassNodeTemp.text = xml_nohtml(rsClass("ClassName"))
SubNode.Attributes.setNamedItem (ClassNodeTemp)
Set ClassNodeTemp = XMLDOM.createNode(2, "ClassReadme", "")
If Not (rsClass("Readme") = "" Or IsNull(rsClass("Readme"))) Then ClassNodeTemp.text = xml_nohtml(rsClass("Readme"))
SubNode.Attributes.setNamedItem (ClassNodeTemp)
Set ClassNodeTemp = XMLDOM.createNode(2, "ClassPic", "")
If Not (rsClass("ClassPicUrl") = "" Or IsNull(rsClass("ClassPicUrl"))) Then ClassNodeTemp.text = rsClass("ClassPicUrl")
SubNode.Attributes.setNamedItem (ClassNodeTemp)
Set ClassNodeTemp = XMLDOM.createNode(2, "ClassDir", "")
ClassNodeTemp.text = rsClass("ParentDir") & rsClass("ClassDir")
SubNode.Attributes.setNamedItem (ClassNodeTemp)
Set ClassNodeTemp = XMLDOM.createNode(2, "Depth", "")
ClassNodeTemp.text = rsClass("Depth")
SubNode.Attributes.setNamedItem (ClassNodeTemp)
Set ClassNodeTemp = XMLDOM.createNode(2, "ItemCount", "")
ClassNodeTemp.text = rsClass("ItemCount")
SubNode.Attributes.setNamedItem (ClassNodeTemp)
Select Case iType
Case 1
Call ShowArticle(rsClass("ClassID"))
Case 2
Call ShowSoft(rsClass("ClassID"))
Case 3
Call ShowPhoto(rsClass("ClassID"))
Case 5
Call ShowProduct(rsClass("ClassID"))
End Select
rsClass.MoveNext
Loop
End If
rsClass.Close
Set rsClass = Nothing
End Sub
Sub ShowGuestClass()
Dim rsGuest, sqlGuest, SubNode2
Set SubNode = Node.appendChild(XMLDOM.createElement("Class"))
Set SubNode2 = XMLDOM.createNode(2, "ClassID", "")
SubNode2.text = 0
SubNode.Attributes.setNamedItem (SubNode2)
Set SubNode2 = XMLDOM.createNode(2, "ClassName", "")
SubNode2.text = "未分类栏目"
SubNode.Attributes.setNamedItem (SubNode2)
Set SubNode2 = XMLDOM.createNode(2, "ClassReadme", "")
SubNode2.text = ""
SubNode.Attributes.setNamedItem (SubNode2)
Set SubNode2 = XMLDOM.createNode(2, "ClassOrder", "")
SubNode2.text = 0
SubNode.Attributes.setNamedItem (SubNode2)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -