- Модуль: calendar
- Путь к файлу: ~/bitrix/modules/calendar/lib/ical/mailinvitation/incominginvitationreplyhandler.php
- Класс: BitrixCalendarICalMailInvitationIncomingInvitationReplyHandler
- Вызов: IncomingInvitationReplyHandler::handleFromRequest
static function handleFromRequest(Event $event): bool
{
$attachments = $event->getParameter('attachments');
if (is_array($attachments))
{
foreach($attachments as $file)
{
if (in_array($file['type'], self::CONTENT_TYPES, true))
{
try
{
$fileObject = new File($file['tmp_name'], $event->getParameter('site_id'));
$fileContent = Encoding::convertEncoding($fileObject->getContents(), SenderInvitation::CHARSET, SITE_CHARSET);
}
catch (FileNotFoundException $e)
{
AddMessage2Log('File ics not found', 'calendar', 2);
die();
}
$icalComponent = InboxManager::createInstance($fileContent)
->parseContent()
->getComponent();
if ($icalComponent->getMethod() === Dictionary::METHOD['reply'])
{
return self::fromComponent($icalComponent)
->handle()
->isSuccess();
}
}
}
}
return false;
}