📄 book.asp
字号:
<%
Class ImplMocomWAPmoWAPBook
Private blnError
Private strError
Private Sub Class_Initialize()
Set MyXML = MyKernel.XMLParser
blnError = True
End Sub
Private Sub Class_Terminate()
End Sub
Public Sub main()
MyXML.Align = "center"
MyXML.Println MyKernel.Config("BookTitle")
MyXML.Align = "left"
If MyKernel.Config("IsBook") <> "1" Then
MyXML.Println "该功能已被站长关闭"
ElseIf Request.ServerVariables("REQUEST_METHOD") = "POST" Then
Call doPost
Else
Call doGet
End If
Call BackHomeX(BOOK_SEQID)
Call setLog("book", 0)
MyXML.Transform Response
End Sub
Private Sub doGet()
MyXML.Println "[查看留言]"
Select Case MyKernel.Config("IsBookPublic")
Case "0"
Call doGetMain
Case "1"
If IsGuest() Then
RegisterHint "只有注册用户才能查看留言"
Else
Call doGetMain
End If
Case "2"
If Not IsGuest() Then
Call doGetMain
End If
End Select
Call doGetForm
End Sub
Private Sub doGetMain()
Dim clsPage
Dim rs
Dim i
Set clsPage = MyKernel.Page()
clsPage.PageNum = MyIO.QueryString("Page")
clsPage.PageSize = 10
clsPage.DataType = WM_DataType
clsPage.Increment = "SEQID"
clsPage.Table = T_BOOK
If MyKernel.Config("IsBookPublic") = "2" Then
clsPage.Where = "FOLLOW=0 AND USERID=" & atol(MyKernel.Memory("UserId"))
Else
clsPage.Where = "FOLLOW=0"
End If
clsPage.Sort = "SEQID DESC"
clsPage.SortType = True
Set rs = clsPage.Execute()
If clsPage.TotalRow > 0 Then
i = 0
Dim objBook
Set objBook = MyKernel.Table(T_BOOK)
Do While rs.EOF = False And i < clsPage.PageSize
objBook.Source = rs
MyXML.Println String(16, "-")
If objBook("UserId") = 0 Then
MyXML.Println "昵称:" & objBook("UserName") & "[游客]"
ElseIf Not ValidCoop() And MyKernel.Config("IsMsgbox") = "1" Then
MyXML.Printf "昵称:"
MyXML.Println CreateA(getMsgboxSendURL(objBook("UserId")), objBook("UserName"), "")
Else
MyXML.Println "昵称:" & objBook("UserName")
End If
MyXML.Println "留言:" & FormatWord(MyKernel.Config("ForbidWord"), objBook("Content"))
MyXML.Println "时间:" & FormatTime(getDate(objBook("Intime")), "YYYY-MM-DD HH24:MI:SS")
doGetReply objBook("SeqId")
rs.MoveNext
i = i + 1
Loop
Set objBook = Nothing
If clsPage.PageNum < clsPage.TotalPage Then
MyXML.Printf CreateA(getURL("guestbook.asp", "Page", clsPage.PageNum + 1), "下一页", "")
MyXML.Printf "|"
MyXML.Println CreateA(getURL("guestbook.asp", "Page", clsPage.TotalPage), "最末页", "")
End If
If clsPage.PageNum > 1 Then
MyXML.Printf CreateA(getURL("guestbook.asp", "Page", clsPage.PageNum - 1), "上一页", "")
MyXML.Printf "|"
MyXML.Println CreateA("guestbook.asp", "第一页", "")
End If
If clsPage.TotalPage > 2 Then
MyXML.SetF "guestbook.asp", "get", "", True
Call setQuery
MyXML.SetN "Page", "text", "", clsPage.PageNum & "/" & clsPage.TotalPage & "页>>跳到", "页", False, 5, 5, "N*"
MyXML.SetN "", "submit", "GO", "", "", True
End If
End If
If Not rs Is Nothing Then rs.Close
Set rs = Nothing
Set clsPage = Nothing
End Sub
Private Sub doGetForm()
MyXML.Println String(16, "-")
MyXML.Println "[发表留言]"
If MyKernel.Config("IsBookWrite") = "0" And IsGuest() Then
Call RegisterHint("只有注册用户才能发表留言")
Else
MyXML.SetF FormatURL("guestbook.asp"), "post", "", True
If IsGuest() Then
MyXML.SetN "Nick", "text", "", "您的昵称:", "", True
End If
MyXML.SetN "Content", "text", "", "您的留言:", "", True
MyXML.SetN "", "submit", "确定", "", "", True
End If
End Sub
Private Sub doGetReply(ByVal lngFollow)
Dim rs, strSQL
strSQL = "SELECT CONTENT,INTIME FROM $(Table) WHERE FOLLOW=$(Follow)"
strSQL = Replace(strSQL, "$(Table)", T_BOOK)
strSQL = Replace(strSQL, "$(Follow)", lngFollow)
Set rs = MyKernel.DB.Execute(strSQL)
Do While rs.EOF = False
MyXML.Println "站长回复:" & rs("Content")
MyXML.Println "回复时间:" & FormatTime(getDate(rs("Intime")), "YYYY-MM-DD HH24:MI:SS")
rs.MoveNext
Loop
rs.Close
Set rs = Nothing
End Sub
Private Sub doPost()
Call doPostAdd
If MyKernel.Config("IsBookPublic") = "0" Then
MyXML.Println CreateA("guestbook.asp", "查看留言", "")
ElseIf MyKernel.Config("IsBookPublic") = "1" And Not IsGuest() Then
MyXML.Println CreateA("guestbook.asp", "查看留言", "")
End If
End Sub
Private Sub doPostAdd()
If MyIO.Parse(KBYTE) <> 0 Then
MyXML.Println "超过最大数据请求长度:" & KBYTE
Else
Dim strNick
Dim strContent
strNick = Trim(MyIO.Form("Nick"))
strContent = Trim(MyIO.Form("Content"))
If strContent = "" Then
strError = "请输入您的留言"
ElseIf IsGuest() And strNick = "" Then
strError = "请输入您的昵称"
ElseIf IsGuest() And Not ValidName(strNick) Then
strError = "请勿在昵称中使用特殊字符"
ElseIf IsGuest() And LenC(strNick) > 20 Then
strError = "昵称的长度不能超过20个字节(即10个汉字)"
ElseIf getTime(Now()) - atol(MyKernel.Memory("LastBook")) < atoi(MyKernel.Config("BookInterval")) Then
strError = "感谢您的参与,请不要频繁发表留言"
ElseIf atol(MyKernel.Memory("BookTotal")) > atoi(MyKernel.Config("BookTotal")) Then
strError = "感谢你的参与,一天最多能发表" & MyKernel.Config("BookTotal") & "个留言"
Else
blnError = False
strError = "感谢您的留言,我们会在近期回复"
Dim strSQL
Dim lngTime
lngTime = getTime(Now())
strSQL = "INSERT INTO $(Table) (USERID,USERNAME,CONTENT,REPLY,IPADDR,FOLLOW,INTIME) VALUES ($(UserId),'$(UserName)','$(Content)',0,'$(IPAddr)',0,$(Timeval))"
strSQL = Replace(strSQL, "$(Table)", T_BOOK)
If IsGuest() Then
strSQL = Replace(strSQL, "$(UserId)", 0)
strSQL = Replace(strSQL, "$(UserName)", SafeString(strNick))
Else
strSQL = Replace(strSQL, "$(UserId)", MyKernel.Memory("UserId"))
strSQL = Replace(strSQL, "$(UserName)", SafeString(MyKernel.Memory("Nick")))
End If
strSQL = Replace(strSQL, "$(Content)", SafeString(strContent))
strSQL = Replace(strSQL, "$(IPAddr)", MyKernel.Env("REMOTE_ADDR"))
strSQL = Replace(strSQL, "$(Timeval)", lngTime)
MyKernel.DB.Exec strSQL
If atol(MyKernel.Memory("LastBook")) >= getTime(Date()) Then
MyKernel.Memory("BookTotal") = atoi(MyKernel.Memory("BookTotal")) + 1
Else
MyKernel.Memory("BookTotal") = 1
End If
MyKernel.Memory("LastBook") = lngTime
If Not IsGuest() Then
strSQL = "UPDATE $(Table) SET BOOKTOTAL=$(BookTotal),LASTBOOK=$(Timeval) WHERE SEQID=$(SeqId)"
strSQL = Replace(strSQL, "$(Table)", T_USER)
strSQL = Replace(strSQL, "$(BookTotal)", MyKernel.Memory("BookTotal"))
strSQL = Replace(StrSQL, "$(Timeval)", lngTime)
strSQL = Replace(strSQL, "$(SeqId)", MyKernel.Memory("SeqId"))
MyKernel.DB.Exec strSQL
End If
End If
End If
MyXML.Println strError
If blnError Then
Call doGetForm
End If
End Sub
Public Function newInstance()
Set newInstance = New ImplMocomWAPmoWAPBook
End Function
End Class
%>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -