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

📄 #group.mo

📁 WAPmo手机网站管理平台是一款创建与管理维护WAP网站的的软件产品
💻 MO
字号:
Option Explicit

TBBS.Vars("template") = "admin.group"
TBBS.SetNodes "group"
TBBS.AddNav "", TBBS.Lang("user_manage")

Call main()

Private Sub doGet()
    Select Case TBBS.Vars("action")
    Case "edit"
        Call doGetEdit()
    Case Else
        TBBS.AddNav "", TBBS.Lang("user_group_manage")
    End Select
End Sub

Private Sub doPost()
    Select Case TBBS.Vars("action")
    Case "save"
        TBBS.AddNav "", TBBS.Lang("user_group_manage")
        Call doPostSave
    Case "edit"
        TBBS.AddNav "admin.asp?handle=group", TBBS.Lang("user_group_manage")
        Call doPostEdit
    Case "delete"
        TBBS.AddNav "", TBBS.Lang("user_group_manage")
        Call doPostDelete
    Case Else
        TBBS.AddNav "", TBBS.Lang("user_group_manage")
        TBBS.AddError "invalid_handle", Array()
    End Select
End Sub

Private Sub doGetEdit()
    TBBS.AddNav "admin.asp?handle=group", TBBS.Lang("user_group_manage")
    If Not CheckGroup("crt", Request.QueryString("id")) Then
        TBBS.Vars("state") = 1
        TBBS.AddHint "missing_edit_group", Array()
    End If
End Sub

Private Function CheckGroup(ByVal strName, ByVal strId)
    CheckGroup = False
    Dim lngId
    Dim key, arr, i
    Dim clsPermit
    Dim xmlPermits, xmlPermit
    lngId = atol(strId)
    If lngId < 0 Then Exit Function
    Dim xmlDoc, xmlNode
    Set xmlDoc = TBBS.GetXMLCache("Groups")
    Set xmlNode = XMLQuery(xmlDoc.documentElement, "group[@seqid = " & lngId & "]")
    If Not xmlNode Is Nothing Then
        CheckGroup = True
        TBBS.Vars("group_" & strName & "_id") = lngId
        Set clsPermit = Server.CreateObject(PROGID_HASH)
        HashAdd clsPermit, MyKernel.Resource("moex.twinbbs.permit"), "|"
        arr = Split(xmlNode.getAttribute("permit"), "|")
        key = clsPermit.Keys
        Set xmlPermits = TBBS.Element("permits")
        For i = 0 To UBound(key)
            Set xmlPermit = xmlPermits.appendChild(xmlPermits.ownerDocument.createElement("permit"))
            xmlPermit.setAttribute "name", key(i)
            xmlPermit.setAttribute "lang", TBBS.Lang("ps_" & key(i))
            If i > UBound(arr) Then
                xmlPermit.setAttribute "value", 0
            Else
                xmlPermit.setAttribute "value", arr(i)
            End If
            Set xmlPermit = Nothing
        Next
        Set xmlPermits = Nothing
        set clsPermit = Nothing
    End If
    Set xmlNode = Nothing
    Set xmlDoc = Nothing
End Function

