$cals[$cal] = array('first' => $i, 'last' => $i, 'end' => $i); } elseif ($attr == 'BEGIN' && $cal !== false && isset($comps[$val])) { $comp = $val; $beginNo = $i; } elseif ($attr == 'END' && $cal !== false && $val == 'VCALENDAR') { if ($comp !== false) { unset($cals[$cal]); // corrupt calendar, unset it } else { $cals[$cal]['end'] = $i; } $comp = $uid = $cal = false; // reset calendar } elseif ($attr == 'END' && $comp !== false && $val == $comp) { if (!$uid) { $uid = OC_Calendar_Object::createUID(); } $uids[$uid][$beginNo] = array('end' => $i, 'cal' => $cal); if ($cals[$cal]['first'] == $cal) { $cals[$cal]['first'] = $beginNo; } $cals[$cal]['last'] = $i; $comp = $uid = false; // reset component } elseif ($attr == "UID" && $comp !== false) { list($attr, $uid) = explode(':', $line); } } $i++; } // import the calendar