From: Art Cancro Date: Tue, 23 Jun 2009 03:29:07 +0000 (+0000) Subject: * do_edit_vcard() accept arbitrary url's for return_to. Doesn't work yet because... X-Git-Tag: v7.86~1014 X-Git-Url: https://code.citadel.org/?p=citadel.git;a=commitdiff_plain;h=90b4c2ce98cdd0990718f84a25fd907310b34b69 * do_edit_vcard() accept arbitrary url's for return_to. Doesn't work yet because the string is too escaped. --- diff --git a/webcit/auth.c b/webcit/auth.c index 18f60e269..1ac3921c4 100644 --- a/webcit/auth.c +++ b/webcit/auth.c @@ -777,7 +777,7 @@ void display_reg(int during_login) else { StrBuf *ReturnTo; ReturnTo = NewStrBufPlain(HKEY("display_main_menu?gotofirst=")); - StrBufUrlescAppend(ReturnTo, WC->wc_roomname, NULL); + StrBufAppendBuf(ReturnTo, WC->wc_roomname, 0); lprintf(9, "wc_roomname: %s\n", ChrPtr(WC->wc_roomname)); lprintf(9, " ReturnTo: %s\n", ChrPtr(ReturnTo)); do_edit_vcard(vcard_msgnum, "1", VCMsg, VCAtt, ChrPtr(ReturnTo), USERCONFIGROOM); diff --git a/webcit/vcard_edit.c b/webcit/vcard_edit.c index 320d4322f..4b3940fb2 100644 --- a/webcit/vcard_edit.c +++ b/webcit/vcard_edit.c @@ -1091,13 +1091,16 @@ void submit_vcard(void) { StrBufAppendBufPlain(WCC->ImportantMsg, _("Aborting."), -1, 0); - /// todo: call the master dispatcher again... + if (!strcmp(bstr("return_to"), "select_user_to_edit")) { select_user_to_edit(NULL); } else if (!strcmp(bstr("return_to"), "do_welcome")) { do_welcome(); } + else if (!IsEmptyStr(bstr("return_to"))) { + http_redirect(bstr("return_to")); + } else { readloop(readnew); } @@ -1187,6 +1190,9 @@ void submit_vcard(void) { else if (!strcmp(bstr("return_to"), "do_welcome")) { do_welcome(); } + else if (!IsEmptyStr(bstr("return_to"))) { + http_redirect(bstr("return_to")); + } else { readloop(readnew); }