?? grade.asp
字號(hào):
<!--#include file=../conn.asp-->
<!-- #include file="inc/const.asp" -->
<!-- #include file="../inc/GroupPermission.asp" -->
<%
Head()
dim admin_flag
admin_flag=",17,"
if not Dvbbs.master or instr(","&session("flag")&",",admin_flag)=0 then
Errmsg=ErrMsg + "<BR><li>本頁(yè)面為管理員專用,請(qǐng)<a href=../admin_login.asp target=_top>登錄</a>后進(jìn)入。<br><li>您沒(méi)有管理本頁(yè)面的權(quán)限。"
dvbbs_error()
Else
if request("action")="save" then
call savegrade()
elseif request("action")="add" then
call add()
elseif request("action")="savenew" then
call savenew()
elseif request("action")="del" then
call del()
elseif request("action")="per" then
call per()
else
call gradeinfo()
end if
Footer()
End If
sub gradeinfo()
%>
<form method="POST" action=grade.asp?action=save>
<table width="95%" border="0" cellspacing="1" cellpadding="3" align=center class="tableBorder">
<tr>
<td height="23" colspan="5" class=forumrowHighlight>
<table width="95%" border="0" cellspacing="1" cellpadding="3" align=center>
<tr>
<td valign=top>
<B>關(guān)于用戶等級(jí)設(shè)置的說(shuō)明,請(qǐng)仔細(xì)閱讀后做設(shè)置</B>:<BR>
相關(guān)用戶組如果無(wú)對(duì)應(yīng)等級(jí)名稱,則注冊(cè)用戶自動(dòng)按照文章升級(jí)<BR>
相關(guān)用戶組的等級(jí)名稱可以和用戶組名不一樣<BR>
各個(gè)等級(jí)可設(shè)定不自定義權(quán)限,權(quán)限類型和組權(quán)限一樣。如果某個(gè)等級(jí)設(shè)定了自定義權(quán)限,這樣該等級(jí)在論壇所有版面就有了自定義的權(quán)限,而且該等級(jí)將出現(xiàn)在版面權(quán)限定義的組菜單中(這樣就可設(shè)定某個(gè)等級(jí)在某個(gè)版面中的權(quán)限),而且相關(guān)等級(jí)用戶的組ID將變成等級(jí)ID
</td>
<td width="50%" valign=top>
<B>在等級(jí)中設(shè)定用戶組有什么用?</B><BR>
一般來(lái)說(shuō),只有注冊(cè)用戶擁有等級(jí),所以在等級(jí)所屬組中一般都設(shè)定對(duì)應(yīng)注冊(cè)用戶組,如果設(shè)置成別的組,那么該用戶在升級(jí)到這個(gè)等級(jí)的同時(shí)也將自動(dòng)歸入所設(shè)置的組<BR>
比如你新添加了一個(gè)用戶組,并且給予了這個(gè)用戶組某一些權(quán)限,那么你可以設(shè)置達(dá)到一定等級(jí)(帖子)的用戶自動(dòng)更新到這個(gè)用戶組以使用這個(gè)用戶組的權(quán)限。<BR>如果您想某個(gè)等級(jí)的用戶不跟隨帖子數(shù)而上升等級(jí),那么就把最少發(fā)貼設(shè)置為<B>-1</B>,一般為特殊用戶組需要這樣的設(shè)置,設(shè)置某個(gè)級(jí)別最少發(fā)貼為<B>-1</B>后,該級(jí)別的用戶將不能根據(jù)帖子增加而升級(jí),別的用戶也不能自動(dòng)升級(jí)到該級(jí)別,只有在用戶管理中方能更改其級(jí)別
</td>
</tr>
</table>
</td>
</tr>
<tr>
<th height="23" colspan="5" >用戶等級(jí)設(shè)定</th>
</tr>
<tr>
<td width="25%" class=forumrowHighlight><B>等級(jí)名稱</B></td>
<td width="15%" class=forumrowHighlight><B>最少發(fā)貼</B></td>
<td width="20%" class=forumrowHighlight><B>圖片</B></td>
<td width="25%" class=forumrowHighlight><B>所屬組</B></td>
<td width="15%" class=forumrowHighlight><B>操作</B></td>
</tr>
<%
Dim TempArray,DefaultLock
Set Rs=Dvbbs.Execute("select UserGroupID,title from dv_usergroups where ParentGID=1 order by UserGroupID")
TempArray = Rs.GetRows(-1)
set rs=Dvbbs.Execute("select * from dv_usergroups order by ParentGID,UserGroupID,minarticle desc")
do while not rs.eof
If Rs("ParentGID")=0 Then
DefaultLock="1"
Else
DefaultLock=""
End If
%>
<input type=hidden value="<%=rs("UserGroupID")%>" name="usertitleid">
<tr>
<td width="25%" class=Forumrow><input size=15 value="<%=rs("usertitle")%>" name="usertitle" type=text></td>
<td width="15%" class=Forumrow>
<%If DefaultLock <>"1" Then %>
<input size=5 value="<%=rs("MinArticle")%>" name="minarticle" type=text >
<%Else%>
<input type=hidden value="<%=rs("MinArticle")%>" name="minarticle" >
<%=rs("MinArticle")%>
<%End If%>
</td>
<td width="20%" class=Forumrow><input size=15 value="<%=rs("grouppic")%>" name="titlepic" type=text></td>
<td width="25%" class=Forumrow>
<%If DefaultLock <>"1" Then %>
<select name="groupid" size=1>
<%For i=0 To Ubound(TempArray,2)%>
<%If Rs("ParentGID")=0 Then%>
<option value="<%=TempArray(0,i)%>" <%If Rs("UserGroupID")=TempArray(0,i) Then Response.Write "selected"%>><%=TempArray(1,i)%></option>
<%Else%>
<option value="<%=TempArray(0,i)%>" <%If Rs("ParentGID")=TempArray(0,i) Then Response.Write "selected"%>><%=TempArray(1,i)%></option>
<%End If%>
<%Next%>
</select>
<%Else
Response.Write "<input type=hidden value="""&Rs("UserGroupID")&""" name=""groupid"" >"
For i=0 To Ubound(TempArray,2)
If Rs("UserGroupID")=TempArray(0,i) Then
Response.Write TempArray(1,i)
End If
Next
End If%>
</td>
<td width="15%" class=Forumrow><%If Rs("UserGroupID")>8 Then%><a href="?action=del&id=<%=rs("UserGroupID")%>">刪除</a> | <%End If%>
<%
If Rs("ParentGID")=0 Then
Response.Write "<a href=group.asp?action=editgroup&groupid="&Rs("UserGroupID")&">"
Else
If Rs("IsSetting")&""="1" Then
Response.Write "<a href=grade.asp?action=per&groupid="&Rs("UserGroupID")&"®roupid="&rs("UserGroupID")&">"
Else
Response.Write "<a href=grade.asp?action=per&groupid="&Rs("ParentGID")&"®roupid="&rs("UserGroupID")&">"
End If
End If
%>權(quán)限</a>
<%If Rs("UserGroupID")>8 And Rs("IsSetting")&""="1" Then Response.Write " <font color=red>自</font>"%>
</td>
</tr>
<%
rs.movenext
loop
rs.close
set rs=nothing
%>
<tr>
<td width="100%" colspan=5 class=Forumrow>
<input type="submit" name="Submit" value="提 交">
</td>
</tr>
</table>
</form>
<%
end sub
Sub savegrade()
Server.ScriptTimeout=99999999
Dim usertitleid,iuserclass,usertitle,Minarticle,titlepic,groupid
For i=1 to request.form("usertitleid").count
usertitleid=replace(request.form("usertitleid")(i),"'","")
usertitle=replace(request.form("usertitle")(i),"'","")
minarticle=replace(request.form("minarticle")(i),"'","")
titlepic=replace(request.form("titlepic")(i),"'","")
groupid=replace(request.form("groupid")(i),"'","")
if isnumeric(usertitleid) and isnumeric(iuserclass) and usertitle<>"" and isnumeric(minarticle) and titlepic<>"" and isnumeric(groupID) then
set rs=Dvbbs.Execute("select * from dv_usergroups where UserGroupID="&usertitleID)
if rs("usertitle")<>trim(usertitle) or rs("grouppic")<>trim(titlepic) or (rs("parentgid")<>cint(groupid) and rs("parentgid")>0) then
'如果有自定義權(quán)限,則UserGroupID為等級(jí)所在的ID,反之則為組ID
if rs("issetting")=1 then groupid=rs("usergroupid")
Dvbbs.Execute("update [dv_user] set userclass='"&usertitle&"',titlepic='"&titlepic&"',usergroupid="&groupid&" where userclass='"&rs("usertitle")&"'")
end if
if rs("parentgid")=0 then groupid=0
Dvbbs.Execute("update dv_usergroups set usertitle='"&usertitle&"',minarticle="&minarticle&",grouppic='"&titlepic&"',parentgid="&groupid&" where usergroupid="&usertitleID)
end if
next
response.write "設(shè)置成功,請(qǐng)返回。"
set rs=nothing
End Sub
sub add()
%>
<form method="POST" action=grade.asp?action=savenew>
<table width="95%" border="0" cellspacing="1" cellpadding="3" align=center class="tableBorder">
<tr>
<th colspan="2">添加新的用戶等級(jí)</th>
</tr>
<tr>
<td width="40%" class=forumrow><B>所屬用戶組</B></td>
<td width="60%" class=forumrow>
<select size=1 name="usergroupid">
<%
set rs=Dvbbs.Execute("select * from dv_usergroups where parentgid=0 order by usergroupid")
do while not rs.eof
%>
<option value="<%=rs("usergroupid")%>" <%if rs("usergroupid")=4 then%>selected<%end if%>><%=rs("title")%></option>
<%
rs.movenext
loop
rs.close
set rs=nothing
%>
</select>
</td>
</tr>
<tr>
<td width="40%" class=forumrow><B>等級(jí)名稱</B></td>
<td width="60%" class=forumrow><input size=30 name="usertitle" type=text></td>
</tr>
<tr>
<td width="40%" class=forumrow><B>最少發(fā)貼</B><BR>如果該等級(jí)是榮譽(yù)稱號(hào)或者管理身份,這里可以填寫(xiě)-1,表示不跟隨帖子增長(zhǎng)而升級(jí)</td>
<td width="60%" class=forumrow><input size=30 name="minarticle" type=text></td>
</tr>
<tr>
<td width="40%" class=forumrow><B>等級(jí)圖片</B></td>
<td width="60%" class=forumrow><input size=30 name="titlepic" type=text> 這將體現(xiàn)在帖子內(nèi)容顯示左邊的用戶資料中</td>
</tr>
<tr>
<td width="100%" colspan=2 class=forumrow>
<input type="submit" name="Submit" value="提 交">
</td>
</tr>
</table>
</form>
<%
end sub
sub savenew()
if request.form("minarticle")="" then
Errmsg=ErrMsg + "<BR><li>請(qǐng)輸入新的等級(jí)需要文章數(shù)。"
dvbbs_error()
exit sub
elseif not isnumeric(request.form("minarticle")) then
Errmsg=ErrMsg + "<BR><li>新的等級(jí)文章數(shù)只能是數(shù)字。"
dvbbs_error()
exit sub
end if
if request.form("titlepic")="" then
Errmsg=ErrMsg + "<BR><li>請(qǐng)輸入新的等級(jí)圖片。"
dvbbs_error()
exit sub
end if
if request.form("usertitle")="" then
Errmsg=ErrMsg + "<BR><li>請(qǐng)輸入新的等級(jí)名稱。"
dvbbs_error()
exit sub
end if
Dim GroupTitle,GroupSetting,GroupPic
Set rs=dvbbs.execute("select * from dv_usergroups where usergroupid="&request.form("usergroupid"))
GroupTitle=rs("title")
GroupSetting=rs("GroupSetting")
GroupPic=rs("titlepic")
set rs = server.CreateObject ("Adodb.recordset")
sql="select * from dv_usergroups where usertitle='"&request.form("usertitle")&"'"
rs.open sql,conn,1,3
if rs.eof and rs.bof then
rs.addnew
rs("usertitle")=request.form("usertitle")
rs("minarticle")=request.form("minarticle")
rs("grouppic")=request.form("titlepic")
rs("parentgid")=request.form("usergroupid")
rs("title")=GroupTitle
rs("GroupSetting")=GroupSetting
rs("isdisp")=0
rs("IsSetting")=0
rs("titlepic")=GroupPic
rs.update
else
Errmsg=ErrMsg + "<BR><li>該等級(jí)名稱已經(jīng)存在。"
dvbbs_error()
exit sub
end if
rs.close
set rs=nothing
response.write "添加成功!建議您到更新用戶數(shù)據(jù)中進(jìn)行更新操作!"
end sub
Sub Del()
Server.ScriptTimeout = 99999999
Dim Minarticle, Minuserclass
If Isnumeric(Request("Id")) Then
If CLng(Request("id")) < 9 Then
Errmsg = ErrMsg + "<BR><li>系統(tǒng)默認(rèn)等級(jí)不能刪除。"
Dvbbs_Error()
Exit Sub
End If
Set Rs = Dvbbs.Execute("SELECT * FROM Dv_UserGroups WHERE UserGroupId = " & Request("id"))
Minarticle = Rs("Minarticle")
Minuserclass = Rs("Usertitle")
Rem 修正刪除等級(jí)后等級(jí)設(shè)置的錯(cuò)誤 2004-5-1 Dvbbs.YangZheng
Set Rs = Dvbbs.Execute("SELECT TOP 1 * FROM Dv_Usergroups WHERE ParentGId = " & Request("id") & " AND NOT MinArticle = -1 ORDER BY Minarticle")
If Not (Rs.Eof And Rs.Bof) Then
Dvbbs.Execute("UPDATE [Dv_User] SET Userclass = '" & Rs("Usertitle") & "', Titlepic = '" & Rs("Grouppic") & "' WHERE Userclass = '" & Minuserclass & "'")
Else
Set Rs = Nothing
Set Rs = Dvbbs.Execute("SELECT TOP 1 * FROM Dv_UserGroups WHERE ParentGId = 4 ORDER By Minarticle Desc")
If Not (Rs.Eof And Rs.Bof) Then
Dvbbs.Execute("UPDATE [Dv_User] SET UserGroupId = 4, Userclass = '" & Rs("Usertitle") & "', Titlepic = '" & Rs("Grouppic") & "' WHERE Userclass = '" & Minuserclass & "'")
End If
End If
Dvbbs.Execute("DELETE FROM Dv_Usergroups WHERE Usergroupid = " & Request("id"))
Response.Write "刪除成功!"
Set Rs = Nothing
End If
End Sub
sub per()
if not isnumeric(request("groupid")) then
response.write "錯(cuò)誤的參數(shù)!"
exit sub
end if
if request("groupaction")="yes" then
dim GroupSetting,groupid,newgroupsetting
GroupSetting=GetGroupPermission
if request("isdefault")=1 then
set rs=dvbbs.execute("select * from dv_usergroups where usergroupid="&request("groupid"))
If Rs("ParentGID")=0 Then
Dv_suc("您沒(méi)有選擇自定義等級(jí)選項(xiàng),所做修改將無(wú)效")
Exit Sub
End If
if rs("issetting")=1 then
groupid=rs("parentgid")
set rs=nothing
set rs=dvbbs.execute("select * from dv_usergroups where usergroupid="&groupid)
newgroupsetting=rs("groupsetting")
Set Rs=Nothing
dvbbs.execute("update dv_usergroups set issetting=0,groupsetting='"&newgroupsetting&"' where usergroupid="&request("regroupid"))
'取消自定義設(shè)置,更新用戶數(shù)據(jù),更新為用戶組ID
dvbbs.execute("update [dv_user] set usergroupid="&groupid&" where userclass='"&request("usertitle")&"'")
end if
else
dvbbs.execute("update dv_usergroups set issetting=1,groupsetting='"&GroupSetting&"' where usergroupid="&request("regroupid"))
'更新用戶數(shù)據(jù)
dvbbs.execute("update [dv_user] set usergroupid="&request("regroupid")&" where userclass='"&request("usertitle")&"'")
End If
ReloadGroup(request("regroupid"))
Dv_suc("修改等級(jí)自定義權(quán)限成功")
else
Dim reGroupSetting,founduserper,usergrade
If IsNumerIc(request("regroupid")) and request("regroupid")<>"" Then
Set Rs=Dvbbs.Execute("select * from dv_usergroups where usergroupid="&request("regroupid"))
usergrade=rs("usertitle")
End If
founduserper=false
set rs=Dvbbs.Execute("select * from dv_usergroups where usergroupid="&request("groupid"))
if rs.eof and rs.bof then
response.write "未找到用戶等級(jí)"
exit sub
end if
If Rs("UserGroupID")<9 Then
founduserper=false
Else
If Rs("IsSetting")=1 Then
founduserper=true
Else
founduserper=false
End If
End If
reGroupSetting=split(rs("GroupSetting"),",")
%>
<FORM METHOD=POST ACTION="?action=per">
<input type=hidden name="groupid" value="<%=request("groupid")%>">
<input type=hidden name="regroupid" value="<%=request("regroupid")%>">
<input type=hidden name="usertitle" value="<%=usergrade%>">
<table width="95%" border="0" cellspacing="1" cellpadding="3" align=center class="tableBorder">
<tr><td colspan=3 height=25 class="Forumrow"><B>說(shuō)明</B>:<BR>在這里您可以設(shè)置各個(gè)等級(jí)在論壇中的默認(rèn)權(quán)限,<font color=blue>默認(rèn)為使用該等級(jí)所屬用戶組權(quán)限,如果要讓該等級(jí)有自定義權(quán)限,則修改時(shí)請(qǐng)選擇自定義設(shè)置選項(xiàng)</font></td></tr>
<tr>
<th height="23" colspan="3" >編輯論壇用戶等級(jí)權(quán)限 >> <%=rs("usertitle")%><%if usergrade<>"" then Response.Write " >> "&usergrade&""%></th>
</tr>
<tr>
<td height="23" colspan="3" class=forumrow><input type=radio name="isdefault" value="1" <%if not founduserper then%>checked<%end if%>><B>使用用戶組默認(rèn)值</B> (注意: 這將刪除任何之前所做的自定義設(shè)置)</td>
</tr>
<tr>
<td height="23" colspan="3" class=forumrow><input type=radio name="isdefault" value="0" <%if founduserper then%>checked<%end if%>><B>使用自定義設(shè)置</B> (選擇自定義才能使以下設(shè)置生效) </td>
</tr>
<%
GroupPermission(rs("GroupSetting"))
%>
<input type=hidden value="yes" name="groupaction">
</FORM>
</table>
<%
set rs=nothing
end if
end sub
Function ReloadGroup(UserGroupID)
Dim Rs,SQL
SQL = "Select GroupSetting From [Dv_UserGroups] where UserGroupID = " & UserGroupID & ""
Set Rs = Dvbbs.Execute(SQL)
Dvbbs.Name="GroupSetting_"& UserGroupID
Dvbbs.value=Rs(0)
Set Rs = Nothing
End Function
%>
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -