163 lines
3.6 KiB
Plaintext
163 lines
3.6 KiB
Plaintext
|
<%@ LANGUAGE = VBScript %>
|
||
|
<% 'Option Explicit %>
|
||
|
<!-- #include file="../directives.inc" -->
|
||
|
|
||
|
<!--#include file="jsbrowser.str"-->
|
||
|
|
||
|
<%
|
||
|
'Call this page with a query string of ?sname=machinename
|
||
|
'example: http://larad01/iis/iicnct.asp?sname=larad01
|
||
|
|
||
|
'On Error Resume Next
|
||
|
|
||
|
Dim path, sname, scripttimeout, FileSystem, quote, errd, currentADsObj, lastobj
|
||
|
Dim newid, topid, firstid, currentid, numNewItems
|
||
|
|
||
|
|
||
|
'This script can take a _long_ time to execute,
|
||
|
'as we may be dealing with thousands of items
|
||
|
'to add to our JScript object.
|
||
|
'save our current script timeout value & set to a much longer value...
|
||
|
|
||
|
scripttimeout = Server.ScriptTimeOut
|
||
|
Server.ScriptTimeOut = 2000
|
||
|
|
||
|
Set FileSystem=CreateObject("Scripting.FileSystemObject")
|
||
|
|
||
|
path=Request.QueryString("fspath")
|
||
|
|
||
|
quote=chr(34)
|
||
|
errd=False
|
||
|
lastobj = ""
|
||
|
%>
|
||
|
|
||
|
<HTML>
|
||
|
<HEAD>
|
||
|
<SCRIPT LANGUAGE="JavaScript">
|
||
|
|
||
|
var theList=parent.head.cachedList;
|
||
|
var listFuncs = new parent.head.listFuncs();
|
||
|
|
||
|
<%
|
||
|
|
||
|
if errd=0 then
|
||
|
|
||
|
newid=Request("newid")
|
||
|
|
||
|
firstid=newid
|
||
|
if firstid="" then
|
||
|
firstid=0
|
||
|
end if
|
||
|
|
||
|
currentid=Request("item")
|
||
|
if currentid="" then
|
||
|
currentid=firstid
|
||
|
newid=newid + 1
|
||
|
end if
|
||
|
|
||
|
numNewItems=0
|
||
|
Response.write "//" & path
|
||
|
Response.write "//" & currentid
|
||
|
|
||
|
addDirs path, currentid
|
||
|
|
||
|
Server.ScriptTimeOut = scripttimeout
|
||
|
end if
|
||
|
|
||
|
Sub addDirs(path, parentid)
|
||
|
Dim thisid, thisname, thisstate, thisadspath, i, f
|
||
|
if path <> "" then
|
||
|
if FileSystem.FolderExists(path) then
|
||
|
Set f=FileSystem.GetFolder(path)
|
||
|
For Each i In f.SubFolders
|
||
|
thisid=newid
|
||
|
SetJscriptObj i, i.Name,parentid
|
||
|
numNewItems=numNewItems + 1
|
||
|
Next
|
||
|
end if
|
||
|
end if
|
||
|
End Sub
|
||
|
|
||
|
Sub SetJscriptObj(path, caption, parentid)
|
||
|
%>
|
||
|
theList[<%= newid %>]=new parent.head.listObj(<%= newid %>,"<%= Replace(path,"\","\\") %>","<%= caption %>",<%= parentid %>);
|
||
|
<%
|
||
|
newid=newid + 1
|
||
|
End Sub
|
||
|
|
||
|
|
||
|
' we need to insert the whole group into the correct place In the array.
|
||
|
' since we Set the first entry (machine) to the exisitng place In the array,
|
||
|
' the Next level In the hierarchy (vservers) will be pointing to the correct
|
||
|
' parent ids. However, the following level (vdirs, and below) will be pointing
|
||
|
' to the parent ids as they existed at the bottom of the array, before the
|
||
|
' move, and will need to be adjusted.
|
||
|
%>
|
||
|
|
||
|
<% if errd=0 then %>
|
||
|
|
||
|
var item=<%= firstid %>;
|
||
|
currentid=<%= currentid %>;
|
||
|
if (currentid !=item){
|
||
|
|
||
|
x=currentid + 1;
|
||
|
|
||
|
//correct the id on the "new" objects
|
||
|
for (var i=item; i < theList.length; i++) {
|
||
|
theList[i].id=x;
|
||
|
if (theList[i].parentid !=currentid){
|
||
|
theList[i].parentid=theList[i].parentid - (item - (currentid + 1));
|
||
|
}
|
||
|
x++;
|
||
|
}
|
||
|
|
||
|
//move the following records "down" the array
|
||
|
for (var i=currentid + 1; i < item;i++){
|
||
|
|
||
|
theList[i].id=theList[i].id + <%= numNewItems %>;
|
||
|
if (theList[i].parentid >currentid){
|
||
|
theList[i].parentid=theList[i].parentid + <%= numNewItems %>;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
}
|
||
|
|
||
|
|
||
|
//and re-sort.
|
||
|
theList[0].sortList();
|
||
|
theList[0].markTerms();
|
||
|
|
||
|
|
||
|
if (theList.length==1){
|
||
|
listFuncs.selIndex=0;
|
||
|
theList[0].selected=true;
|
||
|
}
|
||
|
else{
|
||
|
theList[listFuncs.selIndex].selected=false;
|
||
|
listFuncs.selIndex=<%= currentid %>;
|
||
|
theList[<%= currentid %>].selected=true;
|
||
|
}
|
||
|
|
||
|
// Force a refresh
|
||
|
listFuncs.loadList();
|
||
|
|
||
|
<% else %>
|
||
|
alert("<%= L_CNCTERR_TEXT %> (<%= err %>)");
|
||
|
<% end if %>
|
||
|
|
||
|
|
||
|
</SCRIPT>
|
||
|
|
||
|
<% if err <> 0 then %>
|
||
|
<% Response.write "err: " & err.description %><BR>
|
||
|
<% Response.write "currentcontainer: " & currentADsObj.ADsPath %><BR>
|
||
|
<% Response.write " " & currentADsObj.KeyType %><BR>
|
||
|
<% Response.write "Err Container:" & lastobj %><BR>
|
||
|
<% end if %>
|
||
|
|
||
|
|
||
|
</HEAD>
|
||
|
<BODY>
|
||
|
</BODY>
|
||
|
</HTML>
|