X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=webcit%2Fcalendar_view.c;fp=webcit%2Fcalendar_view.c;h=b9e95418e992c8276bfc7a4828ef7c516706e948;hb=c6aec42f213ec284e34648f3d69bcf927dccddb1;hp=1b6e8681ebe2f9f3f2deeeb3ef7b5cf666f403c7;hpb=7beff529e758f6f0706e733901824c63bcac6d19;p=citadel.git diff --git a/webcit/calendar_view.c b/webcit/calendar_view.c index 1b6e8681e..b9e95418e 100644 --- a/webcit/calendar_view.c +++ b/webcit/calendar_view.c @@ -1,3 +1,4 @@ + /* * Handles the HTML display of calendar items. * @@ -20,8 +21,7 @@ #define TIMELINE 22 #define EXTRATIMELINE 22 -void embeddable_mini_calendar(int year, int month) -{ +void embeddable_mini_calendar(int year, int month) { struct tm starting_tm; struct tm tm; time_t thetime; @@ -35,16 +35,17 @@ void embeddable_mini_calendar(int year, int month) char url[256]; char div_id[256]; - snprintf(div_id, sizeof div_id, "mini_calendar_%d", rand() ); + snprintf(div_id, sizeof div_id, "mini_calendar_%d", rand()); /* Determine what day to start. If an impossible value is found, start on Sunday. - */ + */ get_pref_long("weekstart", &weekstart, 17); - if (weekstart > 6) weekstart = 0; + if (weekstart > 6) + weekstart = 0; /* - * Now back up to the 1st of the month... - */ + * Now back up to the 1st of the month... + */ memset(&starting_tm, 0, sizeof(struct tm)); starting_tm.tm_year = year - 1900; @@ -54,18 +55,18 @@ void embeddable_mini_calendar(int year, int month) memcpy(&tm, &starting_tm, sizeof(struct tm)); while (tm.tm_mday != 1) { - thetime = thetime - (time_t)86400; /* go back 24 hours */ + thetime = thetime - (time_t) 86400; /* go back 24 hours */ localtime_r(&thetime, &tm); } /* Determine previous and next months ... for links */ - previous_month = thetime - (time_t)864000L; /* back 10 days */ - next_month = thetime + (time_t)(31L * 86400L); /* ahead 31 days */ + previous_month = thetime - (time_t) 864000L; /* back 10 days */ + next_month = thetime + (time_t) (31L * 86400L); /* ahead 31 days */ /* Now back up until we're on the user's preferred start day */ localtime_r(&thetime, &tm); while (tm.tm_wday != weekstart) { - thetime = thetime - (time_t)86400; /* go back 24 hours */ + thetime = thetime - (time_t) 86400; /* go back 24 hours */ localtime_r(&thetime, &tm); } @@ -73,26 +74,20 @@ void embeddable_mini_calendar(int year, int month) /* Previous month link */ localtime_r(&previous_month, &tm); - wc_printf("«", - (int)(tm.tm_year)+1900, tm.tm_mon + 1); + wc_printf("«", (int) (tm.tm_year) + 1900, tm.tm_mon + 1); wc_strftime(colheader_label, sizeof colheader_label, "%B", &starting_tm); wc_printf("  " - "" - "%s %d" - "" - "  ", colheader_label, year); + "" "%s %d" "" "  ", colheader_label, year); /* Next month link */ localtime_r(&next_month, &tm); - wc_printf("»", - (int)(tm.tm_year)+1900, tm.tm_mon + 1); + wc_printf("»", (int) (tm.tm_year) + 1900, tm.tm_mon + 1); - wc_printf("" - ""); + wc_printf("
" ""); colheader_time = thetime; - for (i=0; i<7; ++i) { - colheader_time = thetime + (i * 86400) ; + for (i = 0; i < 7; ++i) { + colheader_time = thetime + (i * 86400); localtime_r(&colheader_time, &colheader_tm); wc_strftime(colheader_label, sizeof colheader_label, "%A", &colheader_tm); wc_printf("", colheader_label[0]); @@ -101,20 +96,20 @@ void embeddable_mini_calendar(int year, int month) wc_printf("\n"); - /* Now do 35 or 42 days */ - for (i = 0; i < 42; ++i) { - localtime_r(&thetime, &tm); + /* Now do 35 or 42 days */ + for (i = 0; i < 42; ++i) { + localtime_r(&thetime, &tm); - if (i < 35) { + if (i < 35) { /* Before displaying Sunday, start a new row */ if ((i % 7) == 0) { wc_printf(""); } - if (tm.tm_mon == month-1) { + if (tm.tm_mon == month - 1) { snprintf(url, sizeof url, "readfwd?calview=day?year=%d?month=%d?day=%d", - tm.tm_year+1900, tm.tm_mon+1, tm.tm_mday); + tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday); wc_printf("", url, tm.tm_mday); } else { @@ -128,39 +123,34 @@ void embeddable_mini_calendar(int year, int month) } - thetime += (time_t)86400; /* ahead 24 hours */ + thetime += (time_t) 86400; /* ahead 24 hours */ } - wc_printf("
%c
%d
" /* end of inner table */ - "\n"); + wc_printf("" /* end of inner table */ + "\n"); StrBufAppendPrintf(WC->trailing_javascript, - " function minical_change_month(year, month) { \n" - " p = 'year=' + year + '&month=' + month \n" - " + '&r=' + ctdlRandomString(); \n" - " new Ajax.Updater('%s', 'mini_calendar', \n" - " { method: 'get', parameters: p, evalScripts: true } ); \n" - " } \n" - "", - div_id - ); + " function minical_change_month(year, month) { \n" + " p = 'year=' + year + '&month=' + month \n" + " + '&r=' + ctdlRandomString(); \n" + " new Ajax.Updater('%s', 'mini_calendar', \n" + " { method: 'get', parameters: p, evalScripts: true } ); \n" + " } \n" "", div_id); } /* * ajax embedder for the above mini calendar */ -void ajax_mini_calendar(void) -{ - embeddable_mini_calendar( ibstr("year"), ibstr("month")); +void ajax_mini_calendar(void) { + embeddable_mini_calendar(ibstr("year"), ibstr("month")); } /* * Display one day of a whole month view of a calendar */ -void calendar_month_view_display_events(int year, int month, int day) -{ +void calendar_month_view_display_events(int year, int month, int day) { long hklen; const char *HashKey; void *vCal; @@ -220,7 +210,7 @@ void calendar_month_view_display_events(int year, int month, int day) */ Pos = GetNewHashPos(WCC->disp_cal_items, 0); while (GetNextHashPos(WCC->disp_cal_items, Pos, &hklen, &HashKey, &vCal)) { - Cal = (disp_cal*)vCal; + Cal = (disp_cal *) vCal; all_day_event = 0; q = icalcomponent_get_first_property(Cal->cal, ICAL_DTSTART_PROPERTY); if (q != NULL) { @@ -236,28 +226,27 @@ void calendar_month_view_display_events(int year, int month, int day) else { memset(&end_t, 0, sizeof end_t); } - if (t.is_date) all_day_event = 1; + if (t.is_date) + all_day_event = 1; - if (all_day_event) - { + if (all_day_event) { show_event = ical_ctdl_is_overlap(t, end_t, today_t, icaltime_null_time()); } - else - { + else { show_event = ical_ctdl_is_overlap(t, end_t, today_start_t, today_end_t); } /* * If we determined that this event occurs today, then display it. - */ + */ if (show_event) { /* time_t logtt = icaltime_as_timet(t); - syslog(LOG_DEBUG, "Match on %04d-%02d-%02d for event %x%s on %s", - year, month, day, - (int)Cal, ((all_day_event) ? " (all day)" : ""), - ctime(&logtt) - ); */ + syslog(LOG_DEBUG, "Match on %04d-%02d-%02d for event %x%s on %s", + year, month, day, + (int)Cal, ((all_day_event) ? " (all day)" : ""), + ctime(&logtt) + ); */ p = icalcomponent_get_first_property(Cal->cal, ICAL_SUMMARY_PROPERTY); if (p == NULL) { @@ -267,36 +256,28 @@ void calendar_month_view_display_events(int year, int month, int day) if (p != NULL) { if (all_day_event) { - wc_printf("" - "
" - ); + wc_printf("" "" - "", - daycolor, - sbuf, - daycolor, - ebuf); + p = icalcomponent_get_first_property(Cal->cal, ICAL_SUMMARY_PROPERTY); + if (p == NULL) { + p = icalproperty_new_summary(_("Untitled Event")); + icalcomponent_add_property(Cal->cal, p); + } + e = icalcomponent_get_first_property(Cal->cal, ICAL_DTEND_PROPERTY); + if ((p != NULL) && (e != NULL)) { + time_t difftime; + int hours, minutes; + t = icalproperty_get_dtend(e); + event_tte = icaltime_as_timet(t); + localtime_r(&event_tte, &event_tme); + difftime = (event_tte - event_tts) / 60; + hours = (int) (difftime / 60); + minutes = difftime % 60; + wc_printf("" + "", + daycolor, sbuf, daycolor, ebuf); } } @@ -535,7 +504,8 @@ void calendar_month_view(int year, int month, int day) { * Determine what day to start. If an impossible value is found, start on Sunday. */ get_pref_long("weekstart", &weekstart, 17); - if (weekstart > 6) weekstart = 0; + if (weekstart > 6) + weekstart = 0; /* * Now back up to the 1st of the month... @@ -549,97 +519,84 @@ void calendar_month_view(int year, int month, int day) { memcpy(&tm, &starting_tm, sizeof(struct tm)); while (tm.tm_mday != 1) { - thetime = thetime - (time_t)86400; /* go back 24 hours */ + thetime = thetime - (time_t) 86400; /* go back 24 hours */ localtime_r(&thetime, &tm); } /* Determine previous and next months ... for links */ - previous_month = thetime - (time_t)864000L; /* back 10 days */ - next_month = thetime + (time_t)(31L * 86400L); /* ahead 31 days */ + previous_month = thetime - (time_t) 864000L; /* back 10 days */ + next_month = thetime + (time_t) (31L * 86400L); /* ahead 31 days */ /* Now back up until we're on the user's preferred start day */ localtime_r(&thetime, &tm); while (tm.tm_wday != weekstart) { - thetime = thetime - (time_t)86400; /* go back 24 hours */ + thetime = thetime - (time_t) 86400; /* go back 24 hours */ localtime_r(&thetime, &tm); } /* Outer table (to get the background color) */ - wc_printf("
"); } wc_printf("" - "" - , - (Cal->unread)?"_unread":"_read", - Cal->cal_msgnum, - year, month, day - ); + "", + (Cal->unread) ? "_unread" : "_read", Cal->cal_msgnum, year, month, day); escputs((char *) icalproperty_get_comment(p)); wc_printf(""); wc_printf("%s: %s
", _("From"), Cal->from); - wc_printf("%s ", _("Summary:")); - escputs((char *)icalproperty_get_comment(p)); + wc_printf("%s ", _("Summary:")); + escputs((char *) icalproperty_get_comment(p)); wc_printf("
"); - q = icalcomponent_get_first_property( - Cal->cal, - ICAL_LOCATION_PROPERTY); + q = icalcomponent_get_first_property(Cal->cal, ICAL_LOCATION_PROPERTY); if (q) { wc_printf("%s ", _("Location:")); - escputs((char *)icalproperty_get_comment(q)); + escputs((char *) icalproperty_get_comment(q)); wc_printf("
"); } @@ -339,30 +320,25 @@ void calendar_month_view_display_events(int year, int month, int day) wc_strftime(buf, sizeof buf, "%x", &d_tm); if (no_end || !icaltime_compare(t, end_t)) { - wc_printf("%s %s
", - _("Date:"), buf); + wc_printf("%s %s
", _("Date:"), buf); } else { - wc_printf("%s %s
", - _("Starting date:"), buf); + wc_printf("%s %s
", _("Starting date:"), buf); d_tm.tm_year = end_t.year - 1900; d_tm.tm_mon = end_t.month - 1; d_tm.tm_mday = end_t.day; wc_strftime(buf, sizeof buf, "%x", &d_tm); - wc_printf("%s %s
", - _("Ending date:"), buf); + wc_printf("%s %s
", _("Ending date:"), buf); } } else { tt = icaltime_as_timet(t); webcit_fmt_date(buf, 256, tt, DATEFMT_BRIEF); if (no_end || !icaltime_compare(t, end_t)) { - wc_printf("%s %s
", - _("Date/time:"), buf); + wc_printf("%s %s
", _("Date/time:"), buf); } else { - wc_printf("%s %s
", - _("Starting date/time:"), buf); + wc_printf("%s %s
", _("Starting date/time:"), buf); tt = icaltime_as_timet(end_t); webcit_fmt_date(buf, 256, tt, DATEFMT_BRIEF); wc_printf("%s %s
", _("Ending date/time:"), buf); @@ -376,7 +352,7 @@ void calendar_month_view_display_events(int year, int month, int day) q = icalcomponent_get_first_property(Cal->cal, ICAL_DESCRIPTION_PROPERTY); if (q) { wc_printf("%s ", _("Notes:")); - escputs((char *)icalproperty_get_comment(q)); + escputs((char *) icalproperty_get_comment(q)); wc_printf("
"); } @@ -420,23 +396,27 @@ void calendar_month_view_brief_events(time_t thetime, const char *daycolor) { char *timeformat; int time_format; - time_format = get_time_format_cached (); + time_format = get_time_format_cached(); - if (time_format == WC_TIMEFORMAT_24) timeformat="%k:%M"; - else timeformat="%I:%M %p"; + if (time_format == WC_TIMEFORMAT_24) + timeformat = "%k:%M"; + else + timeformat = "%I:%M %p"; localtime_r(&thetime, &today_tm); Pos = GetNewHashPos(WCC->disp_cal_items, 0); while (GetNextHashPos(WCC->disp_cal_items, Pos, &hklen, &HashKey, &vCal)) { - Cal = (disp_cal*)vCal; + Cal = (disp_cal *) vCal; p = icalcomponent_get_first_property(Cal->cal, ICAL_DTSTART_PROPERTY); if (p != NULL) { t = icalproperty_get_dtstart(p); event_tt = icaltime_as_timet(t); - event_tts=event_tt; - if (t.is_date) all_day_event = 1; - else all_day_event = 0; + event_tts = event_tt; + if (t.is_date) + all_day_event = 1; + else + all_day_event = 0; if (all_day_event) { gmtime_r(&event_tts, &event_tms); @@ -446,57 +426,46 @@ void calendar_month_view_brief_events(time_t thetime, const char *daycolor) { } /* \todo epoch &! daymask */ if ((event_tms.tm_year == today_tm.tm_year) - && (event_tms.tm_mon == today_tm.tm_mon) - && (event_tms.tm_mday == today_tm.tm_mday)) { + && (event_tms.tm_mon == today_tm.tm_mon) + && (event_tms.tm_mday == today_tm.tm_mday)) { - char sbuf[255]; - char ebuf[255]; + char sbuf[255]; + char ebuf[255]; - p = icalcomponent_get_first_property( - Cal->cal, - ICAL_SUMMARY_PROPERTY); - if (p == NULL) { - p = icalproperty_new_summary(_("Untitled Event")); - icalcomponent_add_property(Cal->cal, p); - } - e = icalcomponent_get_first_property( - Cal->cal, - ICAL_DTEND_PROPERTY); - if ((p != NULL) && (e != NULL)) { - time_t difftime; - int hours, minutes; - t = icalproperty_get_dtend(e); - event_tte = icaltime_as_timet(t); - localtime_r(&event_tte, &event_tme); - difftime=(event_tte-event_tts)/60; - hours=(int)(difftime / 60); - minutes=difftime % 60; - wc_printf("
%i:%2i" - "" - "", - daycolor, - hours, minutes, - (Cal->unread)?"_unread":"_read", - daycolor, - Cal->cal_msgnum, - bstr("year"), - bstr("month"), - bstr("day") - ); - - escputs((char *) - icalproperty_get_comment(p)); - /* \todo: allso ammitime format */ - wc_strftime(&sbuf[0], sizeof(sbuf), timeformat, &event_tms); - wc_strftime(&ebuf[0], sizeof(sbuf), timeformat, &event_tme); - - wc_printf("%s%s
%i:%2i" + "" + "", + daycolor, + hours, minutes, + (Cal->unread) ? "_unread" : "_read", + daycolor, Cal->cal_msgnum, bstr("year"), bstr("month"), bstr("day") + ); + + escputs((char *) + icalproperty_get_comment(p)); + /* \todo: allso ammitime format */ + wc_strftime(&sbuf[0], sizeof(sbuf), timeformat, &event_tms); + wc_strftime(&ebuf[0], sizeof(sbuf), timeformat, &event_tme); + + wc_printf("%s%s
\n
"); + wc_printf(" \n
"); wc_printf("\n"); wc_printf("
"); localtime_r(&previous_month, &tm); - wc_printf("", - (int)(tm.tm_year)+1900, tm.tm_mon + 1); - wc_printf("\"%s\"\n", _("previous")); + wc_printf("", (int) (tm.tm_year) + 1900, tm.tm_mon + 1); + wc_printf("\"%s\"\n", + _("previous")); wc_strftime(colheader_label, sizeof colheader_label, "%B", &starting_tm); - wc_printf("  " - "" - "%s %d" - "" - "  ", colheader_label, year); + wc_printf("  " "" "%s %d" "" "  ", colheader_label, year); localtime_r(&next_month, &tm); - wc_printf("", - (int)(tm.tm_year)+1900, tm.tm_mon + 1); - wc_printf("\"%s\"\n", _("next")); + wc_printf("", (int) (tm.tm_year) + 1900, tm.tm_mon + 1); + wc_printf("\"%s\"\n", + _("next")); wc_printf("
\n"); /* Inner table (the real one) */ wc_printf(""); + "bgcolor='#204B78' id=\"inner_month\">"); wc_printf(""); colheader_time = thetime; - for (i=0; i<7; ++i) { - colheader_time = thetime + (i * 86400) ; + for (i = 0; i < 7; ++i) { + colheader_time = thetime + (i * 86400); localtime_r(&colheader_time, &colheader_tm); wc_strftime(colheader_label, sizeof colheader_label, "%A", &colheader_tm); - wc_printf("", colheader_label); + wc_printf("", colheader_label); } wc_printf("\n"); - /* Now do 35 or 42 days */ + /* Now do 35 or 42 days */ localtime_r(&thetime, &tm); - for (i = 0; i<42; ++i) { + for (i = 0; i < 42; ++i) { /* Before displaying the first day of the week, start a new row */ if ((i % 7) == 0) { wc_printf(""); @@ -648,17 +605,17 @@ void calendar_month_view(int year, int month, int day) { wc_printf("\n"); } - thetime += (time_t)86400; /* ahead 24 hours */ + thetime += (time_t) 86400; /* ahead 24 hours */ localtime_r(&thetime, &tm); - if ( ((i % 7) == 6) && (tm.tm_mon != month-1) && (tm.tm_mday < 15) ) { + if (((i % 7) == 6) && (tm.tm_mon != month - 1) && (tm.tm_mday < 15)) { i = 100; /* break out of the loop */ } } - wc_printf("
" - "%s" "%s
"); wc_strftime(colheader_label, sizeof colheader_label, "%V", &tm); - wc_printf("%s ", colheader_label); + wc_printf("%s ", colheader_label); } wc_printf("
", - ((tm.tm_mon != month-1) ? "out" : - (((tm.tm_year == today_tm.tm_year) && (tm.tm_mon == today_tm.tm_mon) && (tm.tm_mday == today_tm.tm_mday)) ? "today" : - ((tm.tm_wday==0 || tm.tm_wday==6) ? "weekend" : - "day"))) - ); - if ((i==0) || (tm.tm_mday == 1)) { + ((tm.tm_mon != month - 1) ? "out" : + (((tm.tm_year == today_tm.tm_year) && (tm.tm_mon == today_tm.tm_mon) + && (tm.tm_mday == today_tm.tm_mday)) ? "today" : ((tm.tm_wday == 0 + || tm.tm_wday == 6) ? "weekend" : "day"))) + ); + if ((i == 0) || (tm.tm_mday == 1)) { wc_strftime(colheader_label, sizeof colheader_label, "%B", &tm); wc_printf("%s ", colheader_label); } wc_printf("" - "%d
", - tm.tm_year + 1900, - tm.tm_mon + 1, - tm.tm_mday, - tm.tm_mday); + "%d", tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday, tm.tm_mday); /* put the data here, stupid */ - calendar_month_view_display_events( - tm.tm_year + 1900, - tm.tm_mon + 1, - tm.tm_mday - ); + calendar_month_view_display_events(tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday); wc_printf("
" /* end of inner table */ - "
\n" /* end of outer table */ - ); + wc_printf("
" /* end of inner table */ + "
\n" /* end of outer table */ + ); } /* @@ -684,51 +641,45 @@ void calendar_brief_month_view(int year, int month, int day) { memcpy(&tm, &starting_tm, sizeof(struct tm)); while (tm.tm_mday != 1) { - thetime = thetime - (time_t)86400; /* go back 24 hours */ + thetime = thetime - (time_t) 86400; /* go back 24 hours */ localtime_r(&thetime, &tm); } /* Determine previous and next months ... for links */ - previous_month = thetime - (time_t)864000L; /* back 10 days */ - next_month = thetime + (time_t)(31L * 86400L); /* ahead 31 days */ + previous_month = thetime - (time_t) 864000L; /* back 10 days */ + next_month = thetime + (time_t) (31L * 86400L); /* ahead 31 days */ /* Now back up until we're on a Sunday */ localtime_r(&thetime, &tm); while (tm.tm_wday != 0) { - thetime = thetime - (time_t)86400; /* go back 24 hours */ + thetime = thetime - (time_t) 86400; /* go back 24 hours */ localtime_r(&thetime, &tm); } /* Outer table (to get the background color) */ - wc_printf("
\n"); + wc_printf("
\n"); wc_printf("\n"); wc_printf("
"); localtime_r(&previous_month, &tm); - wc_printf("", - (int)(tm.tm_year)+1900, tm.tm_mon + 1); - wc_printf("\"%s\"\n", _("previous")); + wc_printf("", (int) (tm.tm_year) + 1900, tm.tm_mon + 1); + wc_printf("\"%s\"\n", + _("previous")); wc_strftime(month_label, sizeof month_label, "%B", &tm); - wc_printf("  " - "" - "%s %d" - "" - "  ", month_label, year); + wc_printf("  " "" "%s %d" "" "  ", month_label, year); localtime_r(&next_month, &tm); - wc_printf("", - (int)(tm.tm_year)+1900, tm.tm_mon + 1); - wc_printf("\"%s\"\n", _("next")); + wc_printf("", (int) (tm.tm_year) + 1900, tm.tm_mon + 1); + wc_printf("\"%s\"\n", + _("next")); wc_printf("
\n"); /* Inner table (the real one) */ - wc_printf(""); + wc_printf("
"); wc_printf("\n"); wc_printf("
\n"); @@ -744,27 +695,17 @@ void calendar_brief_month_view(int year, int month, int day) { if ((i % 7) == 0) { wc_strftime(&weeknumber[0], sizeof(weeknumber), "%U", &tm); wc_printf("" - " \n", - _("Week"), - weeknumber, - _("Hours"), - _("Subject"), - _("Start"), - _("End") - ); + " \n", + _("Week"), weeknumber, _("Hours"), _("Subject"), _("Start"), _("End") + ); } - daycolor=((tm.tm_mon != month-1) ? "DDDDDD" : - ((tm.tm_wday==0 || tm.tm_wday==6) ? "EEEECC" : - "FFFFFF")); + daycolor = ((tm.tm_mon != month - 1) ? "DDDDDD" : ((tm.tm_wday == 0 || tm.tm_wday == 6) ? "EEEECC" : "FFFFFF")); /* Day Header */ wc_strftime(weekday_name, sizeof weekday_name, "%A", &tm); wc_printf("\n", - daycolor, - weekday_name,tm.tm_mday, - daycolor); + "\n", daycolor, weekday_name, tm.tm_mday, daycolor); /* put the data of one day here, stupid */ calendar_month_view_brief_events(thetime, daycolor); @@ -775,12 +716,12 @@ void calendar_brief_month_view(int year, int month, int day) { wc_printf("
%s %s
%s%s%s%s
%s%s%s%s
%s,%i." - "

\n"); } - thetime += (time_t)86400; /* ahead 24 hours */ + thetime += (time_t) 86400; /* ahead 24 hours */ } - wc_printf("
" /* end of inner table */ - "
\n" /* end of outer table */ - ); + wc_printf("
" /* end of inner table */ + "\n" /* end of outer table */ + ); } /* @@ -798,14 +739,7 @@ void calendar_week_view(int year, int month, int day) { * * dstart and dend indicate which hours our "daytime" begins and end */ -void calendar_day_view_display_events(time_t thetime, - int year, - int month, - int day, - int notime_events, - int dstart, - int dend) -{ +void calendar_day_view_display_events(time_t thetime, int year, int month, int day, int notime_events, int dstart, int dend) { long hklen; const char *HashKey; void *vCal; @@ -835,7 +769,7 @@ void calendar_day_view_display_events(time_t thetime, int diffmin = 0; int endmin = 0; - char buf[256]; + char buf[256]; if (GetCount(WCC->disp_cal_items) == 0) { /* nothing to display */ @@ -873,10 +807,10 @@ void calendar_day_view_display_events(time_t thetime, */ Pos = GetNewHashPos(WCC->disp_cal_items, 0); while (GetNextHashPos(WCC->disp_cal_items, Pos, &hklen, &HashKey, &vCal)) { - Cal = (disp_cal*)vCal; + Cal = (disp_cal *) vCal; all_day_event = 0; - ongoing_event=0; + ongoing_event = 0; q = icalcomponent_get_first_property(Cal->cal, ICAL_DTSTART_PROPERTY); if (q != NULL) { @@ -888,7 +822,8 @@ void calendar_day_view_display_events(time_t thetime, memset(&t, 0, sizeof t); } - if (t.is_date) all_day_event = 1; + if (t.is_date) + all_day_event = 1; q = icalcomponent_get_first_property(Cal->cal, ICAL_DTEND_PROPERTY); if (q != NULL) { @@ -899,8 +834,7 @@ void calendar_day_view_display_events(time_t thetime, memcpy(&end_t, &t, sizeof(struct icaltimetype)); } - if (all_day_event) - { + if (all_day_event) { show_event = ical_ctdl_is_overlap(t, end_t, today_t, icaltime_null_time()); if (icaltime_compare(t, end_t)) { /* @@ -912,8 +846,7 @@ void calendar_day_view_display_events(time_t thetime, icaltime_adjust(&end_t, -1, 0, 0, 0); } } - else - { + else { show_event = ical_ctdl_is_overlap(t, end_t, today_start_t, today_end_t); } @@ -921,8 +854,8 @@ void calendar_day_view_display_events(time_t thetime, localtime_r(&event_tte, &event_tm); /* If we determined that this event occurs today, then display it. - */ - p = icalcomponent_get_first_property(Cal->cal,ICAL_SUMMARY_PROPERTY); + */ + p = icalcomponent_get_first_property(Cal->cal, ICAL_SUMMARY_PROPERTY); if (p == NULL) { p = icalproperty_new_summary(_("Untitled Event")); icalcomponent_add_property(Cal->cal, p); @@ -930,32 +863,29 @@ void calendar_day_view_display_events(time_t thetime, if ((show_event) && (p != NULL)) { - if ((event_te.tm_mday != day) || (event_tm.tm_mday != day)) ongoing_event = 1; + if ((event_te.tm_mday != day) || (event_tm.tm_mday != day)) + ongoing_event = 1; - if (all_day_event && notime_events) - { + if (all_day_event && notime_events) { wc_printf("
  • " - "" - , - (Cal->unread)?"_unread":"_read", - Cal->cal_msgnum, year, month, day - ); - escputs((char *) icalproperty_get_comment(p)); + "", + (Cal->unread) ? "_unread" : "_read", Cal->cal_msgnum, year, month, day); + escputs((char *) icalproperty_get_comment(p)); wc_printf(""); - wc_printf("%s
    ", _("All day event")); - wc_printf("%s: %s
    ", _("From"), Cal->from); - wc_printf("%s ", _("Summary:")); - escputs((char *) icalproperty_get_comment(p)); - wc_printf("
    "); - q = icalcomponent_get_first_property(Cal->cal,ICAL_LOCATION_PROPERTY); - if (q) { - wc_printf("%s ", _("Location:")); - escputs((char *)icalproperty_get_comment(q)); - wc_printf("
    "); + wc_printf("%s
    ", _("All day event")); + wc_printf("%s: %s
    ", _("From"), Cal->from); + wc_printf("%s ", _("Summary:")); + escputs((char *) icalproperty_get_comment(p)); + wc_printf("
    "); + q = icalcomponent_get_first_property(Cal->cal, ICAL_LOCATION_PROPERTY); + if (q) { + wc_printf("%s ", _("Location:")); + escputs((char *) icalproperty_get_comment(q)); + wc_printf("
    "); } - if (!icaltime_compare(t, end_t)) { /* one day only */ + if (!icaltime_compare(t, end_t)) { /* one day only */ webcit_fmt_date(buf, 256, event_tt, DATEFMT_LOCALEDATE); wc_printf("%s %s
    ", _("Date:"), buf); } @@ -965,61 +895,58 @@ void calendar_day_view_display_events(time_t thetime, webcit_fmt_date(buf, 256, event_tte, DATEFMT_LOCALEDATE); wc_printf("%s %s
    ", _("Ending date:"), buf); } - q = icalcomponent_get_first_property(Cal->cal,ICAL_DESCRIPTION_PROPERTY); - if (q) { - wc_printf("%s ", _("Notes:")); - escputs((char *)icalproperty_get_comment(q)); - wc_printf("
    "); - } + q = icalcomponent_get_first_property(Cal->cal, ICAL_DESCRIPTION_PROPERTY); + if (q) { + wc_printf("%s ", _("Notes:")); + escputs((char *) icalproperty_get_comment(q)); + wc_printf("
    "); + } wc_printf("
    "); - wc_printf("
    ("); - wc_printf(_("All day event")); - wc_printf(")
  • \n"); + wc_printf(" ("); + wc_printf(_("All day event")); + wc_printf(")\n"); } - else if (ongoing_event && notime_events) - { + else if (ongoing_event && notime_events) { wc_printf("
  • " - "" - , - (Cal->unread)?"_unread":"_read", - Cal->cal_msgnum, year, month, day - ); + "", + (Cal->unread) ? "_unread" : "_read", Cal->cal_msgnum, year, month, day); escputs((char *) icalproperty_get_comment(p)); wc_printf(""); - wc_printf("%s
    ", _("Ongoing event")); + wc_printf("%s
    ", _("Ongoing event")); wc_printf("%s: %s
    ", _("From"), Cal->from); - wc_printf("%s ", _("Summary:")); - escputs((char *) icalproperty_get_comment(p)); - wc_printf("
    "); - q = icalcomponent_get_first_property(Cal->cal,ICAL_LOCATION_PROPERTY); - if (q) { - wc_printf("%s ", _("Location:")); - escputs((char *)icalproperty_get_comment(q)); - wc_printf("
    "); - } - webcit_fmt_date(buf, 256, event_tt, DATEFMT_BRIEF); - wc_printf("%s %s
    ", _("Starting date/time:"), buf); - webcit_fmt_date(buf, 256, event_tte, DATEFMT_BRIEF); - wc_printf("%s %s
    ", _("Ending date/time:"), buf); - q = icalcomponent_get_first_property(Cal->cal,ICAL_DESCRIPTION_PROPERTY); - if (q) { - wc_printf("%s ", _("Notes:")); - escputs((char *)icalproperty_get_comment(q)); - wc_printf("
    "); - } - wc_printf("
    "); + wc_printf("%s ", _("Summary:")); + escputs((char *) icalproperty_get_comment(p)); + wc_printf("
    "); + q = icalcomponent_get_first_property(Cal->cal, ICAL_LOCATION_PROPERTY); + if (q) { + wc_printf("%s ", _("Location:")); + escputs((char *) icalproperty_get_comment(q)); + wc_printf("
    "); + } + webcit_fmt_date(buf, 256, event_tt, DATEFMT_BRIEF); + wc_printf("%s %s
    ", _("Starting date/time:"), buf); + webcit_fmt_date(buf, 256, event_tte, DATEFMT_BRIEF); + wc_printf("%s %s
    ", _("Ending date/time:"), buf); + q = icalcomponent_get_first_property(Cal->cal, ICAL_DESCRIPTION_PROPERTY); + if (q) { + wc_printf("%s ", _("Notes:")); + escputs((char *) icalproperty_get_comment(q)); + wc_printf("
    "); + } + wc_printf(""); wc_printf("
    ("); wc_printf(_("Ongoing event")); wc_printf(")
  • \n"); } - else if (!all_day_event && !notime_events) - { + else if (!all_day_event && !notime_events) { gap++; - if (event_te.tm_mday != day) event_te.tm_hour = 0; - if (event_tm.tm_mday != day) event_tm.tm_hour = 24; + if (event_te.tm_mday != day) + event_te.tm_hour = 0; + if (event_tm.tm_mday != day) + event_tm.tm_hour = 24; /* Calculate the location of the top of the box */ if (event_te.tm_hour < dstart) { @@ -1030,9 +957,11 @@ void calendar_day_view_display_events(time_t thetime, startmin = diffmin = (event_te.tm_min / 2); top = (dstart * EXTRATIMELINE) + ((event_te.tm_hour - dstart) * TIMELINE) + startmin; } - else if (event_te.tm_hour >dend) { + else if (event_te.tm_hour > dend) { startmin = diffmin = event_te.tm_min / 6; - top = (dstart * EXTRATIMELINE) + ((dend - dstart - 1) * TIMELINE) + ((event_tm.tm_hour - dend + 1) * EXTRATIMELINE) + startmin ; + top = + (dstart * EXTRATIMELINE) + ((dend - dstart - 1) * TIMELINE) + + ((event_tm.tm_hour - dend + 1) * EXTRATIMELINE) + startmin; } else { /* should never get here */ @@ -1045,42 +974,39 @@ void calendar_day_view_display_events(time_t thetime, } else if ((event_tm.tm_hour >= dstart) && (event_tm.tm_hour <= dend)) { endmin = diffmin = (event_tm.tm_min / 2); - bottom = (dstart * EXTRATIMELINE) + ((event_tm.tm_hour - dstart) * TIMELINE) + endmin ; + bottom = (dstart * EXTRATIMELINE) + ((event_tm.tm_hour - dstart) * TIMELINE) + endmin; } - else if (event_tm.tm_hour >dend) { + else if (event_tm.tm_hour > dend) { endmin = diffmin = event_tm.tm_min / 6; - bottom = (dstart * EXTRATIMELINE) + ((dend - dstart + 1) * TIMELINE) + ((event_tm.tm_hour - dend - 1) * EXTRATIMELINE) + endmin; + bottom = + (dstart * EXTRATIMELINE) + ((dend - dstart + 1) * TIMELINE) + + ((event_tm.tm_hour - dend - 1) * EXTRATIMELINE) + endmin; } else { /* should never get here */ } wc_printf("
    ", - (Cal->unread)?"_unread":"_read", - top, (gap * 40), (bottom-top) - ); + "style=\"position: absolute; " + "top:%dpx; left:%dpx; " + "height:%dpx; \" >", (Cal->unread) ? "_unread" : "_read", top, (gap * 40), (bottom - top) + ); wc_printf("" - , - Cal->cal_msgnum, year, month, day, t.hour - ); + "msgnum=%ld?calview=day?year=%d?month=%d?day=%d?hour=%d\" " + "class=\"event_title\">", Cal->cal_msgnum, year, month, day, t.hour); escputs((char *) icalproperty_get_comment(p)); wc_printf(""); wc_printf("%s: %s
    ", _("From"), Cal->from); - wc_printf("%s ", _("Summary:")); - escputs((char *) icalproperty_get_comment(p)); - wc_printf("
    "); - q = icalcomponent_get_first_property(Cal->cal,ICAL_LOCATION_PROPERTY); - if (q) { - wc_printf("%s ", _("Location:")); - escputs((char *)icalproperty_get_comment(q)); - wc_printf("
    "); - } - if (!icaltime_compare(t, end_t)) { /* one day only */ + wc_printf("%s ", _("Summary:")); + escputs((char *) icalproperty_get_comment(p)); + wc_printf("
    "); + q = icalcomponent_get_first_property(Cal->cal, ICAL_LOCATION_PROPERTY); + if (q) { + wc_printf("%s ", _("Location:")); + escputs((char *) icalproperty_get_comment(q)); + wc_printf("
    "); + } + if (!icaltime_compare(t, end_t)) { /* one day only */ webcit_fmt_date(buf, 256, event_tt, DATEFMT_BRIEF); wc_printf("%s %s
    ", _("Date/time:"), buf); } @@ -1090,12 +1016,12 @@ void calendar_day_view_display_events(time_t thetime, webcit_fmt_date(buf, 256, event_tte, DATEFMT_BRIEF); wc_printf("%s %s
    ", _("Ending date/time:"), buf); } - q = icalcomponent_get_first_property(Cal->cal,ICAL_DESCRIPTION_PROPERTY); - if (q) { - wc_printf("%s ", _("Notes:")); - escputs((char *)icalproperty_get_comment(q)); - wc_printf("
    "); - } + q = icalcomponent_get_first_property(Cal->cal, ICAL_DESCRIPTION_PROPERTY); + if (q) { + wc_printf("%s ", _("Notes:")); + escputs((char *) icalproperty_get_comment(q)); + wc_printf("
    "); + } wc_printf("
    "); wc_printf("
    \n"); } @@ -1122,7 +1048,7 @@ void calendar_day_view(int year, int month, int day) { int hourlabel; int extrahourlabel; - time_format = get_time_format_cached (); + time_format = get_time_format_cached(); get_pref_long("daystart", &daystart, 8); get_pref_long("dayend", &dayend, 17); @@ -1137,7 +1063,7 @@ void calendar_day_view(int year, int month, int day) { d_tm.tm_year = year - 1900; d_tm.tm_mon = month - 1; d_tm.tm_mday = day; - today_t = mktime(&d_tm); + today_t = mktime(&d_tm); /* Figure out the dates for "yesterday" and "tomorrow" links */ @@ -1160,34 +1086,32 @@ void calendar_day_view(int year, int month, int day) { /* Innermost cell (contains hours etc.) */ wc_printf(""); - wc_printf("
    "); + wc_printf("
    "); /* Now the middle of the day... */ extrahourlabel = extratimeline - 2; hourlabel = extrahourlabel * 150 / 100; - if (hourlabel > (timeline - 2)) hourlabel = timeline - 2; + if (hourlabel > (timeline - 2)) + hourlabel = timeline - 2; for (hour = 0; hour < daystart; ++hour) { /* could do HEIGHT=xx */ wc_printf("
    " - "", + "", + /* TODO: what have these been used for? (hour * extratimeline ), extratimeline, extrahourlabel, */ - year, month, day, hour - ); + year, month, day, hour); if (time_format == WC_TIMEFORMAT_24) { wc_printf("%2d:00 ", hour); } else { - wc_printf("%d:00%s ", - ((hour == 0) ? 12 : (hour <= 12 ? hour : hour-12)), - (hour < 12 ? "am" : "pm") - ); + wc_printf("%d:00%s ", ((hour == 0) ? 12 : (hour <= 12 ? hour : hour - 12)), (hour < 12 ? "am" : "pm") + ); } wc_printf("
    "); @@ -1195,107 +1119,93 @@ void calendar_day_view(int year, int month, int day) { gap = daystart * extratimeline; - for (hour = daystart; hour <= dayend; ++hour) { /* could do HEIGHT=xx */ - wc_printf("
    " - "", + for (hour = daystart; hour <= dayend; ++hour) { /* could do HEIGHT=xx */ + wc_printf("
    " + "", + /*TODO: what have these been used for? gap + ((hour - daystart) * timeline ), timeline, hourlabel, */ - year, month, day, hour - ); - - if (time_format == WC_TIMEFORMAT_24) { - wc_printf("%2d:00 ", hour); - } - else { - wc_printf("%d:00%s ", - (hour <= 12 ? hour : hour-12), - (hour < 12 ? "am" : "pm") - ); - } - - wc_printf("
    "); - } + year, month, day, hour); + + if (time_format == WC_TIMEFORMAT_24) { + wc_printf("%2d:00 ", hour); + } + else { + wc_printf("%d:00%s ", (hour <= 12 ? hour : hour - 12), (hour < 12 ? "am" : "pm") + ); + } + + wc_printf(""); + } gap = gap + ((dayend - daystart + 1) * timeline); - for (hour = (dayend + 1); hour < 24; ++hour) { /* could do HEIGHT=xx */ - wc_printf("
    " - "", + for (hour = (dayend + 1); hour < 24; ++hour) { /* could do HEIGHT=xx */ + wc_printf("
    " + "", + /*TODO: what have these been used for? gap + ((hour - dayend - 1) * extratimeline ), extratimeline, extrahourlabel, */ - year, month, day, hour - ); - - if (time_format == WC_TIMEFORMAT_24) { - wc_printf("%2d:00 ", hour); - } - else { - wc_printf("%d:00%s ", - (hour <= 12 ? hour : hour-12), - (hour < 12 ? "am" : "pm") - ); - } - - wc_printf("
    "); - } + year, month, day, hour); + + if (time_format == WC_TIMEFORMAT_24) { + wc_printf("%2d:00 ", hour); + } + else { + wc_printf("%d:00%s ", (hour <= 12 ? hour : hour - 12), (hour < 12 ? "am" : "pm") + ); + } + + wc_printf(""); + } /* Display events with start and end times on this day */ calendar_day_view_display_events(today_t, year, month, day, 0, daystart, dayend); - wc_printf("
    "); - wc_printf(""); /* end of innermost table */ + wc_printf("
    "); + wc_printf(""); /* end of innermost table */ /* Display extra events (start/end times not present or not today) in the middle column */ - wc_printf(""); + wc_printf(""); - wc_printf(""); wc_printf(""); /* end extra on the middle */ wc_printf(""); /* begin stuff-on-the-right */ /* Begin todays-date-with-left-and-right-arrows */ - wc_printf("\n"); + wc_printf("
    \n"); wc_printf(""); /* Left arrow */ wc_printf(""); wc_strftime(d_str, sizeof d_str, - "", - &d_tm - ); + "", &d_tm); wc_printf("%s", d_str); /* Right arrow */ wc_printf(""); wc_printf("
    "); - wc_printf("", - yesterday.year, yesterday.month, yesterday.day); + wc_printf("", yesterday.year, yesterday.month, yesterday.day); wc_printf("\"previous\""); wc_printf("" - "%A
    " - "%B
    " - "%d
    " - "%Y
    " - "
    " + "%A
    " + "%B
    " "%d
    " "%Y
    " "
    "); - wc_printf("", - tomorrow.year, tomorrow.month, tomorrow.day); + wc_printf("", tomorrow.year, tomorrow.month, tomorrow.day); wc_printf("\"%s\"\n", _("next")); + " border=\"0\">\n", _("next")); wc_printf("
    \n"); @@ -1305,8 +1215,8 @@ void calendar_day_view(int year, int month, int day) { wc_printf("
    \n"); embeddable_mini_calendar(year, month); - wc_printf(""); /* end stuff-on-the-right */ - wc_printf("\n"); /* end of inner table */ + wc_printf(""); /* end stuff-on-the-right */ + wc_printf("\n"); /* end of inner table */ } @@ -1331,7 +1241,7 @@ int calendar_summary_view(void) { int num_displayed = 0; if (GetCount(WC->disp_cal_items) == 0) { - return(0); + return (0); } now = time(NULL); @@ -1339,7 +1249,7 @@ int calendar_summary_view(void) { Pos = GetNewHashPos(WCC->disp_cal_items, 0); while (GetNextHashPos(WCC->disp_cal_items, Pos, &hklen, &HashKey, &vCal)) { - Cal = (disp_cal*)vCal; + Cal = (disp_cal *) vCal; p = icalcomponent_get_first_property(Cal->cal, ICAL_DTSTART_PROPERTY); if (p != NULL) { t = icalproperty_get_dtstart(p); @@ -1359,41 +1269,33 @@ int calendar_summary_view(void) { localtime_r(&event_tt, &event_tm); } - if ( (event_tm.tm_year == today_tm.tm_year) - && (event_tm.tm_mon == today_tm.tm_mon) - && (event_tm.tm_mday == today_tm.tm_mday) - ) { + if ((event_tm.tm_year == today_tm.tm_year) + && (event_tm.tm_mon == today_tm.tm_mon) + && (event_tm.tm_mday == today_tm.tm_mday) + ) { p = icalcomponent_get_first_property(Cal->cal, ICAL_SUMMARY_PROPERTY); if (p == NULL) { p = icalproperty_new_summary(_("Untitled Task")); icalcomponent_add_property(Cal->cal, p); } - if (p != NULL) - { + if (p != NULL) { if (WCC->CurRoom.view == VIEW_TASKS) { wc_printf(""); } else { wc_printf(""); } @@ -1409,20 +1311,14 @@ int calendar_summary_view(void) { } DeleteHashPos(&Pos); DeleteHash(&WC->disp_cal_items); - return(num_displayed); + return (num_displayed); } /* * Parse the URL variables in order to determine the scope and display of a calendar view */ -int calendar_GetParamsGetServerCall(SharedMessageStatus *Stat, - void **ViewSpecific, - long oper, - char *cmd, - long len, - char *filter, - long flen) -{ +int calendar_GetParamsGetServerCall(SharedMessageStatus * Stat, + void **ViewSpecific, long oper, char *cmd, long len, char *filter, long flen) { wcsession *WCC = WC; calview *c; time_t now; @@ -1431,9 +1327,9 @@ int calendar_GetParamsGetServerCall(SharedMessageStatus *Stat, int span = 3888000; - c = (calview*) malloc(sizeof(calview)); + c = (calview *) malloc(sizeof(calview)); memset(c, 0, sizeof(calview)); - *ViewSpecific = (void*)c; + *ViewSpecific = (void *) c; Stat->load_seen = 1; strcpy(cmd, "MSGS ALL"); @@ -1447,9 +1343,12 @@ int calendar_GetParamsGetServerCall(SharedMessageStatus *Stat, c->day = tm.tm_mday; /* Now see if a date was specified */ - if (havebstr("year")) c->year = ibstr("year"); - if (havebstr("month")) c->month = ibstr("month"); - if (havebstr("day")) c->day = ibstr("day"); + if (havebstr("year")) + c->year = ibstr("year"); + if (havebstr("month")) + c->month = ibstr("month"); + if (havebstr("day")) + c->day = ibstr("day"); /* How would you like that cooked? */ if (havebstr("calview")) { @@ -1487,11 +1386,16 @@ int calendar_GetParamsGetServerCall(SharedMessageStatus *Stat, tm.tm_mday = c->day; now = mktime(&tm); - if (c->view == calview_month) span = 3888000; - if (c->view == calview_brief) span = 3888000; - if (c->view == calview_week) span = 604800; - if (c->view == calview_day) span = 86400; - if (c->view == calview_summary) span = 86400; + if (c->view == calview_month) + span = 3888000; + if (c->view == calview_brief) + span = 3888000; + if (c->view == calview_week) + span = 604800; + if (c->view == calview_day) + span = 86400; + if (c->view == calview_summary) + span = 86400; c->lower_bound = now - span; c->upper_bound = now + span; @@ -1503,12 +1407,9 @@ int calendar_GetParamsGetServerCall(SharedMessageStatus *Stat, /* * Render a calendar view from data previously loaded into memory */ -int calendar_RenderView_or_Tail(SharedMessageStatus *Stat, - void **ViewSpecific, - long oper) -{ +int calendar_RenderView_or_Tail(SharedMessageStatus * Stat, void **ViewSpecific, long oper) { wcsession *WCC = WC; - calview *c = (calview*) *ViewSpecific; + calview *c = (calview *) * ViewSpecific; if (c->view == calview_day) { calendar_day_view(c->year, c->month, c->day); @@ -1530,9 +1431,6 @@ int calendar_RenderView_or_Tail(SharedMessageStatus *Stat, return 0; } -void -InitModule_CALENDAR_VIEW -(void) -{ +void InitModule_CALENDAR_VIEW(void) { WebcitAddUrlHandler(HKEY("mini_calendar"), "", 0, ajax_mini_calendar, AJAX); }