%
Head()
Dim admin_flag
admin_flag=",15,"
If Not Dvbbs.master Or InStr(","&session("flag")&",",admin_flag)=0 Then
Errmsg=ErrMsg + "
本页面为管理员专用,请登录后进入。
您没有管理本页面的权限。"
dvbbs_error()
Else
Main()
Footer()
End If
Sub Main()
Select Case Request("action")
Case "editgroup"
EditGroup()
LoadGroupSetting()
Case "saveusergroup"
SaveUserGroup()
LoadGroupSetting()
Case "savesysgroup"
SaveSysGroup()
LoadGroupSetting()
Case "delusergroup"
DelUserGroup()
LoadGroupSetting()
Case "online"
GroupOnline()
Case "saveonline"
SaveGroupOnline()
LoadGroupSetting()
Case Else
UserGroup()
End Select
End Sub
Sub UserGroup()
%>
| 操作提示 |
|
动网论坛用户组分为系统用户组、特殊用户组、注册用户组、多属性用户组四种类型
系统用户组为内置固定用户组,不能添加,供论坛管理之用,不能随意更改,如删除则会引起论坛运行异常
特殊用户组不随用户等级升降而变更,通常建立来分配给一些对论坛有特殊贡献或操作的人员
多属性用户组不随用户等级升降而变更,该组用户可设置享有多个不同用户组的权限,通常建立来分配给一些对论坛有特殊贡献或操作的人员
注册用户组即为传统的用户等级,每个组(等级)可设定不同的权限
默认权限为添加新的用户组时使用其中一些定义好的权限设置,通常新添加用户组后都要再次定义其权限
|
|
快捷操作:系统组 | 特殊组 | 多属性组
| Vip用户组管理
| 编辑默认组资料 | 在线图例定制
|
| 注册用户组(等级)管理 |
|
小提示:点击权限您可以分别设定每个注册用户组(等级)分别拥有不同的论坛权限
|
| 组ID |
用户组(等级)名称 |
最少发贴 |
组(等级)图片 |
用户数 |
操作 |
| 系统用户组管理 |
|
小提示:点击权限您可以分别设定每个系统用户组分别拥有不同的论坛权限,系统组头衔和图标显示在前台用户信息中
|
| 组ID |
系统组头衔 |
系统中名称 |
系统组图标 |
用户数 |
操作 |
| 特殊用户组管理 |
|
小提示:点击权限您可以分别设定每个特殊用户组分别拥有不同的论坛权限,通常建立来分配给论坛上比较特殊的用户群体,特殊组头衔和图标显示在前台用户信息中
|
| 组ID |
特殊组头衔 |
系统中名称 |
特殊组图片 |
用户数 |
操作 |
| 多属性用户组管理 |
小提示:点击权限您可以分别设定每个多属性用户组的默认论坛权限,通常建立来分配给论坛上比较特殊的用户群体,多属性组头衔和图标显示在前台用户信息中,多属性用户组的用户可同时拥有多个用户组的权限。 包含组ID请慎重填写,组ID的获取可参考上面的各个组列表,内容用竖线分隔(如:2|8),如果发现不能更新,请仔细检查所填写组ID是否正确
|
| 组ID |
多属性组头衔 |
系统中名称 |
包含组ID |
多属性组图片 |
用户数 |
操作 |
<%
Dim FoundVipGroup
FoundVipGroup = False
%>
| Vip用户组管理 |
|
小提示:VIP用户将有权限限期控制,当该用户的使用权限过期,系统将会自动将会员转到默认注册组。
|
| 组ID |
特殊组头衔 |
系统中名称 |
特殊组图片 |
用户数 |
操作 |
<%
End Sub
'保存注册用户组(等级)批量更改信息
Sub SaveUserGroup()
Server.ScriptTimeout=99999999
Dim UserTitleID,UserTitle,MinArticle,TitlePic
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),"'","")
If IsNumeric(UserTitleID) And UserTitle<>"" And IsNumeric(MinArticle) And TitlePic<>"" Then
Set Rs=Dvbbs.Execute("Select * From Dv_UserGroups Where ParentGID=3 And UserGroupID="&UserTitleID)
If Not (Rs.Eof And Rs.Bof) Then
If Rs("UserTitle")<>Trim(UserTitle) Or Rs("GroupPic")<>Trim(TitlePic) Then
Dvbbs.Execute("Update [Dv_User] Set UserClass='"&UserTitle&"',TitlePic='"&TitlePic&"' Where UserGroupID="&UserTitleID)
End If
Dvbbs.Execute("Update Dv_UserGroups Set UserTitle='"&UserTitle&"',MinArticle="&MinArticle&",GroupPic='"&TitlePic&"' Where UserGroupID="&UserTitleID)
End If
'新加入用户组(等级)
If Clng(UserTitleID) = 0 Then
Set Rs=Dvbbs.Execute("Select * From Dv_UserGroups Where UserGroupID=4")
Dvbbs.Execute("Insert Into Dv_UserGroups (Title,UserTitle,GroupSetting,Orders,MinArticle,TitlePic,GroupPic,ParentGID) Values ('"&Rs("Title")&"','"&UserTitle&"','"&Rs("GroupSetting")&"',0,"&MinArticle&",'"&Rs("TitlePic")&"','"&TitlePic&"',3)")
End If
End If
Next
Dv_suc("批量更新用户组(等级)资料成功!")
Set Rs=Nothing
LoadGroupSetting
End Sub
'保存系统、特殊、多属性用户组批量更改信息
Sub SaveSysGroup()
Server.ScriptTimeout=99999999
Dim UserTitleID,UserTitle,TitlePic,ParentID,Title,IsSetting,FoundIsSetting,mIsSetting,GroupIDList,k
SQL = "Select UserGroupID From Dv_UserGroups"
Set Rs = Dvbbs.Execute(SQL)
GroupIDList = Rs.GetString(,, "", ",", "")
Rs.close
Set Rs = Nothing
GroupIDList = "," & GroupIDList
GroupIDList = Replace(GroupIDList,",","|")
ParentID = Request.Form("ParentID")
If Not IsNumeric(ParentID) Or ParentID="" Then
Errmsg = ErrMsg + "
非法的用户组参数。"
Dvbbs_Error()
Exit Sub
End If
ParentID = Cint(ParentID)
FoundIsSetting = True
For i=1 To Request.Form("usertitleid").Count
UserTitleID=Replace(Request.Form("usertitleid")(i),"'","")
UserTitle=Replace(Request.Form("usertitle")(i),"'","")
Title=Replace(Request.Form("title")(i),"'","")
TitlePic=Replace(Request.Form("titlepic")(i),"'","")
IsSetting=Replace(Request.Form("issetting")(i),"'","")
If IsNumeric(UserTitleID) And UserTitle<>"" And TitlePic<>"" Then
Set Rs=Dvbbs.Execute("Select * From Dv_UserGroups Where ParentGID="&ParentID&" And UserGroupID="&UserTitleID)
If Not (Rs.Eof And Rs.Bof) Then
If Rs("UserTitle")<>Trim(UserTitle) Or Rs("GroupPic")<>Trim(TitlePic) Then
Dvbbs.Execute("Update [Dv_User] Set UserClass='"&UserTitle&"',TitlePic='"&TitlePic&"' Where UserGroupID="&UserTitleID)
End If
End If
If ParentID = 4 And Trim(IsSetting)<>"" Then
mIsSetting = Split(IsSetting,"|")
For k = 0 To Ubound(mIsSetting)
'多属性用户组,填写的UserGroupID不存在则不更新
If InStr(GroupIDList,"|" & mIsSetting(k) & "|") = 0 Then
FoundIsSetting = False
Exit For
End If
Next
If FoundIsSetting Then
Dvbbs.Execute("Update Dv_UserGroups Set Title='"&Title&"',UserTitle='"&UserTitle&"',GroupPic='"&TitlePic&"',IsSetting='"&IsSetting&"' Where UserGroupID="&UserTitleID)
'新加入用户组
If Clng(UserTitleID) = 0 Then
Set Rs=Dvbbs.Execute("Select * From Dv_UserGroups Where UserGroupID=4")
Dvbbs.Execute("Insert Into Dv_UserGroups (Title,UserTitle,GroupSetting,Orders,MinArticle,TitlePic,GroupPic,ParentGID,IsSetting) Values ('"&Title&"','"&UserTitle&"','"&Rs("GroupSetting")&"',0,0,'"&Rs("TitlePic")&"','"&TitlePic&"',"&ParentID&",'"&IsSetting&"')")
End If
Else
Dvbbs.Execute("Update Dv_UserGroups Set Title='"&Title&"',UserTitle='"&UserTitle&"',GroupPic='"&TitlePic&"' Where UserGroupID="&UserTitleID)
End If
FoundIsSetting = True
Else
Dvbbs.Execute("Update Dv_UserGroups Set Title='"&Title&"',UserTitle='"&UserTitle&"',GroupPic='"&TitlePic&"' Where UserGroupID="&UserTitleID)
'新加入用户组
If Clng(UserTitleID) = 0 Then
Dim tGroupSetting '修正下标越界,轻飘飘
Set Rs=Dvbbs.Execute("Select * From Dv_UserGroups Where UserGroupID=4")
tGroupSetting=Rs("GroupSetting")
tGroupSetting=Split(tGroupSetting,",")
tGroupSetting(71)="0§0§0§0"
tGroupSetting=Join(tGroupSetting,",")
Dvbbs.Execute("Insert Into Dv_UserGroups (Title,UserTitle,GroupSetting,Orders,MinArticle,TitlePic,GroupPic,ParentGID) Values ('"&Title&"','"&UserTitle&"','"&Rs("GroupSetting")&"',0,0,'"&Rs("TitlePic")&"','"&TitlePic&"',"&ParentID&")")
End If
End If
End If
Next
Show_Index_GetGroupTitle()
GetGroupTitlePic()
iGroupSetting_UserName()
Dv_suc("批量用户组资料成功!")
Set Rs=Nothing
End Sub
'删除注册用户组(等级)信息
Sub DelUserGroup()
Dim UserTitleID,tRs
UserTitleID = Request("id")
If Not IsNumeric(UserTitleID) Or UserTitleID = "" Then
Errmsg = ErrMsg + "
请指定要删除的用户组(等级)。"
Dvbbs_Error()
Exit Sub
End If
UserTitleID = Clng(UserTitleID)
'检测用户组是否存在以及取得临近用户组的信息
'如果用户组为特殊、多属性组,则更新其用户信息为最低等级,用户登陆后会自动重新更新
Set Rs=Dvbbs.Execute("Select * From Dv_UserGroups Where (Not ParentGID=1) And UserGroupID = " & UserTitleID)
If Rs.Eof And Rs.Bof Then
Errmsg = ErrMsg + "
指定要删除的用户组(等级)不存在。"
Dvbbs_Error()
Exit Sub
ElseIf Not Rs("UserGroupID") = 8 And Rs("ParentGID") = 2 Then
'删除特殊用户组(等级)之判断 2005-4-9 Dv.Yz
Set tRs = Dvbbs.Execute("SELECT TOP 1 * FROM Dv_UserGroups WHERE ParentGID = 3 ORDER BY MinArticle Desc")
If tRs.Eof And tRs.Bof Then
Errmsg = ErrMsg + "
注册用户组(等级)为空,不能删除,请先添加至少一个注册用户组(等级)。"
Dvbbs_Error()
Exit Sub
Else
Dvbbs.Execute("UPDATE Dv_User SET UserClass = '" & tRs("UserTitle") & "', TitlePic = '" & tRs("GroupPic") & "', UserGroupID = " & tRs("UserGroupID") & " WHERE UserGroupID = " & UserTitleID)
Dvbbs.Execute("DELETE FROM Dv_UserGroups WHERE UserGroupID = " & UserTitleID)
End If
Else
Set tRs=Dvbbs.Execute("Select Top 1 * From Dv_UserGroups Where ParentGID=3 And (Not UserGroupID="&UserTitleID&") And MinArticle<="&Rs("MinArticle")&" Order By MinArticle Desc")
If tRs.Eof And tRs.Bof Then
Errmsg = ErrMsg + "
该用户组(等级)为最后一个注册用户组,不能删除。"
Dvbbs_Error()
Exit Sub
Else
Dvbbs.Execute("Update Dv_User Set UserClass='"&tRs("UserTitle")&"',TitlePic='"&tRs("GroupPic")&"',UserGroupID="&tRs("UserGroupID")&" Where UserGroupID="&UserTitleID)
Dvbbs.Execute("Delete From Dv_UserGroups Where UserGroupID = " & UserTitleID)
End If
Set tRs=Nothing
End If
Show_Index_GetGroupTitle()
GetGroupTitlePic()
iGroupSetting_UserName()
Dv_suc("用户组(等级)资料删除成功!")
Set Rs=Nothing
End Sub
Sub EditGroup()
If Not IsNumeric(Replace(Request("groupid"),",","")) Then
Errmsg = ErrMsg + "
请选择对应的用户组。"
Dvbbs_Error()
Exit Sub
End If
If Request("groupaction")="yes" Then
Dim GroupSetting,SaveGroupid
Dim UpdateStr,OldStr,NewStr,k
If Request.Form("title")="" Then
Errmsg = ErrMsg + "
请输入用户组名称!"
Dvbbs_Error()
Exit Sub
End If
SaveGroupid = Dvbbs.Checkstr(Request.Form("groupid"))
GroupSetting=GetGroupPermission
UpdateStr = ""
Set Rs = Server.CreateObject("ADODB.Recordset")
Sql="Select UserTitle,GroupPic,GroupSetting From Dv_UserGroups Where UserGroupID in ("&SaveGroupid&") "
Rs.Open Sql,Conn,1,3
Do While Not Rs.Eof
If Instr(SaveGroupid,",")=0 Then
Rs("UserTitle") = Request.Form("title")
Rs("GroupPic") = Request.Form("grouppic")
Rs("GroupSetting") = GroupSetting
'Response.Write GroupSetting
Else
NewStr = Split(GroupSetting,",")
OldStr = Split(Rs("GroupSetting"),",")
For K = 0 To 90
If Request.Form("CheckGroupSetting("&K&")")="on" Then
UpdateStr = UpdateStr & NewStr(k)
Else
UpdateStr = UpdateStr & OldStr(k)
End If
If K<90 Then
UpdateStr = UpdateStr & ","
End If
Next
If Request.Form("CheckGroupPic")="on" Then
Rs("GroupPic") = Request.Form("grouppic")
End If
Rs("GroupSetting") = UpdateStr
UpdateStr = ""
End If
'Rs("isdisp")=Request("isdisp")
Rs.update
Rs.MoveNext
Loop
Rs.close
Set Rs=Nothing
Dv_suc("用户组(等级)资料修改成功!")
Show_Index_GetGroupTitle()
GetGroupTitlePic()
iGroupSetting_UserName()
LoadGroupSetting
Else
Dim reGroupSetting
Set Rs=Dvbbs.Execute("Select * From Dv_Usergroups Where UserGroupID="&Request("groupid"))
If Rs.Eof And Rs.Bof Then
Errmsg = ErrMsg + "
未找到该用户组!"
Dvbbs_Error()
Exit Sub
End If
reGroupSetting=Split(Rs("GroupSetting"),",")
%>