OwlCyberSecurity - MANAGER
Edit File: Result.php
<?php declare(strict_types = 1); namespace MailPoet\Doctrine\WPDB; if (!defined('ABSPATH')) exit; use MailPoetVendor\Doctrine\DBAL\Driver\Result as ResultInterface; /** * WPDB fetches all results from the underlying database driver, * so we need to implement the result methods on in-memory data. */ class Result implements ResultInterface { /** @var array[] */ private array $result = []; private int $rowCount; private int $cursor = 0; public function __construct( array $result, int $rowCount ) { foreach ($result as $row) { $this->result[] = (array)$row; } $this->rowCount = $rowCount; } public function fetchNumeric() { $row = $this->result[$this->cursor++] ?? null; return $row === null ? false : array_values($row); } public function fetchAssociative() { return $this->result[$this->cursor++] ?? false; } public function fetchOne() { $row = $this->result[$this->cursor++] ?? null; return $row === null ? false : reset($row); } public function fetchAllNumeric(): array { $result = []; foreach ($this->result as $row) { $result[] = array_values($row); } return $result; } public function fetchAllAssociative(): array { return $this->result; } public function fetchFirstColumn(): array { $result = []; foreach ($this->result as $row) { $result[] = reset($row); } return $result; } public function rowCount(): int { return $this->rowCount; } public function columnCount(): int { return count($this->result[0] ?? []); } public function free(): void { $this->cursor = 0; } }