<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> <% dim king,action:action=request("action") set king=new kingcms king.head 0,0 select case action case"" king_def case else king.error("system/error") end select king_outhtm set king=nothing 'def *** *** www.KingCMS.com *** *** sub king_def() dim sql,insql,sqltopic,sqlboard,sqlmenu,sqluser dim rs,data,datatopic,idata,datamenu,datauser,i,j,menuid,topicid,userid dim xmlvote,votenum,maxnum,votecount,outvote dim outmanage,paperclip dim tmphtm,menupath,intmplist,jsnumber,jshtm,zebra ' dim tcount,tpagecount dim invalue,invalues,listhtm,metainfo,userip,insidehtm dim strqq,stricq,stryahoo,match dim filepath dim topichit,topicrevert topicid=l1ll(1,8) sqlboard="boardid,bbstitle,bbscontent,bbsimg,boarddel,isface,isubb,issign,sysdate,lastdate,bbsdate,userid,userip,useragent,lastusername,downhit" sqltopic="topicid,bbstitle,bbscontent,bbsimg,topicdel,isface,isubb,issign,sysdate,lastdate,bbsdate,userid,userip,useragent,lastusername,downhit"'15 sqlmenu="menutmp,menutmplist,menulanguage,menupath,menutitle,menukeyword,menudescription,menuid1,menuname,bbstype,bbsmaster"'10 sqluser="username,usersign,usertitle,usersex,userclass,usermark,userprestige,userphoto,userwidth,userheight,userim"'10 sqluser=sqluser&",joindate,isusermail,usermail,userfrom,userskill,counttopic,counttopicbest,counttopicdel,usersite"'19 sql="topicid,sysdate,menuid,isvote,votetext,votetype,voteend,topicup,topicbest,topiclock" set rs=conn.execute("select "&sql&" from kingtopic where topicdel=0 and topicid="&topicid&";") if not rs.eof and not rs.bof then datatopic=rs.getrows() else king.error("system/error") end if rs.close set rs=nothing set rs=conn.execute("select "&sqlmenu&" from kingmenu where menuid="&datatopic(2,0)&";") '10 if not rs.bof and not rs.eof then datamenu=rs.getrows() menuid=datatopic(2,0) king.language=datamenu(2,0) tmphtm=datamenu(0,0) intmplist=king.getlist(tmphtm,"bbs",1) jsnumber=king.getlist(tmphtm,"bbs","number"):if II11(jsnumber,2) then king.rn=jsnumber jshtm=king.getlist(tmphtm,"bbs",0) zebra=king.getlist(tmphtm,"bbs","zebra") ' tpagecount=cint(tcount/rn):if tpagecount<(tcount/rn) then tpagecount=tpagecount+1 else king.error("system/error") end if rs.close set rs=nothing '论坛级别 select case cstr(datamenu(9,0)) case"2" king.range 1,0 case"3" king.range 4,0 end select '如果是投票 if cstr(datatopic(3,0))="1" then maxnum=1:votecount=0:outvote="" set xmlvote=createobject("microsoft.xmldom") xmlvote.async=false xmlvote.loadxml(datatopic(4,0)) for each match in xmlvote.documentelement.childnodes votenum=match.selectsinglenode("//vote/"&match.nodename&"/@number").text if cint(votenum)>cint(maxnum) then maxnum=votenum end if votecount=votecount+cint(votenum) next if votecount=0 then votecount=1'votecount不能零除 outvote="
" for each match in xmlvote.documentelement.childnodes votenum=match.selectsinglenode("//vote/"&match.nodename&"/@number").text outvote=outvote&"
" if datediff("s",datatopic(6,0),tnow)<0 then'如果未过期,就显示表单 if datatopic(5,0)=1 then'类型,单选 outvote=outvote&"" else outvote=outvote&"" end if end if outvote=outvote&match.selectsinglenode("//vote/"&match.nodename&"/@content").text&"
" outvote=outvote&"
"&votenum&"["&formatnumber(votenum*100/votecount,1,true)&"%]
" next outvote=outvote&"
" outvote=outvote&"" outvote=outvote&" " outvote=outvote&"" outvote=outvote&"
" outvote=outvote&"
" set xmlvote=nothing end if '管理菜单的显示 if cstr(datatopic(7,0))="2" then outmanage="取消总置顶" else outmanage="总置顶" end if if cstr(datatopic(7,0))="1" then outmanage=outmanage&"·取消置顶" else outmanage=outmanage&"·置顶" end if if cstr(datatopic(8,0))="1" then outmanage=outmanage&"·取消精华" else outmanage=outmanage&"·精华" end if if cstr(datatopic(9,0))="1" then outmanage=outmanage&"·解除锁定" else outmanage=outmanage&"·锁定" end if outmanage=outmanage&"·删除" outmanage=outmanage&"·移动" outmanage=outmanage&"·提升" ' set rs=conn.execute("select "&sqltopic&" from kingtopic where topicid="&topicid&" union all select "&sqlboard&" from kingboard where topicid="&topicid&" and boarddel=0 order by sysdate;") ' if not rs.eof and not rs.bof then ' data=rs.getrows() ' tcount=ubound(data,2)+1 ' else ' exit sub ' end if ' rs.close ' set rs=nothing king.open "select "&sqltopic&" from kingtopic where topicid="&topicid&" union all select "&sqlboard&" from kingboard where topicid="&topicid&" and boarddel=0 order by sysdate;",king.page&"?pid=$&/"&topicid&king.ext,1 if cstr(king.length)<>"-1" then invalues="title:"&I11II(htmlencode(king.data(1,0)))'页面总参数 invalues=invalues&"|keyword:"&I11II(I1111(king.data(1,0),0)) invalues=invalues&"|guide:"&I11II(king.guide(menuid)&htmlencode(left(king.data(1,0),30))) invalues=invalues&"|description:"&I11II(left(llIIl(htmlencode(king.data(2,0))),120)) invalues=invalues&"|menuid:"&menuid invalues=invalues&"|menuname:"&I11II(htmlencode(datamenu(8,0))) if ll11("0,1",datamenu(9,0)) then invalues=invalues&"|menupath:"&I11II(king.inst&datamenu(3,0)&"/index"&king.ext) else invalues=invalues&"|menupath:"&I11II(king.inst&king.path&"/topiclist.asp?"&menuid&king.ext) end if invalues=invalues&"|addtopic:"&I11II("") invalues=invalues&I11II("") invalues=invalues&"|addvote:"&I11II("") invalues=invalues&I11II("") invalues=invalues&"|replytopic:"&I11II("") invalues=invalues&I11II("") invalues=invalues&"|#bottom:"&I11II("") invalues=invalues&"|now:"&I11II(tnow) invalues=invalues&"|manage:"&I11II(outmanage)'"·总置顶·置顶·精华·锁定·删除·移动·提升·" if len(datamenu(10,0))>0 then invalues=invalues&"|masters:"&I11II(datamenu(10,0)) else invalues=invalues&"|masters:"&I11II(king.lang("common/none")) end if invalues=invalues&"|topicid:"&topicid invalues=invalues&"|vote:"&I11II(outvote) topichit=conn.execute("select topichit from kingtopic where topicid="&topicid&";")(0) topicrevert=conn.execute("select topicreply from kingtopic where topicid="&topicid&";")(0) invalues=invalues&"|hit:"&I11II(cdbl(topichit)+1) invalues=invalues&"|revert:"&I11II(topicrevert) end if for i=0 to king.length'循环topic+board invalue="title:"&I11II(htmlencode(king.data(1,i))) if len(king.data(3,i))>0 then'如果有附件 filepath=king.inst&king_upath&"/image/"&III11(king.data(10,i))&"/"&king.data(3,i) if ll11("jpeg,jpg,png,gif,bmp",lIl(king.data(3,i))) then'图片类型,直接贴图 if i=0 then'topic paperclip="
此主题相关的图片[]:
" paperclip=paperclip&king.bbimg("")&"" else paperclip="
此主题相关的图片[]:
" paperclip=paperclip&king.bbimg("")&"" end if else if i=0 then'topic paperclip="
此主题相关的附件:
" paperclip=paperclip&""&king.data(3,i)&" [][下载 "&king.data(15,i)&" 次]" else'board paperclip="
此主题相关的附件:
" paperclip=paperclip&""&king.data(3,i)&" [][下载 "&king.data(15,i)&" 次]" end if end if else paperclip="" end if ' sqlboard="boardid,bbstitle,bbscontent,bbsimg,boarddel,isface,isubb,issign,sysdate,lastdate,bbsdate,userid,userip,useragent,lastusername,downhit" ' sqltopic="topicid,bbstitle,bbscontent,bbsimg,topicdel,isface,isubb,issign,sysdate,lastdate,bbsdate,userid,userip,useragent,lastusername,downhit"'15 invalue=invalue&"|content:"&I11II(king.ubbencode(king.data(2,i),king.data(5,i),king.data(6,i),true)&paperclip) invalue=invalue&"|date:"&I11II(king.data(8,i)) if king.data(9,i)<>"" then invalue=invalue&"|lastdate:"&I11II("
"&king.lang("bbs/tip/lastedit|date:"&I11II(king.data(9,i))&";user:"&king.data(14,i))&"") end if invalue=invalue&"|#top:"&I11II("") if i=0 then'如果是主题贴 if king.pid=1 then invalue=invalue&"|floor:"&king.lang("bbs/floor") else invalue=invalue&"|floor:#"&king.rn*(king.pid-1)+i+1 end if invalue=invalue&"|edit:"&I11II("") invalue=invalue&"|quote:"&I11II("") invalue=invalue&"|del:"&I11II("") invalue=invalue&"|report:"&I11II("") else'回复贴 invalue=invalue&"|floor:#"&king.rn*(king.pid-1)+i+1 invalue=invalue&"|edit:"&I11II("") invalue=invalue&"|quote:"&I11II("") invalue=invalue&"|del:"&I11II("") invalue=invalue&"|report:"&I11II("") end if '用户信息 if cstr(userid)<>cstr(king.data(11,i)) then set rs=conn.execute("select "&sqluser&" from kinguser where userid="&king.data(11,i)&";") datauser=rs.getrows() userid=king.data(11,i) rs.close set rs=nothing end if invalue=invalue&"|username:"&I11II(htmlencode(datauser(0,0))) invalue=invalue&"|userid:"&king.data(11,i) if len(datauser(2,0))>0 then'头衔 invalue=invalue&"|usertitle:"&I11II(htmlencode(datauser(2,0))) else invalue=invalue&"|usertitle:--" end if invalue=invalue&"|usersex:"&I11II(htmlencode(king.lang("user/sex/sex"&datauser(3,0))))'性别 invalue=invalue&"|userlevel:"&I11II(king.grade(datauser(4,0),datauser(5,0),0))'级别 invalue=invalue&"|userlevelimage:"&I11II(king.grade(datauser(4,0),datauser(5,0),1))'级别图像 invalue=invalue&"|usermark:"&datauser(5,0)'积分 invalue=invalue&"|userprestige:"&datauser(6,0)'威望 invalue=invalue&"|counttopic:"&datauser(16,0)'发帖数 invalue=invalue&"|counttopicbest:"&datauser(17,0)'精华 invalue=invalue&"|counttopicdel:"&datauser(18,0)'被删除 invalue=invalue&"|userprofile:"&I11II(king.inst&king.path&"/user.asp?userid="&king.data(11,i)) invalue=invalue&"|userskill:"&I11II(htmlencode(datauser(15,0)))'特长 invalue=invalue&"|userfrom:"&I11II(htmlencode(datauser(14,0)))'来自 if ll11("swf",lIl(datauser(7,0))) then'flash头像 invalue=invalue&"|userphoto:"&I11II("") else invalue=invalue&"|userphoto:"&I11II("") end if invalue=invalue&"|joindate:"&I11II(datauser(11,0)) userip=left(king.data(12,i),instrrev(king.data(12,i),"."))&"*" invalue=invalue&"|userip:"&I11II(userip) invalue=invalue&"|useragent:"&I11II(htmlencode(king.data(13,i))) if datauser(1,0)<>"" and king.data(7,i) then invalue=invalue&"|usersign:"&I11II("
"&king.ubbencode(datauser(1,0),1,1,true)&"
") end if invalue=invalue&"|blog:"&I11II("") invalue=invalue&"|pm:"&I11II("") invalue=invalue&"|profile:"&I11II("") if cstr(datauser(12,0))="1" then invalue=invalue&"|mail:"&I11II("") end if if len(datauser(19,0))>0 then invalue=invalue&"|site:"&I11II("") end if if i mod zebra=0 then invalue=invalue&"|zebra:0" else invalue=invalue&"|zebra:F" end if if datauser(10,0)<>"" then strqq=l11(datauser(10,0),"","") stricq=l11(datauser(10,0),"","") stryahoo=l11(datauser(10,0),"","") if strqq<>"" then invalue=invalue&"|qq:"&I11II("") end if if stricq<>"" then invalue=invalue&"|icq:"&I11II("") end if if stryahoo<>"" then invalue=invalue&"|yahoo:"&I11II("") end if end if if (i mod king.rn)=0 then insidehtm=insidehtm&king.createhtm(jshtm,invalue) else insidehtm=insidehtm&king.createhtm(king.clsre(jshtm,"\(king\:ad .+?\/\)"),invalue) end if next ol=replace(tmphtm,intmplist,chr(3)&"kingbbslist"&chr(2)) ol=king.create(ol,invalues&"|pagelist:"&I11II(king.plist),0) ol=replace(ol,chr(3)&"kingbbslist"&chr(2),insidehtm) metainfo=chr(60)&chr(104)&"ead"&chr(62)&vbcr metainfo=metainfo&""&vbcr metainfo=metainfo&""&vbcr metainfo=metainfo&"" response.write llllI(ol,metainfo,"("&chr(60)&"h"&"ead).{0,}?\"&chr(62)) ol="" end sub 'outhtm *** *** www.KingCMS.com *** *** sub king_outhtm() l403 end sub%>