Uname: Linux premium294.web-hosting.com 4.18.0-553.45.1.lve.el8.x86_64 #1 SMP Wed Mar 26 12:08:09 UTC 2025 x86_64
Software: LiteSpeed
PHP version: 8.1.32 [ PHP INFO ] PHP os: Linux
Server Ip: 104.21.112.1
Your Ip: 216.73.216.223
User: mjbynoyq (1574) | Group: mjbynoyq (1570)
Safe Mode: OFF
Disable Function:
NONE

name : RESTManager.php
<?php

/**
 * Singlethon class that manages rest endpoints
 *
 * @package   Duplicator
 * @copyright (c) 2022, Snap Creek LLC
 */

namespace Duplicator\Core\REST;

final class RESTManager
{
    /**
     *
     * @var ?self
     */
    private static $instance = null;

    /**
     *
     * @return self
     */
    public static function getInstance()
    {
        if (is_null(self::$instance)) {
            self::$instance = new self();
        }

        return self::$instance;
    }

    /**
     * Class constructor
     */
    protected function __construct()
    {
        add_action('rest_api_init', array($this, 'register'));
    }

    /**
     * get rest points list
     *
     * @return AbstractRESTPoint[]
     */
    private function getRestPoints()
    {
        $basicRestPoints   = array();
        $basicRestPoints[] = new \Duplicator\RESTPoints\Versions();
        $basicRestPoints[] = new \Duplicator\RESTPoints\SubsiteActions();

        return array_filter(
            apply_filters(
                'duplicator_endpoints',
                $basicRestPoints
            ),
            function ($restPoint) {
                return is_subclass_of($restPoint, '\Duplicator\Core\REST\AbstractRESTPoint');
            }
        );
    }

    /**
     * Register rest points
     *
     * @return void
     */
    public function register()
    {
        foreach ($this->getRestPoints() as $obj) {
            $obj->register();
        }
    }
}
© 2025 XylotrechusZ