From cab875ea0e16e37bc62b60782d0359865fc402e6 Mon Sep 17 00:00:00 2001 From: Chad Little Date: Mon, 15 Sep 2003 01:00:44 +0000 Subject: Fix for bug #794853 listing dot-files. --- functions/admin_functions.php | 2 +- functions/ical_parser.php | 63 +++++++------------------------------------ functions/init.inc.php | 4 +-- functions/list_icals.php | 2 +- 4 files changed, 13 insertions(+), 58 deletions(-) (limited to 'functions') diff --git a/functions/admin_functions.php b/functions/admin_functions.php index 7e7a8a6..325a9dd 100644 --- a/functions/admin_functions.php +++ b/functions/admin_functions.php @@ -294,7 +294,7 @@ function get_calendar_files($calendar_path) { $dir_handle = @opendir($calendar_path) or die(error(sprintf($error_path_lang, $calendar_path))); $filelist = array(); while ($file = readdir($dir_handle)) { - if (substr($file, -4) == ".ics") { + if (preg_match("/^[^.].+\.ics$/", $file)) { array_push($filelist, $file); } } diff --git a/functions/ical_parser.php b/functions/ical_parser.php index 9dc4e61..3b0c0cc 100644 --- a/functions/ical_parser.php +++ b/functions/ical_parser.php @@ -883,20 +883,15 @@ foreach ($cal_filelist as $filename) { break; case 'DURATION': if (($first_duration == TRUE) && (!stristr($field, '=DURATION'))) { - ereg ('^P([0-9]{1,2})?([W,D]{0,1}[T])?([0-9]{1,2}[H])?([0-9]{1,2}[M])?([0-9]{1,2}[S])?', $data, $duration); - if ($duration[2] = 'W') { - $weeks = $duration[1]; - $days = 0; - } else { - $days = $duration[1]; - $weeks = 0; - } - $hours = ereg_replace('H', '', $duration[3]); - $minutes = ereg_replace('M', '', $duration[4]); - $seconds = ereg_replace('S', '', $duration[5]); - $the_duration = ($weeks * 60 * 60 * 24 * 7) + ($days * 60 * 60 * 24) + ($hours * 60 * 60) + ($minutes * 60) + ($seconds); - $end_unixtime = $start_unixtime + $the_duration; - $end_time = date ('Hi', $end_unixtime); + ereg ('^P([0-9]{1,2}[W])?([0-9]{1,2}[D])?([T]{0,1})?([0-9]{1,2}[H])?([0-9]{1,2}[M])?([0-9]{1,2}[S])?', $data, $duration); + $weeks = ereg_replace('W', '', $duration[1]); + $days = ereg_replace('D', '', $duration[2]); + $hours = ereg_replace('H', '', $duration[4]); + $minutes = ereg_replace('M', '', $duration[5]); + $seconds = ereg_replace('S', '', $duration[6]); + $the_duration = ($weeks * 60 * 60 * 24 * 7) + ($days * 60 * 60 * 24) + ($hours * 60 * 60) + ($minutes * 60) + ($seconds); + $end_unixtime = $start_unixtime + $the_duration; + $end_time = date ('Hi', $end_unixtime); $first_duration = FALSE; } break; @@ -926,46 +921,6 @@ foreach ($cal_filelist as $filename) { } } } - - /* - //print '
';	
-		// Remove pesky recurrences
-		if (is_array($recurrence_delete)) {
-			foreach ($recurrence_delete as $delete => $delete_key) {
-				foreach ($delete_key as $key => $val) {
-					#echo "Before Delete::  $delete  $key  $val
"; - #print_r($master_array["$delete"]); - if (is_array($master_array[($delete)][($key)][($val)])) { - removeOverlap($delete, $key, $val); - unset($master_array["$delete"]["$key"]["$val"]); - // Remove date from array if no events - if (sizeof($master_array["$delete"]["$key"] = 1)) { - #echo "deleting $delete $key $val
"; - unset($master_array["$delete"]["$key"]); - if (!sizeof($master_array["$delete"] > 1)) { - #echo "deleting $delete $key $val
"; - unset($master_array["$delete"]); - } - } - #print_r($master_array["$delete"]); - // Check for overlaps and rewrite them - foreach($master_array["$delete"] as $overlap_time => $overlap_val) { - $recur_data_date = $delete; - foreach ($overlap_val as $uid => $val) { - $start_time = $val['event_start']; - $end_time = $val['event_end']; - #$nbrOfOverlaps = checkOverlap($recur_data_date, $start_time, $end_time, $uid); - #$master_array[($recur_data_date)][($start_time)][($uid)]['event_overlap'] = 0; - #echo "$recur_data_date - $uid - $start_time - $end_time - $nbrOfOverlaps
"; - #print_r($val); - } - } - } - } - } - } - - */ } $calnumber = $calnumber + 1; } diff --git a/functions/init.inc.php b/functions/init.inc.php index db76044..2a145ed 100644 --- a/functions/init.inc.php +++ b/functions/init.inc.php @@ -106,14 +106,14 @@ if ($is_webcal) { // build the array while (false != ($file = readdir($dir_handle))) { - if (substr($file, -4) == ".ics") { + if (preg_match("/^[^.].+\.ics$/", $file)) { $file = $calendar_path.'/'.$file; array_push($cal_filelist, $file); } } // add webcals foreach ($list_webcals as $file) { - if (substr($file, -4) == ".ics") { + if (preg_match("/^[^.].+\.ics$/", $file)) { array_push($cal_filelist, $file); } } diff --git a/functions/list_icals.php b/functions/list_icals.php index 75d85b4..91b6b7c 100644 --- a/functions/list_icals.php +++ b/functions/list_icals.php @@ -17,7 +17,7 @@ if ($display_ical_list == "yes") { // build the