- Модуль: socialnetwork
- Путь к файлу: ~/bitrix/modules/socialnetwork/lib/helper/servicecomment.php
- Класс: BitrixSocialnetworkHelperServiceComment
- Вызов: ServiceComment::getEntityData
static function getEntityData(array $params = [])
{
global $USER;
static $cache = [];
$result = false;
$entityType = ($params['entityType'] ?? false);
$entityId = (int)($params['entityId'] ?? 0);
if (
!$entityType
|| $entityId <= 0
)
{
return $result;
}
$cacheKey = $entityType . '_' . $entityId;
if (isset($cache[$cacheKey]))
{
return $cache[$cacheKey];
}
switch ($entityType)
{
case CommentAuxCreateEntity::ENTITY_TYPE_TASK:
if (
Loader::includeModule('tasks')
&& ($task = BitrixTasksManagerTask::get($USER->getId(), $entityId))
)
{
$result = $task['DATA'];
}
break;
case CommentAuxCreateEntity::ENTITY_TYPE_BLOG_POST:
$provider = new LivefeedBlogPost();
$provider->setOption('checkAccess', true);
$provider->setEntityId($entityId);
$provider->initSourceFields();
$post = $provider->getSourceFields();
if (!empty($post))
{
$post['URL'] = $provider->getLiveFeedUrl();
$result = $post;
}
break;
case CommentAuxCreateEntity::ENTITY_TYPE_CALENDAR_EVENT:
if (Loader::includeModule('calendar'))
{
$res = CCalendarEvent::getList(
[
'arFilter' => [
'ID' => $entityId,
],
'parseRecursion' => false,
'fetchAttendees' => false,
'checkPermissions' => true,
'setDefaultLimit' => false
]
);
if (is_array($res) && is_array($res[0]))
{
$result = $res[0];
}
}
break;
default:
}
$cache[$cacheKey] = $result;
return $result;
}