- Модуль: socialnetwork
- Путь к файлу: ~/bitrix/modules/socialnetwork/lib/item/usertogroup.php
- Класс: BitrixSocialnetworkItemUserToGroup
- Вызов: UserToGroup::notifyAutoMembership
static function notifyAutoMembership($params): void
{
$userId = (int)($params['USER_ID'] ?? 0);
$groupId = (int)($params['GROUP_ID'] ?? 0);
$relationId = (int)($params['RELATION_ID'] ?? 0);
if (
$userId <= 0
|| $groupId <= 0
|| $relationId <= 0
|| !Loader::includeModule('im')
)
{
return;
}
$groupItem = Workgroup::getById($groupId);
$groupFields = $groupItem->getFields();
$groupUrlData = $groupItem->getGroupUrlData([
'USER_ID' => $userId,
]);
$messageFields = [
"MESSAGE_TYPE" => IM_MESSAGE_SYSTEM,
"NOTIFY_TYPE" => IM_NOTIFY_SYSTEM,
"FROM_USER_ID" => $groupFields["OWNER_ID"],
"TO_USER_ID" => $userId,
"NOTIFY_MODULE" => "socialnetwork",
"NOTIFY_EVENT" => "invite_group",
"NOTIFY_TAG" => "SOCNET|INVITE_GROUP|" . $userId . '|' . $relationId,
"NOTIFY_MESSAGE" => Loc::getMessage(($groupItem->isProject() ? "SOCIALNETWORK_ITEM_USERTOGROUP_AUTO_MEMBER_ADD_IM_PROJECT" : "SOCIALNETWORK_ITEM_USERTOGROUP_AUTO_MEMBER_ADD_IM"), [
"#GROUP_NAME#" => "" . htmlspecialcharsEx($groupFields["NAME"]) . '',
]
),
"NOTIFY_MESSAGE_OUT" => Loc::getMessage("SOCIALNETWORK_ITEM_USERTOGROUP_AUTO_MEMBER_ADD_IM", [
"#GROUP_NAME#" => htmlspecialcharsEx($groupFields["NAME"]),
]
) . ' (' . $groupUrlData['SERVER_NAME'] . $groupUrlData['URL'] . ')'
];
CIMNotify::deleteBySubTag('SOCNET|REQUEST_GROUP|' . $userId . '|' . $groupId . '|' . $relationId);
CIMNotify::add($messageFields);
}