⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 admin_fso.asp

📁 教师评估系统
💻 ASP
字号:
<!-- #include file="AdminCls.asp" -->
<%
CheckLogin()
Log("")
PostsTableNameDefault=Conn.OpenSchema(4,Array(Empty,Empty,"WxThreads","PostsTableName"))("Column_Default")
if Not IsNumeric(PostsTableNameDefault) then PostsTableNameDefault=ReplaceText(PostsTableNameDefault,"\(\((.*)\)\)","$1") '针对SQL 2005数据库读取会出现(())

Tablename=ChkNumeric(Request("tablename"))

select case Request("menu")
case "Posts"
 Posts
case "PostAttachment"
 PostAttachment
case "DelPostAttachment"
 for each ho in Request.Form("ID")
  ho=int(ho)
  DelFileOk=False
  sql="select * from [WxUpFiles] where id="&ho&""
  Rs.Open sql,Conn,1,3
  if Not Rs.Eof then
   if DelFile(Rs("FilePath")) then Rs.delete
  end if
  Rs.close
  Conn.Execute("delete from [WxUpFiles] where id="&ho&"")
 next
 AdminSucc "删除附件","Admin_Fso.asp?menu=PostAttachment"
case "changeobjectowner"
 if Tablename>9 and Tablename<1 then ShowError "请输入[0-9]之间的数字"
 sql="sp_changeobjectowner '[WxPosts"&Tablename&"]','dbo'"
 Conn.Execute(sql)
 AdminSucc "将该表的所有者更改为dbo","Admin_Fso.asp?menu=Posts"
case "CreatTable"
 sql="CREATE TABLE [WxPosts"&Tablename&"] ("&_
  "ID int IDENTITY (1, 1) Not NULL ,"&_
  "ThreadID int Not NULL ,"&_
  "IsTopic int Default 0 Not NULL ,"&_
  "Subject varchar(255) Not NULL ,"&_
  "UserName varchar(255) Not NULL ,"&_
  "Content text Not NULL ,"&_
  "Posttime datetime Default "&SqlNowString&" Not NULL ,"&_
  "PostIP varchar(255) Not NULL "&_
 ")"
 Conn.Execute(sql)
 sql="ALTER TABLE [WxPosts"&Tablename&"] ADD CONSTRAINT [FK_WxPosts"&Tablename&"_WxThreads] FOREIGN KEY ([ThreadID]) REFERENCES [WxThreads] ([Id]) ON DELETE CASCADE  ON UPDATE CASCADE"
 Conn.Execute(sql)
 Error2("建立成功!")
case "update"
 if Tablename<1 then Tablename=null
 if IsSqlDataBase=0 Then
  Conn.Execute("alter table [WxThreads] alter PostsTableName int default "&Tablename&"")
 else
 if PostsTableNameDefault<>"" then Conn.Execute("ALTER TABLE [WxThreads] DROP CONSTRAINT [DF_WxThreads_PostsTableName]")
 if Request("tablename")<>"" then Conn.Execute("ALTER TABLE [WxThreads] ADD CONSTRAINT [DF_WxThreads_PostsTableName] DEFAULT "&Tablename&" FOR [PostsTableName]")
 end if
 Error2("设置成功!") 
case "Del"
if Tablename=0 then Error2("系统默认的表不能删除!")
if Not Conn.Execute("select PostsTableName from [WxThreads] where PostsTableName='"&Tablename&"'" ).Eof Then Error2("该表中有对应的主题,不能删除!")
if ""&PostsTableNameDefault&""=""&Tablename&"" then Error2("当前正在使用中的数据表不能删除!")
Conn.Execute("drop table [WxPosts"&Tablename&"]")
Error2("删除成功!")
case "bak1"
if IsSqlDataBase<>0 Then Error2("Sql版本无法进行Access数据库管理")
bak1
case "bak2"
if IsSqlDataBase<>0 Then Error2("Sql版本无法进行Access数据库管理")
bak2
case "bak3"
if IsSqlDataBase<>0 Then Error2("Sql版本无法进行Access数据库管理")
bak3
case "bakbf"
CheckFso
set MyFileObject=Server.CreateOBject("scripting.FileSystemObject")
MyFileObject.CopyFile ""&Server.MapPath(DB)&"",""&Server.MapPath(Request.Form("BakDbPath"))&""
AdminSucc "备份数据库","?menu=bak1"
case "bakhf"
CheckFso
set MyFileObject=Server.CreateOBject("scripting.FileSystemObject")
MyFileObject.CopyFile ""&Server.MapPath(Request.Form("BakDbPath"))&"",""&Server.MapPath(Request.Form("backpath"))&""
AdminSucc "恢复数据库","?menu=bak2"
case "statroom"
CheckFso
statroom
end select

