}
}
- if (strcasecmp(cbtype, "text/calendar")) {
+ if ( (strcasecmp(cbtype, "text/calendar"))
+ && (strcasecmp(cbtype, "application/ics")) ) {
return;
}
struct original_event_container *oec = NULL;
- if (strcasecmp(cbtype, "text/calendar")) {
+ if ( (strcasecmp(cbtype, "text/calendar"))
+ && (strcasecmp(cbtype, "application/ics")) ) {
return;
}
oec = (struct original_event_container *) cbuserdata;
imm = (struct icalmessagemod *)cbuserdata;
/* We're only interested in calendar data. */
- if (strcasecmp(cbtype, "text/calendar")) {
+ if ( (strcasecmp(cbtype, "text/calendar"))
+ && (strcasecmp(cbtype, "application/ics")) ) {
return;
}
icalcomponent *cal;
/* We're only interested in calendar items here. */
- if (strcasecmp(cbtype, "text/calendar")) {
+ if ( (strcasecmp(cbtype, "text/calendar"))
+ && (strcasecmp(cbtype, "application/ics")) ) {
return;
}
* ical_obj_beforesave() sees it there, it'll set the Exclusive msgid
* to that string.
*/
- if (!strcasecmp(cbtype, "text/calendar")) {
+ if ( (!strcasecmp(cbtype, "text/calendar"))
+ || (!strcasecmp(cbtype, "application/ics")) ) {
cal = icalcomponent_new_from_string(content);
if (cal != NULL) {
ical_saving_vevent(cal);
CtdlRegisterSessionHook(ical_session_startup, EVT_START);
CtdlRegisterSessionHook(ical_session_shutdown, EVT_STOP);
CtdlRegisterFixedOutputHook("text/calendar", ical_fixed_output);
+ CtdlRegisterFixedOutputHook("application/ics", ical_fixed_output);
CtdlRegisterCleanupHook(serv_calendar_destroy);
#endif
}
*
*/
void display_using_handler(long msgnum,
- char *mimetype,
icalcomponent_kind which_kind,
void (*callback)(icalcomponent *, long)
) {
extract_token(mime_content_type, &buf[5], 4, '|', sizeof mime_content_type);
mime_length = extract_int(&buf[5], 5);
- if (!strcasecmp(mime_content_type, "text/calendar")) {
+ if ( (!strcasecmp(mime_content_type, "text/calendar"))
+ || (!strcasecmp(mime_content_type, "application/ics"))
+ || (!strcasecmp(mime_content_type, "text/vtodo"))
+ ) {
strcpy(relevant_partnum, mime_partnum);
}
- else if (!strcasecmp(mime_content_type, "text/vtodo")) {
- strcpy(relevant_partnum, mime_partnum);
- }
-
}
}
* \param msgnum number of the mesage in our db
*/
void display_calendar(long msgnum) {
- display_using_handler(msgnum, "text/calendar",
+ display_using_handler(msgnum,
ICAL_VEVENT_COMPONENT,
display_individual_cal);
}
* \param msgnum number of the mesage in our db
*/
void display_task(long msgnum) {
- display_using_handler(msgnum, "text/calendar",
+ display_using_handler(msgnum,
ICAL_VTODO_COMPONENT,
display_individual_cal);
}
msgnum = atol(bstr("msgnum"));
if (msgnum > 0L) {
/** existing task */
- display_using_handler(msgnum, "text/calendar",
+ display_using_handler(msgnum,
ICAL_VTODO_COMPONENT,
display_edit_individual_task);
}
msgnum = atol(bstr("msgnum"));
if (msgnum > 0L) {
- display_using_handler(msgnum, "text/calendar",
+ display_using_handler(msgnum,
ICAL_VTODO_COMPONENT,
save_individual_task);
}
msgnum = atol(bstr("msgnum"));
if (msgnum > 0L) {
/* existing event */
- display_using_handler(msgnum, "text/calendar",
+ display_using_handler(msgnum,
ICAL_VEVENT_COMPONENT,
display_edit_individual_event);
}
msgnum = atol(bstr("msgnum"));
if (msgnum > 0L) {
- display_using_handler(msgnum, "text/calendar",
+ display_using_handler(msgnum,
ICAL_VEVENT_COMPONENT,
save_individual_event);
}
#endif /* WEBCIT_WITH_CALENDAR_SERVICE */
-
-/*@}*/
}
if (t == NULL) {
- t = get_default_icaltimezone();
+ icaltimezone_convert_time(&TheTime,
+ get_default_icaltimezone(),
+ icaltimezone_get_utc_timezone()
+ );
+ }
+ else {
+ icaltimezone_convert_time(&TheTime,
+ t,
+ icaltimezone_get_utc_timezone()
+ );
+ icaltimezone_free (t, 1);
}
-
- icaltimezone_convert_time(&TheTime,
- t,
- icaltimezone_get_utc_timezone()
- );
- icaltimezone_free (t, 1);
TheTime.is_utc = 1;
}
strcpy(vcard_partnum, mime_partnum);
}
- if (!strcasecmp(mime_content_type, "text/calendar")) {
+ if ( (!strcasecmp(mime_content_type, "text/calendar"))
+ || (!strcasecmp(mime_content_type, "application/ics")) ) {
strcpy(cal_partnum, mime_partnum);
}