diff options
author | redmatrix <git@macgirvin.com> | 2016-05-10 17:26:44 -0700 |
---|---|---|
committer | redmatrix <git@macgirvin.com> | 2016-05-10 17:26:44 -0700 |
commit | 0b02a6d123b2014705998c94ddf3d460948d3eac (patch) | |
tree | 78ff2cab9944a4f5ab3f80ec93cbe1120de90bb2 /vendor/sabre/vobject/lib/Sabre/VObject/Splitter/ICalendar.php | |
parent | 40b5b6e9d2da7ab65c8b4d38cdceac83a4d78deb (diff) | |
download | volse-hubzilla-0b02a6d123b2014705998c94ddf3d460948d3eac.tar.gz volse-hubzilla-0b02a6d123b2014705998c94ddf3d460948d3eac.tar.bz2 volse-hubzilla-0b02a6d123b2014705998c94ddf3d460948d3eac.zip |
initial sabre upgrade (needs lots of work - to wit: authentication, redo the browser interface, and rework event export/import)
Diffstat (limited to 'vendor/sabre/vobject/lib/Sabre/VObject/Splitter/ICalendar.php')
-rw-r--r-- | vendor/sabre/vobject/lib/Sabre/VObject/Splitter/ICalendar.php | 111 |
1 files changed, 0 insertions, 111 deletions
diff --git a/vendor/sabre/vobject/lib/Sabre/VObject/Splitter/ICalendar.php b/vendor/sabre/vobject/lib/Sabre/VObject/Splitter/ICalendar.php deleted file mode 100644 index 657cfb810..000000000 --- a/vendor/sabre/vobject/lib/Sabre/VObject/Splitter/ICalendar.php +++ /dev/null @@ -1,111 +0,0 @@ -<?php - -namespace Sabre\VObject\Splitter; - -use Sabre\VObject; - -/** - * Splitter - * - * This class is responsible for splitting up iCalendar objects. - * - * This class expects a single VCALENDAR object with one or more - * calendar-objects inside. Objects with identical UID's will be combined into - * a single object. - * - * @copyright Copyright (C) 2007-2013 fruux GmbH (https://fruux.com/). - * @author Dominik Tobschall - * @author Armin Hackmann - * @license http://code.google.com/p/sabredav/wiki/License Modified BSD License - */ -class ICalendar implements SplitterInterface { - - /** - * Timezones - * - * @var array - */ - protected $vtimezones = array(); - - /** - * iCalendar objects - * - * @var array - */ - protected $objects = array(); - - /** - * Constructor - * - * The splitter should receive an readable file stream as it's input. - * - * @param resource $input - */ - public function __construct($input) { - - $data = VObject\Reader::read(stream_get_contents($input)); - $vtimezones = array(); - $components = array(); - - foreach($data->children as $component) { - if (!$component instanceof VObject\Component) { - continue; - } - - // Get all timezones - if ($component->name === 'VTIMEZONE') { - $this->vtimezones[(string)$component->TZID] = $component; - continue; - } - - // Get component UID for recurring Events search - if($component->UID) { - $uid = (string)$component->UID; - } else { - // Generating a random UID - $uid = sha1(microtime()) . '-vobjectimport'; - } - - // Take care of recurring events - if (!array_key_exists($uid, $this->objects)) { - $this->objects[$uid] = VObject\Component::create('VCALENDAR'); - } - - $this->objects[$uid]->add(clone $component); - } - - } - - /** - * Every time getNext() is called, a new object will be parsed, until we - * hit the end of the stream. - * - * When the end is reached, null will be returned. - * - * @return Sabre\VObject\Component|null - */ - public 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->calscale = 'GREGORIAN'; - - // add vtimezone information to obj (if we have it) - foreach ($this->vtimezones as $vtimezone) { - $object->add($vtimezone); - } - - return $object; - - } else { - - return null; - - } - - } - -} |