sub bak1
%><form method="post" action="?menu=bakbf">
<div class="tb dt">
<div id="tt">备份数据库</div>
<div class="tc">
当前数据库路径(相对路径):<input type="text" readonly="readonly" size="25" name="DBpath" value="<%=Db%>" />&nbsp;该行显示当前的数据库路径<br />
备份数据库路径(填写名称):<input type="text" size="25" name="BakDbPath" value="<%=Replace(""&Db&"",".mdb","_bak.mdb")%>" />&nbsp;如备份目录有该文件,将覆盖,如没有,将自动创建<br />
<input type="submit" value=" 开始备份 " />
</div>
<div class="tc">
在上面填写数据库备份路径,本程序的默认备份路径为<%=Replace(""&Db&"",".mdb","_bak.mdb")%>,<b>但请尽量不要用默认名称命名备份数据库</b><br />您可以用这个功能来备份您的法规数据,以保证您的数据安全!<br />
注意:所有路径都是相对于论坛目录的相对路径
</div>
</div>
</form><%
end sub

sub bak2
%><form method="post" action="?menu=bakhf">
<div class="tb dt">
<div id="tt">恢复数据库</div>
<div class="tc">
备份数据库路径(相对):<input type="text" size="30" name="BakDbPath" value="<%=Replace(""&Db&"",".mdb","_bak.mdb")%>" /><br />
目标数据库路径(相对):<input type="text" size="30" name="backpath" value="<%=db%>" /><br /> 填写您当前使用的数据库路径,如不想覆盖当前文件,可自行命名并注意路径与Conn.asp的匹配<br />
<input type="submit" value="恢 复 数 据" />
</div>
<div class="tc">
在上面填写本程序的数据库路径全名,本程序的默认备份数据库文件为<%=db%>,请按照您的备份文件自行修改。<br />
注意:所有路径都是相对于根目录的相对路径
</div>
</div>
</form><%
end sub

sub bak3
%><form method="post" action="Compact.asp">
<input type="hidden" name="sessionid" value="<%=session.sessionid%>" />
<div class="tb dt">
<div id="tt">压缩数据库</div>
<div class="tc"><b>注意:</b><br />输入数据库所在相对路径,注意正在使用中数据库不能压缩,同时建议先备份数据库</div>
<div class="tc">
压缩数据库:<input type="text" size="30" value="<%=Replace(""&Db&"",".mdb","_bak.mdb")%>" name="dbpath" />&nbsp;
<input type="submit" value="开始压缩" />
</div>
<div class="tc">
<input type="checkbox" name="boolIs97" value="true" />如果使用 Access 97 数据库请选择
(默认为 Access 2000 数据库)</div>
</div>
</form>
<%
end sub

