%
Dim LastLogin,birthnum
dim Guests
Rem 首页顶部信息
sub index_head()
Stats="论坛首页"
call nav()
sql="select top 1 TopicNum,BbsNum,TodayNum,UserNum,lastUser from config where active=1"
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,0,1
if isnull(index_ad_t) or index_ad_t="" then
response.write "
"
else
response.write "
"
end if
response.write ""&_
""&_
""&_
""&_
" 论坛消息广播:"
rs.close
if FoundUser then
sql="select lastlogin from [user] where username='"&membername&"'"
set rs=conn.execute(sql)
lastlogin=rs(0)
rs.close
set rs=nothing
end if
if isnull(lastlogin) or lastlogin="" then lastlogin=now()
sql="select top 1 boardid,title,addtime from bbsnews where boardid=0 order by addtime desc"
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,0,1
if rs.bof and rs.eof then
response.write "当前没有公告("&now()&")"
else
response.write ""&rs(1)&" ("&rs(2)&")"
end if
rs.close
set rs=nothing
response.write " |
"
end sub
Rem 首页主体内容
sub index_body()
if membername="" or membername="客人" then
if cint(fastlogin)=1 then call fast_login()
end if
response.write ""&_
""&_
"| 状态 | "&_
"论坛名称 | "&_
"版主 | "&_
"主题 | "&_
"贴子 | "&_
"最后发表 | "&_
"收藏 | "&_
"
"
sql="select id,class from class order by id"
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,0,1
do while not rs.eof
response.write ""&_
"| "&rs(1)&" |
"
call board(rs(0))
response.write "
"
rs.movenext
loop
rs.close
set rs=nothing
if master then
response.write ""&_
"| 论坛回收站 |
"
response.write ""
response.write " "
response.write " | 论坛所有版面版主删除的帖子。"
response.write " |
"
response.write "
"
end if
if membername="" or membername="客人" then
if cint(fastlogin)=2 then call fast_login()
end if
response.write "
"
Rem 联盟论坛
dim Tlink,Readme,logo
set rs=server.createobject("adodb.recordset")
sql="select boardname,readme,url from bbslink order by id"
rs.open sql,conn,1,1
if not rs.eof and not rs.bof then
response.write ""&_
""&_
"| -=> 友情论坛 |
"
select case LinkFlag
case 0
do while not rs.eof
Tlink=split(rs(1),"$")
readme=Tlink(0)
if ubound(Tlink)=0 then
logo=""&htmlencode(rs(0))&""
else
logo="
"
end if
response.write " | "&htmlencode(rs(0))&" "&htmlencode(readme)&" |
"
rs.movenext
loop
case 1
response.write " | "
do while not rs.eof
Tlink=split(rs(1),"$")
readme=Tlink(0)
if ubound(Tlink)=0 then
logo=""&htmlencode(rs(0))&""
else
logo=" "
end if
response.write ""&htmlencode(rs(0))&""
rs.movenext
loop
response.write " |
"
case 2
do while not rs.eof
Tlink=split(rs(1),"$")
readme=Tlink(0)
if ubound(Tlink)=0 then
logo=""&htmlencode(rs(0))&""
else
logo="
"
end if
response.write " | "&htmlencode(rs(0))&" "&htmlencode(readme)&" |
"
rs.movenext
loop
case 3
response.write " | "
do while not rs.eof
Tlink=split(rs(1),"$")
readme=Tlink(0)
if ubound(Tlink)=0 then
logo=""&htmlencode(rs(0))&""
else
logo=" "
end if
response.write ""&logo&""
rs.movenext
loop
response.write " |
"
end select
response.write "
"
end if
rs.close
set rs=nothing
Rem 用户信息
dim userip,userip2
userip = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
userip2 = Request.ServerVariables("REMOTE_ADDR")
birthday
response.write "
"&_
""&_
""&_
"| -=> 用户来访信息 |
"&_
" | "&_
""
if userip = "" then
response.write "您的真实IP 是:"&userip2&","&_
"来自:"&address(userip2)&","
else
response.write "您的真实IP 是:"&userip&","&_
"来自:"&address(userip)&""&_
" 您的代理IP 是:"&userip2&","&_
"代理鉴定来自:"&address(userip2)&","
end if
response.write ""&system(Request.ServerVariables("HTTP_USER_AGENT"))&","&browser(Request.ServerVariables("HTTP_USER_AGENT"))&" |
"
if cint(BirthFlag)=1 then
response.write "| -=> 今天过生日的用户(共 "&birthNum&" 人) |
"
response.write " | "&birthday&" |
"
end if
response.write "
"
Rem 更新在线峰值
dim onlinenum,guestnum
onlinenum=online(0)
guestnum=guest(0)
if Cint(allonline())>Cint(Maxonline) then
conn.execute("update config set Maxonline="&allonline()&",MaxonlineDate=Now()")
end if
response.write ""&_
"| -=> 论坛在线统计(同时在线峰值"&Maxonline&",发生时刻"&formatdatetime(MaxonlineDate,1)&" "&formatdatetime(MaxonlineDate,4)&")"
if request("action")="show" then
response.write "[关闭详细列表]"
else
if cint(online_u)=1 and request("action")<>"off" then
response.write "[关闭详细列表]"
else
response.write "[显示详细列表]"
end if
end if
response.write " [在线用户] |
"&_
" | "&_
" 目前论坛上总共有 "&clng(allonline())&" 人在线,其中注册会员 "&onlinenum&" 人,访客 "&guestnum&" 人。 在线名单图例: 总坛主 ‖ 论坛坛主 ‖ 论坛贵宾 ‖ 普通会员 ‖ 客人或隐身会员
"
if request("action")="off" then
call onlineuser(0,0,0)
elseif request("action")="show" then
call onlineuser(1,1,0)
else
call onlineuser(online_u,online_g,0)
end if
response.write " |
"
response.write ""&_
""&_
"| "&_
" -=> "& ForumName &"图例 | "&_
"所有时间均为 - "&GMT&" | "&_
""&_
""&_
"| 论坛图例仅当你登陆并且上次访问后才显示 (您必须登陆才能查看详情,否则只显示该论坛的无新贴图例) | "&_
"| 常规论坛 | "&_
"正规论坛 | "&_
"开放论坛 | "&_
"评论论坛 | "&_
"认证论坛 | "&_
"特殊论坛 | "&_
" 有新的贴子 | "&_
" 有新的贴子 | "&_
" 有新的贴子 | "&_
" 有新的贴子 | "&_
" 有新的贴子 | "&_
" 只读精华区 | "&_
" | "&_
" 没有新贴子 | "&_
" 没有新贴子 | "&_
" 没有新贴子 | "&_
" 没有新贴子 | "&_
" 没有新贴子 | "&_
" 联盟论坛区 | "&_
" | |
"
if instr(scriptname,"index.asp")>0 or instr(scriptname,"list.asp")>0 then
if index_moveFlag=1 then
call admove()
end if
if index_fixupFlag=1 then
call fixup()
end if
end if
end sub
call index_head()
call index_body()
call endline()
Rem 版面信息
sub board(id)
dim sql1,rs1
dim boardview
dim master_1
if boardmaster or master then
sql1="select boardid,boardtype,class,readme,lastbbsnum,boardmaster,lockboard,lasttopicnum,indexIMG,boardskin,boarduser,LastPost from board "
sql1=sql1&" where class="&id&" order by boardid"
else
sql1="select boardid,boardtype,class,readme,lastbbsnum,boardmaster,lockboard,lasttopicnum,indexIMG,boardskin,boarduser,LastPost from board "
sql1=sql1&" where class="&id&" and lockboard=0 order by boardid"
end if
set rs1=server.createobject("adodb.recordset")
rs1.open sql1,conn,1,1
do while not rs1.eof
LastPostInfo=split(rs1(11),"$")
response.write ""
select case rs1(9)
case 1
if datediff("h",lastlogin,LastPostInfo(2))=0 then
response.write " "
else
response.write " "
end if
case 2
if datediff("h",lastlogin,LastPostInfo(2))=0 then
response.write " "
else
response.write " "
end if
case 3
if datediff("h",lastlogin,LastPostInfo(2))=0 then
response.write " "
else
response.write " "
end if
case 4
if datediff("h",lastlogin,LastPostInfo(2))=0 then
response.write " "
else
response.write " "
end if
case 5
if datediff("h",lastlogin,LastPostInfo(2))=0 then
response.write " "
else
response.write " "
end if
boardview="认证论坛"
case 6
if datediff("h",lastlogin,LastPostInfo(2))=0 then
response.write " "
else
response.write " "
end if
boardview="正规论坛"
end select
response.write " | "&rs1(1)&""&boardview&" "
if rs1(8)<>"" then
response.write ""
end if
response.write rs1(3)
response.write " | "
master_1=split(rs1(5), "|")
for i = 0 to ubound(master_1)
if i>2 then
master_2=master_2
else
master_2=""+master_2+""+master_1(i)+" "
end if
next
if i>3 then master_2=master_2 & "More..."
response.write master_2
master_2=""
response.write " | "&_
""&rs1(7)&" | "&_
""&rs1(4)&" | "&_
""
if rs1(9)=5 then
response.write "认证论坛,认证用户进入查看。"
else
response.write "主题:"&htmlencode(LastPostInfo(3))&" "
response.write "最后发表:"&htmlencode(LastPostInfo(0))&" " & FormatDateTime(LastPostInfo(2),1) & "" & FormatDateTime(LastPostInfo(2),4)
end if
response.write " | "&_
" "&_
" |
"
boardview=""
rs1.movenext
loop
rs1.close
set rs1=nothing
end sub
sub fast_login()
response.write ""
end sub
function birthday()
dim age
dim birthuser
dim foundbirth
foundbirth=false
birthNum=0
on error resume next
set rs=server.createobject("adodb.recordset")
sql="select birthuser from config where active=1"
rs.open sql,conn,1,1
if not isnull(rs(0)) or rs(0)<>"" then
birthuser=split(rs(0),"$")
if ubound(birthuser)<3 then
foundbirth=false
elseif datediff("d",birthuser(2),Now())>0 then
foundbirth=false
else
foundbirth=true
end if
else
foundbirth=false
end if
if not foundbirth then
set rs=conn.execute("select username,birthday from [user] where month(birthday)=month(Now()) and day(birthday)=day(Now())")
if rs.eof and rs.bof then
birthday="今天没有朋友过生日"
else
do while not rs.eof
age=datediff("yyyy",rs(1),Now())
birthday=birthday & ""&rs(0)&","
birthNum=birthNum+1
rs.movenext
loop
end if
rs.close
set rs=nothing
conn.execute("update config set birthuser='" & birthday & "$" & birthNum & "$" & Now() & "' where active=1")
else
birthday=birthuser(0)
birthNum=birthuser(1)
end if
end function
%>