%'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
%>