📄 book
字号:
Private intErrId
Private strReason
Private rs, strSQL
Private objPage
Public Sub main()
If MyIO.Env("REQUEST_METHOD") = "POST" Then
Call doPost
Else
Call doGet
End If
End Sub
Private Sub doGet()
Select Case LCase(MyIO.QueryString("Handle"))
Case "option"
Call doGetOption
Case "list"
Call doGetList
Case "reply"
Call doGetReply
Case "replys"
Call doGetReplys
Case Else
Call doGetMain
End Select
End Sub
Private Sub doPost()
Select Case LCase(MyIO.QueryString("Handle"))
Case "remove"
Call doPostRemove
Case "reply"
Call doPostReply
Case Else
MyIO.Echo "未知操作"
End Select
End Sub
Private Sub doGetMain()
MyIO.Echo "<html>"
MyIO.Echo "<head>"
MyIO.Echo "<meta http-equiv=""Content-Type"" content=""text/html; charset=utf-8"" />"
MyIO.Echo "<meta http-equiv=""Cache-Control"" content=""no-cache, max-age=0"" />"
MyIO.Echo "<title>留言本管理</title>"
MyIO.Echo "<link rel=""stylesheet"" href=""images/xw.css"" />"
MyIO.Echo "<script language=""javascript"" src=""jspp/jspp.js""></script>"
MyIO.Echo "<script language=""javascript"" src=""images/wm_book.js""></script>"
MyIO.Echo "</head>"
MyIO.Echo "<body style=""padding:5;margin:0;overflow:auto;border:0"">"
MyIO.Echo "<table width=""100%"" border=""0"" cellpadding=""0"" cellspacing=""0"" style=""border:1px solid #000000"">"
MyIO.Echo "<tr>"
MyIO.Echo "<td align=""right"" bgcolor=""#A2ADC4"" style=""border-bottom:1px solid #000000;padding-right:1px;padding-top:1px"" height=""24""><img src=""images/xw_cls0.gif"" border=""0"" align=""absMiddle"" onMouseOver=""this.src='images/xw_cls1.gif'"" onMouseOut=""this.src='images/xw_cls0.gif'"" onMouseDown=""this.src='images/xw_cls2.gif'"" onMouseUp=""this.src='images/xw_cls1.gif'"" /></td>"
MyIO.Echo "</tr>"
MyIO.Echo "<tr>"
MyIO.Echo "<td>"
MyIO.Echo "<table width=""100%"" border=""0"" cellpadding=""0"" cellspacing=""0"">"
MyIO.Echo "<tr>"
MyIO.Echo "<td height=""24"" style=""background-image:url(images/xw_back4.gif)""> </td>"
MyIO.Echo "</tr>"
MyIO.Echo "<tr>"
MyIO.Echo "<td>"
MyIO.Echo "<table width=""98%"" border=""0"" cellpadding=""0"" cellspacing=""0"" align=""center"">"
MyIO.Echo "<tr>"
MyIO.Echo "<td id=""_OPTION"" class=""f12""></td>"
MyIO.Echo "</tr>"
MyIO.Echo "</table>"
MyIO.Echo "</td>"
MyIO.Echo "</tr>"
MyIO.Echo "</table>"
MyIO.Echo "</td>"
MyIO.Echo "</tr>"
MyIO.Echo "</table>"
MyIO.Echo "<iframe id=""console"" name=""console"" frameborder=""0"" scrolling=""no"" width=""0"" height=""0"" style=""display:none""></iframe>"
MyIO.Echo "</body>"
MyIO.Echo "</html>"
End Sub
Private Sub doGetOption()
Select Case MyIO.QueryString("Option")
Case "0"
MyIO.Echo "<form id=""frmMain"" onsubmit=""return(false)"">"
MyIO.Echo "<table width=""100%"" border=""1"" cellpadding=""2"" cellspacing=""0"" align=""center"" style=""border-collapse:collapse"" bordercolor=""#000000"">"
MyIO.Echo "<tr>"
MyIO.Echo "<td colspan=""2"" class=""winT0"">"
MyIO.Echo " <b>所有留言</b>"
MyIO.Echo " <a href=""javascript:void(0)"" class=""a1"" onclick=""jspp.Book.doPage(jspp.Book.page)"">刷新留言列表</a>"
MyIO.Echo "</td>"
MyIO.Echo "</tr>"
MyIO.Echo "<tr class=""winT1"">"
MyIO.Echo "<td colspan=""2"" id=""_list_""></td>"
MyIO.Echo "</tr>"
MyIO.Echo "</table>"
MyIO.Echo "</form>"
Case Else
MyIO.Echo "未知选项"
End Select
End Sub
Private Sub doGetList()
If MyPower("ViewGuestBook") = 0 Then
MyIO.Echo "您没有查看留言的权限"
Exit Sub
End If
Dim i
Dim strKey
Dim xmlNode
strKey = Trim(MyIO.QueryString("Keyword"))
Set objPage = vbsre.mocom.WAPmo.Page.newInstance()
objPage.ID = atol(MyIO.QueryString("Page"))
objPage.Size = 20
objPage.DataType = WM_DataType
objPage.Table = T_BOOK
objPage.Where = "Follow=0"
If strKey <> "" Then
objPage.Where = objPage.Where & Replace(" AND (UserName LIKE '%$(Keyword)%' Or Content LIKE '%$(Keyword)%')", "$(Keyword)", SafeString(strKey))
End If
objPage.Count = GetPageCount(objPage)
objPage.Index = "SEQID"
objPage.Sort = "SEQID DESC"
objPage.SortType = 1
objPage.Build "msgs", "msg"
MyIO.Echo "<table width=""100%"" border=""1"" cellpadding=""2"" cellspacing=""0"" align=""center"" style=""border-collapse:collapse;word-break:break-all;word-wrap:break-word;"" bordercolor=""#000000"">"
MyIO.Echo "<tr>"
MyIO.Echo "<td width=""8%"" class=""winT0""><b>选择</b></td>"
MyIO.Echo "<td width=""12%"" class=""winT0""><b>昵称<b/></td>"
MyIO.Echo "<td width=""46%"" class=""winT0""><b>留言<b/></td>"
MyIO.Echo "<td width=""13%"" class=""winT0""><b>IP地址<b/></td>"
MyIO.Echo "<td width=""13%"" class=""winT0""><b>时间<b/></td>"
MyIO.Echo "<td width=""8%"" class=""winT0""><b>管理</b></td>"
MyIO.Echo "</tr>"
If objPage.Rows.hasChildNodes Then
i = 0
For Each xmlNode In objPage.Rows.childNodes
MyIO.Echo "<tr class=""winT1"">"
MyIO.Echo "<td align=""center""><input type=""checkbox"" id=""SeqId"" name=""SeqId"" value=""" & XMLAttr(xmlNode, "seqid") & """ /></td>"
MyIO.Echo "<td>" & XMLAttr(xmlNode, "username") & "</td>"
MyIO.Echo "<td>" & Replace(MyIO.HTMLEncode(XMLAttr(xmlNode, "content")), vbCrLf, "<br/>")
If atoi(XMLAttr(xmlNode, "reply")) > 0 Then
MyIO.Echo "<div id=""Reply" & XMLAttr(xmlNode, "seqid") & """><img src=""images/xw_tree2.gif"" border=""0"" style=""cursor:pointer"" onclick=""jspp.Book.getReply(" & XMLAttr(xmlNode, "seqid") & ")"" /></div>"
End If
MyIO.Echo "</td>"
MyIO.Echo "<td>" & XMLAttr(xmlNode, "ipaddr") & "</td>"
MyIO.Echo "<td align=""right"">" & FormatTime(XMLAttr(xmlNode, "intime"), "m-d H:i") & "</td>"
MyIO.Echo "<td align=""center"">"
MyIO.Echo "<select class=""sel"" onchange=""jspp.Book.control(this, " & XMLAttr(xmlNode, "seqid") & ")"">"
MyIO.Echo "<option value=""0"">管理</option>"
MyIO.Echo "<option value=""1"">回复</option>"
MyIO.Echo "<option value=""2"">删除</option>"
MyIO.Echo "</select>"
MyIO.Echo "</td>"
MyIO.Echo "</tr>"
i = i + 1
Next
Call ShowControl
Call ShowPage
Else
MyIO.Echo "<tr class=""winT4"">"
MyIO.Echo "<td colspan=""6"">尚无任何留言</td>"
MyIO.Echo "</tr>"
Call ShowControl
End If
MyIO.Echo "</table>"
Set objPage = Nothing
End Sub
Private Sub ShowControl()
MyIO.Echo "<tr class=""winT4"">"
MyIO.Echo "<td align=""center""><input type=""checkbox"" onclick=""chkAll(this)"" /></td>"
MyIO.Echo "<td colspan=""5"">"
MyIO.Echo " <input type=""button"" class=""btn"" value=""删除"" onclick=""jspp.Book.removeAll(this.form)"" />"
MyIO.Echo " <input type=""button"" class=""btn"" value=""搜索"" onclick=""jspp.Book.query(this.form)"" />"
MyIO.Echo " <input name=""Keyword"" type=""text"" class=""txt"" value=""" & MyIO.HTMLEncode(MyIO.QueryString("Keyword")) & """ />"
MyIO.Echo "</td>"
MyIO.Echo "</tr>"
End Sub
Private Sub ShowPage()
MyIO.Echo "<tr class=""winT4"">"
MyIO.Echo "<td colspan=""6"" align=""right"">"
MyIO.Echo "共 " & objPage.Count & " 条信息 "
MyIO.Echo objPage.Size & " 条/页 "
MyIO.Echo objPage.ID & "/" & objPage.Total & " 页"
If objPage.ID > 1 Then
MyIO.Echo " <a href=""javascript:void(0)"" onclick=""jspp.Book.doPage(1)"" class=""a1"" />首 页</a>"
MyIO.Echo " <a href=""javascript:void(0)"" onclick=""jspp.Book.doPage(" & (objPage.ID - 1) & ")"" class=""a1"" />上一页</a>"
Else
MyIO.Echo " <a class=""a1"">首 页</a>"
MyIO.Echo " <a class=""a1"">上一页</a>"
End If
If objPage.ID < objPage.Total Then
MyIO.Echo " <a href=""javascript:void(0)"" onclick=""jspp.Book.doPage(" & (objPage.ID + 1) & ")"" class=""a1"" />下一页</a>"
MyIO.Echo " <a href=""javascript:void(0)"" onclick=""jspp.Book.doPage(" & objPage.Total & ")"" class=""a1"" />尾 页</a>"
Else
MyIO.Echo " <a class=""a1"">下一页</a>"
MyIO.Echo " <a class=""a1"">尾 页</a>"
End If
MyIO.Echo "</td>"
MyIO.Echo "</tr>"
MyIO.Echo "<tr class=""winT4"">"
MyIO.Echo "<td colspan=""6"">"
MyIO.Echo "图标说明:带有<img src=""images/xw_tree2.gif"" border=""0"" align=""absBottom"" />图标的留言表示该留言是已回复过的留言,点击图标可以查看回复"
MyIO.Echo "</td>"
MyIO.Echo "</tr>"
End Sub
Private Sub doGetReply
Dim objCmd
Set objCmd = MyKernel.Command(T_BOOK)
objCmd.CommandType = "SELECT"
objCmd.Where = "SeqId=" & atol(MyIO.QueryString("SeqId")) & " AND Follow=0"
If MyPower("ReplyGuestBook") = 0 Then
MyIO.Echo "您没有回复留言的权限"
ElseIf Not objCmd.Exec Then
MyIO.Echo "<table width=""200"" border=""1"" cellpadding=""2"" cellspacing=""0"" style=""border-collapse:collapse"" bordercolor=""#000000"">"
MyIO.Echo "<tr class=""winT1"">"
MyIO.Echo "<td><b>找不到您要回复的留言</b></td>"
MyIO.Echo "</tr>"
MyIO.Echo "</table>"
Else
MyIO.Echo "<form id=""frmTemplet"" onsubmit=""return(false)"">"
MyIO.Echo "<table width=""400"" border=""1"" cellpadding=""2"" cellspacing=""0"" style=""border-collapse:collapse"" bordercolor=""#000000"">"
MyIO.Echo "<tr>"
MyIO.Echo "<td colspan=""2"" class=""winT0""><b>回复留言</b></td>"
MyIO.Echo "</tr>"
MyIO.Echo "<tr class=""winT4"">"
MyIO.Echo "<td width=""80"">您的回复</td>"
MyIO.Echo "<td width=""320""><textarea name=""Reply"" class=""area"" style=""width:300px;height:100px""></textarea></td>"
MyIO.Echo "</tr>"
MyIO.Echo "<tr class=""winT4"">"
MyIO.Echo "<td colspan=""2"" align=""center"">"
MyIO.Echo " <input name=""Accept"" type=""button"" value=""确 定"" class=""btn"" />"
MyIO.Echo " <input name=""Cancel"" type=""button"" value=""取 消"" class=""btn"" />"
MyIO.Echo "</td>"
MyIO.Echo "</tr>"
MyIO.Echo "</table>"
MyIO.Echo "</form>"
End If
Set objCmd = Nothing
End Sub
Private Sub doGetReplys()
Dim objCmd
Dim xmlDoc, xmlNode
Set objCmd = MyKernel.Command(T_BOOK)
objCmd.CommandType = "SELECT"
objCmd.Where = "SeqId=" & atol(MyIO.QueryString("SeqId")) & " AND Follow=0"
If MyPower("ViewGuestBook") = 0 Then
MyIO.Echo "您没有查看留言的权限"
ElseIf Not objCmd.Exec Then
MyIO.Echo "<li>找不到您要回复的留言</li>"
Else
strSQL = "SELECT * FROM $(Table) WHERE Follow=$(Follow) ORDER BY Intime DESC"
strSQL = Replace(strSQL, "$(Table)", T_BOOK)
strSQL = Replace(strSQL, "$(Follow)", objCmd("SeqId"))
Set xmlDoc = MyKernel.DB.SQLToXML(strSQL, "msgs", "msg")
For Each xmlNode In xmlDoc.documentElement.childNodes
MyIO.Echo "<hr/>"
MyIO.Echo "<li>回复:" & Replace(MyIO.HTMLEncode(XMLAttr(xmlNode, "content")), vbCrLf, "<br/>") & "</li>"
MyIO.Echo "<li>时间:" & FormatTime(XMLAttr(xmlNode, "intime"), "Y-m-d H:i:s") & "</li>"
MyIO.Echo "<li>管理:<a href=""javascript:void(0)"" onclick=""jspp.Book.remove(" & XMLAttr(xmlNode, "seqid") & ")"" class=""a1"">删除</a></li>"
Next
Set xmlDoc = Nothing
End If
Set objCmd = Nothing
End Sub
Private Sub doPostRemove()
If MyPower("DeleteGuestBook") = 0 Then
MyIO.Echo "您没有删除留言的权限"
Else
Dim arr, tmp, i
arr = Split(MyIO.Form("SeqId"), ",")
If Not IsNumericArray(arr) Then
MyIO.Echo "请选择您要删除的留言"
Else
strSQL = "SELECT SEQID,FOLLOW,USERID FROM $(Table) WHERE SEQID IN ($(SeqId))"
strSQL = Replace(strSQL, "$(Table)", T_BOOK)
strSQL = Replace(strSQL, "$(SeqId)", Join(arr, ","))
tmp = MyKernel.DB.GetRows(strSQL)
If Not IsArray(tmp) Then
MyIO.Echo "请选择您要删除的留言"
Else
For i = 0 To UBound(tmp, 2)
If tmp(1, i) = 0 Then
strSQL = "DELETE FROM $(Table) WHERE FOLLOW=$(Follow)"
strSQL = Replace(strSQL, "$(Table)", T_BOOK)
strSQL = Replace(strSQL, "$(Follow)", tmp(0, i))
MyKernel.DB.Exec strSQL
Else
strSQL = "UPDATE $(Table) SET REPLY=REPLY-1 WHERE SEQID=$(SeqId)"
strSQL = Replace(strSQL, "$(Table)", T_BOOK)
strSQL = Replace(strSQL, "$(SeqId)", tmp(2, i))
MyKernel.DB.Exec strSQL
End If
Next
MyKernel.DB.Exec str_format("DELETE FROM $0 WHERE SEQID IN ($1)", Array(T_BOOK, Join(arr, ",")))
SetCache "WAPmo.Book", MyKernel.DB.GetRow("SELECT COUNT(SEQID) FROM " & T_BOOK & " WHERE FOLLOW=0")
MyIO.Echo "OK"
End If
End If
End If
End Sub
Private Sub doPostReply()
Dim lngId
Dim strReply
Dim objCmd
lngId = atol(MyIO.QueryString("SeqId"))
strReply = Trim(MyIO.Form("Reply"))
If MyPower("ReplyGuestBook") = 0 Then
MyIO.Echo "您没有回复留言的权限"
ElseIf lngId <= 0 Then
MyIO.Echo "请选择您要回复的留言"
ElseIf strReply = "" Then
MyIO.Echo "请输入您的回复"
Else
Set objCmd = MyKernel.Command(T_BOOK)
objCmd.CommandType = "SELECT"
objCmd.Where = "SEQID=" & lngId & " AND FOLLOW=0"
If Not objCmd.Exec Then
MyIO.Echo "找不到您要回复的留言"
Else
objCmd.CommandType = "UPDATE"
objCmd.Where = "SEQID=" & objCmd("SeqId")
objCmd.Add "Reply", objCmd("Reply") + 1
objCmd.Exec
objCmd.CommandType = "INSERT"
objCmd.Add "UserID", 0
objCmd.Add "UserName", "站长"
objCmd.Add "Content", strReply
objCmd.Add "Follow", lngId
objCmd.Add "Reply", 0
objCmd.Add "Intime", GetTime(Now())
objCmd.Exec
MyIO.Echo "OK"
End If
Set objCmd = Nothing
End If
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -