#bulletin.mo
来自「WAPmo手机网站管理平台是一款创建与管理维护WAP网站的的软件产品」· MO 代码 · 共 154 行
MO
154 行
Option Explicit
TBBS.Vars("template") = "admin.bulletin"
TBBS.SetNodes "forums|bulletin"
TBBS.AddNav "", TBBS.Lang("general_manage")
TBBS.AddNav "", TBBS.Lang("bulletin_manage")
Call main()
Private Sub doGet()
TBBS.Vars("state") = 0
If Request.QueryString("action") = "edit" Then
TBBS.Vars("action_addr") = "admin.asp?handle=bulletin&action=edit&id=" & Request.QueryString("id")
TBBS.Vars("action_name") = TBBS.Lang("edit_bulletin")
If Not CheckBulletin(Request.QueryString("id")) Then
TBBS.Vars("state") = 1
TBBS.AddHint "missing_bulletin", Array()
End If
Else
TBBS.Vars("action_addr") = "admin.asp?handle=bulletin&action=add"
TBBS.Vars("action_name") = TBBS.Lang("add_bulletin")
TBBS.Vars("forumid") = 0
End If
End Sub
Private Sub doPost()
TBBS.Vars("action_addr") = "admin.asp?handle=bulletin&action=add"
TBBS.Vars("action_name") = TBBS.Lang("add_bulletin")
Select Case Request.QueryString("action")
Case "add"
Call doPostAdd
Case "edit"
TBBS.Vars("action_addr") = "admin.asp?handle=bulletin&action=edit&id=" & Request.QueryString("id")
TBBS.Vars("action_name") = TBBS.Lang("edit_bulletin")
Call doPostEdit
Case "delete"
Call doPostDelete
Case Else
TBBS.AddError "invalid_handle", Array()
End Select
End Sub
Private Function CheckBulletin(ByVal strId)
TBBS.Vars("id") = atol(strId)
If TBBS.Vars("id") = 0 Then
CheckBulletin = False
Exit Function
End If
Dim xmlDoc, xmlNode, xmlAttr
Set xmlDoc = TBBS.GetXMLCache("Bulletin")
Set xmlNode = XMLQuery(xmlDoc.documentElement, "bulletin[@seqid = " & TBBS.Vars("id") & "]")
CheckBulletin = CBool(Not xmlNode Is Nothing)
If CheckBulletin Then
For Each xmlAttr In xmlNode.attributes
TBBS.Vars(xmlAttr.name) = atos(xmlAttr.value)
Next
End If
Set xmlNode = Nothing
Set xmlDoc = Nothing
End Function
Private Sub doPostAdd()
Dim clsCmd
TBBS.Vars("state") = 1
TBBS.Vars("forumid") = atol(MyIO.Form("forumid"))
TBBS.Vars("title") = Trim(MyIO.Form("title"))
TBBS.Vars("content") = MyIO.Form("content")
If TBBS.Vars("title") = "" Then
TBBS.AddHint "empty_title", Array()
ElseIf Trim(TBBS.Vars("content")) = "" Then
TBBS.AddHint "empty_content", Array()
ElseIf Len(TBBS.Vars("title")) > 255 Then
TBBS.AddHint "title_too_long", Array()
ElseIf Not ValidForum() Then
TBBS.AddHint "missing_forum", Array()
Else
Set clsCmd = MyKernel.Command(T_BULLETIN)
clsCmd.CommandType = "INSERT"
clsCmd.Add "title", TBBS.Vars("title")
clsCmd.Add "content", TBBS.Vars("content")
clsCmd.Add "forumid", TBBS.Vars("forumid")
If TBBS.Vars("forumid") = 0 Then
clsCmd.Add "forumname", TBBS.Lang("bbs_index")
Else
clsCmd.Add "forumname", TBBS.Forum("crt.name")
End If
clsCmd.Add "postusername", MyKernel.Memory("username")
clsCmd.Add "posttime", TBBS.Vars("time")
clsCmd.Exec
Set clsCmd = Nothing
TBBS.Vars("state") = 2
TBBS.AddHint "add_bulletin_ok", Array()
TBBS.SetXMLCache "Bulletin"
TBBS.SetNodes "bulletin"
End If
End Sub
Private Function ValidForum()
If TBBS.Vars("forumid") = 0 Then
ValidForum = True
Else
ValidForum = TBBS.CheckForum("crt", TBBS.Vars("forumid"))
End If
End Function
Private Sub doPostEdit()
TBBS.Vars("state") = 1
If Not CheckBulletin(Request.QueryString("id")) Then
TBBS.AddHint "missing_bulletin", Array()
Exit Sub
End If
Dim clsCmd
TBBS.Vars("title") = Trim(MyIO.Form("title"))
TBBS.Vars("content") = MyIO.Form("content")
If TBBS.Vars("title") = "" Then
TBBS.AddHint "empty_title", Array()
ElseIf Trim(TBBS.Vars("content")) = "" Then
TBBS.AddHint "empty_content", Array()
ElseIf Len(TBBS.Vars("title")) > 255 Then
TBBS.AddHint "title_too_long", Array()
Else
Set clsCmd = MyKernel.Command(T_BULLETIN)
clsCmd.CommandType = "UPDATE"
clsCmd.Where = "SEQID=" & TBBS.Vars("seqid")
clsCmd.Add "title", TBBS.Vars("title")
clsCmd.Add "content", TBBS.Vars("content")
clsCmd.Add "postusername", MyKernel.Memory("username")
clsCmd.Add "posttime", TBBS.Vars("time")
clsCmd.Exec
Set clsCmd = Nothing
TBBS.Vars("state") = 2
TBBS.AddHint "edit_bulletin_ok", Array()
TBBS.SetXMLCache "Bulletin"
TBBS.SetNodes "bulletin"
End If
End Sub
Private Sub doPostDelete()
Dim arr
TBBS.Vars("state") = 3
arr = MyIO.FormArray("seqid")
If Not IsArray(arr) Then
TBBS.AddHint "choose_bulletin_empty", Array()
ElseIf Not IsNumericArray(arr) Then
TBBS.AddHint "invalid_handle", Array()
Else
TBBS.Vars("deletes") = MyKernel.DB.Exec("DELETE FROM " & T_BULLETIN & " WHERE SEQID IN (" & Join(arr, ",") & ")")
TBBS.Vars("state") = 4
TBBS.AddHint "delete_bulletin_ok", Array(TBBS.Vars("deletes"))
TBBS.SetXMLCache "Bulletin"
TBBS.SetNodes "bulletin"
End If
End Sub
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?