diff options
Diffstat (limited to 'vendor/sabre/vobject/lib/Splitter/ICalendar.php')
-rw-r--r-- | vendor/sabre/vobject/lib/Splitter/ICalendar.php | 35 |
1 files changed, 21 insertions, 14 deletions
diff --git a/vendor/sabre/vobject/lib/Splitter/ICalendar.php b/vendor/sabre/vobject/lib/Splitter/ICalendar.php index d42566194..c0007ba01 100644 --- a/vendor/sabre/vobject/lib/Splitter/ICalendar.php +++ b/vendor/sabre/vobject/lib/Splitter/ICalendar.php @@ -19,8 +19,8 @@ use Sabre\VObject\Component\VCalendar; * @author Armin Hackmann * @license http://sabre.io/license/ Modified BSD License */ -class ICalendar implements SplitterInterface -{ +class ICalendar implements SplitterInterface { + /** * Timezones. * @@ -38,13 +38,13 @@ class ICalendar implements SplitterInterface /** * Constructor. * - * The splitter should receive an readable file stream as its input. + * The splitter should receive an readable file stream as it's input. * * @param resource $input - * @param int $options parser options, see the OPTIONS constants + * @param int $options Parser options, see the OPTIONS constants. */ - public function __construct($input, $options = 0) - { + function __construct($input, $options = 0) { + $data = VObject\Reader::read($input, $options); if (!$data instanceof VObject\Component\VCalendar) { @@ -57,16 +57,16 @@ class ICalendar implements SplitterInterface } // Get all timezones - if ('VTIMEZONE' === $component->name) { - $this->vtimezones[(string) $component->TZID] = $component; + if ($component->name === 'VTIMEZONE') { + $this->vtimezones[(string)$component->TZID] = $component; continue; } // Get component UID for recurring Events search if (!$component->UID) { - $component->UID = sha1(microtime()).'-vobjectimport'; + $component->UID = sha1(microtime()) . '-vobjectimport'; } - $uid = (string) $component->UID; + $uid = (string)$component->UID; // Take care of recurring events if (!array_key_exists($uid, $this->objects)) { @@ -75,6 +75,7 @@ class ICalendar implements SplitterInterface $this->objects[$uid]->add(clone $component); } + } /** @@ -83,14 +84,15 @@ class ICalendar implements SplitterInterface * * When the end is reached, null will be returned. * - * @return \Sabre\VObject\Component|null + * @return Sabre\VObject\Component|null */ - public function getNext() - { + function getNext() { + if ($object = array_shift($this->objects)) { + // create our baseobject $object->version = '2.0'; - $object->prodid = '-//Sabre//Sabre VObject '.VObject\Version::VERSION.'//EN'; + $object->prodid = '-//Sabre//Sabre VObject ' . VObject\Version::VERSION . '//EN'; $object->calscale = 'GREGORIAN'; // add vtimezone information to obj (if we have it) @@ -99,8 +101,13 @@ class ICalendar implements SplitterInterface } return $object; + } else { + return; + } + } + } |