- file_get_contents: documentation ( source)
- array_push: documentation ( source)
- print_r: documentation ( source)
- explode: documentation ( source)
<?php
function icsToArray($paramUrl) {
$icsFile = file_get_contents($paramUrl);
$icsData = explode("BEGIN:VEVENT", $icsFile);
foreach($icsData as $key => $value) {
$icsDatesMeta[$key] = explode("\n", $value);
}
foreach($icsDatesMeta as $key => $value) {
foreach($value as $subKey => $subValue) {
if ($subValue != "") {
if ($key != 0 && $subKey == 0) {
$icsDates[$key]["BEGIN"] = $subValue;
} else {
$subValueArr = explode(":", $subValue, 2);
$icsDates[$key][$subValueArr[0]] = $subValueArr[1];
}
}
}
}
return $icsDates;
}
function toDB($array) {
$data = array();
$number = 0;
foreach ($array as $ent)
{
if ($number == 0) {
$number++;
continue;
}
$arr = array();
$arr['START'] = $array['DTSTART;TZID=Australia/Melbourne'];
$arr['END'] = $array['DTEND;TZID=Australia/Melbourne'];
$arr['LOCATION'] = $array['LOCATION'];
$arr['NAME'] = $array['SUMMARY'];
$arr['DESCRIPTION'] = $array['DESCRIPTION'];
array_push($data, $arr);
}
return $data;
}
print_r(toDB(icsToArray("http://mysubjects.uts.edu.au/aplus2015/rest/calendar/ical/bc269a33-1471-4872-aad6-ba4851bbb0c1.ics")));
?>