%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%> <%option explicit%> <% Dim KSCls Set KSCls = New Ask_Show_List KSCls.Kesion() Set KSCls = Nothing Class Ask_Show_List Private classid,cid,topicmode,child,classname,parentstr,param Private SqlStr,Topic,classarr,Catelist,CurrPage,totalPut,MaxPerPage,I,M,PageNum Private KS, KSR,KSUser,UserLoginTF Private Sub Class_Initialize() Set KS=New PublicCls Set KSR = New Refresh Set KSUser=New UserCls End Sub Private Sub Class_Terminate() Call CloseConn() Set KS=Nothing End Sub Public Sub Kesion() GetQueryParam UserLoginTF=Cbool(KSUser.UserLoginChecked) GetListParam GetChildList GetTopicList showmain set topic=nothing set classarr=nothing End Sub Sub ShowMain() Dim FileContent FileContent = KSR.LoadTemplate(KS.ASetting(22)) FCls.RefreshType = "asklist" '设置刷新类型,以便取得当前位置导航等 FCls.RefreshFolderID = "0" '设置当前刷新目录ID 为"0" 以取得通用标签 FileContent=KSR.KSLabelReplaceAll(FileContent) Scan FileContent End Sub Sub GetQueryParam() classid=KS.ChkClng(KS.S("id")) If classid=0 Then Call KS.AlertHintScript("对不起,非法参数!") Response.End() End If m=KS.ChkClng(KS.S("m")) If M<=2 and m<>0 Then topicmode=m-1 If KS.S("page") <> "" Then CurrPage = CInt(Request("page")) Else CurrPage = 1 End If End Sub Sub GetListParam() If Not IsObject(Application(KS.SiteSN&"_askclasslist")) Then ACls.LoadCategoryList Set Catelist = Application(KS.SiteSN&"_askclasslist") If Not Catelist Is Nothing Then Dim Node:Set Node=Catelist.documentElement.selectSingleNode("row[@classid="&classid&"]") classname=Node.selectSingleNode("@classname").text child=Node.selectSingleNode("@child").text parentstr=Node.selectSingleNode("@parentstr").text If child>0 Then cid=classid Else cid=CLng(Node.selectSingleNode("@parentid").text) End If End If MaxPerPage=KS.ChkClng(KS.ASetting(14)) End Sub Sub GetChildList() Dim SQLStr:SQLStr = "SELECT classid,classname,AskPendNum,AskDoneNum FROM KS_AskClass WHERE parentid="&KS.ChkClng(cid)&" ORDER BY orders,classid" Dim RS:Set RS=Conn.Execute(SQLStr) If Not RS.Eof Then classarr=RS.GetRows(-1) End If RS.Close:Set RS=Nothing End Sub Sub GetTopicList() If child > 0 Then Param="WHERE classid in (SELECT classid FROM KS_AskClass WHERE ','+parentstr+'' like '%,"&classid&",%') And isTop=0 And LockTopic=0" Else Param="WHERE classid="&classid & " And isTop=0 And LockTopic=0" End If If topicmode<>"" Then Param=Param &" and topicmode=" & topicmode If m=3 Then Param=Param & " and reward>0" SQLStr="SELECT TopicID,classid,classname,title,Username,Expired,Closed,DateAndTime,LastPostTime,LockTopic,Reward,Hits,PostNum,CommentNum,TopicMode,Highlight,Broadcast,Anonymous,IsTop FROM KS_AskTopic " & Param & " ORDER BY LastPostTime DESC" Dim RS:Set RS=Server.CreateObject("ADODB.RECORDSET") RS.Open SQLStr,Conn,1,1 If Not RS.Eof Then TotalPut= rs.recordcount If CurrPage < 1 Then CurrPage = 1 if (TotalPut mod MaxPerPage)=0 then PageNum = TotalPut \ MaxPerPage else PageNum = TotalPut \ MaxPerPage + 1 end if If CurrPage >1 and (CurrPage - 1) * MaxPerPage < totalPut Then RS.Move (CurrPage - 1) * MaxPerPage Else CurrPage = 1 End If Topic=RS.GetRows(MaxPerPage) End If RS.Close:Set RS=Nothing End Sub Sub ParseArea(sTokenName, sTemplate) Select Case sTokenName Case "topiclist" If IsArray(Topic) Then For i=0 To Ubound(Topic,2) Scan sTemplate Next Else End If End Select End Sub Sub ParseNode(sTokenType, sTokenName) Select Case lcase(sTokenType) case "ask" echo ACls.ReturnAskConfig(sTokenName) Case "head" Echo "
") if (CurrPage>1) then pageStr=PageStr & "上一页" if (CurrPage<>PageNum) then pageStr=PageStr & "下一页" pageStr=pageStr & "首 页" Dim startpage,n,j if (CurrPage>=7) then startpage=CurrPage-5 if PageNum-CurrPage<5 Then startpage=PageNum-10 If startpage<0 Then startpage=1 n=0 For J=startpage To PageNum If J= CurrPage Then PageStr=PageStr & " " & J &"" Else PageStr=PageStr & " " & J &"" End If n=n+1 : if n>=10 then exit for Next PageStr=PageStr & " 末页" pageStr=PageStr & " 共" & totalPut & "条记录,分" & PageNum & "页 |