- Модуль: socialnetwork
- Путь к файлу: ~/bitrix/modules/socialnetwork/lib/controller/workgroup.php
- Класс: BitrixSocialnetworkControllerWorkgroup
- Вызов: Workgroup::setSubscriptionAction
public function setSubscriptionAction(array $params = [])
{
$groupId = (int)($params['groupId'] ?? 0);
$value = (isset($params['value']) && in_array($params['value'], [ 'Y', 'N' ]) ? $params['value'] : false);
if ($groupId <= 0)
{
$this->addError(new Error(Loc::getMessage('SONET_CONTROLLER_WORKGROUP_EMPTY'), 'SONET_CONTROLLER_WORKGROUP_EMPTY'));
return null;
}
if ($value === false)
{
$this->addError(new Error('SONET_CONTROLLER_WORKGROUP_INCORRECT_VALUE', 'SONET_CONTROLLER_WORKGROUP_INCORRECT_VALUE'));
return null;
}
if (!Loader::includeModule('socialnetwork'))
{
$this->addError(new Error('SONET_CONTROLLER_MODULE_NOT_INSTALLED', 'SONET_CONTROLLER_MODULE_NOT_INSTALLED'));
return null;
}
try
{
$res = BitrixSocialnetworkItemSubscription::set([
'GROUP_ID' => $groupId,
'USER_ID' => $this->getCurrentUser()->getId(),
'VALUE' => $value,
]);
}
catch (Exception $e)
{
$this->addError(new Error($e->getMessage(), $e->getCode()));
return null;
}
return [
'RESULT' => ($res ? 'Y' : 'N'),
];
}