Решено,
Вот что вышло:
Вот что вышло:
| Код |
|---|
//---------------- Контроль сессии одного пользователя часть 1/2--------------- //
AddEventHandler("main", "OnAfterUserLogin", Array("MyClass", "OnAfterUserLoginHandler"));
class MyClass
{
// создаем обработчик события "OnAfterUserLogin"
function OnAfterUserLoginHandler(&$fields)
{
// если логин успешен то
if($fields['USER_ID']>=0){
// записать в сессию код для сверки
global $USER;
$control_time=time();
$USER->SetParam("TIME", $control_time);
// записать в произвольное поля пользователя код для сверки
$oUser = new CUser;
$aFields = array('UF_CONTROL_TIME' => $control_time);
$oUser->Update($fields['USER_ID'], $aFields);
}
}
}
//----------------Конец Контроль сессии одного пользователя часть 1/2 --------------- //
/* - перенесено в function.php (из-за ошибки Call to a member function IsAuthorized() on a non-object ...)
//----------------Конец Контроль сессии одного пользователя часть 2/2 --------------- //
global $USER;
if ($USER->IsAuthorized()){
$control1=$USER->GetParam("TIME");
$rsUser = CUser::GetByID($USER->GetID());
$arUser = $rsUser->Fetch();
$control2 = $arUser['UF_CONTROL_TIME'];
if ($control1!=$control2){$USER->Logout();}
}
//----------------Конец Контроль сессии одного пользователя часть 2/2 --------------- //
*/ |
