X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=webcit%2Fcalendar_view.c;h=1b6e8681ebe2f9f3f2deeeb3ef7b5cf666f403c7;hb=3b2b93ca40ee734fc69a69e94a183c1a7e2bfb69;hp=2dc41d99f8611fb3c51e0636dd0850652471af33;hpb=74969b49fa3623da467c5870078dcc1c3c5aeb9d;p=citadel.git diff --git a/webcit/calendar_view.c b/webcit/calendar_view.c index 2dc41d99f..1b6e8681e 100644 --- a/webcit/calendar_view.c +++ b/webcit/calendar_view.c @@ -1,21 +1,15 @@ /* * Handles the HTML display of calendar items. * - * Copyright (c) 1996-2010 by the citadel.org team + * 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 as - * published by the Free Software Foundation; either version 3 of the - * License, or (at your option) any later version. + * 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. - * - * 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 */ #include "webcit.h" @@ -23,8 +17,8 @@ #include "calendar.h" /* These define how high the hour rows are in the day view */ -#define TIMELINE 30 -#define EXTRATIMELINE (TIMELINE / 2) +#define TIMELINE 22 +#define EXTRATIMELINE 22 void embeddable_mini_calendar(int year, int month) { @@ -143,7 +137,7 @@ void embeddable_mini_calendar(int year, int month) StrBufAppendPrintf(WC->trailing_javascript, " function minical_change_month(year, month) { \n" " p = 'year=' + year + '&month=' + month \n" - " + '&r=' + CtdlRandomString(); \n" + " + '&r=' + ctdlRandomString(); \n" " new Ajax.Updater('%s', 'mini_calendar', \n" " { method: 'get', parameters: p, evalScripts: true } ); \n" " } \n" @@ -188,7 +182,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; } @@ -204,7 +198,6 @@ void calendar_month_view_display_events(int year, int month, int day) starting_tm.tm_hour = 0; starting_tm.tm_min = 0; today_start_t = icaltime_from_timet_with_zone(mktime(&starting_tm), 0, icaltimezone_get_utc_timezone()); - today_start_t.is_utc = 1; memset(&ending_tm, 0, sizeof(struct tm)); ending_tm.tm_year = year - 1900; @@ -213,7 +206,6 @@ void calendar_month_view_display_events(int year, int month, int day) ending_tm.tm_hour = 23; ending_tm.tm_min = 59; today_end_t = icaltime_from_timet_with_zone(mktime(&ending_tm), 0, icaltimezone_get_utc_timezone()); - today_end_t.is_utc = 1; /* * Create another one without caring about the timezone for all day events. @@ -259,6 +251,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")); @@ -416,7 +416,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 +426,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)) { @@ -578,7 +574,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("  " @@ -590,7 +586,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"); @@ -714,7 +710,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("  " @@ -726,7 +722,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"); @@ -856,7 +852,6 @@ void calendar_day_view_display_events(time_t thetime, starting_tm.tm_hour = 0; starting_tm.tm_min = 0; today_start_t = icaltime_from_timet_with_zone(mktime(&starting_tm), 0, icaltimezone_get_utc_timezone()); - today_start_t.is_utc = 1; memset(&ending_tm, 0, sizeof(struct tm)); ending_tm.tm_year = year - 1900; @@ -865,7 +860,6 @@ void calendar_day_view_display_events(time_t thetime, ending_tm.tm_hour = 23; ending_tm.tm_min = 59; today_end_t = icaltime_from_timet_with_zone(mktime(&ending_tm), 0, icaltimezone_get_utc_timezone()); - today_end_t.is_utc = 1; /* * Create another one without caring about the timezone for all day events. @@ -1175,18 +1169,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 ); @@ -1206,18 +1196,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 ); @@ -1237,18 +1223,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 ); @@ -1294,7 +1276,7 @@ void calendar_day_view(int year, int month, int day) { wc_printf(""); wc_printf("", yesterday.year, yesterday.month, yesterday.day); - wc_printf("\"previous\""); + wc_printf("\"previous\""); wc_printf(""); wc_strftime(d_str, sizeof d_str, @@ -1312,7 +1294,7 @@ void calendar_day_view(int year, int month, int day) { wc_printf(""); wc_printf("", tomorrow.year, tomorrow.month, tomorrow.day); - wc_printf("\"%s\"\n", _("next")); wc_printf(""); @@ -1437,7 +1419,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; @@ -1545,3 +1529,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); +}