<%'Include Data Connection%> <%'Include ADO constants include file for VBScript%> <% 'open data connection Call OpenConn() %> <%'Include Utility Scripts%> <% Function GetGroupNames(strGroupList) Dim objRs Set objRs = Server.CreateObject("ADODB.recordset") Dim strSQL strSQL = "SELECT GROUP_NAME FROM GROUPS " & _ " WHERE GROUP_ID IN (" & Replace(strGroupList, "|", ",") & ") " 'TEST ' RESPONSE.WRITE STRsql objRs.Open strSQL, conn Set GetGroupNames = objRs Set objRs = Nothing End Function Function GetGroupNamesHTML(strGroupList) Dim rsGroupNames : Set rsGroupNames = GetGroupNames(strGroupList) If rsGroupNames.EOF = False Then Do Until rsGroupNames.EOF Response.Write rsGroupNames("GROUP_NAME") & "
" rsGroupNames.MoveNext Loop End If End Function Function GetAllGroups() 'On Error Resume Next dim cmd Dim rs, arr set cmd = Server.CreateObject("ADODB.Command") set cmd.ActiveConnection = conn cmd.CommandText = "SP_GET_ALL_GROUPS" cmd.CommandType = adCmdStoredProc Set rs = cmd.execute If rs.EOF = False Then arr = rs.GetRows(,,Array("GROUP_ID", "GROUP_NAME")) ',,Array("WEB_SITE_ID", "WEB_SITE_NAME_" & strLangId)) rs.Close Else arr = Null End If Set rs = Nothing GetAllGroups = arr Set arr = Nothing 'if an error has occured report it If err.number <> 0 Then Call ReportError("GetAllGroups", err.number, err.description) End If 'release cmd object from memory set cmd = nothing On Error Goto 0 End Function Sub WriteGenericOptionList(arrArray, intValueIndex, intTextIndex, intTextIndex2_Optional, strTextSpacer, varSelected) 'On Error Resume Next Dim intX1, strText If IsArray(arrArray) Then For intX1 = 0 To UBound(arrArray,2) If IsNull(intTextIndex2_Optional) Then strText = arrArray(intTextIndex, intX1) Else strText = arrArray(intTextIndex, intX1) & strTextSpacer & arrArray(intTextIndex2_Optional, intX1) End If Response.Write "" Next End If If err.number <> 0 Then Call ReportError("WriteGenericOptionList", err.number, err.description) End If End Sub Sub MergeGroup(strMoveGroupInList, intMainGroupId) ' Dim strSQL1 : strSQL1 = "DELETE IDX_GROUP_LOOKUP WHERE GROUPLOOKUP_SUBSCRIBER_ID IN (SELECT GROUPLOOKUP_SUBSCRIBER_ID FROM IDX_GROUP_LOOKUP WHERE GROUPLOOKUP_GROUP_ID = " & intMainGroupId & ") AND GROUPLOOKUP_GROUP_ID IN (" & strMoveGroupInList & ")" ' Dim strSQL2 : strSQL2 = "UPDATE IDX_GROUP_LOOKUP SET GROUPLOOKUP_GROUP_ID = " & intMainGroupId & " WHERE GROUPLOOKUP_GROUP_ID IN (" & strMoveGroupInList & ")" Dim strSQL1 : strSQL1 = "INSERT INTO IDX_GROUP_LOOKUP (GROUPLOOKUP_SUBSCRIBER_ID, GROUPLOOKUP_GROUP_ID) SELECT DISTINCT GROUPLOOKUP_SUBSCRIBER_ID, " & intMainGroupId & " FROM IDX_GROUP_LOOKUP WHERE (GROUPLOOKUP_GROUP_ID IN (" & strMoveGroupInList & ") OR GROUPLOOKUP_GROUP_ID IN (SELECT GROUP_ID FROM GROUPS WHERE GROUP_PARENT_ID IN (" & strMoveGroupInList & ")) ) " & _ " AND GROUPLOOKUP_SUBSCRIBER_ID NOT IN(SELECT GROUPLOOKUP_SUBSCRIBER_ID FROM IDX_GROUP_LOOKUP WHERE GROUPLOOKUP_GROUP_ID = " & intMainGroupId & ")" Dim strSQL2 : strSQL2 = "DELETE IDX_GROUP_LOOKUP WHERE GROUPLOOKUP_GROUP_ID <> " & intMainGroupId & " AND (GROUPLOOKUP_GROUP_ID IN (" & strMoveGroupInList & ") OR GROUPLOOKUP_GROUP_ID IN (SELECT GROUP_ID FROM GROUPS WHERE GROUP_PARENT_ID IN (" & strMoveGroupInList & ")) )" 'test response.write strSQL1 response.write "
" response.Write strSQL2 conn.Execute(strSQL1) conn.Execute(strSQL2) End Sub Function CIntNumber(strString, strReturnValueIfNotNumeric) If strString <> "" And IsNumeric(strString) Then CIntNumber = CLng(strString) Else CIntNumber = strReturnValueIfNotNumeric End If End Function Dim strGroupList : strGroupList = Request.Form("chkRecord") If Request.Form("txtMerge") = "1" Then Dim intMainGroupId : intMainGroupId = CIntNumber(Request.Form("selMainGroup"), 0) If intMainGroupId > 0 Then Call MergeGroup(strGroupList, intMainGroupId) End If Session("FeedbackMode") = "merge" Session("FeedbackError") = err.number Session("FeedbackModule") = "merge" Session("Referer") = "/admin/groups.asp" Response.Redirect "/admin/feedback.asp" Else %>
<% If strGroupList = "" Then %> <% Else %> <% End If %>
Please select a group before clicking the Merge Groups link.
close window
You have selected to merge the following groups:
<%=GetGroupNamesHTML(strGroupList)%>
 
Select a main group to merge the subscribers into:
 
<% 'close the data connection Call CloseConn() 'END: DISPLAY SUBSCRIBER INDEX End If %>