feat: caching, optimization, legal pages & footer
- WP Super Cache enabled (PHP mode, gzip, Nginx compatible) - Autoptimize: CSS/HTML minification + deferred JS + Google Fonts optimization - Cookie Notice: GDPR/LOPD banner styled with brand colors (navy/burgundy/gold) - Legal pages: Aviso Legal, Política de Privacidad, Política de Cookies (ES) - MU-plugin: custom footer with legal links + Cloud Host credit - Footer: copyright, legal nav, Hosted & Maintained by Cloud Host (cloudhost.es) - Security: X-Frame-Options, X-Content-Type, Referrer-Policy headers - Security: XML-RPC disabled, REST user enumeration blocked - Performance: emoji scripts removed, post revisions limited to 3
This commit is contained in:
166
wp-content/plugins/wp-super-cache/rest/load.php
Normal file
166
wp-content/plugins/wp-super-cache/rest/load.php
Normal file
@@ -0,0 +1,166 @@
|
||||
<?php
|
||||
|
||||
require_once( __DIR__ . '/class.wp-super-cache-rest-get-settings.php' );
|
||||
require_once( __DIR__ . '/class.wp-super-cache-rest-update-settings.php' );
|
||||
require_once( __DIR__ . '/class.wp-super-cache-rest-get-stats.php' );
|
||||
require_once( __DIR__ . '/class.wp-super-cache-rest-get-cache.php' );
|
||||
require_once( __DIR__ . '/class.wp-super-cache-rest-get-status.php' );
|
||||
require_once( __DIR__ . '/class.wp-super-cache-rest-test-cache.php' );
|
||||
require_once( __DIR__ . '/class.wp-super-cache-rest-delete-cache.php' );
|
||||
require_once( __DIR__ . '/class.wp-super-cache-rest-preload.php' );
|
||||
require_once( __DIR__ . '/class.wp-super-cache-rest-get-plugins.php' );
|
||||
require_once( __DIR__. '/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' );
|
||||
Reference in New Issue
Block a user