📄 forum
字号:
Private xmlForumDoc, xmlForum
Private lngForumId
Private Sub Class_Initialize()
Set MyXML = MyKernel.XMLParser
Set xmlForumDoc = WM_GetCache("forum")
End Sub
Private Sub Class_Terminate()
Set xmlForumDoc = Nothing
End Sub
Public Sub main()
MyXML.Align = "center"
MyXML.Println MyKernel.Config("BBSTitle")
MyXML.Align = "left"
lngForumId = atol(MyIO.QueryString("ForumId"))
If MyKernel.Config("IsBBS") <> "1" Then
MyXML.Println "该功能已被站长关闭"
ElseIf lngForumId < 1 Then
MyRedirect "bbs/index.asp"
Else
Set xmlForum = XMLQuery(xmlForumDoc.documentElement, "forum[@seqid=" & lngForumId & "]")
If xmlForum Is Nothing Then
MyRedirect "bbs/index.asp"
Else
If MyIO.Env("REQUEST_METHOD") = "POST" Then
Call doPost
Else
MyXML.Println "[" & XMLAttr(xmlForum, "title") & "]"
Call doGet
End If
If atol(XMLAttr(xmlForum, "follow")) > 0 Then
MyXML.Println MyXML.CreateA("bbs/forum.asp?ForumId=" & XMLAttr(xmlForum, "follow"), "返回上级", GetImagePrefix("images/back.gif"), "")
End If
End If
Set xmlForum = Nothing
End If
MyXML.Println MyXML.CreateA("bbs/index.asp", "返回" & MyKernel.Config("BBSTitle"), GetImagePrefix("images/back.gif"), "")
Call BackHomeX(BBS_SEQID)
Call SetLog("bbs", 0)
Call MyKernel.OutputXML(Empty)
End Sub
Private Sub doGet()
Call doGetForum
MyXML.Println MyXML.CreateA("bbs/post.asp?ForumId=" & lngForumId & "&PageNo=" & atoi(MyIO.QueryString("PageNo")), "我要发帖", "", "")
Call doGetArticle
End Sub
Private Sub doPost()
End Sub
Private Sub doGetForum()
Dim xmlNodes, xmlNode
Set xmlNodes = XMLQueries(xmlForumDoc.documentElement, "forum[@follow=" & lngForumId & "]")
For Each xmlNode In xmlNodes
MyXML.Println MyXML.CreateA("bbs/forum.asp?ForumId=" & XMLAttr(xmlNode, "seqid"), "*." & XMLAttr(xmlNode, "title"), "", "")
MyXML.Println XMLAttr(xmlNode, "content")
MyXML.Println String(16, "-")
Next
Set xmlNodes = Nothing
End Sub
Private Sub doGetArticle()
Dim objPage, xmlNode
Dim i
Set objPage = vbsre.mocom.WAPmo.Page.newInstance()
objPage.ID = atol(MyIO.QueryString("PageNo"))
objPage.Size = 10
objPage.DataType = WM_DataType
objPage.Table = T_ARTICLE
objPage.Where = "ForumId=" & lngForumId & " AND Follow=0"
objPage.Count = atol(XMLAttr(xmlForum, "arttotal"))
objPage.Index = "OUTIME"
objPage.Sort = "OUTIME DESC"
objPage.SortType = 1
objPage.Build "arts", "art"
If objPage.Rows.hasChildNodes Then
i = 0
For Each xmlNode In objPage.Rows.childNodes
MyXML.Println MyXML.CreateA("bbs/article.asp?ForumId=" & XMLAttr(xmlNode, "forumid") & "&PageNo=" & objPage.ID & "&ArticleId=" & XMLAttr(xmlNode, "seqid"), "*." & XMLAttr(xmlNode, "title") & "[" & XMLAttr(xmlNode, "reply") & "/" & XMLAttr(xmlNode, "hit") & "/" & FormatTime(XMLAttr(xmlNode, "intime"), "y-m-d H:i") & "]", "", "")
i = i + 1
Next
MyXML.Println ""
If objPage.ID < objPage.Total Then
MyXML.Printf MyXML.CreateA("bbs/forum.asp?ForumId=" & lngForumId & "&PageNo=" & (objPage.ID + 1), "下一页", "", "")
MyXML.Printf "|"
MyXML.Println MyXML.CreateA("bbs/forum.asp?ForumId=" & lngForumId & "&PageNo=" & (objPage.Total), "最末页", "", "")
End If
If objPage.ID > 1 Then
MyXML.Printf MyXML.CreateA("bbs/forum.asp?ForumId=" & lngForumId & "&PageNo=" & (objPage.ID - 1), "上一页", "", "")
MyXML.Printf "|"
MyXML.Println MyXML.CreateA("bbs/forum.asp?ForumId=" & lngForumId, "第一页", "", "")
End If
If objPage.Total > 2 Then
MyXML.SetF GetPathName("bbs/forum.asp"), "get", "", True
Call SetQuery
MyXML.SetN "ForumId", "hidden", lngForumId, "", "", False
MyXML.SetN "PageNo", "text", "", objPage.ID & "/" & objPage.Total & "页>>跳到", "页", False, 5, 5, "*N"
MyXML.SetN "", "submit", "GO", "", "", True
End If
MyXML.Println ""
End If
Set objPage = Nothing
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -