Version Description
- Dec 21 2020 =
- WP Tested up to WP v5.6.
- WebP Reverted WebP support on Safari Big Sur and Safari v14.0.1+ due to an inability to detect MacOS versions from UA. (@antomal)
-
CDN Dropped the option
Load JQuery Remotely
. - CDN Fixed CDN URL replacement issue in optimized CSS files. (@ankit)
-
CDN Fixed an issue where CDN CLI wouldn't set mapping image/CSS/JS to OFF when
false
was the value. - CDN Started using React for CDN Mapping settings.
- GUI Secured Server IP setting from potential XSS issues. (@WonTae Jang)
- Toolbox Supported both dev and master branches for Beta Test. Latest version updated to v3.6.1.
- Purge Purge Pages now can purge non-archive pages too.
- Admin Simplified the admin JS.
- Admin Limited crawler-related react JS to crawler page only.
Download this release
Release Info
Developer | LiteSpeedTech |
Plugin | LiteSpeed Cache |
Version | 3.6.1 |
Comparing to | |
See all releases |
Code changes from version 3.6 to 3.6.1
- assets/js/component.cdn.js +149 -0
- assets/js/component.crawler.js +2 -1
- assets/js/litespeed-cache-admin.js +0 -51
- data/const.default.ini +0 -2
- data/css_excludes.txt +1 -1
- data/esi.nonces.txt +1 -1
- data/js_defer_excludes.txt +1 -1
- data/js_excludes.txt +3 -1
- lang/litespeed-cache.pot +130 -131
- litespeed-cache.php +2 -2
- readme.txt +16 -3
- src/admin-display.cls.php +33 -7
- src/admin-settings.cls.php +1 -1
- src/base.cls.php +0 -4
- src/cdn.cls.php +0 -39
- src/data.upgrade.func.php +1 -1
- src/htaccess.cls.php +1 -3
- src/lang.cls.php +0 -1
- src/media.cls.php +0 -7
- src/optimizer.cls.php +2 -0
- src/purge.cls.php +2 -0
- tpl/cdn/settings.tpl.php +12 -76
- tpl/crawler/settings-simulation.tpl.php +1 -19
- tpl/toolbox/beta_test.tpl.php +5 -1
assets/js/component.cdn.js
ADDED
@@ -0,0 +1,149 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* CDN module
|
3 |
+
* @author Hai Zheng
|
4 |
+
*/
|
5 |
+
class CDNMapping extends React.Component {
|
6 |
+
constructor( props ) {
|
7 |
+
super( props );
|
8 |
+
this.state = {
|
9 |
+
list: props.list
|
10 |
+
};
|
11 |
+
|
12 |
+
this.onChange = this.onChange.bind( this );
|
13 |
+
this.delRow = this.delRow.bind( this );
|
14 |
+
this.addNew = this.addNew.bind( this );
|
15 |
+
}
|
16 |
+
|
17 |
+
onChange( e, index ) {
|
18 |
+
const target = e.currentTarget;
|
19 |
+
const value = target.dataset.hasOwnProperty('value') ? Boolean(target.dataset.value*1) : target.value;
|
20 |
+
const list = this.state.list;
|
21 |
+
list[ index ][ target.dataset.type ] = value;
|
22 |
+
|
23 |
+
this.setState( {
|
24 |
+
list: list
|
25 |
+
} );
|
26 |
+
}
|
27 |
+
|
28 |
+
delRow( index ) {
|
29 |
+
const data = this.state.list;
|
30 |
+
data.splice( index, 1 );
|
31 |
+
this.setState( { list: data } );
|
32 |
+
}
|
33 |
+
|
34 |
+
addNew() {
|
35 |
+
const list = this.state.list;
|
36 |
+
list.push( { url: '' } );
|
37 |
+
this.setState( { list: list } );
|
38 |
+
}
|
39 |
+
|
40 |
+
render() {
|
41 |
+
return (
|
42 |
+
<React.Fragment>
|
43 |
+
{ this.state.list.map( (item, i) => (
|
44 |
+
<CDNMappingBlock item={item} key={i} index={i} onChange={this.onChange} delRow={this.delRow} />
|
45 |
+
) ) }
|
46 |
+
|
47 |
+
<p>
|
48 |
+
<button type="button" className="button button-link litespeed-form-action litespeed-link-with-icon" onClick={this.addNew}>
|
49 |
+
<span className="dashicons dashicons-plus-alt"></span>{litespeed_data[ 'lang' ][ 'add_cdn_mapping_row' ]}
|
50 |
+
</button>
|
51 |
+
</p>
|
52 |
+
</React.Fragment>
|
53 |
+
);
|
54 |
+
}
|
55 |
+
}
|
56 |
+
|
57 |
+
// { url: '', inc_img: true, inc_css: false, inc_js: false, filetype: [ '.aac', '.eot', ... ] }
|
58 |
+
class CDNMappingBlock extends React.Component {
|
59 |
+
constructor( props ) {
|
60 |
+
super( props );
|
61 |
+
|
62 |
+
this.onChange = this.onChange.bind( this );
|
63 |
+
this.delRow = this.delRow.bind( this );
|
64 |
+
}
|
65 |
+
|
66 |
+
onChange( e ) {
|
67 |
+
this.props.onChange( e, this.props.index );
|
68 |
+
}
|
69 |
+
|
70 |
+
delRow() {
|
71 |
+
this.props.delRow( this.props.index );
|
72 |
+
}
|
73 |
+
|
74 |
+
render() {
|
75 |
+
const name_prefix = litespeed_data[ 'ids' ][ 'cdn_mapping' ];
|
76 |
+
|
77 |
+
const item = this.props.item;
|
78 |
+
|
79 |
+
const filetype = item.filetype ? Array.isArray(item.filetype) ? item.filetype.join("\n") : item.filetype : '';
|
80 |
+
return (
|
81 |
+
<div className="litespeed-block">
|
82 |
+
<div className='litespeed-cdn-mapping-col1'>
|
83 |
+
<label className="litespeed-form-label">{ litespeed_data[ 'lang' ][ 'cdn_mapping_url' ] }</label>
|
84 |
+
<input type="text" name={ name_prefix + '[url][]' } className="regular-text litespeed-input-long" value={item.url} data-type="url" onChange={this.onChange} />
|
85 |
+
|
86 |
+
<div className="litespeed-desc">
|
87 |
+
<span dangerouslySetInnerHTML={{ __html: litespeed_data[ 'lang' ][ 'cdn_mapping_url_desc' ] }} />
|
88 |
+
</div>
|
89 |
+
</div>
|
90 |
+
|
91 |
+
<div className="litespeed-col-auto litespeed-cdn-mapping-col2">
|
92 |
+
<div className="litespeed-row litespeed-toggle-wrapper">
|
93 |
+
<div className="litespeed-cdn-mapping-inc litespeed-form-label litespeed-form-label--toggle">
|
94 |
+
{ litespeed_data[ 'lang' ][ 'cdn_mapping_inc_img' ] }
|
95 |
+
</div>
|
96 |
+
<div className={`litespeed-toggle litespeed-toggle-btn litespeed-toggle-btn-${item.inc_img?'primary':'default litespeed-toggleoff'}`} data-type="inc_img" data-value={item.inc_img?0:1} onClick={this.onChange}>
|
97 |
+
<input name={ name_prefix + '[inc_img][]' } type='hidden' value={item.inc_img?1:0} />
|
98 |
+
<div className='litespeed-toggle-group'>
|
99 |
+
<label className='litespeed-toggle-btn litespeed-toggle-btn-primary litespeed-toggle-on'>{ litespeed_data[ 'lang' ][ 'on' ] }</label>
|
100 |
+
<label className='litespeed-toggle-btn litespeed-toggle-btn-default litespeed-toggle-active litespeed-toggle-off'>{ litespeed_data[ 'lang' ][ 'off' ] }</label>
|
101 |
+
<span className='litespeed-toggle-handle litespeed-toggle-btn litespeed-toggle-btn-default'></span>
|
102 |
+
</div>
|
103 |
+
</div>
|
104 |
+
</div>
|
105 |
+
<div className="litespeed-row litespeed-toggle-wrapper">
|
106 |
+
<div className="litespeed-cdn-mapping-inc litespeed-form-label litespeed-form-label--toggle">
|
107 |
+
{ litespeed_data[ 'lang' ][ 'cdn_mapping_inc_css' ] }
|
108 |
+
</div>
|
109 |
+
<div className={`litespeed-toggle litespeed-toggle-btn litespeed-toggle-btn-${item.inc_css?'primary':'default litespeed-toggleoff'}`} data-type="inc_css" data-value={item.inc_css?0:1} onClick={this.onChange}>
|
110 |
+
<input name={ name_prefix + '[inc_css][]' } type='hidden' value={item.inc_css?1:0} />
|
111 |
+
<div className='litespeed-toggle-group'>
|
112 |
+
<label className='litespeed-toggle-btn litespeed-toggle-btn-primary litespeed-toggle-on'>{ litespeed_data[ 'lang' ][ 'on' ] }</label>
|
113 |
+
<label className='litespeed-toggle-btn litespeed-toggle-btn-default litespeed-toggle-active litespeed-toggle-off'>{ litespeed_data[ 'lang' ][ 'off' ] }</label>
|
114 |
+
<span className='litespeed-toggle-handle litespeed-toggle-btn litespeed-toggle-btn-default'></span>
|
115 |
+
</div>
|
116 |
+
</div>
|
117 |
+
</div>
|
118 |
+
<div className="litespeed-row litespeed-toggle-wrapper">
|
119 |
+
<div className="litespeed-cdn-mapping-inc litespeed-form-label litespeed-form-label--toggle">
|
120 |
+
{ litespeed_data[ 'lang' ][ 'cdn_mapping_inc_js' ] }
|
121 |
+
</div>
|
122 |
+
<div className={`litespeed-toggle litespeed-toggle-btn litespeed-toggle-btn-${item.inc_js?'primary':'default litespeed-toggleoff'}`} data-type="inc_js" data-value={item.inc_js?0:1} onClick={this.onChange}>
|
123 |
+
<input name={ name_prefix + '[inc_js][]' } type='hidden' value={item.inc_js?1:0} />
|
124 |
+
<div className='litespeed-toggle-group'>
|
125 |
+
<label className='litespeed-toggle-btn litespeed-toggle-btn-primary litespeed-toggle-on'>{ litespeed_data[ 'lang' ][ 'on' ] }</label>
|
126 |
+
<label className='litespeed-toggle-btn litespeed-toggle-btn-default litespeed-toggle-active litespeed-toggle-off'>{ litespeed_data[ 'lang' ][ 'off' ] }</label>
|
127 |
+
<span className='litespeed-toggle-handle litespeed-toggle-btn litespeed-toggle-btn-default'></span>
|
128 |
+
</div>
|
129 |
+
</div>
|
130 |
+
</div>
|
131 |
+
</div>
|
132 |
+
|
133 |
+
<div className="litespeed-col-auto">
|
134 |
+
<label className="litespeed-form-label">
|
135 |
+
{ litespeed_data[ 'lang' ][ 'cdn_mapping_filetype' ] }
|
136 |
+
</label>
|
137 |
+
<textarea name={ name_prefix + '[filetype][]' } rows={filetype.split("\n").length+2} cols='18' value={ filetype } data-type="filetype" onChange={this.onChange} />
|
138 |
+
</div>
|
139 |
+
|
140 |
+
<div className="litespeed-col-auto">
|
141 |
+
<button type="button" className="button button-link litespeed-collection-button litespeed-danger" onClick={this.delRow}>
|
142 |
+
<span className="dashicons dashicons-dismiss"></span>
|
143 |
+
<span className="screen-reader-text">{ litespeed_data[ 'lang' ][ 'cdn_mapping_remove' ] }</span>
|
144 |
+
</button>
|
145 |
+
</div>
|
146 |
+
</div>
|
147 |
+
);
|
148 |
+
}
|
149 |
+
}
|
assets/js/component.crawler.js
CHANGED
@@ -54,6 +54,7 @@ class CrawlerSimulate extends React.Component {
|
|
54 |
}
|
55 |
}
|
56 |
|
|
|
57 |
class SimulationBlock extends React.Component {
|
58 |
constructor( props ) {
|
59 |
super( props );
|
@@ -80,7 +81,7 @@ class SimulationBlock extends React.Component {
|
|
80 |
</div>
|
81 |
<div className="litespeed-col-auto">
|
82 |
<label className="litespeed-form-label">{ litespeed_data[ 'lang' ][ 'cookie_values' ] }</label>
|
83 |
-
<textarea rows="5" cols="40" name={ litespeed_data[ 'ids' ][ 'crawler_cookies' ] + '[vals][]' } placeholder={ litespeed_data[ 'lang' ][ 'one_per_line' ] } value={item.vals} data-type="vals" onChange={this.handleInputChange} />
|
84 |
</div>
|
85 |
<div className="litespeed-col-auto">
|
86 |
<button type="button" className="button button-link litespeed-collection-button litespeed-danger" onClick={this.delRow}>
|
54 |
}
|
55 |
}
|
56 |
|
57 |
+
// { name: '', vals: '' }
|
58 |
class SimulationBlock extends React.Component {
|
59 |
constructor( props ) {
|
60 |
super( props );
|
81 |
</div>
|
82 |
<div className="litespeed-col-auto">
|
83 |
<label className="litespeed-form-label">{ litespeed_data[ 'lang' ][ 'cookie_values' ] }</label>
|
84 |
+
<textarea rows="5" cols="40" name={ litespeed_data[ 'ids' ][ 'crawler_cookies' ] + '[vals][]' } placeholder={ litespeed_data[ 'lang' ][ 'one_per_line' ] } value={ Array.isArray(item.vals) ? item.vals.join("\n") : item.vals } data-type="vals" onChange={this.handleInputChange} />
|
85 |
</div>
|
86 |
<div className="litespeed-col-auto">
|
87 |
<button type="button" className="button button-link litespeed-collection-button litespeed-danger" onClick={this.delRow}>
|
assets/js/litespeed-cache-admin.js
CHANGED
@@ -136,57 +136,6 @@ var _litespeed_dots ;
|
|
136 |
$.get( litespeed_data.ajax_url_promo ) ;
|
137 |
} ) ;
|
138 |
|
139 |
-
/** CDN mapping **/
|
140 |
-
$( '#litespeed-cdn-mapping-add' ).click(function(event) {
|
141 |
-
var cloned_item = $( '[data-litespeed-cdn-mapping]:last' ).clone() ;
|
142 |
-
cloned_item.find( 'input[type=text]' ).val( '' ) ;
|
143 |
-
cloned_item.find( 'textarea' ).val( '' ) ;
|
144 |
-
cloned_item.find( 'input[type="hidden"]' ).val( 0 ) ;
|
145 |
-
|
146 |
-
var toggle_items = cloned_item.find( '[data-litespeed-toggle-on]' ) ;
|
147 |
-
|
148 |
-
var cls_off = 'litespeed-toggle-btn-' + toggle_items.data( 'litespeed-toggle-off' ) + ' litespeed-toggleoff' ;
|
149 |
-
var cls_on = 'litespeed-toggle-btn-' + toggle_items.data( 'litespeed-toggle-on' ) ;
|
150 |
-
|
151 |
-
toggle_items.removeClass( cls_on ).addClass( cls_off ) ;
|
152 |
-
|
153 |
-
cloned_item.insertAfter( '[data-litespeed-cdn-mapping]:last' ).hide().fadeIn() ;
|
154 |
-
|
155 |
-
litespeed_toggle() ;
|
156 |
-
litespeed_cdn_mapping_del_init() ;
|
157 |
-
});
|
158 |
-
|
159 |
-
/** toggle switch **/
|
160 |
-
litespeed_toggle() ;
|
161 |
-
litespeed_cdn_mapping_del_init() ;
|
162 |
-
|
163 |
-
function litespeed_cdn_mapping_del_init() {
|
164 |
-
$( '[data-litespeed-cdn-mapping-del]' ).off().click(function(event) {
|
165 |
-
if ( ! confirm( 'Are you sure?' ) ) {
|
166 |
-
return false;
|
167 |
-
}
|
168 |
-
$( this ).closest( '[data-litespeed-cdn-mapping]' ).fadeOut( 400, function(){
|
169 |
-
$( this ).remove() ;
|
170 |
-
} ) ;
|
171 |
-
});
|
172 |
-
|
173 |
-
}
|
174 |
-
|
175 |
-
function litespeed_toggle() {
|
176 |
-
$( '[data-litespeed-toggle-on]' ).off().click(function(event) {
|
177 |
-
var cls_off = 'litespeed-toggle-btn-' + $( this ).data( 'litespeed-toggle-off' ) + ' litespeed-toggleoff' ;
|
178 |
-
var cls_on = 'litespeed-toggle-btn-' + $( this ).data( 'litespeed-toggle-on' ) ;
|
179 |
-
if ( $( this ).children( 'input' ).val() * 1 ) {
|
180 |
-
$( this ).addClass( cls_off ).removeClass( cls_on ) ;
|
181 |
-
$( this ).children( 'input' ).val( 0 ) ;
|
182 |
-
}
|
183 |
-
else {
|
184 |
-
$( this ).removeClass( cls_off ).addClass( cls_on ) ;
|
185 |
-
$( this ).children( 'input' ).val( 1 ) ;
|
186 |
-
}
|
187 |
-
});
|
188 |
-
}
|
189 |
-
|
190 |
/**
|
191 |
* Human readable time conversation
|
192 |
* @since 3.0
|
136 |
$.get( litespeed_data.ajax_url_promo ) ;
|
137 |
} ) ;
|
138 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
139 |
/**
|
140 |
* Human readable time conversation
|
141 |
* @since 3.0
|
data/const.default.ini
CHANGED
@@ -596,8 +596,6 @@ cdn-ori_dir = ''
|
|
596 |
|
597 |
cdn-exc = ''
|
598 |
|
599 |
-
cdn-remote_jq = false
|
600 |
-
|
601 |
cdn-quic = false
|
602 |
|
603 |
cdn-quic_email = ''
|
596 |
|
597 |
cdn-exc = ''
|
598 |
|
|
|
|
|
599 |
cdn-quic = false
|
600 |
|
601 |
cdn-quic_email = ''
|
data/css_excludes.txt
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
# Predefined list for excluding CSS files or inline CSS codes #
|
2 |
# Comment can use `# `(there is a space following), or `##`, can use both as a new line or end of one line
|
3 |
-
# If you want to predefine new items, please send a Pull Request to https://github.com/litespeedtech/lscache_wp/blob/
|
4 |
|
5 |
# CSS file URL excludes
|
6 |
|
1 |
# Predefined list for excluding CSS files or inline CSS codes #
|
2 |
# Comment can use `# `(there is a space following), or `##`, can use both as a new line or end of one line
|
3 |
+
# If you want to predefine new items, please send a Pull Request to https://github.com/litespeedtech/lscache_wp/blob/dev/data/css_excludes.txt We will merge into next plugin release
|
4 |
|
5 |
# CSS file URL excludes
|
6 |
|
data/esi.nonces.txt
CHANGED
@@ -1,4 +1,4 @@
|
|
1 |
-
## To predefine more list, please submit a PR to https://github.com/litespeedtech/lscache_wp/blob/
|
2 |
## Comment Format:
|
3 |
## 1. `# this is comment`
|
4 |
## 2. `##this is comment`
|
1 |
+
## To predefine more list, please submit a PR to https://github.com/litespeedtech/lscache_wp/blob/dev/data/esi.nonces.txt
|
2 |
## Comment Format:
|
3 |
## 1. `# this is comment`
|
4 |
## 2. `##this is comment`
|
data/js_defer_excludes.txt
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
# Predefined list for excluding deferred JS files or inline JS codes #
|
2 |
# Comment can use `# `(there is a space following), or `##`, can use both as a new line or end of one line
|
3 |
-
# If you want to predefine new items, please send a Pull Request to https://github.com/litespeedtech/lscache_wp/blob/
|
4 |
|
5 |
|
6 |
# JS file URL excludes
|
1 |
# Predefined list for excluding deferred JS files or inline JS codes #
|
2 |
# Comment can use `# `(there is a space following), or `##`, can use both as a new line or end of one line
|
3 |
+
# If you want to predefine new items, please send a Pull Request to https://github.com/litespeedtech/lscache_wp/blob/dev/data/js_defer_excludes.txt We will merge into next plugin release
|
4 |
|
5 |
|
6 |
# JS file URL excludes
|
data/js_excludes.txt
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
# Predefined list for excluding JS files or inline JS codes #
|
2 |
# Comment can use `# `(there is a space following), or `##`, can use both as a new line or end of one line
|
3 |
-
# If you want to predefine new items, please send a Pull Request to https://github.com/litespeedtech/lscache_wp/blob/
|
4 |
|
5 |
# JS file URL excludes
|
6 |
maps-api-ssl.google.com
|
@@ -17,3 +17,5 @@ dataLayer
|
|
17 |
adsbygoogle
|
18 |
|
19 |
block_tdi_ ## Theme: Newspaper by tagDiv.com
|
|
|
|
1 |
# Predefined list for excluding JS files or inline JS codes #
|
2 |
# Comment can use `# `(there is a space following), or `##`, can use both as a new line or end of one line
|
3 |
+
# If you want to predefine new items, please send a Pull Request to https://github.com/litespeedtech/lscache_wp/blob/dev/data/js_excludes.txt We will merge into next plugin release
|
4 |
|
5 |
# JS file URL excludes
|
6 |
maps-api-ssl.google.com
|
17 |
adsbygoogle
|
18 |
|
19 |
block_tdi_ ## Theme: Newspaper by tagDiv.com
|
20 |
+
|
21 |
+
data-view-breakpoint-pointer ## Plugin: The Events Calendar by Modern Tribe (https://theeventscalendar.com/)
|
lang/litespeed-cache.pot
CHANGED
@@ -2,9 +2,9 @@
|
|
2 |
# This file is distributed under the same license as the LiteSpeed Cache package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
-
"Project-Id-Version: LiteSpeed Cache 3.6\n"
|
6 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/litespeed-cache\n"
|
7 |
-
"POT-Creation-Date: 2020-
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
@@ -49,7 +49,7 @@ msgstr ""
|
|
49 |
msgid "Cache"
|
50 |
msgstr ""
|
51 |
|
52 |
-
#: src/admin-display.cls.php:127 tpl/cdn/settings.tpl.php:
|
53 |
msgid "CDN"
|
54 |
msgstr ""
|
55 |
|
@@ -66,7 +66,7 @@ msgstr ""
|
|
66 |
msgid "Database"
|
67 |
msgstr ""
|
68 |
|
69 |
-
#: src/admin-display.cls.php:135 src/lang.cls.php:
|
70 |
msgid "Crawler"
|
71 |
msgstr ""
|
72 |
|
@@ -78,7 +78,7 @@ msgstr ""
|
|
78 |
msgid "Cookie Name"
|
79 |
msgstr ""
|
80 |
|
81 |
-
#: src/admin-display.cls.php:212 tpl/crawler/settings-simulation.tpl.php:
|
82 |
msgid "Cookie Values"
|
83 |
msgstr ""
|
84 |
|
@@ -90,20 +90,21 @@ msgstr ""
|
|
90 |
msgid "Add new cookie to simulate"
|
91 |
msgstr ""
|
92 |
|
93 |
-
#: src/admin-display.cls.php:
|
94 |
-
msgid "
|
95 |
msgstr ""
|
96 |
|
97 |
-
#: src/admin-display.cls.php:
|
98 |
-
msgid "
|
99 |
msgstr ""
|
100 |
|
101 |
-
#: src/admin-display.cls.php:
|
102 |
-
msgid "
|
103 |
msgstr ""
|
104 |
|
105 |
-
#: src/admin-display.cls.php:
|
106 |
-
#: src/admin-display.cls.php:
|
|
|
107 |
#: tpl/cache/settings_inc.cache_mobile.tpl.php:70 tpl/cdn/settings.tpl.php:49
|
108 |
#: tpl/page_optm/settings_css.tpl.php:149
|
109 |
#: tpl/page_optm/settings_css.tpl.php:166
|
@@ -113,81 +114,93 @@ msgstr ""
|
|
113 |
msgid "ON"
|
114 |
msgstr ""
|
115 |
|
116 |
-
#: src/admin-display.cls.php:
|
117 |
-
#: src/admin-display.cls.php:
|
|
|
118 |
#: tpl/cache/settings_inc.object.tpl.php:210 tpl/cdn/settings.tpl.php:49
|
119 |
-
#: tpl/
|
120 |
-
#: tpl/page_optm/settings_css.tpl.php:166
|
121 |
#: tpl/page_optm/settings_css.tpl.php:181
|
122 |
#: tpl/page_optm/settings_media.tpl.php:159
|
123 |
#: tpl/toolbox/settings-debug.tpl.php:34
|
124 |
msgid "OFF"
|
125 |
msgstr ""
|
126 |
|
127 |
-
#: src/admin-display.cls.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
128 |
msgid "This setting is overwritten by the PHP constant %s"
|
129 |
msgstr ""
|
130 |
|
131 |
-
#: src/admin-display.cls.php:
|
132 |
msgid "This setting is overwritten by the primary site setting"
|
133 |
msgstr ""
|
134 |
|
135 |
-
#: src/admin-display.cls.php:
|
136 |
msgid "This setting is overwritten by the Network setting"
|
137 |
msgstr ""
|
138 |
|
139 |
-
#: src/admin-display.cls.php:
|
140 |
msgid "currently set to %s"
|
141 |
msgstr ""
|
142 |
|
143 |
-
#: src/admin-display.cls.php:
|
144 |
#: tpl/crawler/settings-general.tpl.php:60
|
145 |
#: tpl/crawler/settings-general.tpl.php:74
|
146 |
#: tpl/crawler/settings-general.tpl.php:89 tpl/esi_widget_edit.php:70
|
147 |
msgid "seconds"
|
148 |
msgstr ""
|
149 |
|
150 |
-
#: src/admin-display.cls.php:
|
151 |
msgid "Recommended value"
|
152 |
msgstr ""
|
153 |
|
154 |
-
#: src/admin-display.cls.php:
|
155 |
msgid "Invalid rewrite rule"
|
156 |
msgstr ""
|
157 |
|
158 |
-
#: src/admin-display.cls.php:
|
159 |
msgid "Path must end with %s"
|
160 |
msgstr ""
|
161 |
|
162 |
-
#: src/admin-display.cls.php:
|
163 |
msgid "Minimum value"
|
164 |
msgstr ""
|
165 |
|
166 |
-
#: src/admin-display.cls.php:
|
167 |
msgid "Maximum value"
|
168 |
msgstr ""
|
169 |
|
170 |
-
#: src/admin-display.cls.php:
|
171 |
msgid "Zero, or"
|
172 |
msgstr ""
|
173 |
|
174 |
-
#: src/admin-display.cls.php:
|
175 |
msgid "Larger than"
|
176 |
msgstr ""
|
177 |
|
178 |
-
#: src/admin-display.cls.php:
|
179 |
msgid "Smaller than"
|
180 |
msgstr ""
|
181 |
|
182 |
-
#: src/admin-display.cls.php:
|
183 |
msgid "Value range"
|
184 |
msgstr ""
|
185 |
|
186 |
-
#: src/admin-display.cls.php:
|
187 |
msgid "Invalid IP"
|
188 |
msgstr ""
|
189 |
|
190 |
-
#: src/admin-display.cls.php:
|
191 |
#: tpl/page_optm/settings_css.tpl.php:151
|
192 |
#: tpl/page_optm/settings_html.tpl.php:86
|
193 |
#: tpl/page_optm/settings_media_exc.tpl.php:25
|
@@ -197,43 +210,43 @@ msgstr ""
|
|
197 |
msgid "API"
|
198 |
msgstr ""
|
199 |
|
200 |
-
#: src/admin-display.cls.php:
|
201 |
msgid "Server variable(s) %s available to override this setting."
|
202 |
msgstr ""
|
203 |
|
204 |
-
#: src/admin-display.cls.php:
|
205 |
msgid "The URLs will be compared to the REQUEST_URI server variable."
|
206 |
msgstr ""
|
207 |
|
208 |
-
#: src/admin-display.cls.php:
|
209 |
msgid "For example, for %s, %s can be used here."
|
210 |
msgstr ""
|
211 |
|
212 |
-
#: src/admin-display.cls.php:
|
213 |
msgid "To match the beginning, add %s to the beginning of the item."
|
214 |
msgstr ""
|
215 |
|
216 |
-
#: src/admin-display.cls.php:
|
217 |
msgid "To do an exact match, add %s to the end of the URL."
|
218 |
msgstr ""
|
219 |
|
220 |
-
#: src/admin-display.cls.php:
|
221 |
msgid "One per line."
|
222 |
msgstr ""
|
223 |
|
224 |
-
#: src/admin-display.cls.php:
|
225 |
msgid "%s groups"
|
226 |
msgstr ""
|
227 |
|
228 |
-
#: src/admin-display.cls.php:
|
229 |
msgid "%s images"
|
230 |
msgstr ""
|
231 |
|
232 |
-
#: src/admin-display.cls.php:
|
233 |
msgid "%s group"
|
234 |
msgstr ""
|
235 |
|
236 |
-
#: src/admin-display.cls.php:
|
237 |
msgid "%s image"
|
238 |
msgstr ""
|
239 |
|
@@ -346,15 +359,15 @@ msgstr ""
|
|
346 |
msgid "Notified LiteSpeed Web Server to purge the list."
|
347 |
msgstr ""
|
348 |
|
349 |
-
#: src/crawler-map.cls.php:
|
350 |
msgid "Sitemap cleaned successfully"
|
351 |
msgstr ""
|
352 |
|
353 |
-
#: src/crawler-map.cls.php:
|
354 |
msgid "No valid sitemap parsed for crawler."
|
355 |
msgstr ""
|
356 |
|
357 |
-
#: src/crawler-map.cls.php:
|
358 |
msgid "Sitemap created successfully: %d items"
|
359 |
msgstr ""
|
360 |
|
@@ -733,7 +746,7 @@ msgstr ""
|
|
733 |
msgid "LiteSpeed Cache Purge All"
|
734 |
msgstr ""
|
735 |
|
736 |
-
#: src/gui.cls.php:578 tpl/cdn/entry.tpl.php:7 tpl/cdn/settings.tpl.php:
|
737 |
#: tpl/db_optm/entry.tpl.php:6
|
738 |
msgid "Manage"
|
739 |
msgstr ""
|
@@ -1495,7 +1508,7 @@ msgstr ""
|
|
1495 |
msgid "Include JS"
|
1496 |
msgstr ""
|
1497 |
|
1498 |
-
#: src/lang.cls.php:203 tpl/cdn/settings.tpl.php:
|
1499 |
msgid "Include File Types"
|
1500 |
msgstr ""
|
1501 |
|
@@ -1516,102 +1529,98 @@ msgid "Exclude Path"
|
|
1516 |
msgstr ""
|
1517 |
|
1518 |
#: src/lang.cls.php:208
|
1519 |
-
msgid "Load JQuery Remotely"
|
1520 |
-
msgstr ""
|
1521 |
-
|
1522 |
-
#: src/lang.cls.php:209
|
1523 |
msgid "Cloudflare API"
|
1524 |
msgstr ""
|
1525 |
|
1526 |
-
#: src/lang.cls.php:
|
1527 |
msgid "Delay"
|
1528 |
msgstr ""
|
1529 |
|
1530 |
-
#: src/lang.cls.php:
|
1531 |
msgid "Run Duration"
|
1532 |
msgstr ""
|
1533 |
|
1534 |
-
#: src/lang.cls.php:
|
1535 |
msgid "Interval Between Runs"
|
1536 |
msgstr ""
|
1537 |
|
1538 |
-
#: src/lang.cls.php:
|
1539 |
msgid "Crawl Interval"
|
1540 |
msgstr ""
|
1541 |
|
1542 |
-
#: src/lang.cls.php:
|
1543 |
msgid "Threads"
|
1544 |
msgstr ""
|
1545 |
|
1546 |
-
#: src/lang.cls.php:
|
1547 |
msgid "Timeout"
|
1548 |
msgstr ""
|
1549 |
|
1550 |
-
#: src/lang.cls.php:
|
1551 |
msgid "Server Load Limit"
|
1552 |
msgstr ""
|
1553 |
|
1554 |
-
#: src/lang.cls.php:
|
1555 |
msgid "Role Simulation"
|
1556 |
msgstr ""
|
1557 |
|
1558 |
-
#: src/lang.cls.php:
|
1559 |
msgid "Cookie Simulation"
|
1560 |
msgstr ""
|
1561 |
|
1562 |
-
#: src/lang.cls.php:
|
1563 |
msgid "Custom Sitemap"
|
1564 |
msgstr ""
|
1565 |
|
1566 |
-
#: src/lang.cls.php:
|
1567 |
msgid "Drop Domain from Sitemap"
|
1568 |
msgstr ""
|
1569 |
|
1570 |
-
#: src/lang.cls.php:
|
1571 |
msgid "Sitemap Timeout"
|
1572 |
msgstr ""
|
1573 |
|
1574 |
-
#: src/lang.cls.php:
|
1575 |
msgid "Disable All Features"
|
1576 |
msgstr ""
|
1577 |
|
1578 |
-
#: src/lang.cls.php:
|
1579 |
msgid "Debug Log"
|
1580 |
msgstr ""
|
1581 |
|
1582 |
-
#: src/lang.cls.php:
|
1583 |
msgid "Admin IPs"
|
1584 |
msgstr ""
|
1585 |
|
1586 |
-
#: src/lang.cls.php:
|
1587 |
msgid "Debug Level"
|
1588 |
msgstr ""
|
1589 |
|
1590 |
-
#: src/lang.cls.php:
|
1591 |
msgid "Log File Size Limit"
|
1592 |
msgstr ""
|
1593 |
|
1594 |
-
#: src/lang.cls.php:
|
1595 |
msgid "Log Cookies"
|
1596 |
msgstr ""
|
1597 |
|
1598 |
-
#: src/lang.cls.php:
|
1599 |
msgid "Collapse Query Strings"
|
1600 |
msgstr ""
|
1601 |
|
1602 |
-
#: src/lang.cls.php:
|
1603 |
msgid "Debug URI Includes"
|
1604 |
msgstr ""
|
1605 |
|
1606 |
-
#: src/lang.cls.php:
|
1607 |
msgid "Debug URI Excludes"
|
1608 |
msgstr ""
|
1609 |
|
1610 |
-
#: src/lang.cls.php:
|
1611 |
msgid "Revisions Max Number"
|
1612 |
msgstr ""
|
1613 |
|
1614 |
-
#: src/lang.cls.php:
|
1615 |
msgid "Revisions Max Age"
|
1616 |
msgstr ""
|
1617 |
|
@@ -1915,7 +1924,7 @@ msgstr ""
|
|
1915 |
msgid "Dismiss this notice"
|
1916 |
msgstr ""
|
1917 |
|
1918 |
-
#. #-#-#-#-# litespeed-cache.pot (LiteSpeed Cache 3.6) #-#-#-#-#
|
1919 |
#. Plugin Name of the plugin/theme
|
1920 |
#: tpl/banner/new_version.php:59 tpl/banner/new_version_dev.tpl.php:12
|
1921 |
#: tpl/cache/more_settings_tip.tpl.php:15 tpl/inc/admin_footer.php:8
|
@@ -1931,7 +1940,7 @@ msgid "New release %s is available now."
|
|
1931 |
msgstr ""
|
1932 |
|
1933 |
#: tpl/banner/new_version.php:71 tpl/banner/new_version_dev.tpl.php:24
|
1934 |
-
#: tpl/toolbox/beta_test.tpl.php:
|
1935 |
msgid "Upgrade"
|
1936 |
msgstr ""
|
1937 |
|
@@ -2054,7 +2063,7 @@ msgstr ""
|
|
2054 |
|
2055 |
#: tpl/cache/more_settings_tip.tpl.php:12
|
2056 |
#: tpl/cache/settings-excludes.tpl.php:62
|
2057 |
-
#: tpl/cache/settings-excludes.tpl.php:95 tpl/cdn/settings.tpl.php:
|
2058 |
#: tpl/crawler/settings-general.tpl.php:39
|
2059 |
#: tpl/crawler/settings-general.tpl.php:140
|
2060 |
#: tpl/crawler/settings-general.tpl.php:145
|
@@ -2291,7 +2300,7 @@ msgid ""
|
|
2291 |
msgstr ""
|
2292 |
|
2293 |
#: tpl/cache/settings-esi.tpl.php:107 tpl/cache/settings-purge.tpl.php:110
|
2294 |
-
#: tpl/cdn/settings.tpl.php:
|
2295 |
msgid ""
|
2296 |
"Wildcard %1$s supported (match zero or more characters). For example, to "
|
2297 |
"match %2$s and %3$s, use %4$s."
|
@@ -2837,129 +2846,111 @@ msgid ""
|
|
2837 |
"%2$s."
|
2838 |
msgstr ""
|
2839 |
|
2840 |
-
#: tpl/cdn/settings.tpl.php:66
|
2841 |
-
msgid "Remove CDN URL"
|
2842 |
-
msgstr ""
|
2843 |
-
|
2844 |
#: tpl/cdn/settings.tpl.php:74
|
2845 |
-
msgid "CDN URL to be used. For example, %s"
|
2846 |
-
msgstr ""
|
2847 |
-
|
2848 |
-
#: tpl/cdn/settings.tpl.php:120
|
2849 |
-
msgid "Add new CDN URL"
|
2850 |
-
msgstr ""
|
2851 |
-
|
2852 |
-
#: tpl/cdn/settings.tpl.php:125
|
2853 |
msgid ""
|
2854 |
"To randomize CDN hostname, define multiple hostnames for the same resources."
|
2855 |
msgstr ""
|
2856 |
|
2857 |
-
#: tpl/cdn/settings.tpl.php:
|
2858 |
msgid ""
|
2859 |
"Serve all image files through the CDN. This will affect all attachments, "
|
2860 |
"HTML %s tags, and CSS %s attributes."
|
2861 |
msgstr ""
|
2862 |
|
2863 |
-
#: tpl/cdn/settings.tpl.php:
|
2864 |
msgid ""
|
2865 |
"Serve all CSS files through the CDN. This will affect all enqueued WP CSS "
|
2866 |
"files."
|
2867 |
msgstr ""
|
2868 |
|
2869 |
-
#: tpl/cdn/settings.tpl.php:
|
2870 |
msgid ""
|
2871 |
"Serve all JavaScript files through the CDN. This will affect all enqueued WP "
|
2872 |
"JavaScript files."
|
2873 |
msgstr ""
|
2874 |
|
2875 |
-
#: tpl/cdn/settings.tpl.php:
|
2876 |
msgid "Static file type links to be replaced by CDN links."
|
2877 |
msgstr ""
|
2878 |
|
2879 |
-
#: tpl/cdn/settings.tpl.php:
|
2880 |
msgid "This will affect all tags containing attributes: %s %s %s."
|
2881 |
msgstr ""
|
2882 |
|
2883 |
-
#: tpl/cdn/settings.tpl.php:
|
2884 |
msgid "Default value"
|
2885 |
msgstr ""
|
2886 |
|
2887 |
-
#: tpl/cdn/settings.tpl.php:
|
2888 |
msgid ""
|
2889 |
"If you turn any of the above settings OFF, please remove the related file "
|
2890 |
"types from the %s box."
|
2891 |
msgstr ""
|
2892 |
|
2893 |
-
#: tpl/cdn/settings.tpl.php:
|
2894 |
msgid ""
|
2895 |
"Specify which HTML element attributes will be replaced with CDN Mapping."
|
2896 |
msgstr ""
|
2897 |
|
2898 |
-
#: tpl/cdn/settings.tpl.php:
|
2899 |
msgid "Only attributes listed here will be replaced."
|
2900 |
msgstr ""
|
2901 |
|
2902 |
-
#: tpl/cdn/settings.tpl.php:
|
2903 |
msgid "Use the format %1$s or %2$s (element is optional)."
|
2904 |
msgstr ""
|
2905 |
|
2906 |
-
#: tpl/cdn/settings.tpl.php:
|
2907 |
msgid ""
|
2908 |
"Site URL to be served through the CDN. Beginning with %1$s. For example, "
|
2909 |
"%2$s."
|
2910 |
msgstr ""
|
2911 |
|
2912 |
-
#: tpl/cdn/settings.tpl.php:
|
2913 |
msgid "Only files within these directories will be pointed to the CDN."
|
2914 |
msgstr ""
|
2915 |
|
2916 |
-
#: tpl/cdn/settings.tpl.php:
|
2917 |
msgid "Paths containing these strings will not be served from the CDN."
|
2918 |
msgstr ""
|
2919 |
|
2920 |
-
#: tpl/cdn/settings.tpl.php:
|
2921 |
-
msgid ""
|
2922 |
-
"Improve page load time by loading jQuery from a remote CDN service instead "
|
2923 |
-
"of locally."
|
2924 |
-
msgstr ""
|
2925 |
-
|
2926 |
-
#: tpl/cdn/settings.tpl.php:252
|
2927 |
msgid "Use %s API functionality."
|
2928 |
msgstr ""
|
2929 |
|
2930 |
-
#: tpl/cdn/settings.tpl.php:
|
2931 |
msgid "This can be managed from <a %2$s>%1$s</a>."
|
2932 |
msgstr ""
|
2933 |
|
2934 |
-
#: tpl/cdn/settings.tpl.php:
|
2935 |
msgid "Email Address"
|
2936 |
msgstr ""
|
2937 |
|
2938 |
-
#: tpl/cdn/settings.tpl.php:
|
2939 |
msgid "Your Email address on %s."
|
2940 |
msgstr ""
|
2941 |
|
2942 |
-
#: tpl/cdn/settings.tpl.php:
|
2943 |
msgid "Global API Key"
|
2944 |
msgstr ""
|
2945 |
|
2946 |
-
#: tpl/cdn/settings.tpl.php:
|
2947 |
msgid "Your API key is used to access %s APIs."
|
2948 |
msgstr ""
|
2949 |
|
2950 |
-
#: tpl/cdn/settings.tpl.php:
|
2951 |
msgid "Get it from <a %1$s>%2$s</a>."
|
2952 |
msgstr ""
|
2953 |
|
2954 |
-
#: tpl/cdn/settings.tpl.php:
|
2955 |
msgid "Domain"
|
2956 |
msgstr ""
|
2957 |
|
2958 |
-
#: tpl/cdn/settings.tpl.php:
|
2959 |
msgid "You can just type part of the domain."
|
2960 |
msgstr ""
|
2961 |
|
2962 |
-
#: tpl/cdn/settings.tpl.php:
|
2963 |
msgid ""
|
2964 |
"Once saved, it will be matched with the current list and completed "
|
2965 |
"automatically."
|
@@ -3137,14 +3128,14 @@ msgid ""
|
|
3137 |
"To crawl the site as a logged-in user, enter the user ids to be simulated."
|
3138 |
msgstr ""
|
3139 |
|
3140 |
-
#: tpl/crawler/settings-simulation.tpl.php:
|
3141 |
msgid ""
|
3142 |
"To crawl for a particular cookie, enter the cookie name, and the values you "
|
3143 |
"wish to crawl for. Values should be one per line, and can include a blank "
|
3144 |
"line. There will be one crawler created per cookie value, per simulated role."
|
3145 |
msgstr ""
|
3146 |
|
3147 |
-
#: tpl/crawler/settings-simulation.tpl.php:
|
3148 |
msgid "Use %1$s in %2$s to indicate this cookie has not been set."
|
3149 |
msgstr ""
|
3150 |
|
@@ -4787,37 +4778,45 @@ msgstr ""
|
|
4787 |
msgid "Selected roles will be excluded from all optimizations."
|
4788 |
msgstr ""
|
4789 |
|
4790 |
-
#: tpl/toolbox/beta_test.tpl.php:
|
4791 |
msgid "Try GitHub Version"
|
4792 |
msgstr ""
|
4793 |
|
4794 |
-
#: tpl/toolbox/beta_test.tpl.php:
|
4795 |
msgid ""
|
4796 |
"Use this section to switch plugin versions. To beta test a GitHub commit, "
|
4797 |
"enter the commit URL in the field below."
|
4798 |
msgstr ""
|
4799 |
|
4800 |
-
#: tpl/toolbox/beta_test.tpl.php:
|
4801 |
msgid "Example"
|
4802 |
msgstr ""
|
4803 |
|
4804 |
-
#: tpl/toolbox/beta_test.tpl.php:
|
4805 |
-
msgid "Use latest GitHub commit"
|
|
|
|
|
|
|
|
|
4806 |
msgstr ""
|
4807 |
|
4808 |
-
#: tpl/toolbox/beta_test.tpl.php:
|
4809 |
msgid "Use latest WordPress release version"
|
4810 |
msgstr ""
|
4811 |
|
4812 |
-
#: tpl/toolbox/beta_test.tpl.php:
|
4813 |
msgid "OR"
|
4814 |
msgstr ""
|
4815 |
|
4816 |
-
#: tpl/toolbox/beta_test.tpl.php:
|
4817 |
msgid "Press the %s button to use the most recent GitHub commit."
|
4818 |
msgstr ""
|
4819 |
|
4820 |
-
#: tpl/toolbox/beta_test.tpl.php:
|
|
|
|
|
|
|
|
|
4821 |
msgid ""
|
4822 |
"Press the %s button to stop beta testing and go back to the current release "
|
4823 |
"from the WordPress Plugin Directory."
|
2 |
# This file is distributed under the same license as the LiteSpeed Cache package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
+
"Project-Id-Version: LiteSpeed Cache 3.6.1\n"
|
6 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/litespeed-cache\n"
|
7 |
+
"POT-Creation-Date: 2020-12-15 14:41:17+00:00\n"
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
49 |
msgid "Cache"
|
50 |
msgstr ""
|
51 |
|
52 |
+
#: src/admin-display.cls.php:127 tpl/cdn/settings.tpl.php:189
|
53 |
msgid "CDN"
|
54 |
msgstr ""
|
55 |
|
66 |
msgid "Database"
|
67 |
msgstr ""
|
68 |
|
69 |
+
#: src/admin-display.cls.php:135 src/lang.cls.php:210
|
70 |
msgid "Crawler"
|
71 |
msgstr ""
|
72 |
|
78 |
msgid "Cookie Name"
|
79 |
msgstr ""
|
80 |
|
81 |
+
#: src/admin-display.cls.php:212 tpl/crawler/settings-simulation.tpl.php:51
|
82 |
msgid "Cookie Values"
|
83 |
msgstr ""
|
84 |
|
90 |
msgid "Add new cookie to simulate"
|
91 |
msgstr ""
|
92 |
|
93 |
+
#: src/admin-display.cls.php:234
|
94 |
+
msgid "CDN URL to be used. For example, %s"
|
95 |
msgstr ""
|
96 |
|
97 |
+
#: src/admin-display.cls.php:236
|
98 |
+
msgid "Remove CDN URL"
|
99 |
msgstr ""
|
100 |
|
101 |
+
#: src/admin-display.cls.php:237
|
102 |
+
msgid "Add new CDN URL"
|
103 |
msgstr ""
|
104 |
|
105 |
+
#: src/admin-display.cls.php:238 src/admin-display.cls.php:799
|
106 |
+
#: src/admin-display.cls.php:834 src/admin-display.cls.php:885
|
107 |
+
#: tpl/cache/settings-cache.tpl.php:19
|
108 |
#: tpl/cache/settings_inc.cache_mobile.tpl.php:70 tpl/cdn/settings.tpl.php:49
|
109 |
#: tpl/page_optm/settings_css.tpl.php:149
|
110 |
#: tpl/page_optm/settings_css.tpl.php:166
|
114 |
msgid "ON"
|
115 |
msgstr ""
|
116 |
|
117 |
+
#: src/admin-display.cls.php:239 src/admin-display.cls.php:800
|
118 |
+
#: src/admin-display.cls.php:833 src/admin-display.cls.php:885
|
119 |
+
#: tpl/cache/settings-cache.tpl.php:19
|
120 |
#: tpl/cache/settings_inc.object.tpl.php:210 tpl/cdn/settings.tpl.php:49
|
121 |
+
#: tpl/page_optm/settings_css.tpl.php:83 tpl/page_optm/settings_css.tpl.php:166
|
|
|
122 |
#: tpl/page_optm/settings_css.tpl.php:181
|
123 |
#: tpl/page_optm/settings_media.tpl.php:159
|
124 |
#: tpl/toolbox/settings-debug.tpl.php:34
|
125 |
msgid "OFF"
|
126 |
msgstr ""
|
127 |
|
128 |
+
#: src/admin-display.cls.php:281 src/gui.cls.php:586
|
129 |
+
msgid "Settings"
|
130 |
+
msgstr ""
|
131 |
+
|
132 |
+
#: src/admin-display.cls.php:446
|
133 |
+
msgid "Dismiss"
|
134 |
+
msgstr ""
|
135 |
+
|
136 |
+
#: src/admin-display.cls.php:674
|
137 |
+
msgid "Save Changes"
|
138 |
+
msgstr ""
|
139 |
+
|
140 |
+
#: src/admin-display.cls.php:897
|
141 |
msgid "This setting is overwritten by the PHP constant %s"
|
142 |
msgstr ""
|
143 |
|
144 |
+
#: src/admin-display.cls.php:900
|
145 |
msgid "This setting is overwritten by the primary site setting"
|
146 |
msgstr ""
|
147 |
|
148 |
+
#: src/admin-display.cls.php:903
|
149 |
msgid "This setting is overwritten by the Network setting"
|
150 |
msgstr ""
|
151 |
|
152 |
+
#: src/admin-display.cls.php:907
|
153 |
msgid "currently set to %s"
|
154 |
msgstr ""
|
155 |
|
156 |
+
#: src/admin-display.cls.php:917 tpl/cache/settings_inc.object.tpl.php:103
|
157 |
#: tpl/crawler/settings-general.tpl.php:60
|
158 |
#: tpl/crawler/settings-general.tpl.php:74
|
159 |
#: tpl/crawler/settings-general.tpl.php:89 tpl/esi_widget_edit.php:70
|
160 |
msgid "seconds"
|
161 |
msgstr ""
|
162 |
|
163 |
+
#: src/admin-display.cls.php:948 src/admin-display.cls.php:953
|
164 |
msgid "Recommended value"
|
165 |
msgstr ""
|
166 |
|
167 |
+
#: src/admin-display.cls.php:977
|
168 |
msgid "Invalid rewrite rule"
|
169 |
msgstr ""
|
170 |
|
171 |
+
#: src/admin-display.cls.php:994
|
172 |
msgid "Path must end with %s"
|
173 |
msgstr ""
|
174 |
|
175 |
+
#: src/admin-display.cls.php:1012
|
176 |
msgid "Minimum value"
|
177 |
msgstr ""
|
178 |
|
179 |
+
#: src/admin-display.cls.php:1015
|
180 |
msgid "Maximum value"
|
181 |
msgstr ""
|
182 |
|
183 |
+
#: src/admin-display.cls.php:1027
|
184 |
msgid "Zero, or"
|
185 |
msgstr ""
|
186 |
|
187 |
+
#: src/admin-display.cls.php:1034
|
188 |
msgid "Larger than"
|
189 |
msgstr ""
|
190 |
|
191 |
+
#: src/admin-display.cls.php:1037
|
192 |
msgid "Smaller than"
|
193 |
msgstr ""
|
194 |
|
195 |
+
#: src/admin-display.cls.php:1040
|
196 |
msgid "Value range"
|
197 |
msgstr ""
|
198 |
|
199 |
+
#: src/admin-display.cls.php:1065
|
200 |
msgid "Invalid IP"
|
201 |
msgstr ""
|
202 |
|
203 |
+
#: src/admin-display.cls.php:1085 tpl/cache/settings-esi.tpl.php:95
|
204 |
#: tpl/page_optm/settings_css.tpl.php:151
|
205 |
#: tpl/page_optm/settings_html.tpl.php:86
|
206 |
#: tpl/page_optm/settings_media_exc.tpl.php:25
|
210 |
msgid "API"
|
211 |
msgstr ""
|
212 |
|
213 |
+
#: src/admin-display.cls.php:1086
|
214 |
msgid "Server variable(s) %s available to override this setting."
|
215 |
msgstr ""
|
216 |
|
217 |
+
#: src/admin-display.cls.php:1098
|
218 |
msgid "The URLs will be compared to the REQUEST_URI server variable."
|
219 |
msgstr ""
|
220 |
|
221 |
+
#: src/admin-display.cls.php:1099
|
222 |
msgid "For example, for %s, %s can be used here."
|
223 |
msgstr ""
|
224 |
|
225 |
+
#: src/admin-display.cls.php:1101
|
226 |
msgid "To match the beginning, add %s to the beginning of the item."
|
227 |
msgstr ""
|
228 |
|
229 |
+
#: src/admin-display.cls.php:1102
|
230 |
msgid "To do an exact match, add %s to the end of the URL."
|
231 |
msgstr ""
|
232 |
|
233 |
+
#: src/admin-display.cls.php:1103 src/doc.cls.php:61
|
234 |
msgid "One per line."
|
235 |
msgstr ""
|
236 |
|
237 |
+
#: src/admin-display.cls.php:1117
|
238 |
msgid "%s groups"
|
239 |
msgstr ""
|
240 |
|
241 |
+
#: src/admin-display.cls.php:1120
|
242 |
msgid "%s images"
|
243 |
msgstr ""
|
244 |
|
245 |
+
#: src/admin-display.cls.php:1130
|
246 |
msgid "%s group"
|
247 |
msgstr ""
|
248 |
|
249 |
+
#: src/admin-display.cls.php:1133
|
250 |
msgid "%s image"
|
251 |
msgstr ""
|
252 |
|
359 |
msgid "Notified LiteSpeed Web Server to purge the list."
|
360 |
msgstr ""
|
361 |
|
362 |
+
#: src/crawler-map.cls.php:267
|
363 |
msgid "Sitemap cleaned successfully"
|
364 |
msgstr ""
|
365 |
|
366 |
+
#: src/crawler-map.cls.php:319
|
367 |
msgid "No valid sitemap parsed for crawler."
|
368 |
msgstr ""
|
369 |
|
370 |
+
#: src/crawler-map.cls.php:323
|
371 |
msgid "Sitemap created successfully: %d items"
|
372 |
msgstr ""
|
373 |
|
746 |
msgid "LiteSpeed Cache Purge All"
|
747 |
msgstr ""
|
748 |
|
749 |
+
#: src/gui.cls.php:578 tpl/cdn/entry.tpl.php:7 tpl/cdn/settings.tpl.php:189
|
750 |
#: tpl/db_optm/entry.tpl.php:6
|
751 |
msgid "Manage"
|
752 |
msgstr ""
|
1508 |
msgid "Include JS"
|
1509 |
msgstr ""
|
1510 |
|
1511 |
+
#: src/lang.cls.php:203 tpl/cdn/settings.tpl.php:97
|
1512 |
msgid "Include File Types"
|
1513 |
msgstr ""
|
1514 |
|
1529 |
msgstr ""
|
1530 |
|
1531 |
#: src/lang.cls.php:208
|
|
|
|
|
|
|
|
|
1532 |
msgid "Cloudflare API"
|
1533 |
msgstr ""
|
1534 |
|
1535 |
+
#: src/lang.cls.php:211
|
1536 |
msgid "Delay"
|
1537 |
msgstr ""
|
1538 |
|
1539 |
+
#: src/lang.cls.php:212
|
1540 |
msgid "Run Duration"
|
1541 |
msgstr ""
|
1542 |
|
1543 |
+
#: src/lang.cls.php:213
|
1544 |
msgid "Interval Between Runs"
|
1545 |
msgstr ""
|
1546 |
|
1547 |
+
#: src/lang.cls.php:214
|
1548 |
msgid "Crawl Interval"
|
1549 |
msgstr ""
|
1550 |
|
1551 |
+
#: src/lang.cls.php:215
|
1552 |
msgid "Threads"
|
1553 |
msgstr ""
|
1554 |
|
1555 |
+
#: src/lang.cls.php:216
|
1556 |
msgid "Timeout"
|
1557 |
msgstr ""
|
1558 |
|
1559 |
+
#: src/lang.cls.php:217
|
1560 |
msgid "Server Load Limit"
|
1561 |
msgstr ""
|
1562 |
|
1563 |
+
#: src/lang.cls.php:218
|
1564 |
msgid "Role Simulation"
|
1565 |
msgstr ""
|
1566 |
|
1567 |
+
#: src/lang.cls.php:219
|
1568 |
msgid "Cookie Simulation"
|
1569 |
msgstr ""
|
1570 |
|
1571 |
+
#: src/lang.cls.php:220
|
1572 |
msgid "Custom Sitemap"
|
1573 |
msgstr ""
|
1574 |
|
1575 |
+
#: src/lang.cls.php:221
|
1576 |
msgid "Drop Domain from Sitemap"
|
1577 |
msgstr ""
|
1578 |
|
1579 |
+
#: src/lang.cls.php:222
|
1580 |
msgid "Sitemap Timeout"
|
1581 |
msgstr ""
|
1582 |
|
1583 |
+
#: src/lang.cls.php:224 tpl/inc/disabled_all.php:5
|
1584 |
msgid "Disable All Features"
|
1585 |
msgstr ""
|
1586 |
|
1587 |
+
#: src/lang.cls.php:225 tpl/toolbox/log_viewer.tpl.php:7
|
1588 |
msgid "Debug Log"
|
1589 |
msgstr ""
|
1590 |
|
1591 |
+
#: src/lang.cls.php:226
|
1592 |
msgid "Admin IPs"
|
1593 |
msgstr ""
|
1594 |
|
1595 |
+
#: src/lang.cls.php:227
|
1596 |
msgid "Debug Level"
|
1597 |
msgstr ""
|
1598 |
|
1599 |
+
#: src/lang.cls.php:228
|
1600 |
msgid "Log File Size Limit"
|
1601 |
msgstr ""
|
1602 |
|
1603 |
+
#: src/lang.cls.php:229
|
1604 |
msgid "Log Cookies"
|
1605 |
msgstr ""
|
1606 |
|
1607 |
+
#: src/lang.cls.php:230
|
1608 |
msgid "Collapse Query Strings"
|
1609 |
msgstr ""
|
1610 |
|
1611 |
+
#: src/lang.cls.php:231
|
1612 |
msgid "Debug URI Includes"
|
1613 |
msgstr ""
|
1614 |
|
1615 |
+
#: src/lang.cls.php:232
|
1616 |
msgid "Debug URI Excludes"
|
1617 |
msgstr ""
|
1618 |
|
1619 |
+
#: src/lang.cls.php:234
|
1620 |
msgid "Revisions Max Number"
|
1621 |
msgstr ""
|
1622 |
|
1623 |
+
#: src/lang.cls.php:235
|
1624 |
msgid "Revisions Max Age"
|
1625 |
msgstr ""
|
1626 |
|
1924 |
msgid "Dismiss this notice"
|
1925 |
msgstr ""
|
1926 |
|
1927 |
+
#. #-#-#-#-# litespeed-cache.pot (LiteSpeed Cache 3.6.1) #-#-#-#-#
|
1928 |
#. Plugin Name of the plugin/theme
|
1929 |
#: tpl/banner/new_version.php:59 tpl/banner/new_version_dev.tpl.php:12
|
1930 |
#: tpl/cache/more_settings_tip.tpl.php:15 tpl/inc/admin_footer.php:8
|
1940 |
msgstr ""
|
1941 |
|
1942 |
#: tpl/banner/new_version.php:71 tpl/banner/new_version_dev.tpl.php:24
|
1943 |
+
#: tpl/toolbox/beta_test.tpl.php:48
|
1944 |
msgid "Upgrade"
|
1945 |
msgstr ""
|
1946 |
|
2063 |
|
2064 |
#: tpl/cache/more_settings_tip.tpl.php:12
|
2065 |
#: tpl/cache/settings-excludes.tpl.php:62
|
2066 |
+
#: tpl/cache/settings-excludes.tpl.php:95 tpl/cdn/settings.tpl.php:73
|
2067 |
#: tpl/crawler/settings-general.tpl.php:39
|
2068 |
#: tpl/crawler/settings-general.tpl.php:140
|
2069 |
#: tpl/crawler/settings-general.tpl.php:145
|
2300 |
msgstr ""
|
2301 |
|
2302 |
#: tpl/cache/settings-esi.tpl.php:107 tpl/cache/settings-purge.tpl.php:110
|
2303 |
+
#: tpl/cdn/settings.tpl.php:138
|
2304 |
msgid ""
|
2305 |
"Wildcard %1$s supported (match zero or more characters). For example, to "
|
2306 |
"match %2$s and %3$s, use %4$s."
|
2846 |
"%2$s."
|
2847 |
msgstr ""
|
2848 |
|
|
|
|
|
|
|
|
|
2849 |
#: tpl/cdn/settings.tpl.php:74
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2850 |
msgid ""
|
2851 |
"To randomize CDN hostname, define multiple hostnames for the same resources."
|
2852 |
msgstr ""
|
2853 |
|
2854 |
+
#: tpl/cdn/settings.tpl.php:79
|
2855 |
msgid ""
|
2856 |
"Serve all image files through the CDN. This will affect all attachments, "
|
2857 |
"HTML %s tags, and CSS %s attributes."
|
2858 |
msgstr ""
|
2859 |
|
2860 |
+
#: tpl/cdn/settings.tpl.php:83
|
2861 |
msgid ""
|
2862 |
"Serve all CSS files through the CDN. This will affect all enqueued WP CSS "
|
2863 |
"files."
|
2864 |
msgstr ""
|
2865 |
|
2866 |
+
#: tpl/cdn/settings.tpl.php:87
|
2867 |
msgid ""
|
2868 |
"Serve all JavaScript files through the CDN. This will affect all enqueued WP "
|
2869 |
"JavaScript files."
|
2870 |
msgstr ""
|
2871 |
|
2872 |
+
#: tpl/cdn/settings.tpl.php:91
|
2873 |
msgid "Static file type links to be replaced by CDN links."
|
2874 |
msgstr ""
|
2875 |
|
2876 |
+
#: tpl/cdn/settings.tpl.php:93
|
2877 |
msgid "This will affect all tags containing attributes: %s %s %s."
|
2878 |
msgstr ""
|
2879 |
|
2880 |
+
#: tpl/cdn/settings.tpl.php:94
|
2881 |
msgid "Default value"
|
2882 |
msgstr ""
|
2883 |
|
2884 |
+
#: tpl/cdn/settings.tpl.php:97
|
2885 |
msgid ""
|
2886 |
"If you turn any of the above settings OFF, please remove the related file "
|
2887 |
"types from the %s box."
|
2888 |
msgstr ""
|
2889 |
|
2890 |
+
#: tpl/cdn/settings.tpl.php:121
|
2891 |
msgid ""
|
2892 |
"Specify which HTML element attributes will be replaced with CDN Mapping."
|
2893 |
msgstr ""
|
2894 |
|
2895 |
+
#: tpl/cdn/settings.tpl.php:122 tpl/img_optm/settings.tpl.php:140
|
2896 |
msgid "Only attributes listed here will be replaced."
|
2897 |
msgstr ""
|
2898 |
|
2899 |
+
#: tpl/cdn/settings.tpl.php:123 tpl/img_optm/settings.tpl.php:141
|
2900 |
msgid "Use the format %1$s or %2$s (element is optional)."
|
2901 |
msgstr ""
|
2902 |
|
2903 |
+
#: tpl/cdn/settings.tpl.php:137
|
2904 |
msgid ""
|
2905 |
"Site URL to be served through the CDN. Beginning with %1$s. For example, "
|
2906 |
"%2$s."
|
2907 |
msgstr ""
|
2908 |
|
2909 |
+
#: tpl/cdn/settings.tpl.php:160
|
2910 |
msgid "Only files within these directories will be pointed to the CDN."
|
2911 |
msgstr ""
|
2912 |
|
2913 |
+
#: tpl/cdn/settings.tpl.php:174
|
2914 |
msgid "Paths containing these strings will not be served from the CDN."
|
2915 |
msgstr ""
|
2916 |
|
2917 |
+
#: tpl/cdn/settings.tpl.php:188
|
|
|
|
|
|
|
|
|
|
|
|
|
2918 |
msgid "Use %s API functionality."
|
2919 |
msgstr ""
|
2920 |
|
2921 |
+
#: tpl/cdn/settings.tpl.php:189
|
2922 |
msgid "This can be managed from <a %2$s>%1$s</a>."
|
2923 |
msgstr ""
|
2924 |
|
2925 |
+
#: tpl/cdn/settings.tpl.php:193
|
2926 |
msgid "Email Address"
|
2927 |
msgstr ""
|
2928 |
|
2929 |
+
#: tpl/cdn/settings.tpl.php:197
|
2930 |
msgid "Your Email address on %s."
|
2931 |
msgstr ""
|
2932 |
|
2933 |
+
#: tpl/cdn/settings.tpl.php:202
|
2934 |
msgid "Global API Key"
|
2935 |
msgstr ""
|
2936 |
|
2937 |
+
#: tpl/cdn/settings.tpl.php:206
|
2938 |
msgid "Your API key is used to access %s APIs."
|
2939 |
msgstr ""
|
2940 |
|
2941 |
+
#: tpl/cdn/settings.tpl.php:207
|
2942 |
msgid "Get it from <a %1$s>%2$s</a>."
|
2943 |
msgstr ""
|
2944 |
|
2945 |
+
#: tpl/cdn/settings.tpl.php:212
|
2946 |
msgid "Domain"
|
2947 |
msgstr ""
|
2948 |
|
2949 |
+
#: tpl/cdn/settings.tpl.php:220
|
2950 |
msgid "You can just type part of the domain."
|
2951 |
msgstr ""
|
2952 |
|
2953 |
+
#: tpl/cdn/settings.tpl.php:221
|
2954 |
msgid ""
|
2955 |
"Once saved, it will be matched with the current list and completed "
|
2956 |
"automatically."
|
3128 |
"To crawl the site as a logged-in user, enter the user ids to be simulated."
|
3129 |
msgstr ""
|
3130 |
|
3131 |
+
#: tpl/crawler/settings-simulation.tpl.php:49
|
3132 |
msgid ""
|
3133 |
"To crawl for a particular cookie, enter the cookie name, and the values you "
|
3134 |
"wish to crawl for. Values should be one per line, and can include a blank "
|
3135 |
"line. There will be one crawler created per cookie value, per simulated role."
|
3136 |
msgstr ""
|
3137 |
|
3138 |
+
#: tpl/crawler/settings-simulation.tpl.php:51
|
3139 |
msgid "Use %1$s in %2$s to indicate this cookie has not been set."
|
3140 |
msgstr ""
|
3141 |
|
4778 |
msgid "Selected roles will be excluded from all optimizations."
|
4779 |
msgstr ""
|
4780 |
|
4781 |
+
#: tpl/toolbox/beta_test.tpl.php:22
|
4782 |
msgid "Try GitHub Version"
|
4783 |
msgstr ""
|
4784 |
|
4785 |
+
#: tpl/toolbox/beta_test.tpl.php:26
|
4786 |
msgid ""
|
4787 |
"Use this section to switch plugin versions. To beta test a GitHub commit, "
|
4788 |
"enter the commit URL in the field below."
|
4789 |
msgstr ""
|
4790 |
|
4791 |
+
#: tpl/toolbox/beta_test.tpl.php:27
|
4792 |
msgid "Example"
|
4793 |
msgstr ""
|
4794 |
|
4795 |
+
#: tpl/toolbox/beta_test.tpl.php:31
|
4796 |
+
msgid "Use latest GitHub Dev commit"
|
4797 |
+
msgstr ""
|
4798 |
+
|
4799 |
+
#: tpl/toolbox/beta_test.tpl.php:33
|
4800 |
+
msgid "Use latest GitHub Master commit"
|
4801 |
msgstr ""
|
4802 |
|
4803 |
+
#: tpl/toolbox/beta_test.tpl.php:35 tpl/toolbox/beta_test.tpl.php:46
|
4804 |
msgid "Use latest WordPress release version"
|
4805 |
msgstr ""
|
4806 |
|
4807 |
+
#: tpl/toolbox/beta_test.tpl.php:35
|
4808 |
msgid "OR"
|
4809 |
msgstr ""
|
4810 |
|
4811 |
+
#: tpl/toolbox/beta_test.tpl.php:45
|
4812 |
msgid "Press the %s button to use the most recent GitHub commit."
|
4813 |
msgstr ""
|
4814 |
|
4815 |
+
#: tpl/toolbox/beta_test.tpl.php:45
|
4816 |
+
msgid "Use latest GitHub commit"
|
4817 |
+
msgstr ""
|
4818 |
+
|
4819 |
+
#: tpl/toolbox/beta_test.tpl.php:46
|
4820 |
msgid ""
|
4821 |
"Press the %s button to stop beta testing and go back to the current release "
|
4822 |
"from the WordPress Plugin Directory."
|
litespeed-cache.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* Plugin Name: LiteSpeed Cache
|
4 |
* Plugin URI: https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration
|
5 |
* Description: High-performance page caching and site optimization from LiteSpeed
|
6 |
-
* Version: 3.6
|
7 |
* Author: LiteSpeed Technologies
|
8 |
* Author URI: https://www.litespeedtech.com
|
9 |
* License: GPLv3
|
@@ -33,7 +33,7 @@ if ( class_exists( 'LiteSpeed\Core' ) || defined( 'LSCWP_DIR' ) ) {
|
|
33 |
return;
|
34 |
}
|
35 |
|
36 |
-
! defined( 'LSCWP_V' ) && define( 'LSCWP_V', '3.6' );
|
37 |
|
38 |
! defined( 'LSCWP_CONTENT_DIR' ) && define( 'LSCWP_CONTENT_DIR', WP_CONTENT_DIR ) ;
|
39 |
! defined( 'LSCWP_DIR' ) && define( 'LSCWP_DIR', __DIR__ . '/' ) ;// Full absolute path '/var/www/html/***/wp-content/plugins/litespeed-cache/' or MU
|
3 |
* Plugin Name: LiteSpeed Cache
|
4 |
* Plugin URI: https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration
|
5 |
* Description: High-performance page caching and site optimization from LiteSpeed
|
6 |
+
* Version: 3.6.1
|
7 |
* Author: LiteSpeed Technologies
|
8 |
* Author URI: https://www.litespeedtech.com
|
9 |
* License: GPLv3
|
33 |
return;
|
34 |
}
|
35 |
|
36 |
+
! defined( 'LSCWP_V' ) && define( 'LSCWP_V', '3.6.1' );
|
37 |
|
38 |
! defined( 'LSCWP_CONTENT_DIR' ) && define( 'LSCWP_CONTENT_DIR', WP_CONTENT_DIR ) ;
|
39 |
! defined( 'LSCWP_DIR' ) && define( 'LSCWP_DIR', __DIR__ . '/' ) ;// Full absolute path '/var/www/html/***/wp-content/plugins/litespeed-cache/' or MU
|
readme.txt
CHANGED
@@ -2,8 +2,8 @@
|
|
2 |
Contributors: LiteSpeedTech
|
3 |
Tags: caching, optimize, performance, pagespeed, seo, speed, image optimize, compress, object cache, redis, memcached, database cleaner
|
4 |
Requires at least: 4.0
|
5 |
-
Tested up to: 5.
|
6 |
-
Stable tag: 3.6
|
7 |
License: GPLv3
|
8 |
License URI: http://www.gnu.org/licenses/gpl.html
|
9 |
|
@@ -247,6 +247,19 @@ The vast majority of plugins and themes are compatible with LiteSpeed Cache. The
|
|
247 |
|
248 |
== Changelog ==
|
249 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
250 |
= 3.6 - Dec 14 2020 =
|
251 |
* 🌱**WebP** Added WebP support on Safari Big Sur or Safari v14.0.1+. (@ruikai)
|
252 |
* 🐞**Config** Fixed an issue where new installations were not getting the correct default .htaccess content.
|
@@ -267,7 +280,7 @@ The vast majority of plugins and themes are compatible with LiteSpeed Cache. The
|
|
267 |
* **Cloud** Dropped QUIC.cloud sync options that have long been unused.
|
268 |
* **CSS** Dropped `Unique CSS File` option (UCSS will always generate unique file, will use whitelist to group post type to one CSS).
|
269 |
* **GUI** Dropped Help tab.
|
270 |
-
* **
|
271 |
|
272 |
= 3.5.2 - Oct 27 2020 =
|
273 |
* **CSS** `CSS Combine` is now compatible w/ inline noscript CSS. (@galbaras)
|
2 |
Contributors: LiteSpeedTech
|
3 |
Tags: caching, optimize, performance, pagespeed, seo, speed, image optimize, compress, object cache, redis, memcached, database cleaner
|
4 |
Requires at least: 4.0
|
5 |
+
Tested up to: 5.6
|
6 |
+
Stable tag: 3.6.1
|
7 |
License: GPLv3
|
8 |
License URI: http://www.gnu.org/licenses/gpl.html
|
9 |
|
247 |
|
248 |
== Changelog ==
|
249 |
|
250 |
+
= 3.6.1 - Dec 21 2020 =
|
251 |
+
* **WP** Tested up to WP v5.6.
|
252 |
+
* **WebP** Reverted WebP support on Safari Big Sur and Safari v14.0.1+ due to an inability to detect MacOS versions from UA. (@antomal)
|
253 |
+
* **CDN** Dropped the option `Load JQuery Remotely`.
|
254 |
+
* **CDN** Fixed CDN URL replacement issue in optimized CSS files. (@ankit)
|
255 |
+
* **CDN** Fixed an issue where CDN CLI wouldn't set mapping image/CSS/JS to OFF when `false` was the value.
|
256 |
+
* **CDN** Started using React for CDN Mapping settings.
|
257 |
+
* **GUI** Secured Server IP setting from potential XSS issues. (@WonTae Jang)
|
258 |
+
* **Toolbox** Supported both dev and master branches for Beta Test. Latest version updated to v3.6.1.
|
259 |
+
* **Purge** Purge Pages now can purge non-archive pages too.
|
260 |
+
* **Admin** Simplified the admin JS.
|
261 |
+
* **Admin** Limited crawler-related react JS to crawler page only.
|
262 |
+
|
263 |
= 3.6 - Dec 14 2020 =
|
264 |
* 🌱**WebP** Added WebP support on Safari Big Sur or Safari v14.0.1+. (@ruikai)
|
265 |
* 🐞**Config** Fixed an issue where new installations were not getting the correct default .htaccess content.
|
280 |
* **Cloud** Dropped QUIC.cloud sync options that have long been unused.
|
281 |
* **CSS** Dropped `Unique CSS File` option (UCSS will always generate unique file, will use whitelist to group post type to one CSS).
|
282 |
* **GUI** Dropped Help tab.
|
283 |
+
* **Toolbox** Added 3.5.2 to version list.
|
284 |
|
285 |
= 3.5.2 - Oct 27 2020 =
|
286 |
* **CSS** `CSS Combine` is now compatible w/ inline noscript CSS. (@galbaras)
|
src/admin-display.cls.php
CHANGED
@@ -196,11 +196,13 @@ class Admin_Display extends Base {
|
|
196 |
// Admin footer
|
197 |
add_filter('admin_footer_text', array($this, 'admin_footer_text'), 1);
|
198 |
|
199 |
-
|
200 |
-
|
|
|
201 |
|
202 |
-
|
203 |
-
|
|
|
204 |
|
205 |
// Crawler Cookie Simulation
|
206 |
if ( $_GET[ 'page' ] == 'litespeed-crawler' ) {
|
@@ -211,10 +213,34 @@ class Admin_Display extends Base {
|
|
211 |
$localize_data[ 'lang' ][ 'one_per_line' ] = Doc::one_per_line( true );
|
212 |
$localize_data[ 'lang' ][ 'remove_cookie_simulation' ] = __( 'Remove cookie simulation', 'litespeed-cache' );
|
213 |
$localize_data[ 'lang' ][ 'add_cookie_simulation_row' ] = __( 'Add new cookie to simulate', 'litespeed-cache' );
|
214 |
-
$localize_data[ 'ids' ] = array();
|
215 |
$localize_data[ 'ids' ][ 'crawler_cookies' ] = Base::O_CRAWLER_COOKIES;
|
216 |
}
|
217 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
218 |
// If on Server IP setting page, append getIP link
|
219 |
if ( $_GET[ 'page' ] == 'litespeed-general' ) {
|
220 |
$localize_data[ 'ajax_url_getIP' ] = function_exists( 'get_rest_url' ) ? get_rest_url( null, 'litespeed/v1/tool/check_ip' ) : '/';
|
@@ -235,7 +261,7 @@ class Admin_Display extends Base {
|
|
235 |
* @since 3.6
|
236 |
*/
|
237 |
public function bable_type( $tag, $handle, $src ) {
|
238 |
-
if ( $handle != Core::PLUGIN_NAME . '-crawler' ) {
|
239 |
return $tag;
|
240 |
}
|
241 |
|
@@ -1036,7 +1062,7 @@ class Admin_Display extends Base {
|
|
1036 |
}
|
1037 |
|
1038 |
if ( ! \WP_Http::is_ip_address( $v ) ) {
|
1039 |
-
$tip[] = __( 'Invalid IP', 'litespeed-cache' ) . ': <code>' . $v . '</code>.';
|
1040 |
}
|
1041 |
}
|
1042 |
|
196 |
// Admin footer
|
197 |
add_filter('admin_footer_text', array($this, 'admin_footer_text'), 1);
|
198 |
|
199 |
+
if ( $_GET[ 'page' ] == 'litespeed-crawler' || $_GET[ 'page' ] == 'litespeed-cdn' ) {
|
200 |
+
// Babel JS type correction
|
201 |
+
add_filter( 'script_loader_tag', array( $this, 'bable_type' ), 10, 3 );
|
202 |
|
203 |
+
wp_enqueue_script( Core::PLUGIN_NAME . '-lib-react', LSWCP_PLUGIN_URL . 'assets/js/react.min.js', array(), Core::VER, false );
|
204 |
+
wp_enqueue_script( Core::PLUGIN_NAME . '-lib-babel', LSWCP_PLUGIN_URL . 'assets/js/babel.min.js', array(), Core::VER, false );
|
205 |
+
}
|
206 |
|
207 |
// Crawler Cookie Simulation
|
208 |
if ( $_GET[ 'page' ] == 'litespeed-crawler' ) {
|
213 |
$localize_data[ 'lang' ][ 'one_per_line' ] = Doc::one_per_line( true );
|
214 |
$localize_data[ 'lang' ][ 'remove_cookie_simulation' ] = __( 'Remove cookie simulation', 'litespeed-cache' );
|
215 |
$localize_data[ 'lang' ][ 'add_cookie_simulation_row' ] = __( 'Add new cookie to simulate', 'litespeed-cache' );
|
216 |
+
empty( $localize_data[ 'ids' ] ) && $localize_data[ 'ids' ] = array();
|
217 |
$localize_data[ 'ids' ][ 'crawler_cookies' ] = Base::O_CRAWLER_COOKIES;
|
218 |
}
|
219 |
|
220 |
+
// CDN mapping
|
221 |
+
if ( $_GET[ 'page' ] == 'litespeed-cdn' ) {
|
222 |
+
$home_url = home_url( '/' );
|
223 |
+
$parsed = parse_url( $home_url );
|
224 |
+
$home_url = str_replace( $parsed[ 'scheme' ] . ':', '', $home_url );
|
225 |
+
$cdn_url = 'https://cdn.' . substr( $home_url, 2 );
|
226 |
+
|
227 |
+
wp_enqueue_script( Core::PLUGIN_NAME . '-cdn', LSWCP_PLUGIN_URL . 'assets/js/component.cdn.js', array(), Core::VER, false );
|
228 |
+
$localize_data[ 'lang' ] = array();
|
229 |
+
$localize_data[ 'lang' ][ 'cdn_mapping_url' ] = Lang::title( Base::CDN_MAPPING_URL );
|
230 |
+
$localize_data[ 'lang' ][ 'cdn_mapping_inc_img' ] = Lang::title( Base::CDN_MAPPING_INC_IMG );
|
231 |
+
$localize_data[ 'lang' ][ 'cdn_mapping_inc_css' ] = Lang::title( Base::CDN_MAPPING_INC_CSS );
|
232 |
+
$localize_data[ 'lang' ][ 'cdn_mapping_inc_js' ] = Lang::title( Base::CDN_MAPPING_INC_JS );
|
233 |
+
$localize_data[ 'lang' ][ 'cdn_mapping_filetype' ] = Lang::title( Base::CDN_MAPPING_FILETYPE );
|
234 |
+
$localize_data[ 'lang' ][ 'cdn_mapping_url_desc' ] = sprintf( __( 'CDN URL to be used. For example, %s', 'litespeed-cache' ), '<code>' . $cdn_url . '</code>' );
|
235 |
+
$localize_data[ 'lang' ][ 'one_per_line' ] = Doc::one_per_line( true );
|
236 |
+
$localize_data[ 'lang' ][ 'cdn_mapping_remove' ] = __( 'Remove CDN URL', 'litespeed-cache' );
|
237 |
+
$localize_data[ 'lang' ][ 'add_cdn_mapping_row' ] = __( 'Add new CDN URL', 'litespeed-cache' );
|
238 |
+
$localize_data[ 'lang' ][ 'on' ] = __( 'ON', 'litespeed-cache' );
|
239 |
+
$localize_data[ 'lang' ][ 'off' ] = __( 'OFF', 'litespeed-cache' );
|
240 |
+
empty( $localize_data[ 'ids' ] ) && $localize_data[ 'ids' ] = array();
|
241 |
+
$localize_data[ 'ids' ][ 'cdn_mapping' ] = Base::O_CDN_MAPPING;
|
242 |
+
}
|
243 |
+
|
244 |
// If on Server IP setting page, append getIP link
|
245 |
if ( $_GET[ 'page' ] == 'litespeed-general' ) {
|
246 |
$localize_data[ 'ajax_url_getIP' ] = function_exists( 'get_rest_url' ) ? get_rest_url( null, 'litespeed/v1/tool/check_ip' ) : '/';
|
261 |
* @since 3.6
|
262 |
*/
|
263 |
public function bable_type( $tag, $handle, $src ) {
|
264 |
+
if ( $handle != Core::PLUGIN_NAME . '-crawler' && $handle != Core::PLUGIN_NAME . '-cdn' ) {
|
265 |
return $tag;
|
266 |
}
|
267 |
|
1062 |
}
|
1063 |
|
1064 |
if ( ! \WP_Http::is_ip_address( $v ) ) {
|
1065 |
+
$tip[] = __( 'Invalid IP', 'litespeed-cache' ) . ': <code>' . esc_textarea( $v ) . '</code>.';
|
1066 |
}
|
1067 |
}
|
1068 |
|
src/admin-settings.cls.php
CHANGED
@@ -124,7 +124,7 @@ class Admin_Settings extends Base
|
|
124 |
if ( $child == self::CDN_MAPPING_FILETYPE ) {
|
125 |
$v = Utility::sanitize_lines( $v );
|
126 |
}
|
127 |
-
elseif ( in_array( $
|
128 |
self::CDN_MAPPING_INC_IMG,
|
129 |
self::CDN_MAPPING_INC_CSS,
|
130 |
self::CDN_MAPPING_INC_JS,
|
124 |
if ( $child == self::CDN_MAPPING_FILETYPE ) {
|
125 |
$v = Utility::sanitize_lines( $v );
|
126 |
}
|
127 |
+
elseif ( in_array( $child, array(
|
128 |
self::CDN_MAPPING_INC_IMG,
|
129 |
self::CDN_MAPPING_INC_CSS,
|
130 |
self::CDN_MAPPING_INC_JS,
|
src/base.cls.php
CHANGED
@@ -256,7 +256,6 @@ class Base extends Instance {
|
|
256 |
const O_CDN_ORI = 'cdn-ori';
|
257 |
const O_CDN_ORI_DIR = 'cdn-ori_dir';
|
258 |
const O_CDN_EXC = 'cdn-exc';
|
259 |
-
const O_CDN_REMOTE_JQ = 'cdn-remote_jq';
|
260 |
const O_CDN_QUIC = 'cdn-quic';
|
261 |
const O_CDN_CLOUDFLARE = 'cdn-cloudflare';
|
262 |
const O_CDN_CLOUDFLARE_EMAIL= 'cdn-cloudflare_email';
|
@@ -307,7 +306,6 @@ class Base extends Instance {
|
|
307 |
self::O_CDN_ORI,
|
308 |
self::O_CDN_ORI_DIR,
|
309 |
self::O_CDN_EXC,
|
310 |
-
self::O_CDN_REMOTE_JQ,
|
311 |
self::O_CDN_QUIC,
|
312 |
self::O_CDN_CLOUDFLARE,
|
313 |
self::O_CDN_CLOUDFLARE_EMAIL,
|
@@ -531,7 +529,6 @@ class Base extends Instance {
|
|
531 |
self::O_CDN_ORI => array(),
|
532 |
self::O_CDN_ORI_DIR => array(),
|
533 |
self::O_CDN_EXC => array(),
|
534 |
-
self::O_CDN_REMOTE_JQ => false,
|
535 |
self::O_CDN_QUIC => false,
|
536 |
self::O_CDN_CLOUDFLARE => false,
|
537 |
self::O_CDN_CLOUDFLARE_EMAIL => '',
|
@@ -595,7 +592,6 @@ class Base extends Instance {
|
|
595 |
|
596 |
// NOTE: all the val of following items will be int while not bool
|
597 |
protected static $_multi_switch_list = array(
|
598 |
-
self::O_CDN_REMOTE_JQ => 2,
|
599 |
self::O_DEBUG => 2,
|
600 |
self::O_OPTM_CSS_FONT_DISPLAY => 4,
|
601 |
self::O_OPTM_JS_INLINE_DEFER => 2,
|
256 |
const O_CDN_ORI = 'cdn-ori';
|
257 |
const O_CDN_ORI_DIR = 'cdn-ori_dir';
|
258 |
const O_CDN_EXC = 'cdn-exc';
|
|
|
259 |
const O_CDN_QUIC = 'cdn-quic';
|
260 |
const O_CDN_CLOUDFLARE = 'cdn-cloudflare';
|
261 |
const O_CDN_CLOUDFLARE_EMAIL= 'cdn-cloudflare_email';
|
306 |
self::O_CDN_ORI,
|
307 |
self::O_CDN_ORI_DIR,
|
308 |
self::O_CDN_EXC,
|
|
|
309 |
self::O_CDN_QUIC,
|
310 |
self::O_CDN_CLOUDFLARE,
|
311 |
self::O_CDN_CLOUDFLARE_EMAIL,
|
529 |
self::O_CDN_ORI => array(),
|
530 |
self::O_CDN_ORI_DIR => array(),
|
531 |
self::O_CDN_EXC => array(),
|
|
|
532 |
self::O_CDN_QUIC => false,
|
533 |
self::O_CDN_CLOUDFLARE => false,
|
534 |
self::O_CDN_CLOUDFLARE_EMAIL => '',
|
592 |
|
593 |
// NOTE: all the val of following items will be int while not bool
|
594 |
protected static $_multi_switch_list = array(
|
|
|
595 |
self::O_DEBUG => 2,
|
596 |
self::O_OPTM_CSS_FONT_DISPLAY => 4,
|
597 |
self::O_OPTM_JS_INLINE_DEFER => 2,
|
src/cdn.cls.php
CHANGED
@@ -24,7 +24,6 @@ class CDN extends Instance {
|
|
24 |
private $_cfg_ori_dir;
|
25 |
private $_cfg_cdn_mapping = array();
|
26 |
private $_cfg_cdn_exclude;
|
27 |
-
private $_cfg_cdn_remote_jquery;
|
28 |
|
29 |
private $cdn_mapping_hosts = array();
|
30 |
|
@@ -53,16 +52,6 @@ class CDN extends Instance {
|
|
53 |
|
54 |
$this->__cfg = Conf::get_instance();
|
55 |
|
56 |
-
/**
|
57 |
-
* Remotely load jQuery
|
58 |
-
* This is separate from CDN on/off
|
59 |
-
* @since 1.5
|
60 |
-
*/
|
61 |
-
$this->_cfg_cdn_remote_jquery = Conf::val( Base::O_CDN_REMOTE_JQ );
|
62 |
-
if ( $this->_cfg_cdn_remote_jquery ) {
|
63 |
-
add_action( 'wp', array( $this, 'load_jquery_remotely' ) );
|
64 |
-
}
|
65 |
-
|
66 |
$this->_cfg_cdn = Conf::val( Base::O_CDN );
|
67 |
if ( ! $this->_cfg_cdn ) {
|
68 |
if ( ! defined( self::BYPASS ) ) {
|
@@ -577,32 +566,4 @@ class CDN extends Instance {
|
|
577 |
return in_array( $host, $instance->cdn_mapping_hosts );// todo: can add $this->_is_ori_url() check in future
|
578 |
}
|
579 |
|
580 |
-
/**
|
581 |
-
* Remote load jQuery remotely
|
582 |
-
*
|
583 |
-
* @since 1.5
|
584 |
-
* @access public
|
585 |
-
*/
|
586 |
-
public function load_jquery_remotely() {
|
587 |
-
// default jq version
|
588 |
-
$v = '1.12.4';
|
589 |
-
|
590 |
-
// load wp's jq version
|
591 |
-
global $wp_scripts;
|
592 |
-
if ( isset( $wp_scripts->registered[ 'jquery-core' ]->ver ) ) {
|
593 |
-
$v = $wp_scripts->registered[ 'jquery-core' ]->ver;
|
594 |
-
// Remove all unexpected chars to fix WP5.2.1 jq version issue @see https://wordpress.org/support/topic/problem-with-wordpress-5-2-1/
|
595 |
-
$v = preg_replace( '|[^\d\.]|', '', $v );
|
596 |
-
}
|
597 |
-
|
598 |
-
$src = $this->_cfg_cdn_remote_jquery == Base::VAL_ON2 ? "//cdnjs.cloudflare.com/ajax/libs/jquery/$v/jquery.min.js" : "//ajax.googleapis.com/ajax/libs/jquery/$v/jquery.min.js";
|
599 |
-
|
600 |
-
wp_deregister_script( 'jquery-core' );
|
601 |
-
wp_deregister_script( 'jquery' );
|
602 |
-
|
603 |
-
$res = wp_register_script( 'jquery-core', $src, false, $v );
|
604 |
-
$res = wp_register_script( 'jquery', $src, false, $v );
|
605 |
-
|
606 |
-
Debug2::debug2( '[CDN] load_jquery_remotely: ' . $src, $res );
|
607 |
-
}
|
608 |
}
|
24 |
private $_cfg_ori_dir;
|
25 |
private $_cfg_cdn_mapping = array();
|
26 |
private $_cfg_cdn_exclude;
|
|
|
27 |
|
28 |
private $cdn_mapping_hosts = array();
|
29 |
|
52 |
|
53 |
$this->__cfg = Conf::get_instance();
|
54 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
55 |
$this->_cfg_cdn = Conf::val( Base::O_CDN );
|
56 |
if ( ! $this->_cfg_cdn ) {
|
57 |
if ( ! defined( self::BYPASS ) ) {
|
566 |
return in_array( $host, $instance->cdn_mapping_hosts );// todo: can add $this->_is_ori_url() check in future
|
567 |
}
|
568 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
569 |
}
|
src/data.upgrade.func.php
CHANGED
@@ -303,7 +303,7 @@ function litespeed_update_3_0( $ver ) {
|
|
303 |
'cdn' => 'cdn',
|
304 |
'cdn_ori' => 'cdn-ori',
|
305 |
'cdn_exclude' => 'cdn-exc',
|
306 |
-
'cdn_remote_jquery' => 'cdn-remote_jq',
|
307 |
'cdn_quic' => 'cdn-quic',
|
308 |
'cdn_cloudflare' => 'cdn-cloudflare',
|
309 |
'cdn_cloudflare_email' => 'cdn-cloudflare_email',
|
303 |
'cdn' => 'cdn',
|
304 |
'cdn_ori' => 'cdn-ori',
|
305 |
'cdn_exclude' => 'cdn-exc',
|
306 |
+
// 'cdn_remote_jquery' => 'cdn-remote_jq',
|
307 |
'cdn_quic' => 'cdn-quic',
|
308 |
'cdn_cloudflare' => 'cdn-cloudflare',
|
309 |
'cdn_cloudflare_email' => 'cdn-cloudflare_email',
|
src/htaccess.cls.php
CHANGED
@@ -611,9 +611,6 @@ class Htaccess extends Instance {
|
|
611 |
$new_rules[] = 'RewriteCond %{HTTP_USER_AGENT} iPhone.*Version/(\d{2}).*Safari';
|
612 |
$new_rules[] = 'RewriteCond %1 >13';
|
613 |
$new_rules[] = 'RewriteRule .* - [E=Cache-Control:vary=%{ENV:LSCACHE_VARY_VALUE}+webp]';
|
614 |
-
$new_rules[] = 'RewriteCond %{HTTP_USER_AGENT} Mac.*Version/(\d{2}(.\d{1,2})?(.\d{1,2})?).*Safari';
|
615 |
-
$new_rules[] = 'RewriteCond %1 >14.0.0';
|
616 |
-
$new_rules[] = 'RewriteRule .* - [E=Cache-Control:vary=%{ENV:LSCACHE_VARY_VALUE}+webp]';
|
617 |
$new_rules[] = self::MARKER_WEBP . self::MARKER_END;
|
618 |
$new_rules[] = '';
|
619 |
}
|
@@ -898,3 +895,4 @@ class Htaccess extends Instance {
|
|
898 |
|
899 |
}
|
900 |
}
|
|
611 |
$new_rules[] = 'RewriteCond %{HTTP_USER_AGENT} iPhone.*Version/(\d{2}).*Safari';
|
612 |
$new_rules[] = 'RewriteCond %1 >13';
|
613 |
$new_rules[] = 'RewriteRule .* - [E=Cache-Control:vary=%{ENV:LSCACHE_VARY_VALUE}+webp]';
|
|
|
|
|
|
|
614 |
$new_rules[] = self::MARKER_WEBP . self::MARKER_END;
|
615 |
$new_rules[] = '';
|
616 |
}
|
895 |
|
896 |
}
|
897 |
}
|
898 |
+
|
src/lang.cls.php
CHANGED
@@ -205,7 +205,6 @@ class Lang extends Base
|
|
205 |
self::O_CDN_ORI => __( 'Original URLs', 'litespeed-cache' ),
|
206 |
self::O_CDN_ORI_DIR => __( 'Included Directories', 'litespeed-cache' ),
|
207 |
self::O_CDN_EXC => __( 'Exclude Path', 'litespeed-cache' ),
|
208 |
-
self::O_CDN_REMOTE_JQ => __( 'Load JQuery Remotely', 'litespeed-cache' ),
|
209 |
self::O_CDN_CLOUDFLARE => __( 'Cloudflare API', 'litespeed-cache' ),
|
210 |
|
211 |
self::O_CRAWLER => __( 'Crawler', 'litespeed-cache' ),
|
205 |
self::O_CDN_ORI => __( 'Original URLs', 'litespeed-cache' ),
|
206 |
self::O_CDN_ORI_DIR => __( 'Included Directories', 'litespeed-cache' ),
|
207 |
self::O_CDN_EXC => __( 'Exclude Path', 'litespeed-cache' ),
|
|
|
208 |
self::O_CDN_CLOUDFLARE => __( 'Cloudflare API', 'litespeed-cache' ),
|
209 |
|
210 |
self::O_CRAWLER => __( 'Crawler', 'litespeed-cache' ),
|
src/media.cls.php
CHANGED
@@ -409,13 +409,6 @@ class Media extends Instance {
|
|
409 |
return true;
|
410 |
}
|
411 |
|
412 |
-
if ( preg_match("/(?:version\/|safari)([\d.]+)/i", $_SERVER['HTTP_USER_AGENT'], $matches) ) {
|
413 |
-
$lscwp_mac_version = $matches[1];
|
414 |
-
if (version_compare($lscwp_mac_version, '14.0.0', '>')){
|
415 |
-
return true;
|
416 |
-
}
|
417 |
-
}
|
418 |
-
|
419 |
if ( preg_match( "/iPhone OS (\d+)_/i", $_SERVER[ 'HTTP_USER_AGENT' ], $matches ) ) {
|
420 |
$lscwp_ios_version = $matches[1];
|
421 |
if ($lscwp_ios_version >= 14){
|
409 |
return true;
|
410 |
}
|
411 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
412 |
if ( preg_match( "/iPhone OS (\d+)_/i", $_SERVER[ 'HTTP_USER_AGENT' ], $matches ) ) {
|
413 |
$lscwp_ios_version = $matches[1];
|
414 |
if ($lscwp_ios_version >= 14){
|
src/optimizer.cls.php
CHANGED
@@ -137,6 +137,8 @@ class Optimizer extends Instance {
|
|
137 |
if ( ! $concat_only && ! $is_min ) {
|
138 |
$content = self::minify_css( $content );
|
139 |
}
|
|
|
|
|
140 |
}
|
141 |
else {
|
142 |
if ( ! $concat_only && ! $is_min ) {
|
137 |
if ( ! $concat_only && ! $is_min ) {
|
138 |
$content = self::minify_css( $content );
|
139 |
}
|
140 |
+
|
141 |
+
$content = CDN::finalize( $content );
|
142 |
}
|
143 |
else {
|
144 |
if ( ! $concat_only && ! $is_min ) {
|
src/purge.cls.php
CHANGED
@@ -698,6 +698,7 @@ class Purge extends Base {
|
|
698 |
*/
|
699 |
public static function purge_posttype( $post_type ) {
|
700 |
self::add( Tag::TYPE_ARCHIVE_POSTTYPE . $post_type );
|
|
|
701 |
}
|
702 |
|
703 |
/**
|
@@ -1008,6 +1009,7 @@ class Purge extends Base {
|
|
1008 |
if ( Conf::val( Base::O_PURGE_POST_POSTTYPE) ) {
|
1009 |
if ( get_post_type_archive_link($post_type) ) {
|
1010 |
$purge_tags[] = Tag::TYPE_ARCHIVE_POSTTYPE . $post_type;
|
|
|
1011 |
}
|
1012 |
}
|
1013 |
|
698 |
*/
|
699 |
public static function purge_posttype( $post_type ) {
|
700 |
self::add( Tag::TYPE_ARCHIVE_POSTTYPE . $post_type );
|
701 |
+
self::add( $post_type );
|
702 |
}
|
703 |
|
704 |
/**
|
1009 |
if ( Conf::val( Base::O_PURGE_POST_POSTTYPE) ) {
|
1010 |
if ( get_post_type_archive_link($post_type) ) {
|
1011 |
$purge_tags[] = Tag::TYPE_ARCHIVE_POSTTYPE . $post_type;
|
1012 |
+
$purge_tags[] = $post_type;
|
1013 |
}
|
1014 |
}
|
1015 |
|
tpl/cdn/settings.tpl.php
CHANGED
@@ -54,71 +54,20 @@ $this->form_action();
|
|
54 |
<tr>
|
55 |
<th class="litespeed-padding-left"></th>
|
56 |
<td>
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
<?php $id = Base::CDN_MAPPING_URL; ?>
|
63 |
-
<?php $this->title( $id ); ?>
|
64 |
-
<button type="button" class="button button-link litespeed-collection-button litespeed-danger" data-litespeed-cdn-mapping-del="1" data-action="remove">
|
65 |
-
<span class="dashicons dashicons-dismiss"></span>
|
66 |
-
<span class="screen-reader-text"><?php echo __( 'Remove CDN URL', 'litespeed-cache' ); ?></span>
|
67 |
-
</button>
|
68 |
-
</label>
|
69 |
-
|
70 |
-
<?php
|
71 |
-
$this->build_input( Base::O_CDN_MAPPING . "[$id][]", 'litespeed-input-long', $v[ $id ] );
|
72 |
-
?>
|
73 |
-
<div class="litespeed-desc">
|
74 |
-
<?php echo sprintf( __( 'CDN URL to be used. For example, %s', 'litespeed-cache' ), '<code>' . $cdn_url . '</code>' ); ?>
|
75 |
-
</div>
|
76 |
-
</div>
|
77 |
-
|
78 |
-
<div class="litespeed-col-auto litespeed-cdn-mapping-col2">
|
79 |
-
<div class="litespeed-row litespeed-toggle-wrapper">
|
80 |
-
<div class="litespeed-cdn-mapping-inc litespeed-form-label litespeed-form-label--toggle">
|
81 |
-
<?php $id = Base::CDN_MAPPING_INC_IMG; ?>
|
82 |
-
<?php $this->title( $id ); ?>
|
83 |
-
</div>
|
84 |
-
<?php
|
85 |
-
$this->build_toggle( Base::O_CDN_MAPPING . "[$id][]", ! empty( $v[ $id ] ) ? true : false );
|
86 |
-
?>
|
87 |
-
</div>
|
88 |
-
<div class="litespeed-row litespeed-toggle-wrapper">
|
89 |
-
<div class="litespeed-cdn-mapping-inc litespeed-form-label litespeed-form-label--toggle">
|
90 |
-
<?php $id = Base::CDN_MAPPING_INC_CSS; ?>
|
91 |
-
<?php $this->title( $id ); ?>
|
92 |
-
</div>
|
93 |
-
<?php
|
94 |
-
$this->build_toggle( Base::O_CDN_MAPPING . "[$id][]", ! empty( $v[ $id ] ) ? true : false );
|
95 |
-
?>
|
96 |
-
</div>
|
97 |
-
<div class="litespeed-row litespeed-toggle-wrapper">
|
98 |
-
<div class="litespeed-cdn-mapping-inc litespeed-form-label litespeed-form-label--toggle">
|
99 |
-
<?php $id = Base::CDN_MAPPING_INC_JS; ?>
|
100 |
-
<?php $this->title( $id ); ?>
|
101 |
-
</div>
|
102 |
-
<?php
|
103 |
-
$this->build_toggle( Base::O_CDN_MAPPING . "[$id][]", ! empty( $v[ $id ] ) ? true : false );
|
104 |
-
?>
|
105 |
-
</div>
|
106 |
-
</div>
|
107 |
-
|
108 |
-
<div class="litespeed-col-auto">
|
109 |
-
<label class="litespeed-form-label">
|
110 |
-
<?php $id = Base::CDN_MAPPING_FILETYPE; ?>
|
111 |
-
<?php $this->title( $id ); ?>
|
112 |
-
</label>
|
113 |
-
<?php $this->build_textarea( Base::O_CDN_MAPPING . "[$id][]", 18, is_array( $v[ $id ] ) ? implode( "\n", $v[ $id ] ) : $v[ $id ] ); ?>
|
114 |
-
</div>
|
115 |
-
</div>
|
116 |
|
117 |
-
|
118 |
|
119 |
-
<
|
120 |
-
|
121 |
-
|
|
|
|
|
|
|
122 |
|
123 |
<div class="litespeed-warning">
|
124 |
<?php echo __('NOTE', 'litespeed-cache'); ?>:
|
@@ -228,19 +177,6 @@ $this->form_action();
|
|
228 |
</td>
|
229 |
</tr>
|
230 |
|
231 |
-
<tr>
|
232 |
-
<th>
|
233 |
-
<?php $id = Base::O_CDN_REMOTE_JQ; ?>
|
234 |
-
<?php $this->title( $id ); ?>
|
235 |
-
</th>
|
236 |
-
<td>
|
237 |
-
<?php $this->build_switch( $id, array( __( 'OFF', 'litespeed-cache' ), 'Google', 'CDNJS' ) ); ?>
|
238 |
-
<div class="litespeed-desc">
|
239 |
-
<?php echo __( 'Improve page load time by loading jQuery from a remote CDN service instead of locally.', 'litespeed-cache' ); ?>
|
240 |
-
</div>
|
241 |
-
</td>
|
242 |
-
</tr>
|
243 |
-
|
244 |
<tr>
|
245 |
<th>
|
246 |
<?php $id = Base::O_CDN_CLOUDFLARE; ?>
|
54 |
<tr>
|
55 |
<th class="litespeed-padding-left"></th>
|
56 |
<td>
|
57 |
+
<?php $this->enroll( Base::O_CDN_MAPPING . '[' . Base::CDN_MAPPING_URL . '][]' ); ?>
|
58 |
+
<?php $this->enroll( Base::O_CDN_MAPPING . '[' . Base::CDN_MAPPING_INC_IMG . '][]' ); ?>
|
59 |
+
<?php $this->enroll( Base::O_CDN_MAPPING . '[' . Base::CDN_MAPPING_INC_CSS . '][]' ); ?>
|
60 |
+
<?php $this->enroll( Base::O_CDN_MAPPING . '[' . Base::CDN_MAPPING_INC_JS . '][]' ); ?>
|
61 |
+
<?php $this->enroll( Base::O_CDN_MAPPING . '[' . Base::CDN_MAPPING_FILETYPE . '][]' ); ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
62 |
|
63 |
+
<div id="litespeed_cdn_mapping_div"></div>
|
64 |
|
65 |
+
<script type="text/babel">
|
66 |
+
ReactDOM.render(
|
67 |
+
<CDNMapping list={ <?php echo json_encode( $cdn_mapping ); ?> } />,
|
68 |
+
document.getElementById( 'litespeed_cdn_mapping_div' )
|
69 |
+
);
|
70 |
+
</script>
|
71 |
|
72 |
<div class="litespeed-warning">
|
73 |
<?php echo __('NOTE', 'litespeed-cache'); ?>:
|
177 |
</td>
|
178 |
</tr>
|
179 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
180 |
<tr>
|
181 |
<th>
|
182 |
<?php $id = Base::O_CDN_CLOUDFLARE; ?>
|
tpl/crawler/settings-simulation.tpl.php
CHANGED
@@ -39,28 +39,10 @@ $this->form_action();
|
|
39 |
<div id="litespeed_crawler_simulation_div"></div>
|
40 |
|
41 |
<script type="text/babel">
|
42 |
-
<?php
|
43 |
-
// Build the cookie crawler Vue data
|
44 |
-
/**
|
45 |
-
* Data Src Structure:
|
46 |
-
* crawler-cookie[ 0 ][ name ] = 'xxx'
|
47 |
-
* crawler-cookie[ 0 ][ vals ] = 'xxx'
|
48 |
-
*/
|
49 |
-
$list = array();
|
50 |
-
foreach ( Conf::val( $id ) as $v ) {
|
51 |
-
if ( empty( $v[ 'name' ] ) ) {
|
52 |
-
continue;
|
53 |
-
}
|
54 |
-
|
55 |
-
$list[] = "{ name: '$v[name]', vals: `" . implode( "\n", $v[ 'vals' ] ) . "` }";// $v contains line break
|
56 |
-
}
|
57 |
-
?>
|
58 |
-
const simulatorList = [ <?php echo implode( ',', $list ); ?> ];
|
59 |
ReactDOM.render(
|
60 |
-
<CrawlerSimulate list={
|
61 |
document.getElementById( 'litespeed_crawler_simulation_div' )
|
62 |
);
|
63 |
-
|
64 |
</script>
|
65 |
|
66 |
<div class="litespeed-desc">
|
39 |
<div id="litespeed_crawler_simulation_div"></div>
|
40 |
|
41 |
<script type="text/babel">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
42 |
ReactDOM.render(
|
43 |
+
<CrawlerSimulate list={ <?php echo json_encode( Conf::val( $id ) ); ?> } />,
|
44 |
document.getElementById( 'litespeed_crawler_simulation_div' )
|
45 |
);
|
|
|
46 |
</script>
|
47 |
|
48 |
<div class="litespeed-desc">
|
tpl/toolbox/beta_test.tpl.php
CHANGED
@@ -4,6 +4,8 @@ defined( 'WPINC' ) || exit;
|
|
4 |
|
5 |
// Existing public version list
|
6 |
$v_list = array(
|
|
|
|
|
7 |
'3.5.2',
|
8 |
'3.5.1',
|
9 |
'3.5.0.1',
|
@@ -26,7 +28,9 @@ $v_list = array(
|
|
26 |
|
27 |
<input type="text" name="<?php echo Debug2::BETA_TEST_URL; ?>" class="litespeed-input-long" id='litespeed-beta-test'>
|
28 |
|
29 |
-
<p><a href="javascript:;" class="button litespeed-btn-success" onclick="document.getElementById('litespeed-beta-test').value='dev';"><?php echo __( 'Use latest GitHub commit', 'litespeed-cache' ); ?></a> <code>dev</code></p>
|
|
|
|
|
30 |
|
31 |
<p><a href="javascript:;" class="button litespeed-btn-success" onclick="document.getElementById('litespeed-beta-test').value='latest';"><?php echo __( 'Use latest WordPress release version', 'litespeed-cache' ); ?></a> <code><?php echo Debug2::BETA_TEST_URL_WP; ?></code> <?php echo __( 'OR', 'litespeed-cache' ) ?> <code>latest</code></p>
|
32 |
|
4 |
|
5 |
// Existing public version list
|
6 |
$v_list = array(
|
7 |
+
'3.6.1',
|
8 |
+
'3.6',
|
9 |
'3.5.2',
|
10 |
'3.5.1',
|
11 |
'3.5.0.1',
|
28 |
|
29 |
<input type="text" name="<?php echo Debug2::BETA_TEST_URL; ?>" class="litespeed-input-long" id='litespeed-beta-test'>
|
30 |
|
31 |
+
<p><a href="javascript:;" class="button litespeed-btn-success" onclick="document.getElementById('litespeed-beta-test').value='dev';"><?php echo __( 'Use latest GitHub Dev commit', 'litespeed-cache' ); ?></a> <code>dev</code></p>
|
32 |
+
|
33 |
+
<p><a href="javascript:;" class="button litespeed-btn-success" onclick="document.getElementById('litespeed-beta-test').value='master';"><?php echo __( 'Use latest GitHub Master commit', 'litespeed-cache' ); ?></a> <code>master</code></p>
|
34 |
|
35 |
<p><a href="javascript:;" class="button litespeed-btn-success" onclick="document.getElementById('litespeed-beta-test').value='latest';"><?php echo __( 'Use latest WordPress release version', 'litespeed-cache' ); ?></a> <code><?php echo Debug2::BETA_TEST_URL_WP; ?></code> <?php echo __( 'OR', 'litespeed-cache' ) ?> <code>latest</code></p>
|
36 |
|