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

  1. <%
  2. #include </utility/global.fts>
  3. #include </utility/ftgate.fts>
  4. #include </utility/theme.fts>
  5. #include </utility/wmsecurity.fts>
  6.  
  7. var name=""
  8. var email=""
  9. var imported=false
  10.  
  11. var ldap = new server.ldapdata
  12.  
  13. if (request.find=="1")
  14. {
  15.     name = request.name
  16.     email = request.mail
  17.     imported = request.imported
  18. }
  19.  
  20. if (name=="")
  21.     name="*"
  22. if (email=="")
  23.     email="*"
  24.  
  25. var elements
  26. // Set up list parameters
  27. //
  28. if (request.elements!="")
  29. {
  30.     session.address.start=number(request.start)
  31.     if (session.address.start<0)
  32.         session.address.start=0
  33.  
  34.     elements = number(request.elements)
  35.     if (elements<1)
  36.         elements=10
  37. }
  38. else
  39. {
  40.     session.address.start=0
  41.  
  42.     if (number(session.address.elements)==0)
  43.         session.address.elements=10
  44.  
  45.     elements=number(session.address.elements)
  46. }
  47.  
  48. session.address.elements = elements
  49. %>
  50. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
  51. <HTML>
  52. <HEAD>
  53. <LINK REL=STYLESHEET HREF="/utility/main<%=nn4%>.css" TYPE="text/css">
  54. <META NAME="GENERATOR" Content="Microsoft Developer Studio">
  55. <META HTTP-EQUIV="Content-Type" content="text/html; charset=iso-8859-1">
  56. <TITLE>FTGate Web Mail -- Address Book</TITLE>
  57. </HEAD>
  58.  
  59. <SCRIPT LANGUAGE="JavaScript1.2" TYPE="text/javascript">
  60. <!--
  61. var details=null;
  62. var dir="<%=buttons%>"
  63.  
  64. if (!document.images) {}
  65. else {
  66.   close0 = new Image();
  67.   close0.src  = dir+"ok.gif";
  68.   close1 = new Image();
  69.   close1.src = dir+"okon.gif";
  70.   find0 = new Image();
  71.   find0.src  = dir+"find.gif";
  72.   find1 = new Image();
  73.   find1.src = dir+"findon.gif";
  74.   add0 = new Image();
  75.   add0.src  = dir+"add.gif";
  76.   add1 = new Image();
  77.   add1.src = dir+"addon.gif";
  78.   next0 = new Image();
  79.   next0.src  = dir+"next.gif";
  80.   next1 = new Image();
  81.   next1.src = dir+"nexton.gif";
  82.   prev0 = new Image();
  83.   prev0.src  = dir+"prev.gif";
  84.   prev1 = new Image();
  85.   prev1.src = dir+"prevon.gif";
  86.   help0 = new Image();
  87.   help0.src  = dir+"help.gif";
  88.   help1 = new Image();
  89.   help1.src = dir+"helpon.gif";
  90. }
  91.  
  92. function change(Name,Image,No)
  93. {
  94.   if (!document.images) {}
  95.   else document [Name].src = eval(Image + No + ".src");
  96. }
  97.  
  98. function onAdd(email)
  99. {
  100.     var to;
  101.     
  102.     if (window.opener.document.ftgate.tocc.value==1)
  103.         to = window.opener.document.ftgate.to.value;
  104.     else
  105.         to = window.opener.document.ftgate.cc.value;
  106.  
  107.     if (to!="")
  108.         to+=";";
  109.  
  110.     to+=email;
  111.  
  112.     if (window.opener.document.ftgate.tocc.value==1)
  113.         window.opener.document.ftgate.to.value = to;
  114.     else
  115.         window.opener.document.ftgate.cc.value = to;
  116. }
  117.  
  118. function onUnload()
  119. {
  120.     if (details!= null && details.closed == false)
  121.     {
  122.         details.close();
  123.         details = null;
  124.     }
  125. }
  126.  
  127. function onClose()
  128. {
  129.   window.close();
  130. }
  131.  
  132. function isOn(item)
  133. {
  134.     if (item.checked)
  135.         return 1;
  136.  
  137.     return 0
  138. }
  139.  
  140. function onFind(form)
  141. {
  142.     var href = "ldap.fts?find=1&start=0"+
  143.                                                  "&mail="+form.email.value+
  144.                                                  "&name="+form.name.value+
  145.                                                  "&imported="+isOn(form.imported)+
  146.                                                  "&elements="+form.elements.value;
  147.  
  148.     window.location.href = href;
  149. }
  150.  
  151. function onDetails(url)
  152. {
  153.     details = window.open(url,"Details","width=400,height=325,resizable=yes,scrollbars=yes");
  154.     details.opener = window;
  155.     details.focus();
  156. }
  157.  
  158. function onNext()
  159. {
  160.     var href = "ldap.fts?find=1"+
  161.                                                     "&start=<%=session.address.start+elements%>"+
  162.                                                     "&mail=<%=email%>"+
  163.                                                     "&name=<%=name%>"+
  164.                                                     "&imported=<%=imported%>"+
  165.                                                     "&elements=<%=elements%>";
  166.  
  167.     window.location.href = href;
  168. }
  169.  
  170. function onPrev()
  171. {
  172.     var start = <%=session.address.start%>-<%=elements%>;
  173.  
  174.     if (start<0)
  175.         start=0
  176.  
  177.     var href = "ldap.fts?find=1"+
  178.                                                     "&start="+start+
  179.                                                     "&mail=<%=email%>"+
  180.                                                     "&name=<%=name%>"+
  181.                                                     "&imported=<%=imported%>"+
  182.                                                     "&elements=<%=elements%>";
  183.  
  184.     window.location.href = href;
  185. }
  186.  
  187. function onLoad()
  188. {
  189.     document.ftgate.name.focus();
  190. }
  191.  
  192. function onLocalHelp()
  193. {
  194.     var index;
  195.     var s=window.location.href;
  196.  
  197.     s = s.slice(s.indexOf("/",7)+1);
  198.     if ((index=s.indexOf("?"))!=-1)
  199.         s=s.slice(0, index);
  200.  
  201. //    var help = window.open("/help/index.fts?href="+s, "WebMailHelp", "toolbar=1,menubar=1,location=0,resizable=1,scrollbars=1");
  202.     var help = window.open("/help.fts?href="+s, "WebMailHelp");
  203.     help.focus();
  204. }
  205. //-->
  206. </SCRIPT>
  207. <SCRIPT LANGUAGE="JavaScript1.2" SRC="/utility/cookies.js" TYPE="text/javascript"></SCRIPT>
  208. <SCRIPT LANGUAGE="JavaScript1.2" SRC="/utility/core.js" TYPE="text/javascript"></SCRIPT>
  209.  
  210. <BODY BGCOLOR="khaki" BACKGROUND="/images/goldstn1.gif" onLoad="onLoad()" onUnload="onUnload()">
  211. <FORM NAME="ftgate" METHOD="POST" ACTION="">
  212.  
  213. <INPUT TYPE="HIDDEN" NAME="config" VALUE="1">
  214.  
  215. <TABLE BORDER="0"WIDTH="100%" CELLPADDING="0" CELLSPACING="0"><TR><TD>
  216. <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0">
  217. <TR>
  218. <TD VALIGN="TOP">
  219.   <!-- sub table goes here -->
  220.     <TABLE BORDER="0" WIDTH="100%">
  221.         <TR>
  222.             <TD ALIGN="RIGHT">
  223.                 <A HREF="javascript:onLocalHelp()"onMouseOver="st('Show Help topic for current page')" 
  224.                 onMouseDown="change('helpA', 'help', 1)"
  225.                 onMouseOut="change('helpA', 'help', 0)"><IMG SRC="<%=buttons%>help.gif" NAME="helpA" BORDER="0" WIDTH="20" HEIGHT="20" ALT="Help"></A>
  226.             </TD>
  227.         </TR>
  228.         <TR>
  229.             <TD>
  230.                 <TABLE CLASS="box" WIDTH="100%">
  231.                     <TR>
  232.                         <TD>
  233.                             <TABLE BORDER="0" WIDTH="100%">
  234.                                 <TR>
  235.                                     <TD>Name</TD><TD><INPUT TYPE="TEXT" NAME="name" VALUE="<%=name%>" SIZE="<%=size20%>"></TD>
  236.                                     <TD ALIGN="RIGHT">
  237.                                         <A HREF="javascript:onFind(document.ftgate)"
  238.                                         onMouseDown="change('findA', 'find', 1)"
  239.                                         onMouseOut="change('findA', 'find', 0)"><IMG SRC="<%=buttons%>find.gif" NAME="findA" BORDER="0" WIDTH="50" HEIGHT="20" ALT="Find Entries"></A>
  240.                                     </TD>
  241.                                 </TR>
  242.                                 <TR>
  243.                                     <TD>Email</TD><TD><INPUT TYPE="TEXT" NAME="email" VALUE="<%=email%>" SIZE="<%=size20%>"></TD>
  244.                                     <TD ALIGN="RIGHT">
  245.                                         <A HREF="javascript:onClose()"
  246.                                         onMouseDown="change('closeA', 'close', 1)"
  247.                                         onMouseOut="change('closeA', 'close', 0)"><IMG SRC="<%=buttons%>ok.gif" NAME="closeA" BORDER="0" WIDTH="50" HEIGHT="20" ALT="Close Window"></A>
  248.                                     </TD>
  249.                                 </TR>
  250.                                 <TR>
  251.                                     <TD> </TD>
  252.                                     <TD>
  253.                                         <INPUT TYPE="CHECKBOX" NAME="imported"
  254.                                         <% if (imported) output.write("CHECKED") %>>Imported
  255.                                     </TD>
  256.                                     <TD> </TD>
  257.                                 </TR>
  258.                                 <%
  259.                                 if (request.find)
  260.                                 {
  261.                                     %>
  262.                                     <TR>
  263.                                         <TD>Limit list to</TD>
  264.                                         <TD>
  265.                                             <INPUT TYPE="TEXT" NAME="elements" VALUE="<%=elements%>">
  266.                                         </TD>
  267.                                         <TD> </TD>
  268.                                     </TR>
  269.                                     <%
  270.                                 }
  271.                                 %>
  272.                             </TABLE>
  273.                         </TD>
  274.                     </TR>
  275.                 </TABLE>
  276.             </TD>
  277.         </TR>
  278.         <%
  279.         if (request.find=="1")
  280.         {
  281.             %>
  282.             <TR>
  283.                 <TD>
  284.                     <TABLE CLASS="box" WIDTH="100%">
  285.                         <TR>
  286.                             <TH> </TH>
  287.                             <TH>Name</TH>
  288.                             <TH>Email</TH>
  289.                             <TH>Phone</TH>
  290.                             <TH>Fax</TH>
  291.                             <TH> </TH>
  292.                         </TR>
  293.                         <%
  294.                         var index = 0
  295.  
  296.                         var end = session.address.start+elements
  297.  
  298.                         var sql = "mail LIKE '"+email+"'"
  299.                         sql = sql +" AND cn LIKE '"+name+"'"
  300.                         sql = sql +" AND imported="+number(imported)
  301.                         
  302.                         var ok=ldap.entry.select(sql)
  303.  
  304.                         while (ok && (index<session.ldap.start))
  305.                         {
  306.                             ok ldap.entry.next()
  307.                             index++
  308.                         }
  309.  
  310.                          while (ok && (index<end))
  311.                         {
  312.                             var qMail=""
  313.                             var qCn=""
  314.                             var qGn=""
  315.                             var qSn=""
  316.                             var qO=""
  317.                             var qFn=""
  318.                             var qPn=""
  319.                             var qImported=0
  320.  
  321.                             index++
  322.  
  323.                             var ok2 = ldap.entry.field.first()
  324.                             while (ok2)
  325.                             {
  326.                                 if (ldap.entry.field.name=="mail")
  327.                                     qMail=ldap.entry.field.value
  328.                                 else if (ldap.entry.field.name=="cn")
  329.                                     qCn=ldap.entry.field.value
  330.                                 else if (ldap.entry.field.name=="givenname")
  331.                                     qGn=ldap.entry.field.value
  332.                                 else if (ldap.entry.field.name=="sn")
  333.                                     qSn=ldap.entry.field.value
  334.                                 else if (ldap.entry.field.name=="o")
  335.                                     qO=ldap.entry.field.value
  336.                                 else if (ldap.entry.field.name=="imported")
  337.                                     qImported=ldap.entry.field.value
  338.                                 else if (ldap.entry.field.name=="facsimiletelephonenumber")
  339.                                     qFn=ldap.entry.field.value
  340.                                 else if (ldap.entry.field.name=="telephonenumber")
  341.                                     qPn=ldap.entry.field.value
  342.  
  343.                                 ok2=ldap.entry.field.next()
  344.                             }
  345.                             %>
  346.                             <TR>
  347.                                 <TD CLASS="box"><%=index%></TD>
  348.                                 <TD CLASS="box"><A HREF="javascript:onDetails('details.fts?mail=<%=qMail%>&cn=<%=qCn%>&gn=<%=qGn%>&sn=<%=qSn%>&o=<%=qO%>&import=<%=qImported%>')"><%=qCn%></A> </TD>
  349.                                 <TD CLASS="box"><%=qMail%> </TD>
  350.                                 <TD CLASS="box"><%=qPN%> </TD>
  351.                                 <TD CLASS="box"><%=qFN%> </TD>
  352.                                 <TD ALIGN="RIGHT">
  353.                                     <A HREF="javascript:onAdd('<%=qMail%>')"
  354.                                     onMouseDown="change('addA<%=ldap.entry.id%>', 'add', 1)"
  355.                                     onMouseOut="change('addA<%=ldap.entry.id%>', 'add', 0)"><IMG SRC="<%=buttons%>add.gif" NAME="addA<%=ldap.entry.id%>" BORDER="0" WIDTH="50" HEIGHT="20" ALT="Close Window"></A>
  356.                                 </TD>
  357.                             </TR>
  358.                             <%
  359.                             ok=ldap.entry.next()
  360.                         }
  361.                         %>
  362.                     </TABLE>
  363.                 </TD>
  364.             </TR>
  365.             <%
  366.             if ((session.address.start!=0) || ok)
  367.             {
  368.                 %>
  369.                 <TR>
  370.                     <TD COLSPAN="2">
  371.                         <TABLE BORDER="0" WIDTH="100%">
  372.                             <TR>
  373.                                 <TD>
  374.                                 <%
  375.                                 if (session.address.start!=0)
  376.                                 {
  377.                                     %>
  378.                                     <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%> entries"></A>
  379.                                     <%
  380.                                 }
  381.                                 else
  382.                                 {
  383.                                     %>
  384.                                     <IMG SRC="<%=buttons%>prevoff.gif" NAME="prevA" BORDER="0" WIDTH="40" HEIGHT="20" ALT="Previous <%=elements%> entries">
  385.                                     <%
  386.                                 }
  387.                                 if (ok)
  388.                                 {
  389.                                     %>
  390.                                     <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%> entries"></A>
  391.                                     <%
  392.                                 }
  393.                                 else
  394.                                 {
  395.                                     %>
  396.                                     <IMG SRC="<%=buttons%>nextoff.gif" NAME="nextA" BORDER="0" WIDTH="40" HEIGHT="20" ALT="Next <%=elements%> entries">
  397.                                     <%
  398.                                 }
  399.                                 %>
  400.                                 </TD>
  401.                             </TR>
  402.                         </TABLE>
  403.                     </TD>
  404.                 </TR>
  405.                 <%
  406.             }
  407.         }
  408.         %>
  409.     </TABLE>
  410. <!-- end of the tab body -->
  411. </TD></TR></TABLE>
  412.  
  413. </FORM>
  414. </BODY>
  415. </HTML>