- Модуль: intranet
- Путь к файлу: ~/bitrix/modules/intranet/lib/controller/controlbutton.php
- Класс: BitrixIntranetControllerControlButton
- Вызов: ControlButton::getPostLinkAction
public function getPostLinkAction($entityType, $entityId, $entityData = []): array
{
global $USER;
$result = [
'link' => '',
'destTo' => [],
'title' => '',
];
if (!$entityType || !$entityId)
{
return $result;
}
$result['link'] = SITE_DIR . 'company/personal/user/' . $USER->GetID() . '/blog/edit/post/0/';
$data = false;
if ($entityType === 'calendar_event')
{
$data = $this->getCalendarData($entityId, $entityData);
$result['message'] = Loc::getMessage('INTRANET_CONTROL_BUTTON_POST_MESSAGE_CALENDAR', [
'#LINK#' => $data['LINK'],
]);
}
elseif ($entityType === 'task')
{
$data = $this->getTaskData($entityId);
$result['message'] = Loc::getMessage('INTRANET_CONTROL_BUTTON_POST_MESSAGE_TASK', [
'#LINK#' => $data['LINK'],
]);
}
if (is_array($data))
{
foreach ($data['USER_IDS'] as $userId)
{
$result['destTo'][] = 'U' . (int)$userId;
}
$result['title'] = $data['TITLE'];
if (isset($data['GROUP_ID']) && (int)$data['GROUP_ID'] > 0)
{
$result['destTo'][] = 'SG' . (int)$data['GROUP_ID'];
}
}
return $result;
}