#forum.mo

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

MO
72
字号
Option Explicit

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

TBBS.Page("name") = TBBS.Env("bbs_name")
TBBS.Vars("skin") = "default"

Call main

Private Sub doGet()
    If Not TBBS.CheckForum("crt", Request.QueryString("id")) Then
        TBBS.AddError "missing_forum", Array()
        Exit Sub
    End If
    Call SetForumTops
    Call SetPage
    Call TBBS.SetForumNav(TBBS.Page("id") > 1)
End Sub

Private Sub doPost()
    TBBS.AddError "invalid_handle", Array()
End Sub

Private Sub SetPage()
    Dim lngId, lngRows, lngSize, lngTotal, lngMove, lngFlag
    lngId = atoi(MyIO.QueryString("page"))
    If lngId < 1 Then lngId = 1
    lngRows = atol(TBBS.Forum("crt.topics")) - atol(TBBS.Forum("crt.souls"))
    lngSize = 20
    lngTotal = (lngRows \ lngSize) + IIf(lngRows Mod lngSize = 0, 0, 1)
    If lngTotal < 1 Then lngTotal = 1
    If lngId > lngTotal Then lngId = lngTotal
    If lngRows = 0 Then
        lngMove = 0
        lngFlag = 0
    ElseIf lngId * lngSize >= lngRows Then
        lngMove = IIf(lngRows Mod lngSize = 0, lngSize, lngRows Mod lngSize)
        lngFlag = IIf(lngRows Mod lngSize = 0, lngRows - lngSize, lngRows - (lngRows Mod lngSize))
    Else
        lngMove = lngSize
        lngFlag = (lngId - 1) * lngSize
    End If
    TBBS.Page("id") = lngId
    TBBS.Page("rows") = lngRows
    TBBS.Page("size") = lngSize
    TBBS.Page("total") = lngTotal
    TBBS.Page("move") = lngMove
    TBBS.Page("flag") = lngFlag
    If MyKernel.DB.DataType = adSQLServer Then
        TBBS.Page("datatype") = adAccess
    Else
        TBBS.Page("datatype") = MyKernel.DB.DataType
    End If
    TBBS.Page("table") = T_TOPIC
    TBBS.Page("column") = "SEQID,FORUMID,FORUMNAME,TITLE,USERID,USERNAME,REPLIES,HITS,LASTPOSTID,LASTPOSTTITLE,LASTPOSTUSERID,LASTPOSTUSERNAME,LASTPOSTTIME"
    TBBS.Page("where") = "FORUMID=" & TBBS.Forum("crt.seqid") & " AND TOPTYPE=0 AND FOLLOW=0"
    TBBS.Page("sort") = "LASTPOSTTIME DESC"
    TBBS.Page("sorttype") = 1
    TBBS.Page("index") = "LASTPOSTTIME"
    TBBS.SetPagePrefix "forum.asp", "id", TBBS.Forum("crt.seqid")
    TBBS.SetPageXML "topics", "topic", False
End Sub

Public Function SetForumTops()
    Dim arr
    arr = Split(TBBS.Forum("crt.mark"), "_")
    TBBS.AppendXML TBBS.GetTopCache(TBBS_TOP_ALL, 0), True
    TBBS.AppendXML TBBS.GetTopCache(TBBS_TOP_PARENT, arr(0)), False
    TBBS.AppendXML TBBS.GetTopCache(TBBS_TOP_CURRENT, arr(UBound(arr))), False
End Function

⌨️ 快捷键说明

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