security->get_csrf_token_name();$csrfHash=$this->security->get_csrf_hash(); $initial=strtoupper(substr(trim((string)($user->nama?:$user->username)),0,1)); $activeSessions=array_values(array_filter($sessions,function($row){return$row->status==='active';})); $historySessions=array_values(array_filter($sessions,function($row){return$row->status!=='active';})); $resultLabels=array('success'=>'Login berhasil','invalid_credentials'=>'Kredensial salah','device_limit'=>'Ditolak: batas perangkat'); $resultClasses=array('success'=>'success','invalid_credentials'=>'danger','device_limit'=>'warning'); $statusLabels=array('active'=>'Aktif','logged_out'=>'Logout','expired'=>'Kedaluwarsa','revoked'=>'Diakhiri'); $statusClasses=array('active'=>'success','logged_out'=>'secondary','expired'=>'warning','revoked'=>'danger'); function profileDateTime($value){return$value?date('d/m/Y H:i',strtotime($value)):'-';} ?>
@=html_escape($user->username)?> • =html_escape($user->email?:'Email belum diatur')?>
Identitas yang tampil di dalam aplikasi.
Batas waktu tetap dihitung sejak login pertama.
Perangkat lain otomatis dikeluarkan setelah password diubah.
Session aktif menggunakan satu slot perangkat sampai logout, diakhiri, atau mencapai batas waktunya.
Termasuk login berhasil, kredensial salah, dan permintaan yang ditolak karena batas perangkat.
| Waktu | Perangkat | Alamat IP | Hasil | Keterangan |
|---|---|---|---|---|
| =profileDateTime($attempt->attempted_at)?> | =html_escape($attempt->browser)?>=html_escape($attempt->device_type)?> • =html_escape($attempt->platform)?> | =html_escape($attempt->ip_address?:'-')?> | =html_escape($resultLabels[$attempt->result]??$attempt->result)?> | =html_escape($attempt->reason?:'-')?>result==='device_limit'):?>=$attempt->active_session_count?> dari =$attempt->device_limit?> slot sedang aktif |
| Belum ada aktivitas login yang tercatat. | ||||
Session yang telah logout, kedaluwarsa, atau diakhiri.
| Perangkat | Login | Terakhir Aktif | Status | Alasan |
|---|---|---|---|---|
| =html_escape($session->browser.' di '.$session->platform)?>=html_escape($session->device_type)?> • =html_escape($session->ip_address?:'-')?> | =profileDateTime($session->login_at)?> | =profileDateTime($session->last_seen_at)?> | =html_escape($statusLabels[$session->status]??$session->status)?> | =html_escape($session->end_reason?:'-')?> |