X-Git-Url: https://code.citadel.org/?p=citadel.git;a=blobdiff_plain;f=webcit%2Fcalendar_view.c;h=c8820b22c6333092e972889fc79f4bfaae8b7e6f;hp=c40b5a064b957ad829680f6dc233aeefc8597606;hb=4b4dc864ede7c5d8d956febe4a0afb422b78e7c4;hpb=80f0f2b99774b570d998109d565aecf46df5c06c diff --git a/webcit/calendar_view.c b/webcit/calendar_view.c index c40b5a064..c8820b22c 100644 --- a/webcit/calendar_view.c +++ b/webcit/calendar_view.c @@ -1,12 +1,12 @@ /* * Handles the HTML display of calendar items. * - * Copyright (c) 1996-2010 by the citadel.org team + * Copyright (c) 1996-2011 by the citadel.org team * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. + * This program is open source software. You can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 3 of the + * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -15,7 +15,7 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include "webcit.h" @@ -188,7 +188,7 @@ void calendar_month_view_display_events(int year, int month, int day) time_t tt; if (GetCount(WCC->disp_cal_items) == 0) { - wc_printf("


\n"); + wc_printf("
\n"); return; } @@ -259,6 +259,14 @@ void calendar_month_view_display_events(int year, int month, int day) * 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) + ); */ + p = icalcomponent_get_first_property(Cal->cal, ICAL_SUMMARY_PROPERTY); if (p == NULL) { p = icalproperty_new_summary(_("Untitled Event")); @@ -286,10 +294,10 @@ void calendar_month_view_display_events(int year, int month, int day) wc_printf(""); - wc_printf("%s: %s
", _("From"), Cal->from); + wc_printf("%s: %s
", _("From"), Cal->from); wc_printf("%s ", _("Summary:")); escputs((char *)icalproperty_get_comment(p)); - wc_printf("
"); + wc_printf("
"); q = icalcomponent_get_first_property( Cal->cal, @@ -297,7 +305,7 @@ void calendar_month_view_display_events(int year, int month, int day) if (q) { wc_printf("%s ", _("Location:")); escputs((char *)icalproperty_get_comment(q)); - wc_printf("
"); + wc_printf("
"); } /* @@ -377,11 +385,11 @@ void calendar_month_view_display_events(int year, int month, int day) if (q) { wc_printf("%s ", _("Notes:")); escputs((char *)icalproperty_get_comment(q)); - wc_printf("
"); + wc_printf("
"); } wc_printf("
"); - wc_printf("
\n"); + wc_printf("
\n"); if (all_day_event) { wc_printf(""); @@ -416,7 +424,6 @@ void calendar_month_view_brief_events(time_t thetime, const char *daycolor) { icalproperty *e; struct icaltimetype t; disp_cal *Cal; - int month, day, year; int all_day_event = 0; char *timeformat; int time_format; @@ -427,9 +434,6 @@ void calendar_month_view_brief_events(time_t thetime, const char *daycolor) { else timeformat="%I:%M %p"; localtime_r(&thetime, &today_tm); - month = today_tm.tm_mon + 1; - day = today_tm.tm_mday; - year = today_tm.tm_year + 1900; Pos = GetNewHashPos(WCC->disp_cal_items, 0); while (GetNextHashPos(WCC->disp_cal_items, Pos, &hklen, &HashKey, &vCal)) { @@ -569,8 +573,7 @@ void calendar_month_view(int year, int month, int day) { } /* Outer table (to get the background color) */ - wc_printf("
" - " \n
"); + wc_printf(" \n
"); wc_printf("\n"); @@ -579,7 +582,7 @@ void calendar_month_view(int year, int month, int day) { localtime_r(&previous_month, &tm); wc_printf("", (int)(tm.tm_year)+1900, tm.tm_mon + 1); - wc_printf("\"%s\"\n", _("previous")); + wc_printf("\"%s\"\n", _("previous")); wc_strftime(colheader_label, sizeof colheader_label, "%B", &starting_tm); wc_printf("  " @@ -591,7 +594,7 @@ void calendar_month_view(int year, int month, int day) { localtime_r(&next_month, &tm); wc_printf("", (int)(tm.tm_year)+1900, tm.tm_mon + 1); - wc_printf("\"%s\"\n", _("next")); + wc_printf("\"%s\"\n", _("next")); wc_printf("
\n"); @@ -662,8 +665,8 @@ void calendar_month_view(int year, int month, int day) { } wc_printf("
" /* end of inner table */ - "
" /* end of outer table */ - "
\n"); + "\n" /* end of outer table */ + ); } /* @@ -705,8 +708,7 @@ void calendar_brief_month_view(int year, int month, int day) { } /* Outer table (to get the background color) */ - wc_printf("
" - "
\n"); wc_printf("\n"); @@ -716,7 +718,7 @@ void calendar_brief_month_view(int year, int month, int day) { localtime_r(&previous_month, &tm); wc_printf("", (int)(tm.tm_year)+1900, tm.tm_mon + 1); - wc_printf("\"%s\"\n", _("previous")); + wc_printf("\"%s\"\n", _("previous")); wc_strftime(month_label, sizeof month_label, "%B", &tm); wc_printf("  " @@ -728,7 +730,7 @@ void calendar_brief_month_view(int year, int month, int day) { localtime_r(&next_month, &tm); wc_printf("", (int)(tm.tm_year)+1900, tm.tm_mon + 1); - wc_printf("\"%s\"\n", _("next")); + wc_printf("\"%s\"\n", _("next")); wc_printf("
\n"); @@ -785,15 +787,15 @@ void calendar_brief_month_view(int year, int month, int day) { } wc_printf("
" /* end of inner table */ - "" /* end of outer table */ - "
\n"); + "\n" /* end of outer table */ + ); } /* * 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"); + wc_printf("
week view FIXME

\n"); } @@ -952,16 +954,16 @@ void calendar_day_view_display_events(time_t thetime, ); escputs((char *) icalproperty_get_comment(p)); wc_printf(""); - wc_printf("%s
", _("All day event")); - wc_printf("%s: %s
", _("From"), Cal->from); + 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("
"); + 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("
"); } if (!icaltime_compare(t, end_t)) { /* one day only */ webcit_fmt_date(buf, 256, event_tt, DATEFMT_LOCALEDATE); @@ -977,7 +979,7 @@ void calendar_day_view_display_events(time_t thetime, if (q) { wc_printf("%s ", _("Notes:")); escputs((char *)icalproperty_get_comment(q)); - wc_printf("
"); + wc_printf("
"); } wc_printf("
"); wc_printf(" ("); @@ -996,16 +998,16 @@ void calendar_day_view_display_events(time_t thetime, ); escputs((char *) icalproperty_get_comment(p)); wc_printf(""); - wc_printf("%s
", _("Ongoing event")); - wc_printf("%s: %s
", _("From"), Cal->from); + wc_printf("%s
", _("Ongoing event")); + wc_printf("%s: %s
", _("From"), Cal->from); wc_printf("%s ", _("Summary:")); escputs((char *) icalproperty_get_comment(p)); - wc_printf("
"); + 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("
"); } webcit_fmt_date(buf, 256, event_tt, DATEFMT_BRIEF); wc_printf("%s %s
", _("Starting date/time:"), buf); @@ -1015,7 +1017,7 @@ void calendar_day_view_display_events(time_t thetime, if (q) { wc_printf("%s ", _("Notes:")); escputs((char *)icalproperty_get_comment(q)); - wc_printf("
"); + wc_printf("
"); } wc_printf("
"); wc_printf(" ("); @@ -1078,15 +1080,15 @@ void calendar_day_view_display_events(time_t thetime, ); escputs((char *) icalproperty_get_comment(p)); wc_printf(""); - wc_printf("%s: %s
", _("From"), Cal->from); + wc_printf("%s: %s
", _("From"), Cal->from); wc_printf("%s ", _("Summary:")); escputs((char *) icalproperty_get_comment(p)); - wc_printf("
"); + 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("
"); } if (!icaltime_compare(t, end_t)) { /* one day only */ webcit_fmt_date(buf, 256, event_tt, DATEFMT_BRIEF); @@ -1102,7 +1104,7 @@ void calendar_day_view_display_events(time_t thetime, if (q) { wc_printf("%s ", _("Notes:")); escputs((char *)icalproperty_get_comment(q)); - wc_printf("
"); + wc_printf("
"); } wc_printf("
"); wc_printf("\n"); @@ -1163,8 +1165,6 @@ void calendar_day_view(int year, int month, int day) { ++tomorrow.day; tomorrow = icaltime_normalize(tomorrow); - wc_printf("
"); - /* Inner table (the real one) */ wc_printf(" \n"); @@ -1179,18 +1179,14 @@ void calendar_day_view(int year, int month, int day) { if (hourlabel > (timeline - 2)) hourlabel = timeline - 2; for (hour = 0; hour < daystart; ++hour) { /* could do HEIGHT=xx */ - wc_printf("
" + wc_printf("
" "", +/* TODO: what have these been used for? (hour * extratimeline ), extratimeline, extrahourlabel, +*/ year, month, day, hour ); @@ -1210,18 +1206,14 @@ 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("
" + wc_printf("
" "", +/*TODO: what have these been used for? gap + ((hour - daystart) * timeline ), timeline, hourlabel, +*/ year, month, day, hour ); @@ -1241,18 +1233,14 @@ 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 */ - wc_printf("
" + wc_printf("
" "", +/*TODO: what have these been used for? gap + ((hour - dayend - 1) * extratimeline ), extratimeline, extrahourlabel, +*/ year, month, day, hour ); @@ -1298,15 +1286,15 @@ void calendar_day_view(int year, int month, int day) { wc_printf("
"); wc_strftime(d_str, sizeof d_str, "", &d_tm ); @@ -1316,7 +1304,7 @@ void calendar_day_view(int year, int month, int day) { wc_printf(""); @@ -1324,13 +1312,11 @@ void calendar_day_view(int year, int month, int day) { /* End todays-date-with-left-and-right-arrows */ /* Embed a mini month calendar in this space */ - wc_printf("
\n"); + wc_printf("
\n"); embeddable_mini_calendar(year, month); wc_printf("
"); /* end stuff-on-the-right */ - - wc_printf("
"); wc_printf("", yesterday.year, yesterday.month, yesterday.day); - wc_printf("\"previous\""); + wc_printf("\"previous\""); wc_printf("" - "%A
" - "%B
" - "%d
" - "%Y
" + "%A
" + "%B
" + "%d
" + "%Y
" "
"); wc_printf("", tomorrow.year, tomorrow.month, tomorrow.day); - wc_printf("\"%s\"\n", _("next")); wc_printf("
" /* end of inner table */ - "
"); + wc_printf("\n"); /* end of inner table */ } @@ -1399,7 +1385,7 @@ int calendar_summary_view(void) { wc_printf("
\n"); + wc_printf("

\n"); ++num_displayed; } } @@ -1443,7 +1429,9 @@ int calendar_GetParamsGetServerCall(SharedMessageStatus *Stat, void **ViewSpecific, long oper, char *cmd, - long len) + long len, + char *filter, + long flen) { wcsession *WCC = WC; calview *c; @@ -1551,3 +1539,10 @@ int calendar_RenderView_or_Tail(SharedMessageStatus *Stat, DeleteHash(&WC->disp_cal_items); return 0; } + +void +InitModule_CALENDAR_VIEW +(void) +{ + WebcitAddUrlHandler(HKEY("mini_calendar"), "", 0, ajax_mini_calendar, AJAX); +}