sub statroom
set fso=Server.createobject("Scripting.FileSystemObject")
set d=fso.getfolder(Server.MapPath("./UpFile/UpFace"))
UpFacesize=d.size
set d=fso.getfolder(Server.MapPath("./UpFile/UpAttachment"))
UpFilesize=d.size
set d=fso.getfolder(Server.MapPath("./Archiver"))
Archiversize=d.size
set d=fso.getfolder(Server.MapPath("./Themes"))
Themesize=d.size
set d=fso.getfolder(Server.MapPath("./Inc"))
Syssize=d.size
set d=fso.getfolder(Server.MapPath("./"&XmlPath))
Syssize=Syssize+d.size
if IsSqlDataBase=0 Then
dbpath=split(Db,"/")
set d=fso.getfolder(Server.MapPath("./"&dbpath(UBound(dbpath)-1)&"/"))
dbsize=d.size
end if
set d=fso.getfolder(Server.MapPath("."))
TotalBytes=d.size
%>
<div class="tb dt">
<div id="tt">空间占用统计</div>
<%
SizeItem "上传头像",UpFacesize,TotalBytes
SizeItem "上传附件",UpFilesize,TotalBytes
SizeItem "Archiver",Archiversize,TotalBytes
SizeItem "外观模块",Themesize,TotalBytes
SizeItem "配置文件",Syssize,TotalBytes
if IsSqlDataBase=0 Then SizeItem "Access数据库",Dbsize,TotalBytes
SizeItem "系统总共",TotalBytes,TotalBytes
%>
</div>
<%
end sub

sub SizeItem(name,size,total)
%><div class="tc b cb">
<div class="fl w2a"><%=name%></div>
<div class="fl w6"><div class='percent'><div id="per" style='width:<%=Int(size/total*100)%>%'></div></div></div>
<div class="fl w0"><%=CheckSize(size)%></div>
</div>
<%
end sub

sub Posts
set Rs=Conn.openSchema(20)%>
<form method="post" name="form" action="?menu=update">
<div class="tb dt">
<div id="tt"><%=rs(0)%>帖子数据分卷管理</div>
<div class="intro cb">
<div class="fl r w1a">表名</div>
<div class="fl r w0">帖子数</div>
<div class="fl r w0c">默认</div>
<div class="fl r w2">创建时间</div>
<div class="fl r w2">修改时间</div>
<div class="fl r w0">所有者</div>
<div class="fl w1a">管理</div>
</div>
<%
Do Until Rs.Eof
if instr(Rs("TABLE_NAME"),"WxPosts")>0 and Rs("TABLE_TYPE")="TABLE" then
TableNameNO=Replace(Rs("TABLE_NAME"),"WxPosts","")
%>
<div class="tc b cb">
<div class="fl r ac w1a ha"><%=Rs("TABLE_NAME")%></div>
<div class="fl r ac w0 ha"><%=Conn.Execute("select count(id)from ["&Rs("TABLE_NAME")&"]",0,1)(0)%></div>
<div class="fl r ac w0c ha"><input type="radio"<%if "WxPosts"&PostsTableNameDefault&""=""&Rs("TABLE_NAME")&"" then%> checked="checked"<%end if%>  name="TableName" value="<%=TableNameNO%>" /></div>
<div class="fl r ac w2 ha"><%=Rs(7)%></div>
<div class="fl r ac w2 ha"><%=Rs(8)%></div>
<div class="fl r ac w0 ha"><%=Rs(1)%></div>
<div class="fl ac w1a ha"><%if IsSqlDataBase=1 Then%><a onclick="return confirm('您确定将表的所有者更改为dbo?')" href="?menu=changeobjectowner&tablename=<%=TableNameNO%>">更改所有者</a><%end if%> <a href="?menu=Del&tablename=<%=TableNameNO%>">删除</a></div>
</div>
<%
end if
Rs.MoveNext
Loop
%>
<div class="tc b cb ac"><input type="submit" id="submit" value="提 交" /></div>
<div class="tc">
<b>注释</b>&nbsp;上面数据表中选中的为当前论坛所使用来保存帖子数据的表,一般情况下每个表中的数据越少论坛帖子显示速度越快,当您下列单个数据表中的数据有超过几十万的帖子时不妨新添一个数据表来保存帖子数据,您会发现论坛速度快很多。 
您也可以将当前所使用的数据表在数据表中切换,当前所使用的帖子数据表即当前论坛用户发帖时默认保存帖子的数据表。<br />
<b>建议</b>&nbsp;Access 版本超过 20万 条数据建立新表<br />MsSql 版本超过 50万 条数据建立新表</div>
</div></form>
<form method="post" name="form" action="?menu=CreatTable">
<div class="tb dt">
<div id="tt">添加数据表</div>
<div class="tc"><span class="fl">表名:<input type="text" name="tablename" size="2" onkeyup="ChkNaN(this)" maxlength="1" value="1" />&nbsp;只需要填写数字( 1 - 9 )即可</span>
<span class="fr"><input type="submit" value="提 交" /></span>
</div>
</div>
</form>
<%
end sub

