| Server IP : 34.67.85.211 / Your IP : 216.73.217.52 Web Server : Apache System : Linux wordpress-1-vm 4.9.0-13-amd64 #1 SMP Debian 4.9.228-1 (2020-07-05) x86_64 User : root ( 0) PHP Version : 7.4.9 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_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /var/www/html/wp-content/plugins/wp-super-cache/rest/ |
Upload File : |
<?php
require_once( dirname( __FILE__ ) . '/class.wp-super-cache-rest-get-settings.php' );
require_once( dirname( __FILE__ ) . '/class.wp-super-cache-rest-update-settings.php' );
require_once( dirname( __FILE__ ) . '/class.wp-super-cache-rest-get-stats.php' );
require_once( dirname( __FILE__ ) . '/class.wp-super-cache-rest-get-cache.php' );
require_once( dirname( __FILE__ ) . '/class.wp-super-cache-rest-get-status.php' );
require_once( dirname( __FILE__ ) . '/class.wp-super-cache-rest-test-cache.php' );
require_once( dirname( __FILE__ ) . '/class.wp-super-cache-rest-delete-cache.php' );
require_once( dirname( __FILE__ ) . '/class.wp-super-cache-rest-preload.php' );
require_once( dirname( __FILE__ ) . '/class.wp-super-cache-rest-get-plugins.php' );
require_once( dirname( __FILE__ ) . '/class.wp-super-cache-rest-update-plugins.php' );
class WP_Super_Cache_Router {
/**
* Register the routes for the objects of the controller.
*
* GET /wp-super-cache/v1/settings
* POST /wp-super-cache/v1/settings
* GET /wp-super-cache/v1/stats
* GET /wp-super-cache/v1/cache
* POST /wp-super-cache/v1/cache
*/
public static function register_routes() {
$version = '1';
$namespace = 'wp-super-cache/v' . $version;
$get_settings = new WP_Super_Cache_Rest_Get_Settings();
$update_settings = new WP_Super_Cache_Rest_Update_Settings();
$get_stats = new WP_Super_Cache_Rest_Get_Stats();
$get_cache = new WP_Super_Cache_Rest_Get_Cache();
$test_cache = new WP_Super_Cache_Rest_Test_Cache();
$delete_cache = new WP_Super_Cache_Rest_Delete_Cache();
$preload_cache = new WP_Super_Cache_Rest_Preload();
$get_status = new WP_Super_Cache_Rest_Get_Status();
$get_plugins = new WP_Super_Cache_Rest_Get_Plugins();
$update_plugins = new WP_Super_Cache_Rest_Update_Plugins();
register_rest_route( $namespace, '/settings', array(
array(
'methods' => WP_REST_Server::READABLE,
'callback' => array( $get_settings, 'callback' ),
'permission_callback' => __CLASS__ . '::get_item_permissions_check',
'args' => array(),
),
array(
'methods' => WP_REST_Server::CREATABLE,
'callback' => array( $update_settings, 'callback' ),
'permission_callback' => __CLASS__ . '::update_item_permissions_check',
'args' => array(),
),
) );
register_rest_route( $namespace, '/status', array(
'methods' => WP_REST_Server::READABLE,
'callback' => array( $get_status, 'callback' ),
'permission_callback' => __CLASS__ . '::get_item_permissions_check',
) );
register_rest_route( $namespace, '/stats', array(
'methods' => WP_REST_Server::READABLE,
'callback' => array( $get_stats, 'callback' ),
'permission_callback' => __CLASS__ . '::get_item_permissions_check',
) );
register_rest_route( $namespace, '/cache', array(
array(
'methods' => WP_REST_Server::READABLE,
'callback' => array( $get_cache, 'callback' ),
'permission_callback' => __CLASS__ . '::get_item_permissions_check',
'args' => array(),
),
array(
'methods' => WP_REST_Server::CREATABLE,
'callback' => array( $delete_cache, 'callback' ),
'permission_callback' => __CLASS__ . '::delete_item_permissions_check',
'args' => array(),
),
) );
register_rest_route( $namespace, '/preload', array(
'methods' => WP_REST_Server::CREATABLE,
'callback' => array( $preload_cache, 'callback' ),
'permission_callback' => __CLASS__ . '::update_item_permissions_check',
) );
register_rest_route( $namespace, '/cache/test', array(
'methods' => WP_REST_Server::CREATABLE,
'callback' => array( $test_cache, 'callback' ),
'permission_callback' => __CLASS__ . '::create_item_permissions_check',
) );
register_rest_route( $namespace, '/plugins', array(
array(
'methods' => WP_REST_Server::READABLE,
'callback' => array( $get_plugins, 'callback' ),
'permission_callback' => __CLASS__ . '::get_item_permissions_check',
'args' => array(),
),
array(
'methods' => WP_REST_Server::CREATABLE,
'callback' => array( $update_plugins, 'callback' ),
'permission_callback' => __CLASS__ . '::update_item_permissions_check',
'args' => array(),
),
) );
}
/**
* Check if a given request has access to get items
*
* @param WP_REST_Request $request Full data about the request.
* @return WP_Error|bool
*/
public static function get_items_permissions_check( $request ) {
return wpsupercache_site_admin();
}
/**
* Check if a given request has access to get a specific item
*
* @param WP_REST_Request $request Full data about the request.
* @return WP_Error|bool
*/
public static function get_item_permissions_check( $request ) {
return self::get_items_permissions_check( $request );
}
/**
* Check if a given request has access to create items
*
* @param WP_REST_Request $request Full data about the request.
* @return WP_Error|bool
*/
public static function create_item_permissions_check( $request ) {
return self::get_items_permissions_check( $request );
}
/**
* Check if a given request has access to update a specific item
*
* @param WP_REST_Request $request Full data about the request.
* @return WP_Error|bool
*/
public static function update_item_permissions_check( $request ) {
return self::create_item_permissions_check( $request );
}
/**
* Check if a given request has access to update a specific item
*
* @param WP_REST_Request $request Full data about the request.
* @return WP_Error|bool
*/
public static function delete_item_permissions_check( $request ) {
return self::update_item_permissions_check( $request );
}
}
function wpsc_load_rest_api() {
$wpsupercache_route = new WP_Super_Cache_Router;
$wpsupercache_route->register_routes();
};
add_action( 'rest_api_init', 'wpsc_load_rest_api' );