= "4.2.0") { extract($HTTP_POST_VARS); extract($HTTP_GET_VARS); } $time_shown = array ( "0700" => array("event_start" => "", "event_end" => "", "event_length" => 0, "event_text" => ""), "0730" => array("event_start" => "", "event_end" => "", "event_length" => 0, "event_text" => ""), "0800" => array("event_start" => "", "event_end" => "", "event_length" => 0, "event_text" => ""), "0830" => array("event_start" => "", "event_end" => "", "event_length" => 0, "event_text" => ""), "0900" => array("event_start" => "", "event_end" => "", "event_length" => 0, "event_text" => ""), "0930" => array("event_start" => "", "event_end" => "", "event_length" => 0, "event_text" => ""), "1000" => array("event_start" => "", "event_end" => "", "event_length" => 0, "event_text" => ""), "1030" => array("event_start" => "", "event_end" => "", "event_length" => 0, "event_text" => ""), "1100" => array("event_start" => "", "event_end" => "", "event_length" => 0, "event_text" => ""), "1130" => array("event_start" => "", "event_end" => "", "event_length" => 0, "event_text" => ""), "1200" => array("event_start" => "", "event_end" => "", "event_length" => 0, "event_text" => ""), "1230" => array("event_start" => "", "event_end" => "", "event_length" => 0, "event_text" => ""), "1300" => array("event_start" => "", "event_end" => "", "event_length" => 0, "event_text" => ""), "1330" => array("event_start" => "", "event_end" => "", "event_length" => 0, "event_text" => ""), "1400" => array("event_start" => "", "event_end" => "", "event_length" => 0, "event_text" => ""), "1430" => array("event_start" => "", "event_end" => "", "event_length" => 0, "event_text" => ""), "1500" => array("event_start" => "", "event_end" => "", "event_length" => 0, "event_text" => ""), "1530" => array("event_start" => "", "event_end" => "", "event_length" => 0, "event_text" => ""), "1600" => array("event_start" => "", "event_end" => "", "event_length" => 0, "event_text" => ""), "1630" => array("event_start" => "", "event_end" => "", "event_length" => 0, "event_text" => ""), "1700" => array("event_start" => "", "event_end" => "", "event_length" => 0, "event_text" => ""), "1730" => array("event_start" => "", "event_end" => "", "event_length" => 0, "event_text" => ""), "1800" => array("event_start" => "", "event_end" => "", "event_length" => 0, "event_text" => ""), "1830" => array("event_start" => "", "event_end" => "", "event_length" => 0, "event_text" => ""), "1900" => array("event_start" => "", "event_end" => "", "event_length" => 0, "event_text" => ""), "1930" => array("event_start" => "", "event_end" => "", "event_length" => 0, "event_text" => ""), "2000" => array("event_start" => "", "event_end" => "", "event_length" => 0, "event_text" => ""), "2030" => array("event_start" => "", "event_end" => "", "event_length" => 0, "event_text" => ""), "2100" => array("event_start" => "", "event_end" => "", "event_length" => 0, "event_text" => ""), "2130" => array("event_start" => "", "event_end" => "", "event_length" => 0, "event_text" => ""), "2200" => array("event_start" => "", "event_end" => "", "event_length" => 0, "event_text" => ""), "2230" => array("event_start" => "", "event_end" => "", "event_length" => 0, "event_text" => ""), "2300" => array("event_start" => "", "event_end" => "", "event_length" => 0, "event_text" => ""), "2330" => array("event_start" => "", "event_end" => "", "event_length" => 0, "event_text" => "") ); // $getdate = "20020823"; // what day are we parsing out of the iCal file if (!$getdate) $getdate = date("Ymd"); ereg ("([0-9]{4})([0-9]{2})([0-9]{2})", $getdate, $day_array); $this_day = $day_array[3]; $this_month = $day_array[2]; $this_year = $day_array[1]; // what iCal file are we using $fullpath = "webcal://chadsdomain.com/ical/Home.ics"; $filename = "calendars/Home.ics"; // open the iCal file, read it into an array $contents = file($filename); $start_time = ""; $end_time = ""; $summary = ""; $allday_start = ""; $allday_end = ""; $i = 0; foreach($contents as $line) { if(strstr($line, "BEGIN:VEVENT")) { $start_time = ""; $end_time = ""; $summary = ""; $allday_start = ""; $allday_end = ""; $start = ""; $end = ""; } else if (strstr($line, "END:VEVENT")) { if($start_time != "") { //echo "Start $start_time End $end_time Summary $summary
\n"; ereg ("([0-9]{2})([0-9]{2})", $start_time, $time); $hour = $time[1]; $minute = $time[2]; if($minute < 15) $minute = "00"; else if($minute >=15 && $minute < 45) $minute = "30"; else if($minute >= 45) { $hour = sprintf("%.02d", ($hour + 1)); $minute = "00"; } $time_shown[($hour.$minute)]["event_start"] = $start_time; $time_shown[($hour.$minute)]["event_text"] = $summary; } // Let's handle the all day fields if($end_time != "") { $time_shown[($hour.$minute)]["event_end"] = $end_time; ereg ("([0-9]{2})([0-9]{2})", $end_time, $time2); $length = round((($time2[1]*60+$time2[2]) - ($time[1]*60+$time[2]))/30); $time_shown[($hour.$minute)]["event_length"] = $length; } elseif ($start_time && !$end_time) { $time_shown[($hour.$minute)]["event_length"] = 2; } if ($allday_start != "") { $start = strtotime("$allday_start"); $end = strtotime("$allday_end"); do { if (date("Ymd", $start) == $getdate) { $all_day[$i] = "$summary"; $i++; } $start = ($start + (24*3600)); } while ($start != $end); } } else { $field = ""; $data = ""; sscanf($line, "%[^:]:%[^\n]", &$field, &$data); //echo $line . "
"; //echo $field . "
"; //echo $data . "
"; if(strstr($field, "DTSTART;TZID")) { //echo $data; $data = ereg_replace("T", "", $data); ereg ("([0-9]{4})([0-9]{2})([0-9]{2})([0-9]{0,2})([0-9]{0,2})", $data, $regs); $year = $regs[1]; $month = $regs[2]; $day = $regs[3]; $hour = $regs[4]; $minute = $regs[5]; if($year == $this_year && $month == $this_month && $day == $this_day) { $start_time = $hour . $minute; //$start_time = $month . "/" . $day . "/" . $year . " " . $time; } $regs[1] = ""; $regs[2] = ""; $regs[3] = ""; $regs[4] = ""; $regs[5] = ""; } elseif (strstr($field, "DTEND;TZID")) { //echo $data; $data = ereg_replace("T", "", $data); ereg ("([0-9]{4})([0-9]{2})([0-9]{2})([0-9]{0,2})([0-9]{0,2})", $data, $regs); $year = $regs[1]; $month = $regs[2]; $day = $regs[3]; $hour = $regs[4]; $minute = $regs[5]; if($year == $this_year && $month == $this_month && $day == $this_day) { $end_time = $hour . $minute; //$end_time = $month . "/" . $day . "/" . $year . " " . $time; } $regs[1] = ""; $regs[2] = ""; $regs[3] = ""; $regs[4] = ""; $regs[5] = ""; } elseif (strstr($field, "SUMMARY")) { $summary = $data; } elseif (strstr($field, "X-WR-CALNAME")) { $calendar_name = $data; } elseif (strstr($field, "DTSTART;VALUE=DATE")) { $allday_start = $data; } elseif (strstr($field, "DTEND;VALUE=DATE")) { $allday_end = $data; } } } // print_r($time_shown); ?>