Бортовой журнал Ктулху

Bitrix: отправка пароля в письме при регистрации

Столкнулся с ситуацией когда пользователю необходимо отправить пароль при регистрации, а сейчас в Битриксе это штатными средствами реализовать нельзя.

 

1. Отключить шаблон почтового события при регистрации пользователя.

m18

2. Создать свой тип события, наприме MY_NEW_USER.

m19

3. Шаблон для этого события.

m20

4. В init.php добавить следующий код.

Два обработчика.

AddEventHandler("main", "OnAfterUserAdd", "OnAfterUserRegisterHandler");
AddEventHandler("main", "OnAfterUserRegister", "OnAfterUserRegisterHandler");

И функцию.

function OnAfterUserRegisterHandler(&$arFields)
{
if (intval($arFields["ID"])>0)
{
$toSend = Array();
$toSend["PASSWORD"] = $arFields["CONFIRM_PASSWORD"];
$toSend["EMAIL"] = $arFields["EMAIL"];
$toSend["USER_ID"] = $arFields["ID"];
$toSend["USER_IP"] = $arFields["USER_IP"];
$toSend["USER_HOST"] = $arFields["USER_HOST"];
$toSend["LOGIN"] = $arFields["LOGIN"];
$toSend["NAME"] = (trim ($arFields["NAME"]) == "")? $toSend["NAME"] = htmlspecialchars('<Не указано>'): $arFields["NAME"];
$toSend["LAST_NAME"] = (trim ($arFields["LAST_NAME"]) == "")? $toSend["LAST_NAME"] = htmlspecialchars('<Не указано>'): $arFields["LAST_NAME"];
CEvent::SendImmediate ("MY_NEW_USER", SITE_ID, $toSend);
}
return $arFields;
}

Если ничего не упустили, то все заработает сразу же.

http://dev.1c-bitrix.ru/community/webdev/user/17138/blog/1740/