savexml.asp

来自「论坛BBS」· ASP 代码 · 共 117 行

ASP
117
字号
<%@ language="vbscript"%>
<%
    Dim str 
    Dim op,action,uid,group,name,email,subject,body,id,lv,bbsid,curxfile
    Dim strXml 
  
	uid="d" & DateDiff ( "s" ,  "2000-1-1"  ,now )	
   
    group = Request.Form("group")
	id=Request.Form("id") 'filename
    action=Request.Form("action")
	name=Request.Form("name")
	email=Request.Form("email")
	subject=Request.Form("subject")
	body=Request.Form("body")
	lv=Request.Form("lv")
	bbsid=Request.Form("bbsid")
	curxfile=Request.Form("curxfile")
	if group="" then
	   Response.Write("<script>alert('请先进入一个讨论组!再发贴子.');history.back();</script>")
       response.End()
   
	end if
       'Response.Write("数据交换岛无数据!" & group &"111"& Request.Form("id"))       
   ' On Error Resume Next   
   
    If Len(body) > 10000 Then 
        Response.Write("<script>alert('数据量超过10000个字,保存规则不容许!')<script>")
        Response.End()
    End IF
    set doc=server.CreateObject("MsXml2.DOMDocument")
   
   'if ($action eq 'display' && $dhtml == 1) { &DisplayIndex; }
  'elsif ($action eq 'groups') { &DisplayGroups; }
  'elsif ($action eq 'tree') { &DisplayTree; }
  'elsif ($action eq 'admintree') { &DisplayTree; }
  'elsif ($action eq 'display' || $action eq 'preview') { &DisplayMsg; }
  'elsif ($action eq 'post') { &DisplayPost; }
  'elsif ($action eq 'new' || $action eq 'reply' || $action eq 'edit') { &WriteNew; }
  'elsif ($action eq 'delete') { &Delete; }
  'elsif ($action eq 'admin') { &DisplayIndex; }
  'elsif ($action eq '') { &DisplayIndex; }
  'elsif ($action eq 'newgroup') { &NewGroup; }
  'elsif ($action eq 'updategroup') { &UpdateGroup; }
  'elsif ($action eq 'removegroup') { &RemoveGroup; }
  'elsif ($action eq 'updatepassword') { &UpdatePwd; }
  'elsif ($action eq 'loadselect') { &LoadSelect; }
  'elsif ($action eq 'error') { &LogError; }
  'else { &DisplayError('Invalid Action'); }
    Select Case action
    Case "new"
		doc.Load(server.mappath("data/" & group &"/"& "l1.xml"))		
		set root = doc.documentElement
		'Dim CData As XmlCDataSection
        'CData = doc.CreateCDataSection(body)
		'Create a new node. uid是第一个帖的文件名,也是任何帖的唯一标志
		icount =doc.selectNodes("//*[@id]").length
		Const maxBBs =300
		Dim elem
		
			set elem = doc.CreateElement("l1")
			elem.SetAttribute "id", uid
			elem.text=  "0|:|"& name & "|:|"& email & "|:|" & subject &"|:|"& now &"|:|"& uid
			root.AppendChild(elem)
			doc.Save(server.mappath("data/" & group &"/"& "l1.xml"))	
		
      	'再保存文件内容
		doc.LoadXml("<?xml version=""1.0"" encoding=""gb2312""?><data><nextnode/></data>")
		set root = doc.documentElement
		set elem= doc.CreateElement(uid)
        elem.text= body 
        'Add the node to the document.
        root.AppendChild elem
		doc.Save(server.mappath("data/" & group &"/"& uid & ".xml"))
    Case "reply"       
		doc.Load(server.mappath("data/" & group &"/"& curxfile))
		set root = doc.documentElement
		set elem = doc.CreateElement("l"& (cint(lv)+1))
		elem.SetAttribute "id", uid
		elem.text=  lv & "|:|"& name & "|:|"& email & "|:|" & subject &"|:|"& now &"|:|"& uid		
		doc.selectNodes("//l"& lv &"[@id = '"& bbsid &"']").item(0).AppendChild elem
		doc.Save(server.mappath("data/" & group &"/"& curxfile))
      	'再保存文件内容
		doc.Load(server.mappath("data/" & group &"/"& id & ".xml"))
		set root = doc.documentElement
		set elem= doc.CreateElement(uid)
        elem.text= body 
        'Add the node to the document.
        root.AppendChild elem 
		doc.Save(server.mappath("data/" & group &"/"& id & ".xml"))
    Case "groups"'在我的站点上不久将建立该方法,请届时访问获得支持		
    Case "edit"       
	Case "delete"       
	Case "newgroup"
	case "updategroup"   
	Case "removegroup"
	Case "updatepassword"
	Case "addperfect" '加精华
	Case "deleteperfect" '删精华
	Case "addmanager" '加斑竹
	Case "addpower" '加权限
	Case "modifypower" '修改权限
	Case "killip" '禁止IP
	Case "sendmsg" '系统广播	
       
    End Select
		
    If Err.Number = 0 Then
        Response.Write("<script>top.opener.parent.frames['oeBar'].loadTree('"& group &"')</script>" & vbcrlf)
		Response.Write("<script>alert('保存成功!');self.close();</script>")
    Else
        Response.Write("<script>alert('出现异常!" & err.description & "');history.back();</script>")
    End IF
	
%>

⌨️ 快捷键说明

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