Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
primogenial
/
wp-content-20241001222009
/
plugins
/
file-manager
/
backend
/
app
/
Http
/
Services
:
LogService.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php namespace BitApps\FM\Http\Services; use BitApps\FM\Config; use BitApps\WPDatabase\QueryBuilder; use BitApps\FM\Model\Log; use BitApps\FM\Plugin; use DateTime; use Throwable; \defined('ABSPATH') || exit(); class LogService { public function all($skip = 0, $take = 20) { $logs = []; $count = 0; try { $logs = Log::skip($skip)->take($take)->desc()->get(); $count = Log::count(); } catch (Throwable $th) { // throw $th; } return compact('count', 'logs'); } public function save($command, $details) { $log = new Log(); $log->created_at = gmdate(QueryBuilder::TIME_FORMAT); $log->user_id = Plugin::instance()->permissions()->currentUserID(); $log->command = $command; $log->details = $details; return $log->save(); } public function delete($id) { return Log::where('id', $id)->delete(); } public function deleteOlder() { $logRetention = (int) (\defined('BFM_LOG_RETENTION') && BFM_LOG_RETENTION ? BFM_LOG_RETENTION : 30); if ($logRetention > 200) { $logRetention = 200; } $currentDate = new DateTime(); $dateToDelete = date_sub($currentDate, date_interval_create_from_date_string($logRetention . ' days')); $dateToDelete = date_format($dateToDelete, QueryBuilder::TIME_FORMAT); Config::updateOption('log_deleted_at', time()); return Log::where('created_at', '<', $dateToDelete)->delete(); } }