%PDF- %PDF-
Direktori : /var/www/businessmultisite/wp-content/plugins/duplicator-pro/src/Core/REST/ |
Current File : /var/www/businessmultisite/wp-content/plugins/duplicator-pro/src/Core/REST/RESTManager.php |
<?php /** * Singlethon class that manages rest endpoints * * @package Duplicator * @copyright (c) 2021, Snapcreek 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(); } } }