X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=webcit%2Fcalendar_view.c;h=1b6e8681ebe2f9f3f2deeeb3ef7b5cf666f403c7;hb=HEAD;hp=b9e95418e992c8276bfc7a4828ef7c516706e948;hpb=c6aec42f213ec284e34648f3d69bcf927dccddb1;p=citadel.git diff --git a/webcit/calendar_view.c b/webcit/calendar_view.c index b9e95418e..c6b4a9ff3 100644 --- a/webcit/calendar_view.c +++ b/webcit/calendar_view.c @@ -1,23 +1,15 @@ - -/* - * Handles the HTML display of calendar items. - * - * 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, 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. - */ +// Handles the HTML display of calendar items. +// +// Copyright (c) 1996-2023 by the citadel.org team +// +// This program is open source software. Use, duplication, or disclosure +// is subject to the terms of the GNU General Public License, version 3. #include "webcit.h" -#include "webserver.h" + #include "calendar.h" -/* These define how high the hour rows are in the day view */ +// These define how high the hour rows are in the day view #define TIMELINE 22 #define EXTRATIMELINE 22 @@ -35,17 +27,13 @@ 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. - */ + // 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; @@ -55,39 +43,42 @@ 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 */ + // Determine previous and next months ... for links + previous_month = thetime - (time_t)864000; // back 10 days + next_month = thetime + (time_t)(31L * 86400); // ahead 31 days - /* Now back up until we're on the user's preferred start day */ + // 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); } wc_printf("
\n", div_id); - /* Previous month link */ + // 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 */ + // 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]); @@ -95,61 +86,60 @@ 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 */ + // 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 { wc_printf(""); } - /* After displaying one week, end the row */ + // After displaying one week, end the row if ((i % 7) == 6) { wc_printf("\n"); } } - 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 - */ + +// ajax embedder for the above mini calendar void ajax_mini_calendar(void) { - embeddable_mini_calendar(ibstr("year"), ibstr("month")); + embeddable_mini_calendar( ibstr("year"), ibstr("month")); } -/* - * Display one day of a whole month view of a calendar - */ +// Display one day of a whole month view of a calendar void calendar_month_view_display_events(int year, int month, int day) { long hklen; const char *HashKey; @@ -168,19 +158,16 @@ void calendar_month_view_display_events(int year, int month, int day) { int all_day_event = 0; int show_event = 0; char buf[256]; - wcsession *WCC = WC; time_t tt; - if (GetCount(WCC->disp_cal_items) == 0) { + if (GetCount(WC->disp_cal_items) == 0) { wc_printf("
\n"); return; } - /* - * Create an imaginary event which spans the 24 hours of today. Any events which - * overlap with this one take place at least partially in this day. We have to - * convert it from a struct tm in order to make it UTC. - */ + // Create an imaginary event which spans the 24 hours of today. Any events which + // overlap with this one take place at least partially in this day. We have to + // convert it from a struct tm in order to make it UTC. memset(&starting_tm, 0, sizeof(struct tm)); starting_tm.tm_year = year - 1900; starting_tm.tm_mon = month - 1; @@ -197,20 +184,16 @@ void calendar_month_view_display_events(int year, int month, int day) { ending_tm.tm_min = 59; today_end_t = icaltime_from_timet_with_zone(mktime(&ending_tm), 0, icaltimezone_get_utc_timezone()); - /* - * Create another one without caring about the timezone for all day events. - */ + // Create another one without caring about the timezone for all day events. today_t = icaltime_null_date(); today_t.year = year; today_t.month = month; today_t.day = day; - /* - * Now loop through our list of events to see which ones occur today. - */ - Pos = GetNewHashPos(WCC->disp_cal_items, 0); - while (GetNextHashPos(WCC->disp_cal_items, Pos, &hklen, &HashKey, &vCal)) { - Cal = (disp_cal *) vCal; + // Now loop through our list of events to see which ones occur today. + Pos = GetNewHashPos(WC->disp_cal_items, 0); + while (GetNextHashPos(WC->disp_cal_items, Pos, &hklen, &HashKey, &vCal)) { + Cal = (disp_cal*)vCal; all_day_event = 0; q = icalcomponent_get_first_property(Cal->cal, ICAL_DTSTART_PROPERTY); if (q != NULL) { @@ -226,8 +209,9 @@ void calendar_month_view_display_events(int year, int month, int day) { else { memset(&end_t, 0, sizeof end_t); } - if (t.is_date) + if (t.is_date) { all_day_event = 1; + } if (all_day_event) { show_event = ical_ctdl_is_overlap(t, end_t, today_t, icaltime_null_time()); @@ -236,17 +220,15 @@ void calendar_month_view_display_events(int year, int month, int day) { 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 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) - ); */ + //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) + //); p = icalcomponent_get_first_property(Cal->cal, ICAL_SUMMARY_PROPERTY); if (p == NULL) { @@ -256,35 +238,40 @@ void calendar_month_view_display_events(int year, int month, int day) { if (p != NULL) { if (all_day_event) { - wc_printf("" "" - "", - daycolor, sbuf, daycolor, ebuf); + "", + daycolor, + sbuf, + daycolor, + ebuf + ); } - } - - } } DeleteHashPos(&Pos); } -/* - * view one month. pretty view - */ +// view one month. pretty view void calendar_month_view(int year, int month, int day) { struct tm starting_tm; struct tm tm; @@ -494,22 +468,15 @@ void calendar_month_view(int year, int month, int day) { char colheader_label[32]; long weekstart = 0; - /* - * Make sure we know which day is today. - */ + // Make sure we know which day is today. today_timet = time(NULL); localtime_r(&today_timet, &today_tm); - /* - * Determine what day to start. If an impossible value is found, start on Sunday. - */ + // 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; @@ -519,108 +486,119 @@ 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 */ + // Determine previous and next months ... for links + previous_month = thetime - (time_t)864000; // back 10 days + next_month = thetime + (time_t)(31L * 86400); // ahead 31 days - /* Now back up until we're on the user's preferred start day */ + // 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("" + "
" + ); } - 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("
"); } - /* - * Only show start/end times if we're actually looking at the VEVENT - * component. Otherwise it shows bogus dates for e.g. timezones - */ + // Only show start/end times if we're actually looking at the VEVENT + // component. Otherwise it shows bogus dates for e.g. timezones if (icalcomponent_isa(Cal->cal) == ICAL_VEVENT_COMPONENT) { q = icalcomponent_get_first_property(Cal->cal, ICAL_DTSTART_PROPERTY); @@ -297,20 +284,18 @@ void calendar_month_view_display_events(int year, int month, int day) { end_t = icalproperty_get_dtend(q); } else { - /* - * events with starting date/time equal - * ending date/time might get only - * DTSTART but no DTEND - */ + // events with starting date/time equal + // ending date/time might get only + // DTSTART but no DTEND no_end = 1; } if (t.is_date) { - /* all day event */ + // all day event struct tm d_tm; if (!no_end) { - /* end given, have to adjust it */ + // end given, have to adjust it icaltime_adjust(&end_t, -1, 0, 0, 0); } memset(&d_tm, 0, sizeof d_tm); @@ -343,16 +328,14 @@ void calendar_month_view_display_events(int year, int month, int day) { webcit_fmt_date(buf, 256, tt, 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)); + escputs((char *)icalproperty_get_comment(q)); wc_printf("
"); } @@ -362,20 +345,14 @@ void calendar_month_view_display_events(int year, int month, int day) { if (all_day_event) { wc_printf("
"); } - } - } - - } DeleteHashPos(&Pos); } -/* - * Display one day of a whole month view of a calendar - */ +// Display one day of a whole month view of a calendar void calendar_month_view_brief_events(time_t thetime, const char *daycolor) { long hklen; const char *HashKey; @@ -384,7 +361,6 @@ void calendar_month_view_brief_events(time_t thetime, const char *daycolor) { time_t event_tt; time_t event_tts; time_t event_tte; - wcsession *WCC = WC; struct tm event_tms; struct tm event_tme; struct tm today_tm; @@ -396,27 +372,23 @@ 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; + Pos = GetNewHashPos(WC->disp_cal_items, 0); + while (GetNextHashPos(WC->disp_cal_items, Pos, &hklen, &HashKey, &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); @@ -424,62 +396,64 @@ void calendar_month_view_brief_events(time_t thetime, const char *daycolor) { else { localtime_r(&event_tts, &event_tms); } - /* \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)) { - + // 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)) + { 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); + 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; + 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 */ + "" + "", + daycolor, + hours, minutes, + (Cal->unread)?"_unread":"_read", + daycolor, + Cal->cal_msgnum, + bstr("year"), + bstr("month"), + bstr("day") + ); + + escputs((char *) icalproperty_get_comment(p)); + // todo: also ammitime format wc_strftime(&sbuf[0], sizeof(sbuf), timeformat, &event_tms); wc_strftime(&ebuf[0], sizeof(sbuf), timeformat, &event_tme); - + wc_printf("%s%s
%s%s
\n
"); + // Outer table (to get the background color) + 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) */ + // 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 */ + // Before displaying the first day of the week, start a new row if ((i % 7) == 0) { wc_printf(""); - /* After displaying the last day of the week, end the row */ + // After displaying the last day of the week, end the row if ((i % 7) == 6) { 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)) { - i = 100; /* break out of the loop */ + 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); - - /* put the data here, stupid */ - calendar_month_view_display_events(tm.tm_year + 1900, tm.tm_mon + 1, 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 + ); wc_printf("
" /* end of inner table */ - "
\n" /* end of outer table */ - ); + wc_printf("
" // end of inner table + "\n" // end of outer table + ); } -/* - * view one month. brief view - */ + +// view one month. brief view void calendar_brief_month_view(int year, int month, int day) { struct tm starting_tm; struct tm tm; @@ -630,9 +608,8 @@ void calendar_brief_month_view(int year, int month, int day) { time_t next_month; char month_label[32]; - /* Determine what day to start. - * First, back up to the 1st of the month... - */ + // Determine what day to start. + // First, back up to the 1st of the month... memset(&starting_tm, 0, sizeof(struct tm)); starting_tm.tm_year = year - 1900; starting_tm.tm_mon = month - 1; @@ -641,49 +618,55 @@ 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 */ + // Determine previous and next months ... for links + previous_month = thetime - (time_t)864000; // back 10 days + next_month = thetime + (time_t)(31L * 86400); // ahead 31 days - /* Now back up until we're on a Sunday */ + // 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"); + // Outer table (to get the background color) + 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(""); + // Inner table (the real one) + wc_printf("
"); wc_printf("\n"); wc_printf("
\n"); - /* Now do 35 days */ + // Now do 35 days for (i = 0; i < 35; ++i) { char weeknumber[255]; char weekday_name[32]; @@ -691,55 +674,62 @@ void calendar_brief_month_view(int year, int month, int day) { localtime_r(&thetime, &tm); - /* Before displaying Sunday, start a new CELL */ + // Before displaying Sunday, start a new CELL 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 */ + // 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 */ + // put the data of one day here, stupid calendar_month_view_brief_events(thetime, daycolor); - - /* After displaying Saturday, end the row */ + // After displaying Saturday, end the row if ((i % 7) == 6) { 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 + ); } -/* - * Calendar week view -- not implemented yet, this is a stub function - */ + +// Calendar week view -- not implemented yet, this is a stub function void calendar_week_view(int year, int month, int day) { wc_printf("
week view FIXME

