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

📄 admin_createxml.asp

📁 个人网站比较简短
💻 ASP
📖 第 1 页 / 共 4 页
字号:
<!--#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 + -