- Модуль: intranet
- Путь к файлу: ~/bitrix/modules/intranet/lib/controller/invite.php
- Класс: BitrixIntranetControllerInvite
- Вызов: Invite::reinviteAction
public function reinviteAction(array $params = [])
{
$userId = (!empty($params['userId']) ? intval($params['userId']) : 0);
if ($userId <= 0)
{
$this->addError(new Error(Loc::getMessage('INTRANET_CONTROLLER_INVITE_NO_USER_ID'), 'INTRANET_CONTROLLER_INVITE_NO_USER_ID'));
return null;
}
$res = UserTable::getList([
'filter' => [
'=ID' => $userId
],
'select' => [
'EMAIL', 'CONFIRM_CODE'
]
]);
$userFields = $res->fetch();
if (
!$userFields
|| empty($userFields['CONFIRM_CODE'])
)
{
$this->addError(new Error(Loc::getMessage('INTRANET_CONTROLLER_INVITE_USER_NOT_FOUND'), 'INTRANET_CONTROLLER_INVITE_USER_NOT_FOUND'));
return null;
}
if (empty($userFields['EMAIL']))
{
$this->addError(new Error(Loc::getMessage('INTRANET_CONTROLLER_INVITE_FAILED'), 'INTRANET_CONTROLLER_INVITE_FAILED'));
return null;
}
$extranet = (
isset($params['extranet'])
? (!empty($params['extranet']) && $params['extranet'] == 'Y')
: (
Loader::includeModule('extranet')
&& !CExtranet::isIntranetUser(SITE_ID, $userId)
)
);
if (!$extranet)
{
$result = CIntranetInviteDialog::reinviteUser(SITE_ID, $userId);
}
else
{
$result = CIntranetInviteDialog::reinviteExtranetUser(SITE_ID, $userId);
}
if (!$result)
{
$this->addError(new Error(Loc::getMessage('INTRANET_CONTROLLER_INVITE_USER_NOT_FOUND'), 'INTRANET_CONTROLLER_INVITE_USER_NOT_FOUND'));
return null;
}
return [
'result' => $result
];
}