Private strHandle
Private intErrId
Private strReason
Private MyIO

Private Sub Class_Initialize()
    strHandle = Request.QueryString("Handle")
End Sub

Public Sub main()
    If Request.ServerVariables("REQUEST_METHOD") = "POST" Then
        Call doPost
    Else
        Call doGet
    End If
End Sub

Private Sub doGet()
    Select Case LCase(strHandle)
    Case "list"
        Set MyIO = Server.CreateObject("WMCore.IIO")
        Call doGetList
        Set MyIO = Nothing
    Case "reply"
        Call doGetReply
    Case "replys"
        Call doGetReplys
    Case Else
        Call doGetMain
    End Select
End Sub

Private Sub doPost()
    Select Case LCase(strHandle)
    Case "remove"
        Call doPostRemove
    Case "reply"
        Set MyIO = Server.CreateObject("WMCore.IIO")
        Call doPostReply
        Set MyIO = Nothing
    Case Else
        Echo "δ֪"
    End Select
End Sub

Private Sub doGetMain()
    Echo "<html>"
    Echo "<head>"
    Echo "<meta http-equiv=""cache-control"" content=""no-cache"" />"
    Echo "<meta http-equiv=""cache-control"" content=""max-age=0"" />"
    Echo "<meta http-equiv=""content-type"" content=""text/html; charset=gb2312"" />"
    Echo "<title>" & MyKernel.Env("ProVName") & " - Ա</title>"
    Echo "<link rel=""stylesheet"" href=""images/xw.css"" />"
    Echo "<script language=""javascript"" src=""jspp/jspp.js""></script>"
    Echo "<script language=""javascript"">"
    Echo "<!--"
    Echo "jspp.Caption = """ & MyKernel.Env("ProName") & """;"
    Echo "-->"
    Echo "</script>"
    Echo "<script language=""javascript"" src=""images/wm_book.js""></script>"
    Echo "</head>"
    Echo "<body style=""padding:5;margin:0;overflow:auto;border:0"">"
    Echo "<table width=""100%"" border=""0"" cellpadding=""0"" cellspacing=""0"" style=""border:1px solid #000000"">"
    Echo "    <tr>"
    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>"
    Echo "    </tr>"
    Echo "    <tr>"
    Echo "        <td>"
    Echo "            <table width=""100%"" border=""0"" cellpadding=""0"" cellspacing=""0"">"
    Echo "                <tr>"
    Echo "                    <td height=""24"" style=""background-image:url(images/xw_back4.gif)"">&nbsp;</td>"
    Echo "                </tr>"
    Echo "                <tr>"
    Echo "                    <td>"
    Echo "                        <table width=""98%"" border=""0"" cellpadding=""0"" cellspacing=""0"" align=""center"">"
    Echo "                            <tr id=""child_0"" style=""display:none"">"
    Echo "                                <td>"
    Call setListForm
    Echo "</td>"
    Echo "                            </tr>"
    Echo "                        </table>"
    Echo "                    </td>"
    Echo "                </tr>"
    Echo "            </table>"
    Echo "        </td>"
    Echo "    </tr>"
    Echo "</table>"
    Echo "<iframe id=""console"" name=""console"" frameborder=""0"" scrolling=""no"" width=""0"" height=""0"" style=""display:none""></iframe>"
    Echo "</body>"
    Echo "</html>"
End Sub

Private Sub setListForm()
    Echo "<form id=""frmMain_0"" onsubmit=""return(false)"">"
    Echo "<table width=""100%"" border=""1"" cellpadding=""2"" cellspacing=""0"" align=""center"" style=""border-collapse:collapse"" bordercolor=""#000000"">"
    Echo "    <tr>"
    Echo "        <td colspan=""2"" class=""winT0"">"
    Echo "            <b></b>"
    Echo "            <a href=""javascript:void(0)"" class=""a1"" onclick=""jspp.Book.doPage(jspp.Book.page)"">ˢб</a>"
    Echo "        </td>"
    Echo "    </tr>"
    Echo "    <tr class=""winT1"">"
    Echo "        <td colspan=""2"" id=""_list_""></td>"
    Echo "    </tr>"
    Echo "</table>"
    Echo "</form>"
End Sub

Private Sub doGetList()
    Response.Charset = "utf-8"
    Response.ContentType = "text/xml"
    Dim objPage
    Dim rs
    Dim i
    Dim strKey
    Dim strWhere
    strKey = Trim(MyIO.QueryString("Keyword", 65001))
    Set objPage = Server.CreateObject("WMKernel.IPage")
    objPage.PageName = "Page"
    objPage.PageSize = 20
    objPage.DataType = WM_DataType
    objPage.Increment = "Intime"
    objPage.Column = "*"
    objPage.Table = T_BOOK
    strWhere = "Follow=0"
    If strKey <> "" Then
        strWhere = strWhere & Replace(" AND (UserName LIKE '%$(Keyword)%' Or Content LIKE '%$(Keyword)%')", "$(Keyword)", SafeString(strKey))
    End If
    objPage.Where = strWhere
    objPage.Sort = "Intime DESC"
    objPage.SortType = True
    Set rs = objPage.Exec()
    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"">"
    Echo "    <tr>"
    Echo "        <td width=""8%"" class=""winT0""><b>ѡ</b></td>"
    Echo "        <td width=""12%"" class=""winT0""><b>ǳ<b/></td>"
    Echo "        <td width=""46%"" class=""winT0""><b><b/></td>"
    Echo "        <td width=""13%"" class=""winT0""><b>IPַ<b/></td>"
    Echo "        <td width=""13%"" class=""winT0""><b>ʱ<b/></td>"
    Echo "        <td width=""8%"" class=""winT0""><b></b></td>"
    Echo "    </tr>"
    If MyPower.Item("ViewGuestBook") = 0 Then
        Echo "ûв鿴ԵȨ"
    ElseIf objPage.TotalRow > 0 Then
        i = 0
        Dim objBook
        Set objBook = MyKernel.Table(T_BOOK)
        Do While rs.EOF = False And i < objPage.PageSize
            objBook.Source = rs
            Echo "<tr class=""winT1"">"
            Echo "<td align=""center""><input type=""checkbox"" id=""SeqId"" name=""SeqId"" value=""" & objBook.Item("SeqId") & """ /></td>"
            Echo "<td>" & objBook.Item("UserName") & "</td>"
            Push "<td>" & Replace(Server.HTMLEncode(objBook.Item("Content")), vbCrLf, "<br/>")
            If objBook.Item("Reply") <> 0 Then
                Push "<div id=""Reply" & objBook.Item("SeqId") & """><img src=""images/xw_tree2.gif"" border=""0"" style=""cursor:pointer"" onclick=""jspp.Book.getReply(" & objBook.Item("SeqId") & ")"" /></div>"
            End If
            Echo "</td>"
            Echo "<td>" & objBook.Item("IPAddr") & "</td>"
            Echo "<td align=""right"">" & FormatTime(getDate(objBook.Item("Intime")), "MM-DD HH24:MI") & "</td>"
            Echo "<td align=""center"">"
            Echo "<select class=""sel"" onchange=""jspp.Book.control(this, " & objBook.Item("SeqId") & ")"">"
            Echo "<option value=""0""></option>"
            Echo "<option value=""1"">ظ</option>"
            Echo "<option value=""2"">ɾ</option>"
            Echo "</select>"
            Echo "</td>"
            Echo "</tr>"
            rs.MoveNext
            i = i + 1
        Loop
        Set objBook = Nothing
        Call ShowControl
        Call ShowPage(objPage)
    Else
        Echo "    <tr class=""winT4"">"
        Echo "        <td colspan=""6"">κ</td>"
        Echo "    </tr>"
        Call ShowControl
    End If
    Echo "</table>"
    If TypeName(rs) <> "Nothing" Then rs.Close
    Set rs = Nothing
    Set objPage = Nothing