\n"); } -/* - * display one day - * Display events for a particular hour of a particular day. - * (Specify hour < 0 to show "all day" events) - * - * dstart and dend indicate which hours our "daytime" begins and end - */ +// display one day +// Display events for a particular hour of a particular day. +// (Specify hour < 0 to show "all day" events) +// +// 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) { + long hklen; const char *HashKey; void *vCal; @@ -753,7 +743,6 @@ void calendar_day_view_display_events(time_t thetime, int year, int month, int d int show_event = 0; int all_day_event = 0; int ongoing_event = 0; - wcsession *WCC = WC; disp_cal *Cal; struct icaltimetype t; struct icaltimetype end_t; @@ -769,16 +758,15 @@ void calendar_day_view_display_events(time_t thetime, int year, int month, int d int diffmin = 0; int endmin = 0; - char buf[256]; + char buf[256]; - if (GetCount(WCC->disp_cal_items) == 0) { - /* nothing to display */ + if (GetCount(WC->disp_cal_items) == 0) { + // nothing to display return; } - /* Create an imaginary event which spans the current day. Any events which - * overlap with this one take place at least partially in this day. - */ + // Create an imaginary event which spans the current day. Any events which + // overlap with this one take place at least partially in this day. memset(&starting_tm, 0, sizeof(struct tm)); starting_tm.tm_year = year - 1900; starting_tm.tm_mon = month - 1; @@ -795,22 +783,19 @@ void calendar_day_view_display_events(time_t thetime, int year, int month, int d ending_tm.tm_min = 59; today_end_t = icaltime_from_timet_with_zone(mktime(&ending_tm), 0, icaltimezone_get_utc_timezone()); - /* - * Create another one without caring about the timezone for all day events. - */ + // Create another one without caring about the timezone for all day events. today_t = icaltime_null_date(); today_t.year = year; today_t.month = month; today_t.day = day; - /* Now loop through our list of events to see which ones occur today. - */ - Pos = GetNewHashPos(WCC->disp_cal_items, 0); - while (GetNextHashPos(WCC->disp_cal_items, Pos, &hklen, &HashKey, &vCal)) { - Cal = (disp_cal *) vCal; + // Now loop through our list of events to see which ones occur today. + Pos = GetNewHashPos(WC->disp_cal_items, 0); + while (GetNextHashPos(WC->disp_cal_items, Pos, &hklen, &HashKey, &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) { @@ -822,27 +807,22 @@ void calendar_day_view_display_events(time_t thetime, int year, int month, int d 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) { end_t = icalproperty_get_dtend(q); } else { - /* no end given means end = start */ + // no end given means end = start memcpy(&end_t, &t, sizeof(struct icaltimetype)); } if (all_day_event) { show_event = ical_ctdl_is_overlap(t, end_t, today_t, icaltime_null_time()); if (icaltime_compare(t, end_t)) { - /* - * the end date is non-inclusive so adjust it by one - * day because our test is inclusive, note that a day is - * not to much because we are talking about all day - * events - */ + // the end date is non-inclusive so adjust it by one day because our test is inclusive, + // note that a day is not too much because we are talking about all day events icaltime_adjust(&end_t, -1, 0, 0, 0); } } @@ -853,9 +833,8 @@ void calendar_day_view_display_events(time_t thetime, int year, int month, int d event_tte = icaltime_as_timet(end_t); 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); + // If we determined that this event occurs today, then display it. + 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); @@ -863,29 +842,31 @@ void calendar_day_view_display_events(time_t thetime, int year, int month, int d 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) { 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); } @@ -895,60 +876,64 @@ void calendar_day_view_display_events(time_t thetime, int year, int month, int d 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) { + 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("
    "); + 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("
    "); + 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) { 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 */ + // Calculate the location of the top of the box if (event_te.tm_hour < dstart) { startmin = diffmin = event_te.tm_min / 6; top = (event_te.tm_hour * EXTRATIMELINE) + startmin; @@ -957,56 +942,57 @@ void calendar_day_view_display_events(time_t thetime, int year, int month, int d 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 */ + // should never get here } - /* Calculate the location of the bottom of the box */ + // Calculate the location of the bottom of the box if (event_tm.tm_hour < dstart) { endmin = diffmin = event_tm.tm_min / 6; bottom = (event_tm.tm_hour * EXTRATIMELINE) + endmin; } 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 */ + // 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); } @@ -1016,12 +1002,12 @@ void calendar_day_view_display_events(time_t thetime, int year, int month, int d 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"); } @@ -1030,9 +1016,8 @@ void calendar_day_view_display_events(time_t thetime, int year, int month, int d DeleteHashPos(&Pos); } -/* - * view one day - */ + +// view one day void calendar_day_view(int year, int month, int day) { int hour; struct icaltimetype today, yesterday, tomorrow; @@ -1048,24 +1033,24 @@ 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); - /* when loading daystart/dayend, replace missing, corrupt, or impossible values with defaults */ + // when loading daystart/dayend, replace missing, corrupt, or impossible values with defaults if ((daystart < 0) || (dayend < 2) || (daystart >= 23) || (dayend > 23) || (dayend <= daystart)) { daystart = 9; dayend = 17; } - /* Today's date */ + // Today's date memset(&d_tm, 0, sizeof d_tm); 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 */ + // Figure out the dates for "yesterday" and "tomorrow" links memset(&today, 0, sizeof(struct icaltimetype)); today.year = year; @@ -1081,37 +1066,34 @@ void calendar_day_view(int year, int month, int day) { ++tomorrow.day; tomorrow = icaltime_normalize(tomorrow); - /* Inner table (the real one) */ + // Inner table (the real one) wc_printf(" \n"); - /* Innermost cell (contains hours etc.) */ + // Innermost cell (contains hours etc.) 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(""); /* end extra on the middle */ + wc_printf(""); // end extra on the middle - wc_printf(""); /* end stuff-on-the-right */ - wc_printf("
    "); - wc_printf("
    "); + wc_printf("
    "); - /* Now the middle of the day... */ + // 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 */ + 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("
    "); @@ -1119,110 +1101,111 @@ 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("
    " - "", - -/*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("
    "); - } + for (hour = daystart; hour <= dayend; ++hour) { // could do HEIGHT=xx + 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("
    " - "", - -/*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("
    "); - } - - /* Display events with start and end times on this day */ + for (hour = (dayend + 1); hour < 24; ++hour) { // could do HEIGHT=xx + 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("
    "); + // Display extra events (start/end times not present or not today) in the middle column + wc_printf(""); - wc_printf("
      "); + wc_printf("
        "); - /* Display all-day events */ + // Display all-day events calendar_day_view_display_events(today_t, year, month, day, 1, daystart, dayend); - wc_printf("
      "); + wc_printf("
    "); - wc_printf("
    "); /* begin stuff-on-the-right */ + wc_printf(""); // begin stuff-on-the-right - /* Begin todays-date-with-left-and-right-arrows */ - wc_printf("\n"); + // Begin todays-date-with-left-and-right-arrows + wc_printf("
    \n"); wc_printf(""); - /* Left arrow */ + // Left arrow wc_printf(""); wc_strftime(d_str, sizeof d_str, - "", &d_tm); + "", + &d_tm + ); wc_printf("%s", d_str); - /* Right arrow */ + // Right arrow wc_printf(""); wc_printf("
    "); 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"); - /* End todays-date-with-left-and-right-arrows */ + // End todays-date-with-left-and-right-arrows - /* Embed a mini month calendar in this space */ + // Embed a mini month calendar in this space wc_printf("
    \n"); embeddable_mini_calendar(year, month); - wc_printf("
    \n"); /* end of inner table */ + wc_printf(""); // end stuff-on-the-right + wc_printf("\n"); // end of inner table } -/* - * Display today's events. Returns the number of items displayed. - */ +// Display today's events. Returns the number of items displayed. int calendar_summary_view(void) { long hklen; const char *HashKey; @@ -1237,19 +1220,18 @@ int calendar_summary_view(void) { time_t now; int all_day_event = 0; char timestring[SIZ]; - wcsession *WCC = WC; int num_displayed = 0; if (GetCount(WC->disp_cal_items) == 0) { - return (0); + return(0); } now = time(NULL); localtime_r(&now, &today_tm); - Pos = GetNewHashPos(WCC->disp_cal_items, 0); - while (GetNextHashPos(WCC->disp_cal_items, Pos, &hklen, &HashKey, &vCal)) { - Cal = (disp_cal *) vCal; + Pos = GetNewHashPos(WC->disp_cal_items, 0); + while (GetNextHashPos(WC->disp_cal_items, Pos, &hklen, &HashKey, &vCal)) { + Cal = (disp_cal*)vCal; p = icalcomponent_get_first_property(Cal->cal, ICAL_DTSTART_PROPERTY); if (p != NULL) { t = icalproperty_get_dtstart(p); @@ -1269,34 +1251,40 @@ 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 (WCC->CurRoom.view == VIEW_TASKS) { + if (WC->CurRoom.view == VIEW_TASKS) { wc_printf(""); } else { wc_printf(""); } escputs((char *) icalproperty_get_comment(p)); @@ -1311,15 +1299,19 @@ 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) { - wcsession *WCC = WC; + +// 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) +{ calview *c; time_t now; struct tm tm; @@ -1327,30 +1319,27 @@ 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"); Stat->maxmsgs = 32767; - /* In case no date was specified, go with today */ + // In case no date was specified, go with today now = time(NULL); localtime_r(&now, &tm); c->year = tm.tm_year + 1900; c->month = tm.tm_mon + 1; 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"); + // 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"); - /* How would you like that cooked? */ + // How would you like that cooked? if (havebstr("calview")) { strcpy(cv, bstr("calview")); } @@ -1358,18 +1347,18 @@ int calendar_GetParamsGetServerCall(SharedMessageStatus * Stat, strcpy(cv, "month"); } - /* Display the selected view */ + // Display the selected view if (!strcasecmp(cv, "day")) { c->view = calview_day; } else if (!strcasecmp(cv, "week")) { c->view = calview_week; } - else if (!strcasecmp(cv, "summary")) { /* shouldn't ever happen, but just in case */ + else if (!strcasecmp(cv, "summary")) { // shouldn't ever happen, but just in case c->view = calview_day; } else { - if (WCC->CurRoom.view == VIEW_CALBRIEF) { + if (WC->CurRoom.view == VIEW_CALBRIEF) { c->view = calview_brief; } else { @@ -1377,25 +1366,18 @@ int calendar_GetParamsGetServerCall(SharedMessageStatus * Stat, } } - /* Now try and set the lower and upper bounds so that we don't - * burn too many cpu cycles parsing data way in the past or future - */ - + // Now try and set the lower and upper bounds so that we don't + // burn too many cpu cycles parsing data way in the past or future tm.tm_year = c->year - 1900; tm.tm_mon = c->month - 1; 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; @@ -1403,13 +1385,10 @@ 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) { -/* - * Render a calendar view from data previously loaded into memory - */ -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); @@ -1418,7 +1397,7 @@ int calendar_RenderView_or_Tail(SharedMessageStatus * Stat, void **ViewSpecific, calendar_week_view(c->year, c->month, c->day); } else { - if (WCC->CurRoom.view == VIEW_CALBRIEF) { + if (WC->CurRoom.view == VIEW_CALBRIEF) { calendar_brief_month_view(c->year, c->month, c->day); } else { @@ -1426,11 +1405,14 @@ int calendar_RenderView_or_Tail(SharedMessageStatus * Stat, void **ViewSpecific, } } - /* Free the in-memory list of calendar items */ + // Free the in-memory list of calendar items DeleteHash(&WC->disp_cal_items); return 0; } -void InitModule_CALENDAR_VIEW(void) { +void +InitModule_CALENDAR_VIEW +(void) +{ WebcitAddUrlHandler(HKEY("mini_calendar"), "", 0, ajax_mini_calendar, AJAX); }