%
Dvbbs.LoadTemplates("boardstat")
Dim sinfo,allnum
Dim boardstat_info(2),i
Dim Sql,Yrs
Dim BoardHide
If request("action")="lastbbsnum" then
sinfo="PostNum"
allnum=Dvbbs.cachedata(8,0)
Dvbbs.stats=template.Strings(1)
Elseif request("action")="lasttopicnum" then
sinfo="TopicNum"
allnum=Dvbbs.CacheData(7,0)
Dvbbs.stats=template.Strings(2)
Elseif request("reaction")<>"" then
sinfo="TodayNum"
allnum=MyBoardOnline.Forum_Online
If Dvbbs.boardid=0 then
Dvbbs.stats=template.Strings(3)
Else
Dvbbs.stats=Dvbbs.Boardtype&template.Strings(4)
End If
Else
sinfo="todayNum"
allnum=Dvbbs.CacheData(9,0)
Dvbbs.stats=template.Strings(5)
End If
Dim Stats
Stats=Dvbbs.stats
Dvbbs.Nav()
Dvbbs.Showerr()
If Dvbbs.boardid=0 Then
dvbbs.Head_var 0,0,template.Strings(0),"boardstat.asp"
Else
Dvbbs.head_var 1,Application(Dvbbs.CacheName&"_boardlist").documentElement.selectSingleNode("board[@boardid='"&Dvbbs.BoardID&"']/@depth").text,"",""
End if
Dim Redcolor
Redcolor=Dvbbs.mainsetting(1)
Main()
Dvbbs.ActiveOnline()
Dvbbs.Footer()
Sub Main()
dim MainTable,Toplist
Toplist=Template.Html(0)
Toplist=Replace(Toplist,"{$boardid}",Dvbbs.boardid)
Toplist=Replace(Toplist,"{$boardinfolist}",stateinfo_list(Dvbbs.boardid))
MainTable=Template.Html(1)
If request("reaction")="onlineinfo" then
MainTable=Replace(Maintable,"{$statelist}",Onlinemain(Dvbbs.boardid))
Elseif request("reaction")="onlineUserinfo" then
MainTable=Replace(Maintable,"{$statelist}",userinfo)
Elseif request("reaction")="online" then
MainTable=Replace(Maintable,"{$statelist}",Onlinestat)
Else
MainTable=Replace(Maintable,"{$statelist}",Statelist(sinfo))
End if
Response.Write Toplist
Response.write MainTable
End sub
Function stateinfo_list(str)
Dim Tempwrite
If Dvbbs.boardid=0 then
sql="select Forum_TopicNum,Forum_PostNum,Forum_TodayNum from [Dv_setup]"
Else
sql="select TopicNum,PostNum,TodayNum from [Dv_board] where boardid="&Dvbbs.boardid
End if
Set Yrs=Dvbbs.Execute(sql)
IF not Yrs.eof then
Sql=Yrs.GetString(,,"|||","","")
End IF
Yrs.close:Set Yrs=nothing
Sql=split(Sql,"|||")
For i=0 To 2
boardstat_info(i)=Sql(i)
Next
If request("reaction")<>"" then
If clng(str)=0 then
Tempwrite=template.Strings(6)
Tempwrite=Replace(Tempwrite,"{$Allonlinenum}",MyBoardOnline.Forum_Online)
Else
Tempwrite=template.Strings(6)&Template.Strings(7)
Tempwrite=Replace(Tempwrite,"{$Allonlinenum}",MyBoardOnline.Forum_Online)
Tempwrite=Replace(Tempwrite,"{$boardtype}",Dvbbs.Boardtype)
Tempwrite=Replace(Tempwrite,"{$boardusernum}",MyBoardOnline.Board_UserOnline)
Tempwrite=Replace(Tempwrite,"{$boardguestnum}",MyBoardOnline.Board_GuestOnline)
End if
stateinfo_list=Tempwrite
else
Tempwrite=template.Strings(8)
if clng(str)=0 then
Tempwrite=Replace(Tempwrite,"{$boardtype}",Dvbbs.Forum_info(0))
else
Tempwrite=Replace(Tempwrite,"{$boardtype}",Dvbbs.Boardtype)
end if
Tempwrite=Replace(Tempwrite,"{$TopicNum}",boardstat_info(0))
Tempwrite=Replace(Tempwrite,"{$BbsNum}",boardstat_info(1))
Tempwrite=Replace(Tempwrite,"{$TodayNum}",boardstat_info(2))
stateinfo_list=Tempwrite
end if
End function
Function Statelist(sinfo)
Dim Tempslist,Tempslist1,i,k
sql="Select "&sinfo&",boardid,BoardType,Board_Setting from Dv_board order by "&sinfo&" desc"
Set Yrs=Dvbbs.execute(Sql)
If Yrs.eof then
Tempslist=Template.Html(2)
Tempslist=Replace(Tempslist,"{$Stattitle1}",template.Strings(9))
Tempslist=Replace(Tempslist,"{$Stattitle2}",template.Strings(10))
Tempslist=Replace(Tempslist,"{$Stattitle3}",Stats)
Statelist="
"
Statelist=Statelist&template.Strings(11)
Statelist=Statelist&" |
"
Statelist=Tempslist&Statelist
Else
Sql=YRs.GetRows(-1)
Yrs.close:set Yrs=nothing
k=11
For i=0 to Ubound(sql,2)
k=k+1
BoardHide=Split(Sql(3,i),",")(1)
Tempslist1=Tempslist1&template.html(3)
If Dvbbs.boardid=Clng(Sql(1,i)) then
Tempslist1=Replace(Tempslist1,"{$selboard}",2)
Else
Tempslist1=Replace(Tempslist1,"{$selboard}",1)
End if
If LoadHideBBS then
Tempslist1=Replace(Tempslist1,"{$boardtype}",""&Sql(2,i)&"")
Else
Tempslist1=Replace(Tempslist1,"{$boardtype}",template.Strings(13))
End if
Tempslist1=Replace(Tempslist1,"{$statpic}",template.pic(k))
If k>20 then k=11
If allnum=0 then
Tempslist1=Replace(Tempslist1,"{$statwidth}",1)
Else
Tempslist1=Replace(Tempslist1,"{$statwidth}",FormatNumber(Sql(0,i)/allnum,4,-1)*400)
End if
Tempslist1=Replace(Tempslist1,"{$statnum}",Sql(0,i))
Next
Tempslist=Template.Html(2)
Tempslist=Replace(Tempslist,"{$Stattitle1}",template.Strings(9))
Tempslist=Replace(Tempslist,"{$Stattitle2}",template.Strings(10))
Tempslist=Replace(Tempslist,"{$Stattitle3}",Stats)
Tempslist=Tempslist&Tempslist1
Statelist=Tempslist
End if
End function
Function Onlinestat()
Dim Tempslist,Tempslist1,Tempslist2,i,k
Dim Othernum,OnlineNum
Othernum=Allnum
'修改按首页版面排序 2005-5-13 Dv.Yz
Sql = "SELECT Boardid, BoardType, Board_Setting, (SELECT COUNT(Id) FROM Dv_Online WHERE Boardid = Dv_Board.Boardid) FROM [Dv_Board] ORDER BY RootID, Orders"
Set Yrs=Dvbbs.execute(Sql)
If Yrs.eof then
Tempslist=Template.Html(2)
Tempslist=Replace(Tempslist,"{$Stattitle1}",template.Strings(9))
Tempslist=Replace(Tempslist,"{$Stattitle2}",template.Strings(10))
Tempslist=Replace(Tempslist,"{$Stattitle3}",template.Strings(4))
Onlinestat=""
Onlinestat=Onlinestat&template.Strings(11)
Onlinestat=Onlinestat&" |
"
Onlinestat=Tempslist&Onlinestat
Else
Sql=YRs.GetRows(-1)
Yrs.close:Set Yrs=nothing
k=11
For i=0 to Ubound(sql,2)
k=k+1
BoardHide=Split(sql(2,i),",")(1)
OnlineNum=sql(3,i)
If isnull(onlineNum) then onlineNum=0
Othernum=Othernum-onlineNum
Tempslist1=Tempslist1&template.html(3)
If Dvbbs.boardid=Clng(sql(0,i)) then
Tempslist1=Replace(Tempslist1,"{$selboard}",2)
Else
Tempslist1=Replace(Tempslist1,"{$selboard}",1)
End if
If LoadHideBBS then
Tempslist1=Replace(Tempslist1,"{$boardtype}",""&sql(1,i)&"")
Else
Tempslist1=Replace(Tempslist1,"{$boardtype}",template.Strings(13))
End if
Tempslist1=Replace(Tempslist1,"{$statpic}",template.pic(k))
If k>20 then k=11
If allnum=0 then
Tempslist1=Replace(Tempslist1,"{$statwidth}",1)
Else
Tempslist1=Replace(Tempslist1,"{$statwidth}",FormatNumber(onlineNum/allnum,4,-1)*400)
End if
Tempslist1=Replace(Tempslist1,"{$statnum}",onlineNum)
Next
IF Othernum>0 then
Tempslist2=""
Tempslist2=Tempslist2&template.Strings(12)
Tempslist2=Tempslist2&" | | "
Tempslist2=Tempslist2&Othernum
Tempslist2=Tempslist2&" |
"
Tempslist1=Tempslist2&Tempslist1
End if
Tempslist=Template.Html(2)
Tempslist=Replace(Tempslist,"{$Stattitle1}",template.Strings(9))
Tempslist=Replace(Tempslist,"{$Stattitle2}",template.Strings(10))
Tempslist=Replace(Tempslist,"{$Stattitle3}",template.Strings(4))
Tempslist=Tempslist&Tempslist1
Onlinestat=Tempslist
End if
End function
Function onlinemain(str)
Dim Tempslist,Tempslist1
dim page_count,Pcount
dim totalrec,PageListNum
dim onlinename,ipinfo,sysinfo,actiontime
Dim titlepic,maslink1,maslink2
PageListNum=Cint(Dvbbs.Forum_Setting(11))
Tempslist=Template.html(4)
If Clng(str)=0 then
sql="select username,stats,browser,ip,userhidden,lastimebk,startime,usergroupid,id,(select TitlePic from [Dv_UserGroups] where UserGroupID=Dv_online.usergroupid) from [Dv_online] order by startime"
Else
sql="select username,stats,browser,ip,userhidden,lastimebk,startime,usergroupid,id,(select TitlePic from [Dv_UserGroups] where UserGroupID=Dv_online.usergroupid) from [Dv_online] where Boardid="&Clng(str)&" order by startime"
End if
dim totalPages,currentPage
currentPage=request.querystring("page")
If currentpage="" or not isnumeric(currentpage) then
currentpage=1
Else
currentpage=clng(currentpage)
End if
If Not IsObject(Conn) Then ConnectionDatabase
Set Yrs=server.createobject("adodb.recordset")
Yrs.open Sql,conn,1,1
Dvbbs.SqlQueryNum=Dvbbs.SqlQueryNum+1
If Yrs.eof or Yrs.bof then
onlinemain=""
onlinemain=onlinemain&template.Strings(11)
onlinemain=onlinemain&" |
"
onlinemain=Tempslist&onlinemain
Else
page_count=0
totalrec=Yrs.recordcount
If totalrec mod PageListNum=0 then
Pcount= totalrec \ PageListNum
Else
Pcount= totalrec \ PageListNum+1
End if
if currentpage > Pcount then currentpage = Pcount
if currentpage<1 then currentpage=1
Yrs.Move (currentpage-1) * Cint(PageListNum)
While (not Yrs.eof) and (not page_count = Cint(PageListNum))
If Clng(Yrs("userhidden"))=1 then
If Dvbbs.master or Dvbbs.superboardmaster or trim(Yrs(0))=Dvbbs.membername then
onlinename=""&Dvbbs.HtmlEncode(Yrs("username"))&""
If Clng(Yrs("usergroupid"))=9999 then
titlepic=template.pic(0)
Else
titlepic=Yrs(9)
End if
Maslink1=""
Maslink2=""
Else
onlinename=template.Strings(14)
titlepic=template.pic(7)
Maslink1=""
Maslink2=""
End if
Else
If Clng(Yrs("usergroupid"))=9999 then
titlepic=template.pic(0)
Else
titlepic=Yrs(9)
End if
If Clng(Yrs("Usergroupid"))=7 then
onlinename=Dvbbs.HtmlEncode(Yrs("username"))
Maslink1=""
Maslink2=""
Else
onlinename=""&Dvbbs.HtmlEncode(Yrs("username"))&""
Maslink1=""
Maslink2=""
End if
End if
If trim(Yrs("username"))=Dvbbs.membername then
onlinename=""&onlinename&""
Maslink1=""
Maslink2=""
Elseif Dvbbs.userid=0 then
Maslink1=""
Maslink2=""
Elseif CLng(Dvbbs.UserGroupId)=7 then
If CLng(Dvbbs.UserSession.documentElement.selectSingleNode("userinfo/@statuserid").text)=Clng(Yrs("id")) then onlinename=""&onlinename&""
End if
If Cint(Dvbbs.GroupSetting(30))=1 then
ipinfo=""&Yrs("ip")&""
Else
ipinfo=template.Strings(15)
End if
sysinfo=Replace(replace(Yrs("browser"),"|",","),template.Strings(16),"IE")
actiontime=GetTimeStr(Yrs("startime"),Yrs("lastimebk"))
If page_count=0 then
Tempslist1=template.html(5)
Else
Tempslist1=Tempslist1&template.html(5)
End if
Tempslist1=Replace(Tempslist1,"{$maslink1}",Maslink1)
Tempslist1=Replace(Tempslist1,"{$maslink2}",Maslink2)
REM :因新建组可能没有填写等级图片 2004-5-11 YZ
If Titlepic = "" Or Isnull(Titlepic) Then
Titlepic = Template.Pic(4)
End If
titlepic = Dvbbs.Forum_PicUrl&Titlepic
Tempslist1=Replace(Tempslist1,"{$titlepic}",titlepic)
Tempslist1=Replace(Tempslist1,"{$onlinename}",onlinename)
Tempslist1=Replace(Tempslist1,"{$onlinestat}",Dvbbs.HtmlEncode(Yrs("stats")))
Tempslist1=Replace(Tempslist1,"{$onlinesys}",sysinfo)
Tempslist1=Replace(Tempslist1,"{$onlineip}",ipinfo)
Tempslist1=Replace(Tempslist1,"{$onlinetime}",actiontime)
Yrs.movenext
page_count = page_count + 1
Wend
Tempslist1=Tempslist1&ShowPage(CurrentPage,Pcount,totalrec,PageListNum,redcolor)
Tempslist=Tempslist&Tempslist1
Onlinemain=Tempslist
End if
END function
'分页输出
Function ShowPage(CurrentPage,Pcount,totalrec,PageNum,redcolor)
Dim SearchStr
SearchStr="Boardid="&Dvbbs.boardid&"&reaction=onlineinfo"
ShowPage=template.html(6)
ShowPage=Replace(ShowPage,"{$CurrentPage}",CurrentPage)
ShowPage=Replace(ShowPage,"{$Pcount}",Pcount)
ShowPage=Replace(ShowPage,"{$PageNum}",PageNum)
ShowPage=Replace(ShowPage,"{$totalrec}",totalrec)
ShowPage=Replace(ShowPage,"{$SearchStr}",SearchStr)
ShowPage=Replace(ShowPage,"{$redcolor}",redcolor)
End Function
Function userinfo()
Dim i,k
Dim Tempslist,Tempslist1
Sql="select UserGroupID,ParentGID,UserTitle,(select count(id) from [dv_online] where UserGroupID=dv_usergroups.UserGroupID) as Grouponline from [Dv_UserGroups] where ParentGID>0 order by ParentGID,UserGroupID"
Set Yrs=Dvbbs.execute(sql)
Sql=Yrs.Getrows(-1)
Yrs.close:set Yrs=nothing
k=11
For i=0 to Ubound(sql,2)
k=k+1
Tempslist1=Tempslist1&template.html(3)
Tempslist1=Replace(Tempslist1,"{$boardtype}",SysGroupName(Sql(1,i))&"-"&Sql(2,i))
If Clng(Dvbbs.UserGroupID)=Clng(Sql(0,i)) then
Tempslist1=Replace(Tempslist1,"{$selboard}",2)
Else
Tempslist1=Replace(Tempslist1,"{$selboard}",1)
End if
Tempslist1=Replace(Tempslist1,"{$statpic}",template.pic(k))
If k>20 then k=11
Tempslist1=Replace(Tempslist1,"{$statwidth}",FormatNumber(Sql(3,i)/allnum,4,-1)*400)
Tempslist1=Replace(Tempslist1,"{$statnum}",Sql(3,i))
Next
Tempslist=template.html(2)
Tempslist=Replace(Tempslist,"{$Stattitle1}",template.Strings(17))
Tempslist=Replace(Tempslist,"{$Stattitle2}",template.Strings(10))
Tempslist=Replace(Tempslist,"{$Stattitle3}",template.Strings(4))
Tempslist=Tempslist&Tempslist1
userinfo=Tempslist
End function
Function LoadHideBBS()
LoadHideBBS=True
If CInt(BoardHide)=1 And CInt(Dvbbs.GroupSetting(37))<>1 Then
LoadHideBBS=False
End If
End Function
Function GetTimeStr(Str1,Str2)
Dim GetTime
GetTime=int(Datediff("n",str1,str2))
If GetTime>59 Then
GetTimeStr=(GetTime \ 60)&"h:"
GetTimeStr=GetTimeStr&(GetTime mod 60)
Else
GetTimeStr=GetTime
End if
GetTimeStr=GetTimeStr&"m"
GetTime=int(Datediff("n",str2,Now()))
If GetTime>59 Then
GetTimeStr=GetTimeStr&" | "& (GetTime \ 60)&"h:"
GetTimeStr=GetTimeStr&(GetTime mod 60)
Else
GetTimeStr=GetTimeStr&" | "& GetTime
End if
GetTimeStr=GetTimeStr&"m"
End Function
%>