📄 #union.mo
字号:
Option Explicit
TBBS.Vars("template") = "admin.union"
TBBS.SetNodes "unionbbs"
TBBS.AddNav "", TBBS.Lang("general_manage")
TBBS.AddNav "", TBBS.Lang("union_bbs_manage")
Call main()
Private Sub doGet()
TBBS.Vars("state") = 0
TBBS.Vars("seqid") = 0
End Sub
Private Sub doPost()
Select Case Request.QueryString("action")
Case "add"
Call doPostAdd
Case "updates"
Call doPostUpdates
Case "delete"
Call doPostDelete
Case Else
TBBS.AddError "invalid_handle", Array()
End Select
End Sub
Private Function CheckUnion(ByVal strId)
Dim xmlDoc, xmlNode, xmlAttr
Set xmlDoc = TBBS.GetXMLCache("UnionBBS")
Set xmlNode = XMLQuery(xmlDoc.documentElement, "union[@id = " & TBBS.Vars("id") & "]")
CheckUnion = CBool(Not xmlNode Is Nothing)
If CheckUnion 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("id") = atol(MyIO.Form("id"))
TBBS.Vars("name") = Trim(MyIO.Form("name"))
TBBS.Vars("addr") = MyIO.Form("addr")
TBBS.Vars("logo") = Trim(MyIO.Form("logo"))
If TBBS.Vars("name") = "" Then
TBBS.AddHint "empty_union_name", Array()
ElseIf Trim(TBBS.Vars("addr")) = "" Then
TBBS.AddHint "empty_addr", Array()
ElseIf Len(TBBS.Vars("name")) > 255 Then
TBBS.AddHint "name_too_long", Array()
ElseIf CheckUnion(TBBS.Vars("id")) Then
TBBS.AddHint "union_exists", Array()
Else
Set clsCmd = MyKernel.Command(T_UNIONBBS)
clsCmd.CommandType = "INSERT"
clsCmd.Add "id", TBBS.Vars("id")
clsCmd.Add "name", TBBS.Vars("name")
clsCmd.Add "addr", TBBS.Vars("addr")
clsCmd.Add "logo", TBBS.Vars("logo")
clsCmd.Exec
Set clsCmd = Nothing
TBBS.Vars("state") = 2
TBBS.AddHint "add_union_ok", Array()
TBBS.SetXMLCache "UnionBBS"
TBBS.SetNodes "unionbbs"
End If
End Sub
Private Sub doPostUpdates()
TBBS.Vars("state") = 3
Dim arrSeqId, arrId, arrName, arrAddr, arrLogo
Dim i
Dim clsCmd
arrSeqId = MyIO.FormArray("seqid")
arrId = MyIO.FormArray("id")
arrName = MyIO.FormArray("name")
arrAddr = MyIO.FormArray("addr")
arrLogo = MyIO.FormArray("logo")
If Not IsArray(arrSeqId) _
Or Not IsArray(arrId) _
Or Not IsArray(arrName) _
Or Not IsArray(arrAddr) _
Or Not IsArray(arrLogo) Then
TBBS.AddHint "choose_union_empty", Array()
ElseIf UBound(arrSeqId) = -1 Then
TBBS.AddHint "choose_union_empty", Array()
ElseIf UBound(arrSeqId) <> UBound(arrId) Then
TBBS.AddHint "invalid_union_id", Array()
ElseIf UBound(arrSeqId) <> UBound(arrName) Then
TBBS.AddHint "invalid_union_name", Array()
ElseIf UBound(arrSeqId) <> UBound(arrAddr) Then
TBBS.AddHint "invalid_union_addr", Array()
ElseIf UBound(arrSeqId) <> UBound(arrLogo) Then
TBBS.AddHint "invalid_union_logo", Array()
Else
Set clsCmd = MyKernel.Command(T_UNIONBBS)
For i = 0 To UBound(arrSeqId)
clsCmd.CommandType = "UPDATE"
clsCmd.Where = "SEQID=" & atol(arrSeqId(i))
clsCmd.Add "id", arrId(i)
clsCmd.Add "name", arrName(i)
clsCmd.Add "addr", arrAddr(i)
clsCmd.Add "logo", arrLogo(i)
clsCmd.Exec
Next
Set clsCmd = Nothing
TBBS.Vars("state") = 4
TBBS.AddHint "updates_union_ok", Array()
TBBS.SetXMLCache "UnionBBS"
TBBS.SetNodes "unionbbs"
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_union_empty", Array()
ElseIf Not IsNumericArray(arr) Then
TBBS.AddHint "invalid_handle", Array()
Else
TBBS.Vars("deletes") = MyKernel.DB.Exec("DELETE FROM " & T_UNIONBBS & " WHERE SEQID IN (" & Join(arr, ",") & ")")
TBBS.Vars("state") = 4
TBBS.AddHint "delete_union_ok", Array(TBBS.Vars("deletes"))
TBBS.SetXMLCache "UnionBBS"
TBBS.SetNodes "unionbbs"
End If
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -