home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2002 March / PCWMAR02.iso / software / windowsxp / ftgateoffice / ftgateoffice.exe / Main / smtp.fts < prev    next >
Encoding:
Text File  |  2001-11-29  |  12.8 KB  |  403 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 s = new server.smtp
  8. var id
  9. var smtp
  10. var pop3
  11. var http
  12. var ldap
  13.  
  14. session.system.error=0
  15.  
  16. if (form.config=="1")
  17. {
  18.     s.id = form.id
  19.     s.bindaddr = form.bindaddr
  20.     s.bindport = form.bindport
  21.     s.timeout = form.timeout
  22.     s.hopcount = form.hopcount
  23.     s.maxsize = form.maxsize
  24.     s.logall = (form.logall=="on")
  25.     s.ip.loglocal = (form.loglocal=="on")
  26.     s.welcome = form.welcome
  27.  
  28.     id = form.id
  29.  
  30.   if (form.redirect!="")
  31.     output.redirect(form.redirect+"?id="+id+"&type=smtp")
  32. }
  33. else if (form.config=="2")
  34. {
  35.   if (form.redirect!="")
  36.     output.redirect(form.redirect+"?id="+form.id+"&type=smtp")
  37. }
  38. else
  39. {
  40.     s.id = request.id
  41.     id = request.id
  42.  
  43.     smtp=request.smtp
  44.     pop3=request.pop3
  45.     http=request.http
  46.     ldap=request.ldap
  47. }
  48. %>
  49. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
  50. <HTML>
  51. <HEAD>
  52. <LINK REL=STYLESHEET HREF="/utility/main<%=nn4%>.css" TYPE="text/css">
  53. <META name="GENERATOR" content="Microsoft Developer Studio">
  54. <META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  55. <TITLE>Services -- SMTP General</TITLE>
  56.  
  57. <SCRIPT LANGUAGE="JavaScript1.2" TYPE="text/javascript">
  58. <!--
  59. var dir="<%=buttons%>";
  60. var pro=<%=build()==FTGATE_PRO%>;
  61.  
  62. if (!document.images) {}
  63. else {
  64.   plus0 = new Image();
  65.   plus0.src  = dir+"open.gif";
  66.   plus1 = new Image();
  67.   plus1.src = dir+"openon.gif";
  68.   minus0 = new Image();
  69.   minus0.src  = dir+"close.gif";
  70.   minus1 = new Image();
  71.   minus1.src = dir+"closeon.gif";
  72. }
  73.  
  74. <%
  75. if (netscape)
  76. {
  77.   %>
  78.   document.captureEvents(Event.KEYPRESS);
  79.   document.onkeypress = keypress;
  80.  
  81.   function keypress(event)
  82.   {
  83.     if (event.which==13)
  84.     {
  85.       onApply();
  86.       return false;
  87.     }
  88.  
  89.     return true;
  90.   }
  91.   <%
  92. }
  93. else
  94. {
  95.   %>
  96.   function keypress()
  97.   {
  98.     if (event.keyCode==13)
  99.     {
  100.       event.returnValue=null;
  101.       onApply();
  102.     }
  103.   }
  104.   <%
  105. }
  106. %>
  107.  
  108. function onLoad()
  109. {
  110.     setPage(5, "SMTP Service");
  111.     document.ftgate.timeout.value = toNicePeriod(<%=s.timeout%>);
  112.     document.ftgate.maxsize.value = toNiceBytes(<%=s.maxsize%>);
  113.  
  114.   document.ftgate.bindaddr.focus();
  115. }
  116.  
  117. function isOK(form)
  118. {
  119.     if (!isPort(form.bindport.value))
  120.     {
  121.         alert(errPort);
  122.         form.bindport.focus();
  123.         return false;
  124.     }
  125.  
  126.     if (!isPeriod(form.timeout.value))
  127.     {
  128.         alert(errPeriod);
  129.         form.timeout.focus()
  130.         return false;
  131.     }
  132.  
  133.     if (!isPositive(form.hopcount.value))
  134.     {
  135.         alert(errPositive);
  136.         form.hopcount.focus()
  137.         return false;
  138.     }
  139.  
  140.     if (!isBytes(form.maxsize.value))
  141.     {
  142.         window.alert(errBytes);
  143.         form.maxsize.focus();
  144.         return false;
  145.     }
  146.  
  147.     form.timeout.value = fromNicePeriod(form.timeout.value);
  148.     form.maxsize.value = fromNiceBytes(form.maxsize.value);
  149.  
  150.   return true;
  151. }
  152.  
  153. function onUpEdit(el, name, type)
  154. {
  155.   change(name, 'plus', 0);
  156.  
  157.   switch (type)
  158.   {
  159.     case 1:
  160.       onUpPeriod(el);
  161.       break;
  162.  
  163.     case 2:
  164.       onUp(el);
  165.       break;
  166.  
  167.     case 3:
  168.       onUpBytes(el);
  169.   }
  170.  
  171.     setModified(true);
  172. }
  173.  
  174. function onDownEdit(el, name, type)
  175. {
  176.   change(name, 'minus', 0);
  177.  
  178.   switch (type)
  179.   {
  180.     case 1:
  181.       onDownPeriod(el);
  182.       break;
  183.  
  184.     case 2:
  185.       onDown(el);
  186.       break;
  187.  
  188.     case 3:
  189.       onDownBytes(el);
  190.   }
  191.  
  192.     setModified(true);
  193. }
  194. //-->
  195. </SCRIPT>
  196. <SCRIPT LANGUAGE="JavaScript1.2" SRC="/utility/cookies.js" TYPE="text/javascript"></SCRIPT>
  197. <SCRIPT LANGUAGE="JavaScript1.2" SRC="/utility/core.js" TYPE="text/javascript"></SCRIPT>
  198. <SCRIPT LANGUAGE="JavaScript1.2" SRC="/utility/time.js" TYPE="text/javascript"></SCRIPT>
  199. <SCRIPT LANGUAGE="JavaScript1.2" SRC="/utility/spin.js" TYPE="text/javascript"></SCRIPT>
  200. <SCRIPT LANGUAGE="JavaScript1.2" SRC="/utility/dialog.js" TYPE="text/javascript"></SCRIPT>
  201. </HEAD>
  202.  
  203. <BODY BGCOLOR="white" onLoad="onLoad()" MARGINHEIGHT="0" MARGINWIDTH="0" onkeypress="keypress()">
  204.  
  205. <TABLE BORDER="0" BGCOLOR="<%=border%>" WIDTH="<%=bodywidth%>" HEIGHT="<%=bodyheight%>" CELLPADDING="0" CELLSPACING="0"><TR><TD> </TD><TD VALIGN="TOP">
  206.  
  207. <A HREF="index.fts"><SPAN ID="top">Services</SPAN></A><SPAN ID="top"> /</SPAN>
  208. <SPAN ID="topsel"><%=s.name%></SPAN>
  209.  
  210. <FORM NAME="ftgate" METHOD="POST" onSubmit="return isOK(this)" ACTION="smtp.fts">
  211. <!-- hidden variables -->
  212. <INPUT TYPE="HIDDEN" NAME="config" VALUE="1">
  213. <INPUT TYPE="HIDDEN" NAME="id" VALUE="<%=id%>">
  214. <INPUT TYPE="HIDDEN" NAME="redirect" VALUE="">
  215.  
  216. <!-- start of the tabs -->
  217. <%
  218. if (build()==FTGATE_PRO)
  219. {
  220. %>
  221. <TABLE BORDER="0" WIDTH="100%" CELLSPACING="0" CELLPADDING="0">
  222.   <TR>
  223.         <TD WIDTH="5" HEIGHT="18"><IMG SRC="/images/left-s.gif" VSPACE="0" BORDER="0" WIDTH="5" HEIGHT="18"></TD>
  224.         <TD CLASS="navon" WIDTH="50" HEIGHT="18" ALIGN="CENTER"><A HREF="javascript:onLaunch('smtp.fts')" CLASS="navon">General</A></TD>
  225.         <TD BGCOLOR="black" WIDTH="1" HEIGHT="18" ALIGN="CENTER"><IMG SRC="/images/1pixel.gif" WIDTH="1" HEIGHT="18"></TD>
  226.         <TD CLASS="navoff" WIDTH="55" HEIGHT="18" ALIGN="CENTER"><A HREF="javascript:onLaunch('attached.fts')" CLASS="navoff">Domains</A></TD>
  227.         <TD BGCOLOR="black" WIDTH="1" HEIGHT="18" ALIGN="CENTER"><IMG SRC="/images/1pixel.gif" WIDTH="1" HEIGHT="18"></TD>
  228.         <TD CLASS="navoff" WIDTH="55" HEIGHT="18" ALIGN="CENTER"><A HREF="javascript:onLaunch('securitysmtp.fts')" CLASS="navoff">Security</A></TD>
  229.         <TD BGCOLOR="black" WIDTH="1" HEIGHT="18" ALIGN="CENTER"><IMG SRC="/images/1pixel.gif" WIDTH="1" HEIGHT="18"></TD>
  230.         <TD CLASS="navoff" WIDTH="50" HEIGHT="18"ALIGN="CENTER"><A HREF="javascript:onLaunch('addresssmtp.fts')" CLASS="navoff">Addresses</A></TD>
  231.         <TD WIDTH="5" HEIGHT="18"><IMG SRC="/images/right.gif" VSPACE="0" BORDER="0" WIDTH="5" HEIGHT="18"></TD>
  232.         <TD WIDTH="<%=bodywidth-223%>" HEIGHT="18"> </TD>
  233.   </TR>
  234. </TABLE>
  235. <%
  236. }
  237. else
  238. {
  239. %>
  240. <TABLE BORDER="0" WIDTH="100%" CELLSPACING="0" CELLPADDING="0">
  241.   <TR>
  242.         <TD WIDTH="5" HEIGHT="18"><IMG SRC="/images/left-s.gif" VSPACE="0" BORDER="0" WIDTH="5" HEIGHT="18"></TD>
  243.         <TD CLASS="navon" WIDTH="50" HEIGHT="18" ALIGN="CENTER"><A HREF="javascript:onLaunch('smtp.fts')" CLASS="navon">General</A></TD>
  244.         <TD BGCOLOR="black" WIDTH="1" HEIGHT="18" ALIGN="CENTER"><IMG SRC="/images/1pixel.gif" WIDTH="1" HEIGHT="18"></TD>
  245.         <TD CLASS="navoff" WIDTH="55" HEIGHT="18" ALIGN="CENTER"><A HREF="javascript:onLaunch('securitysmtp.fts')" CLASS="navoff">Security</A></TD>
  246.         <TD BGCOLOR="black" WIDTH="1" HEIGHT="18" ALIGN="CENTER"><IMG SRC="/images/1pixel.gif" WIDTH="1" HEIGHT="18"></TD>
  247.         <TD CLASS="navoff" WIDTH="50" HEIGHT="18"ALIGN="CENTER"><A HREF="javascript:onLaunch('addresssmtp.fts')" CLASS="navoff">Addresses</A></TD>
  248.         <TD WIDTH="5" HEIGHT="18"><IMG SRC="/images/right.gif" VSPACE="0" BORDER="0" WIDTH="5" HEIGHT="18"></TD>
  249.         <TD WIDTH="<%=bodywidth-167%>" HEIGHT="18"> </TD>
  250.   </TR>
  251. </TABLE>
  252. <%
  253. }
  254. %>
  255. <!-- end of the tabs -->
  256.  
  257. <!-- start of the tab body -->
  258. <TABLE BORDER="0" BGCOLOR="<%=border%>" WIDTH="100%" CELLPADDING="0" CELLSPACING="0"><TR><TD>
  259. <TABLE <%=table%> CELLPADDING="0" CELLSPACING="0">
  260. <!-- start of block -->
  261. <TR>
  262. <TD VALIGN="TOP"> 
  263.   <TABLE BORDER="0" WIDTH="100%">
  264.         <!-- sub table goes here -->
  265.          <TR>
  266.             <TD>
  267.                 <TABLE CLASS="box" WIDTH="100%">
  268.                     <TR>
  269.                         <TD>
  270.                             <TABLE BORDER="0" WIDTH="100%">
  271.                                 <TR>
  272.                                     <TD>Address</TD>
  273.                                     <TD>
  274.                                         <SELECT NAME="bindaddr">
  275.                                         <%
  276.                                             output.write("<OPTION VALUE=\"\" ")
  277.                                             if (s.bindaddr==0)
  278.                                                 output.write("SELECTED")
  279.                                             output.writeln(">Any unbound address</OPTION>")
  280.                                             
  281.                                             var str=s.bindaddrlist
  282.                                             var pos=0
  283.                                             var i=str.indexof(";", pos)
  284.  
  285.                                             while (i!=-1)
  286.                                             {
  287.                                                 var entry = str.slice(pos, i)
  288.  
  289.                                                 output.write("<OPTION VALUE=\""+entry+"\" ")
  290.                                                 if (entry==s.bindaddr)
  291.                                                     output.write("SELECTED")
  292.                                                 output.writeln(">"+entry+"</OPTION>")
  293.  
  294.                                                 pos=i+1
  295.                                                 i=str.indexof(";", pos)
  296.                                             }
  297.                                         %>
  298.                                         </SELECT>
  299.                                     </TD>
  300.                                     <TD>Port</TD>
  301.                                     <TD><INPUT TYPE="TEXT" NAME="bindport" VALUE="<%=s.bindport%>" SIZE="<%=size5%>" onChange="setModified(true)"></TD>
  302.                                 </TR>
  303.                                 <TR>
  304.                                     <TD>SMTP idle timeout</TD>
  305.                                     <TD COLSPAN="3">
  306.                                         <INPUT TYPE="TEXT" NAME="timeout" VALUE="<%=s.timeout%>" SIZE="<%=size5%>" onChange="setModified(true)">
  307.                                         <A HREF="javascript:onUpEdit(document.ftgate.timeout, 'plusA', 1)"
  308.                                         onMouseDown="change('plusA', 'plus', 1)"
  309.                                         onMouseOut="change('plusA', 'plus', 0)"><IMG SRC="<%=buttons%>open.gif" NAME="plusA" BORDER="0" WIDTH="20" HEIGHT="20" ALT="Increment"></A>
  310.                                         <A HREF="javascript:onDownEdit(document.ftgate.timeout, 'minusA', 1)"
  311.                                         onMouseDown="change('minusA', 'minus', 1)"
  312.                                         onMouseOut="change('minusA', 'minus', 0)"><IMG SRC="<%=buttons%>close.gif" NAME="minusA" BORDER="0" WIDTH="20" HEIGHT="20" ALT="Decrement"></A>
  313.                                     </TD>
  314.                                 </TR>
  315.                                 <TR>
  316.                                     <TD>Custom SMTP Welcome Text (leave blank for standard system  welcome message</TD>
  317.                                     <TD COLSPAN="3">
  318.                                         <INPUT TYPE="TEXT" NAME="welcome" VALUE="<%=s.welcome%>" SIZE="<%=size40%>" onChange="setModified(true)">
  319.                                     </TD>
  320.                                 </TR>
  321.                                 <TR>
  322.                                     <TD COLSPAN="2" NOWRAP>Reject Messages that have had more than</TD>
  323.                                     <TD COLSPAN="2" NOWRAP>
  324.                                         <INPUT TYPE="TEXT" NAME="hopcount" VALUE="<%=s.hopcount%>" SIZE="<%=size5%>" onChange="setModified(true)">
  325.                                         <A HREF="javascript:onUpEdit(document.ftgate.hopcount, 'plusB', 2)"
  326.                                         onMouseDown="change('plusB', 'plus', 1)"
  327.                                         onMouseOut="change('plusB', 'plus', 0)"><IMG SRC="<%=buttons%>open.gif" NAME="plusB" BORDER="0" WIDTH="20" HEIGHT="20" ALT="Increment"></A>
  328.                                         <A HREF="javascript:onDownEdit(document.ftgate.hopcount, 'minusB', 2)"
  329.                                         onMouseDown="change('minusB', 'minus', 1)"
  330.                                         onMouseOut="change('minusB', 'minus', 0)"><IMG SRC="<%=buttons%>close.gif" NAME="minusB" BORDER="0" WIDTH="20" HEIGHT="20" ALT="Decrement"></A>
  331.                                         hops
  332.                                     </TD>
  333.                                 </TR>
  334.                                 <TR>
  335.                                     <TD COLSPAN="2" NOWRAP>Reject messages that are larger than</TD>
  336.                                     <TD COLSPAN="2">
  337.                                         <INPUT TYPE="TEXT" NAME="maxsize" VALUE="<%=s.maxsize%>" SIZE="<%=size5%>" onChange="setModified(true)">
  338.                                         <A HREF="javascript:onUpEdit(document.ftgate.maxsize, 'plusC', 3)"
  339.                                         onMouseDown="change('plusC', 'plus', 1)"
  340.                                         onMouseOut="change('plusC', 'plus', 0)"><IMG SRC="<%=buttons%>open.gif" NAME="plusC" BORDER="0" WIDTH="20" HEIGHT="20" ALT="Increment"></A>
  341.                                         <A HREF="javascript:onDownEdit(document.ftgate.maxsize, 'minusC', 3)"
  342.                                         onMouseDown="change('minusC', 'minus', 1)"
  343.                                         onMouseOut="change('minusC', 'minus', 0)"><IMG SRC="<%=buttons%>close.gif" NAME="minusC" BORDER="0" WIDTH="20" HEIGHT="20" ALT="Decrement"></A>
  344.                                     </TD>
  345.                                 </TR>
  346.                                 <TR>
  347.                                     <TD> </TD>
  348.                                     <TD COLSPAN="3" NOWRAP>
  349.                                         <INPUT TYPE="CHECKBOX" NAME="logall" onClick="setModified(true)"
  350.                                         <% if (s.logall) output.write("CHECKED") %>>Add all SMTP output to log
  351.                                     </TD>
  352.                                 </TR>
  353.                                 <TR>
  354.                                     <TD> </TD>
  355.                                     <TD COLSPAN="3" NOWRAP>
  356.                                         <INPUT TYPE="CHECKBOX" NAME="loglocal" onClick="setModified(true)"
  357.                                         <% if (s.ip.loglocal) output.write("CHECKED") %>>Log local connections
  358.                                     </TD>
  359.                                 </TR>
  360.                             </TABLE>
  361.                         </TD>
  362.                     </TR>
  363.                 </TABLE>
  364.             </TD>
  365.         </TR>
  366.         <!-- sub table ends here -->
  367.         <!-- table footer goes here -->
  368.         <TR>
  369.             <TD ALIGN="RIGHT">
  370.                 <A HREF="javascript:onClose()"
  371.                 onMouseDown="change('closeA', 'ok', 1)"
  372.                 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>
  373.                 <A HREF="javascript:onCancel()"
  374.                 onMouseDown="change('cancelA', 'cancel', 1)"
  375.                 onMouseOut="change('cancelA', 'cancel', 0)"><IMG SRC="<%=buttons%>cancel.gif" NAME="cancelA" BORDER="0" WIDTH="50" HEIGHT="20" ALT="Cancel"></A>
  376.                 <A HREF="javascript:onApply()"
  377.                 onMouseDown="change('applyA', 'apply', 1)"
  378.                 onMouseOut="change('applyA', 'apply', 0)"><IMG SRC="<%=buttons%>apply.gif" NAME="applyA" BORDER="0" WIDTH="50" HEIGHT="20" ALT="Apply changes" HSPACE="5"></A>
  379.             </TD>
  380.         </TR>
  381.   </TABLE>
  382.     <!-- sub table ends here -->
  383. </TD>
  384. </TR>
  385. <!-- end of block -->
  386. </TABLE>
  387. <!-- end of the tab body -->
  388. </TD></TR></TABLE>
  389.  
  390. <!-- footer starts here -->
  391. <SCRIPT LANGUAGE="JavaScript1.2" TYPE="text/javascript">
  392. <!--
  393.     var href="/services/smtp.fts?id=<%=id%>";
  394.     var bodywidth=<%=bodywidth%>;
  395. //-->
  396. </SCRIPT>
  397. <SCRIPT LANGUAGE="JavaScript1.2" SRC="/utility/footer.js" TYPE="text/javascript"></SCRIPT>
  398. <!-- footer ends here -->
  399. </FORM>
  400. </TD><TD WIDTH="10"> </TD></TR></TABLE>
  401. </BODY>
  402. </HTML>
  403.