repository = new ContaiAPILogRepository(); // phpcs:ignore WordPress.Security.NonceVerification.Recommended -- Display-only filter parameter. $this->filter_type = isset( $_GET['filter'] ) ? sanitize_key( wp_unslash( $_GET['filter'] ) ) : 'all'; $this->handle_actions(); } private function handle_actions(): void { // phpcs:ignore WordPress.Security.NonceVerification.Missing -- Nonce verified below. if ( ! isset( $_POST['contai_api_logs_action'] ) ) { return; } check_admin_referer( 'contai_api_logs_action', 'contai_api_logs_nonce' ); if ( isset( $_POST['clear_all_logs'] ) ) { $this->repository->deleteAll(); add_action( 'admin_notices', array( $this, 'render_success_notice' ) ); } elseif ( isset( $_POST['clear_old_logs'] ) ) { $days = isset( $_POST['days'] ) ? absint( wp_unslash( $_POST['days'] ) ) : 7; $deleted = $this->repository->deleteOlderThan( $days ); add_action( 'admin_notices', function () use ( $deleted ) { ?>