public function loadEvents() { if ($this->components === array()) { $diary = @fopen($this->getFile(), 'r'); $headers = null; if ($diary === false) { $error = error_get_last(); throw new Exception("Cannot find event file: " . $error['message']); } $this->log->info('Parsing diary CSV'); while (false !== ($row = fgetcsv($diary))) { if ($headers === null) { $headers = $row; } else { $row = array_combine($headers, $row); $event = new Event(); $event->setDtStart(new \DateTime($row[$this->headers['date']])); $event->setDtEnd(new \DateTime($row[$this->headers['date']])); $event->setNoTime(true); $event->setSummary($row[$this->headers['summary']]); $event->setDescription($this->getEventDescription($row)); $event->setUrl($row[$this->headers['url']]); $this->addEvent($event); } } $this->log->info('Parsing complete'); } }