HEX
Server: Apache
System: Linux srv13.cpanelhost.cl 3.10.0-962.3.2.lve1.5.38.el7.x86_64 #1 SMP Thu Jun 18 05:28:41 EDT 2020 x86_64
User: cca63905 (4205)
PHP: 7.3.20
Disabled: NONE
Upload Files
File: /home4/cca63905/www/guiaweb/htdocs/includes/odtphp/SegmentIterator.php
<?php
/**
 * Segments iterator
 * You need PHP 5.2 at least
 * You need Zip Extension or PclZip library
 *
 * @copyright  GPL License 2008 - Julien Pauli - Cyril PIERRE de GEYER - Anaska (http://www.anaska.com)
 * @license    https://www.gnu.org/copyleft/gpl.html  GPL License
 * @version 1.3
 */
class SegmentIterator implements RecursiveIterator
{
    private $ref;
    private $key;
	private $keys;
    public function __construct(array $ref)
    {
        $this->ref = $ref;
        $this->key = 0;
        $this->keys = array_keys($this->ref);
    }
	#[\ReturnTypeWillChange]
    public function hasChildren()
    {
        return $this->valid() && $this->current() instanceof Segment;
    }
	#[\ReturnTypeWillChange]
    public function current()
    {
        return $this->ref[$this->keys[$this->key]];
    }
	#[\ReturnTypeWillChange]
    function getChildren()
    {
        return new self($this->current()->children);
    }
	#[\ReturnTypeWillChange]
    public function key()
    {
        return $this->key;
    }
	#[\ReturnTypeWillChange]
    public function valid()
    {
        return array_key_exists($this->key, $this->keys);
    }
	/**
	 * @return void
	 */
	#[\ReturnTypeWillChange]
    public function rewind()
    {
        $this->key = 0;
    }
	/**
	 * @return void
	 */
	#[\ReturnTypeWillChange]
    public function next()
    {
        $this->key ++;
    }
}