public function retrieveAllEventsFromCalendar(ICalendar $calendar, $timeFrom = null, $timeTo = null) { $filter = array(CalendarManager::CALENDAR_KEY_ID => $calendar->getId()); if ($timeFrom !== null) { $filter[CalendarManager::EVENT_KEY_TIMESTART] = array('>', $timeFrom); } if ($timeTo !== null) { $filter[CalendarManager::EVENT_KEY_TIMEEND] = array('<', $timeTo); } return self::convertResultsToEventObjects($this->retrieveAllEventsWithFilter($filter)); }
public function updateCalendar(ICalendar $calendar) { try { $dbHandler = $this->getConnection(); $data = array(CalendarManager::CALENDAR_KEY_ID => $calendar->getId(), CalendarManager::CALENDAR_KEY_NAME => $calendar->getName(), CalendarManager::CALENDAR_KEY_DESCRIPTION => $calendar->getDescription(), CalendarManager::CALENDAR_KEY_TIMEZONE => $calendar->getTimezone(), CalendarManager::CALENDAR_KEY_OWNERID => $calendar->getOwnerId()); $sqlQuery = 'UPDATE ' . self::CALENDAR_TABLE_NAME . ' SET '; foreach ($data as $key => $value) { if ($key != CalendarManager::CALENDAR_KEY_ID) { $sqlQuery .= $key . ' = :' . $key . ', '; } } $sqlQuery = substr($sqlQuery, 0, -2); $sqlQuery .= ' WHERE ' . CalendarManager::CALENDAR_KEY_ID . ' = :' . CalendarManager::CALENDAR_KEY_ID; $stmt = $dbHandler->prepare($sqlQuery); $stmt->execute($data); } catch (Exception $e) { $this->destroyConnection(); throw new EyeDBException('An error occured while attempting to update calendar with ID "' . $calendar->getId() . '".', 0, $e); } $this->destroyConnection(); }
public function saveCalendar(ICalendar $calendar) { try { try { $this->getProvider()->retrieveCalendarById($calendar->getId()); } catch (EyeCalendarNotFoundException $e) { $this->getProvider()->createCalendar($calendar); self::$Logger->info('Calendar created: ' . $calendar); return; } $this->getProvider()->updateCalendar($calendar); self::$Logger->info('Calendar updated: ' . $calendar); } catch (Exception $e) { throw new EyeCalendarException('An error occured while saving calendar with ID ' . $calendar->getId() . ' (' . $calendar->getName() . ').', 0, $e); } }