Private Sub doPostSave()
    Dim arrSeqId, arrName, arrMinPosts, arrGroupImg
    Dim i
    Dim clsCmd
    TBBS.Vars("flag") = atoi(MyIO.Form("flag"))
    Select Case TBBS.Vars("flag")
    Case GROUP_MEMBER
        TBBS.Vars("state") = 1
    Case GROUP_SYSTEM
        TBBS.Vars("state") = 3
    Case GROUP_CUSTOM
        TBBS.Vars("state") = 5
    End Select
    TBBS.Vars("seqid") = MyIO.Form("seqid")
    TBBS.Vars("name") = MyIO.Form("name")
    TBBS.Vars("minposts") = MyIO.Form("minposts")
    TBBS.Vars("groupimg") = MyIO.Form("groupimg")
    arrSeqId = Split(TBBS.Vars("seqid"), ", ")
    arrName = Split(TBBS.Vars("name"), ", ")
    arrMinPosts = Split(TBBS.Vars("minposts"), ", ")
    arrGroupImg = Split(TBBS.Vars("groupimg"), ", ")
    If UBound(arrSeqId) <> UBound(arrName) Then
        TBBS.AddHint "invalid_group_name", Array()
    ElseIf UBound(arrSeqId) <> UBound(arrMinPosts) Then
        TBBS.AddHint "invalid_minposts", Array()
    ElseIf UBound(arrSeqId) <> UBound(arrGroupImg) Then
        TBBS.AddHint "invalid_groupimg", Array()
    Else
        Set clsCmd = MyKernel.Command(T_GROUP)
        For i = 0 TO UBound(arrSeqId)
            If Trim(arrName(i)) <> "" Then
                clsCmd.CommandType = IIf(arrSeqId(i) = "0" And TBBS.Vars("flag") <> 1, "INSERT", "UPDATE")
                clsCmd.Where = "SEQID=" & atol(arrSeqId(i))
                clsCmd.Add "name", arrName(i)
                clsCmd.Add "minposts", arrMinPosts(i)
                clsCmd.Add "groupimg", arrGroupImg(i)
                If arrSeqId(i) = "0" Then
                    clsCmd.Add "permit", ""
                    clsCmd.Add "usercount", 0
                    clsCmd.Add "flag", TBBS.Vars("flag")
                End If
                clsCmd.Exec
            End If
        Next
        Set clsCmd = Nothing
        Select Case TBBS.Vars("flag")
        Case GROUP_MEMBER
            TBBS.Vars("state") = 2
        Case GROUP_SYSTEM
            TBBS.Vars("state") = 4
        Case GROUP_CUSTOM
            TBBS.Vars("state") = 6
        End Select
        TBBS.AddHint "save_group_ok", Array()
        TBBS.SetXMLCache "Groups"
        TBBS.SetNodes "group"
    End If
End Sub

Private Sub doPostEdit()
    Dim ptr
    Dim clsPermit
    Dim clsCmd
    Dim xmlPermits, xmlPermit
    TBBS.Vars("state") = 1
    If Not CheckGroup("crt", Request.QueryString("id")) Then
        TBBS.AddHint "missing_edit_group", Array()
    Else
        TBBS.Vars("state") = 2
        TBBS.AddHint "edit_group_ok", Array()
        Set clsPermit = Server.CreateObject(PROGID_HASH)
        HashAdd clsPermit, MyKernel.Resource("moex.twinbbs.permit"), "|"
        Set xmlPermits = TBBS.Element("permits")
        For Each ptr In clsPermit.Keys
            Set xmlPermit = xmlPermits.selectSingleNode("permit[@name = '" & XPathString(ptr) & "']")
            xmlPermit.setAttribute "value", MyIO.Form(ptr)
            Set xmlPermit = Nothing
            clsPermit(ptr) = atoi(MyIO.Form(ptr))
        Next
        Set xmlPermits = Nothing
        Set clsCmd = MyKernel.Command(T_GROUP)
        clsCmd.CommandType = "UPDATE"
        clsCmd.Where = "SEQID=" & TBBS.Vars("group_crt_id")
        clsCmd.Add "permit", Join(clsPermit.Items, "|")
        clsCmd.Exec
        Set clsCmd = Nothing
        set clsPermit = Nothing
        TBBS.SetXMLCache "Groups"
        TBBS.SetNodes "group"
    End If
End Sub

Private Sub doPostDelete()
    TBBS.Vars("flag") = atol(MyIO.Form("flag"))
    Select Case TBBS.Vars("flag")
    Case GROUP_MEMBER
        TBBS.Vars("state") = 1
    Case GROUP_SYSTEM
        TBBS.Vars("state") = 3
    Case GROUP_CUSTOM
        TBBS.Vars("state") = 5
    End Select
    TBBS.Vars("gid") = atol(MyIO.Form("gid"))
    If TBBS.Vars("gid") < 1 Then
        TBBS.AddHint "missing_delete_group", Array()
    ElseIf TBBS.Vars("flag") = GROUP_SYSTEM Then
        TBBS.AddHint "forbid_delete_system_group", Array()
    ElseIf Not CheckGroup("crt", TBBS.Vars("gid")) Then
        TBBS.AddHint "missing_delete_group", Array()
    Else
        Select Case TBBS.Vars("flag")
        Case GROUP_MEMBER
            TBBS.Vars("state") = 2
        Case GROUP_SYSTEM
            TBBS.Vars("state") = 4
        Case GROUP_CUSTOM
            TBBS.Vars("state") = 6
        End Select
        MyKernel.DB.Exec "DELETE FROM " & T_GROUP & " WHERE SEQID=" & TBBS.Vars("gid")
        TBBS.AddHint "delete_group_ok", Array()
        TBBS.SetXMLCache "Groups"
        TBBS.SetNodes "group"
    End If
End Sub

⌨️ 快捷键说明

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