board.asp
来自「一个功能强大的asp招聘求职系统」· ASP 代码 · 共 1,712 行 · 第 1/5 页
ASP
1,712 行
End If
If Doorders > 0 Or Uporders > 0 Then
Response.Write "<input type=hidden name=""editID"" value=""" & Sql(5,Bn) & """> <input type=submit name=Submit value=修改>"
End If
End If
Response.Write "</td></tr></form>"
Uporders = 0
Doorders = 0
Next
Response.Write "</table>"
End If
%>
</td>
</tr>
</table>
<%
End Sub
'N级分类移动 2004-10-18 Dv.Yz
Sub Updateboardorders()
Dim Orders, tRs, Parentid
Dim Uporders, Doorders
Dim Frontorders, Nextorders, Lastorders
Dim Rootid, Depth, Child, Parentstr
If Not Isnumeric(Request("EditID")) Then
Response.Write "非法的参数!"
Exit Sub
End If
If Request("Uporders") <> "" And Not Cint(Request("Uporders")) = 0 Then
If Not Isnumeric(Request("Uporders")) Then
Response.Write "非法的参数!"
Exit Sub
Elseif Cint(Request("Uporders")) = 0 Then
Response.Write "请选择要提升的数字!"
Exit Sub
End If
Uporders = Cint(Request("Uporders"))
'向上移动
Set Rs = Dvbbs.Execute("SELECT Orders, Rootid, Depth, ParentID, Child, ParentStr FROM Dv_Board WHERE Boardid = " & Request("EditID"))
Orders = Rs(0)
Rootid = Rs(1)
Depth = Rs(2)
Parentid = Rs(3)
Child = Rs(4)
ParentStr = Rs(5) & "," & Request("EditID")
Set Rs = Nothing
'取Lastorders值
Sql = "SELECT Top 1 Orders FROM Dv_Board WHERE Rootid = " & Rootid & " ORDER BY Orders DESC"
Set Rs = Dvbbs.Execute(Sql)
Lastorders = Rs(0)
Set Rs = Nothing
'取取移动结属ORDERS值
If Child > 0 Then
Sql = "SELECT COUNT(*) FROM Dv_Board WHERE ParentStr LIKE '%" & ParentStr & "%' AND Rootid = " & Rootid
Set Rs = Dvbbs.Execute(Sql)
Nextorders = Orders + Rs(0)
Else
Nextorders = Orders
End If
Doorders = Nextorders
Set Rs = Nothing
'取同级版面往上的版面ORDERS值
Sql = "SELECT Top " & Uporders & " Orders FROM Dv_Board WHERE Rootid = " & Rootid & " AND Depth = " & Depth & " AND ParentID = " & Parentid & " AND Orders < " & Orders & " ORDER BY Orders Desc"
Set Rs = Dvbbs.Execute(Sql)
If Rs.Eof And Rs.Bof Then
Frontorders = 0
Else
Sql = Rs.GetRows(-1)
Frontorders = Sql(0,Ubound(Sql,2))
End If
'一次更新Orders
Sql = "UPDATE Dv_Board SET Orders = Orders + " & Doorders & " WHERE Rootid = " & Rootid & " AND (Orders >= " & Frontorders & " AND Orders < " & Orders & " OR Orders > " & Nextorders & ")"
' Response.Write Sql
Dvbbs.Execute(Sql)
Elseif Request("Doorders") <> "" Then
If Not Isnumeric(Request("Doorders")) Then
Response.Write "非法的参数!"
Exit Sub
Elseif Cint(Request("doorders")) = 0 Then
Response.Write "请选择要下降的数字!"
Exit Sub
End If
Uporders = Cint(Request("doorders"))
'向下移动
Set Rs = Dvbbs.Execute("SELECT Orders, Rootid, Depth, ParentID, Child, ParentStr FROM Dv_Board WHERE Boardid = " & Request("EditID"))
Orders = Rs(0)
Rootid = Rs(1)
Depth = Rs(2)
Parentid = Rs(3)
Child = Rs(4)
ParentStr = Rs(5) & "," & Request("EditID")
Set Rs = Nothing
'取Lastorders值
Sql = "SELECT Top 1 Orders FROM Dv_Board WHERE Rootid = " & Rootid & " ORDER BY Orders DESC"
Set Rs = Dvbbs.Execute(Sql)
Lastorders = Rs(0)
Set Rs = Nothing
'取取移动结属ORDERS值
If Child > 0 Then
Sql = "SELECT COUNT(*) FROM Dv_Board WHERE ParentStr LIKE '%" & ParentStr & "%' AND Rootid = " & Rootid
Set Rs = Dvbbs.Execute(Sql)
Nextorders = Orders + Rs(0)
Else
Nextorders = Orders
End If
Set Rs = Nothing
'取同级版面移下后上一个版面ORDERS值
Sql = "SELECT Top " & Uporders + 1 & " Orders, Child, ParentStr, BoardID FROM Dv_Board WHERE Rootid = " & Rootid & " AND Depth = " & Depth & " AND ParentID = " & Parentid & " AND Orders > " & Orders & " ORDER BY Orders"
Set Rs = Dvbbs.Execute(Sql)
If Rs.Eof And Rs.Bof Then
Frontorders = Lastorders
Else
Sql = Rs.GetRows(-1)
Frontorders = Sql(0,Ubound(Sql,2)) - 1
If Not Ubound(Sql,2) = Uporders Then
If Sql(1,Ubound(Sql,2)) > 0 Then
ParentStr = Sql(2,Ubound(Sql,2)) & "," & Sql(3,Ubound(Sql,2))
Set Rs = Dvbbs.Execute("SELECT COUNT(*) FROM Dv_Board WHERE ParentStr LIKE '%" & ParentStr & "%' AND Rootid = " & Rootid)
Frontorders = Sql(0,Ubound(Sql,2)) + Rs(0)
Else
Frontorders = Sql(0,Ubound(Sql,2))
End If
End If
End If
Doorders = Frontorders
'一次更新Orders
Sql = "UPDATE Dv_Board SET Orders = Orders + " & Doorders & " WHERE Rootid = " & Rootid & " AND Orders >= " & Orders & " AND Orders <= " & Nextorders & " OR Orders > " & Frontorders
' Response.Write Sql
Dvbbs.Execute(Sql)
End If
CheckAndFixBoard 0,1
RestoreBoardCache()
Response.Redirect "board.asp?action=boardorders"
End Sub
Sub Addmaster(s,o,n)
Dim Arr, Pw, Oarr
Dim Classname, Titlepic
Set Rs = Dvbbs.Execute("SELECT Usertitle, GroupPic FROM Dv_UserGroups WHERE Usergroupid = 3")
If Not (Rs.Eof And Rs.Bof) Then
Classname = Rs(0)
Titlepic = Rs(1)
End If
Randomize
Pw = Cint(Rnd * 9000) + 1000
Arr = Split(s,"|")
Oarr = Split(o,"|")
Set Rs = Server.Createobject("Adodb.Recordset")
For i = 0 To Ubound(Arr)
Sql = "SELECT * FROM [Dv_User] WHERE Username = '" & Arr(i) & "'"
Rs.Open Sql,Conn,1,3
If Rs.Eof And Rs.Bof Then
Rs.Addnew
Rs("Username") = Arr(i)
Rs("Userpassword") = Md5(Pw,16)
Rs("Userclass") = Classname
Rs("UserGroupID") = 3
Rs("Titlepic") = Titlepic
Rs("UserWealth") = 100
Rs("Userep") = 30
Rs("Usercp") = 30
Rs("Userisbest") = 0
Rs("Userdel") = 0
Rs("Userpower") = 0
Rs("Lockuser") = 0
'加入更详细资料使登录与显示资料不会出错。
Rs("UserSex") = 1
Rs("UserEmail") = Arr(i) & "@aspsky.net"
Rs("UserFace") = "Images/userface/image1.gif"
Rs("UserWidth") = 32
Rs("UserHeight") = 32
Rs("UserIM") = "||||||||||||||||||"
Rs("UserFav") = "陌生人,我的好友,黑名单"
Rs("LastLogin") = Now()
Rs("JoinDate") = Now()
Rs("Userpost") = 0
Rs("Usertopic") = 0
Rs.Update
Str = Str & "你添加了以下用户:<b>" & Arr(i) & "</b> 密码:<b>" & Pw & "</b><br><br>"
Dvbbs.Execute("UPDATE Dv_Setup SET Forum_Usernum = Forum_Usernum + 1, Forum_Lastuser = '" & Arr(i) & "'")
Else
'修正添加版主不改变等级的错误 2005-3-7 Dv.Yz
If Rs("UserGroupID") > 3 Then
Rs("Userclass") = Classname
Rs("UserGroupID") = 3
Rs("Titlepic") = Titlepic
Rs.Update
End If
End If
Rs.Close
Next
'判断原版主在其他版面是否还担任版主,如没有担任则撤换该用户职位。
If n = 1 Then
Dim Iboardmaster
Dim UserGrade, Article
Iboardmaster = False
For i = 0 To Ubound(Oarr)
Set Rs = Dvbbs.Execute("SELECT Boardmaster FROM Dv_Board")
Do While Not Rs.Eof
If Instr("|" & Trim(Rs("Boardmaster")) & "|","|" & Trim(Oarr(i)) & "|") > 0 Then
Iboardmaster = True
Exit Do
End If
Rs.Movenext
Loop
If Not Iboardmaster Then
Set Rs = Dvbbs.Execute("SELECT Userid, UserGroupID, UserPost FROM [Dv_User] WHERE Username = '" & Trim(Oarr(i)) & "'")
If Not (Rs.Eof And Rs.Bof) Then
If Rs(1) > 2 Then
If Not Isnumeric(Rs(2)) Or Rs(2) = "" Then
Article = 0
Else
Article = Cstr(Rs(2))
End If
'取对应注册会员的等级
Set UserGrade = Dvbbs.Execute("SELECT TOP 1 Usertitle, Grouppic,UserGroupID FROM Dv_Usergroups WHERE Minarticle <= " & Article & " AND NOT MinArticle = -1 AND ParentGID = 4 ORDER BY MinArticle DESC")
If Not (UserGrade.Eof And UserGrade.Bof) Then
Dvbbs.Execute("UPDATE [Dv_User] SET UserGroupID = 10, Titlepic = '" & UserGrade(1) & "', Userclass = '" & UserGrade(0) & "' WHERE Userid = " & Rs(0))
End If
UserGrade.Close:Set UserGrade = Nothing
End If
End If
End If
Iboardmaster = False
Next
End If
Set Rs = Nothing
End Sub
Rem 分版面用户权限设置 重写2004-5-2 Dvbbs.YangZheng
Sub BoardPerMission()
Dim iUserGroupID(100), UserTitle(100),iParentID(100)
Dim Trs, Ars, k, ii
Dim Bn
Set Trs = Dvbbs.Execute("SELECT Usertitle,Usergroupid,ParentGID FROM Dv_UserGroups WHERE Not ParentGID=0 ORDER BY ParentGID,UserGroupId")
If Not (Trs.Eof And Trs.Bof) Then
Sql = Trs.GetRows(-1)
Trs.Close:Set Trs = Nothing
For ii = 0 To Ubound(Sql,2)
UserTitle(ii) = Sql(0,ii)
iUserGroupID(ii) = Sql(1,ii)
iParentID(ii) = Sql(2,ii)
Next
End If
%>
<table width="95%" border="0" cellspacing="1" cellpadding="3" align=center class="tableBorder">
<tr>
<th height="25">编辑论坛权限</th>
</tr>
<tr>
<td class=forumrow>
①您可以设置不同用户组在不同论坛内的权限,红色表示为该论坛该用户组使用的是用户定义属性<BR>
②该权限不能继承,比如您设置了一个包含下级论坛的版面,那么只对您设置的版面生效而不对其下属论坛生效<BR>
③如果您想设置生效,必须在设置页面<B>选择自定义设置</B>,选择了自定义设置后,这里设置的权限将<B>优先</B>于用户组设置,比如用户组默认不能管理帖子,而这里设置了该用户组可管理帖子,那么该用户组在这个版面就可以管理帖子
</td>
</tr>
</table><BR>
<table width="95%" cellspacing="1" cellpadding="1" align=center class="tableBorder">
<tr>
<th width="35%" class="tableHeaderText" height=25>论坛版面
</th>
<th width="35%" class="tableHeaderText" height=25>设置用户组权限
</th>
</tr>
<%
Dim Percount
Sql = "SELECT Depth, Child, Parentid, BoardType, Boardid,IsGroupSetting FROM Dv_Board ORDER BY Rootid, Orders"
Set Rs = Dvbbs.Execute(Sql)
If Not (Rs.Eof And Rs.Bof) Then
Sql = Rs.GetRows(-1)
Set Rs = Nothing
For Bn = 0 To Ubound(Sql,2)
Response.Write "<tr><td height=25 width=40% class=forumrow>"
If Sql(0,Bn) > 0 Then
For i = 1 To Sql(0,Bn)
Response.Write " "
Next
End If
If Sql(1,Bn) > 0 Then
Response.Write "<img src=../skins/default/plus.gif>"
Else
Response.Write "<img src=../skins/default/nofollow.gif>"
End If
If Sql(2,Bn) = 0 Then
Response.Write "<b>"
End If
Response.Write Sql(3,Bn)
If Sql(1,Bn) > 0 Then
Response.Write "(" & Sql(1,Bn) & ")"
End If
'Percount = Dvbbs.Execute("SELECT COUNT(*) FROM Dv_BoardPermission WHERE Boardid = " & Sql(4,Bn))(0)
%>
</td>
<FORM METHOD=POST ACTION="?action=editpermission">
<td width=60% class="forumrow">
<select name="groupid" size=1>
<%
Dim hasc
For k = 0 To ii-1
Response.Write "<option value=""" & iUserGroupID(k) & """>" & SysGroupName(iParentID(k)) & UserTitle(k)
If Sql(5,Bn)<>"" Then
Set Ars = Dvbbs.Execute("SELECT Pid FROM Dv_BoardPerMission WHERE BoardID = " & Sql(4,Bn) & " AND GroupID = " & iUserGroupID(k))
If Not Ars.Eof Then
Response.Write "(自定义)"
hasc=1
End If
End If
Response.Write "</option>"
Next
Response.Write "</select><input type=hidden value="
Response.Write Sql(4,Bn)
Response.Write " name=reboardid><input type=submit name=submit value=设置>"
If hasc=1 Then
Response.Write "(有自定义版面)"
End If
Response.Write "</td></FORM></tr>"
Next
End If
Response.Write "</table><BR><BR>"
Set Ars = Nothing
Set Trs = Nothing
End Sub
Sub editpermission()
if not isnumeric(request("groupid")) Or request("groupid")="" Or request("reBoardID")="" Or not isnumeric(request("reBoardID")) then
response.write "错误的参数,请返回分版面权限设置首页选择正确的设置!"
exit sub
end if
if request("groupaction")="yes" then
dim GroupSetting,rspid,SaveGroupid,NewGroupid
Dim IsGroupSetting,MyIsGroupSetting
Dim Sql,i,k
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?