コード例 #1
0
ファイル: VEventTest.php プロジェクト: mat33470/PFA
 public function testParsingOfStartTimeAndEndTimeOverDaylightChange()
 {
     $timezone2['tzid'] = 'Europe/Copenhagen';
     $timezone2['daylight'] = array('tzoffsetfrom' => '+0100', 'tzoffsetto' => '+0200', 'tzname' => 'CEST', 'dtstart' => '19700329T020000', 'rrule' => 'FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU');
     $timezone2['standard'] = array('tzoffsetfrom' => '+0200', 'tzoffsetto' => '+0100', 'tzname' => 'CET', 'dtstart' => '19701025T030000', 'rrule' => 'FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU');
     $ical = new SG_iCal();
     $ical->addTimeZone(new SG_iCal_VTimeZone($timezone2));
     $data['uid'] = new SG_iCal_Line('uid');
     $data['dtstart'] = new SG_iCal_Line('DTSTART;TZID=Europe/Copenhagen:20091023T2100');
     $data['dtend'] = new SG_iCal_Line('DTEND;TZID=Europe/Copenhagen:20091030T140000');
     date_default_timezone_set('America/New_York');
     $event = new SG_iCal_VEvent($data, $ical);
     $this->assertEquals(strtotime('20091023T150000'), $event->getStart());
     $this->assertEquals(strtotime('20091030T090000'), $event->getEnd());
 }
コード例 #2
0
ファイル: ADEService.php プロジェクト: livet01/corrigeaton
 public function parseEvent(\SG_iCal_VEvent $event)
 {
     $test = new Test();
     $test->setName($event->getSummary());
     $date = new \DateTime();
     $date->setTimestamp($event->getStart());
     $test->setDate($date);
     $test->setNumReminder(0);
     $test->setId($event->getUID());
     $test->setFinishToken((string) rand());
     // Check validity of event
     $description = $event->getDescription();
     $res = explode("\n", $description);
     $teachNameAndInitial = $this->clearParticule($res[count($res) - 2]);
     if (!$this->isTeacher($teachNameAndInitial)) {
         throw new BadEventException($test, "Bad event : " . $event->getSummary());
     }
     $test->setTeacher($this->findTeacher($this->getSurname($teachNameAndInitial), $this->getInital($teachNameAndInitial)));
     return $test;
 }