1
|
<?
if(phpversion() >= "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 "<b>Start</b> $start_time <b>End</B> $end_time <b>Summary</b> $summary<br>\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 . "<br>";
//echo $field . "<br>";
//echo $data . "<br>";
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);
?>
|