Version Description
- Sep 11 2018 =
- Responsive placeholder. (@szmigieldesign)
- Changed CSS::ccss_realpath function scope to private.
- BUGFIX Detected JS filetype before optimizing to avoid PHP source conflict. (@closte #50)
Download this release
Release Info
Developer | LiteSpeedTech |
Plugin | LiteSpeed Cache |
Version | 2.5.1 |
Comparing to | |
See all releases |
Code changes from version 2.4.4 to 2.5.1
- admin/litespeed-cache-admin-settings.class.php +9 -2
- admin/tpl/inc/check_cache_disabled.php +14 -7
- admin/tpl/manage/manage_purge.php +9 -0
- admin/tpl/setting/settings_compatibilities.php +1 -1
- admin/tpl/setting/settings_media.php +63 -0
- cli/litespeed-cache-cli-iapi.class.php +17 -0
- inc/const.cls.php +6 -0
- inc/css.cls.php +4 -4
- inc/gui.class.php +10 -0
- inc/img_optm.class.php +12 -0
- inc/litespeed-cache.class.php +1 -1
- inc/media.class.php +313 -28
- inc/optimize.class.php +6 -0
- inc/purge.class.php +22 -0
- inc/task.class.php +25 -0
- includes/litespeed-cache-gui.class.php +10 -0
- includes/litespeed-cache-optimize.class.php +6 -0
- includes/litespeed-cache-purge.class.php +22 -0
- includes/litespeed-cache-task.class.php +25 -0
- includes/litespeed-cache.class.php +1 -1
- languages/litespeed-cache.pot +219 -149
- litespeed-cache.php +1 -1
- readme.txt +13 -2
admin/litespeed-cache-admin-settings.class.php
CHANGED
@@ -684,6 +684,8 @@ class LiteSpeed_Cache_Admin_Settings
|
|
684 |
{
|
685 |
$ids = array(
|
686 |
LiteSpeed_Cache_Config::OPID_MEDIA_IMG_LAZY,
|
|
|
|
|
687 |
LiteSpeed_Cache_Config::OPID_MEDIA_IFRAME_LAZY,
|
688 |
LiteSpeed_Cache_Config::OPID_MEDIA_IMG_LAZYJS_INLINE,
|
689 |
LiteSpeed_Cache_Config::OPT_MEDIA_OPTM_AUTO,
|
@@ -699,8 +701,13 @@ class LiteSpeed_Cache_Admin_Settings
|
|
699 |
$this->_options[ $id ] = self::parse_onoff( $this->_input, $id ) ;
|
700 |
}
|
701 |
|
702 |
-
$
|
703 |
-
|
|
|
|
|
|
|
|
|
|
|
704 |
|
705 |
// Update lazyload image excludes
|
706 |
$id = LiteSpeed_Cache_Config::ITEM_MEDIA_LAZY_IMG_EXC ;
|
684 |
{
|
685 |
$ids = array(
|
686 |
LiteSpeed_Cache_Config::OPID_MEDIA_IMG_LAZY,
|
687 |
+
LiteSpeed_Cache_Config::OPID_MEDIA_PLACEHOLDER_RESP,
|
688 |
+
LiteSpeed_Cache_Config::OPID_MEDIA_PLACEHOLDER_RESP_ASYNC,
|
689 |
LiteSpeed_Cache_Config::OPID_MEDIA_IFRAME_LAZY,
|
690 |
LiteSpeed_Cache_Config::OPID_MEDIA_IMG_LAZYJS_INLINE,
|
691 |
LiteSpeed_Cache_Config::OPT_MEDIA_OPTM_AUTO,
|
701 |
$this->_options[ $id ] = self::parse_onoff( $this->_input, $id ) ;
|
702 |
}
|
703 |
|
704 |
+
$ids = array(
|
705 |
+
LiteSpeed_Cache_Config::OPID_MEDIA_IMG_LAZY_PLACEHOLDER,
|
706 |
+
LiteSpeed_Cache_Config::OPID_MEDIA_PLACEHOLDER_RESP_COLOR,
|
707 |
+
) ;
|
708 |
+
foreach ( $ids as $id ) {
|
709 |
+
$this->_options[ $id ] = $this->_input[ $id ] ;
|
710 |
+
}
|
711 |
|
712 |
// Update lazyload image excludes
|
713 |
$id = LiteSpeed_Cache_Config::ITEM_MEDIA_LAZY_IMG_EXC ;
|
admin/tpl/inc/check_cache_disabled.php
CHANGED
@@ -1,18 +1,25 @@
|
|
1 |
-
<?php
|
2 |
if ( ! defined( 'WPINC' ) ) die ;
|
3 |
|
4 |
$reasons = array() ;
|
5 |
|
6 |
if ( ! defined( 'LITESPEED_ALLOWED' ) ) {
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11 |
}
|
12 |
|
13 |
if ( ! defined( 'LITESPEED_ON_IN_SETTING' ) ) {
|
14 |
$reasons[] = array(
|
15 |
-
'title' => __( 'LiteSpeed Cache
|
16 |
'link' => 'https://www.litespeedtech.com/support/wiki/doku.php/litespeed_wiki:cache:lscwp:configuration:general#enable_litespeed_cache',
|
17 |
) ;
|
18 |
}
|
@@ -39,7 +46,7 @@ if ( $reasons ) :
|
|
39 |
<li>
|
40 |
<?php echo $v[ 'title' ] ; ?>
|
41 |
|
42 |
-
<a href="<?php echo $v[ 'link' ] ; ?>" target="_blank" class="litespeed-learn-more"><?php echo __( 'Learn
|
43 |
</li>
|
44 |
<?php endforeach ; ?>
|
45 |
</ul>
|
1 |
+
<?php
|
2 |
if ( ! defined( 'WPINC' ) ) die ;
|
3 |
|
4 |
$reasons = array() ;
|
5 |
|
6 |
if ( ! defined( 'LITESPEED_ALLOWED' ) ) {
|
7 |
+
if ( defined( 'LITESPEED_SERVER_TYPE' ) && 'LITESPEED_SERVER_TYPE' == 'NONE') {
|
8 |
+
$reasons[] = array(
|
9 |
+
'title' => __( 'Caching with a non-LiteSpeed server (i.e. Apache or nginx) is not currently supported.', 'litespeed-cache' ),
|
10 |
+
'link' => 'https://www.litespeedtech.com/support/wiki/doku.php/litespeed_wiki:cache:lscwp#requirements',
|
11 |
+
) ;
|
12 |
+
} else {
|
13 |
+
$reasons[] = array(
|
14 |
+
'title' => __( 'Please enable the LSCache Module at the server level, or ask your hosting provider.', 'litespeed-cache' ),
|
15 |
+
'link' => 'https://www.litespeedtech.com/support/wiki/doku.php/litespeed_wiki:cache:lscwp:installation',
|
16 |
+
) ;
|
17 |
+
}
|
18 |
}
|
19 |
|
20 |
if ( ! defined( 'LITESPEED_ON_IN_SETTING' ) ) {
|
21 |
$reasons[] = array(
|
22 |
+
'title' => __( 'Please enable LiteSpeed Cache in the plugin settings.', 'litespeed-cache' ) ,
|
23 |
'link' => 'https://www.litespeedtech.com/support/wiki/doku.php/litespeed_wiki:cache:lscwp:configuration:general#enable_litespeed_cache',
|
24 |
) ;
|
25 |
}
|
46 |
<li>
|
47 |
<?php echo $v[ 'title' ] ; ?>
|
48 |
|
49 |
+
<a href="<?php echo $v[ 'link' ] ; ?>" target="_blank" class="litespeed-learn-more"><?php echo __( 'Learn More', 'litespeed-cache' ) ; ?></a>
|
50 |
</li>
|
51 |
<?php endforeach ; ?>
|
52 |
</ul>
|
admin/tpl/manage/manage_purge.php
CHANGED
@@ -76,6 +76,15 @@ if ( LiteSpeed_Cache_CSS::has_ccss_cache() ) {
|
|
76 |
) ;
|
77 |
}
|
78 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
79 |
|
80 |
$_panels[] = array(
|
81 |
'title' => __( 'Purge All', 'litespeed-cache' ),
|
76 |
) ;
|
77 |
}
|
78 |
|
79 |
+
if ( LiteSpeed_Cache_Media::has_placehoder_cache() ) {
|
80 |
+
$_panels[] = array(
|
81 |
+
'title' => __( 'Purge All', 'litespeed-cache' ) . ' - ' . __( 'Placeholder Cache', 'litespeed-cache' ),
|
82 |
+
'desc' => __( 'This will delete all generated image placeholder files', 'litespeed-cache' ),
|
83 |
+
'icon' => 'purge-cssjs',
|
84 |
+
'append_url' => LiteSpeed_Cache_Purge::TYPE_PURGE_ALL_PLACEHOLDER,
|
85 |
+
) ;
|
86 |
+
}
|
87 |
+
|
88 |
|
89 |
$_panels[] = array(
|
90 |
'title' => __( 'Purge All', 'litespeed-cache' ),
|
admin/tpl/setting/settings_compatibilities.php
CHANGED
@@ -27,7 +27,7 @@ if (!LiteSpeed_Cache_Admin_Display::get_instance()->show_compatibility_tab()) re
|
|
27 |
cache:!1,
|
28 |
success:function(data) {
|
29 |
if(data) {
|
30 |
-
jQuery(
|
31 |
}
|
32 |
}
|
33 |
});</pre>
|
27 |
cache:!1,
|
28 |
success:function(data) {
|
29 |
if(data) {
|
30 |
+
jQuery('#postviews_lscwp').html(data+' views');
|
31 |
}
|
32 |
}
|
33 |
});</pre>
|
admin/tpl/setting/settings_media.php
CHANGED
@@ -1,6 +1,8 @@
|
|
1 |
<?php
|
2 |
if ( ! defined( 'WPINC' ) ) die ;
|
3 |
|
|
|
|
|
4 |
?>
|
5 |
|
6 |
<h3 class="litespeed-title-short">
|
@@ -54,6 +56,67 @@ if ( ! defined( 'WPINC' ) ) die ;
|
|
54 |
</td>
|
55 |
</tr>
|
56 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
57 |
<tr>
|
58 |
<th><?php echo __( 'Lazy Load Iframes', 'litespeed-cache' ) ; ?></th>
|
59 |
<td>
|
1 |
<?php
|
2 |
if ( ! defined( 'WPINC' ) ) die ;
|
3 |
|
4 |
+
$last_responsive_placeholder_generated = LiteSpeed_Cache_Media::get_summary() ;
|
5 |
+
|
6 |
?>
|
7 |
|
8 |
<h3 class="litespeed-title-short">
|
56 |
</td>
|
57 |
</tr>
|
58 |
|
59 |
+
<tr>
|
60 |
+
<th class="litespeed-padding-left"><?php echo __( 'Responsive Placeholder', 'litespeed-cache' ) ; ?></th>
|
61 |
+
<td>
|
62 |
+
<?php $this->build_switch( LiteSpeed_Cache_Config::OPID_MEDIA_PLACEHOLDER_RESP ) ; ?>
|
63 |
+
<div class="litespeed-desc">
|
64 |
+
<?php echo __( 'Responsive image placeholders can help to reduce layout reshuffle when images are loaded.', 'litespeed-cache' ) ; ?>
|
65 |
+
<?php echo __( 'This will generate the placeholder with same dimensions as the image if it has the width and height attributes.', 'litespeed-cache' ) ; ?>
|
66 |
+
</div>
|
67 |
+
</td>
|
68 |
+
</tr>
|
69 |
+
|
70 |
+
<tr>
|
71 |
+
<th class="litespeed-padding-left"><?php echo __( 'Responsive Placeholder Background Color', 'litespeed-cache' ) ; ?></th>
|
72 |
+
<td>
|
73 |
+
<?php $id = LiteSpeed_Cache_Config::OPID_MEDIA_PLACEHOLDER_RESP_COLOR ; ?>
|
74 |
+
<?php $this->build_input( $id, false, null, null, '', 'color' ) ; ?>
|
75 |
+
<div class="litespeed-desc">
|
76 |
+
<?php echo __( 'Specify the placeholder color you want to use.', 'litespeed-cache' ) ; ?>
|
77 |
+
<?php $this->recommended( $id ) ; ?>
|
78 |
+
</div>
|
79 |
+
</td>
|
80 |
+
</tr>
|
81 |
+
|
82 |
+
<tr>
|
83 |
+
<th class="litespeed-padding-left"><?php echo __( 'Generate Reponsive Placeholder In Background', 'litespeed-cache' ) ; ?></th>
|
84 |
+
<td>
|
85 |
+
<?php $this->build_switch( LiteSpeed_Cache_Config::OPID_MEDIA_PLACEHOLDER_RESP_ASYNC ) ; ?>
|
86 |
+
<div class="litespeed-desc">
|
87 |
+
<?php echo sprintf( __( 'Automatically generate %s in the background via a cron-based queue.', 'litespeed-cache' ), __( 'Responsive Placeholder', 'litespeed-cache' ) ) ; ?>
|
88 |
+
<?php echo sprintf(
|
89 |
+
__( 'If set to %1$s, before the placeholder is localized, the %2$s configuration will be used.', 'litespeed-cache' ),
|
90 |
+
'<code>' . __('ON', 'litespeed-cache') . '</code>',
|
91 |
+
__( 'Lazy Load Image Placeholder', 'litespeed-cache' )
|
92 |
+
) ; ?>
|
93 |
+
<?php echo sprintf( __( 'If set to %s this is done in the foreground, which may slow down page load.', 'litespeed-cache' ), '<code>' . __('OFF', 'litespeed-cache') . '</code>' ) ; ?>
|
94 |
+
<a href="https://www.litespeedtech.com/support/wiki/doku.php/litespeed_wiki:cache:lscwp:configuration:media#generate_responsive_placeholder" target="_blank"><?php echo __( 'Learn More', 'litespeed-cache' ) ; ?></a>
|
95 |
+
</div>
|
96 |
+
|
97 |
+
<?php if ( $last_responsive_placeholder_generated ) : ?>
|
98 |
+
<div class="litespeed-desc litespeed-left20">
|
99 |
+
<?php if ( ! empty( $last_responsive_placeholder_generated[ 'last_request' ] ) ) : ?>
|
100 |
+
<p>
|
101 |
+
<?php echo __( 'Last generated', 'litespeed-cache' ) . ': <code>' . LiteSpeed_Cache_Utility::readable_time( $last_responsive_placeholder_generated[ 'last_request' ] ) . '</code>' ; ?>
|
102 |
+
</p>
|
103 |
+
<?php endif ; ?>
|
104 |
+
<?php if ( ! empty( $last_responsive_placeholder_generated[ 'queue' ] ) ) : ?>
|
105 |
+
<div class="litespeed-callout-warning">
|
106 |
+
<h4><?php echo __( 'Size list in queue waiting for cron','litespeed-cache' ) ; ?></h4>
|
107 |
+
<p>
|
108 |
+
<?php echo implode( '<br />', $last_responsive_placeholder_generated[ 'queue' ] ) ; ?>
|
109 |
+
</p>
|
110 |
+
</p>
|
111 |
+
<a href="<?php echo LiteSpeed_Cache_Utility::build_url( LiteSpeed_Cache::ACTION_MEDIA, LiteSpeed_Cache_Media::TYPE_GENERATE_PLACEHOLDER ) ; ?>" class="litespeed-btn-success">
|
112 |
+
<?php echo __( 'Run Queue Manually', 'litespeed-cache' ) ; ?>
|
113 |
+
</a>
|
114 |
+
<?php endif ; ?>
|
115 |
+
</div>
|
116 |
+
<?php endif ; ?>
|
117 |
+
</td>
|
118 |
+
</tr>
|
119 |
+
|
120 |
<tr>
|
121 |
<th><?php echo __( 'Lazy Load Iframes', 'litespeed-cache' ) ; ?></th>
|
122 |
<td>
|
cli/litespeed-cache-cli-iapi.class.php
CHANGED
@@ -179,5 +179,22 @@ class LiteSpeed_Cache_CLI_IAPI
|
|
179 |
$this->status() ;
|
180 |
}
|
181 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
182 |
|
183 |
}
|
179 |
$this->status() ;
|
180 |
}
|
181 |
|
182 |
+
/**
|
183 |
+
* Remove original image backups
|
184 |
+
*
|
185 |
+
* ## OPTIONS
|
186 |
+
*
|
187 |
+
* ## EXAMPLES
|
188 |
+
*
|
189 |
+
* # Remove original image backups
|
190 |
+
* $ wp lscache-iapi rm_bkup
|
191 |
+
*
|
192 |
+
*/
|
193 |
+
public function rm_bkup()
|
194 |
+
{
|
195 |
+
$msg = $this->_img_optm_instance->rm_bkup() ;
|
196 |
+
WP_CLI::success( $msg ) ;
|
197 |
+
}
|
198 |
+
|
199 |
|
200 |
}
|
inc/const.cls.php
CHANGED
@@ -179,6 +179,9 @@ class LiteSpeed_Cache_Const
|
|
179 |
|
180 |
const OPID_MEDIA_IMG_LAZY = 'media_img_lazy' ;
|
181 |
const OPID_MEDIA_IMG_LAZY_PLACEHOLDER = 'media_img_lazy_placeholder' ;
|
|
|
|
|
|
|
182 |
const OPID_MEDIA_IFRAME_LAZY = 'media_iframe_lazy' ;
|
183 |
const OPID_MEDIA_IMG_LAZYJS_INLINE = 'media_img_lazyjs_inline' ;
|
184 |
const OPT_MEDIA_OPTM_AUTO = 'media_optm_auto' ;
|
@@ -462,6 +465,9 @@ class LiteSpeed_Cache_Const
|
|
462 |
|
463 |
self::OPID_MEDIA_IMG_LAZY => false,
|
464 |
self::OPID_MEDIA_IMG_LAZY_PLACEHOLDER => '',
|
|
|
|
|
|
|
465 |
self::OPID_MEDIA_IFRAME_LAZY => false,
|
466 |
self::OPID_MEDIA_IMG_LAZYJS_INLINE => false,
|
467 |
self::OPT_MEDIA_OPTM_AUTO => false,
|
179 |
|
180 |
const OPID_MEDIA_IMG_LAZY = 'media_img_lazy' ;
|
181 |
const OPID_MEDIA_IMG_LAZY_PLACEHOLDER = 'media_img_lazy_placeholder' ;
|
182 |
+
const OPID_MEDIA_PLACEHOLDER_RESP = 'media_placeholder_resp' ;
|
183 |
+
const OPID_MEDIA_PLACEHOLDER_RESP_COLOR = 'media_placeholder_resp_color' ;
|
184 |
+
const OPID_MEDIA_PLACEHOLDER_RESP_ASYNC = 'media_placeholder_resp_async' ;
|
185 |
const OPID_MEDIA_IFRAME_LAZY = 'media_iframe_lazy' ;
|
186 |
const OPID_MEDIA_IMG_LAZYJS_INLINE = 'media_img_lazyjs_inline' ;
|
187 |
const OPT_MEDIA_OPTM_AUTO = 'media_optm_auto' ;
|
465 |
|
466 |
self::OPID_MEDIA_IMG_LAZY => false,
|
467 |
self::OPID_MEDIA_IMG_LAZY_PLACEHOLDER => '',
|
468 |
+
self::OPID_MEDIA_PLACEHOLDER_RESP => false,
|
469 |
+
self::OPID_MEDIA_PLACEHOLDER_RESP_COLOR => '#cfd4db',
|
470 |
+
self::OPID_MEDIA_PLACEHOLDER_RESP_ASYNC => true,
|
471 |
self::OPID_MEDIA_IFRAME_LAZY => false,
|
472 |
self::OPID_MEDIA_IMG_LAZYJS_INLINE => false,
|
473 |
self::OPT_MEDIA_OPTM_AUTO => false,
|
inc/css.cls.php
CHANGED
@@ -94,9 +94,9 @@ class LiteSpeed_Cache_CSS
|
|
94 |
* Generate realpath of ccss
|
95 |
*
|
96 |
* @since 2.3
|
97 |
-
* @access
|
98 |
*/
|
99 |
-
|
100 |
{
|
101 |
return LSCWP_CONTENT_DIR . "/cache/ccss/$ccss_type.css" ;
|
102 |
}
|
@@ -137,7 +137,7 @@ class LiteSpeed_Cache_CSS
|
|
137 |
}
|
138 |
|
139 |
$ccss_type = $this->_which_css() ;
|
140 |
-
$ccss_file =
|
141 |
|
142 |
if ( file_exists( $ccss_file ) ) {
|
143 |
LiteSpeed_Cache_Log::debug2( '[CSS] existing ccss ' . $ccss_file ) ;
|
@@ -212,7 +212,7 @@ class LiteSpeed_Cache_CSS
|
|
212 |
{
|
213 |
$req_summary = self::get_summary() ;
|
214 |
|
215 |
-
$ccss_file =
|
216 |
|
217 |
// Update css request status
|
218 |
$req_summary[ 'curr_request' ] = time() ;
|
94 |
* Generate realpath of ccss
|
95 |
*
|
96 |
* @since 2.3
|
97 |
+
* @access private
|
98 |
*/
|
99 |
+
private function _ccss_realpath( $ccss_type )
|
100 |
{
|
101 |
return LSCWP_CONTENT_DIR . "/cache/ccss/$ccss_type.css" ;
|
102 |
}
|
137 |
}
|
138 |
|
139 |
$ccss_type = $this->_which_css() ;
|
140 |
+
$ccss_file = $this->_ccss_realpath( $ccss_type ) ;
|
141 |
|
142 |
if ( file_exists( $ccss_file ) ) {
|
143 |
LiteSpeed_Cache_Log::debug2( '[CSS] existing ccss ' . $ccss_file ) ;
|
212 |
{
|
213 |
$req_summary = self::get_summary() ;
|
214 |
|
215 |
+
$ccss_file = $this->_ccss_realpath( $ccss_type ) ;
|
216 |
|
217 |
// Update css request status
|
218 |
$req_summary[ 'curr_request' ] = time() ;
|
inc/gui.class.php
CHANGED
@@ -444,6 +444,16 @@ class LiteSpeed_Cache_GUI
|
|
444 |
'meta' => array( 'tabindex' => '0' ),
|
445 |
) );
|
446 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
447 |
}
|
448 |
|
449 |
/**
|
444 |
'meta' => array( 'tabindex' => '0' ),
|
445 |
) );
|
446 |
}
|
447 |
+
|
448 |
+
if ( LiteSpeed_Cache_Media::has_placehoder_cache() ) {
|
449 |
+
$wp_admin_bar->add_menu( array(
|
450 |
+
'parent' => 'litespeed-menu',
|
451 |
+
'id' => 'litespeed-purge-placeholder',
|
452 |
+
'title' => __( 'Purge All', 'litespeed-cache' ) . ' - ' . __( 'Placeholder Cache', 'litespeed-cache' ),
|
453 |
+
'href' => LiteSpeed_Cache_Utility::build_url( LiteSpeed_Cache::ACTION_PURGE, LiteSpeed_Cache_Purge::TYPE_PURGE_ALL_PLACEHOLDER ),
|
454 |
+
'meta' => array( 'tabindex' => '0' ),
|
455 |
+
) );
|
456 |
+
}
|
457 |
}
|
458 |
|
459 |
/**
|
inc/img_optm.class.php
CHANGED
@@ -1691,6 +1691,17 @@ class LiteSpeed_Cache_Img_Optm
|
|
1691 |
|
1692 |
}
|
1693 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1694 |
/**
|
1695 |
* Delete bkup original images storage
|
1696 |
*
|
@@ -1735,6 +1746,7 @@ class LiteSpeed_Cache_Img_Optm
|
|
1735 |
$msg = sprintf( __( 'Removed %1$s images and saved %2$s successfully.', 'litespeed-cache' ), $i, LiteSpeed_Cache_Utility::real_size( $total_size ) ) ;
|
1736 |
LiteSpeed_Cache_Admin_Display::succeed( $msg ) ;
|
1737 |
|
|
|
1738 |
}
|
1739 |
|
1740 |
/**
|
1691 |
|
1692 |
}
|
1693 |
|
1694 |
+
/**
|
1695 |
+
* Remove backups for CLI usage
|
1696 |
+
*
|
1697 |
+
* @since 2.5
|
1698 |
+
* @access public
|
1699 |
+
*/
|
1700 |
+
public function rm_bkup()
|
1701 |
+
{
|
1702 |
+
return $this->_rm_bkup() ;
|
1703 |
+
}
|
1704 |
+
|
1705 |
/**
|
1706 |
* Delete bkup original images storage
|
1707 |
*
|
1746 |
$msg = sprintf( __( 'Removed %1$s images and saved %2$s successfully.', 'litespeed-cache' ), $i, LiteSpeed_Cache_Utility::real_size( $total_size ) ) ;
|
1747 |
LiteSpeed_Cache_Admin_Display::succeed( $msg ) ;
|
1748 |
|
1749 |
+
return $msg ;
|
1750 |
}
|
1751 |
|
1752 |
/**
|
inc/litespeed-cache.class.php
CHANGED
@@ -25,7 +25,7 @@ class LiteSpeed_Cache
|
|
25 |
|
26 |
const NAME = 'LiteSpeed Cache' ;
|
27 |
const PLUGIN_NAME = 'litespeed-cache' ;
|
28 |
-
const PLUGIN_VERSION = '2.
|
29 |
|
30 |
const PAGE_EDIT_HTACCESS = 'lscache-edit-htaccess' ;
|
31 |
|
25 |
|
26 |
const NAME = 'LiteSpeed Cache' ;
|
27 |
const PLUGIN_NAME = 'litespeed-cache' ;
|
28 |
+
const PLUGIN_VERSION = '2.5.1' ;
|
29 |
|
30 |
const PAGE_EDIT_HTACCESS = 'lscache-edit-htaccess' ;
|
31 |
|
inc/media.class.php
CHANGED
@@ -19,10 +19,18 @@ class LiteSpeed_Cache_Media
|
|
19 |
|
20 |
const LAZY_LIB = '/min/lazyload.js' ;
|
21 |
|
|
|
|
|
|
|
22 |
private $content ;
|
23 |
private $wp_upload_dir ;
|
24 |
|
25 |
-
private $
|
|
|
|
|
|
|
|
|
|
|
26 |
|
27 |
/**
|
28 |
* Init
|
@@ -39,10 +47,10 @@ class LiteSpeed_Cache_Media
|
|
39 |
if ( $this->can_media() ) {
|
40 |
$this->_static_request_check() ;
|
41 |
|
42 |
-
$this->
|
43 |
|
44 |
// Due to ajax call doesn't send correct accept header, have to limit webp to HTML only
|
45 |
-
if ( $this->
|
46 |
/**
|
47 |
* Add vary filter
|
48 |
* @since 1.6.2
|
@@ -64,6 +72,15 @@ class LiteSpeed_Cache_Media
|
|
64 |
}
|
65 |
|
66 |
add_action( 'litspeed_after_admin_init', array( $this, 'after_admin_init' ) ) ;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
67 |
}
|
68 |
|
69 |
/**
|
@@ -341,26 +358,6 @@ eot;
|
|
341 |
return Litespeed_File::read( $file ) ;
|
342 |
}
|
343 |
|
344 |
-
/**
|
345 |
-
* Handle all request actions from main cls
|
346 |
-
*
|
347 |
-
* @since 1.6
|
348 |
-
* @access public
|
349 |
-
*/
|
350 |
-
public static function handler()
|
351 |
-
{
|
352 |
-
$instance = self::get_instance() ;
|
353 |
-
|
354 |
-
$type = LiteSpeed_Cache_Router::verify_type() ;
|
355 |
-
|
356 |
-
switch ( $type ) {
|
357 |
-
default:
|
358 |
-
break ;
|
359 |
-
}
|
360 |
-
|
361 |
-
LiteSpeed_Cache_Admin::redirect() ;
|
362 |
-
}
|
363 |
-
|
364 |
/**
|
365 |
* Run lazy load process
|
366 |
* NOTE: As this is after cache finalized, can NOT set any cache control anymore
|
@@ -404,7 +401,7 @@ eot;
|
|
404 |
* Use webp for optimized images
|
405 |
* @since 1.6.2
|
406 |
*/
|
407 |
-
if ( $this->
|
408 |
$this->_replace_buffer_img_webp() ;
|
409 |
}
|
410 |
|
@@ -412,19 +409,29 @@ eot;
|
|
412 |
$cfg_iframe_lazy = LiteSpeed_Cache::config( LiteSpeed_Cache_Config::OPID_MEDIA_IFRAME_LAZY ) ;
|
413 |
|
414 |
if ( $cfg_img_lazy ) {
|
415 |
-
list( $src_list, $html_list ) = $this->_parse_img() ;
|
416 |
$html_list_ori = $html_list ;
|
417 |
}
|
418 |
|
419 |
// image lazy load
|
420 |
if ( $cfg_img_lazy ) {
|
421 |
|
422 |
-
$
|
423 |
|
424 |
foreach ( $html_list as $k => $v ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
425 |
$snippet = '<noscript>' . $v . '</noscript>' ;
|
426 |
$v = str_replace( array( ' src=', ' srcset=', ' sizes=' ), array( ' data-src=', ' data-srcset=', ' data-sizes=' ), $v ) ;
|
427 |
-
$v = str_replace( '<img ', '<img data-lazyloaded="1" src="' . $
|
428 |
$snippet = $v . $snippet ;
|
429 |
|
430 |
$html_list[ $k ] = $snippet ;
|
@@ -465,6 +472,81 @@ eot;
|
|
465 |
}
|
466 |
}
|
467 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
468 |
/**
|
469 |
* Parse img src
|
470 |
*
|
@@ -485,6 +567,7 @@ eot;
|
|
485 |
|
486 |
$src_list = array() ;
|
487 |
$html_list = array() ;
|
|
|
488 |
|
489 |
$content = preg_replace( '#<!--.*-->#sU', '', $this->content ) ;
|
490 |
preg_match_all( '#<img \s*([^>]+)/?>#isU', $content, $matches, PREG_SET_ORDER ) ;
|
@@ -525,11 +608,17 @@ eot;
|
|
525 |
continue ;
|
526 |
}
|
527 |
|
|
|
|
|
|
|
|
|
|
|
528 |
$src_list[] = $attrs[ 'src' ] ;
|
529 |
$html_list[] = $match[ 0 ] ;
|
|
|
530 |
}
|
531 |
|
532 |
-
return array( $src_list, $html_list ) ;
|
533 |
}
|
534 |
|
535 |
/**
|
@@ -745,6 +834,202 @@ eot;
|
|
745 |
return $url ;
|
746 |
}
|
747 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
748 |
/**
|
749 |
* Get the current instance object.
|
750 |
*
|
19 |
|
20 |
const LAZY_LIB = '/min/lazyload.js' ;
|
21 |
|
22 |
+
const TYPE_GENERATE_PLACEHOLDER = 'generate_placeholder' ;
|
23 |
+
const DB_PLACEHOLDER_SUMMARY = 'litespeed-media-placeholder-summary' ;
|
24 |
+
|
25 |
private $content ;
|
26 |
private $wp_upload_dir ;
|
27 |
|
28 |
+
private $_cfg_img_webp ;
|
29 |
+
private $_cfg_placeholder_resp ;
|
30 |
+
private $_cfg_placeholder_resp_color ;
|
31 |
+
private $_cfg_placeholder_resp_async ;
|
32 |
+
private $_placeholder_resp_dict = array() ;
|
33 |
+
private $_ph_queue = array() ;
|
34 |
|
35 |
/**
|
36 |
* Init
|
47 |
if ( $this->can_media() ) {
|
48 |
$this->_static_request_check() ;
|
49 |
|
50 |
+
$this->_cfg_img_webp = self::webp_enabled() ;
|
51 |
|
52 |
// Due to ajax call doesn't send correct accept header, have to limit webp to HTML only
|
53 |
+
if ( $this->_cfg_img_webp ) {
|
54 |
/**
|
55 |
* Add vary filter
|
56 |
* @since 1.6.2
|
72 |
}
|
73 |
|
74 |
add_action( 'litspeed_after_admin_init', array( $this, 'after_admin_init' ) ) ;
|
75 |
+
|
76 |
+
$this->_cfg_placeholder_resp = LiteSpeed_Cache::config( LiteSpeed_Cache_Config::OPID_MEDIA_PLACEHOLDER_RESP ) ;
|
77 |
+
$this->_cfg_placeholder_resp_async = LiteSpeed_Cache::config( LiteSpeed_Cache_Config::OPID_MEDIA_PLACEHOLDER_RESP_ASYNC ) ;
|
78 |
+
$this->_cfg_placeholder_resp_color = LiteSpeed_Cache::config( LiteSpeed_Cache_Config::OPID_MEDIA_PLACEHOLDER_RESP_COLOR ) ;
|
79 |
+
// Encode the color
|
80 |
+
if ( $this->_cfg_placeholder_resp_color ) {
|
81 |
+
$this->_cfg_placeholder_resp_color = base64_encode( $this->_cfg_placeholder_resp_color ) ;
|
82 |
+
}
|
83 |
+
|
84 |
}
|
85 |
|
86 |
/**
|
358 |
return Litespeed_File::read( $file ) ;
|
359 |
}
|
360 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
361 |
/**
|
362 |
* Run lazy load process
|
363 |
* NOTE: As this is after cache finalized, can NOT set any cache control anymore
|
401 |
* Use webp for optimized images
|
402 |
* @since 1.6.2
|
403 |
*/
|
404 |
+
if ( $this->_cfg_img_webp && $this->webp_support() ) {
|
405 |
$this->_replace_buffer_img_webp() ;
|
406 |
}
|
407 |
|
409 |
$cfg_iframe_lazy = LiteSpeed_Cache::config( LiteSpeed_Cache_Config::OPID_MEDIA_IFRAME_LAZY ) ;
|
410 |
|
411 |
if ( $cfg_img_lazy ) {
|
412 |
+
list( $src_list, $html_list, $placeholder_list ) = $this->_parse_img() ;
|
413 |
$html_list_ori = $html_list ;
|
414 |
}
|
415 |
|
416 |
// image lazy load
|
417 |
if ( $cfg_img_lazy ) {
|
418 |
|
419 |
+
$default_placeholder = LiteSpeed_Cache::config( LiteSpeed_Cache_Config::OPID_MEDIA_IMG_LAZY_PLACEHOLDER ) ?: LITESPEED_PLACEHOLDER ;
|
420 |
|
421 |
foreach ( $html_list as $k => $v ) {
|
422 |
+
$size = $placeholder_list[ $k ] ;
|
423 |
+
// Check if need to enable responsive placeholder or not
|
424 |
+
$this_placeholder = $this->_placeholder( $size ) ?: $default_placeholder ;
|
425 |
+
|
426 |
+
$additional_attr = '' ;
|
427 |
+
if ( $this_placeholder != $default_placeholder ) {
|
428 |
+
LiteSpeed_Cache_Log::debug2( '[Media] Use resp placeholder [size] ' . $size ) ;
|
429 |
+
$additional_attr = ' data-placeholder-resp="' . $size . '"' ;
|
430 |
+
}
|
431 |
+
|
432 |
$snippet = '<noscript>' . $v . '</noscript>' ;
|
433 |
$v = str_replace( array( ' src=', ' srcset=', ' sizes=' ), array( ' data-src=', ' data-srcset=', ' data-sizes=' ), $v ) ;
|
434 |
+
$v = str_replace( '<img ', '<img data-lazyloaded="1"' . $additional_attr . ' src="' . $this_placeholder . '" ', $v ) ;
|
435 |
$snippet = $v . $snippet ;
|
436 |
|
437 |
$html_list[ $k ] = $snippet ;
|
472 |
}
|
473 |
}
|
474 |
|
475 |
+
/**
|
476 |
+
* Generate responsive placeholder
|
477 |
+
*
|
478 |
+
* @since 2.5.1
|
479 |
+
* @access private
|
480 |
+
*/
|
481 |
+
private function _placeholder( $size )
|
482 |
+
{
|
483 |
+
if ( ! $size ) {
|
484 |
+
return false ;
|
485 |
+
}
|
486 |
+
|
487 |
+
if ( ! $this->_cfg_placeholder_resp ) {
|
488 |
+
return false ;
|
489 |
+
}
|
490 |
+
|
491 |
+
// Check if its already in dict or not
|
492 |
+
if ( ! empty( $this->_placeholder_resp_dict[ $size ] ) ) {
|
493 |
+
LiteSpeed_Cache_Log::debug2( '[Media] Resp placeholder already in dict [size] ' . $size ) ;
|
494 |
+
|
495 |
+
return $this->_placeholder_resp_dict[ $size ] ;
|
496 |
+
}
|
497 |
+
|
498 |
+
// Need to generate the responsive placeholder
|
499 |
+
$placeholder_realpath = $this->_placeholder_realpath( $size ) ;
|
500 |
+
if ( file_exists( $placeholder_realpath ) ) {
|
501 |
+
LiteSpeed_Cache_Log::debug2( '[Media] Resp placeholder file exists [size] ' . $size ) ;
|
502 |
+
$this->_placeholder_resp_dict[ $size ] = Litespeed_File::read( $placeholder_realpath ) ;
|
503 |
+
|
504 |
+
return $this->_placeholder_resp_dict[ $size ] ;
|
505 |
+
}
|
506 |
+
|
507 |
+
// Add to cron queue
|
508 |
+
|
509 |
+
// Prevent repeated requests
|
510 |
+
if ( in_array( $size, $this->_ph_queue ) ) {
|
511 |
+
LiteSpeed_Cache_Log::debug2( '[Media] Resp placeholder file bypass generating due to in queue [size] ' . $size ) ;
|
512 |
+
return false ;
|
513 |
+
}
|
514 |
+
$this->_ph_queue[] = $size ;
|
515 |
+
|
516 |
+
$req_summary = self::get_summary() ;
|
517 |
+
|
518 |
+
// Send request to generate placeholder
|
519 |
+
if ( ! $this->_cfg_placeholder_resp_async ) {
|
520 |
+
// If requested recently, bypass
|
521 |
+
if ( $req_summary && ! empty( $req_summary[ 'curr_request' ] ) && time() - $req_summary[ 'curr_request' ] < 300 ) {
|
522 |
+
LiteSpeed_Cache_Log::debug2( '[Media] Resp placeholder file bypass generating due to interval limit [size] ' . $size ) ;
|
523 |
+
return false ;
|
524 |
+
}
|
525 |
+
// Generate immediately
|
526 |
+
$this->_placeholder_resp_dict[ $size ] = $this->_generate_placeholder( $size ) ;
|
527 |
+
|
528 |
+
return $this->_placeholder_resp_dict[ $size ] ;
|
529 |
+
}
|
530 |
+
|
531 |
+
// Store it to prepare for cron
|
532 |
+
if ( empty( $req_summary[ 'queue' ] ) ) {
|
533 |
+
$req_summary[ 'queue' ] = array() ;
|
534 |
+
}
|
535 |
+
if ( in_array( $size, $req_summary[ 'queue' ] ) ) {
|
536 |
+
LiteSpeed_Cache_Log::debug2( '[Media] Resp placeholder already in queue [size] ' . $size ) ;
|
537 |
+
|
538 |
+
return false ;
|
539 |
+
}
|
540 |
+
|
541 |
+
$req_summary[ 'queue' ][] = $size ;
|
542 |
+
|
543 |
+
LiteSpeed_Cache_Log::debug( '[Media] Added placeholder queue [size] ' . $size ) ;
|
544 |
+
|
545 |
+
$this->_save_summary( $req_summary ) ;
|
546 |
+
return false ;
|
547 |
+
|
548 |
+
}
|
549 |
+
|
550 |
/**
|
551 |
* Parse img src
|
552 |
*
|
567 |
|
568 |
$src_list = array() ;
|
569 |
$html_list = array() ;
|
570 |
+
$placeholder_list = array() ;
|
571 |
|
572 |
$content = preg_replace( '#<!--.*-->#sU', '', $this->content ) ;
|
573 |
preg_match_all( '#<img \s*([^>]+)/?>#isU', $content, $matches, PREG_SET_ORDER ) ;
|
608 |
continue ;
|
609 |
}
|
610 |
|
611 |
+
$placeholder = false ;
|
612 |
+
if ( ! empty( $attrs[ 'width' ] ) && ! empty( $attrs[ 'height' ] ) ) {
|
613 |
+
$placeholder = $attrs[ 'width' ] . 'x' . $attrs[ 'height' ] ;
|
614 |
+
}
|
615 |
+
|
616 |
$src_list[] = $attrs[ 'src' ] ;
|
617 |
$html_list[] = $match[ 0 ] ;
|
618 |
+
$placeholder_list[] = $placeholder ;
|
619 |
}
|
620 |
|
621 |
+
return array( $src_list, $html_list, $placeholder_list ) ;
|
622 |
}
|
623 |
|
624 |
/**
|
834 |
return $url ;
|
835 |
}
|
836 |
|
837 |
+
/**
|
838 |
+
* Check if there is a queue for cron or not
|
839 |
+
*
|
840 |
+
* @since 2.5.1
|
841 |
+
* @access public
|
842 |
+
*/
|
843 |
+
public static function has_queue()
|
844 |
+
{
|
845 |
+
$req_summary = self::get_summary() ;
|
846 |
+
if ( ! empty( $req_summary[ 'queue' ] ) ) {
|
847 |
+
return true ;
|
848 |
+
}
|
849 |
+
|
850 |
+
return false ;
|
851 |
+
}
|
852 |
+
|
853 |
+
/**
|
854 |
+
* Check if there is a placeholder cache folder
|
855 |
+
*
|
856 |
+
* @since 2.5.1
|
857 |
+
* @access public
|
858 |
+
*/
|
859 |
+
public static function has_placehoder_cache()
|
860 |
+
{
|
861 |
+
return is_dir( LSCWP_CONTENT_DIR . '/cache/placeholder' ) ;
|
862 |
+
}
|
863 |
+
|
864 |
+
/**
|
865 |
+
* Save image placeholder summary
|
866 |
+
*
|
867 |
+
* @since 2.5.1
|
868 |
+
* @access private
|
869 |
+
*/
|
870 |
+
private function _save_summary( $data )
|
871 |
+
{
|
872 |
+
update_option( self::DB_PLACEHOLDER_SUMMARY, $data ) ;
|
873 |
+
}
|
874 |
+
|
875 |
+
/**
|
876 |
+
* Read last time generated info
|
877 |
+
*
|
878 |
+
* @since 2.5.1
|
879 |
+
* @access public
|
880 |
+
*/
|
881 |
+
public static function get_summary()
|
882 |
+
{
|
883 |
+
return get_option( self::DB_PLACEHOLDER_SUMMARY, array() ) ;
|
884 |
+
}
|
885 |
+
|
886 |
+
/**
|
887 |
+
* Generate realpath of placeholder file
|
888 |
+
*
|
889 |
+
* @since 2.5.1
|
890 |
+
* @access private
|
891 |
+
*/
|
892 |
+
private function _placeholder_realpath( $size )
|
893 |
+
{
|
894 |
+
return LSCWP_CONTENT_DIR . "/cache/placeholder/$size." . md5( $this->_cfg_placeholder_resp_color ) ;
|
895 |
+
}
|
896 |
+
|
897 |
+
/**
|
898 |
+
* Delete file-based cache folder
|
899 |
+
*
|
900 |
+
* @since 2.5.1
|
901 |
+
* @access public
|
902 |
+
*/
|
903 |
+
public function rm_cache_folder()
|
904 |
+
{
|
905 |
+
if ( file_exists( LSCWP_CONTENT_DIR . '/cache/placeholder' ) ) {
|
906 |
+
Litespeed_File::rrmdir( LSCWP_CONTENT_DIR . '/cache/placeholder' ) ;
|
907 |
+
}
|
908 |
+
|
909 |
+
// Clear placeholder in queue too
|
910 |
+
$req_summary = self::get_summary() ;
|
911 |
+
$req_summary[ 'queue' ] = array() ;
|
912 |
+
$req_summary[ 'curr_request' ] = 0 ;
|
913 |
+
$this->_save_summary( $req_summary ) ;
|
914 |
+
|
915 |
+
LiteSpeed_Cache_Log::debug2( '[Media] Cleared placeholder queue' ) ;
|
916 |
+
}
|
917 |
+
|
918 |
+
/**
|
919 |
+
* Cron placeholder generation
|
920 |
+
*
|
921 |
+
* @since 2.5.1
|
922 |
+
* @access public
|
923 |
+
*/
|
924 |
+
public static function cron_placeholder( $continue = false )
|
925 |
+
{
|
926 |
+
$req_summary = self::get_summary() ;
|
927 |
+
if ( empty( $req_summary[ 'queue' ] ) ) {
|
928 |
+
return ;
|
929 |
+
}
|
930 |
+
|
931 |
+
// For cron, need to check request interval too
|
932 |
+
if ( ! $continue ) {
|
933 |
+
if ( $req_summary && ! empty( $req_summary[ 'curr_request' ] ) && time() - $req_summary[ 'curr_request' ] < 300 ) {
|
934 |
+
return ;
|
935 |
+
}
|
936 |
+
}
|
937 |
+
|
938 |
+
foreach ( $req_summary[ 'queue' ] as $v ) {
|
939 |
+
LiteSpeed_Cache_Log::debug( '[Media] cron job [size] ' . $v ) ;
|
940 |
+
|
941 |
+
self::get_instance()->_generate_placeholder( $v ) ;
|
942 |
+
|
943 |
+
// only request first one
|
944 |
+
if ( ! $continue ) {
|
945 |
+
return ;
|
946 |
+
}
|
947 |
+
}
|
948 |
+
}
|
949 |
+
|
950 |
+
/**
|
951 |
+
* Send to LiteSpeed API to generate placeholder
|
952 |
+
*
|
953 |
+
* @since 2.5.1
|
954 |
+
* @access private
|
955 |
+
*/
|
956 |
+
private function _generate_placeholder( $size )
|
957 |
+
{
|
958 |
+
$req_summary = self::get_summary() ;
|
959 |
+
|
960 |
+
$file = $this->_placeholder_realpath( $size ) ;
|
961 |
+
|
962 |
+
// Update request status
|
963 |
+
$req_summary[ 'curr_request' ] = time() ;
|
964 |
+
$this->_save_summary( $req_summary ) ;
|
965 |
+
|
966 |
+
// Generate placeholder
|
967 |
+
$url = 'https://wp.api.litespeedtech.com/placeholder/' . $size . '?v=' . LiteSpeed_Cache::PLUGIN_VERSION . '&c=' . $this->_cfg_placeholder_resp_color ;
|
968 |
+
|
969 |
+
LiteSpeed_Cache_Log::debug( '[Media] posting to : ' . $url ) ;
|
970 |
+
|
971 |
+
$response = wp_remote_get( $url, array( 'timeout' => 15 ) ) ;
|
972 |
+
|
973 |
+
// Parse response data
|
974 |
+
if ( is_wp_error( $response ) ) {
|
975 |
+
$error_message = $response->get_error_message() ;
|
976 |
+
LiteSpeed_Cache_Log::debug( '[Media] failed to post: ' . $error_message ) ;
|
977 |
+
return false ;
|
978 |
+
}
|
979 |
+
|
980 |
+
$data = $response[ 'body' ] ;
|
981 |
+
|
982 |
+
if ( strpos( $data, 'data:image/png;base64,' ) !== 0 ) {
|
983 |
+
LiteSpeed_Cache_Log::debug( '[Media] failed to decode response: ' . $data ) ;
|
984 |
+
return false ;
|
985 |
+
}
|
986 |
+
|
987 |
+
// Write to file
|
988 |
+
Litespeed_File::save( $file, $data, true ) ;
|
989 |
+
|
990 |
+
// Save summary data
|
991 |
+
$req_summary[ 'last_spent' ] = time() - $req_summary[ 'curr_request' ] ;
|
992 |
+
$req_summary[ 'last_request' ] = $req_summary[ 'curr_request' ] ;
|
993 |
+
$req_summary[ 'curr_request' ] = 0 ;
|
994 |
+
if ( empty( $req_summary[ 'history' ] ) ) {
|
995 |
+
$req_summary[ 'history' ] = array() ;
|
996 |
+
}
|
997 |
+
$req_summary[ 'history' ][] = $size ;
|
998 |
+
unset( $req_summary[ 'queue' ][ array_search( $size, $req_summary[ 'queue' ] ) ] ) ;
|
999 |
+
|
1000 |
+
$this->_save_summary( $req_summary ) ;
|
1001 |
+
|
1002 |
+
LiteSpeed_Cache_Log::debug( '[Media] saved placeholder ' . $file ) ;
|
1003 |
+
|
1004 |
+
LiteSpeed_Cache_Log::debug2( '[Media] placeholder con: ' . $data ) ;
|
1005 |
+
|
1006 |
+
return $data ;
|
1007 |
+
}
|
1008 |
+
|
1009 |
+
/**
|
1010 |
+
* Handle all request actions from main cls
|
1011 |
+
*
|
1012 |
+
* @since 2.5.1
|
1013 |
+
* @access public
|
1014 |
+
*/
|
1015 |
+
public static function handler()
|
1016 |
+
{
|
1017 |
+
$instance = self::get_instance() ;
|
1018 |
+
|
1019 |
+
$type = LiteSpeed_Cache_Router::verify_type() ;
|
1020 |
+
|
1021 |
+
switch ( $type ) {
|
1022 |
+
case self::TYPE_GENERATE_PLACEHOLDER :
|
1023 |
+
self::cron_placeholder( true ) ;
|
1024 |
+
break ;
|
1025 |
+
|
1026 |
+
default:
|
1027 |
+
break ;
|
1028 |
+
}
|
1029 |
+
|
1030 |
+
LiteSpeed_Cache_Admin::redirect() ;
|
1031 |
+
}
|
1032 |
+
|
1033 |
/**
|
1034 |
* Get the current instance object.
|
1035 |
*
|
inc/optimize.class.php
CHANGED
@@ -942,6 +942,12 @@ class LiteSpeed_Cache_Optimize
|
|
942 |
continue ;
|
943 |
}
|
944 |
|
|
|
|
|
|
|
|
|
|
|
|
|
945 |
// to avoid multiple replacement
|
946 |
if ( in_array( $match[ 0 ], $html_list ) ) {
|
947 |
continue ;
|
942 |
continue ;
|
943 |
}
|
944 |
|
945 |
+
$url_parsed = parse_url( $attrs[ 'src' ], PHP_URL_PATH ) ;
|
946 |
+
if ( substr( $url_parsed, -3 ) !== '.js' ) {
|
947 |
+
LiteSpeed_Cache_Log::debug2( '[Optm] _parse_js bypassed due to not js file ' . $url_parsed ) ;
|
948 |
+
continue ;
|
949 |
+
}
|
950 |
+
|
951 |
// to avoid multiple replacement
|
952 |
if ( in_array( $match[ 0 ], $html_list ) ) {
|
953 |
continue ;
|
inc/purge.class.php
CHANGED
@@ -26,6 +26,7 @@ class LiteSpeed_Cache_Purge
|
|
26 |
const TYPE_PURGE_ALL_LSCACHE = 'purge_all_lscache' ;
|
27 |
const TYPE_PURGE_ALL_CSSJS = 'purge_all_cssjs' ;
|
28 |
const TYPE_PURGE_ALL_CCSS = 'purge_all_ccss' ;
|
|
|
29 |
const TYPE_PURGE_ALL_OBJECT = 'purge_all_object' ;
|
30 |
const TYPE_PURGE_ALL_OPCACHE = 'purge_all_opcache' ;
|
31 |
|
@@ -88,6 +89,10 @@ class LiteSpeed_Cache_Purge
|
|
88 |
$instance->_purge_all_ccss() ;
|
89 |
break ;
|
90 |
|
|
|
|
|
|
|
|
|
91 |
case self::TYPE_PURGE_ALL_OBJECT :
|
92 |
$instance->_purge_all_object() ;
|
93 |
break ;
|
@@ -141,6 +146,7 @@ class LiteSpeed_Cache_Purge
|
|
141 |
$this->_purge_all_lscache( true ) ;
|
142 |
$this->_purge_all_cssjs( true ) ;
|
143 |
$this->_purge_all_ccss( true ) ;
|
|
|
144 |
$this->_purge_all_object( true ) ;
|
145 |
$this->_purge_all_opcache( true ) ;
|
146 |
|
@@ -198,6 +204,22 @@ class LiteSpeed_Cache_Purge
|
|
198 |
}
|
199 |
}
|
200 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
201 |
/**
|
202 |
* Alerts LiteSpeed Web Server to purge pages.
|
203 |
*
|
26 |
const TYPE_PURGE_ALL_LSCACHE = 'purge_all_lscache' ;
|
27 |
const TYPE_PURGE_ALL_CSSJS = 'purge_all_cssjs' ;
|
28 |
const TYPE_PURGE_ALL_CCSS = 'purge_all_ccss' ;
|
29 |
+
const TYPE_PURGE_ALL_PLACEHOLDER = 'purge_all_placeholder' ;
|
30 |
const TYPE_PURGE_ALL_OBJECT = 'purge_all_object' ;
|
31 |
const TYPE_PURGE_ALL_OPCACHE = 'purge_all_opcache' ;
|
32 |
|
89 |
$instance->_purge_all_ccss() ;
|
90 |
break ;
|
91 |
|
92 |
+
case self::TYPE_PURGE_ALL_PLACEHOLDER :
|
93 |
+
$instance->_purge_all_placeholder() ;
|
94 |
+
break ;
|
95 |
+
|
96 |
case self::TYPE_PURGE_ALL_OBJECT :
|
97 |
$instance->_purge_all_object() ;
|
98 |
break ;
|
146 |
$this->_purge_all_lscache( true ) ;
|
147 |
$this->_purge_all_cssjs( true ) ;
|
148 |
$this->_purge_all_ccss( true ) ;
|
149 |
+
$this->_purge_all_placeholder( true ) ;
|
150 |
$this->_purge_all_object( true ) ;
|
151 |
$this->_purge_all_opcache( true ) ;
|
152 |
|
204 |
}
|
205 |
}
|
206 |
|
207 |
+
/**
|
208 |
+
* Delete all placeholder images
|
209 |
+
*
|
210 |
+
* @since 2.5.1
|
211 |
+
* @access private
|
212 |
+
*/
|
213 |
+
private function _purge_all_placeholder( $silence = false )
|
214 |
+
{
|
215 |
+
LiteSpeed_Cache_Media::get_instance()->rm_cache_folder() ;
|
216 |
+
|
217 |
+
if ( ! $silence ) {
|
218 |
+
$msg = __( 'Cleaned all placeholder files.', 'litespeed-cache' ) ;
|
219 |
+
! defined( 'LITESPEED_PURGE_SILENT' ) && LiteSpeed_Cache_Admin_Display::succeed( $msg ) ;
|
220 |
+
}
|
221 |
+
}
|
222 |
+
|
223 |
/**
|
224 |
* Alerts LiteSpeed Web Server to purge pages.
|
225 |
*
|
inc/task.class.php
CHANGED
@@ -18,6 +18,7 @@ class LiteSpeed_Cache_Task
|
|
18 |
const CRON_ACTION_HOOK_IMGOPTM = 'litespeed_imgoptm_trigger' ;
|
19 |
const CRON_ACTION_HOOK_IMGOPTM_AUTO_REQUEST = 'litespeed_imgoptm_auto_request_trigger' ;
|
20 |
const CRON_ACTION_HOOK_CCSS = 'litespeed_ccss_trigger' ;
|
|
|
21 |
const CRON_FITLER_CRAWLER = 'litespeed_crawl_filter' ;
|
22 |
const CRON_FITLER = 'litespeed_filter' ;
|
23 |
|
@@ -60,6 +61,13 @@ class LiteSpeed_Cache_Task
|
|
60 |
|
61 |
add_action( self::CRON_ACTION_HOOK_CCSS, 'LiteSpeed_Cache_CSS::cron_ccss' ) ;
|
62 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
63 |
}
|
64 |
|
65 |
/**
|
@@ -161,6 +169,23 @@ class LiteSpeed_Cache_Task
|
|
161 |
}
|
162 |
}
|
163 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
164 |
/**
|
165 |
* Schedule cron crawler
|
166 |
*
|
18 |
const CRON_ACTION_HOOK_IMGOPTM = 'litespeed_imgoptm_trigger' ;
|
19 |
const CRON_ACTION_HOOK_IMGOPTM_AUTO_REQUEST = 'litespeed_imgoptm_auto_request_trigger' ;
|
20 |
const CRON_ACTION_HOOK_CCSS = 'litespeed_ccss_trigger' ;
|
21 |
+
const CRON_ACTION_HOOK_IMG_PLACEHOLDER = 'litespeed_img_placeholder_trigger' ;
|
22 |
const CRON_FITLER_CRAWLER = 'litespeed_crawl_filter' ;
|
23 |
const CRON_FITLER = 'litespeed_filter' ;
|
24 |
|
61 |
|
62 |
add_action( self::CRON_ACTION_HOOK_CCSS, 'LiteSpeed_Cache_CSS::cron_ccss' ) ;
|
63 |
}
|
64 |
+
|
65 |
+
// Register image placeholder generation
|
66 |
+
if ( LiteSpeed_Cache::config( LiteSpeed_Cache_Config::OPID_MEDIA_PLACEHOLDER_RESP_ASYNC ) && LiteSpeed_Cache_Media::has_queue() ) {
|
67 |
+
self::schedule_filter_placeholder() ;
|
68 |
+
|
69 |
+
add_action( self::CRON_ACTION_HOOK_IMG_PLACEHOLDER, 'LiteSpeed_Cache_Media::cron_placeholder' ) ;
|
70 |
+
}
|
71 |
}
|
72 |
|
73 |
/**
|
169 |
}
|
170 |
}
|
171 |
|
172 |
+
/**
|
173 |
+
* Schedule cron image placeholder generation
|
174 |
+
*
|
175 |
+
* @since 2.5.1
|
176 |
+
* @access public
|
177 |
+
*/
|
178 |
+
public static function schedule_filter_placeholder()
|
179 |
+
{
|
180 |
+
add_filter( 'cron_schedules', 'LiteSpeed_Cache_Task::lscache_cron_filter' ) ;
|
181 |
+
|
182 |
+
// Schedule event here to see if it can lost again or not
|
183 |
+
if( ! wp_next_scheduled( self::CRON_ACTION_HOOK_IMG_PLACEHOLDER ) ) {
|
184 |
+
LiteSpeed_Cache_Log::debug( 'Cron log: ......image placeholder cron hook register......' ) ;
|
185 |
+
wp_schedule_event( time(), self::CRON_FITLER, self::CRON_ACTION_HOOK_IMG_PLACEHOLDER ) ;
|
186 |
+
}
|
187 |
+
}
|
188 |
+
|
189 |
/**
|
190 |
* Schedule cron crawler
|
191 |
*
|
includes/litespeed-cache-gui.class.php
CHANGED
@@ -444,6 +444,16 @@ class LiteSpeed_Cache_GUI
|
|
444 |
'meta' => array( 'tabindex' => '0' ),
|
445 |
) );
|
446 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
447 |
}
|
448 |
|
449 |
/**
|
444 |
'meta' => array( 'tabindex' => '0' ),
|
445 |
) );
|
446 |
}
|
447 |
+
|
448 |
+
if ( LiteSpeed_Cache_Media::has_placehoder_cache() ) {
|
449 |
+
$wp_admin_bar->add_menu( array(
|
450 |
+
'parent' => 'litespeed-menu',
|
451 |
+
'id' => 'litespeed-purge-placeholder',
|
452 |
+
'title' => __( 'Purge All', 'litespeed-cache' ) . ' - ' . __( 'Placeholder Cache', 'litespeed-cache' ),
|
453 |
+
'href' => LiteSpeed_Cache_Utility::build_url( LiteSpeed_Cache::ACTION_PURGE, LiteSpeed_Cache_Purge::TYPE_PURGE_ALL_PLACEHOLDER ),
|
454 |
+
'meta' => array( 'tabindex' => '0' ),
|
455 |
+
) );
|
456 |
+
}
|
457 |
}
|
458 |
|
459 |
/**
|
includes/litespeed-cache-optimize.class.php
CHANGED
@@ -942,6 +942,12 @@ class LiteSpeed_Cache_Optimize
|
|
942 |
continue ;
|
943 |
}
|
944 |
|
|
|
|
|
|
|
|
|
|
|
|
|
945 |
// to avoid multiple replacement
|
946 |
if ( in_array( $match[ 0 ], $html_list ) ) {
|
947 |
continue ;
|
942 |
continue ;
|
943 |
}
|
944 |
|
945 |
+
$url_parsed = parse_url( $attrs[ 'src' ], PHP_URL_PATH ) ;
|
946 |
+
if ( substr( $url_parsed, -3 ) !== '.js' ) {
|
947 |
+
LiteSpeed_Cache_Log::debug2( '[Optm] _parse_js bypassed due to not js file ' . $url_parsed ) ;
|
948 |
+
continue ;
|
949 |
+
}
|
950 |
+
|
951 |
// to avoid multiple replacement
|
952 |
if ( in_array( $match[ 0 ], $html_list ) ) {
|
953 |
continue ;
|
includes/litespeed-cache-purge.class.php
CHANGED
@@ -26,6 +26,7 @@ class LiteSpeed_Cache_Purge
|
|
26 |
const TYPE_PURGE_ALL_LSCACHE = 'purge_all_lscache' ;
|
27 |
const TYPE_PURGE_ALL_CSSJS = 'purge_all_cssjs' ;
|
28 |
const TYPE_PURGE_ALL_CCSS = 'purge_all_ccss' ;
|
|
|
29 |
const TYPE_PURGE_ALL_OBJECT = 'purge_all_object' ;
|
30 |
const TYPE_PURGE_ALL_OPCACHE = 'purge_all_opcache' ;
|
31 |
|
@@ -88,6 +89,10 @@ class LiteSpeed_Cache_Purge
|
|
88 |
$instance->_purge_all_ccss() ;
|
89 |
break ;
|
90 |
|
|
|
|
|
|
|
|
|
91 |
case self::TYPE_PURGE_ALL_OBJECT :
|
92 |
$instance->_purge_all_object() ;
|
93 |
break ;
|
@@ -141,6 +146,7 @@ class LiteSpeed_Cache_Purge
|
|
141 |
$this->_purge_all_lscache( true ) ;
|
142 |
$this->_purge_all_cssjs( true ) ;
|
143 |
$this->_purge_all_ccss( true ) ;
|
|
|
144 |
$this->_purge_all_object( true ) ;
|
145 |
$this->_purge_all_opcache( true ) ;
|
146 |
|
@@ -198,6 +204,22 @@ class LiteSpeed_Cache_Purge
|
|
198 |
}
|
199 |
}
|
200 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
201 |
/**
|
202 |
* Alerts LiteSpeed Web Server to purge pages.
|
203 |
*
|
26 |
const TYPE_PURGE_ALL_LSCACHE = 'purge_all_lscache' ;
|
27 |
const TYPE_PURGE_ALL_CSSJS = 'purge_all_cssjs' ;
|
28 |
const TYPE_PURGE_ALL_CCSS = 'purge_all_ccss' ;
|
29 |
+
const TYPE_PURGE_ALL_PLACEHOLDER = 'purge_all_placeholder' ;
|
30 |
const TYPE_PURGE_ALL_OBJECT = 'purge_all_object' ;
|
31 |
const TYPE_PURGE_ALL_OPCACHE = 'purge_all_opcache' ;
|
32 |
|
89 |
$instance->_purge_all_ccss() ;
|
90 |
break ;
|
91 |
|
92 |
+
case self::TYPE_PURGE_ALL_PLACEHOLDER :
|
93 |
+
$instance->_purge_all_placeholder() ;
|
94 |
+
break ;
|
95 |
+
|
96 |
case self::TYPE_PURGE_ALL_OBJECT :
|
97 |
$instance->_purge_all_object() ;
|
98 |
break ;
|
146 |
$this->_purge_all_lscache( true ) ;
|
147 |
$this->_purge_all_cssjs( true ) ;
|
148 |
$this->_purge_all_ccss( true ) ;
|
149 |
+
$this->_purge_all_placeholder( true ) ;
|
150 |
$this->_purge_all_object( true ) ;
|
151 |
$this->_purge_all_opcache( true ) ;
|
152 |
|
204 |
}
|
205 |
}
|
206 |
|
207 |
+
/**
|
208 |
+
* Delete all placeholder images
|
209 |
+
*
|
210 |
+
* @since 2.5.1
|
211 |
+
* @access private
|
212 |
+
*/
|
213 |
+
private function _purge_all_placeholder( $silence = false )
|
214 |
+
{
|
215 |
+
LiteSpeed_Cache_Media::get_instance()->rm_cache_folder() ;
|
216 |
+
|
217 |
+
if ( ! $silence ) {
|
218 |
+
$msg = __( 'Cleaned all placeholder files.', 'litespeed-cache' ) ;
|
219 |
+
! defined( 'LITESPEED_PURGE_SILENT' ) && LiteSpeed_Cache_Admin_Display::succeed( $msg ) ;
|
220 |
+
}
|
221 |
+
}
|
222 |
+
|
223 |
/**
|
224 |
* Alerts LiteSpeed Web Server to purge pages.
|
225 |
*
|
includes/litespeed-cache-task.class.php
CHANGED
@@ -18,6 +18,7 @@ class LiteSpeed_Cache_Task
|
|
18 |
const CRON_ACTION_HOOK_IMGOPTM = 'litespeed_imgoptm_trigger' ;
|
19 |
const CRON_ACTION_HOOK_IMGOPTM_AUTO_REQUEST = 'litespeed_imgoptm_auto_request_trigger' ;
|
20 |
const CRON_ACTION_HOOK_CCSS = 'litespeed_ccss_trigger' ;
|
|
|
21 |
const CRON_FITLER_CRAWLER = 'litespeed_crawl_filter' ;
|
22 |
const CRON_FITLER = 'litespeed_filter' ;
|
23 |
|
@@ -60,6 +61,13 @@ class LiteSpeed_Cache_Task
|
|
60 |
|
61 |
add_action( self::CRON_ACTION_HOOK_CCSS, 'LiteSpeed_Cache_CSS::cron_ccss' ) ;
|
62 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
63 |
}
|
64 |
|
65 |
/**
|
@@ -161,6 +169,23 @@ class LiteSpeed_Cache_Task
|
|
161 |
}
|
162 |
}
|
163 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
164 |
/**
|
165 |
* Schedule cron crawler
|
166 |
*
|
18 |
const CRON_ACTION_HOOK_IMGOPTM = 'litespeed_imgoptm_trigger' ;
|
19 |
const CRON_ACTION_HOOK_IMGOPTM_AUTO_REQUEST = 'litespeed_imgoptm_auto_request_trigger' ;
|
20 |
const CRON_ACTION_HOOK_CCSS = 'litespeed_ccss_trigger' ;
|
21 |
+
const CRON_ACTION_HOOK_IMG_PLACEHOLDER = 'litespeed_img_placeholder_trigger' ;
|
22 |
const CRON_FITLER_CRAWLER = 'litespeed_crawl_filter' ;
|
23 |
const CRON_FITLER = 'litespeed_filter' ;
|
24 |
|
61 |
|
62 |
add_action( self::CRON_ACTION_HOOK_CCSS, 'LiteSpeed_Cache_CSS::cron_ccss' ) ;
|
63 |
}
|
64 |
+
|
65 |
+
// Register image placeholder generation
|
66 |
+
if ( LiteSpeed_Cache::config( LiteSpeed_Cache_Config::OPID_MEDIA_PLACEHOLDER_RESP_ASYNC ) && LiteSpeed_Cache_Media::has_queue() ) {
|
67 |
+
self::schedule_filter_placeholder() ;
|
68 |
+
|
69 |
+
add_action( self::CRON_ACTION_HOOK_IMG_PLACEHOLDER, 'LiteSpeed_Cache_Media::cron_placeholder' ) ;
|
70 |
+
}
|
71 |
}
|
72 |
|
73 |
/**
|
169 |
}
|
170 |
}
|
171 |
|
172 |
+
/**
|
173 |
+
* Schedule cron image placeholder generation
|
174 |
+
*
|
175 |
+
* @since 2.5.1
|
176 |
+
* @access public
|
177 |
+
*/
|
178 |
+
public static function schedule_filter_placeholder()
|
179 |
+
{
|
180 |
+
add_filter( 'cron_schedules', 'LiteSpeed_Cache_Task::lscache_cron_filter' ) ;
|
181 |
+
|
182 |
+
// Schedule event here to see if it can lost again or not
|
183 |
+
if( ! wp_next_scheduled( self::CRON_ACTION_HOOK_IMG_PLACEHOLDER ) ) {
|
184 |
+
LiteSpeed_Cache_Log::debug( 'Cron log: ......image placeholder cron hook register......' ) ;
|
185 |
+
wp_schedule_event( time(), self::CRON_FITLER, self::CRON_ACTION_HOOK_IMG_PLACEHOLDER ) ;
|
186 |
+
}
|
187 |
+
}
|
188 |
+
|
189 |
/**
|
190 |
* Schedule cron crawler
|
191 |
*
|
includes/litespeed-cache.class.php
CHANGED
@@ -25,7 +25,7 @@ class LiteSpeed_Cache
|
|
25 |
|
26 |
const NAME = 'LiteSpeed Cache' ;
|
27 |
const PLUGIN_NAME = 'litespeed-cache' ;
|
28 |
-
const PLUGIN_VERSION = '2.
|
29 |
|
30 |
const PAGE_EDIT_HTACCESS = 'lscache-edit-htaccess' ;
|
31 |
|
25 |
|
26 |
const NAME = 'LiteSpeed Cache' ;
|
27 |
const PLUGIN_NAME = 'litespeed-cache' ;
|
28 |
+
const PLUGIN_VERSION = '2.5.1' ;
|
29 |
|
30 |
const PAGE_EDIT_HTACCESS = 'lscache-edit-htaccess' ;
|
31 |
|
languages/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 2.
|
6 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/litespeed-cache\n"
|
7 |
-
"POT-Creation-Date: 2018-
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
@@ -94,6 +94,7 @@ msgstr ""
|
|
94 |
#: admin/litespeed-cache-admin-display.class.php:899
|
95 |
#: admin/tpl/setting/settings_debug.php:35
|
96 |
#: admin/tpl/setting/settings_inc.cache_mobile.php:67
|
|
|
97 |
#: admin/tpl/setting/settings_optimize.php:138
|
98 |
#: admin/tpl/setting/settings_optimize.php:152
|
99 |
#: admin/tpl/setting/settings_optimize.php:153
|
@@ -108,6 +109,7 @@ msgstr ""
|
|
108 |
#: admin/tpl/setting/settings_cdn.php:35 admin/tpl/setting/settings_cdn.php:169
|
109 |
#: admin/tpl/setting/settings_debug.php:29
|
110 |
#: admin/tpl/setting/settings_inc.cache_object.php:149
|
|
|
111 |
#: admin/tpl/setting/settings_optimize.php:152
|
112 |
#: admin/tpl/setting/settings_optimize.php:164
|
113 |
#: admin/tpl/setting/settings_tuning.php:18
|
@@ -120,7 +122,7 @@ msgid "Recommended value: %s"
|
|
120 |
msgstr ""
|
121 |
|
122 |
#: admin/litespeed-cache-admin-display.class.php:954
|
123 |
-
#: admin/tpl/setting/settings_media.php:
|
124 |
#: admin/tpl/setting/settings_optimize.php:140
|
125 |
#: admin/tpl/setting/settings_tuning.php:24
|
126 |
#: admin/tpl/setting/settings_tuning.php:40
|
@@ -136,6 +138,7 @@ msgstr ""
|
|
136 |
|
137 |
#: admin/litespeed-cache-admin-display.class.php:957
|
138 |
#: admin/litespeed-cache-admin.class.php:229
|
|
|
139 |
#: admin/tpl/inc/img_optm.initialize.php:29
|
140 |
#: admin/tpl/inc/img_optm.summary.php:165 admin/tpl/manage/manage_cdn.php:60
|
141 |
#: admin/tpl/setting/settings_advanced.php:10
|
@@ -153,9 +156,10 @@ msgstr ""
|
|
153 |
#: admin/tpl/setting/settings_inc.cache_object.php:75
|
154 |
#: admin/tpl/setting/settings_inc.cache_object.php:150
|
155 |
#: admin/tpl/setting/settings_inc.check_adv_file.php:18
|
156 |
-
#: admin/tpl/setting/settings_media.php:
|
157 |
-
#: admin/tpl/setting/settings_media.php:
|
158 |
-
#: admin/tpl/setting/settings_media.php:
|
|
|
159 |
#: admin/tpl/setting/settings_optimize.php:10
|
160 |
#: admin/tpl/setting/settings_optimize.php:165
|
161 |
#: admin/tpl/setting/settings_optimize.php:237
|
@@ -451,7 +455,7 @@ msgid "Site options saved."
|
|
451 |
msgstr ""
|
452 |
|
453 |
#: admin/litespeed-cache-admin-settings.class.php:357
|
454 |
-
#: admin/litespeed-cache-admin-settings.class.php:
|
455 |
msgid "Default Public Cache"
|
456 |
msgstr ""
|
457 |
|
@@ -467,30 +471,30 @@ msgstr ""
|
|
467 |
msgid "Feed"
|
468 |
msgstr ""
|
469 |
|
470 |
-
#: admin/litespeed-cache-admin-settings.class.php:
|
471 |
#: admin/tpl/setting/settings_debug.php:88
|
472 |
msgid "Log File Size Limit"
|
473 |
msgstr ""
|
474 |
|
475 |
-
#: admin/litespeed-cache-admin-settings.class.php:
|
476 |
#: admin/tpl/setting/settings_crawler.php:13
|
477 |
msgid "Delay"
|
478 |
msgstr ""
|
479 |
|
480 |
-
#: admin/litespeed-cache-admin-settings.class.php:
|
481 |
#: admin/tpl/setting/settings_crawler.php:37
|
482 |
msgid "Run Duration"
|
483 |
msgstr ""
|
484 |
|
485 |
-
#: admin/litespeed-cache-admin-settings.class.php:
|
486 |
msgid "Cron Interval"
|
487 |
msgstr ""
|
488 |
|
489 |
-
#: admin/litespeed-cache-admin-settings.class.php:
|
490 |
msgid "Whole Interval"
|
491 |
msgstr ""
|
492 |
|
493 |
-
#: admin/litespeed-cache-admin-settings.class.php:
|
494 |
#: admin/tpl/setting/settings_crawler.php:73
|
495 |
msgid "Threads"
|
496 |
msgstr ""
|
@@ -612,11 +616,11 @@ msgstr ""
|
|
612 |
msgid "Disable"
|
613 |
msgstr ""
|
614 |
|
615 |
-
#: admin/tpl/crawler.php:92 admin/tpl/inc/check_cache_disabled.php:
|
616 |
#: admin/tpl/inc/img_optm.summary.php:210 admin/tpl/manage/manage_cdn.php:15
|
617 |
#: admin/tpl/setting/settings_debug.php:105
|
618 |
#: admin/tpl/setting/settings_debug.php:138
|
619 |
-
#: admin/tpl/setting/settings_media.php:
|
620 |
#: admin/tpl/setting/settings_optimize.php:15 admin/tpl/settings.php:161
|
621 |
msgid "WARNING"
|
622 |
msgstr ""
|
@@ -869,7 +873,7 @@ msgstr ""
|
|
869 |
msgid "Rate %s on %s"
|
870 |
msgstr ""
|
871 |
|
872 |
-
#. #-#-#-#-# litespeed-cache.pot (LiteSpeed Cache 2.
|
873 |
#. Plugin Name of the plugin/theme
|
874 |
#: admin/tpl/inc/admin_footer.php:6 inc/gui.class.php:353
|
875 |
#: includes/litespeed-cache-gui.class.php:353
|
@@ -936,24 +940,28 @@ msgstr ""
|
|
936 |
msgid "Join Us on Slack"
|
937 |
msgstr ""
|
938 |
|
939 |
-
#: admin/tpl/inc/check_cache_disabled.php:
|
940 |
-
msgid "
|
|
|
|
|
941 |
msgstr ""
|
942 |
|
943 |
-
#: admin/tpl/inc/check_cache_disabled.php:
|
944 |
-
msgid "
|
|
|
|
|
945 |
msgstr ""
|
946 |
|
947 |
#: admin/tpl/inc/check_cache_disabled.php:22
|
948 |
-
msgid "LiteSpeed Cache
|
949 |
msgstr ""
|
950 |
|
951 |
-
#: admin/tpl/inc/check_cache_disabled.php:
|
952 |
-
msgid "
|
953 |
msgstr ""
|
954 |
|
955 |
-
#: admin/tpl/inc/check_cache_disabled.php:
|
956 |
-
msgid "
|
957 |
msgstr ""
|
958 |
|
959 |
#: admin/tpl/inc/disabled_all.php:8 admin/tpl/setting/settings_debug.php:13
|
@@ -1160,12 +1168,12 @@ msgid "This will delete all of the backups of the original images."
|
|
1160 |
msgstr ""
|
1161 |
|
1162 |
#: admin/tpl/inc/img_optm.summary.php:211
|
1163 |
-
#: admin/tpl/setting/settings_media.php:
|
1164 |
msgid "This is irreversible."
|
1165 |
msgstr ""
|
1166 |
|
1167 |
#: admin/tpl/inc/img_optm.summary.php:212
|
1168 |
-
#: admin/tpl/setting/settings_media.php:
|
1169 |
msgid "You will be unable to Revert Optimization once the backups are deleted!"
|
1170 |
msgstr ""
|
1171 |
|
@@ -1562,15 +1570,17 @@ msgstr ""
|
|
1562 |
#: admin/tpl/manage/manage_purge.php:39 admin/tpl/manage/manage_purge.php:45
|
1563 |
#: admin/tpl/manage/manage_purge.php:54 admin/tpl/manage/manage_purge.php:63
|
1564 |
#: admin/tpl/manage/manage_purge.php:72 admin/tpl/manage/manage_purge.php:81
|
1565 |
-
#:
|
1566 |
-
#: inc/gui.class.php:
|
1567 |
-
#: inc/gui.class.php:
|
|
|
1568 |
#: includes/litespeed-cache-gui.class.php:395
|
1569 |
#: includes/litespeed-cache-gui.class.php:403
|
1570 |
#: includes/litespeed-cache-gui.class.php:412
|
1571 |
#: includes/litespeed-cache-gui.class.php:422
|
1572 |
#: includes/litespeed-cache-gui.class.php:432
|
1573 |
#: includes/litespeed-cache-gui.class.php:442
|
|
|
1574 |
msgid "Purge All"
|
1575 |
msgstr ""
|
1576 |
|
@@ -1615,50 +1625,59 @@ msgstr ""
|
|
1615 |
msgid "This will delete all generated critical CSS files"
|
1616 |
msgstr ""
|
1617 |
|
|
|
|
|
|
|
|
|
|
|
1618 |
#: admin/tpl/manage/manage_purge.php:82
|
1619 |
-
msgid "
|
1620 |
msgstr ""
|
1621 |
|
1622 |
#: admin/tpl/manage/manage_purge.php:91
|
|
|
|
|
|
|
|
|
1623 |
msgid "Empty Entire Cache"
|
1624 |
msgstr ""
|
1625 |
|
1626 |
-
#: admin/tpl/manage/manage_purge.php:
|
1627 |
msgid ""
|
1628 |
"Clears all cache entries related to this site, <i>including other web "
|
1629 |
"applications</i>."
|
1630 |
msgstr ""
|
1631 |
|
1632 |
-
#: admin/tpl/manage/manage_purge.php:
|
1633 |
msgid "This action should only be used if things are cached incorrectly."
|
1634 |
msgstr ""
|
1635 |
|
1636 |
-
#: admin/tpl/manage/manage_purge.php:
|
1637 |
msgid "This will clear EVERYTHING inside the cache."
|
1638 |
msgstr ""
|
1639 |
|
1640 |
-
#: admin/tpl/manage/manage_purge.php:
|
1641 |
msgid "This may cause heavy load on the server."
|
1642 |
msgstr ""
|
1643 |
|
1644 |
-
#: admin/tpl/manage/manage_purge.php:
|
1645 |
msgid "If only the WordPress site should be purged, use purge all."
|
1646 |
msgstr ""
|
1647 |
|
1648 |
-
#: admin/tpl/manage/manage_purge.php:
|
1649 |
#: admin/tpl/network_settings.php:7 admin/tpl/settings.php:7
|
1650 |
msgid "Purge"
|
1651 |
msgstr ""
|
1652 |
|
1653 |
-
#: admin/tpl/manage/manage_purge.php:
|
1654 |
msgid "Purge By..."
|
1655 |
msgstr ""
|
1656 |
|
1657 |
-
#: admin/tpl/manage/manage_purge.php:
|
1658 |
msgid "Select below for \"Purge by\" options."
|
1659 |
msgstr ""
|
1660 |
|
1661 |
-
#: admin/tpl/manage/manage_purge.php:
|
1662 |
#: admin/tpl/setting/settings_cache.php:73
|
1663 |
#: admin/tpl/setting/settings_cache.php:90
|
1664 |
#: admin/tpl/setting/settings_cdn.php:117
|
@@ -1673,8 +1692,8 @@ msgstr ""
|
|
1673 |
#: admin/tpl/setting/settings_inc.cache_object.php:114
|
1674 |
#: admin/tpl/setting/settings_inc.cache_object.php:122
|
1675 |
#: admin/tpl/setting/settings_inc.exclude_cookies.php:19
|
1676 |
-
#: admin/tpl/setting/settings_media.php:
|
1677 |
-
#: admin/tpl/setting/settings_media.php:
|
1678 |
#: admin/tpl/setting/settings_optimize.php:236
|
1679 |
#: admin/tpl/setting/settings_purge.php:85
|
1680 |
#: admin/tpl/setting/settings_tuning.php:38
|
@@ -1684,44 +1703,44 @@ msgstr ""
|
|
1684 |
msgid "One per line."
|
1685 |
msgstr ""
|
1686 |
|
1687 |
-
#: admin/tpl/manage/manage_purge.php:
|
1688 |
msgid "Category"
|
1689 |
msgstr ""
|
1690 |
|
1691 |
-
#: admin/tpl/manage/manage_purge.php:
|
1692 |
msgid "Post ID"
|
1693 |
msgstr ""
|
1694 |
|
1695 |
-
#: admin/tpl/manage/manage_purge.php:
|
1696 |
msgid "Tag"
|
1697 |
msgstr ""
|
1698 |
|
1699 |
-
#: admin/tpl/manage/manage_purge.php:
|
1700 |
msgid "URL"
|
1701 |
msgstr ""
|
1702 |
|
1703 |
-
#: admin/tpl/manage/manage_purge.php:
|
1704 |
msgid ""
|
1705 |
"Purge pages by category name - e.g. %2$s should be used for the URL %1$s."
|
1706 |
msgstr ""
|
1707 |
|
1708 |
-
#: admin/tpl/manage/manage_purge.php:
|
1709 |
msgid "Purge pages by post ID."
|
1710 |
msgstr ""
|
1711 |
|
1712 |
-
#: admin/tpl/manage/manage_purge.php:
|
1713 |
msgid "Purge pages by tag name - e.g. %2$s should be used for the URL %1$s."
|
1714 |
msgstr ""
|
1715 |
|
1716 |
-
#: admin/tpl/manage/manage_purge.php:
|
1717 |
msgid "Purge pages by relative or full URL."
|
1718 |
msgstr ""
|
1719 |
|
1720 |
-
#: admin/tpl/manage/manage_purge.php:
|
1721 |
msgid "e.g. Use %s or %s."
|
1722 |
msgstr ""
|
1723 |
|
1724 |
-
#: admin/tpl/manage/manage_purge.php:
|
1725 |
msgid "Purge List"
|
1726 |
msgstr ""
|
1727 |
|
@@ -3138,40 +3157,40 @@ msgid ""
|
|
3138 |
"or WordPress core is upgraded."
|
3139 |
msgstr ""
|
3140 |
|
3141 |
-
#: admin/tpl/setting/settings_media.php:
|
3142 |
msgid "Media Settings"
|
3143 |
msgstr ""
|
3144 |
|
3145 |
-
#: admin/tpl/setting/settings_media.php:
|
3146 |
msgid "Lazy Load Images"
|
3147 |
msgstr ""
|
3148 |
|
3149 |
-
#: admin/tpl/setting/settings_media.php:
|
3150 |
msgid "Load images only when they enter the viewport."
|
3151 |
msgstr ""
|
3152 |
|
3153 |
-
#: admin/tpl/setting/settings_media.php:
|
3154 |
-
#: admin/tpl/setting/settings_media.php:
|
3155 |
msgid "This can improve page loading time by reducing initial HTTP requests."
|
3156 |
msgstr ""
|
3157 |
|
3158 |
-
#: admin/tpl/setting/settings_media.php:
|
3159 |
msgid "Tip"
|
3160 |
msgstr ""
|
3161 |
|
3162 |
-
#: admin/tpl/setting/settings_media.php:
|
3163 |
msgid "Adding Style to Your Lazy-Loaded Images"
|
3164 |
msgstr ""
|
3165 |
|
3166 |
-
#: admin/tpl/setting/settings_media.php:
|
3167 |
msgid "Lazy Load Image Excludes"
|
3168 |
msgstr ""
|
3169 |
|
3170 |
-
#: admin/tpl/setting/settings_media.php:
|
3171 |
msgid "Listed images will not be lazy loaded."
|
3172 |
msgstr ""
|
3173 |
|
3174 |
-
#: admin/tpl/setting/settings_media.php:
|
3175 |
#: admin/tpl/setting/settings_tuning.php:37
|
3176 |
#: admin/tpl/setting/settings_tuning.php:73
|
3177 |
#: admin/tpl/setting/settings_tuning.php:145
|
@@ -3179,14 +3198,14 @@ msgstr ""
|
|
3179 |
msgid "Both full URLs and partial strings can be used."
|
3180 |
msgstr ""
|
3181 |
|
3182 |
-
#: admin/tpl/setting/settings_media.php:
|
3183 |
#: admin/tpl/setting/settings_tuning.php:41
|
3184 |
#: admin/tpl/setting/settings_tuning.php:77
|
3185 |
#: admin/tpl/setting/settings_tuning.php:149
|
3186 |
msgid "Filter %s is supported."
|
3187 |
msgstr ""
|
3188 |
|
3189 |
-
#: admin/tpl/setting/settings_media.php:
|
3190 |
#: admin/tpl/setting/settings_optimize.php:141
|
3191 |
#: admin/tpl/setting/settings_tuning.php:42
|
3192 |
#: admin/tpl/setting/settings_tuning.php:78
|
@@ -3194,47 +3213,107 @@ msgstr ""
|
|
3194 |
msgid "Elements with attribute %s in html code will be excluded."
|
3195 |
msgstr ""
|
3196 |
|
3197 |
-
#: admin/tpl/setting/settings_media.php:
|
|
|
3198 |
msgid "Lazy Load Image Placeholder"
|
3199 |
msgstr ""
|
3200 |
|
3201 |
-
#: admin/tpl/setting/settings_media.php:
|
3202 |
msgid ""
|
3203 |
"Specify a base64 image to be used as a placeholder while other images finish "
|
3204 |
"loading."
|
3205 |
msgstr ""
|
3206 |
|
3207 |
-
#: admin/tpl/setting/settings_media.php:
|
3208 |
msgid ""
|
3209 |
"This can be predefined in %2$s as well using constant %1$s, with this "
|
3210 |
"setting taking priority."
|
3211 |
msgstr ""
|
3212 |
|
3213 |
-
#: admin/tpl/setting/settings_media.php:
|
3214 |
msgid "By default a gray image placeholder %s will be used."
|
3215 |
msgstr ""
|
3216 |
|
3217 |
-
#: admin/tpl/setting/settings_media.php:
|
3218 |
msgid "For example, %s can be used for a transparent placeholder."
|
3219 |
msgstr ""
|
3220 |
|
3221 |
-
#: admin/tpl/setting/settings_media.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3222 |
msgid "Lazy Load Iframes"
|
3223 |
msgstr ""
|
3224 |
|
3225 |
-
#: admin/tpl/setting/settings_media.php:
|
3226 |
msgid "Load iframes only when they enter the viewport."
|
3227 |
msgstr ""
|
3228 |
|
3229 |
-
#: admin/tpl/setting/settings_media.php:
|
3230 |
msgid "Inline Lazy Load Images Library"
|
3231 |
msgstr ""
|
3232 |
|
3233 |
-
#: admin/tpl/setting/settings_media.php:
|
3234 |
msgid "Include the lazy load image Javascript library inline."
|
3235 |
msgstr ""
|
3236 |
|
3237 |
-
#: admin/tpl/setting/settings_media.php:
|
3238 |
#: admin/tpl/setting/settings_optimize.php:137
|
3239 |
#: admin/tpl/setting/settings_optimize.php:210
|
3240 |
#: admin/tpl/setting/settings_optimize.php:248
|
@@ -3245,102 +3324,102 @@ msgid ""
|
|
3245 |
"PageSpeed."
|
3246 |
msgstr ""
|
3247 |
|
3248 |
-
#: admin/tpl/setting/settings_media.php:
|
3249 |
msgid "Optimize Automatically"
|
3250 |
msgstr ""
|
3251 |
|
3252 |
-
#: admin/tpl/setting/settings_media.php:
|
3253 |
msgid "Automatically request optimization via cron job."
|
3254 |
msgstr ""
|
3255 |
|
3256 |
-
#: admin/tpl/setting/settings_media.php:
|
3257 |
msgid "Requests can only be sent when recovered credits is %s or more."
|
3258 |
msgstr ""
|
3259 |
|
3260 |
-
#: admin/tpl/setting/settings_media.php:
|
3261 |
msgid "Optimization Cron"
|
3262 |
msgstr ""
|
3263 |
|
3264 |
-
#: admin/tpl/setting/settings_media.php:
|
3265 |
msgid ""
|
3266 |
"Disabling this will stop the cron job responsible for fetching optimized "
|
3267 |
"images from LiteSpeed's Image Server."
|
3268 |
msgstr ""
|
3269 |
|
3270 |
-
#: admin/tpl/setting/settings_media.php:
|
3271 |
msgid "Optimize Original Images"
|
3272 |
msgstr ""
|
3273 |
|
3274 |
-
#: admin/tpl/setting/settings_media.php:
|
3275 |
msgid "Optimize images and save backups of the originals in the same folder."
|
3276 |
msgstr ""
|
3277 |
|
3278 |
-
#: admin/tpl/setting/settings_media.php:
|
3279 |
msgid "Remove Original Backups"
|
3280 |
msgstr ""
|
3281 |
|
3282 |
-
#: admin/tpl/setting/settings_media.php:
|
3283 |
msgid ""
|
3284 |
"Automatically remove the original image backups after fetching optimized "
|
3285 |
"images."
|
3286 |
msgstr ""
|
3287 |
|
3288 |
-
#: admin/tpl/setting/settings_media.php:
|
3289 |
msgid "Optimize WebP Versions"
|
3290 |
msgstr ""
|
3291 |
|
3292 |
-
#: admin/tpl/setting/settings_media.php:
|
3293 |
msgid "Request WebP versions of original images when doing optimization."
|
3294 |
msgstr ""
|
3295 |
|
3296 |
-
#: admin/tpl/setting/settings_media.php:
|
3297 |
msgid "Optimize Losslessly"
|
3298 |
msgstr ""
|
3299 |
|
3300 |
-
#: admin/tpl/setting/settings_media.php:
|
3301 |
msgid "Optimize images using lossless compression."
|
3302 |
msgstr ""
|
3303 |
|
3304 |
-
#: admin/tpl/setting/settings_media.php:
|
3305 |
msgid ""
|
3306 |
"This can improve quality but may result in larger images than lossy "
|
3307 |
"compression will."
|
3308 |
msgstr ""
|
3309 |
|
3310 |
-
#: admin/tpl/setting/settings_media.php:
|
3311 |
msgid "Preserve EXIF data"
|
3312 |
msgstr ""
|
3313 |
|
3314 |
-
#: admin/tpl/setting/settings_media.php:
|
3315 |
msgid ""
|
3316 |
"Preserve EXIF data (copyright, GPS, comments, keywords, etc) when optimizing."
|
3317 |
msgstr ""
|
3318 |
|
3319 |
-
#: admin/tpl/setting/settings_media.php:
|
3320 |
msgid "This will increase the size of optimized files."
|
3321 |
msgstr ""
|
3322 |
|
3323 |
-
#: admin/tpl/setting/settings_media.php:
|
3324 |
msgid "WebP Attribute To Replace"
|
3325 |
msgstr ""
|
3326 |
|
3327 |
-
#: admin/tpl/setting/settings_media.php:
|
3328 |
msgid "Specify which element attributes will be replaced with WebP."
|
3329 |
msgstr ""
|
3330 |
|
3331 |
-
#: admin/tpl/setting/settings_media.php:
|
3332 |
msgid "Only attributes listed here will be replaced."
|
3333 |
msgstr ""
|
3334 |
|
3335 |
-
#: admin/tpl/setting/settings_media.php:
|
3336 |
msgid "Use the format %1$s or %2$s (element is optional)."
|
3337 |
msgstr ""
|
3338 |
|
3339 |
-
#: admin/tpl/setting/settings_media.php:
|
3340 |
msgid "WebP For Extra srcset"
|
3341 |
msgstr ""
|
3342 |
|
3343 |
-
#: admin/tpl/setting/settings_media.php:
|
3344 |
msgid ""
|
3345 |
"Enable replacement of WebP in %s elements that were generated outside of "
|
3346 |
"WordPress logic."
|
@@ -3492,15 +3571,6 @@ msgid ""
|
|
3492 |
"Automatically generate critical CSS in the background via a cron-based queue."
|
3493 |
msgstr ""
|
3494 |
|
3495 |
-
#: admin/tpl/setting/settings_optimize.php:164
|
3496 |
-
msgid ""
|
3497 |
-
"If set to %s this is done in the foreground, which may slow down page load."
|
3498 |
-
msgstr ""
|
3499 |
-
|
3500 |
-
#: admin/tpl/setting/settings_optimize.php:172
|
3501 |
-
msgid "Last generated"
|
3502 |
-
msgstr ""
|
3503 |
-
|
3504 |
#: admin/tpl/setting/settings_optimize.php:175
|
3505 |
msgid "Last requested cost"
|
3506 |
msgstr ""
|
@@ -3509,10 +3579,6 @@ msgstr ""
|
|
3509 |
msgid "URL list in queue waiting for cron"
|
3510 |
msgstr ""
|
3511 |
|
3512 |
-
#: admin/tpl/setting/settings_optimize.php:186
|
3513 |
-
msgid "Run Queue Manually"
|
3514 |
-
msgstr ""
|
3515 |
-
|
3516 |
#: admin/tpl/setting/settings_optimize.php:195
|
3517 |
msgid "Inline CSS Async Lib"
|
3518 |
msgstr ""
|
@@ -3990,33 +4056,33 @@ msgstr ""
|
|
3990 |
msgid "LSCache"
|
3991 |
msgstr ""
|
3992 |
|
3993 |
-
#: inc/gui.class.php:
|
3994 |
msgid "Remove all previous unfinished image optimization requests."
|
3995 |
msgstr ""
|
3996 |
|
3997 |
-
#: inc/gui.class.php:
|
3998 |
msgid "Clean Up Unfinished Data"
|
3999 |
msgstr ""
|
4000 |
|
4001 |
-
#: inc/gui.class.php:
|
4002 |
msgid "Install %s"
|
4003 |
msgstr ""
|
4004 |
|
4005 |
-
#: inc/gui.class.php:
|
4006 |
msgid "Install Now"
|
4007 |
msgstr ""
|
4008 |
|
4009 |
-
#: inc/gui.class.php:
|
4010 |
msgid ""
|
4011 |
"<a href=\"%1$s\" %2$s>View version %3$s details</a> or <a href=\"%4$s\" %5$s "
|
4012 |
"target=\"_blank\">update now</a>."
|
4013 |
msgstr ""
|
4014 |
|
4015 |
-
#: inc/gui.class.php:
|
4016 |
msgid "View %1$s version %2$s details"
|
4017 |
msgstr ""
|
4018 |
|
4019 |
-
#: inc/gui.class.php:
|
4020 |
msgid "Update %s now"
|
4021 |
msgstr ""
|
4022 |
|
@@ -4066,31 +4132,31 @@ msgid ""
|
|
4066 |
"accepted %3$s groups with %4$s images."
|
4067 |
msgstr ""
|
4068 |
|
4069 |
-
#: inc/img_optm.class.php:
|
4070 |
msgid "Removed %1$s images and saved %2$s successfully."
|
4071 |
msgstr ""
|
4072 |
|
4073 |
-
#: inc/img_optm.class.php:
|
4074 |
msgid "Switched images successfully."
|
4075 |
msgstr ""
|
4076 |
|
4077 |
-
#: inc/img_optm.class.php:
|
4078 |
msgid "Disabled WebP file successfully."
|
4079 |
msgstr ""
|
4080 |
|
4081 |
-
#: inc/img_optm.class.php:
|
4082 |
msgid "Enabled WebP file successfully."
|
4083 |
msgstr ""
|
4084 |
|
4085 |
-
#: inc/img_optm.class.php:
|
4086 |
msgid "Restored original file successfully."
|
4087 |
msgstr ""
|
4088 |
|
4089 |
-
#: inc/img_optm.class.php:
|
4090 |
msgid "Switched to optimized file successfully."
|
4091 |
msgstr ""
|
4092 |
|
4093 |
-
#: inc/img_optm.class.php:
|
4094 |
msgid "Reset the optimized data successfully."
|
4095 |
msgstr ""
|
4096 |
|
@@ -4114,103 +4180,107 @@ msgstr ""
|
|
4114 |
msgid "Notified LiteSpeed Web Server to purge the list."
|
4115 |
msgstr ""
|
4116 |
|
4117 |
-
#: inc/media.class.php:
|
4118 |
msgid "LiteSpeed Optimization"
|
4119 |
msgstr ""
|
4120 |
|
4121 |
-
#: inc/media.class.php:
|
4122 |
msgid "WebP saved %s"
|
4123 |
msgstr ""
|
4124 |
|
4125 |
-
#: inc/media.class.php:
|
4126 |
msgid "Click to Disable WebP"
|
4127 |
msgstr ""
|
4128 |
|
4129 |
-
#: inc/media.class.php:
|
4130 |
msgid "Click to Enable WebP"
|
4131 |
msgstr ""
|
4132 |
|
4133 |
-
#: inc/media.class.php:
|
4134 |
msgid "Original saved %s"
|
4135 |
msgstr ""
|
4136 |
|
4137 |
-
#: inc/media.class.php:
|
4138 |
msgid "Click to Restore Original File"
|
4139 |
msgstr ""
|
4140 |
|
4141 |
-
#: inc/media.class.php:
|
4142 |
msgid "Click to Switch To Optimized File"
|
4143 |
msgstr ""
|
4144 |
|
4145 |
-
#: inc/media.class.php:
|
4146 |
msgid "Reset"
|
4147 |
msgstr ""
|
4148 |
|
4149 |
-
#: inc/purge.class.php:
|
4150 |
msgid "Purged all caches successfully."
|
4151 |
msgstr ""
|
4152 |
|
4153 |
-
#: inc/purge.class.php:
|
4154 |
msgid "Notified LiteSpeed Web Server to purge all LSCache entries."
|
4155 |
msgstr ""
|
4156 |
|
4157 |
-
#: inc/purge.class.php:
|
4158 |
msgid "Cleaned all critical CSS files."
|
4159 |
msgstr ""
|
4160 |
|
4161 |
-
#: inc/purge.class.php:
|
|
|
|
|
|
|
|
|
4162 |
msgid "Notified LiteSpeed Web Server to purge CSS/JS entries."
|
4163 |
msgstr ""
|
4164 |
|
4165 |
-
#: inc/purge.class.php:
|
4166 |
msgid "Opcode cache is not enabled."
|
4167 |
msgstr ""
|
4168 |
|
4169 |
-
#: inc/purge.class.php:
|
4170 |
msgid "Reset the entire opcode cache successfully."
|
4171 |
msgstr ""
|
4172 |
|
4173 |
-
#: inc/purge.class.php:
|
4174 |
msgid "Object cache is not enabled."
|
4175 |
msgstr ""
|
4176 |
|
4177 |
-
#: inc/purge.class.php:
|
4178 |
msgid "Purge all object caches successfully."
|
4179 |
msgstr ""
|
4180 |
|
4181 |
-
#: inc/purge.class.php:
|
4182 |
msgid "Notified LiteSpeed Web Server to purge the front page."
|
4183 |
msgstr ""
|
4184 |
|
4185 |
-
#: inc/purge.class.php:
|
4186 |
msgid "Notified LiteSpeed Web Server to purge pages."
|
4187 |
msgstr ""
|
4188 |
|
4189 |
-
#: inc/purge.class.php:
|
4190 |
msgid "Notified LiteSpeed Web Server to purge error pages."
|
4191 |
msgstr ""
|
4192 |
|
4193 |
-
#: inc/purge.class.php:
|
4194 |
msgid "Purge category %s"
|
4195 |
msgstr ""
|
4196 |
|
4197 |
-
#: inc/purge.class.php:
|
4198 |
msgid "Purge Post ID %s"
|
4199 |
msgstr ""
|
4200 |
|
4201 |
-
#: inc/purge.class.php:
|
4202 |
msgid "Purge tag %s"
|
4203 |
msgstr ""
|
4204 |
|
4205 |
-
#: inc/purge.class.php:
|
4206 |
msgid "Purge url %s"
|
4207 |
msgstr ""
|
4208 |
|
4209 |
-
#: inc/task.class.php:
|
4210 |
msgid "LiteSpeed Cache Custom Cron Common"
|
4211 |
msgstr ""
|
4212 |
|
4213 |
-
#: inc/task.class.php:
|
4214 |
msgid "LiteSpeed Cache Custom Cron Crawler"
|
4215 |
msgstr ""
|
4216 |
|
2 |
# This file is distributed under the same license as the LiteSpeed Cache package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
+
"Project-Id-Version: LiteSpeed Cache 2.5.1\n"
|
6 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/litespeed-cache\n"
|
7 |
+
"POT-Creation-Date: 2018-09-11 17:24:06+00:00\n"
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
94 |
#: admin/litespeed-cache-admin-display.class.php:899
|
95 |
#: admin/tpl/setting/settings_debug.php:35
|
96 |
#: admin/tpl/setting/settings_inc.cache_mobile.php:67
|
97 |
+
#: admin/tpl/setting/settings_media.php:90
|
98 |
#: admin/tpl/setting/settings_optimize.php:138
|
99 |
#: admin/tpl/setting/settings_optimize.php:152
|
100 |
#: admin/tpl/setting/settings_optimize.php:153
|
109 |
#: admin/tpl/setting/settings_cdn.php:35 admin/tpl/setting/settings_cdn.php:169
|
110 |
#: admin/tpl/setting/settings_debug.php:29
|
111 |
#: admin/tpl/setting/settings_inc.cache_object.php:149
|
112 |
+
#: admin/tpl/setting/settings_media.php:93
|
113 |
#: admin/tpl/setting/settings_optimize.php:152
|
114 |
#: admin/tpl/setting/settings_optimize.php:164
|
115 |
#: admin/tpl/setting/settings_tuning.php:18
|
122 |
msgstr ""
|
123 |
|
124 |
#: admin/litespeed-cache-admin-display.class.php:954
|
125 |
+
#: admin/tpl/setting/settings_media.php:38
|
126 |
#: admin/tpl/setting/settings_optimize.php:140
|
127 |
#: admin/tpl/setting/settings_tuning.php:24
|
128 |
#: admin/tpl/setting/settings_tuning.php:40
|
138 |
|
139 |
#: admin/litespeed-cache-admin-display.class.php:957
|
140 |
#: admin/litespeed-cache-admin.class.php:229
|
141 |
+
#: admin/tpl/inc/check_cache_disabled.php:49
|
142 |
#: admin/tpl/inc/img_optm.initialize.php:29
|
143 |
#: admin/tpl/inc/img_optm.summary.php:165 admin/tpl/manage/manage_cdn.php:60
|
144 |
#: admin/tpl/setting/settings_advanced.php:10
|
156 |
#: admin/tpl/setting/settings_inc.cache_object.php:75
|
157 |
#: admin/tpl/setting/settings_inc.cache_object.php:150
|
158 |
#: admin/tpl/setting/settings_inc.check_adv_file.php:18
|
159 |
+
#: admin/tpl/setting/settings_media.php:10
|
160 |
+
#: admin/tpl/setting/settings_media.php:94
|
161 |
+
#: admin/tpl/setting/settings_media.php:138
|
162 |
+
#: admin/tpl/setting/settings_media.php:251
|
163 |
#: admin/tpl/setting/settings_optimize.php:10
|
164 |
#: admin/tpl/setting/settings_optimize.php:165
|
165 |
#: admin/tpl/setting/settings_optimize.php:237
|
455 |
msgstr ""
|
456 |
|
457 |
#: admin/litespeed-cache-admin-settings.class.php:357
|
458 |
+
#: admin/litespeed-cache-admin-settings.class.php:1052
|
459 |
msgid "Default Public Cache"
|
460 |
msgstr ""
|
461 |
|
471 |
msgid "Feed"
|
472 |
msgstr ""
|
473 |
|
474 |
+
#: admin/litespeed-cache-admin-settings.class.php:890
|
475 |
#: admin/tpl/setting/settings_debug.php:88
|
476 |
msgid "Log File Size Limit"
|
477 |
msgstr ""
|
478 |
|
479 |
+
#: admin/litespeed-cache-admin-settings.class.php:975
|
480 |
#: admin/tpl/setting/settings_crawler.php:13
|
481 |
msgid "Delay"
|
482 |
msgstr ""
|
483 |
|
484 |
+
#: admin/litespeed-cache-admin-settings.class.php:976
|
485 |
#: admin/tpl/setting/settings_crawler.php:37
|
486 |
msgid "Run Duration"
|
487 |
msgstr ""
|
488 |
|
489 |
+
#: admin/litespeed-cache-admin-settings.class.php:977
|
490 |
msgid "Cron Interval"
|
491 |
msgstr ""
|
492 |
|
493 |
+
#: admin/litespeed-cache-admin-settings.class.php:978
|
494 |
msgid "Whole Interval"
|
495 |
msgstr ""
|
496 |
|
497 |
+
#: admin/litespeed-cache-admin-settings.class.php:979
|
498 |
#: admin/tpl/setting/settings_crawler.php:73
|
499 |
msgid "Threads"
|
500 |
msgstr ""
|
616 |
msgid "Disable"
|
617 |
msgstr ""
|
618 |
|
619 |
+
#: admin/tpl/crawler.php:92 admin/tpl/inc/check_cache_disabled.php:38
|
620 |
#: admin/tpl/inc/img_optm.summary.php:210 admin/tpl/manage/manage_cdn.php:15
|
621 |
#: admin/tpl/setting/settings_debug.php:105
|
622 |
#: admin/tpl/setting/settings_debug.php:138
|
623 |
+
#: admin/tpl/setting/settings_media.php:182
|
624 |
#: admin/tpl/setting/settings_optimize.php:15 admin/tpl/settings.php:161
|
625 |
msgid "WARNING"
|
626 |
msgstr ""
|
873 |
msgid "Rate %s on %s"
|
874 |
msgstr ""
|
875 |
|
876 |
+
#. #-#-#-#-# litespeed-cache.pot (LiteSpeed Cache 2.5.1) #-#-#-#-#
|
877 |
#. Plugin Name of the plugin/theme
|
878 |
#: admin/tpl/inc/admin_footer.php:6 inc/gui.class.php:353
|
879 |
#: includes/litespeed-cache-gui.class.php:353
|
940 |
msgid "Join Us on Slack"
|
941 |
msgstr ""
|
942 |
|
943 |
+
#: admin/tpl/inc/check_cache_disabled.php:9
|
944 |
+
msgid ""
|
945 |
+
"Caching with a non-LiteSpeed server (i.e. Apache or nginx) is not currently "
|
946 |
+
"supported."
|
947 |
msgstr ""
|
948 |
|
949 |
+
#: admin/tpl/inc/check_cache_disabled.php:14
|
950 |
+
msgid ""
|
951 |
+
"Please enable the LSCache Module at the server level, or ask your hosting "
|
952 |
+
"provider."
|
953 |
msgstr ""
|
954 |
|
955 |
#: admin/tpl/inc/check_cache_disabled.php:22
|
956 |
+
msgid "Please enable LiteSpeed Cache in the plugin settings."
|
957 |
msgstr ""
|
958 |
|
959 |
+
#: admin/tpl/inc/check_cache_disabled.php:29
|
960 |
+
msgid "LiteSpeed Cache is disabled."
|
961 |
msgstr ""
|
962 |
|
963 |
+
#: admin/tpl/inc/check_cache_disabled.php:41
|
964 |
+
msgid "Caching functions on this page are currently unavailable!"
|
965 |
msgstr ""
|
966 |
|
967 |
#: admin/tpl/inc/disabled_all.php:8 admin/tpl/setting/settings_debug.php:13
|
1168 |
msgstr ""
|
1169 |
|
1170 |
#: admin/tpl/inc/img_optm.summary.php:211
|
1171 |
+
#: admin/tpl/setting/settings_media.php:183
|
1172 |
msgid "This is irreversible."
|
1173 |
msgstr ""
|
1174 |
|
1175 |
#: admin/tpl/inc/img_optm.summary.php:212
|
1176 |
+
#: admin/tpl/setting/settings_media.php:184
|
1177 |
msgid "You will be unable to Revert Optimization once the backups are deleted!"
|
1178 |
msgstr ""
|
1179 |
|
1570 |
#: admin/tpl/manage/manage_purge.php:39 admin/tpl/manage/manage_purge.php:45
|
1571 |
#: admin/tpl/manage/manage_purge.php:54 admin/tpl/manage/manage_purge.php:63
|
1572 |
#: admin/tpl/manage/manage_purge.php:72 admin/tpl/manage/manage_purge.php:81
|
1573 |
+
#: admin/tpl/manage/manage_purge.php:90 inc/gui.class.php:387
|
1574 |
+
#: inc/gui.class.php:395 inc/gui.class.php:403 inc/gui.class.php:412
|
1575 |
+
#: inc/gui.class.php:422 inc/gui.class.php:432 inc/gui.class.php:442
|
1576 |
+
#: inc/gui.class.php:452 includes/litespeed-cache-gui.class.php:387
|
1577 |
#: includes/litespeed-cache-gui.class.php:395
|
1578 |
#: includes/litespeed-cache-gui.class.php:403
|
1579 |
#: includes/litespeed-cache-gui.class.php:412
|
1580 |
#: includes/litespeed-cache-gui.class.php:422
|
1581 |
#: includes/litespeed-cache-gui.class.php:432
|
1582 |
#: includes/litespeed-cache-gui.class.php:442
|
1583 |
+
#: includes/litespeed-cache-gui.class.php:452
|
1584 |
msgid "Purge All"
|
1585 |
msgstr ""
|
1586 |
|
1625 |
msgid "This will delete all generated critical CSS files"
|
1626 |
msgstr ""
|
1627 |
|
1628 |
+
#: admin/tpl/manage/manage_purge.php:81 inc/gui.class.php:452
|
1629 |
+
#: includes/litespeed-cache-gui.class.php:452
|
1630 |
+
msgid "Placeholder Cache"
|
1631 |
+
msgstr ""
|
1632 |
+
|
1633 |
#: admin/tpl/manage/manage_purge.php:82
|
1634 |
+
msgid "This will delete all generated image placeholder files"
|
1635 |
msgstr ""
|
1636 |
|
1637 |
#: admin/tpl/manage/manage_purge.php:91
|
1638 |
+
msgid "Purge the cache entries created by this plugin"
|
1639 |
+
msgstr ""
|
1640 |
+
|
1641 |
+
#: admin/tpl/manage/manage_purge.php:100
|
1642 |
msgid "Empty Entire Cache"
|
1643 |
msgstr ""
|
1644 |
|
1645 |
+
#: admin/tpl/manage/manage_purge.php:101
|
1646 |
msgid ""
|
1647 |
"Clears all cache entries related to this site, <i>including other web "
|
1648 |
"applications</i>."
|
1649 |
msgstr ""
|
1650 |
|
1651 |
+
#: admin/tpl/manage/manage_purge.php:102
|
1652 |
msgid "This action should only be used if things are cached incorrectly."
|
1653 |
msgstr ""
|
1654 |
|
1655 |
+
#: admin/tpl/manage/manage_purge.php:106
|
1656 |
msgid "This will clear EVERYTHING inside the cache."
|
1657 |
msgstr ""
|
1658 |
|
1659 |
+
#: admin/tpl/manage/manage_purge.php:107
|
1660 |
msgid "This may cause heavy load on the server."
|
1661 |
msgstr ""
|
1662 |
|
1663 |
+
#: admin/tpl/manage/manage_purge.php:108
|
1664 |
msgid "If only the WordPress site should be purged, use purge all."
|
1665 |
msgstr ""
|
1666 |
|
1667 |
+
#: admin/tpl/manage/manage_purge.php:116 admin/tpl/manage.php:5
|
1668 |
#: admin/tpl/network_settings.php:7 admin/tpl/settings.php:7
|
1669 |
msgid "Purge"
|
1670 |
msgstr ""
|
1671 |
|
1672 |
+
#: admin/tpl/manage/manage_purge.php:149
|
1673 |
msgid "Purge By..."
|
1674 |
msgstr ""
|
1675 |
|
1676 |
+
#: admin/tpl/manage/manage_purge.php:151
|
1677 |
msgid "Select below for \"Purge by\" options."
|
1678 |
msgstr ""
|
1679 |
|
1680 |
+
#: admin/tpl/manage/manage_purge.php:152
|
1681 |
#: admin/tpl/setting/settings_cache.php:73
|
1682 |
#: admin/tpl/setting/settings_cache.php:90
|
1683 |
#: admin/tpl/setting/settings_cdn.php:117
|
1692 |
#: admin/tpl/setting/settings_inc.cache_object.php:114
|
1693 |
#: admin/tpl/setting/settings_inc.cache_object.php:122
|
1694 |
#: admin/tpl/setting/settings_inc.exclude_cookies.php:19
|
1695 |
+
#: admin/tpl/setting/settings_media.php:36
|
1696 |
+
#: admin/tpl/setting/settings_media.php:240
|
1697 |
#: admin/tpl/setting/settings_optimize.php:236
|
1698 |
#: admin/tpl/setting/settings_purge.php:85
|
1699 |
#: admin/tpl/setting/settings_tuning.php:38
|
1703 |
msgid "One per line."
|
1704 |
msgstr ""
|
1705 |
|
1706 |
+
#: admin/tpl/manage/manage_purge.php:179
|
1707 |
msgid "Category"
|
1708 |
msgstr ""
|
1709 |
|
1710 |
+
#: admin/tpl/manage/manage_purge.php:185
|
1711 |
msgid "Post ID"
|
1712 |
msgstr ""
|
1713 |
|
1714 |
+
#: admin/tpl/manage/manage_purge.php:191
|
1715 |
msgid "Tag"
|
1716 |
msgstr ""
|
1717 |
|
1718 |
+
#: admin/tpl/manage/manage_purge.php:197
|
1719 |
msgid "URL"
|
1720 |
msgstr ""
|
1721 |
|
1722 |
+
#: admin/tpl/manage/manage_purge.php:203
|
1723 |
msgid ""
|
1724 |
"Purge pages by category name - e.g. %2$s should be used for the URL %1$s."
|
1725 |
msgstr ""
|
1726 |
|
1727 |
+
#: admin/tpl/manage/manage_purge.php:208
|
1728 |
msgid "Purge pages by post ID."
|
1729 |
msgstr ""
|
1730 |
|
1731 |
+
#: admin/tpl/manage/manage_purge.php:212
|
1732 |
msgid "Purge pages by tag name - e.g. %2$s should be used for the URL %1$s."
|
1733 |
msgstr ""
|
1734 |
|
1735 |
+
#: admin/tpl/manage/manage_purge.php:217
|
1736 |
msgid "Purge pages by relative or full URL."
|
1737 |
msgstr ""
|
1738 |
|
1739 |
+
#: admin/tpl/manage/manage_purge.php:218
|
1740 |
msgid "e.g. Use %s or %s."
|
1741 |
msgstr ""
|
1742 |
|
1743 |
+
#: admin/tpl/manage/manage_purge.php:231
|
1744 |
msgid "Purge List"
|
1745 |
msgstr ""
|
1746 |
|
3157 |
"or WordPress core is upgraded."
|
3158 |
msgstr ""
|
3159 |
|
3160 |
+
#: admin/tpl/setting/settings_media.php:9
|
3161 |
msgid "Media Settings"
|
3162 |
msgstr ""
|
3163 |
|
3164 |
+
#: admin/tpl/setting/settings_media.php:15
|
3165 |
msgid "Lazy Load Images"
|
3166 |
msgstr ""
|
3167 |
|
3168 |
+
#: admin/tpl/setting/settings_media.php:19
|
3169 |
msgid "Load images only when they enter the viewport."
|
3170 |
msgstr ""
|
3171 |
|
3172 |
+
#: admin/tpl/setting/settings_media.php:20
|
3173 |
+
#: admin/tpl/setting/settings_media.php:126
|
3174 |
msgid "This can improve page loading time by reducing initial HTTP requests."
|
3175 |
msgstr ""
|
3176 |
|
3177 |
+
#: admin/tpl/setting/settings_media.php:22
|
3178 |
msgid "Tip"
|
3179 |
msgstr ""
|
3180 |
|
3181 |
+
#: admin/tpl/setting/settings_media.php:23
|
3182 |
msgid "Adding Style to Your Lazy-Loaded Images"
|
3183 |
msgstr ""
|
3184 |
|
3185 |
+
#: admin/tpl/setting/settings_media.php:30
|
3186 |
msgid "Lazy Load Image Excludes"
|
3187 |
msgstr ""
|
3188 |
|
3189 |
+
#: admin/tpl/setting/settings_media.php:34
|
3190 |
msgid "Listed images will not be lazy loaded."
|
3191 |
msgstr ""
|
3192 |
|
3193 |
+
#: admin/tpl/setting/settings_media.php:35
|
3194 |
#: admin/tpl/setting/settings_tuning.php:37
|
3195 |
#: admin/tpl/setting/settings_tuning.php:73
|
3196 |
#: admin/tpl/setting/settings_tuning.php:145
|
3198 |
msgid "Both full URLs and partial strings can be used."
|
3199 |
msgstr ""
|
3200 |
|
3201 |
+
#: admin/tpl/setting/settings_media.php:39
|
3202 |
#: admin/tpl/setting/settings_tuning.php:41
|
3203 |
#: admin/tpl/setting/settings_tuning.php:77
|
3204 |
#: admin/tpl/setting/settings_tuning.php:149
|
3205 |
msgid "Filter %s is supported."
|
3206 |
msgstr ""
|
3207 |
|
3208 |
+
#: admin/tpl/setting/settings_media.php:40
|
3209 |
#: admin/tpl/setting/settings_optimize.php:141
|
3210 |
#: admin/tpl/setting/settings_tuning.php:42
|
3211 |
#: admin/tpl/setting/settings_tuning.php:78
|
3213 |
msgid "Elements with attribute %s in html code will be excluded."
|
3214 |
msgstr ""
|
3215 |
|
3216 |
+
#: admin/tpl/setting/settings_media.php:47
|
3217 |
+
#: admin/tpl/setting/settings_media.php:91
|
3218 |
msgid "Lazy Load Image Placeholder"
|
3219 |
msgstr ""
|
3220 |
|
3221 |
+
#: admin/tpl/setting/settings_media.php:51
|
3222 |
msgid ""
|
3223 |
"Specify a base64 image to be used as a placeholder while other images finish "
|
3224 |
"loading."
|
3225 |
msgstr ""
|
3226 |
|
3227 |
+
#: admin/tpl/setting/settings_media.php:52
|
3228 |
msgid ""
|
3229 |
"This can be predefined in %2$s as well using constant %1$s, with this "
|
3230 |
"setting taking priority."
|
3231 |
msgstr ""
|
3232 |
|
3233 |
+
#: admin/tpl/setting/settings_media.php:53
|
3234 |
msgid "By default a gray image placeholder %s will be used."
|
3235 |
msgstr ""
|
3236 |
|
3237 |
+
#: admin/tpl/setting/settings_media.php:54
|
3238 |
msgid "For example, %s can be used for a transparent placeholder."
|
3239 |
msgstr ""
|
3240 |
|
3241 |
+
#: admin/tpl/setting/settings_media.php:60
|
3242 |
+
#: admin/tpl/setting/settings_media.php:87
|
3243 |
+
msgid "Responsive Placeholder"
|
3244 |
+
msgstr ""
|
3245 |
+
|
3246 |
+
#: admin/tpl/setting/settings_media.php:64
|
3247 |
+
msgid ""
|
3248 |
+
"Responsive image placeholders can help to reduce layout reshuffle when "
|
3249 |
+
"images are loaded."
|
3250 |
+
msgstr ""
|
3251 |
+
|
3252 |
+
#: admin/tpl/setting/settings_media.php:65
|
3253 |
+
msgid ""
|
3254 |
+
"This will generate the placeholder with same dimensions as the image if it "
|
3255 |
+
"has the width and height attributes."
|
3256 |
+
msgstr ""
|
3257 |
+
|
3258 |
+
#: admin/tpl/setting/settings_media.php:71
|
3259 |
+
msgid "Responsive Placeholder Background Color"
|
3260 |
+
msgstr ""
|
3261 |
+
|
3262 |
+
#: admin/tpl/setting/settings_media.php:76
|
3263 |
+
msgid "Specify the placeholder color you want to use."
|
3264 |
+
msgstr ""
|
3265 |
+
|
3266 |
+
#: admin/tpl/setting/settings_media.php:83
|
3267 |
+
msgid "Generate Reponsive Placeholder In Background"
|
3268 |
+
msgstr ""
|
3269 |
+
|
3270 |
+
#: admin/tpl/setting/settings_media.php:87
|
3271 |
+
msgid "Automatically generate %s in the background via a cron-based queue."
|
3272 |
+
msgstr ""
|
3273 |
+
|
3274 |
+
#: admin/tpl/setting/settings_media.php:89
|
3275 |
+
msgid ""
|
3276 |
+
"If set to %1$s, before the placeholder is localized, the %2$s configuration "
|
3277 |
+
"will be used."
|
3278 |
+
msgstr ""
|
3279 |
+
|
3280 |
+
#: admin/tpl/setting/settings_media.php:93
|
3281 |
+
#: admin/tpl/setting/settings_optimize.php:164
|
3282 |
+
msgid ""
|
3283 |
+
"If set to %s this is done in the foreground, which may slow down page load."
|
3284 |
+
msgstr ""
|
3285 |
+
|
3286 |
+
#: admin/tpl/setting/settings_media.php:101
|
3287 |
+
#: admin/tpl/setting/settings_optimize.php:172
|
3288 |
+
msgid "Last generated"
|
3289 |
+
msgstr ""
|
3290 |
+
|
3291 |
+
#: admin/tpl/setting/settings_media.php:106
|
3292 |
+
msgid "Size list in queue waiting for cron"
|
3293 |
+
msgstr ""
|
3294 |
+
|
3295 |
+
#: admin/tpl/setting/settings_media.php:112
|
3296 |
+
#: admin/tpl/setting/settings_optimize.php:186
|
3297 |
+
msgid "Run Queue Manually"
|
3298 |
+
msgstr ""
|
3299 |
+
|
3300 |
+
#: admin/tpl/setting/settings_media.php:121
|
3301 |
msgid "Lazy Load Iframes"
|
3302 |
msgstr ""
|
3303 |
|
3304 |
+
#: admin/tpl/setting/settings_media.php:125
|
3305 |
msgid "Load iframes only when they enter the viewport."
|
3306 |
msgstr ""
|
3307 |
|
3308 |
+
#: admin/tpl/setting/settings_media.php:132
|
3309 |
msgid "Inline Lazy Load Images Library"
|
3310 |
msgstr ""
|
3311 |
|
3312 |
+
#: admin/tpl/setting/settings_media.php:136
|
3313 |
msgid "Include the lazy load image Javascript library inline."
|
3314 |
msgstr ""
|
3315 |
|
3316 |
+
#: admin/tpl/setting/settings_media.php:137
|
3317 |
#: admin/tpl/setting/settings_optimize.php:137
|
3318 |
#: admin/tpl/setting/settings_optimize.php:210
|
3319 |
#: admin/tpl/setting/settings_optimize.php:248
|
3324 |
"PageSpeed."
|
3325 |
msgstr ""
|
3326 |
|
3327 |
+
#: admin/tpl/setting/settings_media.php:144
|
3328 |
msgid "Optimize Automatically"
|
3329 |
msgstr ""
|
3330 |
|
3331 |
+
#: admin/tpl/setting/settings_media.php:148
|
3332 |
msgid "Automatically request optimization via cron job."
|
3333 |
msgstr ""
|
3334 |
|
3335 |
+
#: admin/tpl/setting/settings_media.php:149
|
3336 |
msgid "Requests can only be sent when recovered credits is %s or more."
|
3337 |
msgstr ""
|
3338 |
|
3339 |
+
#: admin/tpl/setting/settings_media.php:155
|
3340 |
msgid "Optimization Cron"
|
3341 |
msgstr ""
|
3342 |
|
3343 |
+
#: admin/tpl/setting/settings_media.php:159
|
3344 |
msgid ""
|
3345 |
"Disabling this will stop the cron job responsible for fetching optimized "
|
3346 |
"images from LiteSpeed's Image Server."
|
3347 |
msgstr ""
|
3348 |
|
3349 |
+
#: admin/tpl/setting/settings_media.php:165
|
3350 |
msgid "Optimize Original Images"
|
3351 |
msgstr ""
|
3352 |
|
3353 |
+
#: admin/tpl/setting/settings_media.php:169
|
3354 |
msgid "Optimize images and save backups of the originals in the same folder."
|
3355 |
msgstr ""
|
3356 |
|
3357 |
+
#: admin/tpl/setting/settings_media.php:175
|
3358 |
msgid "Remove Original Backups"
|
3359 |
msgstr ""
|
3360 |
|
3361 |
+
#: admin/tpl/setting/settings_media.php:179
|
3362 |
msgid ""
|
3363 |
"Automatically remove the original image backups after fetching optimized "
|
3364 |
"images."
|
3365 |
msgstr ""
|
3366 |
|
3367 |
+
#: admin/tpl/setting/settings_media.php:191
|
3368 |
msgid "Optimize WebP Versions"
|
3369 |
msgstr ""
|
3370 |
|
3371 |
+
#: admin/tpl/setting/settings_media.php:195
|
3372 |
msgid "Request WebP versions of original images when doing optimization."
|
3373 |
msgstr ""
|
3374 |
|
3375 |
+
#: admin/tpl/setting/settings_media.php:201
|
3376 |
msgid "Optimize Losslessly"
|
3377 |
msgstr ""
|
3378 |
|
3379 |
+
#: admin/tpl/setting/settings_media.php:205
|
3380 |
msgid "Optimize images using lossless compression."
|
3381 |
msgstr ""
|
3382 |
|
3383 |
+
#: admin/tpl/setting/settings_media.php:206
|
3384 |
msgid ""
|
3385 |
"This can improve quality but may result in larger images than lossy "
|
3386 |
"compression will."
|
3387 |
msgstr ""
|
3388 |
|
3389 |
+
#: admin/tpl/setting/settings_media.php:212
|
3390 |
msgid "Preserve EXIF data"
|
3391 |
msgstr ""
|
3392 |
|
3393 |
+
#: admin/tpl/setting/settings_media.php:216
|
3394 |
msgid ""
|
3395 |
"Preserve EXIF data (copyright, GPS, comments, keywords, etc) when optimizing."
|
3396 |
msgstr ""
|
3397 |
|
3398 |
+
#: admin/tpl/setting/settings_media.php:217
|
3399 |
msgid "This will increase the size of optimized files."
|
3400 |
msgstr ""
|
3401 |
|
3402 |
+
#: admin/tpl/setting/settings_media.php:231
|
3403 |
msgid "WebP Attribute To Replace"
|
3404 |
msgstr ""
|
3405 |
|
3406 |
+
#: admin/tpl/setting/settings_media.php:237
|
3407 |
msgid "Specify which element attributes will be replaced with WebP."
|
3408 |
msgstr ""
|
3409 |
|
3410 |
+
#: admin/tpl/setting/settings_media.php:238
|
3411 |
msgid "Only attributes listed here will be replaced."
|
3412 |
msgstr ""
|
3413 |
|
3414 |
+
#: admin/tpl/setting/settings_media.php:239
|
3415 |
msgid "Use the format %1$s or %2$s (element is optional)."
|
3416 |
msgstr ""
|
3417 |
|
3418 |
+
#: admin/tpl/setting/settings_media.php:246
|
3419 |
msgid "WebP For Extra srcset"
|
3420 |
msgstr ""
|
3421 |
|
3422 |
+
#: admin/tpl/setting/settings_media.php:250
|
3423 |
msgid ""
|
3424 |
"Enable replacement of WebP in %s elements that were generated outside of "
|
3425 |
"WordPress logic."
|
3571 |
"Automatically generate critical CSS in the background via a cron-based queue."
|
3572 |
msgstr ""
|
3573 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3574 |
#: admin/tpl/setting/settings_optimize.php:175
|
3575 |
msgid "Last requested cost"
|
3576 |
msgstr ""
|
3579 |
msgid "URL list in queue waiting for cron"
|
3580 |
msgstr ""
|
3581 |
|
|
|
|
|
|
|
|
|
3582 |
#: admin/tpl/setting/settings_optimize.php:195
|
3583 |
msgid "Inline CSS Async Lib"
|
3584 |
msgstr ""
|
4056 |
msgid "LSCache"
|
4057 |
msgstr ""
|
4058 |
|
4059 |
+
#: inc/gui.class.php:470 includes/litespeed-cache-gui.class.php:470
|
4060 |
msgid "Remove all previous unfinished image optimization requests."
|
4061 |
msgstr ""
|
4062 |
|
4063 |
+
#: inc/gui.class.php:471 includes/litespeed-cache-gui.class.php:471
|
4064 |
msgid "Clean Up Unfinished Data"
|
4065 |
msgstr ""
|
4066 |
|
4067 |
+
#: inc/gui.class.php:490 includes/litespeed-cache-gui.class.php:490
|
4068 |
msgid "Install %s"
|
4069 |
msgstr ""
|
4070 |
|
4071 |
+
#: inc/gui.class.php:491 includes/litespeed-cache-gui.class.php:491
|
4072 |
msgid "Install Now"
|
4073 |
msgstr ""
|
4074 |
|
4075 |
+
#: inc/gui.class.php:511 includes/litespeed-cache-gui.class.php:511
|
4076 |
msgid ""
|
4077 |
"<a href=\"%1$s\" %2$s>View version %3$s details</a> or <a href=\"%4$s\" %5$s "
|
4078 |
"target=\"_blank\">update now</a>."
|
4079 |
msgstr ""
|
4080 |
|
4081 |
+
#: inc/gui.class.php:514 includes/litespeed-cache-gui.class.php:514
|
4082 |
msgid "View %1$s version %2$s details"
|
4083 |
msgstr ""
|
4084 |
|
4085 |
+
#: inc/gui.class.php:519 includes/litespeed-cache-gui.class.php:519
|
4086 |
msgid "Update %s now"
|
4087 |
msgstr ""
|
4088 |
|
4132 |
"accepted %3$s groups with %4$s images."
|
4133 |
msgstr ""
|
4134 |
|
4135 |
+
#: inc/img_optm.class.php:1746
|
4136 |
msgid "Removed %1$s images and saved %2$s successfully."
|
4137 |
msgstr ""
|
4138 |
|
4139 |
+
#: inc/img_optm.class.php:1941
|
4140 |
msgid "Switched images successfully."
|
4141 |
msgstr ""
|
4142 |
|
4143 |
+
#: inc/img_optm.class.php:1972
|
4144 |
msgid "Disabled WebP file successfully."
|
4145 |
msgstr ""
|
4146 |
|
4147 |
+
#: inc/img_optm.class.php:1978
|
4148 |
msgid "Enabled WebP file successfully."
|
4149 |
msgstr ""
|
4150 |
|
4151 |
+
#: inc/img_optm.class.php:1994
|
4152 |
msgid "Restored original file successfully."
|
4153 |
msgstr ""
|
4154 |
|
4155 |
+
#: inc/img_optm.class.php:2001
|
4156 |
msgid "Switched to optimized file successfully."
|
4157 |
msgstr ""
|
4158 |
|
4159 |
+
#: inc/img_optm.class.php:2061
|
4160 |
msgid "Reset the optimized data successfully."
|
4161 |
msgstr ""
|
4162 |
|
4180 |
msgid "Notified LiteSpeed Web Server to purge the list."
|
4181 |
msgstr ""
|
4182 |
|
4183 |
+
#: inc/media.class.php:149
|
4184 |
msgid "LiteSpeed Optimization"
|
4185 |
msgstr ""
|
4186 |
|
4187 |
+
#: inc/media.class.php:175
|
4188 |
msgid "WebP saved %s"
|
4189 |
msgstr ""
|
4190 |
|
4191 |
+
#: inc/media.class.php:182
|
4192 |
msgid "Click to Disable WebP"
|
4193 |
msgstr ""
|
4194 |
|
4195 |
+
#: inc/media.class.php:187
|
4196 |
msgid "Click to Enable WebP"
|
4197 |
msgstr ""
|
4198 |
|
4199 |
+
#: inc/media.class.php:208
|
4200 |
msgid "Original saved %s"
|
4201 |
msgstr ""
|
4202 |
|
4203 |
+
#: inc/media.class.php:219
|
4204 |
msgid "Click to Restore Original File"
|
4205 |
msgstr ""
|
4206 |
|
4207 |
+
#: inc/media.class.php:224
|
4208 |
msgid "Click to Switch To Optimized File"
|
4209 |
msgstr ""
|
4210 |
|
4211 |
+
#: inc/media.class.php:243
|
4212 |
msgid "Reset"
|
4213 |
msgstr ""
|
4214 |
|
4215 |
+
#: inc/purge.class.php:163 includes/litespeed-cache-purge.class.php:163
|
4216 |
msgid "Purged all caches successfully."
|
4217 |
msgstr ""
|
4218 |
|
4219 |
+
#: inc/purge.class.php:186 includes/litespeed-cache-purge.class.php:186
|
4220 |
msgid "Notified LiteSpeed Web Server to purge all LSCache entries."
|
4221 |
msgstr ""
|
4222 |
|
4223 |
+
#: inc/purge.class.php:202 includes/litespeed-cache-purge.class.php:202
|
4224 |
msgid "Cleaned all critical CSS files."
|
4225 |
msgstr ""
|
4226 |
|
4227 |
+
#: inc/purge.class.php:218 includes/litespeed-cache-purge.class.php:218
|
4228 |
+
msgid "Cleaned all placeholder files."
|
4229 |
+
msgstr ""
|
4230 |
+
|
4231 |
+
#: inc/purge.class.php:239 includes/litespeed-cache-purge.class.php:239
|
4232 |
msgid "Notified LiteSpeed Web Server to purge CSS/JS entries."
|
4233 |
msgstr ""
|
4234 |
|
4235 |
+
#: inc/purge.class.php:256 includes/litespeed-cache-purge.class.php:256
|
4236 |
msgid "Opcode cache is not enabled."
|
4237 |
msgstr ""
|
4238 |
|
4239 |
+
#: inc/purge.class.php:268 includes/litespeed-cache-purge.class.php:268
|
4240 |
msgid "Reset the entire opcode cache successfully."
|
4241 |
msgstr ""
|
4242 |
|
4243 |
+
#: inc/purge.class.php:287 includes/litespeed-cache-purge.class.php:287
|
4244 |
msgid "Object cache is not enabled."
|
4245 |
msgstr ""
|
4246 |
|
4247 |
+
#: inc/purge.class.php:297 includes/litespeed-cache-purge.class.php:297
|
4248 |
msgid "Purge all object caches successfully."
|
4249 |
msgstr ""
|
4250 |
|
4251 |
+
#: inc/purge.class.php:449 includes/litespeed-cache-purge.class.php:449
|
4252 |
msgid "Notified LiteSpeed Web Server to purge the front page."
|
4253 |
msgstr ""
|
4254 |
|
4255 |
+
#: inc/purge.class.php:463 includes/litespeed-cache-purge.class.php:463
|
4256 |
msgid "Notified LiteSpeed Web Server to purge pages."
|
4257 |
msgstr ""
|
4258 |
|
4259 |
+
#: inc/purge.class.php:483 includes/litespeed-cache-purge.class.php:483
|
4260 |
msgid "Notified LiteSpeed Web Server to purge error pages."
|
4261 |
msgstr ""
|
4262 |
|
4263 |
+
#: inc/purge.class.php:511 includes/litespeed-cache-purge.class.php:511
|
4264 |
msgid "Purge category %s"
|
4265 |
msgstr ""
|
4266 |
|
4267 |
+
#: inc/purge.class.php:538 includes/litespeed-cache-purge.class.php:538
|
4268 |
msgid "Purge Post ID %s"
|
4269 |
msgstr ""
|
4270 |
|
4271 |
+
#: inc/purge.class.php:567 includes/litespeed-cache-purge.class.php:567
|
4272 |
msgid "Purge tag %s"
|
4273 |
msgstr ""
|
4274 |
|
4275 |
+
#: inc/purge.class.php:601 includes/litespeed-cache-purge.class.php:601
|
4276 |
msgid "Purge url %s"
|
4277 |
msgstr ""
|
4278 |
|
4279 |
+
#: inc/task.class.php:218 includes/litespeed-cache-task.class.php:218
|
4280 |
msgid "LiteSpeed Cache Custom Cron Common"
|
4281 |
msgstr ""
|
4282 |
|
4283 |
+
#: inc/task.class.php:239 includes/litespeed-cache-task.class.php:239
|
4284 |
msgid "LiteSpeed Cache Custom Cron Crawler"
|
4285 |
msgstr ""
|
4286 |
|
litespeed-cache.php
CHANGED
@@ -15,7 +15,7 @@
|
|
15 |
* Plugin Name: LiteSpeed Cache
|
16 |
* Plugin URI: https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration
|
17 |
* Description: High-performance page caching and site optimization from LiteSpeed
|
18 |
-
* Version: 2.
|
19 |
* Author: LiteSpeed Technologies
|
20 |
* Author URI: https://www.litespeedtech.com
|
21 |
* License: GPLv3
|
15 |
* Plugin Name: LiteSpeed Cache
|
16 |
* Plugin URI: https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration
|
17 |
* Description: High-performance page caching and site optimization from LiteSpeed
|
18 |
+
* Version: 2.5.1
|
19 |
* Author: LiteSpeed Technologies
|
20 |
* Author URI: https://www.litespeedtech.com
|
21 |
* License: GPLv3
|
readme.txt
CHANGED
@@ -3,7 +3,7 @@ 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: 4.9.8
|
6 |
-
Stable tag: 2.
|
7 |
License: GPLv3
|
8 |
License URI: http://www.gnu.org/licenses/gpl.html
|
9 |
|
@@ -267,8 +267,19 @@ Click on the `Advanced View` link at the top of the page, and several more tabs
|
|
267 |
|
268 |
== Changelog ==
|
269 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
270 |
= 2.4.4 - Aug 31 2018 =
|
271 |
-
* [NEW] <strong>CLI</strong>
|
272 |
* [IMPROVEMENT] <strong>GUI</strong> Cron/CLI will not create admin message anymore.
|
273 |
* [UPDATE] <strong>Media</strong> Fixed a PHP notice that appeared when pulling optimized images.
|
274 |
* [UPDATE] Fixed a PHP notice when detecting origin of ajax call. (@iosoft)
|
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: 4.9.8
|
6 |
+
Stable tag: 2.5.1
|
7 |
License: GPLv3
|
8 |
License URI: http://www.gnu.org/licenses/gpl.html
|
9 |
|
267 |
|
268 |
== Changelog ==
|
269 |
|
270 |
+
= 2.5.1 - Sep 11 2018 =
|
271 |
+
* 🆕 Responsive placeholder. (@szmigieldesign)
|
272 |
+
* Changed CSS::ccss_realpath function scope to private.
|
273 |
+
* <strong>BUGFIX</strong> Detected JS filetype before optimizing to avoid PHP source conflict. (@closte #50)
|
274 |
+
|
275 |
+
= 2.5 - Sep 6 2018 =
|
276 |
+
* [IMPROVEMENT] <strong>CLI</strong> can now execute Remove Original Image Backups. (@Shon)
|
277 |
+
* [UPDATE] Fixed issue where WP-PostViews documentation contained extra slashes. (#545638)
|
278 |
+
* [UPDATE] Check LITESPEED_SERVER_TYPE for more accurate LSCache Disabled messaging.
|
279 |
+
* [IAPI] Fixed a bug where optimize/fetch error notification was not being received. (@LucasRolff)
|
280 |
+
|
281 |
= 2.4.4 - Aug 31 2018 =
|
282 |
+
* [NEW] <strong>CLI</strong> can now support image optimization. (@Shon)
|
283 |
* [IMPROVEMENT] <strong>GUI</strong> Cron/CLI will not create admin message anymore.
|
284 |
* [UPDATE] <strong>Media</strong> Fixed a PHP notice that appeared when pulling optimized images.
|
285 |
* [UPDATE] Fixed a PHP notice when detecting origin of ajax call. (@iosoft)
|