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();
 }
Esempio n. 3
0
 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);
     }
 }