get_filters_from_request(); $page = isset($_GET['paged']) ? max(1, absint($_GET['paged'])) : 1; $per_page = (int) ($settings['rows_per_page'] ?? 20); $logs = $this->get_logs($filters, $page, $per_page); $total = $this->get_logs_count($filters); $total_pages = $per_page > 0 ? (int) ceil($total / $per_page) : 1; $event_labels = $this->get_event_labels(); $users = $this->get_recent_users_for_filter(); $filter_args = [ 'page' => 'king-addons-activity-log', 'view' => 'logs', ]; if (!empty($filters['search'])) { $filter_args['s'] = sanitize_text_field(wp_unslash($_GET['s'] ?? '')); } if (!empty($filters['event_key'])) { $filter_args['event_key'] = sanitize_text_field(wp_unslash($_GET['event_key'] ?? '')); } if (!empty($filters['severity'])) { $filter_args['severity'] = sanitize_text_field(wp_unslash($_GET['severity'] ?? '')); } if (!empty($filters['user_id'])) { $filter_args['user_id'] = absint($_GET['user_id'] ?? 0); } if (!empty($_GET['date_from'])) { $filter_args['date_from'] = sanitize_text_field(wp_unslash($_GET['date_from'])); } if (!empty($_GET['date_to'])) { $filter_args['date_to'] = sanitize_text_field(wp_unslash($_GET['date_to'])); } if (!empty($_GET['ip']) && $is_pro) { $filter_args['ip'] = sanitize_text_field(wp_unslash($_GET['ip'])); } $reset_url = add_query_arg([ 'page' => 'king-addons-activity-log', 'view' => 'logs', ], admin_url('admin.php')); $export_args = array_merge($filter_args, [ 'action' => 'kng_activity_log_export', ]); $export_url = wp_nonce_url(add_query_arg($export_args, admin_url('admin-post.php')), 'kng_activity_log_export'); $date_from_value = isset($_GET['date_from']) ? sanitize_text_field(wp_unslash($_GET['date_from'])) : ''; $date_to_value = isset($_GET['date_to']) ? sanitize_text_field(wp_unslash($_GET['date_to'])) : ''; ?>