• Модуль: sender
  • Путь к файлу: ~/bitrix/modules/sender/lib/stat/posting.php
  • Класс: BitrixSenderStatPosting
  • Вызов: Posting::getData
static function getData($letterId, array $parameters = array())
{
	$letter = new EntityLetter($letterId);
	$postingData = $letter->getLastPostingData();
	$postingId = $postingData['POSTING_ID'];

	if (isset($parameters['USER_NAME_FORMAT']))
	{
		$userNameFormat = $parameters['USER_NAME_FORMAT'];
	}
	else
	{
		$userNameFormat = CSite::GetNameFormat(true);
	}
	if (isset($parameters['PATH_TO_USER_PROFILE']))
	{
		$pathToUser = $parameters['PATH_TO_USER_PROFILE'];
	}
	else
	{
		$pathToUser = '/bitrix/admin/user_edit.php?ID=#id#&lang=' . LANGUAGE_ID;
	}

	$pathToUser = str_replace('#id#', intval($postingData['CREATED_BY']), $pathToUser);

	$data = array(
		'counters' => array(),
		'clickList' => array()
	);
	$data['posting']['linkParams'] = $postingData['LINK_PARAMS'];
	if ($postingData['DATE_SENT'])
	{
		$data['posting']['dateSent'] = FormatDate('x', $postingData['DATE_SENT']->getTimestamp());
	}

	$data['posting']['createdBy'] = array(
		'id' => $postingData['CREATED_BY'],
		'name' => CUser::FormatName(
			$userNameFormat,
			array(
				"TITLE" => $postingData['CREATED_BY_TITLE'],
				"NAME" => $postingData['CREATED_BY_NAME'],
				"SECOND_NAME" => $postingData['CREATED_BY_SECOND_NAME'],
				"LAST_NAME" => $postingData['CREATED_BY_LAST_NAME'],
				"LOGIN" => $postingData['CREATED_BY_LOGIN'],
			),
			true, false
		),
		'url' => $pathToUser,
	);

	if (!$postingId)
	{
		return $data;
	}

	$postingStat = Statistics::create()->filter('postingId', $postingId);
	$postingStat->setCacheTtl(0);
	$data['clickList'] = $postingStat->getClickLinks();
	$data['counters'] = array();
	$counters = $postingStat->getCounters();
	foreach ($counters as $counter)
	{
		$data['counters'][$counter['CODE']] = $counter;
	}

	return $data;
}