у меня работает такой код (для авторизованных юзеров):
1. Создаем у юзера пользовательское св-во UF_PRE_LAST_LOGIN (тип "Строка", не забыть поставить "птицу" Не разрешать редактирование пользователем)
2. В init.php дописываем:
Код |
---|
AddEventHandler("main", "OnAfterUserLogin", Array("CUserEvt", "OnAfterUserLoginHandler"));
AddEventHandler("main", "OnBeforeUserLogin", Array("CUserEvt", "OnBeforeUserLoginHandler"));
class CUserEvt
{
function OnBeforeUserLoginHandler(&$arFields)
{
$rsUser = CUser::GetByLogin($arFields["LOGIN"]);
if ($arUser = $rsUser->Fetch())
{
global $var_UF_PRE_LAST_LOGIN;
$var_UF_PRE_LAST_LOGIN = $arUser["LAST_LOGIN"];
}
} // function
function OnAfterUserLoginHandler(&$arFields)
{
if ($arFields["USER_ID"] >0 ) {
$rsUser = CUser::GetByID($arFields["USER_ID"]);
if ($arUser = $rsUser->Fetch())
{
$objUser = new CUser();
global $var_UF_PRE_LAST_LOGIN;
$ar["UF_PRE_LAST_LOGIN"] = $var_UF_PRE_LAST_LOGIN;
$objUser->Update($arFields["USER_ID"],$ar);
}
}
} // function
} //class
|