aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJim Hu <jimhu@users.sourceforge.net>2009-01-30 20:49:25 +0000
committerJim Hu <jimhu@users.sourceforge.net>2009-01-30 20:49:25 +0000
commite8c31f7e5ba6d6bb7da965211ca69e6fab86227f (patch)
treebc94f0152c15871cab4aed09cd2cd070b135b136
parent5e9bdcce333efc2efc277ac15c627981236c9c53 (diff)
downloadphpicalendar-e8c31f7e5ba6d6bb7da965211ca69e6fab86227f.tar.gz
phpicalendar-e8c31f7e5ba6d6bb7da965211ca69e6fab86227f.tar.bz2
phpicalendar-e8c31f7e5ba6d6bb7da965211ca69e6fab86227f.zip
remove dead files
-rw-r--r--README4
-rw-r--r--config.inc.php2
-rw-r--r--functions/end_vevent.php663
-rw-r--r--functions/overlapping_events.php274
-rw-r--r--functions/parse_tzs.php64
-rw-r--r--functions/sanitize.php97
-rw-r--r--languages/german.inc.php68
7 files changed, 38 insertions, 1134 deletions
diff --git a/README b/README
index 4ffc982..e9e88cc 100644
--- a/README
+++ b/README
@@ -92,7 +92,9 @@ Changes:
Fix publish.php for 2.3 config system
add option to hide location in month view
add option to make individual events downloadable from event view
-
+ Fix calendar showing modified events twice
+ Make multiline descriptions display with line breaks in event popup
+ Fix German language file
2.3 Major changes to recurrence handling
Added more languages
Added login to month view
diff --git a/config.inc.php b/config.inc.php
index 2968a4e..b5ba5ee 100644
--- a/config.inc.php
+++ b/config.inc.php
@@ -99,7 +99,7 @@ these arrays provide extra calendar options.
*/
$list_webcals = array(
- 'webcal://dimer.tamu.edu/calendars/seminars/Biochem.ics'
+# 'webcal://dimer.tamu.edu/calendars/seminars/Biochem.ics'
);
$more_webcals['recur_tests'] = array();
$locked_cals = array(
diff --git a/functions/end_vevent.php b/functions/end_vevent.php
deleted file mode 100644
index 91d691b..0000000
--- a/functions/end_vevent.php
+++ /dev/null
@@ -1,663 +0,0 @@
-<?php
-/* end_vevent.php
-
-What happens in this file:
-1. Initialization
-2.
-
-
-
-*/
-
-if (!isset($url)) $url = '';
-if (!isset($type)) $type = '';
-
-// Handle DURATION
-if (!isset($end_unixtime)) {
- if(!isset($the_duration)) $the_duration = 0;
- $end_unixtime = $start_unixtime + $the_duration;
- $end_time = date ('Hi', $end_unixtime);
-}
-
-// CLASS support
-if (isset($class)) {
- if ($class == 'PRIVATE') {
- $summary ='**PRIVATE**';
- $description ='**PRIVATE**';
- } elseif ($class == 'CONFIDENTIAL') {
- $summary ='**CONFIDENTIAL**';
- $description ='**CONFIDENTIAL**';
- }
-}
-
-// make sure we have some value for $uid
-if (!isset($uid)) {
- $uid = $uid_counter;
- $uid_counter++;
- $uid_valid = false;
-} else {
- $uid_valid = true;
-}
-
-if (!isset($summary)) $summary = '';
-if (!isset($description)) $description = '';
-if (!isset($status)) $status = '';
-if (!isset($class)) $class = '';
-if (!isset($location)) $location = '';
-
-# set bounds on master_array
-# mktime int mktime ( [int $hour [, int $minute [, int $second [, int $month [, int $day [, int $year [, int $is_dst]]]]]]] )
-$start_month = $this_month - 1;
-$start_year = $this_year;
-$end_month = $this_month + 1;
-$end_year = $this_year;
-if ($this_month == 1){
- $start_month = 12;
- $start_year--;
-}
-if ($this_month == 12){
- $end_month = 1;
- $end_year++;
-}
-switch ($current_view){
- case 'month':
- case 'week':
- case 'day':
- $mArray_begin = mktime (0,0,0,$start_month,21,($start_year));
- $mArray_end = mktime (0,0,0,$end_month,12,($end_year));
- break;
- default:
- $mArray_begin = mktime (0,0,0,12,21,($this_year - 1));
- $mArray_end = mktime (0,0,0,1,12,($this_year + 1));
-}
-
-
-# adjust event start and end times
-if (isset($start_time) && isset($end_time)) {
- // Mozilla style all-day events or just really long events
- if (($end_time - $start_time) > 2345) {
- $allday_start = $start_date;
- $allday_end = ($start_date + 1);
- }
-}
-
-# 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;
- $bleed_check = (($start_unixtime - $end_unixtime) < (60*60*24)) ? '-1' : '0';
-} else {
- $spans_day = false;
- $bleed_check = 0;
-}
-
-# get hour and minute adjusted to allowed grid times
-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;
- } else {
- $length = ($time2[1]*60+$time2[2]) - ($time[1]*60+$time[2]);
- }
-
- $drawKey = drawEventTimes($start_time, $end_time);
- preg_match ('/([0-9]{2})([0-9]{2})/', $drawKey['draw_start'], $time3);
- $hour = $time3[1];
- $minute = $time3[2];
-}
-
-// RECURRENCE-ID Support
-if (isset($recurrence_d)) {
-
- $recurrence_delete["$recurrence_d"]["$recurrence_t"] = $uid;
-}
-
-
-# treat nonrepeating events as rrule events with one instance
-if (!isset($rrule_array) && $start_unixtime < $mArray_end && $end_unixtime > $mArray_begin){
- $rrule_array['FREQ'] = 'YEARLY';
- $rrule_array['START_DATE'] = $start_date;
- $rrule_array['UNTIL'] = $start_date;
- $rrule_array['END'] = 'end';
-}
-
-
-if (isset($allday_start) && $allday_start != '') {
- $hour = '-';
- $minute = '1';
- $rrule_array['START_DAY'] = $allday_start;
- # $rrule_array['END_DAY'] = $allday_end; # this doesn't seem to be used anywhere.
- $rrule_array['END'] = 'end';
- $recur_start = $allday_start;
- $start_date = $allday_start;
- if (isset($allday_end)) {
- $diff_allday_days = dayCompare($allday_end, $allday_start);
- } else {
- $diff_allday_days = 1;
- }
-} else {
- $rrule_array['START_DATE'] = $start_date;
- $rrule_array['START_TIME'] = $start_time;
- $rrule_array['END_TIME'] = $end_time;
- $rrule_array['END'] = 'end';
-}
-
-$start_date_time = strtotime($start_date);
-if (!isset($fromdate)){
- #this should happen if not in one of the rss views
- $this_month_start_time = strtotime($this_year.$this_month.'01');
- if ($current_view == 'year' || ($save_parsed_cals == 'yes' && !$is_webcal)|| $current_view == 'print' && $printview == 'year') {
- $start_range_time = strtotime($this_year.'-01-01 -2 weeks');
- $end_range_time = strtotime($this_year.'-12-31 +2 weeks');
- } else {
- $start_range_time = strtotime('-1 month -2 day', $this_month_start_time);
- $end_range_time = strtotime('+2 month +2 day', $this_month_start_time);
- }
-}else{
- $start_range_time = strtotime($fromdate);
- $end_range_time = strtotime($todate)+60*60*24;
-}
-
-$freq_type = 'year';
-foreach ($rrule_array as $key => $val) {
- switch($key) {
- case 'FREQ':
- switch ($val) {
- case 'YEARLY': $freq_type = 'year'; break;
- case 'MONTHLY': $freq_type = 'month'; break;
- case 'WEEKLY': $freq_type = 'week'; break;
- case 'DAILY': $freq_type = 'day'; break;
- case 'HOURLY': $freq_type = 'hour'; break;
- case 'MINUTELY': $freq_type = 'minute'; break;
- case 'SECONDLY': $freq_type = 'second'; break;
- }
- $recur_array[($start_date)][($hour.$minute)][$uid]['recur'][$key] = strtolower($val);
- break;
- case 'COUNT':
- $count = $val;
- $recur_array[($start_date)][($hour.$minute)][$uid]['recur'][$key] = $count;
- break;
- case 'UNTIL':
- $until = str_replace('T', '', $val);
- $until = str_replace('Z', '', $until);
- if (strlen($until) == 8) $until = $until.'235959';
- $abs_until = $until;
- ereg ('([0-9]{4})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})', $until, $regs);
- $until = mktime($regs[4],$regs[5],$regs[6],$regs[2],$regs[3],$regs[1]);
- $recur_array[($start_date)][($hour.$minute)][$uid]['recur'][$key] = localizeDate($dateFormat_week,$until);
- break;
- case 'INTERVAL':
- if ($val > 0){
- $number = $val;
- $recur_array[($start_date)][($hour.$minute)][$uid]['recur'][$key] = $number;
- }
- break;
- case 'BYSECOND':
- $bysecond = $val;
- $bysecond = split (',', $bysecond);
- $recur_array[($start_date)][($hour.$minute)][$uid]['recur'][$key] = $bysecond;
- break;
- case 'BYMINUTE':
- $byminute = $val;
- $byminute = split (',', $byminute);
- $recur_array[($start_date)][($hour.$minute)][$uid]['recur'][$key] = $byminute;
- break;
- case 'BYHOUR':
- $byhour = $val;
- $byhour = split (',', $byhour);
- $recur_array[($start_date)][($hour.$minute)][$uid]['recur'][$key] = $byhour;
- break;
- case 'BYDAY':
- $byday = $val;
- $byday = split (',', $byday);
- $recur_array[($start_date)][($hour.$minute)][$uid]['recur'][$key] = $byday;
- break;
- case 'BYMONTHDAY':
- $bymonthday = $val;
- $bymonthday = split (',', $bymonthday);
- $recur_array[($start_date)][($hour.$minute)][$uid]['recur'][$key] = $bymonthday;
- break;
- case 'BYYEARDAY':
- $byyearday = $val;
- $byyearday = split (',', $byyearday);
- $recur_array[($start_date)][($hour.$minute)][$uid]['recur'][$key] = $byyearday;
- break;
- case 'BYWEEKNO':
- $byweekno = $val;
- $byweekno = split (',', $byweekno);
- $recur_array[($start_date)][($hour.$minute)][$uid]['recur'][$key] = $byweekno;
- break;
- case 'BYMONTH':
- $bymonth = $val;
- $bymonth = split (',', $bymonth);
- $recur_array[($start_date)][($hour.$minute)][$uid]['recur'][$key] = $bymonth;
- break;
- case 'BYSETPOS':
- $bysetpos = $val;
- $recur_array[($start_date)][($hour.$minute)][$uid]['recur'][$key] = $bysetpos;
- break;
- case 'WKST':
- $wkst = $val;
- $recur_array[($start_date)][($hour.$minute)][$uid]['recur'][$key] = $wkst;
- break;
- case 'END':
-
- $recur = $recur_array[($start_date)][($hour.$minute)][$uid]['recur'];
-
- // Modify the COUNT based on BYDAY
- if ((isset ($byday) && is_array($byday)) && (isset($count))) {
- $blah = sizeof($byday);
- $count = ($count / $blah);
- unset ($blah);
- }
-
- if (!isset($number)) $number = 1;
- // if $until isn't set yet, we set it to the end of our range we're looking at
-
- if (!isset($until)) $until = $end_range_time;
- if (!isset($abs_until)) $abs_until = date('YmdHis', $end_range_time);
- $end_date_time = $until;
- $start_range_time_tmp = $start_range_time;
- $end_range_time_tmp = $end_range_time;
-
- // If the $end_range_time is less than the $start_date_time, or $start_range_time is greater
- // than $end_date_time, we may as well forget the whole thing
- // It doesn't do us any good to spend time adding data we aren't even looking at
- // this will prevent the year view from taking way longer than it needs to
- if ($end_range_time_tmp >= $start_date_time && $start_range_time_tmp <= $end_date_time) {
-
- // if the beginning of our range is less than the start of the item, we may as well set it equal to it
- if ($start_range_time_tmp < $start_date_time){
- $start_range_time_tmp = $start_date_time;
- }
- if ($end_range_time_tmp > $end_date_time) $end_range_time_tmp = $end_date_time;
-
- // initialize the time we will increment
- $next_range_time = $start_range_time_tmp;
-
- // FIXME: This is a hack to fix repetitions with $interval > 1
- if ($count > 1 && $number > 1) $count = 1 + ($count - 1) * $number;
-
- $count_to = 0;
- // start at the $start_range and go until we hit the end of our range.
- if(!isset($wkst)) $wkst='SU';
- $wkst3char = two2threeCharDays($wkst);
-
- # set first instance if it's in range
- if ($start_unixtime < $mArray_end && $end_unixtime > $mArray_begin){
- $recur_data[] = $start_unixtime;
- }
- while (($next_range_time >= $start_range_time_tmp) && ($next_range_time <= $end_range_time_tmp) && ($count_to != $count)) {
- $func = $freq_type.'Compare';
- $diff = $func(date('Ymd',$next_range_time), $start_date);
- if ($diff < $count) {
- if ($diff % $number == 0) {
- $interval = $number;
- switch ($rrule_array['FREQ']) {
- case 'DAILY':
- $next_date_time = $next_range_time;
- $recur_data[] = $next_date_time;
- break;
- case 'WEEKLY':
- // Populate $byday with the default day if it's not set.
- if (!isset($byday)) {
- $byday[] = strtoupper(substr(date('D', $start_date_time), 0, 2));
- }
- if (is_array($byday)) {
- foreach($byday as $day) {
- $day = two2threeCharDays($day);
- #need to find the first day of the appropriate week.
- #dateOfweek uses weekstartday as a global variable. This has to be changed to $wkst,
- #but then needs to be reset for other functions
- $week_start_day_tmp = $week_start_day;
- $week_start_day = $wkst3char;
-
- $the_sunday = dateOfWeek(date("Ymd",$next_range_time), $wkst3char);
- $next_date_time = strtotime($day,strtotime($the_sunday)) + (12 * 60 * 60);
- $week_start_day = $week_start_day_tmp; #see above reset to global value
-
- #reset $next_range_time to first instance in this week.
- if ($next_date_time < $next_range_time){
- $next_range_time = $next_date_time;
- }
- // Since this renders events from $next_range_time to $next_range_time + 1 week, I need to handle intervals
- // as well. This checks to see if $next_date_time is after $day_start (i.e., "next week"), and thus
- // if we need to add $interval weeks to $next_date_time.
- if ($next_date_time > strtotime($week_start_day, $next_range_time) && $interval > 1) {
- # $next_date_time = strtotime('+'.($interval - 1).' '.$freq_type, $next_date_time);
- }
- $recur_data[] = $next_date_time;
- }
- }
- break;
- case 'MONTHLY':
- if (empty($bymonth)) $bymonth = array(1,2,3,4,5,6,7,8,9,10,11,12);
- $next_range_time = strtotime(date('Y-m-01', $next_range_time));
- $next_date_time = $next_date_time;
- if (isset($bysetpos)){
- /* bysetpos code from dustinbutler
- start on day 1 or last day.
- if day matches any BYDAY the count is incremented.
- SETPOS = 4, need 4th match
- SETPOS = -1, need 1st match
- */
- $year = date('Y', $next_range_time);
- $month = date('m', $next_range_time);
- if ($bysetpos > 0) {
- $next_day = '+1 day';
- $day = 1;
- } else {
- $next_day = '-1 day';
- $day = $totalDays[$month];
- }
- $day = mktime(0, 0, 0, $month, $day, $year);
- $countMatch = 0;
- while ($countMatch != abs($bysetpos)) {
- /* Does this day match a BYDAY value? */
- $thisDay = $day;
- $textDay = strtoupper(substr(date('D', $thisDay), 0, 2));
- if (in_array($textDay, $byday)) {
- $countMatch++;
- }
- $day = strtotime($next_day, $thisDay);
- }
- $recur_data[] = $thisDay;
- }elseif ((isset($bymonthday)) && (!isset($byday))) {
- foreach($bymonthday as $day) {
- if ($day < 0) $day = ((date('t', $next_range_time)) + ($day)) + 1;
- $year = date('Y', $next_range_time);
- $month = date('m', $next_range_time);
- if (checkdate($month,$day,$year)) {
- $next_date_time = mktime(0,0,0,$month,$day,$year);
- $recur_data[] = $next_date_time;
- }
- }
- } elseif (is_array($byday)) {
- foreach($byday as $day) {
- ereg ('([-\+]{0,1})?([0-9]{1})?([A-Z]{2})', $day, $byday_arr);
- //Added for 2.0 when no modifier is set
- if ($byday_arr[2] != '') {
- $nth = $byday_arr[2]-1;
- } else {
- $nth = 0;
- }
- $on_day = two2threeCharDays($byday_arr[3]);
- $on_day_num = two2threeCharDays($byday_arr[3],false);
- if ((isset($byday_arr[1])) && ($byday_arr[1] == '-')) {
- $last_day_tmp = date('t',$next_range_time);
- $next_range_time = strtotime(date('Y-m-'.$last_day_tmp, $next_range_time));
- $last_tmp = (date('w',$next_range_time) == $on_day_num) ? '' : 'last ';
- $next_date_time = strtotime($last_tmp.$on_day, $next_range_time) - ($nth * 604800);
- $month = date('m', $next_date_time);
- if (in_array($month, $bymonth)) {
- $recur_data[] = $next_date_time;
- }
- #reset next_range_time to start of month
- $next_range_time = strtotime(date('Y-m-'.'1', $next_range_time));
-
- } elseif (isset($bymonthday) && (!empty($bymonthday))) {
- // This supports MONTHLY where BYDAY and BYMONTH are both set
- foreach($bymonthday as $day) {
- $year = date('Y', $next_range_time);
- $month = date('m', $next_range_time);
- if (checkdate($month,$day,$year)) {
- $next_date_time = mktime(0,0,0,$month,$day,$year);
- $daday = strtolower(strftime("%a", $next_date_time));
- if ($daday == $on_day && in_array($month, $bymonth)) {
- $recur_data[] = $next_date_time;
- }
- }
- }
- } elseif ((isset($byday_arr[1])) && ($byday_arr[1] != '-')) {
- $next_date_time = strtotime($on_day, strtotime($on_day, $next_range_time) + $nth * 604800);
- $month = date('m', $next_date_time);
- if (in_array($month, $bymonth)) {
- if (isset($next_date_time) && $next_date_time != '') $recur_data[] = $next_date_time;
- }
- }
- $next_date = date('Ymd', $next_date_time);
- }
- }
- break;
- case 'YEARLY':
- if ((!isset($bymonth)) || (sizeof($bymonth) == 0)) {
- $m = date('m', $start_date_time);
- $bymonth = array("$m");
- }
-
- foreach($bymonth as $month) {
- // Make sure the month & year used is within the start/end_range.
- if ($month < date('m', $next_range_time)) {
- $year = date('Y', $next_range_time);
- } else {
- $year = date('Y', $next_range_time);
- }
- if (isset($bysetpos)){
- /* bysetpos code from dustinbutler
- start on day 1 or last day.
- if day matches any BYDAY the count is incremented.
- SETPOS = 4, need 4th match
- SETPOS = -1, need 1st match
- */
- if ($bysetpos > 0) {
- $next_day = '+1 day';
- $day = 1;
- } else {
- $next_day = '-1 day';
- $day = date("t",$month);
- }
- $day = mktime(12, 0, 0, $month, $day, $year);
- $countMatch = 0;
- while ($countMatch != abs($bysetpos)) {
- /* Does this day match a BYDAY value? */
- $thisDay = $day;
- $textDay = strtoupper(substr(date('D', $thisDay), 0, 2));
- if (in_array($textDay, $byday)) {
- $countMatch++;
- }
- $day = strtotime($next_day, $thisDay);
- }
- $recur_data[] = $thisDay;
- }
- if ((isset($byday)) && (is_array($byday))) {
- $checkdate_time = mktime(0,0,0,$month,1,$year);
- foreach($byday as $day) {
- ereg ('([-\+]{0,1})?([0-9]{1})?([A-Z]{2})', $day, $byday_arr);
- if ($byday_arr[2] != '') {
- $nth = $byday_arr[2]-1;
- } else {
- $nth = 0;
- }
- $on_day = two2threeCharDays($byday_arr[3]);
- $on_day_num = two2threeCharDays($byday_arr[3],false);
- if ($byday_arr[1] == '-') {
- $last_day_tmp = date('t',$checkdate_time);
- $checkdate_time = strtotime(date('Y-m-'.$last_day_tmp, $checkdate_time));
- $last_tmp = (date('w',$checkdate_time) == $on_day_num) ? '' : 'last ';
- $next_date_time = strtotime($last_tmp.$on_day.' -'.$nth.' week', $checkdate_time);
- } else {
- $next_date_time = strtotime($on_day.' +'.$nth.' week', $checkdate_time);
- }
- }
- } else {
- $day = date('d', $start_date_time);
- $next_date_time = mktime(0,0,0,$month,$day,$year+1);
- //echo date('Ymd',$next_date_time).$summary.'<br>';
- }
- if (isset($next_date_time) && $next_date_time != '') $recur_data[] = $next_date_time;
- }
- if (isset($byyearday)) {
- foreach ($byyearday as $yearday) {
- ereg ('([-\+]{0,1})?([0-9]{1,3})', $yearday, $byyearday_arr);
- if ($byyearday_arr[1] == '-') {
- $ydtime = mktime(0,0,0,12,31,$this_year);
- $yearnum = $byyearday_arr[2] - 1;
- $next_date_time = strtotime('-'.$yearnum.' days', $ydtime);
- } else {
- $ydtime = mktime(0,0,0,1,1,$this_year);
- $yearnum = $byyearday_arr[2] - 1;
- $next_date_time = strtotime('+'.$yearnum.' days', $ydtime);
- }
- if (isset($next_date_time) && $next_date_time != '') $recur_data[] = $next_date_time;
- }
- }
- break;
- default:
- // anything else we need to end the loop
- $next_range_time = $end_range_time_tmp + 100;
- $count_to = $count;
- }
- } else {
- $interval = 1;
- }
- $next_range_time = strtotime('+'.$interval.' '.$freq_type, $next_range_time);
- } else {
- // end the loop because we aren't going to write this event anyway
- $count_to = $count;
- }
- // use the same code to write the data instead of always changing it 5 times
- if (isset($recur_data) && is_array($recur_data)) {
- $recur_data_hour = @substr($start_time,0,2);
- $recur_data_minute = @substr($start_time,2,2);
- foreach($recur_data as $recur_data_time) {
- $recur_data_year = date('Y', $recur_data_time);
- $recur_data_month = date('m', $recur_data_time);
- $recur_data_day = date('d', $recur_data_time);
- $recur_data_date = $recur_data_year.$recur_data_month.$recur_data_day;
- if (($recur_data_time >= $start_date_time) && ($recur_data_time <= $end_date_time) && ($count_to != $count) && !in_array($recur_data_date, $except_dates)) {
- if (isset($allday_start) && $allday_start != '') {
- $start_time2 = $recur_data_time;
- $end_time2 = strtotime('+'.$diff_allday_days.' days', $recur_data_time);
- while ($start_time2 < $end_time2) {
- $start_date2 = date('Ymd', $start_time2);
- $master_array[($start_date2)][('-1')][$uid] = array (
- 'event_text' => $summary,
- 'description' => $description,
- 'location' => $location,
- 'organizer' => serialize($organizer),
- 'attendee' => serialize($attendee),
- 'calnumber' => $calnumber,
- 'calname' => $actual_calname,
- 'url' => $url,
- 'status' => $status,
- 'class' => $class,
- 'recur' => $recur );
- $start_time2 = strtotime('+1 day', $start_time2);
- }
- } else {
- $start_unixtime_tmp = mktime($recur_data_hour,$recur_data_minute,0,$recur_data_month,$recur_data_day,$recur_data_year);
- $end_unixtime_tmp = $start_unixtime_tmp + $length;
-
- if (($end_time >= $bleed_time) && ($bleed_check == '-1')) {
- $start_tmp = strtotime(date('Ymd',$start_unixtime_tmp));
- $end_date_tmp = date('Ymd',$end_unixtime_tmp);
- while ($start_tmp < $end_unixtime_tmp) {
- $start_date_tmp = date('Ymd',$start_tmp);
- if ($start_date_tmp == $recur_data_year.$recur_data_month.$recur_data_day) {
- $time_tmp = $hour.$minute;
- $start_time_tmp = $start_time;
- } else {
- $time_tmp = '0000';
- $start_time_tmp = '0000';
- }
- if ($start_date_tmp == $end_date_tmp) {
- $end_time_tmp = $end_time;
- } else {
- $end_time_tmp = '2400';
- $display_end_tmp = $end_time;
- }
-
- // Let's double check the until to not write past it
- $until_check = $start_date_tmp.$time_tmp.'00';
- if ($abs_until > $until_check) {
- $master_array[$start_date_tmp][$time_tmp][$uid] = array (
- 'event_start' => $start_time_tmp,
- 'event_end' => $end_time_tmp,
- 'start_unixtime' => $start_unixtime_tmp,
- 'end_unixtime' => $end_unixtime_tmp,
- 'event_text' => $summary,
- 'event_length' => $length,
- 'event_overlap' => 0,
- 'description' => $description,
- 'status' => $status,
- 'class' => $class,
- 'spans_day' => true,
- 'location' => $location,
- 'organizer' => serialize($organizer),
- 'attendee' => serialize($attendee),
- 'calnumber' => $calnumber,
- 'calname' => $actual_calname,
- 'url' => $url,
- 'recur' => $recur);
- if (isset($display_end_tmp)){
- $master_array[$start_date_tmp][$time_tmp][$uid]['display_end'] = $display_end_tmp;
- }
- checkOverlap($start_date_tmp, $time_tmp, $uid);
- }
- $start_tmp = strtotime('+1 day',$start_tmp);
- }
- } else {
- if ($bleed_check == '-1') {
- $display_end_tmp = $end_time;
- $end_time_tmp1 = '2400';
-
- }
- if (!isset($end_time_tmp1)) $end_time_tmp1 = $end_time;
-
- // Let's double check the until to not write past it
- $until_check = $recur_data_date.$hour.$minute.'00';
- if ($abs_until > $until_check) {
- $master_array[($recur_data_date)][($hour.$minute)][$uid] = array (
- 'event_start' => $start_time,
- 'event_end' => $end_time_tmp1,
- 'start_unixtime' => $start_unixtime_tmp,
- 'end_unixtime' => $end_unixtime_tmp,
- 'event_text' => $summary,
- 'event_length' => $length,
- 'event_overlap' => 0,
- 'description' => $description,
- 'status' => $status,
- 'class' => $class,
- 'spans_day' => false,
- 'location' => $location,
- 'organizer' => serialize($organizer),
- 'attendee' => serialize($attendee),
- 'calnumber' => $calnumber,
- 'calname' => $actual_calname,
- 'url' => $url,
- 'recur' => $recur);
- if (isset($display_end_tmp)){
- $master_array[($recur_data_date)][($hour.$minute)][$uid]['display_end'] = $display_end_tmp;
- }
- checkOverlap($recur_data_date, ($hour.$minute), $uid);
- }
- }
- }
- }
- }
- }
- } #end while loop
- } # end if time compare
- unset($recur_data);
- } # end switch $key (rrule type)
-} # end foreach rrule
-
-
-// This should remove any exdates that were missed.
-// Added for version 0.9.5 modified in 2.22 remove anything that doesn't have an event_start
-if (is_array($except_dates)) {
- foreach ($except_dates as $key => $value) {
- if (isset ($master_array[$value])){
- foreach ($master_array[$value] as $time => $value2){
- if (!isset($value2[$uid]['event_start'])){
- unset($master_array[$value][$time][$uid]);
- }
- }
- }
-}
-}
-
-// Clear event data now that it's been saved.
-unset($start_time, $start_time_tmp, $end_time, $end_time_tmp, $start_unixtime, $start_unixtime_tmp, $end_unixtime, $end_unixtime_tmp, $summary, $length, $description, $status, $class, $location, $organizer, $attendee);
-
-?> \ No newline at end of file
diff --git a/functions/overlapping_events.php b/functions/overlapping_events.php
deleted file mode 100644
index 9595c83..0000000
--- a/functions/overlapping_events.php
+++ /dev/null
@@ -1,274 +0,0 @@
-<?php
-// function to determine maximum necessary columns per day
-// actually an algorithm to get the smallest multiple for two numbers
-function kgv($a, $b) {
- $x = $a;
- $y = $b;
- while ($x != $y) {
- if ($x < $y) $x += $a;
- else $y += $b;
- }
- return $x;
-}
-
-// merge a given range into $ol_ranges. Returns the merged $ol_ranges.
-// if count = -2, treat as a "delete" call (for removeOverlap)
-// Why -2? That way, there's less fudging of the math in the code.
-function merge_range($ol_ranges, $start, $end, $count = 0) {
-
- foreach ($ol_ranges as $loop_range_key => $loop_range) {
-
- if ($start < $end) {
- // handle ranges between $start and $loop_range['start']
- if ($start < $loop_range['start']) {
- $new_ol_ranges[] = array('count' => $count, 'start' => $start, 'end' => min($loop_range['start'], $end));
- $start = $loop_range['start'];
- }
-
- // $start is always >= $loop_range['start'] at this point.
- // handles ranges between $loop_range['start'] and $loop_range['end']
- if ($loop_range['start'] < $end && $start < $loop_range['end']) {
- // handles ranges between $loop_range['start'] and $start
- if ($loop_range['start'] < $start) {
- $new_ol_ranges[] = array('count' => $loop_range['count'], 'start' => $loop_range['start'], 'end' => $start);
- }
- // handles ranges between $start and $end (where they're between $loop_range['start'] and $loop_range['end'])
- $new_count = $loop_range['count'] + $count + 1;
- if ($new_count >= 0) {
- $new_ol_ranges[] = array('count' => $new_count, 'start' => $start, 'end' => min($loop_range['end'], $end));
- }
- // handles ranges between $end and $loop_range['end']
- if ($loop_range['end'] > $end) {
- $new_ol_ranges[] = array('count' => $loop_range['count'], 'start' => $end, 'end' => $loop_range['end']);
- }
- $start = $loop_range['end'];
- } else {
- $new_ol_ranges[] = $loop_range;
- }
- } else {
- $new_ol_ranges[] = $loop_range;
- }
- }
-
- // Catches anything left over.
- if ($start < $end) {
- $new_ol_ranges[] = array('count' => $count, 'start' => $start, 'end' => $end);
- }
-
- return $new_ol_ranges;
-}
-
-// Finds the highest value of 'count' in $ol_ranges
-function find_max_overlap($ol_ranges) {
-
- $count = 0;
- foreach ($ol_ranges as $loop_range) {
- if ($count < $loop_range['count'])
- $count = $loop_range['count'];
- }
-
- return $count;
-}
-
-// Merges overlapping blocks
-function flatten_ol_blocks($event_date, $ol_blocks, $new_block_key) {
-
- global $master_array;
-
- // Loop block = each other block in the array, the ones we're merging into new block.
- // New block = the changed block that caused the flatten_ol_blocks call. Everything gets merged into this.
- $new_block = $ol_blocks[$new_block_key];
- reset($ol_blocks);
- while ($loop_block_array = each($ol_blocks)) {
- $loop_block_key = $loop_block_array['key'];
- $loop_block = $loop_block_array['value'];
- // only compare with other blocks
- if ($loop_block_key != $new_block_key) {
- // check if blocks overlap
- if (($loop_block['blockStart'] < $new_block['blockEnd']) && ($loop_block['blockEnd'] > $new_block['blockStart'])) {
- // define start and end of merged overlap block
- if ($new_block['blockStart'] > $loop_block['blockStart']) $ol_blocks[$new_block_key]['blockStart'] = $loop_block['blockStart'];
- if ($new_block['blockEnd'] < $loop_block['blockEnd']) $ol_blocks[$new_block_key]['blockEnd'] = $loop_block['blockEnd'];
- $ol_blocks[$new_block_key]['events'] = array_merge($new_block['events'], $loop_block['events']);
- $new_block['events'] = $ol_blocks[$new_block_key]['events'];
- foreach ($loop_block['overlapRanges'] as $ol_range) {
- $new_block['overlapRanges'] = merge_range($new_block['overlapRanges'], $ol_range['start'], $ol_range['end'], $ol_range['count']);
- }
- $ol_blocks[$new_block_key]['overlapRanges'] = $new_block['overlapRanges'];
- $ol_blocks[$new_block_key]['maxOverlaps'] = find_max_overlap($new_block['overlapRanges']);
- foreach ($ol_blocks[$new_block_key]['events'] as $event) {
- $master_array[$event_date][$event['time']][$event['key']]['event_overlap'] = $ol_blocks[$new_block_key]['maxOverlaps'];
- }
- unset($ol_blocks[$loop_block_key]);
- reset($ol_blocks);
- }
- }
- }
-
- return $ol_blocks;
-}
-
-// Builds $overlap_array structure, and updates event_overlap in $master_array for the given events.
-function checkOverlap($event_date, $event_time, $uid) {
- global $master_array, $overlap_array;
- if (!isset($event_date)) return;
- $event = $master_array[$event_date][$event_time][$uid];
- // Copy out the array - we replace this at the end.
- $ol_day_array = $overlap_array[$event_date];
- $drawTimes = drawEventTimes($event['event_start'], $event['event_end']);
-
- // For a given date,
- // - check to see if the event's already in a block, and if so, add it.
- // - make sure the new block doesn't overlap another block, and if so, merge the blocks.
- // - check that there aren't any events we already passed that we should handle.
- // - "flatten" the structure again, merging the blocks.
-
- // $overlap_array structure:
- // array of ($event_dates)
- // array of unique overlap blocks (no index) -
-
- // $overlap_block structure
- // 'blockStart' - $start_time of block - earliest $start_time of the events in the block.
- // Shouldn't be any overlap w/ a different overlap block in that day (as if they overlap, they get merged).
- // 'blockEnd' - $end_time of block - latest $end_time of the events in the block.
- // 'maxOverlaps' - max number of overlaps for the whole block (highest 'count' in overlapRanges)
- // 'events' - array of event "pointers" (no index) - each event in the block.
- // 'time' - $start_time of event in the block
- // 'key' - $uid of event
- // 'overlapRanges' - array of time ranges + overlap counts (no index) - the specific overlap info.
- // Shouldn't be any overlap w/ the overlap ranges in a given overlap_block - if there is overlap, the block should be split.
- // 'count' - number of overlaps that time range (can be zero if that range has no overlaps).
- // 'start' - start_time for the overlap block.
- // 'end' - end_time for the overlap block.
-
- $ol_day_array = $overlap_array[$event_date];
- // Track if $event has been merged in, so we don't re-add the details to 'event' or 'overlapRanges' multiple times.
- $already_merged_once = false;
- // First, check the existing overlap blocks, see if the event overlaps with any.
- if (isset($ol_day_array)) {
- foreach ($ol_day_array as $loop_block_key => $loop_ol_block) {
- // Should $event be in this $ol_block? If so, add it.
- if ($loop_ol_block['blockStart'] < $drawTimes['draw_end'] && $loop_ol_block['blockEnd'] > $drawTimes['draw_start']) {
- // ... unless it's already in the $ol_block
- if (!in_array(array('time' => $drawTimes['draw_start'], 'key' => $uid), $loop_ol_block['events'])) {
- $loop_ol_block['events'][] = array('time' => $drawTimes['draw_start'], 'key' => $uid);
- if ($loop_ol_block['blockStart'] > $drawTimes['draw_start']) $loop_ol_block['blockStart'] = $drawTimes['draw_start'];
- if ($loop_ol_block['blockEnd'] < $drawTimes['draw_end']) $loop_ol_block['blockEnd'] = $drawTimes['draw_end'];
-
- // Merge in the new overlap range
- $loop_ol_block['overlapRanges'] = merge_range($loop_ol_block['overlapRanges'], $drawTimes['draw_start'], $drawTimes['draw_end']);
- $loop_ol_block['maxOverlaps'] = find_max_overlap($loop_ol_block['overlapRanges']);
- foreach ($loop_ol_block['events'] as $max_overlap_event) {
- $master_array[$event_date][$max_overlap_event['time']][$max_overlap_event['key']]['event_overlap'] = $loop_ol_block['maxOverlaps'];
- }
- $ol_day_array[$loop_block_key] = $loop_ol_block;
- $ol_day_array = flatten_ol_blocks($event_date, $ol_day_array, $loop_block_key);
- $already_merged_once = true;
- break;
- // Handle repeat calls to checkOverlap - semi-bogus since the event shouldn't be created more than once, but this makes sure we don't get an invalid event_overlap.
- } else {
- $master_array[$event_date][$event_time][$uid]['event_overlap'] = $loop_ol_block['maxOverlaps'];
- }
- }
- }
- }
-
- // Then, check all the events, make sure there isn't a new overlap that we need to create.
- foreach ($master_array[$event_date] as $time_key => $time) {
- // Skip all-day events for overlap purposes.
- if ($time_key != '-1') {
- foreach ($time as $loop_event_key => $loop_event) {
- // Make sure we haven't already dealt with the event, and we're not checking against ourself.
- if ($loop_event['event_overlap'] == 0 && $loop_event_key != $uid) {
- $loopDrawTimes = drawEventTimes($loop_event['event_start'], $loop_event['event_end']);
- if ($loopDrawTimes['draw_start'] < $drawTimes['draw_end'] && $loopDrawTimes['draw_end'] > $drawTimes['draw_start']) {
- if ($loopDrawTimes['draw_start'] < $drawTimes['draw_start']) {
- $block_start = $loopDrawTimes['draw_start'];
- } else {
- $block_start = $drawTimes['draw_start'];
- }
- if ($loopDrawTimes['draw_end'] > $drawTimes['draw_end']) {
- $block_end = $loopDrawTimes['draw_end'];
- } else {
- $block_end = $drawTimes['draw_end'];
- }
- $events = array(array('time' => $loopDrawTimes['draw_start'], 'key' => $loop_event_key));
- $overlap_ranges = array(array('count' => 0, 'start' => $loopDrawTimes['draw_start'], 'end' => $loopDrawTimes['draw_end']));
- // Only add $event if we haven't already put it in a block
- if (!$already_merged_once) {
- $events[] = array('time' => $drawTimes['draw_start'], 'key' => $uid);
- $overlap_ranges = merge_range($overlap_ranges, $drawTimes['draw_start'], $drawTimes['draw_end']);
- $already_merged_once = true;
- }
- $ol_day_array[] = array('blockStart' => $block_start, 'blockEnd' => $block_end, 'maxOverlaps' => 1, 'events' => $events, 'overlapRanges' => $overlap_ranges);
-
- foreach ($events as $max_overlap_event) {
- $master_array[$event_date][$max_overlap_event['time']][$max_overlap_event['key']]['event_overlap'] = 1;
- }
- // Make sure we pass in the key of the newly added item above.
- end($ol_day_array);
- $last_day_key = key($ol_day_array);
- $ol_day_array = flatten_ol_blocks($event_date, $ol_day_array, $last_day_key);
- }
- }
- }
- }
- }
-
- $overlap_array[$event_date] = $ol_day_array;
-
-//for debugging the checkOverlap function
-//if ($event_date == '20050506') {
-//print 'Date: ' . $event_date . ' / Time: ' . $event_time . ' / Key: ' . $uid . "<br />\n";
-//print '<pre>';
-//print_r($master_array[$event_date]);
-//print_r($overlap_array[$event_date]);
-//print '</pre>';
-//}
-
-}
-
-// Remove an event from the overlap data.
-// This could be completely bogus, since overlap array is empty when this gets called in my tests, but I'm leaving it in anyways.
-function removeOverlap($ol_start_date, $ol_start_time, $ol_key) {
- global $master_array, $overlap_array;
- if (isset($overlap_array[$ol_start_date])) {
- if (sizeof($overlap_array[$ol_start_date]) > 0) {
- $ol_end_time = $master_array[$ol_start_date][$ol_start_time][$ol_key]['event_end'];
- foreach ($overlap_array[$ol_start_date] as $block_key => $block) {
- if (in_array(array('time' => $ol_start_time, 'key' => $ol_key), $block['events'])) {
- // Check if this is a 2-event block (i.e., there's no block left when we remove $ol_key
- // and if so, just unset it and move on.
- if (count($block['events']) == 2) {
- foreach ($block['events'] as $event) {
- $master_array[$ol_start_date][$event['time']][$event['key']]['event_overlap'] = 0;
- }
- unset($overlap_array[$ol_start_date][$block_key]);
- } else {
- // remove $ol_key from 'events'
- $event_key = array_search(array('time' => $ol_start_time, 'key' => $ol_key), $block['events']);
- unset($overlap_array[$ol_start_date][$block_key]['events'][$event_key]);
-
- // These may be bogus, since we're not using drawEventTimes.
- // "clean up" 'overlapRanges' and calc the new maxOverlaps.
- // use the special "-2" count to tell merge_range we're deleting.
- $overlap_array[$ol_start_date][$block_key]['overlapRanges'] = merge_range($block['overlapRanges'], $ol_start_time, $ol_end_time, -2);
- $overlap_array[$ol_start_date][$block_key]['maxOverlaps'] = find_max_overlap($block['overlapRanges']);
-
- // recreate blockStart and blockEnd from the other events, and fix maxOverlap while we're at it.
- $blockStart = $ol_end_time;
- $blockEnd = $ol_start_time;
- foreach ($overlap_array[$ol_start_date][$block_key]['events'] as $event) {
- $blockStart = min($blockStart, $event['time']);
- $blockEnd = max($blockEnd, $master_array[$ol_start_date][$event['time']][$event['key']]['event_end']);
- $master_array[$ol_start_date][$event['time']][$event['key']]['event_overlap'] = $overlap_array[$ol_start_date][$block_key]['maxOverlaps'];
- }
- $overlap_array[$ol_start_date][$block_key]['blockStart'] = $blockStart;
- $overlap_array[$ol_start_date][$block_key]['blockEnd'] = $blockEnd;
- }
- }
- }
- }
- }
-}
-?>
diff --git a/functions/parse_tzs.php b/functions/parse_tzs.php
deleted file mode 100644
index 85ab929..0000000
--- a/functions/parse_tzs.php
+++ /dev/null
@@ -1,64 +0,0 @@
-<?php
-$ifile = @fopen($filename, "r");
-if ($ifile == FALSE) exit(error($lang['l_error_cantopen'], $filename));
-$nextline = fgets($ifile, 1024);
-if (trim($nextline) != 'BEGIN:VCALENDAR') exit(error($lang['l_error_invalidcal'], $filename));
-
-// read file in line by line
-// XXX end line is skipped because of the 1-line readahead
-while (!feof($ifile)) {
- $line = $nextline;
- $nextline = fgets($ifile, 1024);
- $nextline = ereg_replace("[\r\n]", "", $nextline);
- #handle continuation lines that start with either a space or a tab (MS Outlook)
- while (isset($nextline{0}) && ($nextline{0} == " " || $nextline{0} == "\t")) {
- $line = $line . substr($nextline, 1);
- $nextline = fgets($ifile, 1024);
- $nextline = ereg_replace("[\r\n]", "", $nextline);
- }
- $line = trim($line);
-
- switch ($line) {
- case 'BEGIN:VTIMEZONE':
- unset($tz_name, $offset_from, $offset_to, $tz_id);
- break;
- case 'BEGIN:STANDARD':
- unset ($offset_s);
- break;
- case 'END:STANDARD':
- $offset_s = $offset_to;
- break;
- case 'BEGIN:DAYLIGHT':
- unset ($offset_d);
- break;
- case 'END:DAYLIGHT':
- $offset_d = $offset_to;
- break;
- case 'END:VTIMEZONE':
- $tz_array[$tz_id] = array($offset_s, $offset_d); #echo "<pre>$tz_id"; print_r($tz_array[$tz_id]);echo"</pre>";
- break;
- default:
- unset ( $data, $prop_pos, $property);
- if (ereg ("([^:]+):(.*)", $line, $line)){
- $property = $line[1];
- $data = $line[2];
- $prop_pos = strpos($property,';');
- if ($prop_pos !== false) $property = substr($property,0,$prop_pos);
- $property = strtoupper($property);
-
- switch ($property) {
- case 'TZID':
- $tz_id = $data;
- break;
- case 'TZOFFSETFROM':
- $offset_from = $data;
- break;
- case 'TZOFFSETTO':
- $offset_to = $data;
- break;
- }
- }
- }
-}
-
-?> \ No newline at end of file
diff --git a/functions/sanitize.php b/functions/sanitize.php
deleted file mode 100644
index a9e72ee..0000000
--- a/functions/sanitize.php
+++ /dev/null
@@ -1,97 +0,0 @@
-<?php
-/**
- * Sanitizes variables and arrays in a recursive manner
- *
- * This method was created as a result of strip_tags() happening on an array
- * would destroy the contents of the array. Thus, in order to avoid this from
- * happening we need checks to see if something is an array and to process
- * it as such.
- *
- * The only sanitizing this method provides is stripping non-allowed tags.
- *
- * @author Christopher Weldon <cweldon@tamu.edu>
- * @param mixed $value Value to be sanitized
- * @return mixed
- */
-function recursiveSanitize($value) {
- if (is_array($value)) {
- $valmod = array();
- foreach ($value as $key => $subval) {
- if (is_array($subval)) {
- $subval = recursiveSanitize($subval);
- } else {
- $subval = strip_tags($subval);
- }
- $valmod[$key] = $subval;
- }
- $value = $valmod;
- } else {
- $value = strip_tags($value);
- }
-
- return $value;
-}
-
-foreach ($_REQUEST as $key=>$val){
- switch ($key){
- case 'event_data':
- # modify this to allow or disallow different HTML tags in event popups
- $allowed = "<p><br><b><i><em><a><img><div><span><ul><ol><li><h1><h2><h3><h4><h5><h6><hr><em><strong><small><table><tr><td><th>";
- $val = strip_tags($val,$allowed);
- break;
- default:
- # cpath
- $val = recursiveSanitize($val);
- }
-
- $_REQUEST[$key] = $val;
-}
-foreach ($_POST as $key=>$val){
- switch ($key){
- case 'action':
- $actions = array('login','logout','addupdate','delete');
- if (!in_array($val,$actions)) $val = '';
- break;
- case 'date':
- case 'time':
- if (!is_numeric($val)) $val = '';
- break;
- default:
- $val = recursiveSanitize($val);
- }
- $_POST[$key] = $val;
-
-}
-foreach ($_GET as $key=>$val){
- switch ($key){
- case 'cal':
- if (!is_array($val)){
- $val = strip_tags($val);
- $_GET['cal'] = strip_tags($val);
- }else{
- unset ($_GET['cal']);
- foreach($val as $cal){
- $_GET['cal'][]= strip_tags($cal);
- }
- }
- break;
- case 'getdate':
- if (!is_numeric($val)) $val = '';
- break;
- default:
- $val = recursiveSanitize($val);
- }
- if ($key != 'cal') $_GET[$key] = $val;
-
-}
-foreach ($_COOKIE as $key=>$val){
- switch ($key){
- case 'time':
- if (!is_numeric($val)) $val = '';
- break;
- default:
- $val = recursiveSanitize($val);
- }
- $_COOKIE[$key] = $val;
-}
-?> \ No newline at end of file
diff --git a/languages/german.inc.php b/languages/german.inc.php
index 5e95514..1fefb06 100644
--- a/languages/german.inc.php
+++ b/languages/german.inc.php
@@ -1,4 +1,4 @@
-<?php
+<?php
// German language include
// For version 2.0 PHP iCalendar
@@ -28,17 +28,17 @@ $lang['l_powered_by'] = 'Powered by';
$lang['l_event'] = 'Eintrag';
$lang['l_event_start'] = 'Beginn';
$lang['l_event_end'] = 'Ende';
-$lang['l_this_months'] = 'Eintr&auml;ge in diesem Monat';
+$lang['l_this_months'] = 'Einträge in diesem Monat';
$lang['l_date'] = 'Datum';
$lang['l_summary'] = 'Beschreibung';
$lang['l_all_day'] = 'Tagesereignis';
$lang['l_notes'] = 'Notiz';
-$lang['l_this_years'] = 'Eintr&auml;ge f&uuml;r dieses Jahr';
+$lang['l_this_years'] = 'Einträge für dieses Jahr';
$lang['l_today'] = 'Heute';
$lang['l_this_week'] = 'Diese Woche';
$lang['l_this_month'] = 'Diesen Monat';
$lang['l_jump'] = 'Gehe zu';
-$lang['l_tomorrows'] = 'Morgige Eintr&auml;ge';
+$lang['l_tomorrows'] = 'Morgige Einträge';
$lang['l_goday'] = 'Gehe zum heutigen Tag';
$lang['l_goweek'] = 'Gehe zur aktuellen Woche';
$lang['l_gomonth'] = 'Gehe zum aktuellen Monat';
@@ -47,15 +47,15 @@ $lang['l_search'] = 'Suchen'; // the verb
$lang['l_results'] = 'Suchergebnisse';
$lang['l_pick_multiple'] = 'Mehrfachauswahl';
$lang['l_query'] = 'Suche'; // will be followed by the search query
-$lang['l_no_results'] = 'Keine Eintr&auml;ge gefunden';
+$lang['l_no_results'] = 'Keine Einträge gefunden';
$lang['l_goprint'] = 'Druckversion';
$lang['l_time'] = 'Zeit';
$lang['l_summary'] = 'Zusammenfassung';
$lang['l_description'] = 'Beschreibung';
$lang['l_this_site_is'] = 'Diese Site ist';
-$lang['l_no_events_day'] = 'Keine Eintr&auml;ge f&uuml;r heute.';
-$lang['l_no_events_week'] = 'Keine Eintr&auml;ge in dieser Woche.';
-$lang['l_no_events_month'] = 'Keine Eintr&auml;ge in diesem Monat.';
+$lang['l_no_events_day'] = 'Keine Einträge für heute.';
+$lang['l_no_events_week'] = 'Keine Einträge in dieser Woche.';
+$lang['l_no_events_month'] = 'Keine Einträge in diesem Monat.';
$lang['l_rss_day_date'] = 'H:i'; // Lists just the time
$lang['l_rss_week_date '] = '%e. %b'; // Lists just the day
$lang['l_rss_month_date '] = '%e. %b'; // Lists just the day
@@ -66,31 +66,31 @@ $lang['l_exception'] = 'Ausnahme';
$lang['l_no_query'] = 'Kein Suchbegriff';
$lang['l_preferences'] = 'Einstellungen';
$lang['l_printer'] = 'Drucker';
-$lang['l_select_lang'] = 'Standardsprache w&auml;hlen';
-$lang['l_select_cal'] = 'Standardkalender w&auml;hlen';
-$lang['l_select_view'] = 'Standardansicht w&auml;hlen';
+$lang['l_select_lang'] = 'Standardsprache wählen';
+$lang['l_select_cal'] = 'Standardkalender wählen';
+$lang['l_select_view'] = 'Standardansicht wählen';
$lang['l_select_time'] = 'Tag beginnt um';
$lang['l_select_day'] = 'Woche beginnt mit';
-$lang['l_select_style'] = 'Standardstil w&auml;hlen';
+$lang['l_select_style'] = 'Standardstil wählen';
$lang['l_set_prefs'] = 'Einstellungen speichern';
$lang['l_completed_date'] = 'Erledigt am';
$lang['l_completed'] = 'Erledigt';
$lang['l_created'] = 'Erstellt';
-$lang['l_due'] = 'F&auml;llig:';
-$lang['l_priority'] = 'Priorit&auml;t:';
+$lang['l_due'] = 'Fällig:';
+$lang['l_priority'] = 'Priorität:';
$lang['l_priority_high'] = 'hoch';
$lang['l_priority_low'] = 'niedrig';
$lang['l_priority_medium'] = 'mittel';
$lang['l_priority_none'] = 'keine';
$lang['l_status'] = 'Status';
-$lang['l_status_confirmed'] = 'Best&auml;tigt' ;
+$lang['l_status_confirmed'] = 'Bestätigt' ;
$lang['l_status_cancelled'] = 'Abgesagt';
-$lang['l_status_tentative'] = 'Vorl&auml;ufig';
+$lang['l_status_tentative'] = 'Vorläufig';
$lang['l_todo'] = 'Aufgaben';
$lang['l_unfinished'] = 'Andauernd';
$lang['l_prefs_set'] = 'Einstellungen wurden gespeichert.';
-$lang['l_prefs_unset'] = 'Einstellungen gel&ouml;scht. &Auml;nderungen werden beim Aufruf der n&auml;chsten Seite aktiv.';
-$lang['l_unset_prefs'] = 'Einstellungen l&ouml;schen:';
+$lang['l_prefs_unset'] = 'Einstellungen gelöscht. änderungen werden beim Aufruf der nächsten Seite aktiv.';
+$lang['l_unset_prefs'] = 'Einstellungen löschen';
$lang['l_organizer'] = 'Organisator';
$lang['l_attendee'] = 'Teilnehmer';
$lang['l_location'] = 'Ort';
@@ -100,8 +100,8 @@ $lang['l_password'] = 'Passwort';
$lang['l_login'] = 'Anmelden';
$lang['l_invalid_login'] = 'Falscher Benutzername oder Passwort.';
$lang['l_addupdate_cal'] = 'Kalender aktualisieren oder hochladen';
-$lang['l_addupdate_desc'] = 'Um einen Kalendar hinzuzuf&uuml;gen, laden Sie ein neues Kalender Dokument hoch. Um einen Kalender zu aktualisieren, laden Sie ein Kalender Dokument mit dem selben Namen hoch.';
-$lang['l_delete_cal'] = 'Einen Kalender l&ouml;schen';
+$lang['l_addupdate_desc'] = 'Um einen Kalendar hinzuzufügen, laden Sie ein neues Kalender Dokument hoch. Um einen Kalender zu aktualisieren, laden Sie ein Kalender Dokument mit dem selben Namen hoch.';
+$lang['l_delete_cal'] = 'Einen Kalender löschen';
$lang['l_logout'] = 'Abmelden';
$lang['l_cal_file'] = 'Kalender Dokument';
$lang['l_php_error'] = 'PHP Fehler';
@@ -110,14 +110,14 @@ $upload_error_lang[0] = 'Fehler beim Hochladen des Dokuments.';
$upload_error_lang[1] = 'Das hochzuladende Dokument ist zu gross.';
$upload_error_lang[2] = 'Das Dokument, welches Sie versuchen hochzuladen, ist zu gross.';
$upload_error_lang[3] = 'Das Dokument, welches Sie versuchen hochzuladen wurde nur teilweise empfangen.';
-$upload_error_lang[4] = 'Sie m&uuml;ssen ein Dokument zum Hochladen ausw&auml;hlen.';
-$lang['l_upload_error_type'] = 'Nur Dokumente mit der Suffix .ics d&uuml;rfen hochgeladen werden.';
+$upload_error_lang[4] = 'Sie müssen ein Dokument zum Hochladen auswählen.';
+$lang['l_upload_error_type'] = 'Nur Dokumente mit der Suffix .ics dürfen hochgeladen werden.';
$lang['l_copy_error'] = 'Kopieren des Dokuments nicht erfolgreich';
-$lang['l_delete_error'] = 'L&ouml;schen des Dokuments nicht erfolgreich';
-$lang['l_delete_success'] = 'wurde gel&ouml;scht.';
+$lang['l_delete_error'] = 'Löschen des Dokuments nicht erfolgreich';
+$lang['l_delete_success'] = 'wurde gelöscht.';
$lang['l_action_success'] = 'Die Aktion war erfolgreich.';
$lang['l_submit'] = 'Absenden';
-$lang['l_delete'] = 'L&ouml;schen';
+$lang['l_delete'] = 'Löschen';
$all_cal_comb_lang = 'Alle Kalender zusammen';
// New for 2.0
@@ -129,8 +129,8 @@ $lang['l_rss_subhead'] = 'Basic RSS feeds available for each calendar';
$lang['l_rss_notenabled'] = 'RSS is not enabled on this site';
// - navigation
-$lang['l_back'] = 'Zur&uuml;ck';
-$lang['l_next'] = 'N&auml;chste';
+$lang['l_back'] = 'Zurück';
+$lang['l_next'] = 'Nächste';
$lang['l_prev'] = 'Vorherige';
$lang['l_day_view'] = 'Tagesansicht';
$lang['l_week_view'] = 'Wochenansicht';
@@ -153,7 +153,7 @@ $format_recur_lang['secondly'] = array('Sekunde','Sekunden');
$format_recur_lang['start'] = 'Jeden %int% %freq% %for%'; // ie, 'Every 1 day until January 4' or 'Every 1 day for a count of 5'
$format_recur_lang['until'] = 'bis %date%'; // ie, 'until January 4'
-$format_recur_lang['count'] = 'f&uuml;r %int% Mal'; // ie, 'for 5 times'
+$format_recur_lang['count'] = 'für %int% Mal'; // ie, 'for 5 times'
$format_recur_lang['bymonth'] = 'In den Monaten: %list%'; // ie, 'In months: January, February, March'
$format_recur_lang['bymonthday'] = 'An den Daten: %list%'; // ie, 'On dates: 1, 2, 3, 4'
@@ -164,8 +164,8 @@ $format_recur_lang['byday'] = 'An den Tagen: %list%'; // ie, 'On days: Mon,
$daysofweek_lang = array ('Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag');
$daysofweekshort_lang = array ('So','Mo','Di','Mi','Do','Fr','Sa');
$daysofweekreallyshort_lang = array ('So','Mo','Di','Mi','Do','Fr','Sa');
-$monthsofyear_lang = array ('Januar','Februar','M&auml;rz','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember');
-$monthsofyearshort_lang = array ('Jan','Feb','M&auml;r','Apr','Mai','Jun','Jul','Aug','Sep','Okt','Nov','Dez');
+$monthsofyear_lang = array ('Januar','Februar','März','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember');
+$monthsofyearshort_lang = array ('Jan','Feb','Mär','Apr','Mai','Jun','Jul','Aug','Sep','Okt','Nov','Dez');
// For time formatting, check out: http://www.php.net/manual/en/function.date.php
$timeFormat = 'H:i';
@@ -200,10 +200,10 @@ Notes about dateFormat_*
$lang['l_error_title'] = 'Fehler!';
$lang['l_error_window'] = 'Es ist ein Fehler aufgetreten!';
$lang['l_error_calendar'] = 'Der Kalender "%s" wurde bearbeitet, als dieser Fehler auftrat.';
-$lang['l_error_path'] = 'Der Pfad "%s" kann nicht ge&ouml;ffnet werden.';
-$lang['l_error_back'] = 'Bitte klicken Sie die "Zur&uuml;ck" Schaltfl&auml;che des Browsers um zur&uuml;ckzuspringen.';
+$lang['l_error_path'] = 'Der Pfad "%s" kann nicht geöffnet werden.';
+$lang['l_error_back'] = 'Bitte klicken Sie die "Zurück" Schaltfläche des Browsers um zurückzuspringen.';
$lang['l_error_remotecal'] = 'Dieser Server blockiert entfernte Kalender, welche nicht freigegeben wurden.';
-$lang['l_error_restrictedcal'] = 'Sie haben versucht einen Kalender mit eingeschr&auml;nktem Zugriff auf diesem Server aufzurufen.';
-$lang['l_error_invalidcal'] = 'Dieser Kalender enth&auml;lt Fehler. Bitte w&auml;hlen Sie einen anderen aus.';
+$lang['l_error_restrictedcal'] = 'Sie haben versucht einen Kalender mit eingeschränktem Zugriff auf diesem Server aufzurufen.';
+$lang['l_error_invalidcal'] = 'Dieser Kalender enthält Fehler. Bitte wählen Sie einen anderen aus.';
?>

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