]> code.citadel.org Git - citadel.git/blobdiff - webcit/calendar.c
Performed a bunch of markup fixes suggested by validator.w3.org
[citadel.git] / webcit / calendar.c
index f0baec2dc70c3027a564e51cdc2a2956cf04792f..d4832070bd0eaa8e34772ca18a66db27f807d248 100644 (file)
@@ -1,7 +1,21 @@
 /*
- * $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"
@@ -284,7 +298,7 @@ void cal_process_attachment(wc_mime_attachment *Mime)
        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;
        }
 
@@ -314,27 +328,27 @@ void respond_to_request(void)
        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();
@@ -359,18 +373,21 @@ void handle_rsvp(void)
        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();
@@ -812,14 +829,14 @@ void save_event(void) {
  * 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]);
        }
@@ -840,7 +857,7 @@ void do_freebusy(void)
                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;
        }
@@ -864,6 +881,18 @@ int calendar_Cleanup(void **ViewSpecific)
        return 0;
 }
 
+int __calendar_Cleanup(void **ViewSpecific)
+{
+       calview *c;
+       
+       c = (calview *) *ViewSpecific;
+
+       free (c);
+       *ViewSpecific = NULL;
+
+       return 0;
+}
+
 
 void 
 InitModule_CALENDAR
@@ -873,6 +902,7 @@ InitModule_CALENDAR
                VIEW_CALENDAR,
                calendar_GetParamsGetServerCall,
                NULL,
+               NULL,
                calendar_LoadMsgFromServer,
                calendar_RenderView_or_Tail,
                calendar_Cleanup);
@@ -881,6 +911,7 @@ InitModule_CALENDAR
                VIEW_CALBRIEF,
                calendar_GetParamsGetServerCall,
                NULL,
+               NULL,
                calendar_LoadMsgFromServer,
                calendar_RenderView_or_Tail,
                calendar_Cleanup);
@@ -891,10 +922,10 @@ InitModule_CALENDAR
        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);
 }