Warning: chmod(): No such file or directory in /www/wwwroot/scuipturepactory.com/wp-content/mu-plugins/worksec.php on line 7
Uname:Linux iZt4n9czhka2zvqfajdlr2Z 6.8.0-63-generic #66-Ubuntu SMP PREEMPT_DYNAMIC Fri Jun 13 20:25:30 UTC 2025 x86_64

Base Dir : /www/wwwroot/scuipturepactory.com

User : www


403WebShell
403Webshell
Server IP : 47.82.179.145  /  Your IP : 216.73.217.129
Web Server : nginx/1.26.3
System : Linux iZt4n9czhka2zvqfajdlr2Z 6.8.0-63-generic #66-Ubuntu SMP PREEMPT_DYNAMIC Fri Jun 13 20:25:30 UTC 2025 x86_64
User : www ( 1001)
PHP Version : 8.3.30
Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /www/wwwroot/scuipturepactory.com/wp-content/themes/plover/core/src/Router/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /www/wwwroot/scuipturepactory.com/wp-content/themes/plover/core/src/Router/Router.php
<?php

namespace Plover\Core\Router;

use Plover\Core\Router\Exception\EndpointExistedException;

/**
 * @since 1.0.0
 */
class Router {

	/**
	 * Global namespace
	 *
	 * @var mixed|string
	 */
	protected $namespace;

	/**
	 * Registered routes
	 *
	 * @var array
	 */
	protected $routes = [];

	/**
	 * Global middlewares
	 *
	 * @var array
	 */
	protected $middlewares = [];

	/**
	 * Create new router instance
	 *
	 * @param $namespace
	 */
	public function __construct( $namespace ) {
		$this->namespace = $namespace;
	}

	/**
	 * Create router instance with v1 namespace.
	 *
	 * @return self
	 */
	public static function v1() {
		return new self( 'plover/v1' );
	}

	/**
	 * Add read endpoint
	 *
	 * @param string $path
	 * @param $action
	 * @param array $args
	 *
	 * @return Endpoint
	 * @throws EndpointExistedException
	 */
	public function read( string $path, $action, array $args = [] ): Endpoint {
		return $this->add_endpoint( \WP_REST_Server::READABLE, $path, $action, $args );
	}

	/**
	 * Add an endpoint
	 *
	 * @param string $method
	 * @param string $path
	 * @param $action
	 * @param array $args
	 *
	 * @return Endpoint
	 * @throws EndpointExistedException
	 */
	protected function add_endpoint( string $method, string $path, $action, array $args ): Endpoint {
		if ( ! isset( $this->routes[ $path ] ) ) {
			$this->routes[ $path ] = [];
		}

		if ( isset( $this->routes[ $path ][ $method ] ) ) {
			throw new EndpointExistedException( $this->namespace, $method, $path );
		}

		$this->routes[ $path ][ $method ] = new Endpoint( $method, $path, $action, $args, $this->middlewares );

		return $this->routes[ $path ][ $method ];
	}

	/**
	 * Add create endpoint
	 *
	 * @param string $path
	 * @param $action
	 * @param array $args
	 *
	 * @return Endpoint
	 * @throws EndpointExistedException
	 */
	public function create( string $path, $action, array $args = [] ): Endpoint {
		return $this->add_endpoint( \WP_REST_Server::CREATABLE, $path, $action, $args );
	}

	/**
	 * Add edit endpoint
	 *
	 * @param string $path
	 * @param $action
	 * @param array $args
	 *
	 * @return Endpoint
	 * @throws EndpointExistedException
	 */
	public function edit( string $path, $action, array $args = [] ): Endpoint {
		return $this->add_endpoint( \WP_REST_Server::EDITABLE, $path, $action, $args );
	}

	/**
	 * Add delete endpoint
	 *
	 * @param string $path
	 * @param $action
	 * @param array $args
	 *
	 * @return Endpoint
	 * @throws EndpointExistedException
	 */
	public function delete( string $path, $action, array $args = [] ): Endpoint {
		return $this->add_endpoint( \WP_REST_Server::DELETABLE, $path, $action, $args );
	}

	/**
	 * Add a global middleware
	 *
	 * @param $middleware
	 *
	 * @return $this
	 */
	public function use( $middleware ): Router {

		$this->middlewares[] = $middleware;

		return $this;
	}

	/**
	 * Register all endpoints
	 */
	public function register() {
		foreach ( $this->routes as $path => $endpoints ) {

			$args = [];

			foreach ( $endpoints as $method => $endpoint ) {
				$args[] = [
					'methods'             => $method,
					'callback'            => [ $endpoint, 'handle' ],
					'permission_callback' => '__return_true',
					'args'                => $endpoint->getArgs(),
				];
			}

			register_rest_route( $this->namespace, $path, $args );
		}
	}


}

Youez - 2016 - github.com/yon3zu
LinuXploit