#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)
wprintf("</TD></TR>\n");
}
}
- else if (!strcasecmp(firsttoken, "photo") && full && pass == 2) {
+ /* else if (!strcasecmp(firsttoken, "photo") && full && pass == 2) {
// Only output on second pass
wprintf("<tr><td>");
wprintf(_("Photo:"));
wprintf("</td><td>");
wprintf("<img src=\"/vcardphoto/%ld/\" alt=\"Contact photo\"/>",msgnum);
wprintf("</td></tr>\n");
- }
+ } */
else if (!strcasecmp(firsttoken, "version")) {
/* ignore */
}
*
* 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();
}
*
* 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"
*
* \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);
sortpref_value = NULL;
sortpref_value = sortby;
}
-
+ FreeStrBuf(&sortby);
+
FreeStrBuf(&sortpref_name);
SortBy = StrToESort(sortpref_value);
/** message board sort */
int is_anonymous = 0;
long existing_page = (-1L);
size_t dplen;
+ struct wcsession *WCC = WC;
now = time(NULL);
recipient_required = 1;
}
else if (buf[0] != '2') { /** Any other error means that we cannot continue */
- sprintf(WC->ImportantMessage, "%s", &buf[4]);
+ sprintf(WCC->ImportantMessage, "%s", &buf[4]);
readloop("readnew");
return;
}
* Are we perhaps in an address book view? If so, then an "enter
* message" command really means "add new entry."
*/
- if (WC->wc_default_view == VIEW_ADDRESSBOOK) {
- do_edit_vcard(-1, "", "", WC->wc_roomname);
+ if (WCC->wc_default_view == VIEW_ADDRESSBOOK) {
+ do_edit_vcard(-1, "", "", WCC->wc_roomname);
return;
}
* Are we perhaps in a calendar room? If so, then an "enter
* message" command really means "add new calendar item."
*/
- if (WC->wc_default_view == VIEW_CALENDAR) {
+ if (WCC->wc_default_view == VIEW_CALENDAR) {
display_edit_event();
return;
}
* Are we perhaps in a tasks view? If so, then an "enter
* message" command really means "add new task."
*/
- if (WC->wc_default_view == VIEW_TASKS) {
+ if (WCC->wc_default_view == VIEW_TASKS) {
display_edit_task();
return;
}
"name=\"enterform\""
">\n");
wprintf("<input type=\"hidden\" name=\"postseq\" value=\"%ld\">\n", now);
- if (WC->wc_view == VIEW_WIKI) {
+ if (WCC->wc_view == VIEW_WIKI) {
wprintf("<input type=\"hidden\" name=\"wikipage\" value=\"%s\">\n", bstr("wikipage"));
}
wprintf("<input type=\"hidden\" name=\"return_to\" value=\"%s\">\n", bstr("return_to"));
- wprintf("<input type=\"hidden\" name=\"nonce\" value=\"%d\">\n", WC->nonce);
+ wprintf("<input type=\"hidden\" name=\"nonce\" value=\"%d\">\n", WCC->nonce);
wprintf("<input type=\"hidden\" name=\"force_room\" value=\"");
- escputs(WC->wc_roomname);
+ escputs(WCC->wc_roomname);
wprintf("\">\n");
wprintf("<input type=\"hidden\" name=\"references\" value=\"");
escputs(bstr("references"));
}
}
- if (WC->room_flags & QR_ANONOPT) {
+ if (WCC->room_flags & QR_ANONOPT) {
wprintf("<option %s value=\"__ANONYMOUS__\">%s</option>\n",
- ((!strcasecmp(bstr("__ANONYMOUS__"), WC->wc_fullname)) ? "selected" : ""),
+ ((!strcasecmp(bstr("__ANONYMOUS__"), WCC->wc_fullname)) ? "selected" : ""),
_("Anonymous")
);
}
}
wprintf(_(" <I>in</I> "));
- escputs(WC->wc_roomname);
+ escputs(WCC->wc_roomname);
wprintf("</td></tr>");
}
/** If we're editing a wiki page, insert the existing page here... */
- else if (WC->wc_view == VIEW_WIKI) {
+ else if (WCC->wc_view == VIEW_WIKI) {
safestrncpy(buf, bstr("wikipage"), sizeof buf);
str_wiki_index(buf);
existing_page = locate_message_by_uid(buf);
}
/** Insert our signature if appropriate... */
- if ( (WC->is_mailbox) && yesbstr("sig_inserted") ) {
+ if ( (WCC->is_mailbox) && !yesbstr("sig_inserted") ) {
int UseSig;
get_pref_yesno("use_sig", &UseSig, 0);
if (UseSig) {
else if (*sig == '\'') {
wprintf("'");
}
- else if (isprint(*sig)) {
+ else /* since we're utf 8, is this a good idea? if (isprint(*sig))*/ {
wprintf("%c", *sig);
- }
+ }
sig ++;
}
}
wprintf(_("Attachments:"));
wprintf(" ");
wprintf("<select name=\"which_attachment\" size=1>");
- for (att = WC->first_attachment; att != NULL; att = att->next) {
+ for (att = WCC->first_attachment; att != NULL; att = att->next) {
wprintf("<option value=\"");
urlescputs(att->filename);
wprintf("\">");
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 ;
+}