| Server IP : 68.183.124.220 / Your IP : 216.73.217.137 Web Server : Apache/2.4.18 (Ubuntu) System : Linux Sandbox-A 4.4.0-210-generic #242-Ubuntu SMP Fri Apr 16 09:57:56 UTC 2021 x86_64 User : gavin ( 1000) PHP Version : 7.0.33-0ubuntu0.16.04.16 Disable Function : 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, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /var/www/html/wp-content/plugins/wordpress-seo/admin/config-ui/ |
Upload File : |
<?php
/**
* WPSEO plugin file.
*
* @package WPSEO\Admin\ConfigurationUI
*/
/**
* Class WPSEO_Configuration_Endpoint.
*/
class WPSEO_Configuration_Endpoint {
/**
* Holds the REST namespace.
*
* @var string
*/
const REST_NAMESPACE = 'yoast/v1';
/**
* Holds the endpoint to retrieve from.
*
* @var string
*/
const ENDPOINT_RETRIEVE = 'configurator';
/**
* Holds the endpoint to store to.
*
* @var string
*/
const ENDPOINT_STORE = 'configurator';
/**
* Holds the capability that can retrieve from the endpoint.
*
* @var string
*/
const CAPABILITY_RETRIEVE = 'wpseo_manage_options';
/**
* Holds the capability that can store to the endpoint.
*
* @var string
*/
const CAPABILITY_STORE = 'wpseo_manage_options';
/**
* Service to use.
*
* @var WPSEO_Configuration_Service
*/
protected $service;
/**
* Sets the service to use.
*
* @param WPSEO_Configuration_Service $service Service to use.
*/
public function set_service( WPSEO_Configuration_Service $service ) {
$this->service = $service;
}
/**
* Register REST routes.
*/
public function register() {
// Register fetch config.
$route_args = array(
'methods' => 'GET',
'callback' => array( $this->service, 'get_configuration' ),
'permission_callback' => array( $this, 'can_retrieve_data' ),
);
register_rest_route( self::REST_NAMESPACE, self::ENDPOINT_RETRIEVE, $route_args );
// Register save changes.
$route_args = array(
'methods' => 'POST',
'callback' => array( $this->service, 'set_configuration' ),
'permission_callback' => array( $this, 'can_save_data' ),
);
register_rest_route( self::REST_NAMESPACE, self::ENDPOINT_STORE, $route_args );
}
/**
* Permission callback implementation.
*
* @return bool
*/
public function can_retrieve_data() {
return current_user_can( self::CAPABILITY_RETRIEVE );
}
/**
* Permission callback implementation.
*
* @return bool
*/
public function can_save_data() {
return current_user_can( self::CAPABILITY_STORE );
}
}