aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--calendars/test.ics40
-rw-r--r--config.inc.php3
-rw-r--r--functions/parse/end_vevent.php11
-rw-r--r--functions/template.php8
-rw-r--r--includes/event.php20
-rw-r--r--languages/english.inc.php1
-rw-r--r--templates/default/event.tpl3
7 files changed, 65 insertions, 21 deletions
diff --git a/calendars/test.ics b/calendars/test.ics
index ecfe9f3..c24019f 100644
--- a/calendars/test.ics
+++ b/calendars/test.ics
@@ -24,6 +24,45 @@ TZNAME:PDT
END:DAYLIGHT
END:VTIMEZONE
+BEGIN:VEVENT
+UID:20081128T075152Z-3660-100-1-5@sietchtabr
+DTSTAMP:20081128T075151Z
+LAST-MODIFIED:20081128T075152
+SUMMARY:Witchcraft Paris
+CATEGORIES:jdr
+DTSTART;TZID=/softwarestudio.org/Tzfile/Europe/Paris:20081213T210000
+DTEND;TZID=/softwarestudio.org/Tzfile/Europe/Paris:20081213T230000
+CLASS:PUBLIC
+SEQUENCE:1
+CREATED:20081128T075152
+END:VEVENT
+
+BEGIN:VEVENT
+UID:20081128T075152Z-3660-100-1-6@sietchtabr2
+DTSTAMP:20081128T075151Z
+LAST-MODIFIED:20081128T075152
+SUMMARY:Witchcraft PST
+CATEGORIES:jdr
+DTSTART;TZID=US/Pacific:20081213T210000
+DTEND;TZID=US/Pacific:20081213T230000
+CLASS:PUBLIC
+SEQUENCE:1
+CREATED:20081128T075152
+END:VEVENT
+
+BEGIN:VEVENT
+UID:20081128T075152Z-3660-100-1-7@sietchtabr2
+DTSTAMP:20081128T075151Z
+LAST-MODIFIED:20081128T075152
+SUMMARY:daylight test PST
+CATEGORIES:jdr
+DTSTART;TZID=US/Pacific:20060331T010000
+DTEND;TZID=US/Pacific:20060331T020000
+RRULE:FREQ=DAILY;
+CLASS:PUBLIC
+SEQUENCE:1
+CREATED:20081128T075152
+END:VEVENT
BEGIN:VEVENT
DTSTAMP:20070616T185152Z
@@ -47,6 +86,7 @@ STATUS:CONFIRMED
DURATION:PT1H30M
DTSTART;TZID=US/Eastern:20100902T090000
RRULE:FREQ=DAILY;COUNT=10
+URL:http://google.com
END:VEVENT
BEGIN:VEVENT
diff --git a/config.inc.php b/config.inc.php
index 4eb7eb2..e961a05 100644
--- a/config.inc.php
+++ b/config.inc.php
@@ -15,7 +15,8 @@ $configs = array(
# 'show_todos' => 'no',
'show_completed' => 'no',
# 'timezone' => 'US/Central',
- 'timezone' => 'America/Bogota',
+# 'timezone' => 'America/Bogota',
+ 'timezone' => 'Europe/Paris',
# 'second_offset' => $secs,
# 'cookie_uri' => ''
);
diff --git a/functions/parse/end_vevent.php b/functions/parse/end_vevent.php
index 4c5c352..3f14924 100644
--- a/functions/parse/end_vevent.php
+++ b/functions/parse/end_vevent.php
@@ -48,7 +48,12 @@ if (isset($start_time) && isset($end_time)) {
$allday_end = ($start_date + 1);
}
}
-
+# disallow events with negative length
+if ($end_unixtime < $start_unixtime){
+ $end_date = $start_date;
+ $end_time = $start_time;
+ $end_unixtime = $start_unixtime;
+}
# look for events that span more than one day
if (isset($start_unixtime,$end_unixtime) && date('Ymd',$start_unixtime) != date('Ymd',$end_unixtime)) {
$spans_day = true;
@@ -63,9 +68,9 @@ if (isset($start_time) && $start_time != '') {
preg_match ('/([0-9]{2})([0-9]{2})/', $start_time, $time);
preg_match ('/([0-9]{2})([0-9]{2})/', $end_time, $time2);
if (isset($start_unixtime) && isset($end_unixtime)) {
- $length = $end_unixtime - $start_unixtime;
+ $length = $end_unixtime - $start_unixtime;
} else {
- $length = ($time2[1]*60+$time2[2]) - ($time[1]*60+$time[2]);
+ $length = ($time2[1]*60+$time2[2]) - ($time[1]*60+$time[2]);
}
$drawKey = drawEventTimes($start_time, $end_time);
diff --git a/functions/template.php b/functions/template.php
index 4df442c..bf4f340 100644
--- a/functions/template.php
+++ b/functions/template.php
@@ -359,7 +359,6 @@ class Page {
$key = mktime($regs_tmp[1],$regs_tmp[2],0,$this_month,$this_day,$this_year);
$key = date ($timeFormat, $key);
-
if (ereg("([0-9]{1,2}):00", $key)) {
$weekdisplay .= '<tr>';
$weekdisplay .= '<td colspan="4" rowspan="' . (60 / $phpiCal_config->gridLength) . '" align="center" valign="top" width="60" class="timeborder">'.$key.'</td>';
@@ -466,11 +465,14 @@ class Page {
$confirmed .= '<img src="images/'.$event_status.'.gif" width="9" height="9" alt="" border="0" hspace="0" vspace="0" />&nbsp;';
}
$colspan_width = round((80 / $nbrGridCols[$thisday]) * $drawWidth);
+ $event_temp = $loop_event;
+ $event = openevent($thisday, $cal_time, $uid, $this_time_arr[$uid], $phpiCal_config->week_events_lines, 25, 'ps');
+ # adjust length by rough guess to word wrapping
+ $event_text_lines = ceil((strlen(strip_tags(trim($event))) * 8)/$colspan_width) + 1;
+ if ($event_length[$thisday][$i]['length'] < $event_text_lines) $event_length[$thisday][$i]['length'] = $event_text_lines;
$weekdisplay .= '<td width="'.$colspan_width.'" rowspan="' . $event_length[$thisday][$i]['length'] . '" colspan="' . $drawWidth . '" align="left" valign="top" class="eventbg2_'.$event_calno.'">'."\n";
// Start drawing the event
- $event_temp = $loop_event;
- $event = openevent($thisday, $cal_time, $uid, $this_time_arr[$uid], $phpiCal_config->week_events_lines, 25, 'ps');
$event_temp = str_replace('{EVENT}', $event, $event_temp);
$event_temp = str_replace('{EVENT_START}', $event_start, $event_temp);
$event_temp = str_replace('{CONFIRMED}', $confirmed, $event_temp);
diff --git a/includes/event.php b/includes/event.php
index d5ac529..fe03042 100644
--- a/includes/event.php
+++ b/includes/event.php
@@ -43,20 +43,10 @@ if (isset($attendee) && is_array($attendee)) {
}
$attendee = implode(', ',$attendees);
}
-
-if (isset($event['location'])) {
- if ($event['url'] != '') $event['location'] = '<a href="'.$event['url'].'" target="_blank">'.stripslashes($event['location']).'</a>';
-}else{
- $event['location'] = stripslashes($event['location']);
-}
-
-if (!isset($event['location']) && isset($event['url'])) {
- $event['location'] = '<a href="'.$event['url'].'" target="_blank">'.$event['url'].'</a>';
- $lang['l_location'] = 'URL';
-}
-
+if (isset($event['location'])) $event['location'] = stripslashes($event['location']);
if (sizeof($attendee) == 0) $attendee = '';
if (sizeof($organizer) == 0) $organizer = '';
+if ($event['url'] != '') $event['url'] = '<a href="'.$event['url'].'" target="_blank">'.$event['url'].'</a>';
switch ($event['status']){
case 'CONFIRMED':
@@ -83,7 +73,8 @@ $page->replace_tags(array(
'organizer' => $organizer,
'attendee' => $attendee,
'status' => $event['status'],
- 'location' => stripslashes($event['location']),
+ 'location' => $event['location'],
+ 'url' => $event['url'],
'cal_title_full' => $event['calname'].' '.$lang['l_calendar'],
'template' => $phpiCal_config->template,
'l_summary' => $lang['l_summary'],
@@ -91,7 +82,8 @@ $page->replace_tags(array(
'l_organizer' => $lang['l_organizer'],
'l_attendee' => $lang['l_attendee'],
'l_status' => $lang['l_status'],
- 'l_location' => $lang['l_location']
+ 'l_location' => $lang['l_location'],
+ 'l_url' => $lang['l_url']
));
diff --git a/languages/english.inc.php b/languages/english.inc.php
index 1d9dd8a..c174be1 100644
--- a/languages/english.inc.php
+++ b/languages/english.inc.php
@@ -94,6 +94,7 @@ $lang['l_unset_prefs'] = 'Unset preferences';
$lang['l_organizer'] = 'Organizer';
$lang['l_attendee'] = 'Attendee';
$lang['l_location'] = 'Location';
+$lang['l_url'] = 'URL';
$lang['l_admin_header'] = 'PHP iCalendar Administration';
$lang['l_username'] = 'Username';
$lang['l_password'] = 'Password';
diff --git a/templates/default/event.tpl b/templates/default/event.tpl
index 48a1572..b0a9a7f 100644
--- a/templates/default/event.tpl
+++ b/templates/default/event.tpl
@@ -32,6 +32,9 @@
<!-- switch location on -->
<b>{L_LOCATION}</b>: {LOCATION}<br />
<!-- switch location off -->
+ <!-- switch url on -->
+ <b>{L_URL}</b>: {URL}<br />
+ <!-- switch url off -->
</p>
</div>
</td>

© 2014-2024 Faster IT GmbH | imprint | privacy policy