При регистрации пользователя, используется шаблон MY_NEW_USER и обработчик для него:
[CODE]//USER REGISTER
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;
}
[/CODE]При добавлении пользователя через админку (галка "Оповестить" не ставится) используется USER_ADD и обработчик для него:
[CODE]
// USER ADD
AddEventHandler("main", "OnAfterUserAdd", Array("AddUser", "OnAfterUserAddHandler"));
class AddUser
{
//создаем обработчик события "OnAfterUserAdd"
function OnAfterUserAddHandler(&$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"];
$arrSITE = Array("s1");
CEvent::Send ("USER_ADD", $arrSITE, $toSend);
}
return $arFields;
}
}[/CODE]
И вот, проблема в том, что когда пользователь регистрируется, ему приходит два письма, шаблон MY_NEW_USER и USER_ADD.
Потому что, как я понял, используется и там и там
[CODE]"main", "OnAfterUserAdd",[/CODE][B]Как можно обойти этот момент и решить проблему?[/B]