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

📄 #service.mo

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

TBBS.AddLang "common|head|foot|error|service"
TBBS.SetNodes "env|user|forums"

TBBS.Vars("skin") = "default"

Call main

TBBS.Page("name") = TBBS.GetNav()
TBBS.AddOnline 0, TBBS.Page("name")

Private Sub doGet()
    Select Case TBBS.Vars("handle")
    Case "fav"
        Call doGetFav
    Case "buy"
        Call doGetBuy
    Case Else
        TBBS.AddError "invalid_handle", Array()
    End Select
End Sub

Private Sub doPost()
    Select Case TBBS.Vars("handle")
    Case "fav"
        Call doPostFav
    Case Else
        TBBS.AddError "invalid_handle", Array()
    End Select
End Sub

Private Sub doGetFav()
    If TBBS.Permit("fav") = 0 Then
        TBBS.AddError "fav", Array()
    Else
        Select Case TBBS.Vars("action")
        Case "add"
            Call doGetFavAdd
        Case Else
            TBBS.AddError "invalid_handle", Array()
        End Select
    End If
End Sub

Private Sub doPostFav()
    If TBBS.Permit("fav") = 0 Then
        TBBS.AddError "fav", Array()
    Else
        Select Case TBBS.Vars("action")
        Case "del"
            Call doPostFavDel()
        Case Else
            TBBS.AddError "invalid_handle", Array()
        End Select
    End If
End Sub

Private Sub doGetFavAdd()
    Dim strSQL, clsCmd
    TBBS.AddNav "", TBBS.Lang("add_fav")
    TBBS.Vars("action_name") = TBBS.Lang("add_fav")
    If Not TBBS.CheckForum("crt", Request.QueryString("fid")) Then
        TBBS.AddError "missing_forum", Array()
        Exit Sub
    End If
    If Not TBBS.CheckTopic(Request.QueryString("id")) Then
        TBBS.AddError "missing_topic", Array()
        Exit Sub
    End If
    If atol(TBBS.Forum("crt.seqid")) <> TBBS.Topic("forumid") Then
        TBBS.AddError "missing_topic", Array()
        Exit Sub
    End If
    If TBBS.Topic("follow") > 0 Then
        TBBS.AddError "invalid_fav", Array()
        Exit Sub
    End If
    strSQL = MyKernel.DB.GetLimitSQL(1, "SEQID", T_FAV, "USERID=$(UserId) AND FORUMID=$(ForumId) AND TOPICID=$(TopicId)", "", "")
    strSQL = Replace(strSQL, "$(UserId)", MyKernel.Memory("seqid"))
    strSQL = Replace(strSQL, "$(ForumId)", TBBS.Forum("crt.seqid"))
    strSQL = Replace(strSQL, "$(TopicId)", TBBS.Topic("seqid"))
    If MyKernel.DB.HasRow(strSQL) Then
        TBBS.AddHint "fav_exists", Array()
    Else
        TBBS.AddHint "add_fav_ok", Array()
        Set clsCmd = MyKernel.Command(T_FAV)
        clsCmd.CommandType = "INSERT"
        clsCmd.Add "userid", MyKernel.Memory("seqid")
        clsCmd.Add "username", MyKernel.Memory("username")
        clsCmd.Add "forumid", TBBS.Forum("crt.seqid")
        clsCmd.Add "topicid", TBBS.Topic("seqid")
        clsCmd.Add "topictitle", TBBS.Topic("title")
        clsCmd.Add "addtime", TBBS.Vars("time")
        clsCmd.Exec
        Set clsCmd = Nothing
        MyKernel.Memory("favs") = atol(MyKernel.Memory("favs")) + 1
        Set clsCmd = MyKernel.Command(T_USER)
        clsCmd.CommandType = "UPDATE"
        clsCmd.Where = "SEQID=" & MyKernel.Memory("seqid")
        clsCmd.Add "favs", MyKernel.Memory("favs")
        clsCmd.Exec
        Set clsCmd = Nothing
    End If
End Sub

