X7ROOT File Manager
Current Path:
/home/notabjze/shop.houreglass.com/wp-content/plugins/litespeed-cache/src
home
/
notabjze
/
shop.houreglass.com
/
wp-content
/
plugins
/
litespeed-cache
/
src
/
ðŸ“
..
📄
activation.cls.php
(14.9 KB)
📄
admin-display.cls.php
(35.39 KB)
📄
admin-settings.cls.php
(10.03 KB)
📄
admin.cls.php
(4.44 KB)
📄
api.cls.php
(11.08 KB)
📄
avatar.cls.php
(6.07 KB)
📄
base.cls.php
(30.61 KB)
ðŸ“
cdn
📄
cdn.cls.php
(13.18 KB)
📄
cloud.cls.php
(52.42 KB)
📄
conf.cls.php
(17.39 KB)
📄
control.cls.php
(21.63 KB)
📄
core.cls.php
(19.83 KB)
📄
crawler-map.cls.php
(14.66 KB)
📄
crawler.cls.php
(40.64 KB)
📄
css.cls.php
(15.14 KB)
📄
data.cls.php
(17.61 KB)
📄
data.upgrade.func.php
(23.11 KB)
ðŸ“
data_structure
📄
db-optm.cls.php
(9.82 KB)
📄
debug2.cls.php
(13.08 KB)
📄
doc.cls.php
(4.73 KB)
📄
error.cls.php
(6.89 KB)
📄
esi.cls.php
(26.94 KB)
📄
file.cls.php
(10.46 KB)
📄
gui.cls.php
(27.47 KB)
📄
health.cls.php
(2.89 KB)
📄
htaccess.cls.php
(24.16 KB)
📄
img-optm.cls.php
(64.1 KB)
📄
import.cls.php
(4.15 KB)
📄
import.preset.cls.php
(5.43 KB)
📄
lang.cls.php
(14.89 KB)
📄
localization.cls.php
(3.39 KB)
📄
media.cls.php
(32.7 KB)
📄
metabox.cls.php
(4.21 KB)
📄
object-cache.cls.php
(15.84 KB)
📄
object.lib.php
(33.97 KB)
📄
optimize.cls.php
(36.96 KB)
📄
optimizer.cls.php
(9.4 KB)
📄
placeholder.cls.php
(14.09 KB)
📄
purge.cls.php
(30.49 KB)
📄
report.cls.php
(6.14 KB)
📄
rest.cls.php
(7.45 KB)
📄
root.cls.php
(12.78 KB)
📄
router.cls.php
(19.51 KB)
📄
str.cls.php
(2.37 KB)
📄
tag.cls.php
(8.9 KB)
📄
task.cls.php
(5.92 KB)
📄
tool.cls.php
(3.42 KB)
📄
ucss.cls.php
(14.17 KB)
📄
utility.cls.php
(20.67 KB)
📄
vary.cls.php
(20.09 KB)
📄
vpi.cls.php
(7.19 KB)
Editing: task.cls.php
<?php /** * The cron task class. * * @since 1.1.3 * @since 1.5 Moved into /inc */ namespace LiteSpeed; defined('WPINC') || exit(); class Task extends Root { const LOG_TAG = '⏰'; private static $_triggers = array( Base::O_IMG_OPTM_CRON => array('name' => 'litespeed_task_imgoptm_pull', 'hook' => 'LiteSpeed\Img_Optm::start_async_cron'), // always fetch immediately Base::O_OPTM_CSS_ASYNC => array('name' => 'litespeed_task_ccss', 'hook' => 'LiteSpeed\CSS::cron_ccss'), Base::O_OPTM_UCSS => array('name' => 'litespeed_task_ucss', 'hook' => 'LiteSpeed\UCSS::cron'), Base::O_MEDIA_VPI_CRON => array('name' => 'litespeed_task_vpi', 'hook' => 'LiteSpeed\VPI::cron'), Base::O_MEDIA_PLACEHOLDER_RESP_ASYNC => array('name' => 'litespeed_task_lqip', 'hook' => 'LiteSpeed\Placeholder::cron'), Base::O_DISCUSS_AVATAR_CRON => array('name' => 'litespeed_task_avatar', 'hook' => 'LiteSpeed\Avatar::cron'), Base::O_IMG_OPTM_AUTO => array('name' => 'litespeed_task_imgoptm_req', 'hook' => 'LiteSpeed\Img_Optm::cron_auto_request'), Base::O_CRAWLER => array('name' => 'litespeed_task_crawler', 'hook' => 'LiteSpeed\Crawler::start_async_cron'), // Set crawler to last one to use above results ); private static $_guest_options = array(Base::O_OPTM_CSS_ASYNC, Base::O_OPTM_UCSS, Base::O_MEDIA_VPI); const FILTER_CRAWLER = 'litespeed_crawl_filter'; const FILTER = 'litespeed_filter'; /** * Keep all tasks in cron * * @since 3.0 * @access public */ public function init() { self::debug2('Init'); add_filter('cron_schedules', array($this, 'lscache_cron_filter')); $guest_optm = $this->conf(Base::O_GUEST) && $this->conf(Base::O_GUEST_OPTM); foreach (self::$_triggers as $id => $trigger) { if ($id != Base::O_IMG_OPTM_CRON && !$this->conf($id)) { if (!$guest_optm || !in_array($id, self::$_guest_options)) { continue; } } // Special check for crawler if ($id == Base::O_CRAWLER) { if (!Router::can_crawl()) { continue; } add_filter('cron_schedules', array($this, 'lscache_cron_filter_crawler')); } if (!wp_next_scheduled($trigger['name'])) { self::debug('Cron hook register [name] ' . $trigger['name']); wp_schedule_event(time(), $id == Base::O_CRAWLER ? self::FILTER_CRAWLER : self::FILTER, $trigger['name']); } add_action($trigger['name'], $trigger['hook']); } } /** * Handle all async noabort requests * * @since 5.5 */ public static function async_litespeed_handler() { $hash_data = self::get_option('async_call-hash', array()); if (!$hash_data || !is_array($hash_data) || empty($hash_data['hash']) || empty($hash_data['ts'])) { self::debug('async_litespeed_handler no hash data', $hash_data); return; } if (time() - $hash_data['ts'] > 120 || empty($_GET['nonce']) || $_GET['nonce'] != $hash_data['hash']) { self::debug('async_litespeed_handler nonce mismatch'); return; } self::delete_option('async_call-hash'); $type = Router::verify_type(); self::debug('type=' . $type); // Don't lock up other requests while processing session_write_close(); switch ($type) { case 'crawler': Crawler::async_handler(); break; case 'crawler_force': Crawler::async_handler(true); break; case 'imgoptm': Img_Optm::async_handler(); break; case 'imgoptm_force': Img_Optm::async_handler(true); break; default: } } /** * Async caller wrapper func * * @since 5.5 */ public static function async_call($type) { $hash = Str::rrand(32); self::update_option('async_call-hash', array('hash' => $hash, 'ts' => time())); $args = array( 'timeout' => 0.01, 'blocking' => false, 'sslverify' => false, // 'cookies' => $_COOKIE, ); $qs = array( 'action' => 'async_litespeed', 'nonce' => $hash, Router::TYPE => $type, ); $url = add_query_arg($qs, admin_url('admin-ajax.php')); self::debug('async call to ' . $url); wp_safe_remote_post(esc_url_raw($url), $args); } /** * Clean all potential existing crons * * @since 3.0 * @access public */ public static function destroy() { Utility::compatibility(); array_map('wp_clear_scheduled_hook', array_column(self::$_triggers, 'name')); } /** * Try to clean the crons if disabled * * @since 3.0 * @access public */ public function try_clean($id) { // Clean v2's leftover cron ( will remove in v3.1 ) // foreach ( wp_get_ready_cron_jobs() as $hooks ) { // foreach ( $hooks as $hook => $v ) { // if ( strpos( $hook, 'litespeed_' ) === 0 && ( substr( $hook, -8 ) === '_trigger' || strpos( $hook, 'litespeed_task_' ) !== 0 ) ) { // self::debug( 'Cron clear legacy [hook] ' . $hook ); // wp_clear_scheduled_hook( $hook ); // } // } // } if ($id && !empty(self::$_triggers[$id])) { if (!$this->conf($id) || ($id == Base::O_CRAWLER && !Router::can_crawl())) { self::debug('Cron clear [id] ' . $id . ' [hook] ' . self::$_triggers[$id]['name']); wp_clear_scheduled_hook(self::$_triggers[$id]['name']); } return; } self::debug('❌ Unknown cron [id] ' . $id); } /** * Register cron interval imgoptm * * @since 1.6.1 * @access public */ public function lscache_cron_filter($schedules) { if (!array_key_exists(self::FILTER, $schedules)) { $schedules[self::FILTER] = array( 'interval' => 60, 'display' => __('Every Minute', 'litespeed-cache'), ); } return $schedules; } /** * Register cron interval * * @since 1.1.0 * @access public */ public function lscache_cron_filter_crawler($schedules) { $CRAWLER_RUN_INTERVAL = defined('LITESPEED_CRAWLER_RUN_INTERVAL') ? LITESPEED_CRAWLER_RUN_INTERVAL : 600; // $wp_schedules = wp_get_schedules(); if (!array_key_exists(self::FILTER_CRAWLER, $schedules)) { // self::debug('Crawler cron log: cron filter '.$interval.' added'); $schedules[self::FILTER_CRAWLER] = array( 'interval' => $CRAWLER_RUN_INTERVAL, 'display' => __('LiteSpeed Crawler Cron', 'litespeed-cache'), ); } return $schedules; } }
Upload File
Create Folder