sub PostAttachment
if Request("Search")<>"" then SearchSql="where "&Request("Search")&" like '%"&Request("Key")&"%'"
if Request("order")<>"" then
order=HTMLEncode(Request("order"))
else
order="id"
end if
sql="[WxUpFiles] "&SearchSql&""
rs.Open ""&sql&" order by "&order&" Desc",Conn,1
TotalCount=Conn.Execute("select count(ID) From "&sql&"")(0) '获取数据数量
PageSetup=20 '设定每页的显示数量
TotalPage=Abs(Int(TotalCount/PageSetup*(-1))) '总页数
PageCount = cint(Request.QueryString("PageIndex")) '获取当前页
if PageCount <1 then PageCount = 1
if PageCount > TotalPage then PageCount = TotalPage
if TotalPage>1 then RS.Move (PageCount-1) * pagesetup
WxManageHead("共有 "&TotalCount&" 个文件")
%>
<form method="post" name="form" action="?menu=DelPostAttachment">
<div class="tb dt">
<div id="tt">上传附件管理</div>
<div class="intro cb">
<div class="fl r w0c"><input type="checkbox" name="chkall" onclick="CheckAll(this.form)" value="ON" /></div>
<div class="fl r w1a"><a href="?menu=PostAttachment&order=FileName">文件名称</a></div>
<div class="fl r w0a"><a href="?menu=PostAttachment&order=ContentSize">大小</a></div>
<div class="fl r w1a"><a href="?menu=PostAttachment&order=ContentType">类型</a></div>
<div class="fl r w1a"><a href="?menu=PostAttachment&order=Created">上传时间</a></div>
<div class="fl r w1a"><a href="?menu=PostAttachment&order=UserName">上传用户</a></div>
<div class="fl r w1a"><a href="?menu=PostAttachment&order=Description">描述</a></div>
<div class="fl w0a"><a href="?menu=PostAttachment&order=Class">来源</a></div>
</div>
<%
i=0
Do While Not Rs.Eof and i<PageSetup
i=i+1
%>
<div class="tc b cb">
<div class="fl r w0c ac ha"><input type="checkbox" name="ID" value="<%=Rs("id")%>" /></div>
<div class="fl r w1a ac ha"><a target="_blank" href="<%=Rs("FilePath")%>"><%=Rs("FileName")%></a></div>
<div class="fl r w0a ac ha"><%=CheckSize(Rs("ContentSize"))%></div>
<div class="fl r w1a ac ha"><%=Rs("ContentType")%></div>
<div class="fl r w1a ac ha"><%=Rs("Created")%></div>
<div class="fl r w1a ac ha"><a target="_blank" href="User.asp?Name=<%=Rs("UserName")%>"><%=Rs("UserName")%></a></div>
<div class="fl r w1a ac ha"><%=Rs("Description")%></div>
<div class="fl w0a ac ha"><%=Rs("class")%></div>
</div>
<%
Rs.MoveNext
loop
Rs.Close
%>
<div class="tc cb">
<span class="fl"><input type="submit" value="删 除" /></span>
</form>
<span class="fl w4">
<form method="post" name="form" action="?menu=PostAttachment">
搜索 <select name="Search">
<option value="FileName" selected="selected">文件名称</option>
<option value="ContentType">文件类型</option>
<option value="UserName">上传用户</option>
<option value="Description">关联帖子</option>
</select> 包含
<input type="text" onclick="this.value=''" onchange="javascript:VerifyText(this,'关键字','bt1');" name="Key" value="关键字" />
<input type="submit" id="bt1" disabled="disabled" value="搜索" /> 
</form>
</span>
<span class="fr"><%ShowPage()%></span>
</div>
</div><%
end sub

AdminBottom%>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -