= ?"; $params[] = time() - ((int)$days * 86400); } if ($target !== '') { $where[] = "`target` = ?"; $params[] = $target; } elseif ($q !== '') { $like = '%' . $q . '%'; $where[] = "(`target` LIKE ? OR `admin_name` LIKE ? OR `action` LIKE ? OR `details` LIKE ?)"; $params[] = $like; $params[] = $like; $params[] = $like; $params[] = $like; } if ($action !== '') { $where[] = "`action` = ?"; $params[] = $action; } } $whereSql = $where ? ('WHERE ' . implode(' AND ', $where)) : ''; $total = $hasTable ? acp_count("SELECT COUNT(*) AS `c` FROM `znote_admin_log` {$whereSql};", $params) : 0; $totalPages = max(1, (int)ceil($total / $perPage)); $page = min($page, $totalPages); $offset = ($page - 1) * $perPage; $rows = array(); if ($hasTable) { $rows = db()->fetchAll(" SELECT `id`, `admin_id`, `admin_name`, `action`, `target`, `details`, `ip`, `created` FROM `znote_admin_log` {$whereSql} ORDER BY `id` DESC LIMIT {$offset}, {$perPage}; ", $params); $rows = is_array($rows) ? $rows : array(); } $actionOptions = array(); if ($hasTable) { $actionRows = db()->fetchAll("SELECT DISTINCT `action` FROM `znote_admin_log` ORDER BY `action` ASC;"); if (is_array($actionRows)) { foreach ($actionRows as $row) { $actionOptions[] = (string)$row['action']; } } } $eventsToday = $hasTable ? acp_count("SELECT COUNT(*) AS `c` FROM `znote_admin_log` WHERE `created` >= ?;", [time() - 86400]) : 0; $eventsAll = $hasTable ? acp_count("SELECT COUNT(*) AS `c` FROM `znote_admin_log`;") : 0; $adminsActive = $hasTable ? acp_count("SELECT COUNT(DISTINCT `admin_id`) AS `c` FROM `znote_admin_log` WHERE `created` >= ?;", [time() - 30 * 86400]) : 0; function acp_log_query(array $overrides = array()): array { global $q, $action, $days; return array_filter(array_merge( array('q' => $q, 'action' => $action, 'days' => $days === 'all' ? null : $days), $overrides ), static fn($v) => $v !== null && $v !== ''); } ?>
'znote_admin_log', 'file' => 'SQL/migrations/2.0.0_admin_log.sql', ]) ?>

0): ?> ' . h((string)$row['target']) . '' : '—' ?> $v) { if (is_array($v)) { $v = implode(', ', array_map('strval', $v)); } $pairs[] = '' . h((string)$k) . ': ' . h((string)$v); } echo implode('
', $pairs); ?> —
1): ?>
$page, 'total' => $totalPages, 'n' => number_format($total)]) ?>
1): ?>