#login.mo

来自「WAPmo手机网站管理平台是一款创建与管理维护WAP网站的的软件产品」· MO 代码 · 共 107 行

MO
107
字号
Option Explicit

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

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

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

Call main

Private Sub doGet()
    TBBS.Vars("state") = 0
    TBBS.Vars("cookie") = 0
    TBBS.Vars("online") = 1
End Sub

Private Sub doPost()
    Dim clsCmd, strSQL
    Dim blnRepeat
    TBBS.Vars("username") = Trim(MyIO.Form("username"))
    TBBS.Vars("passwd") = Trim(MyIO.Form("passwd"))
    TBBS.Vars("cookie") = atoi(MyIO.Form("cookie"))
    TBBS.Vars("online") = atoi(MyIO.Form("online"))
    TBBS.Vars("state") = 1
    If Not TBBS.CheckValidate("login") Then
        TBBS.AddHint "invalid_validate", Array()
    ElseIf TBBS.Vars("username") = "" Then
        TBBS.AddHint "empty_username", Array()
    ElseIf Not ValidName(TBBS.Vars("username")) Then
        TBBS.AddHint "invalid_username", Array()
    ElseIf TBBS.Vars("passwd") = "" Then
        TBBS.AddHint "empty_passwd", Array()
    Else
        strSQL = "USERNAME='$(UserName)'"
        strSQL = Replace(strSQL, "$(UserName)", SafeString(TBBS.Vars("username")))
        Set clsCmd = MyKernel.Command(T_USER)
        clsCmd.CommandType = "SELECT"
        clsCmd.Where = strSQL
        If Not clsCmd.Exec Then
            TBBS.AddHint "login_failed", Array()
        ElseIf clsCmd("passwd") <> MD5(TBBS.Vars("passwd")) Then
            TBBS.AddHint "login_failed", Array()
        ElseIf clsCmd("state") = TBBS_STATE_APPLY Then
            TBBS.AddHint "username_not_examine", Array()
        ElseIf clsCmd("state") = TBBS_STATE_REJECT Then
            TBBS.AddHint "username_not_examine", Array()
        ElseIf clsCmd("state") = TBBS_STATE_FORBID Then
            TBBS.AddHint "username_had_forbid", Array()
        ElseIf clsCmd("state") = TBBS_STATE_DELETE Then
            TBBS.AddHint "username_had_delete", Array()
        Else
            clsCmd("logincount") = clsCmd("logincount") + 1
            If clsCmd("lastlogintime") > 0 Then
                clsCmd("lastvisittime") = clsCmd("lastlogintime")
                clsCmd("lastvisitip") = clsCmd("lastloginip")
                blnRepeat = CBool(clsCmd("lastlogintime") >= TBBS.Vars("date"))
            Else
                blnRepeat = False
            End If
            clsCmd("online") = TBBS.Vars("online")
            clsCmd("lastlogintime") = TBBS.Vars("time")
            clsCmd("lastloginip") = MyIO.Env("REMOTE_ADDR")
            If Not blnRepeat Then
                clsCmd("coin") = clsCmd("coin") + TBBS.XPEnv("coin", "login")
                clsCmd("cent") = clsCmd("cent") + TBBS.XPEnv("cent", "login")
                clsCmd("witchery") = clsCmd("witchery") + TBBS.XPEnv("witchery", "login")
            End If
            clsCmd.CommandType = "UPDATE"
            clsCmd.Where = "seqid=" & clsCmd("seqid")
            clsCmd.Add "logincount", clsCmd("logincount")
            clsCmd.Add "lastvisittime", clsCmd("lastlogintime")
            clsCmd.Add "lastvisitip", clsCmd("lastloginip")
            clsCmd.Add "online", clsCmd("online")
            clsCmd.Add "lastlogintime", clsCmd("lastlogintime")
            clsCmd.Add "lastloginip", clsCmd("lastloginip")
            clsCmd.Add "coin", clsCmd("coin")
            clsCmd.Add "cent", clsCmd("cent")
            clsCmd.Add "witchery", clsCmd("witchery")
            clsCmd.Exec
            Select Case TBBS.Vars("cookie")
            Case 1
                MyKernel.Memory.Expires = DateDiff("n", Now(), DateAdd("d", 1, Now()))
            Case 2
                MyKernel.Memory.Expires = DateDiff("n", Now(), DateAdd("m", 1, Now()))
            Case 3
                MyKernel.Memory.Expires = DateDiff("n", Now(), DateAdd("yyyy", 1, Now()))
            End Select
            TBBS.UserAsync clsCmd
            TBBS.Vars("state") = 2
            TBBS.AddHint "login_ok", Array(TBBS.Env("bbs_name"))
            If TBBS.Vars("refer") <> "" Then
                TBBS.Redirect TBBS.Vars("refer")
                TBBS.AddHint "referer", Array(TBBS.Vars("refer"))
            Else
                TBBS.Redirect "index.asp"
            End If
            TBBS.SetNodes "user"
        End If
        Set clsCmd = Nothing
    End If
    Session.Contents.Remove "validate"
End Sub

⌨️ 快捷键说明

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