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);
 }