home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2002 March / PCWMAR02.iso / software / windowsxp / ftgateoffice / ftgateoffice.exe / Main / controlhttp.fts < prev    next >
Encoding:
Text File  |  2001-11-29  |  13.6 KB  |  451 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 h = new server.httpproxy
  8. var id
  9.  
  10. session.system.error=0
  11.  
  12. if (form.config=="1")
  13. {
  14.     id = form.id
  15.     h.id=id
  16.  
  17.     if (form.command==1)
  18.         h.barred.remove(form.barredlist)
  19.     else if (form.command==2)
  20.         h.barred.add(form.barred)
  21.     else if (form.command==3)
  22.         h.permitted.remove(form.permittedlist)
  23.     else if (form.command==4)
  24.         h.permitted.add(form.permitted)
  25.     else
  26.     {
  27.         h.schedule=form.schedule
  28.         h.sitesecurity=form.sitesecurity
  29.     }
  30.  
  31.     if (form.redirect!="")
  32.     output.redirect(form.redirect+"?id="+id+"&type=5")
  33. }
  34. else if (form.config=="2")
  35. {
  36.   if (form.redirect!="")
  37.     output.redirect(form.redirect+"?id="+form.id+"&type=5")
  38. }
  39. else
  40. {
  41.     h.id = request.id
  42.     id = request.id
  43. }
  44. %>
  45. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
  46. <HTML>
  47. <HEAD>
  48. <LINK REL=STYLESHEET HREF="/utility/main<%=nn4%>.css" TYPE="text/css">
  49. <META name="GENERATOR" content="Microsoft Developer Studio">
  50. <META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  51. <TITLE>Services -- HTTP Proxy Control</TITLE>
  52.  
  53. <SCRIPT LANGUAGE="JavaScript1.2" TYPE="text/javascript">
  54. <!--
  55. var dir="<%=buttons%>";
  56. var pro=<%=build()==FTGATE_PRO%>;
  57.  
  58. if (!document.images) {}
  59. else {
  60.   plus0 = new Image();
  61.   plus0.src  = dir+"open.gif";
  62.   plus1 = new Image();
  63.   plus1.src = dir+"openon.gif";
  64.   minus0 = new Image();
  65.   minus0.src  = dir+"close.gif";
  66.   minus1 = new Image();
  67.   minus1.src = dir+"closeon.gif";
  68.   delete0 = new Image();
  69.   delete0.src  = dir+"delete.gif";
  70.   delete1 = new Image();
  71.   delete1.src = dir+"deleteon.gif";
  72.   create0 = new Image();
  73.   create0.src  = dir+"create.gif";
  74.   create1 = new Image();
  75.   create1.src = dir+"createon.gif";
  76. }
  77.  
  78. <%
  79. if (netscape)
  80. {
  81.   %>
  82.   document.captureEvents(Event.KEYPRESS);
  83.   document.onkeypress = keypress;
  84.  
  85.   function keypress(event)
  86.   {
  87.     if (event.which==13)
  88.     {
  89.       onApply();
  90.       return false;
  91.     }
  92.  
  93.     return true;
  94.   }
  95.   <%
  96. }
  97. else
  98. {
  99.   %>
  100.   function keypress()
  101.   {
  102.     if (event.keyCode==13)
  103.     {
  104.       event.returnValue=null;
  105.  
  106.         if (document.activeElement==document.ftgate.permitted)
  107.                 onAdd(document.ftgate.permitted, 'createB', 4);
  108.         else if (document.activeElement==document.ftgate.barred)
  109.                 onAdd(document.ftgate.barred, 'createA', 2);
  110.             else
  111.                 onApply();
  112.     }
  113.   }
  114.   <%
  115. }
  116. %>
  117.  
  118. function onLoad()
  119. {
  120.     setPage(5, "HTTP Proxy Service");
  121.  
  122.   document.ftgate.schedule.focus();
  123. }
  124.  
  125. function isOK(form)
  126. {
  127.   return true;
  128. }
  129.  
  130. function onUpEdit(el, name, type)
  131. {
  132.   change(name, 'plus', 0);
  133.  
  134.   switch (type)
  135.   {
  136.     case 1:
  137.       onUpPeriod(el);
  138.       break;
  139.  
  140.     case 2:
  141.       onUp(el);
  142.       break;
  143.  
  144.     case 3:
  145.       onUpBytes(el);
  146.   }
  147.  
  148.     setModified(true);
  149. }
  150.  
  151. function onDownEdit(el, name, type)
  152. {
  153.   change(name, 'minus', 0);
  154.  
  155.   switch (type)
  156.   {
  157.     case 1:
  158.       onDownPeriod(el);
  159.       break;
  160.  
  161.     case 2:
  162.       onDown(el);
  163.       break;
  164.  
  165.     case 3:
  166.       onDownBytes(el);
  167.   }
  168.  
  169.     setModified(true);
  170. }
  171.  
  172. function onAdd(site, button, command)
  173. {
  174.   change(button, 'create', 0);
  175.  
  176.     if (site.value!="")
  177.     {
  178.         document.ftgate.command.value=command;
  179.         document.ftgate.submit();
  180.     }
  181.     else
  182.     {
  183.         alert("Enter the site's URL");
  184.         site.focus();
  185.     }
  186. }
  187.  
  188. function onRemove(list, button, command)
  189. {
  190.   change(button, 'delete', 0);
  191.  
  192.     if (list.selectedIndex!=-1)
  193.     {
  194.         document.ftgate.command.value=command;
  195.         document.ftgate.submit();
  196.     }
  197.     else
  198.     {
  199.         alert("Select a site to delete");
  200.         list.focus();
  201.     }
  202. }
  203. //-->
  204. </SCRIPT>
  205. <SCRIPT LANGUAGE="JavaScript1.2" SRC="/utility/cookies.js" TYPE="text/javascript"></SCRIPT>
  206. <SCRIPT LANGUAGE="JavaScript1.2" SRC="/utility/core.js" TYPE="text/javascript"></SCRIPT>
  207. <SCRIPT LANGUAGE="JavaScript1.2" SRC="/utility/time.js" TYPE="text/javascript"></SCRIPT>
  208. <SCRIPT LANGUAGE="JavaScript1.2" SRC="/utility/spin.js" TYPE="text/javascript"></SCRIPT>
  209. <SCRIPT LANGUAGE="JavaScript1.2" SRC="/utility/dialog.js" TYPE="text/javascript"></SCRIPT>
  210. </HEAD>
  211.  
  212. <BODY BGCOLOR="white" onLoad="onLoad()" MARGINHEIGHT="0" MARGINWIDTH="0" onkeypress="keypress()">
  213.  
  214. <TABLE BORDER="0" BGCOLOR="<%=border%>" WIDTH="<%=bodywidth%>" HEIGHT="<%=bodyheight%>" CELLPADDING="0" CELLSPACING="0"><TR><TD> </TD><TD VALIGN="TOP">
  215.  
  216. <A HREF="index.fts"><SPAN ID="top">Services</SPAN></A><SPAN ID="top"> /</SPAN>
  217. <SPAN ID="topsel"><%=h.name%></SPAN>
  218.  
  219. <FORM NAME="ftgate" METHOD="POST" onSubmit="return isOK(this)" ACTION="controlhttp.fts">
  220. <!-- hidden variables -->
  221. <INPUT TYPE="HIDDEN" NAME="config" VALUE="1">
  222. <INPUT TYPE="HIDDEN" NAME="command" VALUE="0">
  223. <INPUT TYPE="HIDDEN" NAME="id" VALUE="<%=id%>">
  224. <INPUT TYPE="HIDDEN" NAME="redirect" VALUE="">
  225.  
  226. <!-- start of the tabs -->
  227. <TABLE BORDER="0" WIDTH="100%" CELLSPACING="0" CELLPADDING="0">
  228.   <TR>
  229.         <TD WIDTH="5" HEIGHT="18"><IMG SRC="/images/left.gif" VSPACE="0" BORDER="0" WIDTH="5" HEIGHT="18"></TD>
  230.         <TD CLASS="navoff" WIDTH="50" HEIGHT="18" ALIGN="CENTER"><A HREF="javascript:onLaunch('proxyhttp.fts')" CLASS="navoff">General</A></TD>
  231.         <TD BGCOLOR="black" WIDTH="1" HEIGHT="18" ALIGN="CENTER"><IMG SRC="/images/1pixel.gif" WIDTH="1" HEIGHT="18"></TD>
  232.         <TD CLASS="navon" WIDTH="55" HEIGHT="18" ALIGN="CENTER"><A HREF="javascript:onLaunch('controlhttp.fts')" CLASS="navon">Control</A></TD>
  233.         <TD BGCOLOR="black" WIDTH="1" HEIGHT="18" ALIGN="CENTER"><IMG SRC="/images/1pixel.gif" WIDTH="1" HEIGHT="18"></TD>
  234.         <TD CLASS="navoff" WIDTH="75" HEIGHT="18" ALIGN="CENTER"><A HREF="javascript:onLaunch('typeshttp.fts')" CLASS="navoff">Files Types</A></TD>
  235.         <TD BGCOLOR="black" WIDTH="1" HEIGHT="18" ALIGN="CENTER"><IMG SRC="/images/1pixel.gif" WIDTH="1" HEIGHT="18"></TD>
  236.         <TD CLASS="navoff" WIDTH="55" HEIGHT="18" ALIGN="CENTER"><A HREF="javascript:onLaunch('times.fts')" CLASS="navoff">Times</A></TD>
  237.         <TD BGCOLOR="black" WIDTH="1" HEIGHT="18" ALIGN="CENTER"><IMG SRC="/images/1pixel.gif" WIDTH="1" HEIGHT="18"></TD>
  238.         <TD CLASS="navoff" WIDTH="50" HEIGHT="18"ALIGN="CENTER"><A HREF="javascript:onLaunch('addressproxy.fts')" CLASS="navoff">Addresses</A></TD>
  239.         <TD WIDTH="5" HEIGHT="18"><IMG SRC="/images/right.gif" VSPACE="0" BORDER="0" WIDTH="5" HEIGHT="18"></TD>
  240.         <TD WIDTH="<%=bodywidth-299%>" HEIGHT="18"> </TD>
  241.   </TR>
  242. </TABLE>
  243. <!-- end of the tabs -->
  244.  
  245. <!-- start of the tab body -->
  246. <TABLE BORDER="0" BGCOLOR="<%=border%>" WIDTH="100%" CELLPADDING="0" CELLSPACING="0"><TR><TD>
  247. <TABLE <%=table%> CELLPADDING="0" CELLSPACING="0">
  248. <!-- start of block -->
  249. <TR>
  250. <TD VALIGN="TOP">
  251.   <TABLE BORDER="0" WIDTH="100%">
  252.         <!-- sub table goes here -->
  253.     <TR>
  254.       <TD>
  255.               <TABLE CLASS="box" WIDTH="100%">
  256.                     <TR>
  257.                         <TD>
  258.                             <TABLE BORDER="0" WIDTH="100%">
  259.                                 <TR>
  260.                                     <TD WIDTH="1%">Schedule for Internet connection</TD>
  261.                                     <TD>
  262.                                         <SELECT NAME="schedule" CLASS="SEL100" onChange="setModified(true)">
  263.                                             <%
  264.                                             var sched = new server.schedule
  265.  
  266.                                             var ok=sched.first()
  267.  
  268.                                             if (h.schedule=="")
  269.                                                 output.write("<OPTION VALUE=\"\" SELECTED>No Schedule</OPTION>")
  270.  
  271.                                             if (build()==FTGATE_PRO)
  272.                                             {
  273.                                                 while (ok)
  274.                                                 {
  275.                                                     output.write("<OPTION VALUE=\""+sched.name+"\"")
  276.                                                     if (sched.name==h.schedule)
  277.                                                         output.write(" SELECTED")
  278.  
  279.                                                     output.writeln(">"+sched.name+"</OPTION>")
  280.  
  281.                                                     ok=sched.next()
  282.                                                 }
  283.                                             }
  284.                                             else
  285.                                             {
  286.                                                 output.write("<OPTION VALUE=\""+sched.name+"\"")
  287.                                                 if (sched.name==h.schedule)
  288.                                                     output.write(" SELECTED")
  289.                                                 output.writeln(">Times A</OPTION>")
  290.                                                 sched.next()
  291.                                                 output.write("<OPTION VALUE=\""+sched.name+"\"")
  292.                                                 if (sched.name==h.schedule)
  293.                                                     output.write(" SELECTED")
  294.                                                 output.writeln(">Times B</OPTION>")
  295.                                             }
  296.                                             %>
  297.                                         </SELECT>
  298.                                     </TD>
  299.                                 </TR>
  300.                                 <TR>
  301.                                     <TD>Security method</TD>
  302.                                     <TD><INPUT TYPE="RADIO" NAME="sitesecurity" VALUE="<%=PSS_NOSECURITY%>" onClick="setModified(true)"
  303.                                     <% if (h.sitesecurity==PSS_NOSECURITY) output.write(" CHECKED")%>>Disable site security</TD>
  304.                                 </TR>
  305.                                 <TR>
  306.                                     <TD> </TD>
  307.                                     <TD><INPUT TYPE="RADIO" NAME="sitesecurity" VALUE="<%=PSS_BARRED%>" onClick="setModified(true)"
  308.                                     <% if (h.sitesecurity==PSS_BARRED) output.write(" CHECKED")%>>Reject connections to barred sites</TD>
  309.                                 </TR>
  310.                                 <TR>
  311.                                     <TD> </TD>
  312.                                     <TD><INPUT TYPE="RADIO" NAME="sitesecurity" VALUE="<%=PSS_PERMITTED%>" onClick="setModified(true)"
  313.                                     <% if (h.sitesecurity==PSS_PERMITTED) output.write(" CHECKED")%>>Only allow connections to permitted sites</TD>
  314.                                 </TR>
  315.                             </TABLE>
  316.                         </TD>
  317.                     </TR>
  318.                 </TABLE>
  319.             </TD>
  320.         </TR>
  321.         <!-- sub table ends here -->
  322.         <!-- sub table goes here -->
  323.     <TR>
  324.       <TD>
  325.               <TABLE CLASS="box" WIDTH="100%">
  326.                     <TR>
  327.                         <TD CLASS="box">
  328.                             <TABLE BORDER="0" WIDTH="100%">
  329.                                 <TR>
  330.                                     <TD STYLE="box">
  331.                                         <TABLE WIDTH="100%">
  332.                                             <TR><TH COLSPAN="3">Barred Sites</TH></TR>
  333.                                             <TR>
  334.                                                 <TD COLSPAN="2">
  335.                                                     <SELECT NAME="barredlist" SIZE="10" CLASS="SEL100">
  336.                                                         <%
  337.                                                         ok=h.barred.first()
  338.  
  339.                                                         while (ok)
  340.                                                         {
  341.                                                             output.write("<OPTION VALUE=\""+h.barred.name+"\"")
  342.                                                             output.write(">"+h.barred.name+"</OPTION>")
  343.                                                             ok=h.barred.next()
  344.                                                         }
  345.                                                         %>
  346.                                                     </SELECT>
  347.                                                 </TD>
  348.                                                 <TD VALIGN="TOP">
  349.                                          <A HREF="javascript:onRemove(document.ftgate.barredlist, 'deleteA', 1)"
  350.                                           onMouseDown="change('deleteA', 'delete', 1)"
  351.                                                     onMouseOut="change('deleteA', 'delete', 0)"><IMG SRC="<%=buttons%>delete.gif" NAME="deleteA" BORDER="0" WIDTH="20" HEIGHT="20" ALT="Remove banned site"></A>
  352.                                                 </TD>
  353.                                             </TR>
  354.                                             <TR>
  355.                                                 <TD>Site</TD>
  356.                                                 <TD><INPUT TYPE="TEXT" SIZE="<%=size30%>" NAME="barred"></TD>
  357.                                                 <TD>
  358.                                          <A HREF="javascript:onAdd(document.ftgate.barred, 'createA', 2)"
  359.                                           onMouseDown="change('createA', 'create', 1)"
  360.                                                     onMouseOut="change('createA', 'create', 0)"><IMG SRC="<%=buttons%>create.gif" NAME="createA" BORDER="0" WIDTH="20" HEIGHT="20" ALT="Add banned site"></A>
  361.                                                 </TD>
  362.                                             </TR>
  363.                                         </TABLE>
  364.                                     </TD>
  365.                                 </TR>
  366.                             </TABLE>
  367.                         </TD>
  368.                         <TD CLASS="box">
  369.                             <TABLE BORDER="0" WIDTH="100%">
  370.                                 <TR>
  371.                                     <TD STYLE="box">
  372.                                         <TABLE WIDTH="100%">
  373.                                             <TR><TH COLSPAN="3">Permitted Sites</TH></TR>
  374.                                             <TR>
  375.                                                 <TD COLSPAN="2">
  376.                                                     <SELECT NAME="permittedlist" SIZE="10" CLASS="SEL100">
  377.                                                         <%
  378.                                                         ok=h.permitted.first()
  379.  
  380.                                                         while (ok)
  381.                                                         {
  382.                                                             output.write("<OPTION VALUE=\""+h.permitted.name+"\"")
  383.                                                             output.write(">"+h.permitted.name+"</OPTION>")
  384.                                                             ok=h.permitted.next()
  385.                                                         }
  386.                                                         %>
  387.                                                     </SELECT>
  388.                                                 </TD>
  389.                                                 <TD VALIGN="TOP">
  390.                                          <A HREF="javascript:onRemove(document.ftgate.permittedlist, 'deleteB', 3)"
  391.                                           onMouseDown="change('deleteB', 'delete', 1)"
  392.                                                     onMouseOut="change('deleteB', 'delete', 0)"><IMG SRC="<%=buttons%>delete.gif" NAME="deleteB" BORDER="0" WIDTH="20" HEIGHT="20" ALT="Remove permitted site"></A>
  393.                                                 </TD>
  394.                                             </TR>
  395.                                             <TR>
  396.                                                 <TD>Site</TD>
  397.                                                 <TD><INPUT TYPE="TEXT" SIZE="<%=size30%>" NAME="permitted"></TD>
  398.                                                 <TD>
  399.                                          <A HREF="javascript:onAdd(document.ftgate.permitted, 'createB', 4)"
  400.                                           onMouseDown="change('createB', 'create', 1)"
  401.                                                     onMouseOut="change('createB', 'create', 0)"><IMG SRC="<%=buttons%>create.gif" NAME="createB" BORDER="0" WIDTH="20" HEIGHT="20" ALT="Add permitted site"></A>
  402.                                                 </TD>
  403.                                             </TR>
  404.                                         </TABLE>
  405.                                     </TD>
  406.                                 </TR>
  407.                             </TABLE>
  408.                         </TD>
  409.                     </TR>
  410.                 </TABLE>
  411.             </TD>
  412.         </TR>
  413.         <!-- sub table ends here -->
  414.         <!-- table footer goes here -->
  415.         <TR>
  416.             <TD ALIGN="RIGHT">
  417.                 <A HREF="javascript:onClose()"
  418.                 onMouseDown="change('closeA', 'ok', 1)"
  419.                 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>
  420.                 <A HREF="javascript:onCancel()"
  421.                 onMouseDown="change('cancelA', 'cancel', 1)"
  422.                 onMouseOut="change('cancelA', 'cancel', 0)"><IMG SRC="<%=buttons%>cancel.gif" NAME="cancelA" BORDER="0" WIDTH="50" HEIGHT="20" ALT="Cancel"></A>
  423.                 <A HREF="javascript:onApply()"
  424.                 onMouseDown="change('applyA', 'apply', 1)"
  425.                 onMouseOut="change('applyA', 'apply', 0)"><IMG SRC="<%=buttons%>apply.gif" NAME="applyA" BORDER="0" WIDTH="50" HEIGHT="20" ALT="Apply changes" HSPACE="5"></A>
  426.             </TD>
  427.         </TR>
  428.         <!-- table footer ends here -->
  429.   </TABLE>
  430. </TD>
  431. </TR>
  432. <!-- end of block -->
  433.  
  434. </TABLE>
  435. <!-- end of the tab body -->
  436. </TD></TR></TABLE>
  437.  
  438. <!-- footer starts here -->
  439. <SCRIPT LANGUAGE="JavaScript1.2" TYPE="text/javascript">
  440. <!--
  441.     var href="/services/controlhttp.fts?id=<%=id%>&type=5";
  442.     var bodywidth=<%=bodywidth%>;
  443. //-->
  444. </SCRIPT>
  445. <SCRIPT LANGUAGE="JavaScript1.2" SRC="/utility/footer.js" TYPE="text/javascript"></SCRIPT>
  446. <!-- footer ends here -->
  447. </FORM>
  448. </TD><TD WIDTH="10"> </TD></TR></TABLE>
  449. </BODY>
  450. </HTML>
  451.