Private Sub doPostFavDel()
    Dim arrID, i
    Dim strSQL
    TBBS.AddNav "", TBBS.Lang("del_fav")
    TBBS.Vars("action_name") = TBBS.Lang("del_fav")
    arrID = MyIO.FormArray("id")
    If Not IsArray(arrID) Then
        TBBS.AddHint "missing_del_fav", Array()
    ElseIf Not IsNumericArray(arrID) Then
        TBBS.AddHint "missing_del_fav", Array()
    Else
        strSQL = "DELETE FROM $(Table) WHERE SEQID IN ($(SeqId)) AND USERID=$(UserId)"
        strSQL = Replace(strSQL, "$(Table)", T_FAV)
        strSQL = Replace(strSQL, "$(UserId)", MyKernel.Memory("seqid"))
        strSQL = Replace(strSQL, "$(SeqId)", Join(arrID, ","))
        TBBS.Vars("deletes") = MyKernel.DB.Exec(strSQL)
        If TBBS.Vars("deletes") > 0 Then
            MyKernel.Memory("favs") = atol(MyKernel.Memory("favs")) - TBBS.Vars("deletes")
            strSQL = "UPDATE $(Table) SET FAVS=$(Favs) WHERE SEQID=$(SeqID)"
            strSQL = Replace(strSQL, "$(Table)", T_USER)
            strSQL = Replace(strSQL, "$(Favs)", MyKernel.Memory("favs"))
            strSQL = Replace(strSQL, "$(SeqID)", MyKernel.Memory("seqid"))
            MyKernel.DB.Exec strSQL
            TBBS.AddHint "del_fav_ok", Array()
        Else
            TBBS.AddHint "missing_del_fav", Array()
        End If
    End If
End Sub

Private Sub doGetBuy()
    Dim lngId
    Dim clsFile, clsCmd
    lngId = atol(Request.QueryString("id"))
    Set clsFile = MyKernel.Command(T_UPLOAD)
    Set clsCmd = MyKernel.Command(T_DOWNLOAD)
    TBBS.AddNav "", TBBS.Lang("buy_file")
    TBBS.Vars("action_name") = TBBS.Lang("buy_file")
    clsCmd.CommandType = "SELECT"
    clsCmd.Where = "FILEID=" & clsFile("seqid") & " AND USERID=" & atol(MyKernel.Memory("seqid"))
    If lngId < 1 Then
        TBBS.AddHint "missing_file", Array()
    ElseIf Not clsFile.Exec("*", "SEQID=" & lngId) Then
        TBBS.AddHint "missing_file", Array()
    ElseIf clsFile("coin") < 1 Then
        TBBS.AddHint "no_need_buy", Array()
    ElseIf MyKernel.Memory("coin") < clsFile("coin") Then
        TBBS.AddHint "no_enough_coin", Array()
    ElseIf clsCmd.Exec Then
        TBBS.Redirect "download.asp?id=" & clsFile("seqid")
        TBBS.AddHint "had_buy", Array()
        TBBS.AddHint "get_file", Array(TBBS.Vars("redirect"))
    Else
        Call BuyFile(clsFile)
        TBBS.Redirect "download.asp?id=" & clsFile("seqid")
        TBBS.AddHint "buy_ok", Array()
        TBBS.AddHint "get_file", Array(TBBS.Vars("redirect"))
    End If
    Set clsCmd = Nothing
    Set clsFile = Nothing
End Sub

Private Sub BuyFile(clsFile)
    Dim clsCmd
    Dim strSQL
    Set clsCmd = MyKernel.Command(T_DOWNLOAD)
    clsCmd.CommandType = "INSERT"
    clsCmd.Add "fileid", clsFile("seqid")
    clsCmd.Add "userid", MyKernel.Memory("seqid")
    clsCmd.Add "buytime", TBBS.Vars("time")
    clsCmd.Exec
    Set clsCmd = Nothing
    MyKernel.Memory("coin") = atol(MyKernel.Memory("coin")) - clsFile("coin")
    Set clsCmd = MyKernel.Command(T_USER)
    clsCmd.CommandType = "UPDATE"
    clsCmd.Where = "SEQID=" & MyKernel.Memory("seqid")
    clsCmd.Add "coin", MyKernel.Memory("coin")
    clsCmd.Exec
    Set clsCmd = Nothing
    strSQL = "UPDATE $(Table) SET COIN=COIN+$(Coin) WHERE SEQID=$(SeqId)"
    strSQL = Replace(strSQL, "$(Table)", T_USER)
    strSQL = Replace(strSQL, "$(Coin)", clsFile("coin"))
    strSQL = Replace(strSQL, "$(SeqId)", clsFile("userid"))
    MyKernel.DB.Exec strSQL
End Sub

⌨️ 快捷键说明

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