📄 showforum.asp
字号:
<%
showdays = request.cookies("sf")("showdays")
showorder = request.cookies("sf")("showorder")
if request("updateviewselect") = "true" then
response.cookies("sf")("showdays") = request("showdays")
showdays = request.form("showdays")
response.cookies("sf")("showorder") = request("order")
showorder = request.form("order")
end if
%>
<!--#INCLUDE FILE="inc/db_inc.asp"-->
<!--#INCLUDE FILE="inc/char_inc.asp"-->
<!--#INCLUDE FILE="header.asp"-->
<%
dim ip, strip, killip
dim StrSql, rs, rs2, toptext, StrHtml, StrHtml2, StrHtml3, err
' 检测forumid是否合法
forumid = ChkSql(request("forumid"))
err = false
if not IsNumeric(forumid) then
error = error & "<br><li>" & loadtemplate("err_forumnotexist")
else
StrSql = "select sf_forum.forumid, sf_forum.title, sf_forum.allowposting, sf_forum.caneditpost, sf_forum.candeletepost, sf_forum.canpostpoll, sf_forum.allowbbcode, sf_forum.allowimages, sf_forum.allowuploadfile, sf_forum.canreply, sf_forum.daysprune, sf_forum.onlyuser, sf_forum.onlymember, sf_forum.memberlist, sf_forum.cateid, sf_cate.catetitle from sf_forum left join sf_cate on sf_forum.cateid = sf_cate.cateid where forumid = " & forumid
Set rs2 = Conn.Execute(StrSql)
if rs2.bof or rs2.eof then
error = error & "<br><li>" & loadtemplate("err_forumnotexist")
else
forumtitle = rs2("title")
cateid = rs2("cateid")
catetitle = rs2("catetitle")
allowpost = rs2("allowposting")
daysprune = rs2("daysprune")
onlyuser = rs2("onlyuser")
onlymember = rs2("onlymember")
memberlist = rs2("memberlist")
if request.cookies("sf")("username") = "" or request.cookies("sf")("password") = "" then
if onlyuser = 1 then error = error & "<br><li>" & loadtemplate("err_unregistered")
else
StrSql = "select password, userid from sf_user where username = '" & ChkSql(request.cookies("sf")("username")) & "'"
Set rs2 = Conn.Execute(StrSql)
err = false
if rs2.bof or rs2.eof then
err = true
else
if request.cookies("sf")("password") <> rs2("password") then
err = true
else
userid = rs2("userid")
StrSql = "update sf_user set lastactivity = '" & now() & "' where userid = " & userid
Conn.Execute(StrSql)
end if
end if
if err then error = error & "<br><li>" & loadtemplate("err_chkpassword")
end if
if onlymember = 1 then
if not IsMember(forumid, memberlist) then error = error & "<br><li>" & loadtemplate("err_member")
StrSql = "select password, userid from sf_user where username = '" & ChkSql(request.cookies("sf")("username")) & "'"
Set rs2 = Conn.Execute(StrSql)
if rs2.bof or rs2.eof then
error = error & "<br><li>" & loadtemplate("err_chkpassword")
else
if request.cookies("sf")("password") <> rs2("password") then error = error & loadtemplate("err_chkpassword")
end if
end if
end if
end if
if request.cookies("sf")("username") = "" then
toptext = loadtemplate("toptextguest")
else
toptext = loadtemplate("toptextuser")
end if
StrHtml = loadtemplate("htmltop")
StrHtml = Replace(StrHtml, "{pagetitle}", forumtitle)
StrHtml = Replace(StrHtml, "{forumtitle}", boardtitle)
response.write StrHtml
' 短消息提示
response.write newmsg
StrHtml = loadtemplate("pagetitle")
toptext = toptext & loadtemplate("toptext")
StrHtml = Replace(StrHtml, "{top_text}", toptext)
StrHtml = Replace(StrHtml, "{username}", request.cookies("sf")("username"))
response.write StrHtml
' 论坛关闭
StrSql = "select * from sf_setup"
Set rs2 = Conn.Execute(StrSql)
if rs2("forumclose") = 1 then
StrHtml = loadtemplate("error")
StrHtml = Replace(StrHtml, "{error_text}", rs2("forumclosehint"))
response.write StrHtml
response.end
end if
' 禁止IP访问
if rs2("killip") = 1 then
userip = cstr(request.ServerVariables("REMOTE_ADDR"))
killiplist = rs2("killiplist")
if killiplist <> "" and userip <> "" then
killip = split(killiplist, "|")
struserip = split(userip, ".")
i = 0
do until i > ubound(killip)
strkillip = split(killip(i), ".")
bolkill = true
if (struserip(0) <> strkillip(0)) and (strkillip(0) <> "*") then bolkill = false
if (struserip(1) <> strkillip(1)) and (strkillip(1) <> "*") then bolkill = false
if (struserip(2) <> strkillip(2)) and (strkillip(2) <> "*") then bolkill = false
if (struserip(3) <> strkillip(3)) and (strkillip(3) <> "*") then bolkill = false
if bolkill then
StrHtml = loadtemplate("error")
StrHtml = Replace(StrHtml, "{error_text}", rs2("killiphint"))
response.write StrHtml
Response.End
end if
i = i + 1
loop
end if
end if
' 显示当前页面路径
StrHtml = loadtemplate("pagepath")
StrHtml = Replace(StrHtml, "{path_text}", "<a href=""index.asp"">" & boardtitle & "</a> » <a href=""showcate.asp?cateid=" & cateid & """>" & catetitle & "</a> » " & forumtitle)
response.write StrHtml
' 如果有错误则提示
if error <> "" then
StrHtml = loadtemplate("error")
StrHtml = Replace(StrHtml, "{error_text}", error)
response.write StrHtml
response.end
end if
' 短消息提示
if newmsgnum > 0 then
StrHtml = loadtemplate("newmsg")
StrHtml2 = StrHtml
StrHtml2 = Replace(StrHtml2, "{newmsg_num}", newmsgnum)
i = cint(request.cookies("sf")("userid"))
Set rs = Conn.Execute("select top 1 sf_privatemessage.*, sf_user.username from (sf_privatemessage left join sf_user on sf_privatemessage.fromuserid = sf_user.userid) where sf_privatemessage.folderid = 0 and sf_privatemessage.messageread = 0 and sf_privatemessage.userid = " & i)
if not (rs.bof or rs.eof) then
StrHtml2 = Replace(StrHtml2, "{subject}", "<a href=""showmessage.asp?action=showinbox&msgid=" & rs("privatemessageid") & """ title=""" & rs("message") & """>" & rs("title") & "</a>")
StrHtml2 = Replace(StrHtml2, "{username}", "<a href=""showuser.asp?userid=" & rs("fromuserid") & """>" & rs("username") & "</a>")
StrHtml2 = Replace(StrHtml2, "{time}", rs("dateline"))
end if
rs.close
response.write StrHtml2
end if
Set rs2 = server.CreateObject("ADODB.RecordSet")
StrSql = "select userid, username from sf_moderator where forumid = " & forumid
rs2.Open StrSql, Conn, 1, 1
StrHtml2 = ""
if not (rs2.bof or rs2.eof) then
modercount = rs2.RecordCount
for i = 1 to modercount
StrHtml2 = StrHtml2 & "<a href=""showuser.asp?userid=" & rs2("userid") & """>" & rs2("username") & "</a> "
rs2.MoveNext
next
else
StrHtml2 = loadtemplate("hint_nomoder")
end if
rs2.close
StrHtml = loadtemplate("forumtop")
StrHtml = Replace(StrHtml, "{moder_list}", StrHtml2)
if allowpost <> 0 then
StrHtml = Replace(StrHtml, "{btn_text}", "<a href=""newthread.asp?forumid=" & forumid & """><img src=""image/default/newthread.gif"" border=""0"" alt=""" & loadtemplate("newthreadtitle") & """></a>" & " " & "<a href=""newvote.asp?forumid=" & forumid & """><img src=""image/default/newvote.gif"" border=""0"" alt=""" & loadtemplate("newvotetitle") & """></a>")
else
StrHtml = Replace(StrHtml, "{btn_text}", "")
end if
response.write StrHtml
'公告
StrHtml = loadtemplate("forumann")
StrSql = "select top 1 * from sf_announcement where forumid = -1 order by announcementid DESC"
Set rs2 = Conn.Execute(StrSql)
if not (rs2.bof or rs2.eof) then
StrHtml2 = StrHtml
StrHtml2 = Replace(StrHtml2, "{ann_icon}", "<img src=""image/threadicon/close.gif"">")
StrHtml2 = Replace(StrHtml2, "{ann_title}", loadtemplate("hint_threadanntext") & "<a href=""showannouncement.asp"">" & rs2("title") & "</a>")
StrHtml2 = Replace(StrHtml2, "{ann_user}", "<a href=""showuser.asp?userid=" & rs2("userid") & """>" & rs2("username") & "</a>")
response.write StrHtml2
end if
' 获得当前页数
page = request("page")
if page = "" then
page = 1
else
if not IsNumeric(page) then
page = 1
else
page = clng(page)
end if
end if
'按日期显示
rs2.Close
showdays = ChkSql(showdays)
showorder = ChkSql(showorder)
if showdays = "" then
showdays = defshowdays
if daysprune <> 0 then showdays = daysprune
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -