This question has been answered by multiple community members. See the first response.
$postLoginAttributes = array(
'user' => $user,
'attributes' => array(
'rememberme' => $rememberme,
'lifetime' => $lifetime,
'loginContext' => $loginContext,
'addContexts' => $addContexts,
)
);<?php
if ($user instanceof modUser) {
$userId = $user->get('id');
}
$ml = $modx->newObject('modManagerLog');
$ml->set('user', (integer) $userId);
$ml->set('occurred', strftime('%Y-%m-%d %H:%M:%S'));
$ml->set('action', 'login');
if (!$ml->save()) {
$modx->log(modX::LOG_LEVEL_ERROR, $this->lexicon('manager_log_err_save'));
return null;
}<?php
switch ($modx->event->name) {
case 'OnManagerLogin':
if ($user instanceof modUser) {
$userId = $user->get('id');
}
$ml = $modx->newObject('modManagerLog');
$ml->set('user', (integer) $userId);
$ml->set('occurred', strftime('%Y-%m-%d %H:%M:%S'));
$ml->set('action', 'login');
if (!$ml->save()) {
$modx->log(modX::LOG_LEVEL_ERROR, $this->lexicon('manager_log_err_save'));
return null;
}
break;
case 'OnManagerLogout':
if ($user instanceof modUser) {
$userId = $user->get('id');
}
$ml = $modx->newObject('modManagerLog');
$ml->set('user', (integer) $userId);
$ml->set('occurred', strftime('%Y-%m-%d %H:%M:%S'));
$ml->set('action', 'logout');
if (!$ml->save()) {
$modx->log(modX::LOG_LEVEL_ERROR, $this->lexicon('manager_log_err_save'));
return null;
}
break;
}
$modx->logManagerAction('login','modUser',$user->get('id'));switch ($modx->event->name) {
case 'OnManagerLogin':
$modx->logManagerAction('login','modUser',$user->get('id'));
break;
case 'OnManagerLogout':
$modx->logManagerAction('logout','modUser',$user->get('id'));
break;
}