Server IP : 85.193.89.191 / Your IP : 18.226.177.12 Web Server : Apache System : Linux 956367-cx40159.tmweb.ru 3.10.0-1160.105.1.el7.x86_64 #1 SMP Thu Dec 7 15:39:45 UTC 2023 x86_64 User : bitrix ( 600) PHP Version : 8.1.27 Disable Function : NONE MySQL : OFF | cURL : OFF | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /home/bitrix/www/bitrix/modules/calendar/lib/ical/parser/ |
Upload File : |
<?php namespace Bitrix\Calendar\ICal\Parser; class ParserManager { /** * @var array */ private $data; /** * @var array */ private $timezones; /** * @var array */ private $events = []; /** * @var array */ private $components = []; /** * @var string */ private $method = ''; public static function getInstance(string $data): ParserManager { return new self($data); } public function __construct(string $data = '') { $this->data = $data; } public function parseData(): ParserManager { try { $parser = Parser::getInstance($this->data); $this->components = $parser->handleData()->getComponents(); } catch(\Exception $e) { } return $this; } public function handleComponents(): ParserManager { $components = $this->components; foreach ($components as $component) { if ($component instanceof Calendar) { $this->events = $component->handleEvents()->getEvents(); $this->method = $component->getMethod(); } elseif ($component instanceof Event) { $this->events[] = $component->getContent(); } } return $this; } public function getComponents(): array { return $this->components; } public function getEvents() { return $this->events; } public function getProcessedEvents() { return $this->parseData() ->handleComponents() ->getEvents(); } public function getMethod() { return $this->method; } }