Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/bitrix/ext_www/rospirotorg.ru/bitrix/modules/landing/lib/note/source/ |
Upload File : |
<?php namespace Bitrix\Landing\Note\Source; use \Bitrix\Forum\MessageTable; use \Bitrix\Socialnetwork\Livefeed as SonetLivefeed; class LiveFeed extends Entity { /** * Returns prepared data for landing by entity ('live feed' comment) id. * @param int $sourceId Source id. * @return array|null */ public static function getData(int $sourceId): ?array { if ( \Bitrix\Main\Loader::includeModule('socialnetwork') && \Bitrix\Main\Loader::includeModule('forum') ) { $provider = SonetLivefeed\Provider::init([ 'ENTITY_TYPE' => 'FORUM_POST', 'ENTITY_ID' => $sourceId, 'CLONE_DISK_OBJECTS' => false ]); if (!$provider || !$provider->getSourceTitle()) { return null; } $res = MessageTable::getList([ 'select' => [ 'POST_MESSAGE', 'TOPIC_TITLE' => 'TOPIC.TITLE' ], 'filter' => [ 'ID' => $sourceId, '=APPROVED' => 'Y' ], 'limit' => 1 ]); if ($comment = $res->fetch()) { $title = $provider->getSourceTitle(); $title = preg_replace('/\[[^\]]+\]/is', '', $title); $params = []; $blocks = [[ 'type' => 'header', 'content' => $title ]]; if (\Bitrix\Main\Loader::includeModule('disk')) { $params = [ 'files' => self::getDiskFiles( $sourceId, \Bitrix\Disk\Uf\ForumMessageConnector::class, 'forum' ) ]; } $blocks = array_merge( $blocks, Parser::textToBlocks($comment['POST_MESSAGE'], $params) ); return [ 'TITLE' => \truncateText($title, self::TITLE_LENGTH), 'BLOCKS' => $blocks ]; } } return null; } }