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

	$value = (
		isset($fields['value'])
		&& $fields['value'] === 'Y'
			? 'Y'
			: 'N'
	);

	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->isCurrentUserAdmin()
		&& $userId !== (int)$this->getCurrentUser()->getId()
	)
	{
		$this->addError(new Error(Loc::getMessage('SONET_CONTROLLER_USER_STRESSLEVEL_NO_PERMISSIONS'), 'SONET_CONTROLLER_USER_STRESSLEVEL_NO_PERMISSIONS'));
		return null;
	}

	return [
		'value' => $this->setAccess([
			'userId' => $userId,
			'value' => $value
		])
	];
}