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

  1. <%
  2. #include </utility/security.fts>
  3. #include </utility/global.fts>
  4. #include </utility/theme.fts>
  5. #include </utility/ftgate.fts>
  6.  
  7. function status(state)
  8. {
  9.     if (state==TRK_SUBMITTED)
  10.         output.write("Submitted")
  11.     else if (state==TRK_DELIVERED)
  12.         output.write("Delivered")
  13.     else if (state==TRK_QUEUED)
  14.         output.write("Queued")
  15.     else if (state==TRK_QUARANTINED)
  16.         output.write("Quarantined")
  17.     else if (state==TRK_BOUNCED)
  18.         output.write("Bounced")
  19.     else if (state==TRK_KILLED)
  20.         output.write("Killed")
  21.     else if (state==TRK_SENT)
  22.         output.write("Sent")
  23. }
  24.  
  25. var t=new server.tracking
  26.  
  27. var elements
  28.  
  29. var id=""
  30. var original=""
  31. var from=""
  32. var to=""
  33. var subject=""
  34.  
  35. if (request.search)
  36. {
  37.     id = request.id
  38.     original = request.original
  39.     from = request.from
  40.     to = request.to
  41.     subject = request.subject
  42.     session.tracking.start=0
  43. }
  44.  
  45. // Set up list parameters
  46. //
  47. if (request.elements!="")
  48. {
  49.     session.tracking.start=number(request.start)
  50.     if (session.tracking.start<0)
  51.         session.tracking.start=0
  52.  
  53.     elements = number(request.elements)
  54.     
  55.     if (elements<1)
  56.         elements=10
  57. }
  58. else
  59. {
  60.     session.tracking.start=0
  61.  
  62.     if (session.tracking.find=="")
  63.         session.tracking.find="*"
  64.  
  65.     if (number(session.tracking.elements)==0)
  66.     {
  67.         session.tracking.elements = application.tracking.elements
  68.  
  69.         if (number(session.tracking.elements)==0)
  70.             session.tracking.elements=10
  71.     }
  72.  
  73.     elements=number(session.tracking.elements)
  74. }
  75.  
  76. application.tracking.elements = elements
  77. session.tracking.elements = elements
  78. %>
  79. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
  80. <HTML>
  81. <HEAD>
  82. <LINK REL=STYLESHEET HREF="/utility/main<%=nn4%>.css" TYPE="text/css">
  83. <META NAME="GENERATOR" CONTENT="Microsoft Developer Studio">
  84. <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
  85. <TITLE>Information -- Tracking</TITLE>
  86.  
  87. <SCRIPT LANGUAGE="JavaScript1.2" TYPE="text/javascript">
  88. <!--
  89. var dir="<%=buttons%>";
  90. var pro=<%=build()==FTGATE_PRO%>;
  91.  
  92. if (!document.images) {}
  93. else {
  94.     refresh0 = new Image();
  95.     refresh0.src  = dir+"refresh.gif";
  96.     refresh1 = new Image();
  97.     refresh1.src = dir+"refreshon.gif";
  98.     details0 = new Image();
  99.     details0.src  = dir+"view.gif";
  100.     details1 = new Image();
  101.     details1.src = dir+"viewon.gif";
  102.     next0 = new Image();
  103.     next0.src  = dir+"next.gif";
  104.     next1 = new Image();
  105.     next1.src = dir+"nexton.gif";
  106.     prev0 = new Image();
  107.     prev0.src  = dir+"prev.gif";
  108.     prev1 = new Image();
  109.     prev1.src = dir+"prevon.gif";
  110. }
  111.  
  112. function change(Name,Image,No)
  113. {
  114.   if (!document.images) {}
  115.   else document [Name].src = eval(Image + No + ".src");
  116. }
  117.  
  118. <%
  119. if (netscape)
  120. {
  121.     %>
  122.     document.captureEvents(Event.KEYPRESS);
  123.     document.onkeypress = keypress;
  124.  
  125.     function keypress(event)
  126.     {
  127.         if (event.which==13)
  128.         {
  129.             onSearch();
  130.             return false;
  131.         }
  132.  
  133.         return true;
  134.     }
  135.     <%
  136. }
  137. else
  138. {
  139.     %>
  140.     function keypress()
  141.     {
  142.         if (event.keyCode==13)
  143.         {
  144.             event.returnValue=null;
  145.             onSearch();
  146.         }
  147.     }
  148.     <%
  149. }
  150. %>
  151.  
  152. function onLoad()
  153. {
  154.     setPage(1, "Tracking Information");
  155.     <%
  156.     if (request.search)
  157.         output.writeln("document.ftgate.id.focus();")
  158.     else
  159.         output.writeln("document.ftgate.from.focus();")
  160.     %>
  161. }
  162.  
  163. function onLaunch(href)
  164. {
  165.     window.location.href=href;
  166. }
  167.  
  168. function isOK()
  169. {
  170.     return true;
  171. }
  172.  
  173. function onNext()
  174. {
  175.     start = <%=session.tracking.start%>+<%=elements%>;
  176.     window.location.href = "tracking.fts?search=1"+
  177.                                                     "&start="+start+
  178.                                                     "&elements=<%=elements%>"+
  179.                                                     "&id=<%=id%>"+
  180.                                                     "&original=<%=original%>"+
  181.                                                     "&from=<%=from%>"+
  182.                                                     "&to=<%=to%>"+
  183.                                                     "&subject=<%=subject%>";
  184. }
  185.  
  186. function onPrev()
  187. {
  188.     start = <%=session.tracking.start%>-<%=elements%>;
  189.     if (start<0)
  190.         start=0
  191.  
  192.     window.location.href = "tracking.fts?search=1"+
  193.                                                     "&start="+start+
  194.                                                     "&elements=<%=elements%>"+
  195.                                                     "&id=<%=id%>"+
  196.                                                     "&original=<%=original%>"+
  197.                                                     "&from=<%=from%>"+
  198.                                                     "&to=<%=to%>"+
  199.                                                     "&subject=<%=subject%>";
  200. }
  201.  
  202. function onSearch()
  203. {
  204.     var href = "tracking.fts?search=1"+
  205.                                                     "&elements="+document.ftgate.elements.value+
  206.                                                     <%
  207.                                                     if (request.search)
  208.                                                     {
  209.                                                         %>
  210.                                                         "&id="+document.ftgate.id.value+
  211.                                                         "&original="+document.ftgate.original.value+
  212.                                                         <%
  213.                                                     }
  214.                                                     %>
  215.                                                     "&from="+document.ftgate.from.value+
  216.                                                     "&to="+document.ftgate.to.value+
  217.                                                     "&subject="+document.ftgate.subject.value;
  218.     window.location.href = href;
  219. }
  220.  
  221. function onFrom(from)
  222. {
  223.     var href = "tracking.fts?search=1"+
  224.                                                     "&elements=<%=elements%>"+
  225.                                                     "&id=<%=id%>"+
  226.                                                     "&original=<%=original%>"+
  227.                                                     "&from="+from+
  228.                                                     "&to=<%=to%>"+
  229.                                                     "&subject=<%=subject%>";
  230.  
  231.     window.location.href = href;
  232. }
  233.  
  234. function onTo(to)
  235. {
  236.     var href = "tracking.fts?search=1"+
  237.                                                     "&elements=<%=elements%>"+
  238.                                                     "&id=<%=id%>"+
  239.                                                     "&original=<%=original%>"+
  240.                                                     "&from=<%=from%>"+
  241.                                                     "&to="+to+
  242.                                                     "&subject=<%=subject%>";
  243.  
  244.     window.location.href = href;
  245. }
  246.  
  247. function onSubject(subject)
  248. {
  249.     var href = "tracking.fts?search=1"+
  250.                                                     "&elements=<%=elements%>"+
  251.                                                     "&id=<%=id%>"+
  252.                                                     "&original=<%=original%>"+
  253.                                                     "&from=<%=from%>"+
  254.                                                     "&to=<%=to%>"+
  255.                                                     "&subject=*"+subject;
  256.  
  257.     window.location.href = href;
  258. }
  259.  
  260.  
  261. function onDetails(id)
  262. {
  263.     var href = "/main.fts?href=/info/details.fts?id=<%=id%>"+
  264.                                                     "&original=<%=original%>"+
  265.                                                     "&from=<%=from%>"+
  266.                                                     "&to=<%=to%>"+
  267.                                                     "&subject=<%=subject%>"+
  268.                                                     "&track="+id;
  269.  
  270.     var details = window.open(href, "_blank");
  271.     details.focus();
  272. }
  273.  
  274. function onLaunch(href)
  275. {
  276.     window.location.href=href;
  277. }
  278.  
  279. function onMessage(id)
  280. {
  281.     var href = "tracking.fts?search=1"+
  282.                                                     "&elements=<%=elements%>"+
  283.                                                     "&id="+id+
  284.                                                     "&original="+document.ftgate.original.value+
  285.                                                     "&from="+document.ftgate.from.value+
  286.                                                     "&to="+document.ftgate.to.value+
  287.                                                     "&subject="+document.ftgate.subject.value;
  288.     window.location.href = href;
  289. }
  290.  
  291. function onOriginal(original)
  292. {
  293.     var href = "tracking.fts?search=1"+
  294.                                                     "&elements=<%=elements%>"+
  295.                                                     "&id="+document.ftgate.id.value+
  296.                                                     "&original="+original+
  297.                                                     "&from="+document.ftgate.from.value+
  298.                                                     "&to="+document.ftgate.to.value+
  299.                                                     "&subject="+document.ftgate.subject.value;
  300.  
  301.     window.location.href = href;
  302. }
  303. //-->
  304. </SCRIPT>
  305. <SCRIPT LANGUAGE="JavaScript1.2" SRC="/utility/cookies.js" TYPE="text/javascript"></SCRIPT>
  306. <SCRIPT LANGUAGE="JavaScript1.2" SRC="/utility/core.js" TYPE="text/javascript"></SCRIPT>
  307. </HEAD>
  308.  
  309. <BODY BGCOLOR="white" onLoad="onLoad()" MARGINHEIGHT="0" MARGINWIDTH="0" onkeypress="keypress()">
  310.  
  311. <TABLE BORDER="0" BGCOLOR="<%=border%>" WIDTH="<%=bodywidth%>" HEIGHT="<%=bodyheight%>" CELLPADDING="0" CELLSPACING="0"><TR><TD> </TD><TD VALIGN="TOP">
  312.  
  313. <SPAN ID="topsel">Information</SPAN>
  314.  
  315. <FORM NAME="ftgate" METHOD="POST" ACTION="">
  316.  
  317. <!-- start of the tabs -->
  318. <TABLE BORDER="0" WIDTH="100%" CELLSPACING="0" CELLPADDING="0">
  319.   <TR>
  320.         <TD WIDTH="5" HEIGHT="18"><IMG SRC="/images/left.gif" VSPACE="0" BORDER="0" WIDTH="5" HEIGHT="18"></TD>
  321.         <TD CLASS="navoff" WIDTH="50" HEIGHT="18" ALIGN="CENTER"><A HREF="javascript:onLaunch('index.fts')" CLASS="navoff">General</A></TD>
  322.         <TD BGCOLOR="black" WIDTH="1" HEIGHT="18" ALIGN="CENTER"><IMG SRC="/images/1pixel.gif" WIDTH="1" HEIGHT="18"></TD>
  323.         <TD CLASS="navoff" WIDTH="55" HEIGHT="18" ALIGN="CENTER"><A HREF="javascript:onLaunch('stats.fts')" CLASS="navoff">Stats</A></TD>
  324.         <TD BGCOLOR="black" WIDTH="1" HEIGHT="18" ALIGN="CENTER"><IMG SRC="/images/1pixel.gif" WIDTH="1" HEIGHT="18"></TD>
  325.         <%
  326.         if (build()==FTGATE_PRO)
  327.         {
  328.             %>
  329.             <TD CLASS="navoff" WIDTH="55" HEIGHT="18"ALIGN="CENTER"><A HREF="javascript:onLaunch('queues.fts')" CLASS="navoff">Queues</A></TD>
  330.             <%
  331.         }
  332.         else
  333.         {
  334.             %>
  335.             <TD CLASS="navoff" WIDTH="55" HEIGHT="18"ALIGN="CENTER"><A HREF="javascript:onLaunch('queue.fts')" CLASS="navoff">Queue</A></TD>
  336.             <%
  337.         }
  338.         %>
  339.         <TD BGCOLOR="black" WIDTH="1" HEIGHT="18" ALIGN="CENTER"><IMG SRC="/images/1pixel.gif" WIDTH="1" HEIGHT="18"></TD>
  340.         <TD CLASS="navoff" WIDTH="55" HEIGHT="18" ALIGN="CENTER"><A HREF="javascript:onLaunch('activity.fts')" CLASS="navoff">Activity</A></TD>
  341.         <TD BGCOLOR="black" WIDTH="1" HEIGHT="18" ALIGN="CENTER"><IMG SRC="/images/1pixel.gif" WIDTH="1" HEIGHT="18"></TD>
  342.         <TD CLASS="navoff" WIDTH="55" HEIGHT="18" ALIGN="CENTER"><A HREF="javascript:onLaunch('log.fts')" CLASS="navoff">Log</A></TD>
  343.         <TD BGCOLOR="black" WIDTH="1" HEIGHT="18" ALIGN="CENTER"><IMG SRC="/images/1pixel.gif" WIDTH="1" HEIGHT="18"></TD>
  344.         <TD CLASS="navon" WIDTH="50" HEIGHT="18" ALIGN="CENTER"><A HREF="javascript:onLaunch('tracking.fts')" CLASS="navon">Tracking</A></TD>
  345.         <TD WIDTH="5" HEIGHT="18"><IMG SRC="/images/right-s.gif" VSPACE="0" BORDER="0" WIDTH="5" HEIGHT="18"></TD>
  346.         <TD WIDTH="<%=bodywidth-336%>" HEIGHT="18"> </TD>
  347.   </TR>
  348. </TABLE>
  349. <!-- end of the tabs -->
  350.  
  351. <!-- start of the tab body -->
  352. <TABLE BORDER="0" BGCOLOR="<%=border%>" WIDTH="100%" CELLPADDING="0" CELLSPACING="0"><TR><TD>
  353. <TABLE <%=table%> CELLPADDING="0" CELLSPACING="0">
  354. <TR>
  355. <TD VALIGN="TOP">
  356.   <!-- sub table goes here -->
  357.     <TABLE BORDER="0" WIDTH="100%">
  358.         <TR>
  359.             <TD>
  360.                 <TABLE CLASS="box" WIDTH="100%">
  361.                     <TR>
  362.                         <TD>
  363.                             <TABLE BORDER="0" WIDTH="100%">
  364.                                 <TR>
  365.                                     <TH COLSPAN="3">Search Criteria</TH>
  366.                                 </TR>
  367.                                 <%
  368.                                 if (request.search)
  369.                                 {
  370.                                     %>
  371.                                     <TR>
  372.                                         <TD>ID</TD>
  373.                                         <TD><INPUT TYPE="TEXT" NAME="id" VALUE="<%=id%>" SIZE="<%=size20%>"></TD>
  374.                                         <TD>Original ID</TD>
  375.                                         <TD><INPUT TYPE="TEXT" NAME="original" VALUE="<%=original%>" SIZE="<%=size20%>"></TD>
  376.                                         <TD ROWSPAN="4" VALIGN="TOP">
  377.                                             <A HREF="javascript:onSearch()" onMouseDown="change('refreshA', 'refresh', 1)" onMouseOut="change('refreshA', 'refresh', 0)"><IMG SRC="<%=buttons%>refresh.gif" NAME="refreshA" BORDER="0" WIDTH="20" HEIGHT="20" ALT="Perform Search"></A>
  378.                                         </TD>
  379.                                     </TR>
  380.                                     <TR>
  381.                                         <TD>From</TD>
  382.                                         <TD><INPUT TYPE="TEXT" NAME="from" VALUE="<%=from%>" SIZE="<%=size20%>"></TD>
  383.                                         <TD>To</TD>
  384.                                         <TD><INPUT TYPE="TEXT" NAME="to" VALUE="<%=to%>" SIZE="<%=size20%>"></TD>
  385.                                     </TR>
  386.                                     <%
  387.                                 }
  388.                                 else
  389.                                 {
  390.                                     %>
  391.                                     <TR>
  392.                                         <TD>From</TD>
  393.                                         <TD><INPUT TYPE="TEXT" NAME="from" VALUE="<%=from%>" SIZE="<%=size20%>"></TD>
  394.                                         <TD>To</TD>
  395.                                         <TD><INPUT TYPE="TEXT" NAME="to" VALUE="<%=to%>" SIZE="<%=size20%>"></TD>
  396.                                         <TD ROWSPAN="2" VALIGN="TOP">
  397.                                             <A HREF="javascript:onSearch()" onMouseDown="change('refreshA', 'refresh', 1)" onMouseOut="change('refreshA', 'refresh', 0)"><IMG SRC="<%=buttons%>refresh.gif" NAME="refreshA" BORDER="0" WIDTH="20" HEIGHT="20" ALT="Perform Search"></A>
  398.                                         </TD>
  399.                                     </TR>
  400.                                     <%
  401.                                 }
  402.                                 %>
  403.                                 <TR>
  404.                                     <TD>Subject</TD>
  405.                                     <TD><INPUT TYPE="TEXT" NAME="subject" VALUE="<%=subject%>" SIZE="<%=size20%>"></TD>
  406.                                     <TD COLSPAN="2"> </TD>
  407.                                 </TR>
  408.                                 <%
  409.                                 if (request.search)
  410.                                 {
  411.                                     %>
  412.                                     <TR>
  413.                                         <TD>Limit list to</TD>
  414.                                         <TD><INPUT TYPE="TEXT" NAME="elements" VALUE="<%=elements%>"></TD>
  415.                                         <TD COLSPAN="2"> </TD>
  416.                                     </TR>
  417.                                     <%
  418.                                 }
  419.                                 %>
  420.                             </TABLE>
  421.                         </TD>
  422.                     </TR>
  423.                 </TABLE>
  424.             </TD>
  425.         </TR>
  426.         <%
  427.         if (request.search)
  428.         {
  429.             var ok = t.find(id, original, from, to subject)
  430.             {
  431.                 %>
  432.                 <TR>
  433.                     <TD>
  434.                         <TABLE CLASS="box" WIDTH="100%" CELLPADDING="0" CELLSPACING="0"> 
  435.                             <TR>
  436.                                 <TH> </TH>
  437.                                 <TH>From</TH>
  438.                                 <TH>To</TH>
  439.                                 <TH>Subject</TH>
  440.                             </TR>
  441.                             <%
  442.                                 var index = 0
  443.                                 var toggle=0
  444.  
  445.                                 var end = session.tracking.start+elements
  446.  
  447.                                 while (ok && (index<session.tracking.start))
  448.                                 {
  449.                                     ok=t.next()
  450.                                     index = index+1
  451.                                 }
  452.  
  453.                                 while (ok && (index<end))
  454.                                 {
  455.                                     index = index+1;
  456.                                     %>
  457.                                     <TR>
  458.                                         <TD ROWSPAN="2" VALIGN="TOP"><%=index%> </TD>
  459.                                         <TD CLASS="toggle<%=toggle%>"><A HREF="javascript:onFrom('<%=t.from%>')"><%=t.from%></A> </TD>
  460.                                         <TD CLASS="toggle<%=toggle%>"><A HREF="javascript:onTo('<%=t.to%>')"><%=t.to%> </TD>
  461.                                         <TD CLASS="toggle<%=toggle%>"><A HREF="javascript:onDetails('<%=t.trackingid%>')"><%=t.subject%> </TD>
  462.                                     </TR>
  463.                                     <TR>
  464.                                         <TD COLSPAN="2" CLASS="toggle<%=toggle%>"><%=t.date%> </TD>
  465.                                         <TD CLASS="toggle<%=toggle%>">Status: <%=status(t.status)%></TD>
  466.                                     </TR>
  467.                                     <%
  468.                                     toggle=!toggle
  469.                                     ok=t.next()
  470.                                 }
  471.                             %>
  472.                         </TABLE>
  473.                     </TD>
  474.                 </TR>
  475.                 <%
  476.                 if ((session.tracking.start!=0)||ok)
  477.                 {
  478.                     %>
  479.                     <TR>
  480.                         <TD>
  481.                             <TABLE BORDER="0" WIDTH="100%">
  482.                                 <TR>
  483.                                     <TD>
  484.                                     <%
  485.                                     if (session.tracking.start!=0)
  486.                                     {
  487.                                         %>
  488.                                         <A HREF="javascript:onPrev()" onMouseDown="change('prevA', 'prev', 1)" onMouseOut="change('prevA', 'prev', 0)"><IMG SRC="<%=buttons%>prev.gif" NAME="prevA" BORDER="0" WIDTH="40" HEIGHT="20" ALT="Previous <%=elements%> messages"></A>
  489.                                         <%
  490.                                     }
  491.                                     else
  492.                                     {
  493.                                         %>
  494.                                         <IMG SRC="<%=buttons%>prevoff.gif" NAME="prevA" BORDER="0" WIDTH="40" HEIGHT="20" ALT="Previous <%=elements%> messages">
  495.                                         <%
  496.                                     }
  497.  
  498.                                     if (t.messageid)
  499.                                     {
  500.                                         %>
  501.                                         <A HREF="javascript:onNext()" onMouseDown="change('nextA', 'next', 1)" onMouseOut="change('nextA', 'next', 0)"><IMG SRC="<%=buttons%>next.gif" NAME="nextA" BORDER="0" WIDTH="40" HEIGHT="20" ALT="Next <%=elements%> messages"></A>
  502.                                         <%
  503.                                     }
  504.                                     else
  505.                                     {
  506.                                         %>
  507.                                         <IMG SRC="<%=buttons%>nextoff.gif" NAME="nextA" BORDER="0" WIDTH="40" HEIGHT="20" ALT="Next <%=elements%> messages">
  508.                                         <%
  509.                                     }
  510.                                     %>
  511.                                     </TD>
  512.                                 </TR>
  513.                             </TABLE>
  514.                         </TD>
  515.                     </TR>
  516.                     <%
  517.                 }
  518.             }
  519.         }
  520.         %>
  521.   <!-- end of block -->
  522.     </TABLE>
  523. <!-- end of the tab body -->
  524. </TD></TR></TABLE>
  525. </TD></TR></TABLE>
  526.  
  527. <!-- start of footer -->
  528. <SCRIPT LANGUAGE="JavaScript1.2" TYPE="text/javascript">
  529. <!--
  530.     var href="/info/tracking.fts";
  531.     var bodywidth=<%=bodywidth%>;
  532. //-->
  533. </SCRIPT>
  534. <SCRIPT LANGUAGE="JavaScript1.2" SRC="/utility/footer.js" TYPE="text/javascript"></SCRIPT>
  535. <!-- end of footer -->
  536. </FORM>
  537.  
  538. </TD><TD WIDTH="10"> </TD></TR></TABLE>
  539. </BODY>
  540. </HTML>
  541.