From: Art Cancro Date: Wed, 27 Dec 2023 18:53:52 +0000 (-0500) Subject: calendar_view.c (from webcit-classic) : clean up X-Git-Tag: v997~54 X-Git-Url: https://code.citadel.org/?p=citadel.git;a=commitdiff_plain;h=e00e07603c749a76ee790072df6ce4445d960c25 calendar_view.c (from webcit-classic) : clean up Style and comments cleanup. Some of this code is going to get copied over to WebCit-NG so we need to bring it up to our current coding standards (K&R, 1TBF, with C99-style comments) --- diff --git a/webcit-ng/static/js/view_calendar.js b/webcit-ng/static/js/view_calendar.js index b6d135d36..17a1a4ea5 100644 --- a/webcit-ng/static/js/view_calendar.js +++ b/webcit-ng/static/js/view_calendar.js @@ -9,4 +9,19 @@ // RENDERER FOR THIS VIEW function view_render_calendar() { document.getElementById("ctdl-main").innerHTML = `STUB RENDERER FOR CALENDAR ROOM`; + + fetch( + "/ctdl/r/" + escapeHTMLURI(current_room) + "/calendar::" + ) + .then((response) => { + if (response.ok) { + return(response.json()); + } + }) + .then((j) => { + console.log("Something"); + }) + .catch((error) => { + console.log("Error: " + error); + }); } diff --git a/webcit/calendar_view.c b/webcit/calendar_view.c index 1b6e8681e..38294f001 100644 --- a/webcit/calendar_view.c +++ b/webcit/calendar_view.c @@ -1,27 +1,19 @@ -/* - * 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 +// are 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 -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; @@ -37,14 +29,11 @@ void embeddable_mini_calendar(int year, int month) 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; - /* - * 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,27 +43,26 @@ 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("  " @@ -83,13 +71,11 @@ void embeddable_mini_calendar(int year, int month) "" "  ", 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) ; @@ -100,14 +86,13 @@ void embeddable_mini_calendar(int year, int month) } wc_printf("\n"); - - /* Now do 35 or 42 days */ + // Now do 35 or 42 days for (i = 0; i < 42; ++i) { localtime_r(&thetime, &tm); if (i < 35) { - /* Before displaying Sunday, start a new row */ + // Before displaying Sunday, start a new row if ((i % 7) == 0) { wc_printf(""); } @@ -121,17 +106,17 @@ void embeddable_mini_calendar(int year, int month) 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("
" /* end of inner table */ + wc_printf("" // end of inner table "
\n"); StrBufAppendPrintf(WC->trailing_javascript, @@ -147,20 +132,15 @@ void embeddable_mini_calendar(int year, int month) } -/* - * ajax embedder for the above mini calendar - */ -void ajax_mini_calendar(void) -{ + +// ajax embedder for the above mini calendar +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) -{ +// 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; void *vCal; @@ -178,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; @@ -207,19 +184,15 @@ 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)) { + // 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); @@ -236,28 +209,26 @@ 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 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) { @@ -272,7 +243,6 @@ void calendar_month_view_display_events(int year, int month, int day) ); } - wc_printf("" "" @@ -300,10 +270,8 @@ void calendar_month_view_display_events(int year, int month, int day) 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); @@ -316,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); @@ -339,38 +305,31 @@ 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); } - } } - } q = icalcomponent_get_first_property(Cal->cal, ICAL_DESCRIPTION_PROPERTY); @@ -386,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; @@ -408,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; @@ -427,8 +379,8 @@ void calendar_month_view_brief_events(time_t thetime, const char *daycolor) { localtime_r(&thetime, &today_tm); - Pos = GetNewHashPos(WCC->disp_cal_items, 0); - while (GetNextHashPos(WCC->disp_cal_items, Pos, &hklen, &HashKey, &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) { @@ -444,73 +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) + // 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]; + && (event_tms.tm_mday == today_tm.tm_mday)) + { - 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") + 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: 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", + daycolor, + sbuf, + daycolor, + ebuf ); - - 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", - 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; @@ -525,21 +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; - /* - * 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; @@ -549,22 +486,22 @@ 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) */ + // Outer table (to get the background color) wc_printf(" \n
"); wc_printf("\n"); @@ -590,7 +527,7 @@ void calendar_month_view(int year, int month, int day) { wc_printf("
\n"); - /* Inner table (the real one) */ + // Inner table (the real one) wc_printf(""); wc_printf(""); @@ -605,12 +542,11 @@ void calendar_month_view(int year, int month, int day) { } 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) { - /* 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 */ + i = 100; // break out of the loop } } - wc_printf("
"); wc_strftime(colheader_label, sizeof colheader_label, "%V", &tm); @@ -634,7 +570,7 @@ void calendar_month_view(int year, int month, int day) { tm.tm_mday, tm.tm_mday); - /* put the data here, stupid */ + // put the data here, stupid calendar_month_view_display_events( tm.tm_year + 1900, tm.tm_mon + 1, @@ -643,27 +579,26 @@ void calendar_month_view(int year, int month, int day) { 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; @@ -673,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; @@ -684,22 +618,22 @@ 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) */ + // Outer table (to get the background color) wc_printf("
\n"); @@ -726,13 +660,13 @@ void calendar_brief_month_view(int year, int month, int day) { wc_printf("
\n"); - /* Inner table (the real one) */ + // 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]; @@ -740,7 +674,7 @@ 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("" @@ -758,7 +692,7 @@ void calendar_brief_month_view(int year, int month, int day) { ((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", @@ -766,46 +700,36 @@ void calendar_brief_month_view(int year, int month, int day) { 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,%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 - */ -void calendar_day_view_display_events(time_t thetime, - int year, - int month, - int day, - int notime_events, - int dstart, - int dend) -{ +// 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; @@ -819,7 +743,6 @@ void calendar_day_view_display_events(time_t thetime, 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; @@ -837,14 +760,13 @@ void calendar_day_view_display_events(time_t thetime, 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; @@ -861,18 +783,15 @@ void calendar_day_view_display_events(time_t thetime, 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)) { + // 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; @@ -895,33 +814,26 @@ void calendar_day_view_display_events(time_t thetime, 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) - { + 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); } } - else - { + else { show_event = ical_ctdl_is_overlap(t, end_t, today_start_t, today_end_t); } event_tte = icaltime_as_timet(end_t); localtime_r(&event_tte, &event_tm); - /* If we determined that this event occurs today, then display it. - */ + // 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")); @@ -932,8 +844,7 @@ void calendar_day_view_display_events(time_t thetime, 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("
  • " ""); } - 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); } @@ -976,8 +887,9 @@ void calendar_day_view_display_events(time_t thetime, wc_printf(_("All day event")); wc_printf(")
  • \n"); } - else if (ongoing_event && notime_events) - { + + else if (ongoing_event && notime_events) { + 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); @@ -1014,14 +926,14 @@ void calendar_day_view_display_events(time_t thetime, 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; - /* 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; @@ -1035,10 +947,10 @@ void calendar_day_view_display_events(time_t thetime, 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; @@ -1052,7 +964,7 @@ void calendar_day_view_display_events(time_t thetime, 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("
    "); } - 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_BRIEF); wc_printf("%s %s
    ", _("Date/time:"), buf); } @@ -1104,9 +1016,8 @@ void calendar_day_view_display_events(time_t thetime, 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; @@ -1126,20 +1037,20 @@ void calendar_day_view(int year, int month, int day) { 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); - /* 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; @@ -1155,30 +1066,25 @@ 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(""); // end of innermost table - /* Display extra events (start/end times not present or not today) in the middle column */ + // 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("
    "); - /* 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; - 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 - ); + ); if (time_format == WC_TIMEFORMAT_24) { wc_printf("%2d:00 ", hour); @@ -1187,7 +1093,7 @@ void calendar_day_view(int year, int month, int day) { wc_printf("%d:00%s ", ((hour == 0) ? 12 : (hour <= 12 ? hour : hour-12)), (hour < 12 ? "am" : "pm") - ); + ); } wc_printf("
    "); @@ -1195,17 +1101,12 @@ void calendar_day_view(int year, int month, int day) { gap = daystart * extratimeline; - for (hour = daystart; hour <= dayend; ++hour) { /* could do HEIGHT=xx */ + 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); @@ -1214,7 +1115,7 @@ void calendar_day_view(int year, int month, int day) { wc_printf("%d:00%s ", (hour <= 12 ? hour : hour-12), (hour < 12 ? "am" : "pm") - ); + ); } wc_printf("
    "); @@ -1222,15 +1123,10 @@ void calendar_day_view(int year, int month, int day) { gap = gap + ((dayend - daystart + 1) * timeline); - for (hour = (dayend + 1); hour < 24; ++hour) { /* could do HEIGHT=xx */ + 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 ); @@ -1247,35 +1143,34 @@ void calendar_day_view(int year, int month, int day) { wc_printf("
    "); } - /* Display events with start and end times on this day */ + // 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("
    "); 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("
    "); /* begin stuff-on-the-right */ + wc_printf(""); // begin stuff-on-the-right - /* Begin todays-date-with-left-and-right-arrows */ + // Begin todays-date-with-left-and-right-arrows wc_printf("\n"); wc_printf(""); - /* Left arrow */ + // Left arrow wc_printf(""); @@ -1287,10 +1182,10 @@ void calendar_day_view(int year, int month, int day) { "%Y
    " "", &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("", yesterday.year, yesterday.month, yesterday.day); wc_printf("\"previous\""); wc_printf(""); wc_printf("", tomorrow.year, tomorrow.month, tomorrow.day); @@ -1299,20 +1194,18 @@ void calendar_day_view(int year, int month, int day) { 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; @@ -1327,7 +1220,6 @@ 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) { @@ -1337,8 +1229,8 @@ int calendar_summary_view(void) { 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)) { + 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) { @@ -1363,22 +1255,20 @@ int calendar_summary_view(void) { && (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 (p != NULL) { + if (WC->CurRoom.view == VIEW_TASKS) { wc_printf("
    "); } else { @@ -1394,7 +1284,7 @@ int calendar_summary_view(void) { today_tm.tm_mon + 1, today_tm.tm_mday ); - escputs(ChrPtr(WCC->CurRoom.name)); + escputs(ChrPtr(WC->CurRoom.name)); wc_printf("\">"); } escputs((char *) icalproperty_get_comment(p)); @@ -1412,18 +1302,16 @@ int calendar_summary_view(void) { return(num_displayed); } -/* - * Parse the URL variables in order to determine the scope and display of a calendar view - */ + +// 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) + void **ViewSpecific, + long oper, + char *cmd, + long len, + char *filter, + long flen) { - wcsession *WCC = WC; calview *c; time_t now; struct tm tm; @@ -1439,19 +1327,19 @@ int calendar_GetParamsGetServerCall(SharedMessageStatus *Stat, 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 */ + // 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")); } @@ -1459,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 { @@ -1478,10 +1366,8 @@ 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; @@ -1499,15 +1385,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) { -/* - * 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; if (c->view == calview_day) { @@ -1517,7 +1397,7 @@ int calendar_RenderView_or_Tail(SharedMessageStatus *Stat, 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 { @@ -1525,7 +1405,7 @@ int calendar_RenderView_or_Tail(SharedMessageStatus *Stat, } } - /* Free the in-memory list of calendar items */ + // Free the in-memory list of calendar items DeleteHash(&WC->disp_cal_items); return 0; }