]> code.citadel.org Git - citadel.git/blobdiff - webcit/event.c
Allow multiple addresses to be selected.
[citadel.git] / webcit / event.c
index 94fac68dbc9d4188cfea0eb40d42ff7728083431..3ac9e474838bb6af9088b8ecea305cf172a7fab7 100644 (file)
@@ -71,7 +71,7 @@ void display_edit_individual_event(icalcomponent *supplied_vevent, long msgnum)
        /** Begin output */
        output_headers(1, 1, 2, 0, 0, 0);
        wprintf("<div id=\"banner\">\n"
-               "<TABLE WIDTH=100%% BORDER=0 BGCOLOR=\"#444455\"><TR><TD>"
+               "<TABLE class=\"event_banner\"><TR><TD>"
                "<SPAN CLASS=\"titlebar\">");
        wprintf(_("Add or edit an event"));
        wprintf("</SPAN>"
@@ -109,7 +109,7 @@ void display_edit_individual_event(icalcomponent *supplied_vevent, long msgnum)
 
 
        wprintf("<div class=\"fix_scrollbar_bug\">"
-               "<table border=0 width=100%% bgcolor=\"#ffffff\"><tr><td>\n");
+               "<table  class=\"event_background\"><tr><td>\n");
 
        /************************************************************
         * Uncomment this to see the UID in calendar events for debugging
@@ -348,7 +348,7 @@ void display_edit_individual_event(icalcomponent *supplied_vevent, long msgnum)
                "<FONT SIZE=-2>");
        wprintf(_("(One per line)"));
        wprintf("</FONT></TD><TD>"
-               "<TEXTAREA %s NAME=\"attendees\" wrap=soft "
+               "<TEXTAREA %s NAME=\"attendees\" id=\"attendees_box\" wrap=soft "
                "ROWS=3 COLS=80 WIDTH=80>\n",
                (organizer_is_me ? "" : "DISABLED ")
        );
@@ -459,25 +459,35 @@ void save_individual_event(icalcomponent *supplied_vevent, long msgnum) {
                        icalcomponent_remove_property(vevent, prop);
                        icalproperty_free(prop);
                }
-               icalcomponent_add_property(vevent,
-                       icalproperty_new_summary(bstr("summary")));
 
-               while (prop = icalcomponent_get_first_property(vevent,
-                     ICAL_LOCATION_PROPERTY), prop != NULL) {
-                       icalcomponent_remove_property(vevent, prop);
-                       icalproperty_free(prop);
-               }
-               icalcomponent_add_property(vevent,
-                       icalproperty_new_location(bstr("location")));
-               
-               while (prop = icalcomponent_get_first_property(vevent,
-                     ICAL_DESCRIPTION_PROPERTY), prop != NULL) {
-                       icalcomponent_remove_property(vevent, prop);
-                       icalproperty_free(prop);
-               }
-               icalcomponent_add_property(vevent,
-                       icalproperty_new_description(bstr("description")));
+               if (strlen(bstr("summary")) > 0) {
        
+                       icalcomponent_add_property(vevent,
+                                       icalproperty_new_summary(bstr("summary")));
+               } else {
+                       icalcomponent_add_property(vevent,
+                                       icalproperty_new_summary("Untitled Event"));
+               }
+       
+               while (prop = icalcomponent_get_first_property(vevent,
+                                       ICAL_LOCATION_PROPERTY), prop != NULL) {
+                       icalcomponent_remove_property(vevent, prop);
+                       icalproperty_free(prop);
+               }
+               if (strlen(bstr("location")) > 0) {
+                       icalcomponent_add_property(vevent,
+                                       icalproperty_new_location(bstr("location")));
+               }
+               while (prop = icalcomponent_get_first_property(vevent,
+                                 ICAL_DESCRIPTION_PROPERTY), prop != NULL) {
+                       icalcomponent_remove_property(vevent, prop);
+                       icalproperty_free(prop);
+               }
+               if (strlen(bstr("description")) > 0) {
+                       icalcomponent_add_property(vevent,
+                               icalproperty_new_description(bstr("description")));
+               }
+
                while (prop = icalcomponent_get_first_property(vevent,
                      ICAL_DTSTART_PROPERTY), prop != NULL) {
                        icalcomponent_remove_property(vevent, prop);
@@ -594,7 +604,7 @@ void save_individual_event(icalcomponent *supplied_vevent, long msgnum) {
                        /** set new organizer */
                        sprintf(organizer_string, "MAILTO:%s", buf);
                        icalcomponent_add_property(vevent,
-                               icalproperty_new_organizer(organizer_string)
+                               icalproperty_new_organizer(organizer_string)
                        );
 
                }
@@ -665,6 +675,9 @@ STARTOVER:  lprintf(9, "Remove unlisted attendees\n");
                lprintf(9, "Encapsulating into full VCALENDAR component\n");
                encaps = ical_encapsulate_subcomponent(icalcomponent_new_clone(vevent));
 
+               /* Set the method to PUBLISH */
+               icalcomponent_set_method(encaps, ICAL_METHOD_PUBLISH);
+
                /** If the user clicked 'Save' then save it to the server. */
                lprintf(9, "Serializing it for saving\n");
                if ( (encaps != NULL) && (strlen(bstr("save_button")) > 0) ) {
@@ -676,8 +689,13 @@ STARTOVER: lprintf(9, "Remove unlisted attendees\n");
                                serv_puts(icalcomponent_as_ical_string(encaps));
                                serv_puts("000");
                        }
-                       while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
-                               lprintf(9, "ENT0 REPLY: %s\n", buf);
+                       if ( (buf[0] == '8') || (buf[0] == '4') ) {
+                               while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
+                                       lprintf(9, "ENT0 REPLY: %s\n", buf);
+                               }
+                       }
+                       if (buf[0] == '2') {
+                               strcpy(WC->ImportantMessage, &buf[4]);
                        }
                        icalcomponent_free(encaps);
                }
@@ -709,7 +727,7 @@ STARTOVER:  lprintf(9, "Remove unlisted attendees\n");
                icalcomponent_free(vevent);
        }
 
-       /** If this was a save or deelete, go back to the calendar view. */
+       /** If this was a save or delete, go back to the calendar view. */
        if (strlen(bstr("check_button")) == 0) {
                readloop("readfwd");
        }