📄 update.asp
字号:
Response.Write "img2.title=""" & server.htmlencode(eRs(2)&"") & "(" & i & ")"";</script>" & VbCrLf
Response.Flush
'End If
end if
'计算回帖数 2004-8-2
Sql = "SELECT COUNT(*) FROM " & Rs(1) & " WHERE Rootid = " & Rs(0) & " AND Boardid <> 444 AND Boardid <> 777"
Set Ers = Dvbbs.Execute(Sql)
Dvbbs.Execute("UPDATE Dv_Topic SET Child = " & Ers(0)-1 & " WHERE Topicid = " & Rs(0) & "")
Rs.Movenext
loop
set ers=nothing
set rs=nothing
Response.Write "<script>img2.width=400;txt2.innerHTML=""100"";</script>"
%>
<form action="update.asp?action=updat" method=post>
<tr>
<th style="text-align:center;" colspan=2>继续修复帖子(修复指定范围内帖子的最后回复数据)</th>
</tr>
<tr>
<td width="20%" class="td1">开始的ID号</td>
<td width="80%" class="td1"><input type=text name="beginID" value="<%=request.form("endid")+1%>" size=5> 帖子主题ID,可以填写您想从哪一个ID号开始进行修复</td>
</tr>
<tr>
<td width="20%" class="td1">结束的ID号</td>
<td width="80%" class="td1"><input type=text name="EndID" value="<%=request.form("endid")+(request.form("endid")-request.form("beginid"))+1%>" size=5> 将更新开始到结束ID之间的帖子数据,之间的数值最好不要选择过大</td>
</tr>
<tr>
<td width="20%" class="td1"> </td>
<td width="80%" class="td1"><input type="submit" class="button" name="Submit" value="修 复"></td>
</tr>
</form>
<%
end sub
'分论坛今日帖子
REM 修改查询所有帖子表数据 2004-8-26.Dv.Yz
Function Todays(Boardid)
Todays = 0
If IsSqlDataBase = 1 Then
For i = 0 To Ubound(AllPostTable)
Set Tmprs = Dvbbs.Execute("SELECT COUNT(Announceid) FROM " & AllPostTable(i) & " WHERE Boardid = " & Boardid & " AND DATEDIFF(day, Dateandtime, " & SqlNowString & ") = 0")
Todays = Todays + Tmprs(0)
Next
Else
For i = 0 To Ubound(AllPostTable)
Set Tmprs = Dvbbs.Execute("SELECT COUNT(Announceid) FROM " & AllPostTable(i) & " WHERE Boardid = " & Boardid & " AND DATEDIFF('d', Dateandtime, " & SqlNowString & ") = 0")
Todays = Todays + Tmprs(0)
Next
End If
Set Tmprs = Nothing
End Function
'全部论坛今日帖子
REM 修改查询所有帖子表数据 2004-8-26.Dv.Yz
Function Alltodays()
Dim i
Alltodays = 0
If IsSqlDataBase = 1 Then
For i = 0 To Ubound(AllPostTable)
Set Tmprs = Dvbbs.Execute("SELECT COUNT(Announceid) FROM " & AllPostTable(i) & " WHERE NOT Boardid IN (444,777) AND DATEDIFF(day, Dateandtime, " & SqlNowString & ") = 0")
Alltodays = Alltodays + Tmprs(0)
Next
Else
For i = 0 To Ubound(AllPostTable)
Set Tmprs = Dvbbs.Execute("SELECT COUNT(Announceid) FROM " & AllPostTable(i) & " WHERE NOT Boardid IN (444,777) AND DATEDIFF('d', Dateandtime, " & SqlNowString & ") = 0")
Alltodays = Alltodays + Tmprs(0)
Next
End If
Set Tmprs = Nothing
End Function
'论坛昨天的帖子 2004-8-31.Dv.Yz
Function Allyesterdays()
Dim i
Allyesterdays = 0
If IsSqlDataBase = 1 Then
For i = 0 To Ubound(AllPostTable)
Set Tmprs = Dvbbs.Execute("SELECT COUNT(Announceid) FROM " & AllPostTable(i) & " WHERE NOT Boardid IN (444,777) AND DATEDIFF(day, Dateandtime, " & SqlNowString & ") = 1")
Allyesterdays = Allyesterdays + Tmprs(0)
Next
Else
For i = 0 To Ubound(AllPostTable)
Set Tmprs = Dvbbs.Execute("SELECT COUNT(Announceid) FROM " & AllPostTable(i) & " WHERE NOT Boardid IN (444,777) AND DATEDIFF('d', Dateandtime, " & SqlNowString & ") = 1")
Allyesterdays = Allyesterdays + Tmprs(0)
Next
End If
Set Tmprs = Nothing
End Function
'所有注册用户数量
function allusers()
allusers=Dvbbs.Execute("Select count(userid) from [Dv_user]")(0)
If IsNull(allusers) Then allusers=0
End function
'最新注册用户
Function newuser()
Dim sql
sql="Select top 1 username from [Dv_user] order by userid desc"
Set tmprs=Dvbbs.Execute(sql)
If tmprs.eof and tmprs.bof Then
newuser="没有会员"
Else
newuser=tmprs("username")
End If
Set tmprs=Nothing
End function
'所有论坛帖子
function AnnounceNum()
dim AnnNum,i
AnnNum=0
AnnounceNum=0
For i=0 to ubound(AllPostTable)
AnnNum=Dvbbs.Execute("Select Count(announceID) from "&AllPostTable(i)&" where not boardid in (444,777)")(0)
if isnull(AnnNum) then AnnNum=0
AnnounceNum=AnnounceNum + AnnNum
next
end function
'分论坛帖子
function BoardAnnounceNum(boardid)
dim BoardAnnNum
BoardAnnNum=0
BoardAnnounceNum=0
For i=0 to ubound(AllPostTable)
BoardAnnNum=Dvbbs.Execute("Select Count(announceID) from "&AllPostTable(i)&" where boardid="&boardid)(0)
if isnull(BoardAnnNum) then BoardAnnNum=0
BoardAnnounceNum=BoardAnnounceNum + BoardAnnNum
next
end function
'所有论坛主题
function GetTopicnum()
Dim TopicNum
TopicNum=Dvbbs.Execute("Select Count(topicid) from DV_topic where not boardid in (444,777)")(0)
if isnull(TopicNum) then TopicNum=0
GetTopicnum = TopicNum
end function
'分论坛主题
function BoardTopicNum(boardid)
BoardTopicNum=Dvbbs.Execute("Select Count(topicid) from [Dv_topic] where boardid="&boardid)(0)
if isnull(BoardTopicNum) then BoardTopicNum=0
end function
'论坛总固顶主题数
function Forum_AllTopNum()
Set tmprs=Dvbbs.Execute("Select TopicID From Dv_Topic Where Not BoardID In (444,777) And IsTop=3")
If tmprs.eof and tmprs.bof Then
Forum_AllTopNum=""
Else
Do While Not tmprs.Eof
If Forum_AllTopNum="" Then
Forum_AllTopNum = tmprs(0)
Else
Forum_AllTopNum = Forum_AllTopNum & "," & tmprs(0)
End If
tmprs.MoveNext
Loop
End If
Set tmprs=Nothing
end function
'更新用户发贴数
sub updateTopic()
if not isnumeric(request.form("beginid")) then
body="<tr><td colspan=2 class=td1>错误的开始参数!</td></tr>"
exit sub
end if
if not isnumeric(request.form("endid")) then
body="<tr><td colspan=2 class=td1>错误的结束参数!</td></tr>"
exit sub
end if
if clng(request.form("beginid"))>clng(request.form("endid")) then
body="<tr><td colspan=2 class=td1>开始ID应该比结束ID小!</td></tr>"
exit sub
end if
Dim C1
C1=clng(request.form("endid"))-clng(request.form("beginid"))
%>
</table>
<BR>
<table cellpadding="0" cellspacing="0" border="0" width="100%" align="center">
<tr><td colspan=2 class=td1>
下面开始更新论坛用户资料,预计本次共有<%=C1%>个用户需要更新
<table width="400" border="0" cellspacing="1" cellpadding="1">
<tr>
<td bgcolor=#000000>
<table width="400" border="0" cellspacing="0" cellpadding="1">
<tr>
<td bgcolor=#ffffff height=9><img src="../skins/default/bar/bar3.gif" width=0 height=16 id=img2 name=img2 align=absmiddle></td></tr></table>
</td></tr></table> <span id=txt2 name=txt2 style="font-size:9pt">0</span><span style="font-size:9pt">%</span></td></tr>
</table>
<table cellpadding="0" cellspacing="0" border="0" width="100%" align="center">
<%
Response.Flush
dim userTopic,UserPost,rs,sql,i
sql="select userid,username from [Dv_user] where userid>="&request.form("beginid")&" and userid<="&request.form("endid")
set rs=Dvbbs.Execute(sql)
if rs.eof and rs.bof then
body="<tr><td colspan=2 class=td1>已经到记录的最尾端,请结束更新!</td></tr>"
exit sub
end if
do while not rs.eof
UserTopic=UserallTopicnum(rs(0))
userPost=Userallnum(rs(0))
Dvbbs.Execute("update [Dv_user] set UserPost="&userPost&",UserTopic="&UserTopic&" where userid="&rs(0))
i=i+1
'If (i mod 100) = 0 Then
Response.Write "<script>img2.width=" & Fix((i/C1) * 400) & ";" & VbCrLf
Response.Write "txt2.innerHTML=""更新完"&rs(1)&"的数据,正在更新下一个用户数据," & FormatNumber(i/C1*100,4,-1) & """;" & VbCrLf
Response.Write "img2.title=""" & Rs(1) & "(" & i & ")"";</script>" & VbCrLf
Response.Flush
'End If
rs.movenext
loop
set rs=nothing
Response.Write "<script>img2.width=400;txt2.innerHTML=""100"";</script>"
%>
<FORM METHOD=POST ACTION="?action=updateuserinfo">
<tr>
<th style="text-align:center;" colspan=2>继续更新用户数据</th>
</tr>
<tr>
<td width="20%" class="td1">重新计算用户发贴</td>
<td width="80%" class="td1">执行本操作将按照<font color=red>当前论坛数据库</font>发贴重新计算所有用户发表帖子数量。</td>
</tr>
<tr>
<td width="20%" class="td1">开始用户ID</td>
<td width="80%" class="td1"><input type=text name="beginID" value="<%=request.form("endid")+1%>" size=10> 用户ID,可以填写您想从哪一个ID号开始进行修复</td>
</tr>
<tr>
<td width="20%" class="td1">结束用户ID</td>
<td width="80%" class="td1"><input type=text name="endID" value="<%=request.form("endid")+(request.form("endid")-request.form("beginid"))+1%>" size=10> 将更新开始到结束ID之间的用户数据,之间的数值最好不要选择过大</td>
</tr>
<tr>
<td width="20%" class="td1"> </td>
<td width="80%" class="td1"><input type="submit" class="button" name="Submit" value="重新计算用户发贴"></td>
</tr>
</form>
<%
end sub
'更新用户金钱/经验/魅力
sub updatemoney()
if not isnumeric(request.form("beginid")) then
body="<tr><td colspan=2 class=td1>错误的开始参数!</td></tr>"
exit sub
end if
if not isnumeric(request.form("endid")) then
body="<tr><td colspan=2 class=td1>错误的结束参数!</td></tr>"
exit sub
end if
if clng(request.form("beginid"))>clng(request.form("endid")) then
body="<tr><td colspan=2 class=td1>开始ID应该比结束ID小!</td></tr>"
exit sub
end if
dim userTopic,userReply,userWealth
dim userEP,userCP
Dim C1,sql,rs,i
C1=clng(request.form("endid"))-clng(request.form("beginid"))
%>
</table>
<BR>
<table cellpadding="0" cellspacing="0" border="0" width="100%" align="center">
<tr><td colspan=2 class=td1>
下面开始更新论坛用户资料,预计本次共有<%=C1%>个用户需要更新
<table width="400" border="0" cellspacing="1" cellpadding="1">
<tr>
<td bgcolor=#000000>
<table width="400" border="0" cellspacing="0" cellpadding="1">
<tr>
<td bgcolor=#ffffff height=9><img src="../skins/default/bar/bar3.gif" width=0 height=16 id=img2 name=img2 align=absmiddle></td></tr></table>
</td></tr></table> <span id=txt2 name=txt2 style="font-size:9pt">0</span><span style="font-size:9pt">%</span></td></tr>
</table>
<table cellpadding="0" cellspacing="0" border="0" width="100%" align="center">
<%
Response.Flush
sql="select userlogins,userid,userpost,usertopic,username from [Dv_user] where userid>="&request.form("beginid")&" and userid<="&request.form("endid")
set rs=Dvbbs.Execute(sql)
'shinzeal加入自动提示完成
if rs.eof and rs.bof then
body="<tr><td colspan=2 class=td1>已经到记录的最尾端,请结束更新!</td></tr>"
exit sub
end if
do while not rs.eof
'userTopic=UserTopicNum(rs(1))
'userreply=UserReplyNum(rs(1))
userwealth=rs(0)*Dvbbs.Forum_user(4) + rs("usertopic")*Dvbbs.Forum_user(1) + (rs("userpost")-rs("usertopic"))*Dvbbs.Forum_user(2)
userEP=rs(0)*Dvbbs.Forum_user(9) + rs("usertopic")*Dvbbs.Forum_user(6) + (rs("userpost")-rs("usertopic"))*Dvbbs.Forum_user(7)
userCP=rs(0)*Dvbbs.Forum_user(14) + rs("usertopic")*Dvbbs.Forum_user(11) + (rs("userpost")-rs("usertopic"))*Dvbbs.Forum_user(12)
if isnull(UserWealth) or not isnumeric(userwealth) then userwealth=0
if isnull(Userep) or not isnumeric(userep) then userep=0
if isnull(Usercp) or not isnumeric(usercp) then usercp=0
Dvbbs.Execute("update [Dv_user] set userWealth="&userWealth&",userep="&userep&",usercp="&usercp&" where userid="&rs(1))
i=i+1
'If (i mod 100) = 0 Then
Response.Write "<script>img2.width=" & Fix((i/C1) * 400) & ";" & VbCrLf
Response.Write "txt2.innerHTML=""更新完"&rs(4)&"的数据,正在更新下一个用户数据," & FormatNumber(i/C1*100,4,-1) & """;" & VbCrLf
Response.Write "img2.title=""" & Rs(4) & "(" & i & ")"";</script>" & VbCrLf
Response.Flush
'End If
rs.movenext
loop
set rs=nothing
Response.Write "<script>img2.width=400;txt2.innerHTML=""100"";</script>"
%>
<FORM METHOD=POST ACTION="?action=updateuserinfo">
<tr>
<th style="text-align:center;" colspan=2>继续更新用户数据</th>
</tr>
<tr>
<td width="20%" class="td1" valign=top>更新用户金钱/经验/魅力</td>
<td width="80%" class="td1">执行本操作将按照<font color=red>当前论坛数据库</font>用户的发贴数量和论坛的相关设置重新计算用户的金钱/经验/魅力,本操作也将重新计算贵宾、版主、总版主的数据<BR>注意:不推荐用户进行本操作,本操作在数据很多的时候请尽量不要使用,并且本操作对各个版面删除帖子等所扣相应分值不做运算,只是按照发贴和总的论坛分值设置进行运算,请大家慎重操作,<font color=red>而且本项操作将重置用户因为奖励、惩罚等原因管理员对用户分值的修改。</font></td>
</tr>
<tr>
<td width="20%" class="td1">开始用户ID</td>
<td width="80%" class="td1"><input type=text name="beginID" value="<%=request.form("endid")+1%>" size=10> 用户ID,可以填写您想从哪一个ID号开始进行修复</td>
</tr>
<tr>
<td width="20%" class="td1">结束用户ID</td>
<td width="80%" class="td1"><input type=text name="endID" value="<%=request.form("endid")+(request.form("endid")-request.form("beginid"))+1%>" size=10> 将更新开始到结束ID之间的用户数据,之间的数值最好不要选择过大</td>
</tr>
<tr>
<td width="20%" class="td1"> </td>
<td width="80%" class="td1"><input type="submit" class="button" name="Submit" value="更新用户金钱/经验/魅力"></td>
</tr>
</form>
<%
end sub
'更新用户等级
sub updategrade()
if not isnumeric(request.form("beginid")) then
body="<tr><td colspan=2 class=td1>错误的开始参数!</td></tr>"
exit sub
end if
if not isnumeric(request.form("endid")) then
body="<tr><td colspan=2 class=td1>错误的结束参数!</td></tr>"
exit sub
end if
if clng(request.form("beginid"))>clng(request.form("endid")) then
body="<tr><td colspan=2 class=td1>开始ID应该比结束ID小!</td></tr>"
exit sub
end if
Dim oldMinArticle,Rss,sql,rs
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -