Application->ConfigValue('UseChangeLog')) { // don't use session log when change log is disabled return ; } $object =& $this->Application->recallObject($event->Prefix, null, Array ('skip_autoload' => 1)); /* @var $object kDBItem */ $fields_hash = Array ( 'SessionStart' => adodb_mktime(), 'IP' => $_SERVER['REMOTE_ADDR'], 'PortalUserId' => $this->Application->RecallVar('user_id'), 'SessionId' => $this->Application->GetSID(), 'Status' => 0, ); $object->SetDBFieldsFromHash($fields_hash); $object->UpdateFormattersSubFields(); if ($object->Create()) { $this->Application->StoreVar('_SessionLogId_', $object->GetID()); } } /** * Closes log for current session * * @param kEvent $event */ function OnEndSession(&$event) { $object =& $this->Application->recallObject($event->Prefix, null, Array ('skip_autoload' => 1)); /* @var $object kDBItem */ $object->Load($this->Application->RecallVar('_SessionLogId_')); if (!$object->isLoaded()) { return ; } $fields_hash = Array ( 'SessionEnd' => adodb_mktime(), 'Status' => 1, ); $object->SetDBFieldsFromHash($fields_hash); $object->UpdateFormattersSubFields(); $object->Update(); } }