home *** CD-ROM | disk | FTP | other *** search
/ Chip 1998 February / CHIP_2_98.iso / software / pelne / optionp / ins.cab / nnexpghd.asp < prev    next >
Text File  |  1997-10-12  |  8KB  |  291 lines

  1. <% Response.Expires = 0 %>
  2. <%
  3. L_PAGETITLE_TEXT        = "Microsoft Internet Service Manager"
  4. L_NEWSGROUP_TEXT            = "Newsgroup:"
  5. L_ADD_TEXT                    = "Add"
  6. L_EXPIRATION_ERRORMESSAGE    = "You must have at least one newsgroup in an expiration policy."
  7. L_REMOVEEXP_TEXT            = "Are you sure you want to remove this newsgroup from the expiration policy?"
  8. L_ENTERNEWSGROUP_TEXT        = "Please enter a newsgroup name."
  9. L_NEWSGROUPSON_TEXT            = "Newsgroups on"
  10. L_EXPIRATIONPOLICY_TEXT        = "expiration policy #"
  11.  
  12. L_ADDSMALL_TEXT                = "add" ' Internal string Do NOT localize
  13. L_REMOVE_TEXT                = "remove" ' Internal string Do NOT localize
  14.  
  15.  
  16. %>
  17. <% svr         = Request("svr") %>
  18. <% id          = Request("id") %>
  19. <% a           = Request("a") %>
  20. <% groupToAdd  = Request("newsgroup") %>
  21. <% removeIndex = Request("removeIndex") %>
  22.  
  23. <% On Error Resume Next %>
  24. <% Set ExpireObj = Server.CreateObject("NntpAdm.Expiration") %>
  25. <% if Err <> 0 then %>
  26.     <script language="javascript">
  27.         alert('<% = Err.description %> ');
  28.     </script>
  29. <% end if %>
  30.  
  31. <% REM get server name %>
  32. <% ExpireObj.Server = svr %>
  33.  
  34. <% REM set service instance %>
  35. <% ExpireObj.ServiceInstance = Session("ServiceInstance") %>
  36.  
  37. <HTML>
  38. <HEAD>
  39.  
  40. <% REM Create uForm object and methods %>
  41. <SCRIPT LANGUAGE = "javascript">
  42.  
  43.     var uForm = new Object();
  44.     uForm.itemList = new Array();
  45.     uForm.selectedItem = 0;
  46.     uForm.selectItem = selectItem;
  47.     uForm.addGroup = addGroup;
  48.     uForm.checkGroup = checkGroup;
  49.     uForm.loadList = loadList;
  50.     uForm.removeItem = removeItem;
  51.     uForm.addItem = addItem;
  52.     uForm.newsgroup = "<% = Request("newsgroup") %>";
  53.     uForm.cnumGroups = "";
  54.  
  55.  
  56. <% REM Determine browser to set pop-up window size %>
  57.  
  58. <% if Instr(Request.ServerVariables("HTTP_USER_AGENT"),"MSIE") then %>
  59.     winstr = "toolbar=no,width=460,height=240,directories=no,status=no,scrollbars=auto,resize=no,menubar=no";
  60. <% else %>
  61.     winstr = "toolbar=no,width=460,height=265,directories=no,status=no,scrollbars=auto,resize=no,menubar=no";
  62. <% end if %>
  63.  
  64. <% REM enumerate expiration policies %>
  65. <% ExpireObj.Enumerate %>
  66.  
  67. <% REM find index of expiration policy id %>
  68. <% ExpireObjIndex = ExpireObj.FindId( id ) %>
  69.  
  70. <% REM get expiration policy corresponding to id %>
  71. <% ExpireObj.GetNth( ExpireObjIndex ) %>
  72.  
  73. <% REM create array for newsgroups associate with policy %>
  74. <% Dim groupArray %>
  75.  
  76. <% REM Assign array of newsgroups to "groupArray" %>
  77. <% groupArray = ExpireObj.NewsgroupsVariant %>
  78.  
  79. <% REM Count groups in array %>
  80. <% cnumGroups = groupArray.count %>
  81.  
  82. <% REM get count of groups so we know whether or not to delete groups if there are less than two %>
  83. uForm.cnumGroups = "<% = UBound(groupArray) %>";
  84.  
  85. <% low = LBound(groupArray) %>
  86. <% high = UBound(groupArray) %>
  87. <% for i = low To high %>
  88.     uForm.itemList[<% = i %>] = new Object();
  89.     uForm.itemList[<% = i %>].name = "<% = groupArray(i) %>";
  90.     uForm.itemList[<% = i %>].index = "<% = i %>";
  91. <% Next %>
  92.  
  93. function checkGroup()
  94. {
  95.     if (document.userform.newsgroup.value == "")
  96.     {
  97.         alert("<% = L_ENTERNEWSGROUP_TEXT %>");
  98.         document.userform.newsgroup.focus();
  99.         return false;
  100.     }
  101.     return true;
  102. }
  103.  
  104. function addGroup()
  105. {
  106.     if (checkGroup())
  107.     {
  108.         document.userform.submit();
  109.     }
  110. }
  111.  
  112. <% REM Javascript function selectItem (if IE, reloads list at specified position -- broken in Netscape) %>
  113. function selectItem(index)
  114.     {
  115.         uForm.selectedItem = index;
  116.         <% if Instr(Request.ServerVariables("HTTP_USER_AGENT"),"IE") then %>
  117.         if (index == 0)
  118.         {
  119.             parent.list.location = "nnexpgls.asp"
  120.         }
  121.         else
  122.         {
  123.             parent.list.location = "nnexpgls.asp#" + (index-1);
  124.         }            
  125.         <% else %>
  126.             parent.list.location = "nnexpgls.asp"
  127.         <% end if %>
  128.     }
  129.  
  130. function addItem()
  131. {
  132.     win = window.open("nnexpgad.asp?svr=<% = svr %>", "PropWindow",winstr);
  133.     if (win.opener == null)
  134.     {
  135.         win.opener = self;
  136.     }
  137. }
  138.  
  139. function removeItem()
  140. {
  141.     if (uForm.cnumGroups < 1 )
  142.     {
  143.         alert("<% = L_EXPIRATION_ERRORMESSAGE %>");
  144.     }
  145.     else
  146.     {
  147.         if (confirm("<% = L_REMOVEEXP_TEXT %>"))
  148.         {
  149.             var removeIndex = uForm.itemList[uForm.selectedItem].index;
  150.             parent.head.location = "nnexpghd.asp?svr=<% = svr %>&a=remove&id=<% = id %>&removeIndex=" + removeIndex;
  151.         }
  152.     }
  153. }
  154. <% REM Javascript function loadList loads list frame after header is completed %>
  155. function loadList() {
  156.     parent.list.location = "nnexpgls.asp?svr=<% = svr %>";
  157. }    
  158.  
  159.  
  160. </script>
  161.  
  162.  
  163. <% REM if "a" is add or remove %>
  164. <% if ((a = L_REMOVE_TEXT) OR (a = L_ADDSMALL_TEXT)) then %>
  165.     <% if (a = L_REMOVE_TEXT) then %>
  166.         
  167.         <% REM set new array size to original array size - 1 %>
  168.         <% newArraySize = high - 1 %>
  169.  
  170.         <% REM create new array %>
  171.         <% dim removeGroupArray() %>
  172.  
  173.         <% REM set size of new array %>
  174.         <% redim removeGroupArray(newArraySize) %>
  175.  
  176.         <% REM initialize counter for new array %>
  177.         <% newCount = 0 %>
  178.         
  179.         <% REM copy elements of original array preceding deleted element into new array %>
  180.         <% For k = low To (removeIndex - 1) %>
  181.             <% removeGroupArray(newCount) = groupArray(k) %>
  182.             <% newCount = newCount + 1 %>
  183.         <% Next %>
  184.         
  185.         <% REM copy elements of original array following deleted element into new array %>
  186.         <% For k = (removeIndex + 1) To high %>
  187.             <% removeGroupArray(newCount) = groupArray(k) %>
  188.             <% newCount = newCount + 1 %>
  189.         <% Next %>
  190.  
  191.         <% REM Submit array to server %>        
  192.         <% On Error Resume Next %>
  193.         <% ExpireObj.NewsgroupsVariant = removeGroupArray %>
  194.         <% if( Err <> 0) then %>
  195.             <script language="javascript">
  196.                 alert('<% = Err.description %>');
  197.             </script>
  198.         <% else %>
  199.         <% ExpireObj.Set %>
  200.         <% end if %>
  201.  
  202.     <% elseif (a = L_ADDSMALL_TEXT) then %>
  203.  
  204.         <% REM Set new array size to old size +1 %>
  205.         <% newArraySize = high + 1 %>
  206.         
  207.         <% REM Create new array %>
  208.         <% dim addGroupArray() %>
  209.     
  210.         <% REM Set new array size %>
  211.         <% redim addGroupArray(newArraySize) %>
  212.  
  213.         <% REM Copy elements of array into new array %>
  214.         <% For k = low To high %>
  215.             <% addGroupArray(k) = groupArray(k) %>
  216.         <% Next %>
  217.         
  218.         <% REM Add new group to end of new array %>
  219.         <% addGroupArray(high + 1) = groupToAdd %>
  220.         
  221.         <% REM Submit array to server %>
  222.         <% On Error Resume Next %>
  223.         <% ExpireObj.NewsgroupsVariant = addGroupArray %>
  224.         <% if( Err <> 0) then %>
  225.             <script language="javascript">
  226.                 alert('<% = Err.description %>');
  227.             </script>
  228.         <% else %>
  229.         <% ExpireObj.Set %>
  230.         <% end if %>
  231.         
  232.     <% end if %>
  233.     <script language="javascript">
  234.         self.location = "nnexpghd.asp?svr=<% = svr %>&id=<% = id %>";
  235.     </script>
  236. <% end if %>
  237.  
  238. <TITLE><% = L_PAGETITLE_TEXT %></TITLE>
  239. </HEAD>
  240.  
  241. <BODY BGCOLOR="#CCCCCC" TEXT="#000000" LINK="#FFFFFF" ALINK="#FFFFFF" VLINK="#FFFFFF" TOPMARGIN=10>
  242.  
  243. <FORM NAME="userform" ACTION="nnexpghd.asp" METHOD="post" onSubmit="return checkGroup();">
  244.  
  245. <TABLE BORDER=0>
  246.  
  247.     <TR>
  248.         <TD COLSPAN=3>
  249.             <P><IMG SRC="images/gnicttl.gif" ALIGN="textmiddle" HEIGHT=10 WIDTH=10> <FONT SIZE=2 FACE="Arial"><B><% = L_NEWSGROUPSON_TEXT %>  </B></FONT><FONT SIZE=3 FACE="Times New Roman"><I><% = L_EXPIRATIONPOLICY_TEXT %><% = id %></I><BR> </FONT>
  250.         </TD>
  251.     </TR>
  252.     
  253.     <TR>
  254.         <TD WIDTH=25> </TD>
  255.         <TD><FONT SIZE=2 FACE="Arial">
  256.             <% = L_NEWSGROUP_TEXT %>  <INPUT TYPE = "text" NAME="newsgroup" VALUE="<% = newsgroup %>">
  257.             <INPUT TYPE="hidden" NAME="id" VALUE="<% = id %>">
  258.             <INPUT TYPE="hidden" NAME="svr" VALUE="<% = svr %>">
  259.             <INPUT TYPE="hidden" NAME="a" VALUE="add">
  260.         </TD>
  261.         <TD>
  262.             <TABLE BORDER=0 CELLPADDING=5 CELLSPACING=2>
  263.             <TR>        
  264.                 <TD VALIGN="bottom" BGCOLOR="#555555">
  265.                     <FONT FACE="Arial" SIZE=2>
  266.                     <B><A HREF="javascript:addGroup();">
  267.                     <% = L_ADD_TEXT %></A></B>
  268.                     </FONT>
  269.                 </TD>    
  270.             </TR>
  271.             </TABLE>
  272.  
  273.         </TD>
  274.     </TR>
  275.  
  276.     <TR>
  277.         <TD WIDTH=25><BR> </TD>
  278.         <TD COLSPAN=2 ALIGN="left">
  279.             <FONT SIZE=2 FACE="Arial"><BR><B><% = L_NEWSGROUP_TEXT %></B></FONT>
  280.         </TD>
  281.     </TR>
  282.  
  283. </TABLE>
  284. </FORM>
  285. <SCRIPT LANGUAGE="javascript">
  286.     timeList = setTimeout('loadList()',500);
  287.     document.userform.newsgroup.focus();
  288. </SCRIPT>
  289. </BODY>
  290. </HTML>
  291.