- Модуль: socialnetwork
- Путь к файлу: ~/bitrix/modules/socialnetwork/lib/controller/usertogroup.php
- Класс: BitrixSocialnetworkControllerUserToGroup
- Вызов: UserToGroup::joinAction
public function joinAction(array $params = [])
{
$userId = (int)(isset($params['userId']) && (int)$params['userId'] > 0 ? $params['userId'] : $this->getCurrentUser()->getId());
$groupId = (int)(isset($params['groupId']) && (int)$params['groupId'] > 0 ? $params['groupId'] : 0);
if ($userId <= 0)
{
$this->addError(new Error('No User Id', 'SONET_CONTROLLER_USERTOGROUP_NO_USER_ID'));
return null;
}
if ($groupId <= 0)
{
$this->addError(new Error('No Workgroup', 'SONET_CONTROLLER_USERTOGROUP_NO_GROUP'));
return null;
}
if (!Loader::includeModule('socialnetwork'))
{
$this->addError(new Error('Cannot include Socialnetwork module', 'SONET_CONTROLLER_USERTOGROUP_NO_SOCIALNETWORK_MODULE'));
return null;
}
if (
!CSocNetUser::isCurrentUserModuleAdmin(SITE_ID, false)
&& $userId !== (int)$this->getCurrentUser()->getId()
)
{
$this->addError(new Error('No permissions', 'SONET_CONTROLLER_USERTOGROUP_NO_PERMISSIONS'));
return null;
}
try
{
$confirmationNeeded = HelperWorkgroup::join([
'groupId' => $groupId,
]);
}
catch (Exception $e)
{
$this->addError(new Error($e->getMessage(), $e->getCode()));
return null;
}
return [
'success' => true,
'confirmationNeeded' => $confirmationNeeded,
];
}