/*
- * $Id$
- *
* Functions which handle calendar objects and their processing/display.
+ *
+ * Copyright (c) 1996-2010 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 as
+ * published by the Free Software Foundation; either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#include "webcit.h"
FlushStrBuf(Mime->Data);
if (cal == NULL) {
StrBufAppendPrintf(Mime->Data, _("There was an error parsing this calendar item."));
- StrBufAppendPrintf(Mime->Data, "<br />\n");
+ StrBufAppendPrintf(Mime->Data, "<br>\n");
return;
}
serv_getln(buf, sizeof buf);
if (buf[0] == '2') {
- wprintf("<img src=\"static/calarea_48x.gif\"><span>");
+ wc_printf("<img src=\"static/calarea_48x.gif\"><span>");
if (!strcasecmp(bstr("sc"), "accept")) {
- wprintf(_("You have accepted this meeting invitation. "
+ wc_printf(_("You have accepted this meeting invitation. "
"It has been entered into your calendar.")
);
} else if (!strcasecmp(bstr("sc"), "tentative")) {
- wprintf(_("You have tentatively accepted this meeting invitation. "
+ wc_printf(_("You have tentatively accepted this meeting invitation. "
"It has been 'pencilled in' to your calendar.")
);
} else if (!strcasecmp(bstr("sc"), "decline")) {
- wprintf(_("You have declined this meeting invitation. "
+ wc_printf(_("You have declined this meeting invitation. "
"It has <b>not</b> been entered into your calendar.")
);
}
- wprintf(" ");
- wprintf(_("A reply has been sent to the meeting organizer."));
- wprintf("</span>");
+ wc_printf(" ");
+ wc_printf(_("A reply has been sent to the meeting organizer."));
+ wc_printf("</span>");
} else {
- wprintf("<img align=\"center\" src=\"static/error.gif\"><span>");
- wprintf("%s\n", &buf[4]);
- wprintf("</span>");
+ wc_printf("<img align=\"center\" src=\"static/error.gif\"><span>");
+ wc_printf("%s\n", &buf[4]);
+ wc_printf("</span>");
}
end_ajax_response();
serv_getln(buf, sizeof buf);
if (buf[0] == '2') {
- wprintf("<img src=\"static/calarea_48x.gif\"><span>");
+ wc_printf("<img src=\"static/calarea_48x.gif\"><span>");
if (!strcasecmp(bstr("sc"), "update")) {
- wprintf(_("Your calendar has been updated to reflect this RSVP."));
+ /* Translators: RSVP aka Répondez s'il-vous-plaît Is the term
+ that the recipient of an ical-invitation should please
+ answer this request. */
+ wc_printf(_("Your calendar has been updated to reflect this RSVP."));
} else if (!strcasecmp(bstr("sc"), "ignore")) {
- wprintf(_("You have chosen to ignore this RSVP. "
+ wc_printf(_("You have chosen to ignore this RSVP. "
"Your calendar has <b>not</b> been updated.")
);
}
- wprintf("</span>");
+ wc_printf("</span>");
} else {
- wprintf("<img src=\"static/error.gif\"><span> %s\n", &buf[4]);
- wprintf("</span>");
+ wc_printf("<img src=\"static/error.gif\"><span> %s\n", &buf[4]);
+ wc_printf("</span>");
}
end_ajax_response();
* Anonymous request of freebusy data for a user
*/
void do_freebusy(void)
-{ /// TODO: request line const char *req) {
- const char req[] = "";
+{
+ const char *req = ChrPtr(WC->Hdr->HR.ReqLine);
char who[SIZ];
char buf[SIZ];
int len;
long lines;
- extract_token(who, req, 1, ' ', sizeof who);
+ extract_token(who, req, 0, ' ', sizeof who);
if (!strncasecmp(who, "/freebusy/", 10)) {
strcpy(who, &who[10]);
}
hprintf("HTTP/1.1 404 %s\n", &buf[4]);
output_headers(0, 0, 0, 0, 0, 0);
hprintf("Content-Type: text/plain\r\n");
- wprintf("%s\n", &buf[4]);
+ wc_printf("%s\n", &buf[4]);
end_burst();
return;
}
return 0;
}
+int __calendar_Cleanup(void **ViewSpecific)
+{
+ calview *c;
+
+ c = (calview *) *ViewSpecific;
+
+ free (c);
+ *ViewSpecific = NULL;
+
+ return 0;
+}
+
void
InitModule_CALENDAR
VIEW_CALENDAR,
calendar_GetParamsGetServerCall,
NULL,
+ NULL,
calendar_LoadMsgFromServer,
calendar_RenderView_or_Tail,
calendar_Cleanup);
VIEW_CALBRIEF,
calendar_GetParamsGetServerCall,
NULL,
+ NULL,
calendar_LoadMsgFromServer,
calendar_RenderView_or_Tail,
calendar_Cleanup);
RegisterPreference("dayend", _("Calendar day view ends at:"), PRF_INT, NULL);
RegisterPreference("weekstart", _("Week starts on:"), PRF_INT, NULL);
- WebcitAddUrlHandler(HKEY("freebusy"), do_freebusy, COOKIEUNNEEDED|ANONYMOUS|FORCE_SESSIONCLOSE);
- WebcitAddUrlHandler(HKEY("display_edit_task"), display_edit_task, 0);
- WebcitAddUrlHandler(HKEY("display_edit_event"), display_edit_event, 0);
- WebcitAddUrlHandler(HKEY("save_event"), save_event, 0);
- WebcitAddUrlHandler(HKEY("respond_to_request"), respond_to_request, 0);
- WebcitAddUrlHandler(HKEY("handle_rsvp"), handle_rsvp, 0);
+ WebcitAddUrlHandler(HKEY("freebusy"), "", 0, do_freebusy, COOKIEUNNEEDED|ANONYMOUS|FORCE_SESSIONCLOSE);
+ WebcitAddUrlHandler(HKEY("display_edit_task"), "", 0, display_edit_task, 0);
+ WebcitAddUrlHandler(HKEY("display_edit_event"), "", 0, display_edit_event, 0);
+ WebcitAddUrlHandler(HKEY("save_event"), "", 0, save_event, 0);
+ WebcitAddUrlHandler(HKEY("respond_to_request"), "", 0, respond_to_request, 0);
+ WebcitAddUrlHandler(HKEY("handle_rsvp"), "", 0, handle_rsvp, 0);
}