• Модуль: 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;
}