Integrated the DKIM signer into serv_smtpclient, but disabled it
[citadel.git] / webcit / autocompletion.c
index 8c516f767000aac459b23116afd1722a8924960b..e936068fdc1011770111ad96d817a70a5563d64e 100644 (file)
@@ -1,16 +1,21 @@
 /*
- * $Id$
- *//**
- * \defgroup AjaxAutoCompletion ajax-powered autocompletion...
- * \ingroup ClientPower
+ * dynamic html autocompletion
+ *
+ * Copyright (c) 1996-2012 by the citadel.org team
+ *
+ * This program is open source software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License, version 3.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
  */
 
-/*@{*/
 #include "webcit.h"
 
-/**
- * \brief Recipient autocompletion results
- * \param partial the account to search for ??????
+/*
+ * Recipient autocompletion results
  */
 void recp_autocomplete(char *partial) {
        char buf[1024];
@@ -18,34 +23,46 @@ void recp_autocomplete(char *partial) {
 
        output_headers(0, 0, 0, 0, 0, 0);
 
-       wprintf("Content-type: text/html\r\n"
+       hprintf("Content-type: text/html\r\n"
                "Server: %s\r\n"
                "Connection: close\r\n"
                "Pragma: no-cache\r\n"
                "Cache-Control: no-store\r\n"
                "Expires: -1\r\n"
                ,
-               SERVER);
+               PACKAGE_STRING);
        begin_burst();
 
-       wprintf("<ul>");
+       wc_printf("<ul>");
 
        serv_printf("AUTO %s", partial);
        serv_getln(buf, sizeof buf);
        if (buf[0] == '1') {
                while(serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
                        extract_token(name, buf, 0, '|', sizeof name);
-                       wprintf("<li>");
+                       wc_printf("<li>");
                        escputs(name);
-                       wprintf("</li>");
+                       wc_printf("</li>");
                }
        }
 
-       wprintf("</ul>");
+       wc_printf("</ul>");
 
-       wprintf("\r\n\r\n");
+       wc_printf("\r\n\r\n");
        wDumpContent(0);
 }
 
 
-/** @} */
+void _recp_autocomplete(void) {recp_autocomplete(bstr("recp"));}
+void _cc_autocomplete(void)   {recp_autocomplete(bstr("cc"));} 
+void _bcc_autocomplete(void)  {recp_autocomplete(bstr("bcc"));}
+
+
+void 
+InitModule_AUTO_COMPLETE
+(void)
+{
+       WebcitAddUrlHandler(HKEY("recp_autocomplete"), "", 0, _recp_autocomplete, 0);
+       WebcitAddUrlHandler(HKEY("cc_autocomplete"),   "", 0, _cc_autocomplete, 0);
+       WebcitAddUrlHandler(HKEY("bcc_autocomplete"),  "", 0, _bcc_autocomplete, 0);
+}