< ><BR><%<BR>If Dvbbs.BoardID < 1 Then<BR> Response.Write \"参数错误\"<BR> Response.End <BR>End If<BR>Dvbbs.LoadTemplates(\"dispbbs\")<BR>Dim AnnounceID,ReplyID,Star,Skin,followup<BR>Dim CanReply,IsTop,IsVote,TopicCount,PollID,TotaluseTable,ViewNum,Topic,TopicMode<BR>Dim PostBuyUser,abgcolor,bgcolor,UserName,CanRead,PostUserName<BR>Dim T_GetMoney,T_UseTools,T_GetMoneyType,TopicInfo,IsTopicUser<BR>Dim FoundUseMagic,iMagicFace<BR>Dim ReplyID_a,AnnounceID_a,RootID_a \'当前贴子相关ID,给出售贴用 by 轻飘飘<BR>FoundUseMagic = 0<BR>Chk_Topic_Err<BR>Dvbbs.Showerr()<BR>Dvbbs.Nav()<BR>Dvbbs.Showerr()<BR>Dvbbs.Head_var 1,\"\",\"\",\"\"<BR>GetForumTextAd(2)<BR>Dvbbs.ActiveOnline()<BR>Dim Page,LockTopic,action,TopicNum,n,SplitPageNum,EmotPath</P>
< >EmotPath=Split(Dvbbs.Forum_emot,\"|||\")(0) \'em心情路径<BR>action=Request(\"action\")<BR> age=Request(\" age\")<BR>If isNumeric(Page) = 0 or Page=\"\" Then Page=1<BR> age=Clng(Page)<BR>Show_Topic_Top()<BR>Dvbbs.ShowErr()</P>
< >Dim dv_ubb<BR>Set dv_ubb=new Dvbbs_UbbCode<BR>dv_ubb.PostType=1<BR>Show_Topic_HTML()<BR>Set dv_ubb=Nothing<BR>If Skin=1 and CanRead Then showtree()<BR>If CanReply Then Show_Topic_FastRe<BR>If Dvbbs.UserID>0 Then Show_Topic_ManageAction<BR>Dvbbs.NewPassword()<BR>Dvbbs.Footer()</P>
< >Sub Chk_Topic_Err<BR> AnnounceID=Request(\"ID\")<BR> If AnnounceID=\"\" Or Not IsNumeric(AnnounceID) Then Dvbbs.AddErrCode(30)<BR> ReplyID=Request(\"ReplyID\")<BR> If ReplyID=\"\" Or Not IsNumeric(ReplyID) Then ReplyID=AnnounceID<BR> Star=Request(\"Star\")<BR> If Star=\"\" Or Not IsNumeric(Star) Then Star=1<BR> Star=Clng(Star)<BR> Skin=Request(\"Skin\")<BR> If Skin=\"\" Or Not IsNumeric(Skin) Then Skin=Dvbbs.Board_setting(42)<BR> If Dvbbs.ErrCodes<>\"\" Then Exit Sub<BR> Dim SQl,Rs<BR> Dim MyCanReply<BR> \'浏览购买帖权限<BR> CanRead=False<BR> If Dvbbs.Master or Dvbbs.SuperBoardMaster or Dvbbs.BoardMaster Then CanRead=True</P>
< > Set Rs=Server.CreateObject(\"Adodb.RecordSet\")<BR> SQL=\"Select title,istop,isbest,PostUserName,PostUserid,hits,isvote,child,pollid,LockTopic,PostTable,BoardID,TopicMode,GetMoney,UseTools,GetMoneyType,DateAndTime,Expression From DV_topic where topicID=\"&Announceid<BR> If Not IsObject(Conn) Then ConnectionDatabase<BR> Rs.Open SQL,Conn,3,2<BR> Dvbbs.SqlQueryNum=Dvbbs.SqlQueryNum+1<BR> \'Set Rs=Dvbbs.Execute(SQL)<BR> If Not(Rs.BOF and Rs.EOF) then<BR> If Rs(11)<>Dvbbs.BoardID Then Dvbbs.AddErrCode(29)<BR> Rs(5)=Rs(5)+1<BR> Rs.Update<BR> Topic=Rs(0)<BR> istop=Rs(1)<BR> isVote=Rs(6)<BR> TopicCount=Rs(7)+1<BR> pollid=Rs(8)<BR> \'锁定多少天前的帖子判断 2004-9-16 Dv.Yz<BR> If Not Ubound(Dvbbs.Board_Setting) > 70 Then<BR> Locktopic = Rs(9)<BR> Else<BR> If Not Clng(Dvbbs.Board_Setting(71)) = 0 And Datediff(\"d\", Rs(16), Now()) > Clng(Dvbbs.Board_Setting(71)) Then<BR> Locktopic = 1<BR> Else<BR> Locktopic = Rs(9)<BR> End If<BR> End If<BR> TotalUseTable=rs(10)<BR> TopicMode=rs(12)<BR> ViewNum=Rs(5)<BR> T_GetMoney = cCur(Rs(13))<BR> T_UseTools = Rs(14)<BR> T_GetMoneyType = Cint(Rs(15))<BR> PostUserName = Rs(3)<BR> <BR> If Rs(4)=Dvbbs.UserID then<BR> IsTopicUser = True \'是楼主<BR> MyCanReply=Dvbbs.GroupSetting(4)<BR> CanRead=True<BR> Else<BR> MyCanReply=Dvbbs.GroupSetting(5)<BR> If Cint(Dvbbs.GroupSetting(2))=0 Then Dvbbs.AddErrcode(31)<BR> End If<BR> <BR> If Len(Topic) > Cint(Dvbbs.Board_Setting(25)) And Not TopicMode>0 Then<BR> Topic=Left(Topic,Dvbbs.Board_Setting(25))&\"...\"<BR> End If<BR> If TopicMode>0 Then<BR> If TopicMode=1 Then<BR> Topic = Replace(Topic,\"<!--\",\"&lt;!--\") <BR> Else<BR> Topic = Replace(Topic,\"<\",\"&lt;\")<BR> Topic = Replace(Topic,\">\",\"&gt;\") <BR> Topic=Dvbbs_TopicMode(Topic,TopicMode)<BR> End If<BR> Else<BR> Topic = Replace(Topic,\"<\",\"&lt;\")<BR> Topic = Replace(Topic,\">\",\"&gt;\")<BR> End If<BR> Topic=Dvbbs.ChkBadWords(Topic)<BR> Dvbbs.Stats=Topic<BR> iMagicFace = Split(Rs(17),\"|\")<BR> If Ubound(iMagicFace) = 1 Then FoundUseMagic = iMagicFace(0)<BR> Else<BR> Dvbbs.AddErrcode(32)<BR> End If<BR> Rs.Close<BR> Set Rs=Nothing<BR> CanReply=False<BR> If (Not Dvbbs.Board_Setting(0)=\"1\" And Cint(mycanreply)=1 And Cint(locktopic)=0) Or (Dvbbs.master Or Dvbbs.superboardmaster Or Dvbbs.boardmaster) Then<BR> CanReply=True<BR> End If<BR>End Sub</P>
< >Function Show_Topic_Top()<BR> <BR> Dim TempStr,MyTempStr,ViewUrl<BR> If (Dvbbs.Board_Setting(43)=\"0\" And Dvbbs.Board_Setting(0)=\"0\") Or (Dvbbs.Board_Setting(43)=\"0\" And Dvbbs.Board_Setting(0)=\"1\" And (Dvbbs.Master Or Dvbbs.SuperBoardMaster Or Dvbbs.BoardMaster)) Then<BR> MyTempStr=Split(template.html(1),\"||\")<BR> TempStr=Replace(MyTempStr(0),\"{$pic_newpost}\",Dvbbs.mainpic(7))<BR> TempStr=Replace(TempStr,\"{$pic_newvote}\",Dvbbs.mainpic(8))<BR> Else<BR> If Dvbbs.Board_Setting(0)=\"1\" Then TempStr=template.Strings(0)<BR> End If<BR> ViewUrl = \"View_TopicInfo.asp?action=View&BoardId=\"&Dvbbs.BoardID&\"&ID=\"&Announceid<BR> \'帖子信息类型<BR> Select Case T_GetMoneyType<BR> Case 1<BR> TopicInfo = Replace(Template.Strings(17),\"{$SendMoney}\",T_GetMoney)<BR> TopicInfo = Replace(TopicInfo,\"{$Stats}\",\"\")<BR> Case 2<BR> TopicInfo = Replace(Template.Strings(18),\"{$GetMoney}\",T_GetMoney)<BR> Case 3<BR> TopicInfo = Replace(Template.Strings(19),\"{$PayMoney}\",T_GetMoney)<BR> Case 5<BR> TopicInfo = Replace(Template.Strings(17),\"{$SendMoney}\",T_GetMoney)<BR> TopicInfo = Replace(TopicInfo,\"{$Stats}\",Template.Strings(21))<BR> End Select<BR> TopicInfo = Replace(TopicInfo,\"{$ViewUrl}\",ViewUrl)<BR> <BR> Response.Write \"<Script Language=JavaScript>\" <BR> Response.Write \"var TopicMoneyInfo=\'\"&Replace(Replace(TopicInfo,\"\'\",\"\\\'\"),VbCrLf,\"\")&\"\';\"<BR> Response.Write \"</Script>\"</P>
< > TopicInfo = Replace(TopicInfo,\"{$alertcolor}\",Dvbbs.Mainsetting(1)) <BR> TempStr=Replace(template.html(0),\"{$topicpostinfo}\",TempStr)<BR> TempStr=Replace(TempStr,\"{$width}\",Dvbbs.mainsetting(0))<BR> TempStr=Replace(TempStr,\"{$boardid}\",Dvbbs.BoardID)<BR> TempStr=Replace(TempStr,\"{$page}\",page)<BR> TempStr=Replace(TempStr,\"{$replyid}\",ReplyID)<BR> TempStr=Replace(TempStr,\"{$star}\",Star)<BR> TempStr=Replace(TempStr,\"{$announceid}\",AnnounceID)<BR> TempStr=Replace(TempStr,\"{$viewnum}\",ViewNum)<BR> <BR> Dim Skinpic,Skinname,nskin<BR> If Skin=\"1\" Then<BR> nskin=0<BR> Skinpic=template.pic(1)<BR> Skinname=template.Strings(2)<BR> Else<BR> nskin=1<BR> Skinpic=template.pic(0)<BR> Skinname=template.Strings(1)<BR> End If<BR> TempStr=Replace(TempStr,\"{$skin}\",nskin)<BR> TempStr=Replace(TempStr,\"{$skinname}\",skinname)<BR> TempStr=Replace(TempStr,\"{$skinpic}\",skinpic)<BR> TempStr=Replace(TempStr,\"{$topic}\",Topic)<BR> If IsVote=1 Then<BR> TempStr=Replace(TempStr,\"{$voteinfo}\",Show_Topic_Vote)<BR> Else<BR> TempStr=Replace(TempStr,\"{$voteinfo}\",\"\")<BR> End If<BR> \'魔法表情部分<BR> TempStr=Replace(TempStr,\"{$dispmagicface}\",Split(template.html(14),\"||\")(0))<BR> If Clng(FoundUseMagic) > 0 Then<BR> Dim MagicFaceCookies<BR> MagicFaceCookies = Request.Cookies(\"DvbbsMagicFace\")<BR> If MagicFaceCookies = \"\" Or Not IsNumeric(MagicFaceCookies) Then<BR> TempStr=Replace(TempStr,\"{$isdispmagic}\",Split(template.html(14),\"||\")(2))<BR> TempStr=Replace(TempStr,\"{$magicfaceid}\",FoundUseMagic)<BR> Response.Cookies(\"DvbbsMagicFace\") = AnnounceID<BR> ElseIf cCur(AnnounceID) <> cCur(MagicFaceCookies) Then<BR> TempStr=Replace(TempStr,\"{$isdispmagic}\",Split(template.html(14),\"||\")(2))<BR> TempStr=Replace(TempStr,\"{$magicfaceid}\",FoundUseMagic)<BR> Response.Cookies(\"DvbbsMagicFace\") = AnnounceID<BR> Else<BR> Response.Cookies(\"DvbbsMagicFace\") = AnnounceID<BR> End If<BR> End If<BR> TempStr=Replace(TempStr,\"{$isdispmagic}\",\"\")<BR> \'魔法表情部分<BR> Response.Write TempStr<BR> TopicInfo = TopicInfo & Replace(template.Strings(20),\"{$SubmitUrl}\",\"buypost.asp?Action=buy&PostTable=\"&TotalUseTable&\"&boardid=\"&Dvbbs.Boardid&\"&ID=\"&Announceid&\"&ReplyID=\"&Announceid)<BR> TopicInfo = \"<div class=info>\"&TopicInfo&\"</div>\"<BR>End Function<BR>Function Topic_Ads()<BR> If Dvbbs.Forum_ads(7)=\"1\" Then<BR> Randomize<BR> Topic_Ads=Dvbbs.Forum_ads(14)(CInt(UBound(Dvbbs.Forum_ads(14))*Rnd))<BR> Else<BR> Topic_Ads=\"\"<BR> End If<BR>End Function<BR>Sub Show_Topic_HTML()<BR> If Dvbbs.Forum_ads(7)=\"1\" Then<BR> Dvbbs.Forum_ads(14)=replace(Dvbbs.Forum_ads(14),Chr(13),\"\")<BR> Dvbbs.Forum_ads(14)=Split(Dvbbs.Forum_ads(14),Chr(10))<BR> End If<BR> Dim SQL,Rs,i<BR> Dim TopicPageList,Pcount,isagree<BR> TopicPageList=Dvbbs.Board_Setting(27)<BR> SQL=\"B.AnnounceID,B.BoardID,B.UserName,B.Topic,B.dateandtime,B.body,B.Expression,B.ip,B.RootID,B.signflag,B.isbest,B.PostUserid,B.layer,b.isagree,U.useremail,U.UserIM,U.UserMobile,U.Usersign,U.userclass,U.Usertitle,U.Userwidth,U.Userheight,U.UserPost,U.Userface,U.JoinDate,U.userWealth,U.userEP,U.userCP,U.Userbirthday,U.Usersex,U.UserGroup,U.LockUser,U.userPower,U.titlepic,U.UserGroupID,U.LastLogin,B.PostBuyUser,U.UserHidden,U.IsChallenge,B.Ubblist,B.LockTopic,B.GetMoney,B.UseTools,U.UserMoney,U.UserTicket,B.GetMoneyType,B.IsUpload\"<BR> If Cint(skin)=1 and Clng(replyid)=Clng(Announceid) Then<BR> SQL=\"Select top 1 \"&SQL&\" From \"&TotalUseTable&\" B Inner Join [dv_user] U On U.UserID=B.PostUserID Where B.BoardID=\"&Dvbbs.BoardID&\" And B.RootID=\"&AnnounceID&\" Order By B.AnnounceID, B.DateAndTime\"<BR> ElseIf Cint(skin)=1 Then<BR> SQL=\"Select \"&SQL&\" From \"&TotalUseTable&\" B Inner Join [dv_user] U On U.UserID=B.PostUserID Where B.BoardID=\"&Dvbbs.BoardID&\" And B.AnnounceID=\"&replyID<BR> Else<BR> Dim AnnounceIDlists<BR> AnnounceIDlists=AnnounceIDlist()<BR> SQL=\"Select \"&SQL&\" From \"&TotalUseTable&\" B Inner Join [dv_user] U On U.UserID=B.PostUserID Where B.BoardID=\"&Dvbbs.BoardID&\" And B.RootID=\"&Announceid&\" And B.AnnounceID in (\"&AnnounceIDlists&\") Order BY B.AnnounceID, B.DateAndTime\"<BR> End If<BR> Set Rs = Dvbbs.Execute(SQL)<BR> If Rs.EOF And Rs.BOF Then<BR> Dvbbs.AddErrCode(33)<BR> Dvbbs.ShowErr()<BR> Exit Sub<BR> End If<BR> \'AnnounceID=0,BoardID=1,UserName=2,Topic=3,dateandtime=4,body=5,<BR> \'Expression=6,ip=7,RootID=8,signflag=9,isbest=10,PostUserid=11,<BR> \'layer=12,isagree=13,useremail=14,UserIM=15,UserMobile=16,sign=17,<BR> \'userclass=18,title=19,width=20,height=21,article=22,face=23,JoinDate=24,<BR> \'userWealth=25,userEP=26,userCP=27,birthday=28,sex=29,UserGroup=30,LockUser=31,<BR> \'userPower=32,titlepic=33,UserGroupID=34,LastLogin=35,PostBuyUser=36,UserHidden=37,IsChallenge=38,Ubblists=39,LockTopic=40,<BR> \'GetMoney=41,UseTools=42,UserMoney=43,UserTicket=44,GetMoneyType=45,IsUpload=46 <BR> Dim MyTempStr,ReplaceStr,userface,UserIM,TopicBody,Node,cnode,XMLDOM,XMLStyle,documentElement<BR> If Not(Rs.EOF And Rs.BOF) Then<BR> followup = Rs(\"AnnounceID\")<BR> If TopicCount mod Cint(TopicPageList)=0 then<BR> Pcount= TopicCount \\ Cint(TopicPageList)<BR> Else<BR> Pcount= TopicCount \\ Cint(TopicPageList)+1<BR> End If<BR> If star > Pcount Then star = Pcount<BR> If star < 1 Then star = 1 <BR> Response.Write \"<Script Language=JavaScript>\"<BR> Response.Write \"var star=\'\"&star&\"\';\"<BR> Response.Write \"var alertcolor=\'\"&Dvbbs.mainsetting(1)&\"\';\"<BR> Response.Write \"var Board_Setting27=\'\"&TopicPageList&\"\';\"<BR> Response.Write \"var TopicNum=\'\"&TopicCount&\"\';\"<BR> Response.Write \"var TotalUseTable=\'\"&TotalUseTable&\"\';\"<BR> Response.Write \"var GetMoneyType=\"&T_GetMoneyType&\";\"<BR> Response.Write Dvbbs.GroupSetting_UserName<BR> Response.Write \"</Script>\"&vbNewLine<BR> Set XMLDOM=Server.CreateObject(\"Microsoft.FreeThreadedXMLDOM\")<BR> XMLDOM.validateOnParse = False<BR> XMLDOM.resolveExternals = False<BR> Rs.Save XMLDOM,1<BR> <BR> XMLDOM.documentElement.removeChild(XMLDOM.documentElement.selectSingleNode(\"s:Schema\"))<BR> Set documentElement=XMLDOM.documentElement<BR> Dim nodelist<BR> Dim BuyMoneyInfo,ShowForm</P>
<P> Set nodelist=documentElement.selectNodes(\"rs ata/z:row\")<BR> i=0<BR> For each node in nodelist<BR> PostBuyUser=Rs(\"PostBuyUser\")<BR> UserName=Rs(\"UserName\")<BR> ReplyID_a=Rs(\"AnnounceID\")<BR> AnnounceID_a=Rs(\"AnnounceID\")<BR> RootID_a=Rs(\"RootID\")<BR> If (star = 1 And TopicMode=1 And i=0) Or Request(\"skin\")=\"1\" Then<BR> node.attributes.getNamedItem(\"Topic\").text=replacehtml(node.attributes.getNamedItem(\"Topic\").text)<BR> End If<BR> i=i+1</P>
<P> If node.attributes.getNamedItem(\"GetMoneyType\").text <>\"3\" Then<BR> CanRead=True<BR> Else<BR> If Not CanRead Then<BR> If Instr(node.attributes.getNamedItem(\"PostBuyUser\").text,\"|||\"&Dvbbs.Membername&\"|||\") Then<BR> CanRead = True<BR> Else<BR> BuyMoneyInfo = Split(Split(node.attributes.getNamedItem(\"PostBuyUser\").text,\"|||\",2)(0),\"@@@\")<BR> If Ubound(BuyMoneyInfo)>0 Then<BR> If BuyMoneyInfo(2) = 0 And Dvbbs.VipGroupUser Then<BR> CanRead = True<BR> ShowForm = True<BR> End If<BR> End If<BR> End If<BR> End If<BR> End If</P>
<P> Ubblists=Rs(\"Ubblist\")&\"\"<BR> If Not CanRead Then<BR> TopicBody = TopicInfo<BR> Else<BR> If Not (node.attributes.getNamedItem(\"LockUser\").text=\"2\" Or (node.attributes.getNamedItem(\"isbest\").text=\"1\" And Dvbbs.GroupSetting(41)=\"0\") Or node.attributes.getNamedItem(\"LockUser\").text=\"1\") Then<BR> If InStr(Ubblists,\",39,\") > 0 Then<BR> TopicBody = dv_ubb.Dv_UbbCode(node.attributes.getNamedItem(\"body\").text,node.attributes.getNamedItem(\"UserGroupID\").text,1,0)<BR> Else<BR> TopicBody = dv_ubb.Dv_UbbCode(node.attributes.getNamedItem(\"body\").text,node.attributes.getNamedItem(\"UserGroupID\").text,1,1)<BR> End If <BR> End If<BR> End If<BR> If ShowForm Then<BR> TopicBody = TopicBody & TopicInfo<BR> End If<BR> node.attributes.getNamedItem(\"body\").text=Dvbbs.ChkBadWords(TopicBody)<BR> If Not (node.attributes.getNamedItem(\"Usersign\") is Nothing) Then<BR> TopicBody=node.attributes.getNamedItem(\"Usersign\").text<BR> If Dvbbs.forum_setting(42) = \"0\" Then \'关闭签名的判断 2005-5-17 Dv.Yz<BR> node.attributes.getNamedItem(\"Usersign\").text = \"\"<BR> ElseIf node.attributes.getNamedItem(\"signflag\").text = \"1\" And node.attributes.getNamedItem(\"LockUser\").text = \"0\" And Dvbbs.forum_setting(42) = \"1\" Then<BR> node.attributes.getNamedItem(\"Usersign\").text = Dvbbs.ChkBadWords(Dv_ubb.Dv_SignUbbCode(TopicBody, node.attributes.getNamedItem(\"UserGroupID\").text))<BR> End If<BR> End If<BR> Userface=split(Rs(\"Userface\")&\"\",\"|\")<BR> If UBound(Userface)>0 Then<BR> node.attributes.getNamedItem(\"Userface\").text=Userface(1)<BR> Set CNode = XMLDOM.createNode(2,\"UserMfface\",\"\")<BR> Cnode.text=Userface(0)<BR> node.attributes.setNamedItem(Cnode)<BR> ElseIf UBound(Userface)=0 Then <BR> node.attributes.getNamedItem(\"Userface\").text=Userface(0)<BR> End If<BR> userIM=Split(node.attributes.getNamedItem(\"UserIM\").text,\"|||\")<BR> Set CNode = XMLDOM.createNode(2,\"homepage\",\"\")<BR> Cnode.text=UserIM(0)<BR> node.attributes.setNamedItem(Cnode)<BR> Set CNode = XMLDOM.createNode(2,\"oicq\",\"\")<BR> Cnode.text=UserIM(1)<BR> node.attributes.setNamedItem(Cnode)<BR> Set CNode = XMLDOM.createNode(2,\"uc\",\"\")<BR> Cnode.text=UserIM(6)<BR> node.attributes.setNamedItem(Cnode)<BR> If Not (node.attributes.getNamedItem(\"isagree\") is Nothing) Then<BR> isagree=Split(node.attributes.getNamedItem(\"isagree\").text,\"|\")<BR> If UBound(isagree)>0 Then<BR> Set CNode = XMLDOM.createNode(2,\"iAgree\",\"\")<BR> Cnode.text=isagree(1)<BR> node.attributes.setNamedItem(Cnode)<BR> node.attributes.getNamedItem(\"isagree\").text=isagree(0)<BR> End If<BR> End If<BR> Set CNode = XMLDOM.createNode(2,\"usernameencode\",\"\")<BR> Cnode.text=Server.urlencode(node.attributes.getNamedItem(\"UserName\").text)<BR> node.attributes.setNamedItem(Cnode)<BR> \'更新UserHidden,最后登录时候超过删除在线时间间隔的设置为1 <BR></P> |