<% Timeout(1) Server.ScriptTimeout = 10000 set con = server.createobject("ADODB.Connection") con.open Application("CString") con.CommandTimeout = 1000 if Not IsNumeric(request("MainMenuID")) then strSQL = " SELECT COUNT(MenuID) + 1 AS 'TheCount' FROM CMS_Menu WHERE MenuSectionID = " & Session("MenuSectionID") & " AND MainMenuID IS NULL" else strSQL = "UPDATE CMS_Menu SET PageID = NULL, Frame = NULL WHERE MenuID = " & request("MainMenuID") con.execute(strSQL) strSQL = "SELECT COUNT(MenuID) + 1 AS 'TheCount' FROM CMS_Menu WHERE MenuSectionID = " & Session("MenuSectionID") & " AND MainMenuID = " & Request("MainMenuID") end if set rsCount = con.execute(strSQL) rsCount.movefirst i_StartCount = rsCount("TheCount") set rsCount = nothing arrMenus = Split(Request("AllMenus"), ",") For i = 0 to UBound(arrMenus) i_MenuID = arrMenus(i) strSQL = "IF EXISTS(SELECT 1 FROM CMS_Menu WHERE MainMenuID IS NULL AND MenuID = " & i_MenuID & ") " & vbCrLf & _ " UPDATE CMS_Menu SET MenuOrder = MenuOrder - 1 WHERE MenuSectionID = " & Session("MenuSectionID") & " AND MainMenuID IS NULL AND MenuOrder > (SELECT MenuOrder FROM CMS_Menu WHERE MenuID = " & i_MenuID & ") " & vbCrLf & _ "ELSE " & vbCrLf & _ " UPDATE CMS_Menu SET MenuOrder = MenuOrder - 1 WHERE MenuSectionID = " & Session("MenuSectionID") & " AND MainMenuID = (SELECT MainMenuID FROM CMS_Menu WHERE MenuID = " & i_MenuID & ") AND MenuOrder > (SELECT MenuOrder FROM CMS_Menu WHERE MenuID = " & i_MenuID & ") " con.execute strSQL strSQL = "UPDATE CMS_Menu SET MainMenuID = " & request("MainMenuID") & ", MenuOrder = " & CStr(i_StartCount + i) & " WHERE MenuID = " & i_MenuID con.execute strSQL Next con.close set con = nothing response.redirect("Menu.asp?menuid=" & Server.URLEncode(Request("menuid")) & "&buster=" & server.URLEncode(now)) %>