Edit File by line
/home/zeestwma/richards.../wp-conte.../plugins/litespee.../src
File: base.cls.php
[500] Fix | Delete
// Media
[501] Fix | Delete
self::O_MEDIA_LAZY => false,
[502] Fix | Delete
self::O_MEDIA_LAZY_PLACEHOLDER => '',
[503] Fix | Delete
self::O_MEDIA_PLACEHOLDER_RESP => false,
[504] Fix | Delete
self::O_MEDIA_PLACEHOLDER_RESP_COLOR => '',
[505] Fix | Delete
self::O_MEDIA_PLACEHOLDER_RESP_SVG => '',
[506] Fix | Delete
self::O_MEDIA_LQIP => false,
[507] Fix | Delete
self::O_MEDIA_LQIP_QUAL => 0,
[508] Fix | Delete
self::O_MEDIA_LQIP_MIN_W => 0,
[509] Fix | Delete
self::O_MEDIA_LQIP_MIN_H => 0,
[510] Fix | Delete
self::O_MEDIA_PLACEHOLDER_RESP_ASYNC => false,
[511] Fix | Delete
self::O_MEDIA_IFRAME_LAZY => false,
[512] Fix | Delete
self::O_MEDIA_ADD_MISSING_SIZES => false,
[513] Fix | Delete
self::O_MEDIA_LAZY_EXC => [],
[514] Fix | Delete
self::O_MEDIA_LAZY_CLS_EXC => [],
[515] Fix | Delete
self::O_MEDIA_LAZY_PARENT_CLS_EXC => [],
[516] Fix | Delete
self::O_MEDIA_IFRAME_LAZY_CLS_EXC => [],
[517] Fix | Delete
self::O_MEDIA_IFRAME_LAZY_PARENT_CLS_EXC => [],
[518] Fix | Delete
self::O_MEDIA_LAZY_URI_EXC => [],
[519] Fix | Delete
self::O_MEDIA_LQIP_EXC => [],
[520] Fix | Delete
self::O_MEDIA_VPI => false,
[521] Fix | Delete
self::O_MEDIA_VPI_CRON => false,
[522] Fix | Delete
self::O_MEDIA_AUTO_RESCALE_ORI => false,
[523] Fix | Delete
[524] Fix | Delete
// Image Optm
[525] Fix | Delete
self::O_IMG_OPTM_AUTO => false,
[526] Fix | Delete
self::O_IMG_OPTM_ORI => false,
[527] Fix | Delete
self::O_IMG_OPTM_RM_BKUP => false,
[528] Fix | Delete
self::O_IMG_OPTM_WEBP => false,
[529] Fix | Delete
self::O_IMG_OPTM_LOSSLESS => false,
[530] Fix | Delete
self::O_IMG_OPTM_SIZES_SKIPPED => [],
[531] Fix | Delete
self::O_IMG_OPTM_EXIF => false,
[532] Fix | Delete
self::O_IMG_OPTM_WEBP_ATTR => [],
[533] Fix | Delete
self::O_IMG_OPTM_WEBP_REPLACE_SRCSET => false,
[534] Fix | Delete
self::O_IMG_OPTM_JPG_QUALITY => 0,
[535] Fix | Delete
[536] Fix | Delete
// Crawler
[537] Fix | Delete
self::O_CRAWLER => false,
[538] Fix | Delete
self::O_CRAWLER_CRAWL_INTERVAL => 0,
[539] Fix | Delete
self::O_CRAWLER_LOAD_LIMIT => 0,
[540] Fix | Delete
self::O_CRAWLER_SITEMAP => '',
[541] Fix | Delete
self::O_CRAWLER_ROLES => [],
[542] Fix | Delete
self::O_CRAWLER_COOKIES => [],
[543] Fix | Delete
[544] Fix | Delete
// Misc
[545] Fix | Delete
self::O_MISC_HEARTBEAT_FRONT => false,
[546] Fix | Delete
self::O_MISC_HEARTBEAT_FRONT_TTL => 0,
[547] Fix | Delete
self::O_MISC_HEARTBEAT_BACK => false,
[548] Fix | Delete
self::O_MISC_HEARTBEAT_BACK_TTL => 0,
[549] Fix | Delete
self::O_MISC_HEARTBEAT_EDITOR => false,
[550] Fix | Delete
self::O_MISC_HEARTBEAT_EDITOR_TTL => 0,
[551] Fix | Delete
[552] Fix | Delete
// CDN
[553] Fix | Delete
self::O_CDN => false,
[554] Fix | Delete
self::O_CDN_ORI => [],
[555] Fix | Delete
self::O_CDN_ORI_DIR => [],
[556] Fix | Delete
self::O_CDN_EXC => [],
[557] Fix | Delete
self::O_CDN_QUIC => false,
[558] Fix | Delete
self::O_CDN_CLOUDFLARE => false,
[559] Fix | Delete
self::O_CDN_CLOUDFLARE_EMAIL => '',
[560] Fix | Delete
self::O_CDN_CLOUDFLARE_KEY => '',
[561] Fix | Delete
self::O_CDN_CLOUDFLARE_NAME => '',
[562] Fix | Delete
self::O_CDN_CLOUDFLARE_ZONE => '',
[563] Fix | Delete
self::O_CDN_CLOUDFLARE_CLEAR => false,
[564] Fix | Delete
self::O_CDN_MAPPING => [],
[565] Fix | Delete
self::O_CDN_ATTR => [],
[566] Fix | Delete
[567] Fix | Delete
self::O_QC_NAMESERVERS => '',
[568] Fix | Delete
self::O_QC_CNAME => '',
[569] Fix | Delete
[570] Fix | Delete
self::DEBUG_TMP_DISABLE => 0,
[571] Fix | Delete
];
[572] Fix | Delete
[573] Fix | Delete
/**
[574] Fix | Delete
* Default options for multisite (site-level options stored network-wide).
[575] Fix | Delete
*
[576] Fix | Delete
* @var array<string,mixed>
[577] Fix | Delete
*/
[578] Fix | Delete
protected static $_default_site_options = [
[579] Fix | Delete
self::_VER => '',
[580] Fix | Delete
self::O_CACHE => false,
[581] Fix | Delete
self::NETWORK_O_USE_PRIMARY => false,
[582] Fix | Delete
self::O_AUTO_UPGRADE => false,
[583] Fix | Delete
self::O_GUEST => false,
[584] Fix | Delete
[585] Fix | Delete
self::O_CACHE_BROWSER => false,
[586] Fix | Delete
self::O_CACHE_MOBILE => false,
[587] Fix | Delete
self::O_CACHE_MOBILE_RULES => [],
[588] Fix | Delete
self::O_CACHE_DROP_QS => [],
[589] Fix | Delete
self::O_CACHE_LOGIN_COOKIE => '',
[590] Fix | Delete
self::O_CACHE_VARY_COOKIES => [],
[591] Fix | Delete
self::O_CACHE_EXC_COOKIES => [],
[592] Fix | Delete
self::O_CACHE_EXC_USERAGENTS => [],
[593] Fix | Delete
self::O_CACHE_TTL_BROWSER => 0,
[594] Fix | Delete
[595] Fix | Delete
self::O_PURGE_ON_UPGRADE => false,
[596] Fix | Delete
[597] Fix | Delete
self::O_OBJECT => false,
[598] Fix | Delete
self::O_OBJECT_KIND => false,
[599] Fix | Delete
self::O_OBJECT_HOST => '',
[600] Fix | Delete
self::O_OBJECT_PORT => 0,
[601] Fix | Delete
self::O_OBJECT_LIFE => 0,
[602] Fix | Delete
self::O_OBJECT_PERSISTENT => false,
[603] Fix | Delete
self::O_OBJECT_ADMIN => false,
[604] Fix | Delete
self::O_OBJECT_DB_ID => 0,
[605] Fix | Delete
self::O_OBJECT_USER => '',
[606] Fix | Delete
self::O_OBJECT_PSWD => '',
[607] Fix | Delete
self::O_OBJECT_GLOBAL_GROUPS => [],
[608] Fix | Delete
self::O_OBJECT_NON_PERSISTENT_GROUPS => [],
[609] Fix | Delete
[610] Fix | Delete
// Debug
[611] Fix | Delete
self::O_DEBUG_DISABLE_ALL => false,
[612] Fix | Delete
self::O_DEBUG => false,
[613] Fix | Delete
self::O_DEBUG_IPS => [],
[614] Fix | Delete
self::O_DEBUG_LEVEL => false,
[615] Fix | Delete
self::O_DEBUG_FILESIZE => 0,
[616] Fix | Delete
self::O_DEBUG_COLLAPSE_QS => false,
[617] Fix | Delete
self::O_DEBUG_INC => [],
[618] Fix | Delete
self::O_DEBUG_EXC => [],
[619] Fix | Delete
self::O_DEBUG_EXC_STRINGS => [],
[620] Fix | Delete
[621] Fix | Delete
self::O_IMG_OPTM_WEBP => false,
[622] Fix | Delete
];
[623] Fix | Delete
[624] Fix | Delete
/**
[625] Fix | Delete
* Multi-switch options: option ID => max state (int).
[626] Fix | Delete
* NOTE: all the val of following items will be int while not bool
[627] Fix | Delete
*
[628] Fix | Delete
* @var array<string,int>
[629] Fix | Delete
*/
[630] Fix | Delete
protected static $_multi_switch_list = [
[631] Fix | Delete
self::O_DEBUG => 2,
[632] Fix | Delete
self::O_OPTM_JS_DEFER => 2,
[633] Fix | Delete
self::O_IMG_OPTM_WEBP => 2,
[634] Fix | Delete
];
[635] Fix | Delete
[636] Fix | Delete
/**
[637] Fix | Delete
* Cache for blog options to avoid repeated switch_to_blog calls.
[638] Fix | Delete
* Structure: [ blog_id => [ option_name => value, ... ], ... ]
[639] Fix | Delete
*
[640] Fix | Delete
* @since 7.8
[641] Fix | Delete
* @var array<int,array<string,mixed>>
[642] Fix | Delete
*/
[643] Fix | Delete
private static $_blog_options_cache = [];
[644] Fix | Delete
[645] Fix | Delete
/**
[646] Fix | Delete
* Get option from another blog with batch preload optimization.
[647] Fix | Delete
*
[648] Fix | Delete
* Reduces N*2 switch_to_blog calls to just 2 by preloading all options on first call.
[649] Fix | Delete
*
[650] Fix | Delete
* @since 7.8
[651] Fix | Delete
* @param int $blog_id Blog ID to get option from.
[652] Fix | Delete
* @param string $id Option ID (without prefix).
[653] Fix | Delete
* @param mixed $default_v Default value if option not found.
[654] Fix | Delete
* @return mixed Option value.
[655] Fix | Delete
*/
[656] Fix | Delete
public static function get_blog_option( $blog_id, $id, $default_v = false ) {
[657] Fix | Delete
$blog_id = (int) $blog_id;
[658] Fix | Delete
[659] Fix | Delete
// If current blog, use get_option directly (no switch needed).
[660] Fix | Delete
if ( get_current_blog_id() === $blog_id ) {
[661] Fix | Delete
return self::get_option( $id, $default_v );
[662] Fix | Delete
}
[663] Fix | Delete
[664] Fix | Delete
// Preload all options for this blog if not cached.
[665] Fix | Delete
if ( ! isset( self::$_blog_options_cache[ $blog_id ] ) ) {
[666] Fix | Delete
self::_preload_blog_options( $blog_id );
[667] Fix | Delete
}
[668] Fix | Delete
[669] Fix | Delete
$v = self::$_blog_options_cache[ $blog_id ][ $id ];
[670] Fix | Delete
[671] Fix | Delete
// Maybe decode array.
[672] Fix | Delete
if ( is_array( $default_v ) ) {
[673] Fix | Delete
$v = self::_maybe_decode( $v );
[674] Fix | Delete
}
[675] Fix | Delete
[676] Fix | Delete
return $v;
[677] Fix | Delete
}
[678] Fix | Delete
[679] Fix | Delete
/**
[680] Fix | Delete
* Preload all conf options for a blog into cache.
[681] Fix | Delete
*
[682] Fix | Delete
* @since 7.8
[683] Fix | Delete
* @param int $blog_id Blog ID to preload options from.
[684] Fix | Delete
*/
[685] Fix | Delete
private static function _preload_blog_options( $blog_id ) {
[686] Fix | Delete
self::$_blog_options_cache[ $blog_id ] = [];
[687] Fix | Delete
[688] Fix | Delete
switch_to_blog( $blog_id );
[689] Fix | Delete
[690] Fix | Delete
foreach ( self::$_default_options as $id => $default_v ) {
[691] Fix | Delete
self::$_blog_options_cache[ $blog_id ][ $id ] = get_option( self::name( $id ), $default_v );
[692] Fix | Delete
}
[693] Fix | Delete
[694] Fix | Delete
restore_current_blog();
[695] Fix | Delete
}
[696] Fix | Delete
[697] Fix | Delete
/**
[698] Fix | Delete
* Correct the option type.
[699] Fix | Delete
*
[700] Fix | Delete
* TODO: add similar network func
[701] Fix | Delete
*
[702] Fix | Delete
* @since 3.0.3
[703] Fix | Delete
*
[704] Fix | Delete
* @param mixed $val Incoming value.
[705] Fix | Delete
* @param string $id Option ID.
[706] Fix | Delete
* @param bool $is_site_conf Whether using site-level defaults.
[707] Fix | Delete
* @return mixed
[708] Fix | Delete
*/
[709] Fix | Delete
protected function type_casting( $val, $id, $is_site_conf = false ) {
[710] Fix | Delete
$default_v = ! $is_site_conf ? self::$_default_options[ $id ] : self::$_default_site_options[ $id ];
[711] Fix | Delete
if ( is_bool( $default_v ) ) {
[712] Fix | Delete
if ( 'true' === $val ) {
[713] Fix | Delete
$val = true;
[714] Fix | Delete
}
[715] Fix | Delete
if ( 'false' === $val ) {
[716] Fix | Delete
$val = false;
[717] Fix | Delete
}
[718] Fix | Delete
[719] Fix | Delete
$max = $this->_conf_multi_switch( $id );
[720] Fix | Delete
if ( $max ) {
[721] Fix | Delete
$val = (int) $val;
[722] Fix | Delete
$val %= $max + 1;
[723] Fix | Delete
} else {
[724] Fix | Delete
$val = (bool) $val;
[725] Fix | Delete
}
[726] Fix | Delete
} elseif ( is_array( $default_v ) ) {
[727] Fix | Delete
// from textarea input
[728] Fix | Delete
if ( ! is_array( $val ) ) {
[729] Fix | Delete
$val = Utility::sanitize_lines( $val, $this->_conf_filter( $id ) );
[730] Fix | Delete
}
[731] Fix | Delete
} elseif ( ! is_string( $default_v ) ) {
[732] Fix | Delete
$val = (int) $val;
[733] Fix | Delete
} else {
[734] Fix | Delete
// Check if the string has a limit set
[735] Fix | Delete
$val = $this->_conf_string_val( $id, $val );
[736] Fix | Delete
}
[737] Fix | Delete
[738] Fix | Delete
return $val;
[739] Fix | Delete
}
[740] Fix | Delete
[741] Fix | Delete
/**
[742] Fix | Delete
* Load default network settings from data.ini
[743] Fix | Delete
*
[744] Fix | Delete
* @since 3.0
[745] Fix | Delete
* @return array<string,mixed>
[746] Fix | Delete
*/
[747] Fix | Delete
public function load_default_site_vals() {
[748] Fix | Delete
// Load network_default.json
[749] Fix | Delete
if ( file_exists( LSCWP_DIR . 'data/const.network_default.json' ) ) {
[750] Fix | Delete
$default_ini_cfg = json_decode( File::read( LSCWP_DIR . 'data/const.network_default.json' ), true );
[751] Fix | Delete
foreach ( self::$_default_site_options as $k => $v ) {
[752] Fix | Delete
if ( ! array_key_exists( $k, $default_ini_cfg ) ) {
[753] Fix | Delete
continue;
[754] Fix | Delete
}
[755] Fix | Delete
[756] Fix | Delete
// Parse value in ini file
[757] Fix | Delete
$ini_v = $this->type_casting( $default_ini_cfg[ $k ], $k, true );
[758] Fix | Delete
[759] Fix | Delete
if ( $ini_v === $v ) {
[760] Fix | Delete
continue;
[761] Fix | Delete
}
[762] Fix | Delete
[763] Fix | Delete
self::$_default_site_options[ $k ] = $ini_v;
[764] Fix | Delete
}
[765] Fix | Delete
}
[766] Fix | Delete
[767] Fix | Delete
self::$_default_site_options[ self::_VER ] = Core::VER;
[768] Fix | Delete
[769] Fix | Delete
return self::$_default_site_options;
[770] Fix | Delete
}
[771] Fix | Delete
[772] Fix | Delete
/**
[773] Fix | Delete
* Load default values from default.json
[774] Fix | Delete
*
[775] Fix | Delete
* @since 3.0
[776] Fix | Delete
* @access public
[777] Fix | Delete
* @return array<string,mixed>
[778] Fix | Delete
*/
[779] Fix | Delete
public function load_default_vals() {
[780] Fix | Delete
// Load default.json
[781] Fix | Delete
if ( file_exists( LSCWP_DIR . 'data/const.default.json' ) ) {
[782] Fix | Delete
$default_ini_cfg = json_decode( File::read( LSCWP_DIR . 'data/const.default.json' ), true );
[783] Fix | Delete
foreach ( self::$_default_options as $k => $v ) {
[784] Fix | Delete
if ( ! array_key_exists( $k, $default_ini_cfg ) ) {
[785] Fix | Delete
continue;
[786] Fix | Delete
}
[787] Fix | Delete
[788] Fix | Delete
// Parse value in ini file
[789] Fix | Delete
$ini_v = $this->type_casting( $default_ini_cfg[ $k ], $k );
[790] Fix | Delete
[791] Fix | Delete
// NOTE: Multiple lines value must be stored as array
[792] Fix | Delete
/**
[793] Fix | Delete
* Special handler for CDN_mapping
[794] Fix | Delete
*
[795] Fix | Delete
* Format in .ini:
[796] Fix | Delete
* [cdn-mapping]
[797] Fix | Delete
* url[0] = 'https://example.com/'
[798] Fix | Delete
* inc_js[0] = true
[799] Fix | Delete
* filetype[0] = '.css
[800] Fix | Delete
* .js
[801] Fix | Delete
* .jpg'
[802] Fix | Delete
*
[803] Fix | Delete
* format out:
[804] Fix | Delete
* [0] = [ 'url' => 'https://example.com', 'inc_js' => true, 'filetype' => [ '.css', '.js', '.jpg' ] ]
[805] Fix | Delete
*/
[806] Fix | Delete
if ( self::O_CDN_MAPPING === $k ) {
[807] Fix | Delete
$mapping_fields = [
[808] Fix | Delete
self::CDN_MAPPING_URL,
[809] Fix | Delete
self::CDN_MAPPING_INC_IMG,
[810] Fix | Delete
self::CDN_MAPPING_INC_CSS,
[811] Fix | Delete
self::CDN_MAPPING_INC_JS,
[812] Fix | Delete
self::CDN_MAPPING_FILETYPE, // Array
[813] Fix | Delete
];
[814] Fix | Delete
$ini_v2 = [];
[815] Fix | Delete
foreach ( $ini_v[ self::CDN_MAPPING_URL ] as $k2 => $v2 ) {
[816] Fix | Delete
// $k2 is numeric
[817] Fix | Delete
$this_row = [];
[818] Fix | Delete
foreach ( $mapping_fields as $v3 ) {
[819] Fix | Delete
$this_v = ! empty( $ini_v[ $v3 ][ $k2 ] ) ? $ini_v[ $v3 ][ $k2 ] : false;
[820] Fix | Delete
if ( self::CDN_MAPPING_URL === $v3 ) {
[821] Fix | Delete
if ( empty( $this_v ) ) {
[822] Fix | Delete
$this_v = '';
[823] Fix | Delete
}
[824] Fix | Delete
}
[825] Fix | Delete
if ( self::CDN_MAPPING_FILETYPE === $v3 ) {
[826] Fix | Delete
$this_v = $this_v ? Utility::sanitize_lines( $this_v ) : []; // Note: Since v3.0 its already an array
[827] Fix | Delete
}
[828] Fix | Delete
$this_row[ $v3 ] = $this_v;
[829] Fix | Delete
}
[830] Fix | Delete
$ini_v2[ $k2 ] = $this_row;
[831] Fix | Delete
}
[832] Fix | Delete
$ini_v = $ini_v2;
[833] Fix | Delete
}
[834] Fix | Delete
[835] Fix | Delete
if ( $ini_v === $v ) {
[836] Fix | Delete
continue;
[837] Fix | Delete
}
[838] Fix | Delete
[839] Fix | Delete
self::$_default_options[ $k ] = $ini_v;
[840] Fix | Delete
}
[841] Fix | Delete
}
[842] Fix | Delete
[843] Fix | Delete
// Load internal default vals
[844] Fix | Delete
// Setting the default bool to int is also to avoid type casting override it back to bool
[845] Fix | Delete
self::$_default_options[ self::O_CACHE ] = is_multisite() ? self::VAL_ON2 : self::VAL_ON; // For multi site, default is 2 (Use Network Admin Settings). For single site, default is 1 (Enabled).
[846] Fix | Delete
[847] Fix | Delete
// Load default vals containing variables
[848] Fix | Delete
if ( ! self::$_default_options[ self::O_CDN_ORI_DIR ] ) {
[849] Fix | Delete
self::$_default_options[ self::O_CDN_ORI_DIR ] = LSCWP_CONTENT_FOLDER . "\nwp-includes";
[850] Fix | Delete
self::$_default_options[ self::O_CDN_ORI_DIR ] = explode( "\n", self::$_default_options[ self::O_CDN_ORI_DIR ] );
[851] Fix | Delete
self::$_default_options[ self::O_CDN_ORI_DIR ] = array_map( 'trim', self::$_default_options[ self::O_CDN_ORI_DIR ] );
[852] Fix | Delete
}
[853] Fix | Delete
[854] Fix | Delete
// Set security key if not initialized yet
[855] Fix | Delete
if ( ! self::$_default_options[ self::HASH ] ) {
[856] Fix | Delete
self::$_default_options[ self::HASH ] = Str::rrand( 32 );
[857] Fix | Delete
}
[858] Fix | Delete
[859] Fix | Delete
self::$_default_options[ self::_VER ] = Core::VER;
[860] Fix | Delete
[861] Fix | Delete
return self::$_default_options;
[862] Fix | Delete
}
[863] Fix | Delete
[864] Fix | Delete
/**
[865] Fix | Delete
* Format the string value.
[866] Fix | Delete
*
[867] Fix | Delete
* @since 3.0
[868] Fix | Delete
*
[869] Fix | Delete
* @param string $id Option ID.
[870] Fix | Delete
* @param mixed $val Value.
[871] Fix | Delete
* @return string
[872] Fix | Delete
*/
[873] Fix | Delete
protected function _conf_string_val( $id, $val ) {
[874] Fix | Delete
return (string) $val;
[875] Fix | Delete
}
[876] Fix | Delete
[877] Fix | Delete
/**
[878] Fix | Delete
* If the switch setting is a triple value or not.
[879] Fix | Delete
*
[880] Fix | Delete
* @since 3.0
[881] Fix | Delete
*
[882] Fix | Delete
* @param string $id Option ID.
[883] Fix | Delete
* @return int|false
[884] Fix | Delete
*/
[885] Fix | Delete
protected function _conf_multi_switch( $id ) {
[886] Fix | Delete
if ( ! empty( self::$_multi_switch_list[ $id ] ) ) {
[887] Fix | Delete
return self::$_multi_switch_list[ $id ];
[888] Fix | Delete
}
[889] Fix | Delete
[890] Fix | Delete
if ( self::O_CACHE === $id && is_multisite() ) {
[891] Fix | Delete
return self::VAL_ON2;
[892] Fix | Delete
}
[893] Fix | Delete
[894] Fix | Delete
return false;
[895] Fix | Delete
}
[896] Fix | Delete
[897] Fix | Delete
/**
[898] Fix | Delete
* Append a new multi switch max limit for the bool option.
[899] Fix | Delete
*
[900] Fix | Delete
* @since 3.0
[901] Fix | Delete
*
[902] Fix | Delete
* @param string $id Option ID.
[903] Fix | Delete
* @param int $v Max state.
[904] Fix | Delete
* @return void
[905] Fix | Delete
*/
[906] Fix | Delete
public static function set_multi_switch( $id, $v ) {
[907] Fix | Delete
self::$_multi_switch_list[ $id ] = $v;
[908] Fix | Delete
}
[909] Fix | Delete
[910] Fix | Delete
/**
[911] Fix | Delete
* Generate const name based on $id.
[912] Fix | Delete
*
[913] Fix | Delete
* @since 3.0
[914] Fix | Delete
*
[915] Fix | Delete
* @param string $id Option ID.
[916] Fix | Delete
* @return string
[917] Fix | Delete
*/
[918] Fix | Delete
public static function conf_const( $id ) {
[919] Fix | Delete
return 'LITESPEED_CONF__' . strtoupper( str_replace( '-', '__', $id ) );
[920] Fix | Delete
}
[921] Fix | Delete
[922] Fix | Delete
/**
[923] Fix | Delete
* Filter to be used when saving setting.
[924] Fix | Delete
*
[925] Fix | Delete
* @since 3.0
[926] Fix | Delete
*
[927] Fix | Delete
* @param string $id Option ID.
[928] Fix | Delete
* @return string|false
[929] Fix | Delete
*/
[930] Fix | Delete
protected function _conf_filter( $id ) {
[931] Fix | Delete
$filters = [
[932] Fix | Delete
self::O_MEDIA_LAZY_EXC => 'uri',
[933] Fix | Delete
self::O_DEBUG_INC => 'relative',
[934] Fix | Delete
self::O_DEBUG_EXC => 'relative',
[935] Fix | Delete
self::O_MEDIA_LAZY_URI_EXC => 'relative',
[936] Fix | Delete
self::O_CACHE_PRIV_URI => 'relative',
[937] Fix | Delete
self::O_PURGE_TIMED_URLS => 'relative',
[938] Fix | Delete
self::O_CACHE_FORCE_URI => 'relative',
[939] Fix | Delete
self::O_CACHE_FORCE_PUB_URI => 'relative',
[940] Fix | Delete
self::O_CACHE_EXC => 'relative',
[941] Fix | Delete
// self::O_OPTM_CSS_EXC => 'uri', // Need to comment out for inline & external CSS
[942] Fix | Delete
// self::O_OPTM_JS_EXC => 'uri',
[943] Fix | Delete
self::O_OPTM_EXC => 'relative',
[944] Fix | Delete
self::O_OPTM_CCSS_SEP_URI => 'uri',
[945] Fix | Delete
// self::O_OPTM_JS_DEFER_EXC => 'uri',
[946] Fix | Delete
self::O_OPTM_DNS_PREFETCH => 'domain',
[947] Fix | Delete
self::O_CDN_ORI => 'noprotocol,trailingslash', // `Original URLs`
[948] Fix | Delete
// self::O_OPTM_LOCALIZE_DOMAINS => 'noprotocol', // `Localize Resources`
[949] Fix | Delete
// self:: => '',
[950] Fix | Delete
// self:: => '',
[951] Fix | Delete
];
[952] Fix | Delete
[953] Fix | Delete
if ( ! empty( $filters[ $id ] ) ) {
[954] Fix | Delete
return $filters[ $id ];
[955] Fix | Delete
}
[956] Fix | Delete
[957] Fix | Delete
return false;
[958] Fix | Delete
}
[959] Fix | Delete
[960] Fix | Delete
/**
[961] Fix | Delete
* If the setting changes worth a purge or not.
[962] Fix | Delete
*
[963] Fix | Delete
* @since 3.0
[964] Fix | Delete
*
[965] Fix | Delete
* @param string $id Option ID.
[966] Fix | Delete
* @return bool
[967] Fix | Delete
*/
[968] Fix | Delete
protected function _conf_purge( $id ) {
[969] Fix | Delete
$check_ids = [
[970] Fix | Delete
self::O_MEDIA_LAZY_URI_EXC,
[971] Fix | Delete
self::O_OPTM_EXC,
[972] Fix | Delete
self::O_CACHE_PRIV_URI,
[973] Fix | Delete
self::O_PURGE_TIMED_URLS,
[974] Fix | Delete
self::O_CACHE_FORCE_URI,
[975] Fix | Delete
self::O_CACHE_FORCE_PUB_URI,
[976] Fix | Delete
self::O_CACHE_EXC,
[977] Fix | Delete
];
[978] Fix | Delete
[979] Fix | Delete
return in_array( $id, $check_ids, true );
[980] Fix | Delete
}
[981] Fix | Delete
[982] Fix | Delete
/**
[983] Fix | Delete
* If the setting changes worth a purge ALL or not.
[984] Fix | Delete
*
[985] Fix | Delete
* @since 3.0
[986] Fix | Delete
*
[987] Fix | Delete
* @param string $id Option ID.
[988] Fix | Delete
* @return bool
[989] Fix | Delete
*/
[990] Fix | Delete
protected function _conf_purge_all( $id ) {
[991] Fix | Delete
$check_ids = [ self::O_CACHE, self::O_ESI, self::O_DEBUG_DISABLE_ALL, self::NETWORK_O_USE_PRIMARY ];
[992] Fix | Delete
[993] Fix | Delete
return in_array( $id, $check_ids, true );
[994] Fix | Delete
}
[995] Fix | Delete
[996] Fix | Delete
/**
[997] Fix | Delete
* If the setting is a password or not.
[998] Fix | Delete
*
[999] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function