home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2002 March / PCWMAR02.iso / software / windowsxp / ftgateoffice / ftgateoffice.exe / Main / addressproxy.fts < prev    next >
Encoding:
Text File  |  2001-11-29  |  14.2 KB  |  424 lines

  1. <%
  2. #include </utility/security.fts>
  3. #include </utility/global.fts>
  4. #include </utility/theme.fts>
  5. #include </utility/ftgate.fts>
  6.  
  7. var w = new server.httpproxy
  8.  
  9. var id
  10. var type
  11.  
  12. session.system.error=0
  13.  
  14. if (form.config=="1")
  15. {
  16.     id = form.id
  17.     type = form.type
  18.  
  19.     if (type=="5")
  20.         w = new server.httpproxy
  21.     else
  22.         w = new server.pt2ptproxy
  23.  
  24.     w.id = id
  25.  
  26.     if (form.command=="1")
  27.     {
  28.         var entry=string(form.permit)
  29.         var index=entry.indexOf("[", 0)
  30.         var last=entry.indexOf("]", 0)
  31.         var address = entry.slice(0,index)
  32.         var mask = entry.slice((index+1),last)
  33.  
  34.         w.ip.permit.remove(address, mask)
  35.     }
  36.     else if (form.command=="2")
  37.     {
  38.         var entry=string(form.reject)
  39.         var index=entry.indexOf("[", 0)
  40.         var last=entry.indexOf("]", 0)
  41.         var address = entry.slice(0,index)
  42.         var mask = entry.slice((index+1),last)
  43.  
  44.         w.ip.reject.remove(address, mask)
  45.     }
  46.     else if (form.command=="3")
  47.         w.ip.permit.add(form.permitaddr, form.permitmask)
  48.     else if (form.command=="4")
  49.         w.ip.reject.add(form.rejectaddr, form.rejectmask)
  50.  
  51.     if (form.redirect!="")
  52.         output.redirect(form.redirect+"?id="+id+"&type="+type)
  53. }
  54. else if (form.config=="2")
  55. {
  56.   if (form.redirect!="")
  57.         output.redirect(form.redirect+"?id="+form.id+"&type="+form.type)
  58. }
  59. else
  60. {
  61.     if (request.type=="5")
  62.         w = new server.httpproxy
  63.     else
  64.         w = new server.pt2ptproxy
  65.  
  66.     w.id = request.id
  67.     id = request.id
  68.     type=request.type
  69. }
  70. %>
  71. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
  72. <HTML>
  73. <HEAD>
  74. <LINK REL=STYLESHEET HREF="/utility/main<%=nn4%>.css" TYPE="text/css">
  75. <META name="GENERATOR" content="Microsoft Developer Studio">
  76. <META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  77. <TITLE>Services -- HTTP Proxy Addresses</TITLE>
  78.  
  79. <SCRIPT LANGUAGE="JavaScript1.2" TYPE="text/javascript">
  80. <!--
  81. var dir="<%=buttons%>";
  82. var pro=<%=build()==FTGATE_PRO%>;
  83.  
  84. if (!document.images) {}
  85. else {
  86.   create0 = new Image();
  87.   create0.src  = dir+"create.gif";
  88.   create1 = new Image();
  89.   create1.src = dir+"createon.gif";
  90.   delete0 = new Image();
  91.   delete0.src  = dir+"delete.gif";
  92.   delete1 = new Image();
  93.   delete1.src = dir+"deleteon.gif";
  94. }
  95.  
  96. <%
  97. if (netscape)
  98. {
  99.   %>
  100.   document.captureEvents(Event.KEYPRESS);
  101.   document.onkeypress = keypress;
  102.  
  103.   function keypress(event)
  104.   {
  105.     if (event.which==13)
  106.     {
  107.       if (document.activeElement==document.ftgate.permitaddr||
  108.           document.activeElement==document.ftgate.permitmask)
  109.         onAdd(document.ftgate.permitaddr, document.ftgate.permitmask, document.ftgate.permit, 'createA', 3)
  110.       else if (document.activeElement==document.ftgate.rejectaddr||
  111.           document.activeElement==document.ftgate.rejectmask)
  112.         onAdd(document.ftgate.rejectaddr, document.ftgate.rejectmask, document.ftgate.reject, 'createA', 4)
  113.       return false;
  114.     }
  115.  
  116.     return true;
  117.   }
  118.   <%
  119. }
  120. else
  121. {
  122.   %>
  123.   function keypress()
  124.   {
  125.     if (event.keyCode==13)
  126.     {
  127.       event.returnValue=null;
  128.       if (document.activeElement==document.ftgate.permitaddr||
  129.           document.activeElement==document.ftgate.permitmask)
  130.         onAdd(document.ftgate.permitaddr, document.ftgate.permitmask, document.ftgate.permit, 'createA', 3)
  131.       else if (document.activeElement==document.ftgate.rejectaddr||
  132.           document.activeElement==document.ftgate.rejectmask)
  133.         onAdd(document.ftgate.rejectaddr, document.ftgate.rejectmask, document.ftgate.reject, 'createA', 4)
  134.     }
  135.   }
  136.   <%
  137. }
  138. %>
  139.  
  140. function onLoad()
  141. {
  142.     <%
  143.     if (type==5)
  144.         output.writeln("setPage(5, \"HTTP Proxy Service\");")
  145.     else
  146.         output.writeln("setPage(5, \"Point to Point Proxy Service\");")
  147.     %>
  148.  
  149.   onSelect(document.ftgate.permitaddr, document.ftgate.permitmask, document.ftgate.permit)
  150.   onSelect(document.ftgate.rejectaddr, document.ftgate.rejectmask, document.ftgate.reject)
  151.  
  152.   document.ftgate.permitaddr.focus();
  153. }
  154.  
  155. function onAdd(addr, subnet, list, button, command)
  156. {
  157.   change(button, 'create', 0);
  158.  
  159.     if (!isAddr(addr.value))
  160.     {
  161.         alert(errIP);
  162.         addr.focus();
  163.         return;
  164.     }
  165.  
  166.     if (!isAddr(subnet.value))
  167.     {
  168.         alert(errSubnet);
  169.         subnet.focus();
  170.         return;
  171.     }
  172.  
  173.     document.ftgate.command.value=command;
  174.     document.ftgate.submit();
  175. }
  176.  
  177. function onDelete(list, button, command)
  178. {
  179.   change(button, 'delete', 0);
  180.  
  181.     if (list.selectedIndex!=-1)
  182.     {
  183.         document.ftgate.command.value=command;
  184.         document.ftgate.submit();
  185.     }
  186. }
  187.  
  188. function onSelect(part1, part2, list)
  189. {
  190.     var index = list.selectedIndex;
  191.  
  192.     if (index!=-1)
  193.     {
  194.         var str = list.options[index].text;
  195.         var start = str.indexOf("[");
  196.         var end = str.indexOf("]");
  197.  
  198.         part1.value = str.slice(0, start);
  199.         part2.value = str.slice(start+1,end);
  200.     }
  201. }
  202.  
  203. function isOK(form)
  204. {
  205.   return true;
  206. }
  207.  
  208. //-->
  209. </SCRIPT>
  210. <SCRIPT LANGUAGE="JavaScript1.2" SRC="/utility/cookies.js" TYPE="text/javascript"></SCRIPT>
  211. <SCRIPT LANGUAGE="JavaScript1.2" SRC="/utility/core.js" TYPE="text/javascript"></SCRIPT>
  212. <SCRIPT LANGUAGE="JavaScript1.2" SRC="/utility/time.js" TYPE="text/javascript"></SCRIPT>
  213. <SCRIPT LANGUAGE="JavaScript1.2" SRC="/utility/spin.js" TYPE="text/javascript"></SCRIPT>
  214. <SCRIPT LANGUAGE="JavaScript1.2" SRC="/utility/dialog.js" TYPE="text/javascript"></SCRIPT>
  215. </HEAD>
  216.  
  217. <BODY BGCOLOR="white" onLoad="onLoad()" MARGINHEIGHT="0" MARGINWIDTH="0" onkeypress="keypress()">
  218.  
  219. <TABLE BORDER="0" BGCOLOR="<%=border%>" WIDTH="<%=bodywidth%>" HEIGHT="<%=bodyheight%>" CELLPADDING="0" CELLSPACING="0"><TR><TD> </TD><TD VALIGN="TOP">
  220.  
  221. <A HREF="index.fts"><SPAN ID="top">Services</SPAN></A><SPAN ID="top"> /</SPAN>
  222. <SPAN ID="topsel"><%=w.name%></SPAN>
  223.  
  224. <FORM NAME="ftgate" METHOD="POST" onSubmit="return isOK(this)" ACTION="addressproxy.fts">
  225. <!-- hidden variables -->
  226. <INPUT TYPE="HIDDEN" NAME="config" VALUE="1">
  227. <INPUT TYPE="HIDDEN" NAME="command" VALUE="0">
  228. <INPUT TYPE="HIDDEN" NAME="id" VALUE="<%=id%>">
  229. <INPUT TYPE="HIDDEN" NAME="type" VALUE="<%=type%>">
  230. <INPUT TYPE="HIDDEN" NAME="redirect" VALUE="">
  231.  
  232. <!-- start of the tabs -->
  233. <TABLE BORDER="0" WIDTH="100%" CELLSPACING="0" CELLPADDING="0">
  234.   <TR>
  235.     <%
  236.     if (type==5)
  237.     {
  238.         %>
  239.         <TD WIDTH="5" HEIGHT="18"><IMG SRC="/images/left.gif" VSPACE="0" BORDER="0" WIDTH="5" HEIGHT="18"></TD>
  240.         <TD CLASS="navoff" WIDTH="50" HEIGHT="18" ALIGN="CENTER"><A HREF="javascript:onLaunch('proxyhttp.fts')" CLASS="navoff">General</A></TD>
  241.         <TD BGCOLOR="black" WIDTH="1" HEIGHT="18" ALIGN="CENTER"><IMG SRC="/images/1pixel.gif" WIDTH="1" HEIGHT="18"></TD>
  242.         <TD CLASS="navoff" WIDTH="75" HEIGHT="18" ALIGN="CENTER"><A HREF="javascript:onLaunch('typeshttp.fts')" CLASS="navoff">Files Types</A></TD>
  243.         <TD BGCOLOR="black" WIDTH="1" HEIGHT="18" ALIGN="CENTER"><IMG SRC="/images/1pixel.gif" WIDTH="1" HEIGHT="18"></TD>
  244.         <TD CLASS="navoff" WIDTH="55" HEIGHT="18" ALIGN="CENTER"><A HREF="javascript:onLaunch('times.fts')" CLASS="navoff">Times</A></TD>
  245.         <TD BGCOLOR="black" WIDTH="1" HEIGHT="18" ALIGN="CENTER"><IMG SRC="/images/1pixel.gif" WIDTH="1" HEIGHT="18"></TD>
  246.         <TD CLASS="navon" WIDTH="50" HEIGHT="18"ALIGN="CENTER"><A HREF="javascript:onLaunch('addressproxy.fts')" CLASS="navon">Addresses</A></TD>
  247.         <TD WIDTH="5" HEIGHT="18"><IMG SRC="/images/right-s.gif" VSPACE="0" BORDER="0" WIDTH="5" HEIGHT="18"></TD>
  248.         <TD WIDTH="<%=bodywidth-243%>" HEIGHT="18"> </TD>
  249.         <%
  250.     }
  251.     else
  252.     {
  253.         %>
  254.         <TD WIDTH="5" HEIGHT="18"><IMG SRC="/images/left.gif" VSPACE="0" BORDER="0" WIDTH="5" HEIGHT="18"></TD>
  255.         <TD CLASS="navoff" WIDTH="50" HEIGHT="18" ALIGN="CENTER"><A HREF="javascript:onLaunch('proxypt2pt.fts')" CLASS="navoff">General</A></TD>
  256.         <TD BGCOLOR="black" WIDTH="1" HEIGHT="18" ALIGN="CENTER"><IMG SRC="/images/1pixel.gif" WIDTH="1" HEIGHT="18"></TD>
  257.         <TD CLASS="navoff" WIDTH="55" HEIGHT="18" ALIGN="CENTER"><A HREF="javascript:onLaunch('connectionpt2pt.fts')" CLASS="navoff">Connection</A></TD>
  258.         <TD BGCOLOR="black" WIDTH="1" HEIGHT="18" ALIGN="CENTER"><IMG SRC="/images/1pixel.gif" WIDTH="1" HEIGHT="18"></TD>
  259.         <TD CLASS="navoff" WIDTH="55" HEIGHT="18" ALIGN="CENTER"><A HREF="javascript:onLaunch('times.fts')" CLASS="navoff">Times</A></TD>
  260.         <TD BGCOLOR="black" WIDTH="1" HEIGHT="18" ALIGN="CENTER"><IMG SRC="/images/1pixel.gif" WIDTH="1" HEIGHT="18"></TD>
  261.         <TD CLASS="navon" WIDTH="50" HEIGHT="18"ALIGN="CENTER"><A HREF="javascript:onLaunch('addressproxy.fts')" CLASS="navon">Addresses</A></TD>
  262.         <TD WIDTH="5" HEIGHT="18"><IMG SRC="/images/right-s.gif" VSPACE="0" BORDER="0" WIDTH="5" HEIGHT="18"></TD>
  263.         <TD WIDTH="<%=bodywidth-167%>" HEIGHT="18"> </TD>
  264.         <%
  265.     }
  266.     %>
  267.   </TR>
  268. </TABLE>
  269. <!-- end of the tabs -->
  270.  
  271. <!-- start of the tab body -->
  272. <TABLE BORDER="0" BGCOLOR="<%=border%>" WIDTH="100%" CELLPADDING="0" CELLSPACING="0"><TR><TD>
  273. <TABLE <%=table%> CELLPADDING="0" CELLSPACING="0">
  274. <!-- start of block -->
  275. <TR>
  276. <TD VALIGN="TOP">
  277.   <TABLE BORDER="0" WIDTH="100%">
  278.         <!-- sub table goes here -->
  279.     <TR>
  280.       <TD>
  281.               <TABLE CLASS="box" WIDTH="100%">
  282.           <TR>
  283.             <TD>
  284.               <TABLE BORDER="0" WIDTH="100%">
  285.                                 <TR>
  286.                                     <TH COLSPAN="4">Permit connections from the following addresses</TH>
  287.                                 </TR>
  288.                                 <TR>
  289.                   <TD ROWSPAN="2" WIDTH="1%" VALIGN="TOP">
  290.                              <A HREF="javascript:onDelete(document.ftgate.permit, 'deleteA', 1)"
  291.                             onMouseDown="change('deleteA', 'delete', 1)"
  292.                             onMouseOut="change('deleteA', 'delete', 0)"><IMG SRC="<%=buttons%>delete.gif" NAME="deleteA" BORDER="0" WIDTH="20" HEIGHT="20" ALT="Remove permitted domain"></A>
  293.                   </TD>
  294.                                     <TD ROWSPAN="2">
  295.                                         <SELECT NAME="permit" CLASS="SEL100" SIZE="5"
  296.                                             onChange="onSelect(document.ftgate.permitaddr, document.ftgate.permitmask, document.ftgate.permit)">
  297.                                         <%
  298.                                         var first=true
  299.  
  300.                                         var ok=w.ip.permit.first()
  301.                                         while (ok)
  302.                                         {
  303.                                             var str = w.ip.permit.addr+"["+w.ip.permit.mask+"]"
  304.  
  305.                                             output.write("<OPTION ")
  306.                                             if (first)
  307.                                             {
  308.                                                 first=false
  309.                                                 output.write("SELECTED ")
  310.                                             }
  311.                                             output.writeln("VALUE="+str+">"+str+"</OPTION>")
  312.                                             ok=w.ip.permit.next()
  313.                                         }
  314.                                         %>
  315.                                         </SELECT>
  316.                                     </TD>
  317.                                     <TD WIDTH="1%" VALIGN="TOP">Address</TD>
  318.                                     <TD WIDTH="1%" VALIGN="TOP"><INPUT TYPE="TEXT" NAME="permitaddr" VALUE="" onChange="setModified(true)"></TD>
  319.                   <TD WIDTH="1%" VALIGN="TOP" ROWSPAN="2">
  320.                              <A HREF="javascript:onAdd(document.ftgate.permitaddr, document.ftgate.permitmask, document.ftgate.permit, 'createA', 3)"
  321.                             onMouseDown="change('createA', 'create', 1)"
  322.                             onMouseOut="change('createA', 'create', 0)"><IMG SRC="<%=buttons%>create.gif" NAME="createA" BORDER="0" WIDTH="20" HEIGHT="20" ALT="Add permitted domain"></A>
  323.                   </TD>
  324.                                 </TR>
  325.                                 <TR>
  326.                                     <TD WIDTH="1%" VALIGN="TOP">Subnet</TD>
  327.                                     <TD WIDTH="1%" VALIGN="TOP"><INPUT TYPE="TEXT" NAME="permitmask" VALUE="" onChange="setModified(true)"></TD>
  328.                                 </TR>
  329.               </TABLE>
  330.                         </TD>
  331.                     </TR>
  332.         </TABLE>
  333.       </TD>
  334.     </TR>
  335.         <!-- sub table ends here -->
  336.         <!-- sub table starts here -->
  337.     <TR>
  338.       <TD>
  339.               <TABLE CLASS="box" WIDTH="100%">
  340.           <TR>
  341.             <TD>
  342.               <TABLE BORDER="0" WIDTH="100%">
  343.                                 <TR>
  344.                                     <TH COLSPAN="4">Refuse connections from the following addresses</TH>
  345.                                 </TR>
  346.                                 <TR>
  347.                   <TD ROWSPAN="2" WIDTH="1%" VALIGN="TOP">
  348.                              <A HREF="javascript:onDelete(document.ftgate.reject, 'deleteB', 2)"
  349.                             onMouseDown="change('deleteB', 'delete', 1)"
  350.                             onMouseOut="change('deleteB', 'delete', 0)"><IMG SRC="<%=buttons%>delete.gif" NAME="deleteB" BORDER="0" WIDTH="20" HEIGHT="20" ALT="Remove rejected domain"></A>
  351.                   </TD>
  352.                                     <TD ROWSPAN="2">
  353.                                         <SELECT NAME="reject" CLASS="SEL100" SIZE="5"
  354.                                             onChange="onSelect(document.ftgate.rejectaddr, document.ftgate.rejectmask, document.ftgate.reject)">
  355.                                         <%
  356.                                         first=true
  357.  
  358.                                         ok=w.ip.reject.first()
  359.                                         while (ok)
  360.                                         {
  361.                                             var str = w.ip.reject.addr+"["+w.ip.reject.mask+"]"
  362.  
  363.                                             output.write("<OPTION ")
  364.                                             if (first)
  365.                                             {
  366.                                                 first=false
  367.                                                 output.write("SELECTED ")
  368.                                             }
  369.                                             output.writeln("VALUE="+str+">"+str+"</OPTION>")
  370.                                             ok=w.ip.reject.next()
  371.                                         }
  372.                                         %>
  373.                                         </SELECT>
  374.                                     </TD>
  375.                                     <TD WIDTH="1%" NOWRAP VALIGN="TOP">Address</TD>
  376.                                     <TD WIDTH="1%" NOWRAP VALIGN="TOP"><INPUT TYPE="TEXT" NAME="rejectaddr" VALUE="" onChange="setModified(true)"></TD>
  377.                   <TD WIDTH="1%" VALIGN="TOP" ROWSPAN="2">
  378.                              <A HREF="javascript:onAdd(document.ftgate.rejectaddr, document.ftgate.rejectmask, document.ftgate.reject, 'createB', 4)"
  379.                             onMouseDown="change('createB', 'create', 1)"
  380.                             onMouseOut="change('createB', 'create', 0)"><IMG SRC="<%=buttons%>create.gif" NAME="createB" BORDER="0" WIDTH="20" HEIGHT="20" ALT="Add rejected domain"></A>
  381.                   </TD>
  382.                                 </TR>
  383.                                 <TR>
  384.                                     <TD WIDTH="1%" NOWRAP VALIGN="TOP">Subnet</TD>
  385.                                     <TD WIDTH="1%" NOWRAP VALIGN="TOP"><INPUT TYPE="TEXT" NAME="rejectmask" VALUE="" onChange="setModified(true)"></TD>
  386.                                 </TR>
  387.               </TABLE>
  388.                         </TD>
  389.                     </TR>
  390.         </TABLE>
  391.       </TD>
  392.     </TR>
  393.         <!-- sub table ends here -->
  394.         <!-- table footer goes here -->
  395.         <TR>
  396.             <TD ALIGN="RIGHT">
  397.                 <A HREF="javascript:onClose()"
  398.                 onMouseDown="change('closeA', 'ok', 1)"
  399.                 onMouseOut="change('closeA', 'ok', 0)"><IMG SRC="<%=buttons%>ok.gif" NAME="closeA" BORDER="0" WIDTH="50" HEIGHT="20" ALT="Apply changes and close" HSPACE="5"></A>
  400.             </TD>
  401.         </TR>
  402.         <!-- table footer ends here -->
  403.   </TABLE>
  404. </TD>
  405. </TR>
  406. <!-- end of block -->
  407. </TABLE>
  408. <!-- end of the tab body -->
  409. </TD></TR></TABLE>
  410.  
  411. <!-- footer starts here -->
  412. <SCRIPT LANGUAGE="JavaScript1.2" TYPE="text/javascript">
  413. <!--
  414.     var href="/services/addressproxy.fts?id=<%=id%>&type=<%=type%>";
  415.     var bodywidth=<%=bodywidth%>;
  416. //-->
  417. </SCRIPT>
  418. <SCRIPT LANGUAGE="JavaScript1.2" SRC="/utility/footer.js" TYPE="text/javascript"></SCRIPT>
  419. <!-- footer ends here -->
  420. </FORM>
  421. </TD><TD WIDTH="10"> </TD></TR></TABLE>
  422. </BODY>
  423. </HTML>
  424.