HEX
Server: Apache
System: Linux web15f74.uni5.net 5.4.282-1.el8.elrepo.x86_64 #1 SMP Mon Aug 19 18:33:22 EDT 2024 x86_64
User: lucendi (859622)
PHP: 7.4.33
Disabled: apache_child_terminate,c99_buff_prepare,c99_sess_put,dl,exec,leak,link,myshellexec,openlog,passthru,pclose,pcntl_exec,php_check_syntax,php_strip_whitespace,popen,posix_kill,posix_mkfifo,posix_setpgid,posix_setsid,posix_setuid,proc_close,proc_get_status,proc_nice,proc_open,proc_terminate,shell_exec,show_source,symlink,system,socket_listen,socket_create_listen,putenv
Upload Files
File: /home/lucendi/www/wp-content/plugins/wpforms-lite/src/Logger/Records.php
<?php

namespace WPForms\Logger;

use Iterator;
use Countable;

/**
 * Class Records.
 *
 * @since 1.6.3
 */
class Records implements Countable, Iterator {

	/**
	 * Iterator position.
	 *
	 * @since 1.6.3
	 *
	 * @var int
	 */
	private $iterator_position = 0;

	/**
	 * List of log records.
	 *
	 * @since 1.6.3
	 *
	 * @var array
	 */
	private $list = [];

	/**
	 * Return the current element.
	 *
	 * @since 1.6.3
	 *
	 * @return \WPForms\Logger\Record|null Return null when no items in collection.
	 */
	#[\ReturnTypeWillChange]
	public function current() {

		return $this->valid() ? $this->list[ $this->iterator_position ] : null;
	}

	/**
	 * Move forward to next element.
	 *
	 * @since 1.6.3
	 */
	#[\ReturnTypeWillChange]
	public function next() {

		++ $this->iterator_position;
	}

	/**
	 * Return the key of the current element.
	 *
	 * @since 1.6.3
	 *
	 * @return int
	 */
	#[\ReturnTypeWillChange]
	public function key() {

		return $this->iterator_position;
	}

	/**
	 * Checks if current position is valid.
	 *
	 * @since 1.6.3
	 *
	 * @return bool
	 */
	#[\ReturnTypeWillChange]
	public function valid() {

		return isset( $this->list[ $this->iterator_position ] );
	}

	/**
	 * Rewind the Iterator to the first element.
	 *
	 * @since 1.6.3
	 */
	#[\ReturnTypeWillChange]
	public function rewind() {

		$this->iterator_position = 0;
	}

	/**
	 * Count number of Record in a Queue.
	 *
	 * @since 1.6.3
	 *
	 * @return int
	 */
	#[\ReturnTypeWillChange]
	public function count() {

		return count( $this->list );
	}

	/**
	 * Push record to list.
	 *
	 * @since 1.6.3
	 *
	 * @param \WPForms\Logger\Record $record Record.
	 */
	#[\ReturnTypeWillChange]
	public function push( $record ) {

		if ( ! is_a( $record, '\WPForms\Logger\Record' ) ) {
			return;
		}
		$this->list[] = $record;
	}

	/**
	 * Clear collection.
	 *
	 * @since 1.6.3
	 */
	#[\ReturnTypeWillChange]
	public function clear() {

		$this->list              = [];
		$this->iterator_position = 0;
	}
}