protected function getContents($id, Google_Service_Calendar $calendar) { $endYear = date('Y', strtotime('+1 month')); $endMonth = date('m', strtotime('+1 month')); $endDay = opCalendarPluginToolkit::getLastDay($endMonth, $endYear); return $calendar->events->listEvents($id, array('timeMin' => date('c', strtotime(sprintf('%s-01 00:00:00', date('Y-m', strtotime('-1 month'))))), 'timeMax' => date('c', strtotime(sprintf('%04d-%02d-%02d 23:59:59', $endYear, $endMonth, $endDay))), 'showDeleted' => true)); }
protected function getContents($src, $token) { // get 3 months data. $api = new opCalendarApi($this->consumer, new OAuthConsumer($token['token'], $token['secret']), opCalendarApiHandler::GET, $src, array('start-min' => date('Y-m-01\\T00:00:00', strtotime('-1 month')), 'start-max' => sprintf(date('Y-m-%02\\d\\T23:59:59', strtotime('+1 month')), opCalendarPluginToolkit::getLastDay(date('m', strtotime('+1 month')))), 'alt' => 'jsonc')); $handler = new opCalendarApiHandler($api, new opCalendarApiResultsJsonEvents()); $results = $handler->execute(); return $results->is200StatusCode() ? $results : false; }
public function save() { $values = $this->getValues(); $list = $this->getOption('list'); $opGoogleCalendarOAuth = $this->getOption('opGoogleCalendarOAuth'); $entry = $list[$values['choice']]; $result = $opGoogleCalendarOAuth->getContents(str_replace(opGoogleCalendarOAuth::SCOPE, '', $entry['contents']['src']), 'opCalendarApiResultsJsonEvents', opCalendarApiHandler::GET, array('start-min' => sprintf('%04d-%02d-01T00:00:00', date('Y'), $values['months']), 'start-max' => sprintf('%04d-%02d-%02dT23:59:59', date('Y'), $values['months'], opCalendarPluginToolkit::getLastDay($values['months'])), 'alt' => 'jsonc')); if (!$result) { return false; } opCalendarPluginToolkit::updateGoogleCalendarCronFlags($entry['contents']['src'], $values['google_cron_update'][0], $values['public_flag'], $this->member); return opCalendarPluginToolkit::insertSchedules($result->toArray(), $values['public_flag'], true); }
public function save() { $values = $this->getValues(); $id = $this->getOption('id'); $googleCronUpdate = isset($values['google_cron_update']) && (bool) $values['google_cron_update']; $publicFlag = $values['public_flag']; $calendar = $this->getOption('googleCalendar'); $lastDay = opCalendarPluginToolkit::getLastDay($values['months']); $yearMonth = sprintf('%04d-%02d', date('Y'), $values['months']); $events = $calendar->events->listEvents($id, array('timeMin' => date('c', strtotime(sprintf('%s-01 00:00:00', $yearMonth))), 'timeMax' => date('c', strtotime(sprintf('%s-%02d 23:59:59', $yearMonth, $lastDay))), 'showDeleted' => true)); if (!$events) { return false; } opCalendarPluginToolkit::updateGoogleCalendarCronFlags($googleCronUpdate, $publicFlag, $this->member); return opCalendarPluginToolkit::insertSchedules($events, $publicFlag); }