X7ROOT File Manager
Current Path:
/home/katmhsmi/lifecoachbostonma.com/wp-content/plugins/litespeed-cache/src
home
/
katmhsmi
/
lifecoachbostonma.com
/
wp-content
/
plugins
/
litespeed-cache
/
src
/
📁
..
📄
activation.cls.php
(15.06 KB)
📄
admin-display.cls.php
(33.98 KB)
📄
admin-settings.cls.php
(9.15 KB)
📄
admin.cls.php
(4.51 KB)
📄
api.cls.php
(11.28 KB)
📄
avatar.cls.php
(6.26 KB)
📄
base.cls.php
(30.87 KB)
📁
cdn
📄
cdn-setup.cls.php
(9.76 KB)
📄
cdn.cls.php
(13.52 KB)
📄
cloud.cls.php
(40 KB)
📄
conf.cls.php
(18.9 KB)
📄
control.cls.php
(20.75 KB)
📄
core.cls.php
(19.6 KB)
📄
crawler-map.cls.php
(13.44 KB)
📄
crawler.cls.php
(31.24 KB)
📄
css.cls.php
(13.07 KB)
📄
data.cls.php
(17.3 KB)
📄
data.upgrade.func.php
(22.31 KB)
📁
data_structure
📄
db-optm.cls.php
(8.66 KB)
📄
debug2.cls.php
(11.98 KB)
📄
doc.cls.php
(4.04 KB)
📄
error.cls.php
(6.38 KB)
📄
esi.cls.php
(26.45 KB)
📄
file.cls.php
(10.47 KB)
📄
gui.cls.php
(27.87 KB)
📄
health.cls.php
(3 KB)
📄
htaccess.cls.php
(24.33 KB)
📄
img-optm.cls.php
(55.81 KB)
📄
import.cls.php
(4.32 KB)
📄
instance.cls.php
(153 B)
📄
lang.cls.php
(16.64 KB)
📄
localization.cls.php
(3.53 KB)
📄
media.cls.php
(27.1 KB)
📄
metabox.cls.php
(4.22 KB)
📄
object-cache.cls.php
(15.82 KB)
📄
object.lib.php
(33.85 KB)
📄
optimize.cls.php
(35.34 KB)
📄
optimizer.cls.php
(8.81 KB)
📄
placeholder.cls.php
(14.5 KB)
📄
preset.cls.php
(5.56 KB)
📄
purge.cls.php
(30.43 KB)
📄
report.cls.php
(5.43 KB)
📄
rest.cls.php
(7.62 KB)
📄
root.cls.php
(12.9 KB)
📄
router.cls.php
(17.82 KB)
📄
str.cls.php
(1.18 KB)
📄
tag.cls.php
(8.78 KB)
📄
task.cls.php
(4.41 KB)
📄
tool.cls.php
(3.41 KB)
📄
ucss.cls.php
(14.77 KB)
📄
utility.cls.php
(21.15 KB)
📄
vary.cls.php
(19.63 KB)
📄
vpi.cls.php
(7.54 KB)
Editing: rest.cls.php
<?php /** * The REST related class. * * @since 2.9.4 */ namespace LiteSpeed; defined( 'WPINC' ) || exit; class REST extends Root { const LOG_TAG = '☎️'; private $_internal_rest_status = false; /** * Confructor of ESI * * @since 2.9.4 */ public function __construct() { // Hook to internal REST call add_filter( 'rest_request_before_callbacks', array( $this, 'set_internal_rest_on' ) ); add_filter( 'rest_request_after_callbacks', array( $this, 'set_internal_rest_off' ) ); add_action( 'rest_api_init', array( $this, 'rest_api_init' ) ); } /** * Register REST hooks * * @since 3.0 * @access public */ public function rest_api_init() { // Activate or deactivate a specific crawler callback register_rest_route( 'litespeed/v1', '/toggle_crawler_state', array( 'methods' => 'POST', 'callback' => array( $this, 'toggle_crawler_state' ), 'permission_callback' => function() { return current_user_can( 'manage_network_options' ) || current_user_can( 'manage_options' ); } ) ); register_rest_route( 'litespeed/v1', '/tool/check_ip', array( 'methods' => 'GET', 'callback' => array( $this, 'check_ip' ), 'permission_callback' => function() { return current_user_can( 'manage_network_options' ) || current_user_can( 'manage_options' ); } ) ); // IP callback validate register_rest_route( 'litespeed/v1', '/ip_validate', array( 'methods' => 'POST', 'callback' => array( $this, 'ip_validate' ), 'permission_callback' => array( $this, 'is_from_cloud' ), ) ); // Token callback validate register_rest_route( 'litespeed/v1', '/token', array( 'methods' => 'POST', 'callback' => array( $this, 'token' ), 'permission_callback' => array( $this, 'is_from_cloud' ), ) ); register_rest_route( 'litespeed/v1', '/token', array( 'methods' => 'GET', 'callback' => array( $this, 'token_get' ), 'permission_callback' => array( $this, 'is_from_cloud' ), ) ); register_rest_route( 'litespeed/v1', '/ping', array( 'methods' => 'GET', 'callback' => array( $this, 'ping' ), 'permission_callback' => '__return_true', ) ); // API key callback notification register_rest_route( 'litespeed/v1', '/apikey', array( 'methods' => 'POST', 'callback' => array( $this, 'apikey' ), 'permission_callback' => array( $this, 'is_from_cloud' ), ) ); // CDN setup callback notification register_rest_route( 'litespeed/v1', '/cdn_status', array( 'methods' => 'POST', 'callback' => array( $this, 'cdn_status' ), 'permission_callback' => array( $this, 'is_from_cloud' ), ) ); // Image optm notify_img // Need validation register_rest_route( 'litespeed/v1', '/notify_img', array( 'methods' => 'POST', 'callback' => array( $this, 'notify_img' ), 'permission_callback' => array( $this, 'is_from_cloud' ), ) ); register_rest_route( 'litespeed/v1', '/notify_ucss', array( 'methods' => 'POST', 'callback' => array( $this, 'notify_ucss' ), 'permission_callback' => array( $this, 'is_from_cloud' ), ) ); register_rest_route( 'litespeed/v1', '/notify_vpi', array( 'methods' => 'POST', 'callback' => array( $this, 'notify_vpi' ), 'permission_callback' => array( $this, 'is_from_cloud' ), ) ); register_rest_route( 'litespeed/v1', '/err_domains', array( 'methods' => 'POST', 'callback' => array( $this, 'err_domains' ), 'permission_callback' => array( $this, 'is_from_cloud' ), ) ); // Image optm check_img // Need validation register_rest_route( 'litespeed/v1', '/check_img', array( 'methods' => 'POST', 'callback' => array( $this, 'check_img' ), 'permission_callback' => array( $this, 'is_from_cloud' ), ) ); } /** * Call to freeze or melt the crawler clicked * * @since 4.3 */ public function toggle_crawler_state() { if( isset( $_POST[ 'crawler_id' ] ) ) { return $this->cls( 'Crawler' )->toggle_activeness( $_POST[ 'crawler_id' ] ) ? 1 : 0; } } /** * Check if the request is from cloud nodes * * @since 4.2 * @since 4.4.7 As there is always token/api key validation, ip validation is redundant */ public function is_from_cloud() { return true; // return $this->cls( 'Cloud' )->is_from_cloud(); } /** * Token get for * * @since 3.0.4 */ public function token_get() { return Cloud::ok(); } /** * Ping pong * * @since 3.0.4 */ public function ping() { return Cloud::ok( array( 'ver' => Core::VER ) ); } /** * Launch api call * * @since 3.0 */ public function check_ip() { return Tool::cls()->check_ip(); } /** * Launch api call * * @since 3.0 */ public function ip_validate() { return $this->cls( 'Cloud' )->ip_validate(); } /** * Launch api call * * @since 3.0 */ public function token() { return $this->cls( 'Cloud' )->token_validate(); } /** * Launch api call * * @since 3.0 */ public function apikey() { return $this->cls( 'Cloud' )->save_apikey(); } /** * Endpoint for QC to notify plugin of CDN setup status update. * * @since 3.0 */ public function cdn_status() { return $this->cls( 'Cdn_Setup' )->update_cdn_status(); } /** * Launch api call * * @since 3.0 */ public function notify_img() { return Img_Optm::cls()->notify_img(); } /** * @since 5.2 */ public function notify_ucss() { self::debug('notify_ucss'); return UCSS::cls()->notify(); } /** * @since 4.7 */ public function notify_vpi() { self::debug('notify_vpi'); return VPI::cls()->notify(); } /** * @since 4.7 */ public function err_domains() { self::debug('err_domains'); return $this->cls( 'Cloud' )->rest_err_domains(); } /** * Launch api call * * @since 3.0 */ public function check_img() { return Img_Optm::cls()->check_img(); } /** * Set internal REST tag to ON * * @since 2.9.4 * @access public */ public function set_internal_rest_on( $not_used = null ) { $this->_internal_rest_status = true; Debug2::debug2( '[REST] ✅ Internal REST ON [filter] rest_request_before_callbacks' ); return $not_used; } /** * Set internal REST tag to OFF * * @since 2.9.4 * @access public */ public function set_internal_rest_off( $not_used = null ) { $this->_internal_rest_status = false; Debug2::debug2( '[REST] ❎ Internal REST OFF [filter] rest_request_after_callbacks' ); return $not_used; } /** * Get internal REST tag * * @since 2.9.4 * @access public */ public function is_internal_rest() { return $this->_internal_rest_status; } /** * Check if an URL or current page is REST req or not * * @since 2.9.3 * @since 2.9.4 Moved here from Utility, dropped static * @access public */ public function is_rest( $url = false ) { // For WP 4.4.0- compatibility if ( ! function_exists( 'rest_get_url_prefix' ) ) { return defined( 'REST_REQUEST' ) && REST_REQUEST; } $prefix = rest_get_url_prefix(); // Case #1: After WP_REST_Request initialisation if ( defined( 'REST_REQUEST' ) && REST_REQUEST ) { return true; } // Case #2: Support "plain" permalink settings if ( isset( $_GET[ 'rest_route' ] ) && strpos( trim( $_GET[ 'rest_route' ], '\\/' ), $prefix , 0 ) === 0 ) { return true; } if ( ! $url ) { return false; } // Case #3: URL Path begins with wp-json/ (REST prefix) Safe for subfolder installation $rest_url = wp_parse_url( site_url( $prefix ) ); $current_url = wp_parse_url( $url ); // Debug2::debug( '[Util] is_rest check [base] ', $rest_url ); // Debug2::debug( '[Util] is_rest check [curr] ', $current_url ); // Debug2::debug( '[Util] is_rest check [curr2] ', wp_parse_url( add_query_arg( array( ) ) ) ); return strpos( $current_url[ 'path' ], $rest_url[ 'path' ] ) === 0; } }
Upload File
Create Folder