Server IP : 104.21.14.48 / Your IP : 3.137.211.107 [ Web Server : Apache System : Linux b70eb322-3aee-0c53-7c82-0db91281f2c6.secureserver.net 6.1.90-1.el9.elrepo.x86_64 #1 SMP PREEMPT_DYNAMIC Thu May 2 12:09:22 EDT 2024 x86_64 User : root ( 0) PHP Version : 8.0.30.2 Disable Function : NONE Domains : 0 Domains MySQL : ON | cURL : ON | WGET : ON | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/wp-content/mu-plugins/object-cache-pro/src/Plugin/Pages/ |
Upload File : |
<?php /** * Copyright © 2019-2024 Rhubarb Tech Inc. All Rights Reserved. * * The Object Cache Pro Software and its related materials are property and confidential * information of Rhubarb Tech Inc. Any reproduction, use, distribution, or exploitation * of the Object Cache Pro Software and its related materials, in whole or in part, * is strictly forbidden unless prior permission is obtained from Rhubarb Tech Inc. * * In addition, any reproduction, use, distribution, or exploitation of the Object Cache Pro * Software and its related materials, in whole or in part, is subject to the End-User License * Agreement accessible in the included `LICENSE` file, or at: https://objectcache.pro/eula */ declare(strict_types=1); namespace RedisCachePro\Plugin\Pages; use Traversable; use ArrayIterator; use IteratorAggregate; use RedisCachePro\Plugin; /** * @implements \IteratorAggregate<\RedisCachePro\Plugin\Pages\Page> */ class Pages implements IteratorAggregate { /** * The page instances. * * @var array<\RedisCachePro\Plugin\Pages\Page> */ protected $pages; /** * Creates a new instance. * * @param \RedisCachePro\Plugin $plugin * @return void */ public function __construct(Plugin $plugin) { $this->pages = [ new Dashboard($plugin), new Updates($plugin), new Tools($plugin), ]; if (! $this->current()) { $_GET['subpage'] = 'dashboard'; } foreach ($this->pages as $page) { $page->boot(); } } /** * Get an iterator for the items. * * @return \ArrayIterator<int, \RedisCachePro\Plugin\Pages\Page> */ public function getIterator(): Traversable { return new ArrayIterator($this->pages); } /** * Returns the current page, if available. * * @return \RedisCachePro\Plugin\Pages\Page|false */ public function current() { $pages = array_filter($this->pages, static function ($page) { return $page->isCurrent(); }); return reset($pages); } }