End Sub

Private Sub ShowControl()
    Echo "    <tr class=""winT4"">"
    Echo "        <td align=""center""><input type=""checkbox"" onclick=""chkAll(this)"" /></td>"
    Echo "        <td colspan=""5"">"
    Echo "            <input type=""button"" class=""btn"" value=""ɾ"" onclick=""jspp.Book.removeAll(this.form)"" />"
    Echo "            <input type=""button"" class=""btn"" value="""" onclick=""jspp.Book.query(this.form)"" />"
    Echo "            <input name=""Keyword"" type=""text"" class=""txt"" value=""" & Server.HTMLEncode(MyIO.QueryString("Keyword", 65001)) & """ />"
    Echo "        </td>"
    Echo "    </tr>"
End Sub

Private Sub ShowPage(ByVal objPage)
    Echo "    <tr class=""winT4"">"
    Echo "        <td colspan=""6"" align=""right"">"
    Echo "            " & objPage.TotalRow & "Ϣ"
    Echo "            " & objPage.PageSize & "/ҳ"
    Echo "            " & objPage.PageNum & "/" & objPage.TotalPage & "ҳ"
    If objPage.PageNum > 1 Then
        Echo "            <a href=""javascript:void(0)"" onclick=""jspp.Book.doPage(1)"" class=""a1"" />  ҳ</a>"
        Echo "            <a href=""javascript:void(0)"" onclick=""jspp.Book.doPage(" & (objPage.PageNum - 1) & ")"" class=""a1"" />һҳ</a>"
    Else
        Echo "            <a class=""a1"">  ҳ</a>"
        Echo "            <a class=""a1"">һҳ</a>"
    End If
    If objPage.PageNum < objPage.TotalPage Then
        Echo "            <a href=""javascript:void(0)"" onclick=""jspp.Book.doPage(" & (objPage.PageNum + 1) & ")"" class=""a1"" />һҳ</a>"
        Echo "            <a href=""javascript:void(0)"" onclick=""jspp.Book.doPage(" & objPage.TotalPage & ")"" class=""a1"" />β  ҳ</a>"
    Else
        Echo "            <a class=""a1"">һҳ</a>"
        Echo "            <a class=""a1"">β  ҳ</a>"
    End If
    Echo "        </td>"
    Echo "    </tr>"
    Echo "    <tr class=""winT4"">"
    Echo "        <td colspan=""6"">"
    Echo "            ͼ˵<img src=""images/xw_tree2.gif"" border=""0"" align=""absBottom"" />ͼԱʾѻظԣͼԲ鿴ظ"
    Echo "        </td>"
    Echo "    </tr>"
End Sub

Private Sub doGetReply
    Response.Charset = "utf-8"
    Response.ContentType = "text/xml"
    Dim objBook
    Set objBook = MyKernel.Table(T_BOOK)
    If MyPower.Item("ReplyGuestBook") = 0 Then
        Echo "ûлظԵȨ"
    ElseIf objBook.Exec("*", "SeqId=" & atol(Request.QueryString("SeqId")) & " AND Follow=0") = False Then
        Echo "<table width=""200"" border=""1"" cellpadding=""2"" cellspacing=""0"" style=""border-collapse:collapse"" bordercolor=""#000000"">"
        Echo "    <tr class=""winT1"">"
        Echo "        <td><b>ҲҪظ</b></td>"
        Echo "    </tr>"
        Echo "</table>"
    Else
        Echo "<form id=""frmTemplet"" onsubmit=""return(false)"">"
        Echo "<table width=""400"" border=""1"" cellpadding=""2"" cellspacing=""0"" style=""border-collapse:collapse"" bordercolor=""#000000"">"
        Echo "    <tr>"
        Echo "        <td colspan=""2"" class=""winT0""><b>ظ</b></td>"
        Echo "    </tr>"
        Echo "    <tr class=""winT4"">"
        Echo "        <td width=""80"">Ļظ</td>"
        Echo "        <td width=""320""><textarea name=""Reply"" class=""area"" style=""width:300px;height:100px""></textarea></td>"
        Echo "    </tr>"
        Echo "    <tr class=""winT4"">"
        Echo "        <td colspan=""2"" align=""center"">"
        Echo "            <input name=""Accept"" type=""button"" value=""ȷ  "" class=""btn"" />"
        Echo "            <input name=""Cancel"" type=""button"" value=""ȡ  "" class=""btn"" />"
        Echo "        </td>"
        Echo "    </tr>"
        Echo "</table>"
        Echo "</form>"
    End If
    Set objBook = Nothing
End Sub

Private Sub doGetReplys()
    Response.Charset = "utf-8"
    Response.ContentType = "text/xml"
    Dim objBook
    Set objBook = MyKernel.Table(T_BOOK)
    If MyPower.Item("ViewGuestBook") = 0 Then
        Echo "ûв鿴ԵȨ"
    ElseIf objBook.Exec("*", "SeqId=" & atol(Request.QueryString("SeqId")) & " AND Follow=0") = False Then
        Echo "<li>ҲҪظ</li>"
    Else
        Dim strSQL
        Dim rs
        strSQL = "SELECT * FROM " & T_BOOK & " WHERE Follow=" & objBook.Item("SeqId") & " ORDER BY Intime DESC"
        Set rs = MyKernel.Execute(strSQL)
        Do While rs.EOF = False
            Echo "<hr/>"
            Echo "<li>ظ" & Replace(Server.HTMLEncode(atos(rs("Content"))), vbCrLf, "<br/>") & "</li>"
            Echo "<li>ʱ䣺" & FormatTime(getDate(rs("Intime")), "YYYY-MM-DD HH24:MI:SS") & "</li>"
            Echo "<li><a href=""javascript:void(0)"" onclick=""jspp.Book.remove(" & rs("SeqId") & ")"" class=""a1"">ɾ</a></li>"
            rs.MoveNext
        Loop
        rs.Close
        Set rs = Nothing
    End If
    Set objBook = Nothing
End Sub

Private Sub doPostRemove()
    Response.Charset = "utf-8"
    Response.ContentType = "text/xml"
    If MyPower.Item("DeleteGuestBook") = 0 Then
        Echo "ûɾԵȨ"
    Else
        Dim arrSeq
        Dim lngSeq
        Dim objBook
        Set objBook = MyKernel.Table(T_BOOK)
        arrSeq = Split(Request.Form("SeqId"), ",")
        For Each lngSeq In arrSeq
            If objBook.Exec("*", "SeqId=" & atol(lngSeq)) Then
                SafeExecute "DELETE FROM " & T_BOOK & " WHERE SeqId=" & objBook.Item("SeqId")
                If objBook.Item("Follow") = 0 Then
                    SafeExecute "DELETE FROM " & T_BOOK & " WHERE Follow=" & objBook.Item("SeqId")
                    SafeExecute "UPDATE " & T_USER & " SET BookTotal=BookTotal-1 WHERE UserId=" & objBook.Item("UserId") 
                Else
                    SafeExecute "UPDATE " & T_BOOK & " SET Reply=Reply-1 WHERE SeqId=" & objBook.Item("Follow")
                End If
            End If
        Next
        Set objBook = Nothing
        Push "OK"
    End If
End Sub

Private Sub doPostReply()
    Response.Charset = "utf-8"
    Response.ContentType = "text/xml"
    Dim objBook
    Set objBook = MyKernel.Table(T_BOOK)
    If MyPower.Item("ReplyGuestBook") = 0 Then
        Echo "ûлظԵȨ"
    ElseIf objBook.Exec("*", "SeqId=" & atol(Request.QueryString("SeqId")) & " AND Follow=0") = False Then
        Echo "ҲҪظ"
    Else
        Dim strReply
        strReply = Trim(MyIO.Form("Reply", 65001))
        If strReply = "" Then
            Push "Ļظ"
        Else
            Dim strSQL
            strSQL = "INSERT INTO $(Table) (UserId,UserName,Content,Follow,Reply,Intime) VALUES (0,'վ','$(Reply)',$(Follow),0,$(Timeval))"
            strSQL = Replace(strSQL, "$(Table)", T_BOOK)
            strSQL = Replace(strSQL, "$(Reply)", SafeString(strReply))
            strSQL = Replace(strSQL, "$(Follow)", objBook.Item("SeqId"))
            strSQL = Replace(strSQL, "$(Timeval)", getTime(Now()))
            SafeExecute strSQL
            strSQL = "UPDATE $(Table) SET Reply=Reply+1 WHERE SeqId=$(SeqId)"
            strSQL = Replace(strSQL, "$(Table)", T_BOOK)
            strSQL = Replace(strSQL, "$(SeqId)", objBook.Item("SeqId"))
            SafeExecute strSQL
            Push "OK"
        End If
    End If
    Set objBook = Nothing
End Sub
