- Модуль: intranet
- Путь к файлу: ~/bitrix/modules/intranet/classes/general/handlers.php
- Класс: CIntranetEventHandlers
- Вызов: CIntranetEventHandlers::OnAfterUserAdd
static function OnAfterUserAdd($arUser)
{
static $processedIdListIblock = [];
if (
isset($arUser['ID'])
&& $arUser['ID'] > 0
&& $arUser['ACTIVE'] === 'Y'
&& empty($arUser['CONFIRM_CODE'])
&& (
!isset($arUser['EXTERNAL_AUTH_ID'])
|| !in_array($arUser['EXTERNAL_AUTH_ID'], BitrixMainUserTable::getExternalUserTypes())
)
&& !defined('INTR_SKIP_EVENT_ADD')
&& ($IBLOCK_ID = COption::GetOptionInt('intranet', 'iblock_state_history', ''))
&& !in_array($arUser['ID'], $processedIdListIblock)
)
{
static $ACCEPTED_ENUM_ID = null;
if (null == $ACCEPTED_ENUM_ID)
{
$dbRes = CIBlockPropertyEnum::GetList(
array('id' => 'asc'),
array(
'IBLOCK_ID' => $IBLOCK_ID,
'CODE' => 'STATE',
'XML_ID' => 'ACCEPTED'
)
);
if ($arRes = $dbRes->Fetch())
{
$ACCEPTED_ENUM_ID = $arRes['ID'];
}
}
$arFields = array(
'IBLOCK_ID' => $IBLOCK_ID,
'NAME' => GetMessage('INTR_HIRED').' - '.trim($arUser['LAST_NAME'].' '.$arUser['NAME']),
'ACTIVE' => 'Y',
'DATE_ACTIVE_FROM' => ConvertTimeStamp(),
'PREVIEW_TEXT' => GetMessage('INTR_HIRED'),
'PROPERTY_VALUES' => array(
'USER' => $arUser['ID'],
'DEPARTMENT' => $arUser['UF_DEPARTMENT'],
'POST' => $arUser['WORK_POSITION'] ? $arUser['WORK_POSITION'] : $arUser['PERSONAL_PROFESSION'],
'STATE' => $ACCEPTED_ENUM_ID
),
);
$obIB = new CIBlockElement();
$obIB->Add($arFields);
if (!IsModuleInstalled('bitrix24'))
{
CIntranetNotify::NewUserMessage($arUser['ID']);
}
$processedIdListIblock[] = $arUser['ID'];
}
}