/home/sitetest/makie/homedir/public_html/wp-content/plugins/litespeed-cache/src
NameSizeModeActions
cdn/-0755rm
data_structure/-0755rm
activation.cls.php178550644editdlrm
admin-display.cls.php492740644editdlrm
admin-settings.cls.php113830644editdlrm
admin.cls.php51670644editdlrm
api.cls.php106870644editdlrm
avatar.cls.php88900644editdlrm
base.cls.php354100644editdlrm
cdn.cls.php163000644editdlrm
cloud.cls.php673750644editdlrm
conf.cls.php199990644editdlrm
control.cls.php249330644editdlrm
core.cls.php215190644editdlrm
crawler-map.cls.php198940644editdlrm
crawler.cls.php432080644editdlrm
css.cls.php156370644editdlrm
data.cls.php168860644editdlrm
data.upgrade.func.php31470644editdlrm
db-optm.cls.php105890644editdlrm
debug2.cls.php145100644editdlrm
doc.cls.php41640644editdlrm
error.cls.php75600644editdlrm
esi.cls.php278340644editdlrm
file.cls.php108230644editdlrm
gui.cls.php373790644editdlrm
health.cls.php28990644editdlrm
htaccess.cls.php245780644editdlrm
img-optm.cls.php666930644editdlrm
import.cls.php43950644editdlrm
import.preset.cls.php56330644editdlrm
lang.cls.php154210644editdlrm
localization.cls.php35220644editdlrm
media.cls.php413370644editdlrm
metabox.cls.php54440644editdlrm
object-cache-wp.cls.php252590644editdlrm
object-cache.cls.php207880644editdlrm
object.lib.php136290644editdlrm
optimize.cls.php395910644editdlrm
optimizer.cls.php96400644editdlrm
placeholder.cls.php145270644editdlrm
purge.cls.php347650644editdlrm
report.cls.php62660644editdlrm
rest.cls.php88440644editdlrm
root.cls.php143230644editdlrm
router.cls.php210620644editdlrm
str.cls.php32260644editdlrm
tag.cls.php94810644editdlrm
task.cls.php62790644editdlrm
tool.cls.php43180644editdlrm
ucss.cls.php147190644editdlrm
utility.cls.php222850644editdlrm
vary.cls.php206860644editdlrm
vpi.cls.php95880644editdlrm
Edit: /home/sitetest/makie/homedir/public_html/wp-content/plugins/litespeed-cache/src/rest.cls.php (8844B)
'POST', 'callback' => [ $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', [ 'methods' => 'GET', 'callback' => [ $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', [ 'methods' => 'POST', 'callback' => [ $this, 'ip_validate' ], 'permission_callback' => [ $this, 'is_from_cloud' ], ] ); // 1.2. WP REST Dryrun Callback register_rest_route( 'litespeed/v3', '/wp_rest_echo', [ 'methods' => 'POST', 'callback' => [ $this, 'wp_rest_echo' ], 'permission_callback' => [ $this, 'is_from_cloud' ], ] ); register_rest_route( 'litespeed/v3', '/ping', [ 'methods' => 'POST', 'callback' => [ $this, 'ping' ], 'permission_callback' => [ $this, 'is_from_cloud' ], ] ); // CDN setup callback notification register_rest_route( 'litespeed/v3', '/cdn_status', [ 'methods' => 'POST', 'callback' => [ $this, 'cdn_status' ], 'permission_callback' => [ $this, 'is_from_cloud' ], ] ); // Image optm notify_img // Need validation register_rest_route( 'litespeed/v1', '/notify_img', [ 'methods' => 'POST', 'callback' => [ $this, 'notify_img' ], 'permission_callback' => [ $this, 'is_from_cloud' ], ] ); register_rest_route( 'litespeed/v1', '/notify_ccss', [ 'methods' => 'POST', 'callback' => [ $this, 'notify_ccss' ], 'permission_callback' => [ $this, 'is_from_cloud' ], ] ); register_rest_route( 'litespeed/v1', '/notify_ucss', [ 'methods' => 'POST', 'callback' => [ $this, 'notify_ucss' ], 'permission_callback' => [ $this, 'is_from_cloud' ], ] ); register_rest_route( 'litespeed/v1', '/notify_vpi', [ 'methods' => 'POST', 'callback' => [ $this, 'notify_vpi' ], 'permission_callback' => [ $this, 'is_from_cloud' ], ] ); register_rest_route( 'litespeed/v3', '/err_domains', [ 'methods' => 'POST', 'callback' => [ $this, 'err_domains' ], 'permission_callback' => [ $this, 'is_from_cloud' ], ] ); // Image optm check_img // Need validation register_rest_route( 'litespeed/v1', '/check_img', [ 'methods' => 'POST', 'callback' => [ $this, 'check_img' ], 'permission_callback' => [ $this, 'is_from_cloud' ], ] ); } /** * Call to freeze or melt the crawler clicked * * @since 4.3 */ public function toggle_crawler_state() { // phpcs:ignore WordPress.Security.NonceVerification.Missing -- REST API nonce verified by WordPress $crawler_id = isset( $_POST['crawler_id'] ) ? sanitize_text_field( wp_unslash( $_POST['crawler_id'] ) ) : ''; if ( $crawler_id ) { return $this->cls( 'Crawler' )->toggle_activeness( $crawler_id ) ? 1 : 0; } } /** * Check if the request is from cloud nodes. * * @since 4.2 * @since 4.4.7 Token/API key validation makes IP validation redundant. * @return bool */ public function is_from_cloud() { return $this->cls( 'Cloud' )->is_from_cloud(); } /** * Ping pong. * * @since 3.0.4 * @return mixed */ public function ping() { return $this->cls( 'Cloud' )->ping(); } /** * Launch IP check. * * @since 3.0 * @return mixed */ public function check_ip() { return Tool::cls()->check_ip(); } /** * Validate IPs from cloud. * * @since 3.0 * @return mixed */ public function ip_validate() { return $this->cls( 'Cloud' )->ip_validate(); } /** * REST echo helper. * * @since 3.0 * @return mixed */ public function wp_rest_echo() { return $this->cls( 'Cloud' )->wp_rest_echo(); } /** * Endpoint to notify plugin of CDN status updates. * * @since 7.0 * @return mixed */ public function cdn_status() { return $this->cls( 'Cloud' )->update_cdn_status(); } /** * Image optimization notification. * * @since 3.0 * @return mixed */ public function notify_img() { return Img_Optm::cls()->notify_img(); } /** * Critical CSS notification. * * @since 7.1 * @return mixed */ public function notify_ccss() { self::debug( 'notify_ccss' ); return CSS::cls()->notify(); } /** * Unique CSS notification. * * @since 5.2 * @return mixed */ public function notify_ucss() { self::debug( 'notify_ucss' ); return UCSS::cls()->notify(); } /** * Viewport Images notification. * * @since 4.7 * @return mixed */ public function notify_vpi() { self::debug( 'notify_vpi' ); return VPI::cls()->notify(); } /** * Error domain report from cloud. * * @since 4.7 * @return mixed */ public function err_domains() { self::debug( 'err_domains' ); return $this->cls( 'Cloud' )->rest_err_domains(); } /** * Launch image check. * * @since 3.0 * @return mixed */ public function check_img() { return Img_Optm::cls()->check_img(); } /** * Return a standardized error payload. * * @since 5.7.0.1 * @param string|int $code Error code. * @return array */ public static function err( $code ) { return [ '_res' => 'err', '_msg' => $code, ]; } /** * Set internal REST tag to ON. * * @since 2.9.4 * @param mixed $not_used Passthrough value from the filter. * @return mixed */ 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 * @param mixed $not_used Passthrough value from the filter. * @return mixed */ 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; } /** * Whether current request is an internal REST call. * * @since 2.9.4 * @return bool */ public function is_internal_rest() { return $this->_internal_rest_status; } /** * Check whether a URL or current page is a REST request. * * @since 2.9.3 * @since 2.9.4 Moved here from Utility, dropped static. * @param string|false $url URL to check; when false checks current request. * @return bool */ 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 initialization. if ( defined( 'REST_REQUEST' ) && REST_REQUEST ) { return true; } // Case #2: Support "plain" permalink settings. // phpcs:ignore WordPress.Security.NonceVerification.Recommended $route = isset( $_GET['rest_route'] ) ? sanitize_text_field( wp_unslash( $_GET['rest_route'] ) ) : ''; if ( $route && 0 === strpos( trim( $route, '\\/' ), $prefix, 0 ) ) { return true; } if ( !$url ) { return false; } // Case #3: URL path begins with wp-json/ (REST prefix) – safe for subfolder installs. $rest_url = wp_parse_url( site_url( $prefix ) ); $current_url = wp_parse_url( $url ); if ( false !== $current_url && ! empty( $current_url['path'] ) && false !== $rest_url && ! empty( $rest_url['path'] ) ) { return 0 === strpos( $current_url['path'], $rest_url['path'] ); } return false; } }