• Модуль: socialnetwork
  • Путь к файлу: ~/bitrix/modules/socialnetwork/lib/controller/user/stresslevel.php
  • Класс: BitrixSocialnetworkControllerUserStressLevel
  • Вызов: StressLevel::getAction
public function getAction(array $fields = [])
{
	$result = [];

	$userId = (int)($fields['userId'] ?? $this->getCurrentUser()->getId());

	if ($userId <= 0)
	{
		$this->addError(new Error(Loc::getMessage('SONET_CONTROLLER_USER_STRESSLEVEL_GET_NOUSER_ID'), 'SONET_CONTROLLER_USER_STRESSLEVEL_GET_NOUSER_ID'));
		return null;
	}

	if (
		$this->getAccess([
			'userId' => $userId
		]) !== 'Y'
		&& $userId !== (int)$this->getCurrentUser()->getId()
	)
	{
		return $result;
	}

	$data = BitrixSocialnetworkItemUserWelltory::getHistoricData([
		'userId' => $userId,
		'limit' => 1
	]);
	if (!empty($data))
	{
		$result = $data[0];
	}

	$parameters = $this->getUnsignedParameters();

	if (
		!empty($parameters)
		&& !empty($parameters['PATH_TO_USER_STRESSLEVEL'])
	)
	{
		$url = CComponentEngine::makePathFromTemplate($parameters["PATH_TO_USER_STRESSLEVEL"], array("user_id" => $userId));

		$uri =  new BitrixMainWebUri($url);
		$uri->addParams([
			'page' => 'result'
		]);

		$result['url'] = [
			'check' => $url,
			'result' => $uri->getUri()
		];
	}

	return $result;
}