X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=webcit%2Fevent.c;h=d786998ab8ef818c0d5bebf7e15b291c1b04b7e1;hb=aca7dd04d80f04b9cd61f740549ce370e76bc332;hp=a7107bde7b072e78817da8009c1a3adc5897502a;hpb=7e6ecf64e51b1b9377e701c7380a038360e1ac8c;p=citadel.git diff --git a/webcit/event.c b/webcit/event.c index a7107bde7..d786998ab 100644 --- a/webcit/event.c +++ b/webcit/event.c @@ -1,21 +1,15 @@ /* * Editing calendar events. * - * Copyright (c) 1996-2010 by the citadel.org team + * Copyright (c) 1996-2012 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. + * modify it under the terms of the GNU General Public License, version 3. * * 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" @@ -30,6 +24,7 @@ void display_edit_individual_event(icalcomponent *supplied_vevent, long msgnum, char *from, int unread, calview *calv) { + wcsession *WCC = WC; icalcomponent *vevent; icalproperty *p; icalvalue *v; @@ -44,7 +39,10 @@ void display_edit_individual_event(icalcomponent *supplied_vevent, long msgnum, char buf[SIZ]; int organizer_is_me = 0; int i, j = 0; + /************************************************************ + * Uncomment this to see the UID in calendar events for debugging int sequence = 0; + */ char weekday_labels[7][32]; char month_labels[12][32]; long weekstart = 0; @@ -66,7 +64,7 @@ void display_edit_individual_event(icalcomponent *supplied_vevent, long msgnum, int which_rryeartype_is_preselected; const char *ch; - char *tabnames[3]; + const char *tabnames[3]; const char *frequency_units[8]; const char *ordinals[6]; @@ -95,7 +93,7 @@ void display_edit_individual_event(icalcomponent *supplied_vevent, long msgnum, get_pref_long("weekstart", &weekstart, 17); if (weekstart > 6) weekstart = 0; - syslog(9, "display_edit_individual_event(%ld) calview=%s year=%s month=%s day=%s\n", + syslog(LOG_DEBUG, "display_edit_individual_event(%ld) calview=%s year=%s month=%s day=%s\n", msgnum, bstr("calview"), bstr("year"), bstr("month"), bstr("day") ); @@ -157,13 +155,15 @@ void display_edit_individual_event(icalcomponent *supplied_vevent, long msgnum, /* Learn the sequence */ p = icalcomponent_get_first_property(vevent, ICAL_SEQUENCE_PROPERTY); + /************************************************************ + * Uncomment this to see the UID in calendar events for debugging if (p != NULL) { sequence = icalproperty_get_sequence(p); } - + */ /* Begin output */ - output_headers(1, 1, 2, 0, 0, 0); - wc_printf("
\n"); + output_headers(1, 1, 1, 0, 0, 0); + wc_printf("
\n"); wc_printf("

"); wc_printf(_("Add or edit an event")); wc_printf("

"); @@ -185,6 +185,10 @@ void display_edit_individual_event(icalcomponent *supplied_vevent, long msgnum, wc_printf("
\n"); wc_printf("\n", WC->nonce); + wc_printf("WBuf, WCC->CurRoom.name, NULL, 0, 0); + wc_printf("\">\n"); + wc_printf("\n", msgnum); wc_printf("\n", @@ -260,8 +264,6 @@ void display_edit_individual_event(icalcomponent *supplied_vevent, long msgnum, ((yesbstr("alldayevent")) ? 1 : 0), icaltimezone_get_utc_timezone() ); - t_start.is_utc = 1; - } display_icaltimetype_as_webform(&t_start, "dtstart", 0); @@ -445,7 +447,7 @@ void display_edit_individual_event(icalcomponent *supplied_vevent, long msgnum, wc_printf( " " - "" + "" "", _("Attendees"), _("Contacts") @@ -775,7 +777,8 @@ void display_edit_individual_event(icalcomponent *supplied_vevent, long msgnum, "RecurrenceShowHide(); \n" "EnableOrDisableCheckButton(); \n" ); - address_book_popup(); + do_template("addressbook_popup"); + wDumpContent(1); if (created_new_vevent) { @@ -791,6 +794,7 @@ void display_edit_individual_event(icalcomponent *supplied_vevent, long msgnum, */ void save_individual_event(icalcomponent *supplied_vevent, long msgnum, char *from, int unread, calview *calv) { + StrBuf *Buf; char buf[SIZ]; icalproperty *prop; icalcomponent *vevent, *encaps; @@ -848,8 +852,8 @@ void save_individual_event(icalcomponent *supplied_vevent, long msgnum, char *fr /* Add NOW() to the calendar object... */ icalcomponent_set_dtstamp(vevent, - icaltime_from_timet( - time(NULL), 0)); + icaltime_from_timet_with_zone( + time(NULL), 0, icaltimezone_get_utc_timezone())); if (havebstr("summary")) { icalcomponent_add_property(vevent, @@ -1152,20 +1156,24 @@ STARTOVER: for (attendee = icalcomponent_get_first_property(vevent, ICAL_ATTENDE if ( (encaps != NULL) && (havebstr("save_button")) ) { serv_puts("ENT0 1|||4|||1|"); serv_getln(buf, sizeof buf); - if (buf[0] == '8') { + switch (buf[0]) { + case '8': serv_puts("Content-type: text/calendar"); serv_puts("Content-Transfer-Encoding: quoted-printable"); serv_puts(""); - text_to_server_qp(icalcomponent_as_ical_string(encaps)); + Buf = NewStrBufPlain(icalcomponent_as_ical_string(encaps), -1); + text_to_server_qp(Buf); + FreeStrBuf(&Buf); // serv_puts(icalcomponent_as_ical_string(encaps)); serv_puts("000"); - } - if ( (buf[0] == '8') || (buf[0] == '4') ) { - while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) { - } - } - if (buf[0] == '2') { - strcpy(WC->ImportantMessage, &buf[4]); + case '4': + while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) {} + break; + case '2': + AppendImportantMessage(buf + 4, - 1); + break; + default: + break; } icalmemory_free_ring (); icalcomponent_free(encaps); @@ -1206,7 +1214,7 @@ STARTOVER: for (attendee = icalcomponent_get_first_property(vevent, ICAL_ATTENDE /* If this was a save or delete, go back to the calendar or summary view. */ if (!havebstr("check_button")) { if (!strcasecmp(bstr("calview"), "summary")) { - summary(); + display_summary_page(); } else { readloop(readfwd, eUseDefault);