Esempio n. 1
0
 function testParsingJcalWithUntil()
 {
     $jcalWithUntil = '["vcalendar",[],[["vevent",[["uid",{},"text","dd1f7d29"],["organizer",{"cn":"robert"},"cal-address","mailto:robert@robert.com"],["dtstart",{"tzid":"Europe/Berlin"},"date-time","2015-10-21T12:00:00"],["dtend",{"tzid":"Europe/Berlin"},"date-time","2015-10-21T13:00:00"],["transp",{},"text","OPAQUE"],["rrule",{},"recur",{"freq":"MONTHLY","until":"2016-01-01T22:00:00Z"}]],[]]]]';
     $parser = new Parser\Json();
     $parser->setInput($jcalWithUntil);
     $vcalendar = $parser->parse();
     $eventAsArray = $vcalendar->select('VEVENT');
     $event = reset($eventAsArray);
     $rruleAsArray = $event->select('RRULE');
     $rrule = reset($rruleAsArray);
     $this->assertNotNull($rrule);
     $this->assertEquals($rrule->getValue(), 'FREQ=MONTHLY;UNTIL=20160101T220000Z');
 }
 /**
  * Parses a jCard or jCal object, and returns the top component.
  *
  * The options argument is a bitfield. Pass any of the OPTIONS constant to
  * alter the parsers' behaviour.
  *
  * You can either a string, a readable stream, or an array for it's input.
  * Specifying the array is useful if json_decode was already called on the
  * input.
  *
  * @param string|resource|array $data
  * @param int $options
  * @return Node
  */
 static function readJson($data, $options = 0)
 {
     $parser = new Parser\Json();
     $result = $parser->parse($data, $options);
     return $result;
 }