X7ROOT File Manager
Current Path:
/usr/src/litespeed-wp-plugin/7.2/litespeed-cache/src
usr
/
src
/
litespeed-wp-plugin
/
7.2
/
litespeed-cache
/
src
/
📁
..
📄
activation.cls.php
(15.06 KB)
📄
admin-display.cls.php
(35.74 KB)
📄
admin-settings.cls.php
(10.95 KB)
📄
admin.cls.php
(4.47 KB)
📄
api.cls.php
(11.52 KB)
📄
avatar.cls.php
(6.12 KB)
📄
base.cls.php
(32.76 KB)
📁
cdn
📄
cdn.cls.php
(13.22 KB)
📄
cloud.cls.php
(54.29 KB)
📄
conf.cls.php
(17.39 KB)
📄
control.cls.php
(21.25 KB)
📄
core.cls.php
(20.16 KB)
📄
crawler-map.cls.php
(14.89 KB)
📄
crawler.cls.php
(41.71 KB)
📄
css.cls.php
(15.25 KB)
📄
data.cls.php
(17.98 KB)
📄
data.upgrade.func.php
(23.38 KB)
📁
data_structure
📄
db-optm.cls.php
(10.16 KB)
📄
debug2.cls.php
(13.17 KB)
📄
doc.cls.php
(4.73 KB)
📄
error.cls.php
(7.49 KB)
📄
esi.cls.php
(27.17 KB)
📄
file.cls.php
(10.53 KB)
📄
gui.cls.php
(27.78 KB)
📄
health.cls.php
(2.9 KB)
📄
htaccess.cls.php
(24.13 KB)
📄
img-optm.cls.php
(65.27 KB)
📄
import.cls.php
(4.18 KB)
📄
import.preset.cls.php
(5.48 KB)
📄
lang.cls.php
(14.91 KB)
📄
localization.cls.php
(3.42 KB)
📄
media.cls.php
(33.18 KB)
📄
metabox.cls.php
(4.26 KB)
📄
object-cache.cls.php
(16.49 KB)
📄
object.lib.php
(34.13 KB)
📄
optimize.cls.php
(37.19 KB)
📄
optimizer.cls.php
(9.49 KB)
📄
placeholder.cls.php
(14.26 KB)
📄
purge.cls.php
(30.85 KB)
📄
report.cls.php
(6.19 KB)
📄
rest.cls.php
(7.52 KB)
📄
root.cls.php
(12.84 KB)
📄
router.cls.php
(19.94 KB)
📄
str.cls.php
(2.45 KB)
📄
tag.cls.php
(9.27 KB)
📄
task.cls.php
(6.14 KB)
📄
tool.cls.php
(3.41 KB)
📄
ucss.cls.php
(14.31 KB)
📄
utility.cls.php
(20.82 KB)
📄
vary.cls.php
(20.17 KB)
📄
vpi.cls.php
(7.26 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/v3', '/ip_validate', array( 'methods' => 'POST', 'callback' => array( $this, 'ip_validate' ), 'permission_callback' => array( $this, 'is_from_cloud' ), )); // 1.2. WP REST Dryrun Callback register_rest_route('litespeed/v3', '/wp_rest_echo', array( 'methods' => 'POST', 'callback' => array( $this, 'wp_rest_echo' ), 'permission_callback' => array( $this, 'is_from_cloud' ), )); register_rest_route('litespeed/v3', '/ping', array( 'methods' => 'POST', 'callback' => array( $this, 'ping' ), 'permission_callback' => array( $this, 'is_from_cloud' ), )); // CDN setup callback notification register_rest_route('litespeed/v3', '/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_ccss', array( 'methods' => 'POST', 'callback' => array( $this, 'notify_ccss' ), '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/v3', '/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(); } /** * Ping pong * * @since 3.0.4 */ public function ping() { return $this->cls('Cloud')->ping(); } /** * 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 wp_rest_echo() { return $this->cls('Cloud')->wp_rest_echo(); } /** * Endpoint for QC to notify plugin of CDN status update. * * @since 7.0 */ public function cdn_status() { return $this->cls('Cloud')->update_cdn_status(); } /** * Launch api call * * @since 3.0 */ public function notify_img() { return Img_Optm::cls()->notify_img(); } /** * @since 7.1 */ public function notify_ccss() { self::debug('notify_ccss'); return CSS::cls()->notify(); } /** * @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(); } /** * Return error * * @since 5.7.0.1 */ public static function err( $code ) { return array( '_res' => 'err', '_msg' => $code, ); } /** * 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( ) ) ) ); if ($current_url !== false && !empty($current_url['path']) && $rest_url !== false && !empty($rest_url['path'])) { return strpos($current_url['path'], $rest_url['path']) === 0; } return false; } }
Upload File
Create Folder