HEX
Server: nginx/1.27.1
System: Linux in-4 5.15.0-131-generic #141-Ubuntu SMP Fri Jan 10 21:18:28 UTC 2025 x86_64
User: ilikadirect (1186)
PHP: 7.4.33
Disabled: exec,passthru,shell_exec,system,proc_open,popen,parse_ini_file,show_source
Upload Files
File: /storage/v6964/gopalak/public_html/wp-content/plugins/restrict-user-access/src/Application.php
<?php

namespace RestrictUserAccess;

use RestrictUserAccess\Container\Container;
use RestrictUserAccess\Container\ContainerInterface;
use RestrictUserAccess\Level\LevelProvider;
use RestrictUserAccess\Membership\MembershipProvider;
use RestrictUserAccess\Provider\ProviderInterface;
use RestrictUserAccess\Support\InstanceTrait;

/**
 * Class Application
 *
 * @author Joachim Jensen <joachim@dev.institute>
 * @license https://www.gnu.org/licenses/gpl-3.0.html
 */
class Application extends Container implements ContainerInterface
{
    use InstanceTrait;

    protected $providers = [
        CoreProvider::class,
        LevelProvider::class,
        MembershipProvider::class
    ];

    public function init()
    {
        $this->registerProviders();
    }

    protected function registerProviders()
    {
        $registered = [];
        foreach ($this->providers as $providerClass) {
            $provider = new $providerClass($this);
            if ($provider instanceof ProviderInterface) {
                $provider->register();
                $registered[] = $provider;
            }
        }
        foreach ($registered as $provider) {
            $provider->boot();
        }
    }
}