2021-11-02 08:46:40 -04:00
|
|
|
<?php
|
|
|
|
namespace PonePaste\Models;
|
|
|
|
|
|
|
|
use Illuminate\Database\Eloquent\Model;
|
|
|
|
|
|
|
|
class AdminLog extends Model {
|
|
|
|
public const ACTION_LOGIN = 0;
|
|
|
|
public const ACTION_FAIL_LOGIN = 1;
|
|
|
|
public const ACTION_EDIT_CONFIG = 2;
|
2023-07-05 03:22:09 -04:00
|
|
|
public const ACTION_HIDE_PASTE = 3;
|
|
|
|
public const ACTION_BLANK_PASTE = 4;
|
2023-05-12 02:06:31 -04:00
|
|
|
|
|
|
|
public const ACTION_NAMES = [
|
|
|
|
'Login',
|
|
|
|
'Failed Login',
|
2023-07-05 03:22:09 -04:00
|
|
|
'Edit Config',
|
|
|
|
'Hide Paste',
|
|
|
|
'Blank Paste'
|
2023-05-12 02:06:31 -04:00
|
|
|
];
|
|
|
|
|
2021-11-02 08:46:40 -04:00
|
|
|
protected $table = 'admin_logs';
|
2023-07-05 03:22:09 -04:00
|
|
|
protected $fillable = ['user_id', 'action', 'ip', 'time', 'message'];
|
2021-11-02 19:09:46 -04:00
|
|
|
|
|
|
|
public $timestamps = false;
|
|
|
|
|
|
|
|
public function user() {
|
|
|
|
return $this->belongsto(User::class);
|
|
|
|
}
|
2023-07-11 03:19:58 -04:00
|
|
|
|
|
|
|
public static function updateAdminHistory(User $admin, int $action, string $message = null) : void {
|
|
|
|
$log = new AdminLog([
|
|
|
|
'user_id' => $admin->id,
|
|
|
|
'action' => $action,
|
|
|
|
'ip' => $_SERVER['REMOTE_ADDR'],
|
|
|
|
'message' => $message
|
|
|
|
]);
|
|
|
|
|
|
|
|
$log->save();
|
|
|
|
}
|
2021-11-02 08:46:40 -04:00
|
|
|
}
|