golden hour
/home/godaofbq/elitehyperbarics.com/wp-content/plugins/litespeed-cache/src
⬆️ Go Up
Upload
File/Folder
Size
Actions
activation.cls.php
14.99 KB
Del
OK
admin-display.cls.php
33.22 KB
Del
OK
admin-settings.cls.php
9.52 KB
Del
OK
admin.cls.php
4.44 KB
Del
OK
api.cls.php
11.08 KB
Del
OK
avatar.cls.php
6.06 KB
Del
OK
base.cls.php
30.23 KB
Del
OK
cdn
-
Del
OK
cdn-setup.cls.php
10.45 KB
Del
OK
cdn.cls.php
13.13 KB
Del
OK
cloud.cls.php
42.48 KB
Del
OK
conf.cls.php
18.58 KB
Del
OK
control.cls.php
21.75 KB
Del
OK
core.cls.php
20.05 KB
Del
OK
crawler-map.cls.php
14 KB
Del
OK
crawler.cls.php
34.69 KB
Del
OK
css.cls.php
13.1 KB
Del
OK
data.cls.php
17.41 KB
Del
OK
data.upgrade.func.php
21.37 KB
Del
OK
data_structure
-
Del
OK
db-optm.cls.php
9.58 KB
Del
OK
debug2.cls.php
13.1 KB
Del
OK
doc.cls.php
4.74 KB
Del
OK
error.cls.php
6.91 KB
Del
OK
esi.cls.php
26.91 KB
Del
OK
file.cls.php
10.13 KB
Del
OK
gui.cls.php
27.45 KB
Del
OK
health.cls.php
2.89 KB
Del
OK
htaccess.cls.php
23.95 KB
Del
OK
img-optm.cls.php
60.24 KB
Del
OK
import.cls.php
4.15 KB
Del
OK
instance.cls.php
154 B
Del
OK
lang.cls.php
15.47 KB
Del
OK
localization.cls.php
3.38 KB
Del
OK
media.cls.php
31.08 KB
Del
OK
metabox.cls.php
4.21 KB
Del
OK
object-cache.cls.php
15.92 KB
Del
OK
object.lib.php
33.97 KB
Del
OK
optimize.cls.php
36.67 KB
Del
OK
optimizer.cls.php
9.02 KB
Del
OK
placeholder.cls.php
14.15 KB
Del
OK
preset.cls.php
5.43 KB
Del
OK
purge.cls.php
29.79 KB
Del
OK
report.cls.php
5.33 KB
Del
OK
rest.cls.php
7.87 KB
Del
OK
root.cls.php
12.6 KB
Del
OK
router.cls.php
19.08 KB
Del
OK
str.cls.php
1.37 KB
Del
OK
tag.cls.php
8.62 KB
Del
OK
task.cls.php
5.83 KB
Del
OK
tool.cls.php
3.29 KB
Del
OK
ucss.cls.php
14.39 KB
Del
OK
utility.cls.php
20.63 KB
Del
OK
vary.cls.php
19.17 KB
Del
OK
vpi.cls.php
7.41 KB
Del
OK
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() { $token = $this->cls('Cloud')->parse_qc_redir(true); if ($token) { $this->_setup_token = esc_html($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 (empty($_POST['hash'])) { self::debug('Lack of hash param'); return self::err('lack_of_param'); } if ($_POST['hash'] !== md5(substr($this->conf(self::O_API_KEY), 3, 8))) { self::debug('token validate failed: token mismatch hash !== ' . $_POST['hash']); return self::err('callback_fail_hash'); } 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'] && !empty($_POST['result']['_msg'])) { $msg = wp_kses_post($_POST['result']['_msg']); self::save_summary(array('cdn_setup_err' => $msg)); Admin_Display::error(__('There was an error during QUIC.cloud CDN auto setup: ', 'litespeed-cache') . $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; } elseif (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(); $nameservers = esc_html($result['nameservers']); $this->cls('Conf')->update_confs(array(self::O_QC_NAMESERVERS => $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') . $nameservers ); } elseif (isset($result['cname'])) { 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(); $cname = esc_html($result['cname']); $this->cls('Conf')->update_confs(array(self::O_QC_CNAME => $cname, self::O_CDN_QUIC => true)); Admin_Display::succeed('🎊 ' . __('Congratulations, QUIC.cloud successfully set this domain up for the CDN. Please update your cname to:', 'litespeed-cache') . $cname); } elseif (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 => '')); } elseif (isset($result['_msg'])) { $notice = esc_html($result['_msg']); if ($this->conf(Base::O_QC_NAMESERVERS)) { $this->_summary['cdn_verify_msg'] = $notice; $notice = array('cdn_verify_msg' => $notice); } 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; } elseif (is_string($json) && $json != 'unauthorized access to REST API.') { self::save_summary(array('cdn_setup_err' => $json)); return; } } elseif (!isset($this->_summary['cdn_setup_done_ts']) || !$this->_summary['cdn_setup_done_ts']) { Admin_Display::info(__('Notice: CDN Setup only reset locally.', 'litespeed-cache')); } elseif (!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->_summary, false, true); $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'), 'nonce' => wp_create_nonce('litespeed_qc_link'), ); $api_key = $this->conf(self::O_API_KEY); if ($api_key) { $data['domain_hash'] = md5(substr($api_key, 0, 8)); } self::debug2('qc link created', $data); 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), ); $api_key = $this->conf(self::O_API_KEY); if ($api_key) { $data['domain_hash'] = md5(substr($api_key, 0, 8)); } $__cloud = $this->cls('Cloud'); $json = $__cloud->req_rest_api('/user/cdn/', $data); if (!$json) { return; } elseif (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