📄 admin_config.asp
字号:
<!-- #include file="AdminCls.asp" -->
<!-- #include file="inc/MD5.asp" --><%
CheckLogin()
Log("")
id=int(Request("id"))
Dim PostTable(9)
set rsSchema=Conn.openSchema(20)
rsSchema.movefirst
Do Until rsSchema.Eof
if rsSchema("TABLE_TYPE")="TABLE" then
if instr(rsSchema("TABLE_NAME"),"Posts")>0 then
num=Split(rsSchema("TABLE_NAME"),"Posts")(1)
if num="" then num=0
PostTable(num)=true
end if
end if
rsSchema.MoveNext
Loop
rsSchema.close
Set rsSchema=nothing
for i=0 to 9
if PostTable(i)<>"true" then PostTable(i)=false
next
select case Request("menu")
case "upUserInfo"
'TotalUsers=Conn.Execute("select count(id)from [WxUsers]")(0)
Rs.Open "select Username,PostTopic,PostRevert,GoodTopic,DelTopic from [WxUsers] order by ID Asc",Conn,1,3
Do While Not Rs.Eof
Username=Rs(0)
Rs(1)=Conn.Execute("select count(id)from [WxThreads] where UserName='"&Username&"'")(0)
PostRevert=Conn.Execute("select count(id)from [WxPosts] where UserName='"&Username&"' and IsTopic=0")(0)
for i=1 to 9
if PostTable(i) then
PostRevert=PostRevert+Conn.Execute("select count(id)from [WxPosts"&i&"] where UserName='"&Username&"' and IsTopic=0")(0)
end if
next
Rs(2)=PostRevert
Rs(3)=Conn.Execute("select count(id)from [WxThreads] where UserName='"&Username&"' and IsGood=1")(0)
DelTopic=Conn.Execute("select count(id)from [WxThreads] where UserName='"&Username&"' and IsDel=1")(0)
if DelTopic>Rs(3) then Rs(3)=DelTopic
Rs.update
Rs.MoveNext
Loop
Rs.Close
Response.write "修复用户信息完毕"
CloseDataBase
case "upSiteSettings"
upSiteSettings
case "upSiteSettingsok"
Rs.Open "select ID from [WxForums]",Conn,1,3
Do While Not Rs.Eof
ID=Rs(0)
UpForumData(ID)
Rs.MoveNext
loop
Rs.close
CreateCache()
Response.write "更新论坛统计数据完毕"
CloseDataBase
case "upProcess"
'计算不存在的版主并删除
Set Rs=Conn.Execute("select Moderated,ForumName,ID from [WxForums] order By ID")
Do While Not Rs.Eof
Moderateds=Split(Rs(0)&"|","|")
Moderated=""
for i=0 to UBound(Moderateds)
if Moderateds(i)<>Empty Then
Alive=(Not Conn.Execute("select ID from [WxUsers] where Username='"&Moderateds(i)&"'" ).Eof)
if Alive Then
Moderated=Moderated&Moderateds(i)&"|"
Else
Response.write Rs(1)&"版块的"&Moderateds(i)&"版主的用户资料不存在,已被删除<br />"
end if
end if
next
if Moderated<>Empty Then Moderated=Left(Moderated,Len(Moderated)-1)
Conn.Execute("update [WxForums] set Moderated='"&Moderated&"' where id="&Rs(2)&"")
Rs.MoveNext
Loop
Rs.Close
Response.write "删除不存在的版主已完成<br />"
'计算不存在主题数据的帖子
for i=0 to 9
if PostTable(i) Then
if i=0 Then
TableName="WxPosts"
Else
TableName="WxPosts"&i
end if
sql="select * from ["&TableName&"] order by ID Desc"
Rs.Open sql,Conn,1
Do While Not Rs.Eof
if Conn.Execute("select Username from [WxThreads] where id="&Rs("ThreadID")&"").Eof Then
Response.write "帖子"&Rs("ID")&"因没有主题数据被删除<br />"
Conn.Execute("delete from ["&TableName&"] where id="&Rs("ID")&"")
end if
Rs.MoveNext
Loop
Rs.Close
end if
next
Response.write "删除不存在主题数据的回帖已完成<br />"
'计算发帖人不存在的主题
sql="select * from [WxThreads] order by ID Desc"
Rs.Open sql,Conn,1
Do While Not Rs.Eof
if Conn.Execute("select ID from [WxUsers] where Username='"&Rs("Username")&"'").Eof then
PostsTableName=Rs("PostsTableName")
ThreadID=Rs("ThreadID")
Conn.Execute("delete from [WxPosts"&PostsTableName&"] where ThreadID="&ThreadID&"")
Conn.Execute("delete from [WxPosts"&PostsTableName&"] where UserName='"&Rs("UserName")&"'")
Conn.Execute("delete from [WxThreads] where id="&ThreadID&"")
Response.write "主题"&ThreadID&"因没有发帖人数据被删除<br />"
end if
Rs.MoveNext
Loop
Rs.Close
Response.write "删除发帖人不存在的主题已完成<br />"
'计算无效的投票涉及WxUsers、WxThreads、WxVote
Set Rs=Conn.Execute("select * from [WxVote] order By ThreadID Desc")
Do While Not Rs.Eof
if Conn.Execute("select Username from [WxThreads] where id="&Rs("ThreadID")&"").Eof Then
Response.write "投票"&Rs("ID")&"因没有主题数据被删除<br />"
Conn.Execute("delete from [WxVote] where id="&Rs("ID")&"")
end if
Rs.MoveNext
Loop
Response.write "删除无效的投票已完成<br />"
'计算不存在的帖子附件数据
if IsObjInstalled("Scripting.FileSystemObject") Then
Set fso=Server.CreateObject("Scripting.FileSystemObject")
Rs.close
sql="select * from [WxUpFiles] order by ID Desc"
Rs.Open sql,Conn,1,3
Do While Not Rs.Eof
id=Rs("id")
FilePath=Rs("FilePath")
if Not fso.FileExists(Server.MapPath(FilePath)) Then
Response.write Rs("FileName")&"("&FilePath&")"&"不存在文件,记录被删除<br />"
Rs.delete
end if
Rs.MoveNext
Loop
Rs.Close
Set Rs=Nothing
Response.write "无效帖子附件的存储记录删除完成<br />"
Else
Response.write "您的服务器不支持FSO,不能执行无效附件清除<br />"
end if
'清空系统日志
Conn.Execute("delete from [WxLog]")
Response.write "清空系统日志已完成<br />全部操作已完成"
CloseDataBase
case "RestartForum"
Application.Contents.RemoveAll
CreateCache()
Response.write "更新系统缓存完毕"
CloseDataBase
case "RestoreOnline"
Conn.Execute("delete * from [WxUsersOnline]")
Response.write "清除在线数据乱码完毕"
CloseDataBase
case "adup"
adup
case "Showbanner"
Showbanner
case "variable"
variable
case "SiteStatUp"
SiteStatUp
case "infoup"
infoup
case "SiteStat"
SiteStat
case "AutoSiteStat"
TotalUserCount=Conn.Execute("select count(id) from [WxUsers]")(0)
TotalThreadCount=Conn.Execute("select count(id) from [WxThreads]")(0)
TotalPostCount=Conn.Execute("select sum(replies) from [WxThreads]")(0)+TotalThreadCount
NewUsers=Conn.Execute("select top 1 UserName from [WxUsers] order By ID Desc")(0)
if TotalThreadCount=0 then TotalPostCount=0
CacheAdd "TotalUsers",TotalUserCount
CacheAdd "TotalTopics",TotalThreadCount
CacheAdd "TotalPosts",TotalPostCount
CacheAdd "NewUsers",NewUsers
SiteStat
case "ForumInclude"
ForumInclude
case "CreateCode"
CreateCode
case "PostAdOk"
dim adv_num,ad_msg
tmpstr=LoadFile("Inc/PostAd.js")
tmp=split(tmpstr,chr(13)&chr(10))
ad_num=Replace(tmp(1),"a = ","")
ad_num=int(Replace(ad_num,";if(a==0){a=1}",""))
adv_num=0
for ad_i=1 to ad_num+1
ad_tmp=GetJsStr(Replace(Request.Form("ad_v"&ad_i&""),"'",""))
if trim(ad_tmp)<>"" or isnull(ad_tmp)then
adv_num=adv_num+1
ad_msg=ad_msg&"b["&adv_num&"].under ='"&ad_tmp&"'"&vbcrlf
end if
next
content="<!--"&vbcrlf&"a = "&adv_num&";if(a==0){a=1}"&vbcrlf&"var slump = Math.random();"&vbcrlf&"var talet = Math.round(slump * (a-1))+1;"&vbcrlf&"function create() { "&vbcrlf&"this.under = '' "&vbcrlf&"}"&vbcrlf&"b = new Array() "&vbcrlf&"for(var i=1; i<=a; i++) { b[i] = new create() } "&vbcrlf&ad_msg&"var visa = """";"&vbcrlf&"document.write(b[talet].under); "&vbcrlf&"//-->"
SaveToFile content,"Inc/PostAd.js"
AdminSucc "更新帖间广告","?menu=Showbanner"
case "groupman"
groupman
case "addgroupman"
addgroupman
case "masteradd"
NewAdminname=HTMLEncode(Request.Form("Adminname1"))
NewAdminpass=Request.Form("Adminpass1")
NewForumname=HTMLEncode(Request.Form("Forumname1"))
if NewAdminname=Empty Then Error2("请输入后台管理员")
if NewAdminpass=Empty Or Len(NewAdminpass)<6 Then Error2("请输入管理员密码或管理员密码太简单\n管理员密码最少6位")
if NewForumname=Empty Then Error2("请输入前台用户名")
if Not Conn.Execute("select Forumname from [WxAdmin] where Adminname='"&NewAdminname&"'").Eof Then Error2("后台已存在该管理员")
if Conn.Execute("select ID from [WxUsers] where UserName='"&NewForumname&"'" ).Eof Then Error2("前台用户 "&NewForumname&" 未注册")
Conn.Execute("insert into WxAdmin (Adminname,Adminpass,Forumname) values ('"&NewAdminname&"','"&MD5(NewAdminpass)&"','"&NewForumname&"')")
Conn.Execute("update [WxUsers] set UserRoleID=1 where UserName='"&NewForumname&"'")
AdminSucc "添加后台管理员","?menu=groupman"
case "killmaster"
Conn.Execute("delete from [WxAdmin] where Adminname='"&HTMLEncode(Request("Adminname"))&"'")
Conn.Execute("update [WxUsers] set UserRoleID=2 where UserName='"&HTMLEncode(Request("ForumNameX"))&"'")
AdminSucc "删除后台管理员","?menu=groupman"
case "Affichelist"
Affichelist
case "addAffiche"
addAffiche
case "addAfficheok"
sql="select * from [WxAffiche] where id="&id&""
Rs.Open sql,Conn,1,3
if Rs.Eof then Rs.addNew
Rs("title")=""&Request("Subject")&""
Rs("content")=ContentEncode(Request("content"))
Rs("UserName")=""&CookieUserName&""
Rs("DateCreated")=now()
Rs.update
Rs.close
AdminSucc "发布公告","?menu=Affichelist"
case "DelAffiche"
Conn.Execute("delete from [WxAffiche] where id="&id&"")
AdminSucc "删除公告","?menu=Affichelist"
end Select
sub Affichelist
WxManageHead("<a href=""?menu=addAffiche"">发布一条新公告</a> <a href=""javascript:this.location.reload()"">刷新公告列表</a>")
%>
<div class="tb dt">
<div id="tt">系统公告管理</div>
<div class="intro cb">
<div class="fl r w5">标题</div>
<div class="fl r w1a">发布人</div>
<div class="fl r w2">发布时间</div>
<div class="fr w0">管理</div>
</div>
<%
sql="select * from [WxAffiche] order by DateCreated Desc"
Rs.Open sql,Conn,1
Do While Not Rs.Eof
ID=Rs("id")
PublicUser=Rs("UserName")
%>
<div class="tc b cb">
<div class="fl r ac w5"><%=Rs("title")%></div>
<div class="fl r ac w1a"><a href="User.asp?Name=<%=PublicUser%>" target="_blank"><%=PublicUser%></a></div>
<div class="fl r ac w2"><%=Rs("DateCreated")%></div>
<div class="fr ar w0"><a href="?menu=addAffiche&id=<%=id%>">编辑</a> <a onclick="return confirm('您确定要删除该公告?')" href="?menu=DelAffiche&id=<%=id%>">删除</a></div>
</div>
<%
Rs.MoveNext
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -