Edit File by line
/home/zeestwma/richards.../wp-conte.../plugins/litespee.../src
File: ucss.cls.php
continue;
[500] Fix | Delete
}
[501] Fix | Delete
[502] Fix | Delete
Debug2::debug2('[CSS] Load inline CSS ' . substr($match[3], 0, 100) . '...', $attrs);
[503] Fix | Delete
$con = $match[3];
[504] Fix | Delete
[505] Fix | Delete
$debug_info = '__INLINE__';
[506] Fix | Delete
}
[507] Fix | Delete
[508] Fix | Delete
$con = Optimizer::minify_css($con);
[509] Fix | Delete
if ($is_webp && $this->cls('Media')->webp_support()) {
[510] Fix | Delete
$con = $this->cls('Media')->replace_background_webp($con);
[511] Fix | Delete
}
[512] Fix | Delete
[513] Fix | Delete
if ( ! empty( $attrs['media'] ) && 'all' !== $attrs['media'] ) {
[514] Fix | Delete
$con = '@media ' . $attrs['media'] . '{' . $con . "}\n";
[515] Fix | Delete
} else {
[516] Fix | Delete
$con = $con . "\n";
[517] Fix | Delete
}
[518] Fix | Delete
[519] Fix | Delete
$con = '/* ' . $debug_info . ' */' . $con;
[520] Fix | Delete
$css .= $con;
[521] Fix | Delete
[522] Fix | Delete
$html = str_replace($match[0], '', $html);
[523] Fix | Delete
}
[524] Fix | Delete
[525] Fix | Delete
return [ $css, $html ];
[526] Fix | Delete
}
[527] Fix | Delete
[528] Fix | Delete
/**
[529] Fix | Delete
* Filter the comment content, add quotes to selector from whitelist. Return the json
[530] Fix | Delete
*
[531] Fix | Delete
* @since 3.3
[532] Fix | Delete
*/
[533] Fix | Delete
private function _filter_whitelist() {
[534] Fix | Delete
$whitelist = [];
[535] Fix | Delete
$list = apply_filters('litespeed_ucss_whitelist', $this->conf(self::O_OPTM_UCSS_SELECTOR_WHITELIST));
[536] Fix | Delete
foreach ($list as $k => $v) {
[537] Fix | Delete
if (substr($v, 0, 2) === '//') {
[538] Fix | Delete
continue;
[539] Fix | Delete
}
[540] Fix | Delete
$whitelist[] = $v;
[541] Fix | Delete
}
[542] Fix | Delete
[543] Fix | Delete
return $whitelist;
[544] Fix | Delete
}
[545] Fix | Delete
[546] Fix | Delete
/**
[547] Fix | Delete
* Notify finished from server
[548] Fix | Delete
*
[549] Fix | Delete
* @since 5.1
[550] Fix | Delete
*/
[551] Fix | Delete
public function notify() {
[552] Fix | Delete
$post_data = \json_decode( file_get_contents( 'php://input' ), true );
[553] Fix | Delete
if ( is_null( $post_data ) ) {
[554] Fix | Delete
// phpcs:ignore WordPress.Security.NonceVerification.Missing -- This is a callback from QUIC.cloud, verified by extract_msg()
[555] Fix | Delete
$post_data = $_POST;
[556] Fix | Delete
}
[557] Fix | Delete
self::debug('notify() data', $post_data);
[558] Fix | Delete
[559] Fix | Delete
$this->_queue = $this->load_queue('ucss');
[560] Fix | Delete
[561] Fix | Delete
list($post_data) = $this->cls('Cloud')->extract_msg($post_data, 'ucss');
[562] Fix | Delete
[563] Fix | Delete
$notified_data = $post_data['data'];
[564] Fix | Delete
if (empty($notified_data) || !is_array($notified_data)) {
[565] Fix | Delete
self::debug('❌ notify exit: no notified data');
[566] Fix | Delete
return Cloud::err('no notified data');
[567] Fix | Delete
}
[568] Fix | Delete
[569] Fix | Delete
// Check if its in queue or not
[570] Fix | Delete
$valid_i = 0;
[571] Fix | Delete
foreach ($notified_data as $v) {
[572] Fix | Delete
if (empty($v['request_url'])) {
[573] Fix | Delete
self::debug('❌ notify bypass: no request_url', $v);
[574] Fix | Delete
continue;
[575] Fix | Delete
}
[576] Fix | Delete
if (empty($v['queue_k'])) {
[577] Fix | Delete
self::debug('❌ notify bypass: no queue_k', $v);
[578] Fix | Delete
continue;
[579] Fix | Delete
}
[580] Fix | Delete
[581] Fix | Delete
if (empty($this->_queue[$v['queue_k']])) {
[582] Fix | Delete
self::debug('❌ notify bypass: no this queue [q_k]' . $v['queue_k']);
[583] Fix | Delete
continue;
[584] Fix | Delete
}
[585] Fix | Delete
[586] Fix | Delete
// Save data
[587] Fix | Delete
if (!empty($v['data_ucss'])) {
[588] Fix | Delete
$is_mobile = $this->_queue[$v['queue_k']]['is_mobile'];
[589] Fix | Delete
$is_webp = $this->_queue[$v['queue_k']]['is_webp'];
[590] Fix | Delete
$this->_save_con('ucss', $v['data_ucss'], $v['queue_k'], $is_mobile, $is_webp);
[591] Fix | Delete
[592] Fix | Delete
++$valid_i;
[593] Fix | Delete
}
[594] Fix | Delete
[595] Fix | Delete
unset($this->_queue[$v['queue_k']]);
[596] Fix | Delete
self::debug('notify data handled, unset queue [q_k] ' . $v['queue_k']);
[597] Fix | Delete
}
[598] Fix | Delete
$this->save_queue('ucss', $this->_queue);
[599] Fix | Delete
[600] Fix | Delete
self::debug('notified');
[601] Fix | Delete
[602] Fix | Delete
return Cloud::ok( [ 'count' => $valid_i ] );
[603] Fix | Delete
}
[604] Fix | Delete
[605] Fix | Delete
/**
[606] Fix | Delete
* Handle all request actions from main cls
[607] Fix | Delete
*
[608] Fix | Delete
* @since 2.3
[609] Fix | Delete
* @access public
[610] Fix | Delete
*/
[611] Fix | Delete
public function handler() {
[612] Fix | Delete
$type = Router::verify_type();
[613] Fix | Delete
[614] Fix | Delete
switch ($type) {
[615] Fix | Delete
case self::TYPE_GEN:
[616] Fix | Delete
self::cron(true);
[617] Fix | Delete
break;
[618] Fix | Delete
[619] Fix | Delete
case self::TYPE_CLEAR_Q:
[620] Fix | Delete
$this->clear_q('ucss');
[621] Fix | Delete
break;
[622] Fix | Delete
[623] Fix | Delete
default:
[624] Fix | Delete
break;
[625] Fix | Delete
}
[626] Fix | Delete
[627] Fix | Delete
Admin::redirect();
[628] Fix | Delete
}
[629] Fix | Delete
}
[630] Fix | Delete
[631] Fix | Delete
12
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function