📄 indivgroup.asp
字号:
End Sub
'保存圈子信息
Sub SaveGroup()
Dim GroupID,GroupName,AppUserID,AppUserName,GroupInfo,GroupStats,LimitUser,Locked,ViewFlag
Dim Rs,SQL,QueryStr
GroupID = Dvbbs.CheckNumeric(Request("GroupID"))
GroupName = Dvbbs.Checkstr(trim(Request("GroupName")))
AppUserName = Dvbbs.Checkstr(trim(Request("AppUserName")))
GroupInfo = Dvbbs.Checkstr(Request("GroupInfo"))
GroupStats = Dvbbs.CheckNumeric(Request("GroupStats"))
LimitUser = Dvbbs.CheckNumeric(Request("LimitUser"))
Locked = Dvbbs.CheckNumeric(Request("Locked"))
ViewFlag = Dvbbs.CheckNumeric(Request("ViewFlag"))
Errmsg = ""
If GroupID=0 Then
If GroupName = "" Then Errmsg=ErrMsg + "<BR><li>名称不能为空。"
If AppUserName = "" Then Errmsg=ErrMsg + "<BR><li>圈子管理员不能为空。"
QueryStr = ""
Else
QueryStr = "And ID<>"&GroupID
End If
If GroupName<>"" Then
Set Rs=Dv_IndivGroup_Conn.Execute("Select * From Dv_GroupName Where GroupName='"&GroupName&"' "&QueryStr&" Order By ID Desc")
If Not Rs.Eof Then Errmsg=ErrMsg + "<BR><li>该圈子名称已经被申请,请填写其他圈子名称。"
Rs.Close:Set Rs=Nothing
End If
If AppUserName<>"" Then
Set Rs=Dv_IndivGroup_Conn.Execute("Select * From Dv_GroupName Where AppUserName='"&AppUserName&"' "&QueryStr&" Order By ID Desc")
If Not Rs.Eof Then Errmsg=ErrMsg + "<BR><li>这个用户已经申请有圈子了,一个用户只能申请一个圈子。"
Rs.Close:Set Rs=Nothing
Set Rs=Dv_IndivGroup_Conn.Execute("Select UserID,UserGroupID From Dv_user Where UserName='"&AppUserName&"'")
If Not Rs.Eof Then
If Rs(1)<>5 Then
AppUserID = Rs(0)
Else
Errmsg=ErrMsg + "<BR><li>用户 "&AppUserName&" 是等待验证的(COPPA)会员,不能作为圈子管理员。"
End If
Else
Errmsg=ErrMsg + "<BR><li>用户 "&AppUserName&" 还没有注册,不能作为圈子管理员。"
End If
Rs.Close:Set Rs=Nothing
End If
If Errmsg<>"" Then
dvbbs_error()
Exit sub
End If
If GroupID=0 Then
If LimitUser=0 Then LimitUser = 50
If GroupStats>0 Then
Dv_IndivGroup_Conn.Execute("Insert Into Dv_GroupName(GroupName,GroupInfo,AppUserID,AppUserName,UserNum,Stats,LimitUser,AppDate,PassDate,Locked,ViewFlag) Values('"&GroupName&"','"&GroupInfo&"',"&AppUserID&",'"&AppUserName&"',1,"&GroupStats&","&LimitUser&","&SqlNowString&","&SqlNowString&","&Locked&","&ViewFlag&")")
Set Rs=Dv_IndivGroup_Conn.Execute("Select ID,AppUserID,AppUserName From Dv_GroupName Where GroupName='"&GroupName&"' Order By ID Desc")
If Not Rs.Eof Then Dv_IndivGroup_Conn.Execute("Insert Into Dv_GroupUser(GroupID,UserID,UserName,IsLock) Values("&Rs(0)&","&Rs(1)&",'"&Rs(2)&"',2)")
Rs.Close:Set Rs=Nothing
Else
Dv_IndivGroup_Conn.Execute("Insert Into Dv_GroupName (GroupName,GroupInfo,AppUserID,AppUserName,UserNum,Stats,LimitUser,AppDate,PassDate,Locked,ViewFlag) Values ('"&GroupName&"','"&GroupInfo&"',"&AppUserID&",'"&AppUserName&"',1,"&GroupStats&","&LimitUser&","&SqlNowString&","&SqlNowString&","&Locked&","&ViewFlag&")")
End If
Dv_suc("<b>添加成功!</b>")
Else
Set Rs=Server.CreateObject("ADODB.RecordSet")
SQL = "Select * From Dv_GroupName Where ID="&GroupID
Rs.Open SQL,Dv_IndivGroup_Conn,1,3
If Not Rs.Eof Then
If GroupName<>"" Then Rs("GroupName")=GroupName
If AppUserName<>"" Then Rs("AppUserName")=AppUserName
If GroupInfo<>"" Then Rs("GroupInfo")=GroupInfo
If LimitUser>0 Then Rs("LimitUser")=LimitUser
If Not IsDate(Rs("PassDate")) Then Rs("PassDate")=Now()
Rs("Stats")=GroupStats
Rs("Locked")=Locked
Rs("ViewFlag")=ViewFlag
Rs.Update
End If
Rs.Close:Set Rs=Nothing
Dv_suc("<b>修改成功!</b>")
End if
End Sub
'删除圈子
Sub Del()
Dim Rs,SQL,GroupID,GroupUserIDStr
GroupID = Dvbbs.CheckNumeric(Request("groupid"))
If GroupID>0 Then
Set Rs=Dv_IndivGroup_Conn.Execute("Select * From Dv_Group_Board Where RootID="&GroupID)
If Not Rs.Eof Then Errmsg=ErrMsg + "<BR><li>该圈子有栏目存在,不能删除,请到前台将所有栏目删除后在进行此操作。"
Else
Errmsg=ErrMsg + "<BR><li>圈子ID错误,请确认是否外部提交。"
End If
If Errmsg<>"" Then
dvbbs_error()
Exit sub
End If
GroupUserIDStr = ""
Set Rs=Dv_IndivGroup_Conn.Execute("Select UserID From Dv_GroupUser Where GroupID="&GroupID)
Do While Not Rs.Eof
If GroupUserIDStr="" Then
GroupUserIDStr = Rs(0)
Else
GroupUserIDStr = GroupUserIDStr&","&Rs(0)
End If
Rs.MoveNext
Loop
Rs.Close
If GroupUserIDStr <> "" Then
Set Rs = Dvbbs.Execute("Select UserID,UserGroup From Dv_User Where UserID In ("&GroupUserIDStr&")")
Do While Not Rs.Eof
Dvbbs.Execute("Update Dv_User Set UserGroup='"&Replace(Rs(1),","&GroupID&",",",")&"' Where UserID="&Rs(0))
Rs.MoveNext
Loop
Rs.Close:Set Rs=Nothing
'Dvbbs.Execute("Update Dv_User Set UserGroup=Replace(UserGroup,',"&GroupID&",',',') Where UserID In ("&GroupUserIDStr&")")
End If
Dv_IndivGroup_Conn.Execute("Delete From Dv_GroupUser Where GroupID="&GroupID)
Dv_IndivGroup_Conn.Execute("Delete From Dv_GroupName Where ID="&GroupID)
Dv_suc("<b>删除成功!</b>")
End Sub
'圈子用户列表
Sub GroupUserList()
'获取圈子属性
Dim Groupid,GroupName
Dim Rs,SQL,keyword,QuerySty
GroupID = Dvbbs.CheckNumeric(Request("groupid"))
keyword = Dvbbs.Checkstr(trim(Request("keyword")))
GroupName = Dvbbs.Checkstr(trim(Request("GroupName")))
SQL="":QuerySty=""
PageSearch = "action=groupuserlist"
If keyword="" And GroupName="" Then
If GroupID>0 Then
PageSearch = PageSearch & "&groupid="&GroupID
QuerySty = "Where GroupID="&GroupID
Set Rs=Dv_IndivGroup_Conn.Execute("Select GroupName From Dv_GroupName Where ID="&GroupID)
If Not Rs.Eof Then GroupName=Rs(0) Else GroupName="未知"
Rs.Close:Set Rs=Nothing
End If
Else
If GroupName<>"" Then
PageSearch = PageSearch & "&GroupName="&GroupName
Set Rs=Dv_IndivGroup_Conn.Execute("Select ID From Dv_GroupName Where GroupName='"&GroupName&"'")
If Not Rs.Eof Then
QuerySty="Where GroupID="&Rs(0)
Else
QuerySty="Where GroupID=0"
End if
Rs.Close:Set Rs=Nothing
If keyword<>"" Then
PageSearch = PageSearch & "&keyword="&keyword
QuerySty=QuerySty&" And UserName like '%"&keyword&"%'"
End if
Else
PageSearch = PageSearch & "&keyword="&keyword
QuerySty="Where UserName like '%"&keyword&"%'"
End If
End If
SQL = "Select ID,GroupID,UserID,UserName,Islock,Intro From Dv_GroupUser "&QuerySty&" Order By ID Desc"
'Dv_GroupUser
'islock
'0=正常,1=审核,2=管理
Dim Page,MaxRows,Endpage,CountNum,PageSearch,SqlString,i
Endpage=0:MaxRows=20:CountNum=0
Page = Dvbbs.CheckNumeric(Request("Page"))
If Page=0 Then Page=1
%>
<br/>
<table width="100%" border="0" cellspacing="1" cellpadding="3" align="center">
<tr>
<th style="text-align:center;" colspan="4"><b>圈子成员搜索</b></th>
</tr>
<form method="post" action="indivGroup.asp?action=groupuserlist" name="searchform">
<tr>
<td class=td1>
成员名称搜索关键字:<input name="keyword" type="text" value="<%=keyword%>" size="15" />
所属圈子名称:<input name="GroupName" type="text" value="<%=GroupName%>" size="15" />
<input name="Submit" type="submit" class="button" value="搜索" />
</td>
</tr>
</form>
</table>
<br />
<table width="100%" border="0" cellspacing="1" cellpadding="3" align="center">
<form name="theform" method="post" action="indivGroup.asp?action=manage">
<tr>
<th style="text-align:center;width:3%"> </th>
<th style="text-align:center;">用户名称</th>
<th style="text-align:center;">用户备注</th>
<th style="text-align:center;">所属圈子名称</th>
<th style="text-align:center;">用户状态</th>
<th style="text-align:center;">操作</th>
</tr>
<%
Set Rs = Server.CreateObject ("adodb.recordset")
Rs.Open SQL,Dv_IndivGroup_Conn,1,1
If Not Rs.eof Then
CountNum = Rs.RecordCount
If CountNum Mod MaxRows=0 Then
Endpage = CountNum \ MaxRows
Else
Endpage = CountNum \ MaxRows+1
End If
Rs.MoveFirst
If Page > Endpage Then Page = Endpage
If Page < 1 Then Page = 1
If Page >1 Then Rs.Move (Page-1) * MaxRows
SQL=Rs.GetRows(MaxRows)
Rs.close:Set Rs = Nothing
'ID=0,GroupID=1,UserID=2,UserName=3,Islock=4,Intro=5
For i=0 To Ubound(SQL,2)
%>
<tr>
<td class="td1"><input type="checkbox" class="checkbox" name="lid" value="<%=Sql(0,i)%>"></td>
<td class="td1"><a href="../Dispuser.asp?id=<%=SQL(2,i)%>" target="_blank"><%=SQL(3,i)%></a></td>
<td class="td1"><%=SQL(5,i)%> </td>
<%
If GroupID=0 Then
Set Rs=Dv_IndivGroup_Conn.Execute("Select GroupName From Dv_GroupName Where ID="&SQL(1,i))
If Not Rs.Eof Then GroupName=Rs(0) Else GroupName="未知"
Rs.Close:Set Rs=Nothing
End If
%>
<td class="td1"><%=GroupName%></td>
<td class="td1" align="center">
<select name="userstats_<%=Sql(0,i)%>">
<option value="0">审核</option>
<option value="1">正常</option>
<option value="2">管理员</option>
</select>
</td>
<SCRIPT LANGUAGE="JavaScript">ChkSelected(document.theform.userstats_<%=Sql(0,i)%>,'<%=Sql(4,i)%>');</SCRIPT>
<td class="td1" align="center">
<a href="indivGroup.asp?action=useraddedit&groupid=<%=SQL(1,i)%>&groupuserid=<%=SQL(0,i)%>">修改</a> |
<a href="indivGroup.asp?action=manage&act=del&groupid=<%=SQL(1,i)%>&groupuserid=<%=SQL(0,i)%>">删除</a>
</td>
</tr>
<% Next %>
<tr>
<td class="td2" colspan="6">
请选择用户,<input type="checkbox" class="checkbox" name="chkall" value="on" onclick="CheckAll(this.form)">全选
<input type="submit" class="button" name="act" value="批量删除" onclick="{if(confirm('您确定要删除所选的全部圈子成员吗?')){this.document.theform.submit();return true;}return false;}">
<input type="submit" class="button" name="act" value="批量更改" onclick="{if(confirm('您确定要更改所选的记录吗?')){this.document.theform.submit();return true;}return false;}">
</td>
</tr>
<%
Else
Rs.close:Set Rs = Nothing
Response.write "<tr><td class=""td1"" colspan=""6"" align=""center"">没有搜索到任何用户数据!</td></tr>"
End If
%>
<tr><td class="td1" colspan="6"><SCRIPT language="javascript">PageList('<%=Page%>',10,'<%=MaxRows%>','<%=CountNum%>','<%=PageSearch%>',1);</SCRIPT> </td></tr>
</form>
</table>
<%
End Sub
Sub UserManage()
'圈子用户管理
Dim Rs,SQL,i,GroupID,GroupUserID,UserStats
'Response.write Request.ServerVariables("QUERY_STRING")
'Response.end
If LCase(Request("act"))="del" Then
GroupID = Dvbbs.CheckNumeric(Request("GroupID"))
GroupUserID = Dvbbs.CheckNumeric(Request("GroupUserID"))
Set Rs=Dv_IndivGroup_Conn.Execute("Select GroupID,UserID From Dv_GroupUser Where ID="&GroupUserID)
If Not Rs.Eof Then Updategroupname Rs(1),GroupID,0
Dv_IndivGroup_Conn.Execute("Delete From Dv_GroupUser Where ID="&GroupUserID)
Else
If Request.Form("lid")="" Then
Errmsg=ErrMsg + "请指定相关用户。"
dvbbs_error()
Exit Sub
Else
GroupUserID=Replace(Request.Form("lid"),"'","")
GroupUserID=Replace(GroupUserID,";","")
GroupUserID=Replace(GroupUserID,"--","")
GroupUserID=Replace(GroupUserID,")","")
End If
If Request("act")="批量删除" Then
SQL = "Select GroupID,UserID From Dv_GroupUser Where ID In ("&GroupUserID&")"
Set Rs = Dv_IndivGroup_Conn.Execute(SQL)
If Not Rs.Eof Then
SQL = Rs.GetRows(-1)
For i=0 to Ubound(Sql,2)
Updategroupname SQL(1,i),SQL(0,i),0
Next
Dv_IndivGroup_Conn.Execute("Delete From Dv_GroupUser Where ID In ("&GroupUserID&")")
End If
Rs.Close:Set Rs=nothing
ElseIf Request("act")="批量更改" Then
SQL = "Select id,GroupID,UserID,UserName,IsLock From Dv_GroupUser Where ID In ("&GroupUserID&")"
Set Rs=Server.CreateObject("Adodb.RecordSet")
Rs.Open SQL,Dv_IndivGroup_Conn,1,3
Do While Not Rs.Eof
UserStats = Dvbbs.CheckStr(Request.Form("userstats_"&Rs(0)))
If UserStats<>Rs(4) Then
If UserStats=0 Then Updategroupname Rs(2),Rs(1),0
If Rs(4)=0 Then Updategroupname Rs(2),0,Rs(1)
Rs(4) = Dvbbs.CheckStr(Request.Form("userstats_"&Rs(0)))
Rs.Update
End If
Rs.Movenext
Loop
Rs.Close:Set Rs=Nothing
End If
End If
Dv_suc(Request("act")&"<b>成功执行!</b>")
End Sub
'旧ID移走减1 新ID移进加1
Sub Updategroupname(UserID,old_gid,new_id)
Dim Rs,SQL,UserGroup
If old_gid>0 Then Dv_IndivGroup_Conn.Execute("Update Dv_GroupName Set UserNum=UserNum-1 Where ID="&old_gid&"")
If new_id>0 Then
Set Rs=Dv_IndivGroup_Conn.Execute("Select UserNum,limituser From Dv_GroupName Where ID="&new_id&"")
If Not Rs.Eof Then
SQL = "UserNum="&Rs(0)+1
If Rs(1)=Rs(0)+1 Then SQL = SQL & ",IsLock=2"
Dv_IndivGroup_Conn.Execute("Update Dv_GroupName Set "&SQL&" Where ID="&new_id&"")
End If
Rs.Close:Set Rs = Nothing
End If
'圈子成员更换、加入、删除
Set Rs=Dv_IndivGroup_Conn.Execute("Select UserGroup From Dv_user Where UserID="&UserID)
If Not Rs.Eof Then UserGroup = Rs(0)
If InStr(UserGroup,",")=0 Or IsNull(InStr(UserGroup,",")) Then UserGroup=","
If old_gid>0 and new_id>0 Then
UserGroup = Replace(UserGroup,","&old_gid&",",",")
UserGroup = UserGroup & new_id&","
Dv_IndivGroup_Conn.Execute("Update Dv_user Set UserGroup = '"&UserGroup&"' Where UserID="&UserID)
Else
If new_id>0 Then
UserGroup = UserGroup & new_id&","
Dv_IndivGroup_Conn.Execute("Update Dv_user Set UserGroup = '"&UserGroup&"' Where UserID="&UserID)
Else
UserGroup = Replace(UserGroup,","&old_gid&",",",")
Dv_IndivGroup_Conn.Execute("Update Dv_user Set UserGroup = '"&UserGroup&"' Where UserID="&UserID)
End If
End If
End Sub
'圈子状态
Function GroupStatsStr(Sid)
Select Case Sid
Case 1 : GroupStatsStr = "正常"
Case 2 : GroupStatsStr = "锁定"
Case 3 : GroupStatsStr = "关闭"
Case 0 : GroupStatsStr = "审核"
Case Else : GroupStatsStr = "未知"
End Select
End Function
'圈子用户状态
Function GroupUserStats(Sid)
Select Case Sid
Case 1 : GroupUserStats = "正常"
Case 2 : GroupUserStats = "管理员"
Case 0 : GroupUserStats = "审核"
Case Else : GroupUserStats = "未知"
End Select
End Function
%>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -