]> code.citadel.org Git - citadel.git/blobdiff - webcit/messages.c
* several memoryleaks
[citadel.git] / webcit / messages.c
index 4d2724c119969a652d2428f12205de0576d25f70..972da57ad998c99b397daadc1194201b0126160b 100644 (file)
@@ -13,6 +13,8 @@
 #define SENDER_COL_WIDTH_PCT           30      /**< Mailbox view column width */
 #define DATE_PLUS_BUTTONS_WIDTH_PCT    20      /**< Mailbox view column width */
 
+void display_enter(void);
+
 /*
  * Address book entry (keep it short and sweet, it's just a quickie lookup
  * which we can use to get to the real meat and bones later)
@@ -1390,13 +1392,11 @@ ENDBODY:        /* If there are attached submessages, display them now... */
  *
  * msgnum_as_string == Message number, as a string instead of as a long int
  */
-void embed_message(char *msgnum_as_string) {
+void embed_message(void) {
        long msgnum = 0L;
 
-       msgnum = atol(msgnum_as_string);
-       begin_ajax_response();
+       msgnum = StrTol(WC->UrlFragment1);
        read_message(msgnum, 0, "");
-       end_ajax_response();
 }
 
 
@@ -1405,19 +1405,19 @@ void embed_message(char *msgnum_as_string) {
  *
  * msgnum_as_string == Message number, as a string instead of as a long int
  */
-void print_message(char *msgnum_as_string) {
+void print_message(void) {
        long msgnum = 0L;
 
-       msgnum = atol(msgnum_as_string);
+       msgnum = StrTol(WC->UrlFragment1);
        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",
                PACKAGE_STRING);
        begin_burst();
 
-       wprintf("\r\n\r\n<html>\n<head><title>");
+       wprintf("\r\n<html>\n<head><title>");
        escputs(WC->wc_fullname);
        wprintf("</title></head>\n"
                "<body onLoad=\" window.print(); window.close(); \">\n"
@@ -1436,14 +1436,14 @@ void print_message(char *msgnum_as_string) {
  *
  * \param msgnum_as_string Message number, as a string instead of as a long int
  */
-void display_headers(char *msgnum_as_string) {
+void display_headers(void) {
        long msgnum = 0L;
        char buf[1024];
 
-       msgnum = atol(msgnum_as_string);
+       msgnum = StrTol(WC->UrlFragment1);
        output_headers(0, 0, 0, 0, 0, 0);
 
-       wprintf("Content-type: text/plain\r\n"
+       hprintf("Content-type: text/plain\r\n"
                "Server: %s\r\n"
                "Connection: close\r\n",
                PACKAGE_STRING);
@@ -2475,7 +2475,8 @@ void readloop(char *oper)
                sortpref_value = NULL;
                sortpref_value = sortby;
        }
-       
+       FreeStrBuf(&sortby);
+
        FreeStrBuf(&sortpref_name);
        SortBy = StrToESort(sortpref_value);
        /** message board sort */
@@ -3800,3 +3801,29 @@ void confirm_move_msg(void)
        wprintf("</CENTER>\n");
        wDumpContent(1);
 }
+
+void readnew(void) { readloop("readnew");}
+void readold(void) { readloop("readold");}
+void readfwd(void) { readloop("readfwd");}
+void headers(void) { readloop("headers");}
+void do_search(void) { readloop("do_search");}
+
+void 
+InitModule_MSG
+(void)
+{
+       WebcitAddUrlHandler(HKEY("readnew"), readnew, 0);
+       WebcitAddUrlHandler(HKEY("readold"), readold, 0);
+       WebcitAddUrlHandler(HKEY("readfwd"), readfwd, 0);
+       WebcitAddUrlHandler(HKEY("headers"), headers, 0);
+       WebcitAddUrlHandler(HKEY("do_search"), do_search, 0);
+       WebcitAddUrlHandler(HKEY("display_enter"), display_enter, 0);
+       WebcitAddUrlHandler(HKEY("post"), post_message, 0);
+       WebcitAddUrlHandler(HKEY("move_msg"), move_msg, 0);
+       WebcitAddUrlHandler(HKEY("delete_msg"), delete_msg, 0);
+       WebcitAddUrlHandler(HKEY("confirm_move_msg"), confirm_move_msg, 0);
+       WebcitAddUrlHandler(HKEY("msg"), embed_message, NEED_URL|AJAX);
+       WebcitAddUrlHandler(HKEY("printmsg"), print_message, NEED_URL);
+       WebcitAddUrlHandler(HKEY("msgheaders"), display_headers, NEED_URL);
+       return ;
+}