Version Description
- January 5 2018 =
- [NEW FEATURE] Cloudflare API support.
- [IMPROVEMENT] IAPI key can now be reset to avoid issues when domain is changed.
- [BUGFIX] Fixed JS optimizer breaking certain plugins JS.
- [UPDATE] Added cdn settings to environment report.
- [GUI] Added more shortcuts to backend adminbar.
- [INTEGRATION] WooCommerce visitors are now served from public cache when cart is empty.
Download this release
Release Info
Developer | LiteSpeedTech |
Plugin | ![]() |
Version | 1.7.2 |
Comparing to | |
See all releases |
Code changes from version 1.6.7 to 1.7.2
- admin/admin-api.class.php +39 -0
- admin/litespeed-cache-admin-display.class.php +113 -90
- admin/litespeed-cache-admin-report.class.php +7 -0
- admin/litespeed-cache-admin-rules.class.php +12 -0
- admin/litespeed-cache-admin-settings.class.php +141 -8
- admin/tpl/crawler.php +3 -0
- admin/tpl/esi_widget_edit.php +1 -4
- admin/tpl/image_optimization.php +10 -0
- admin/tpl/inc/api_key.php +0 -0
- admin/tpl/manage.php +4 -0
- admin/tpl/manage/manage_cdn.php +73 -0
- admin/tpl/setting/network_settings_media.php +0 -0
- admin/tpl/setting/settings_advanced.php +141 -69
- admin/tpl/setting/settings_cache.php +17 -0
- admin/tpl/setting/settings_cdn.php +132 -49
- admin/tpl/setting/settings_crawler.php +1 -1
- admin/tpl/setting/settings_debug.php +3 -3
- admin/tpl/setting/settings_excludes.php +2 -2
- admin/tpl/setting/settings_inc.cache_favicon.php +1 -2
- admin/tpl/setting/settings_inc.cache_mobile.php +2 -3
- admin/tpl/setting/settings_inc.cache_resources.php +1 -2
- admin/tpl/setting/settings_inc.exclude_cookies.php +1 -1
- admin/tpl/setting/settings_inc.media_webp.php +0 -0
- admin/tpl/setting/settings_media.php +4 -0
- admin/tpl/setting/settings_optimize.php +24 -0
- admin/tpl/setting/settings_purge.php +2 -2
- admin/tpl/setting/settings_tuning.php +13 -0
- cli/litespeed-cache-cli-admin.class.php +4 -6
- css/litespeed.css +236 -70
- img/icons/img_optm.svg +0 -0
- img/icons/img_optm_disabled.svg +0 -0
- img/icons/img_webp.svg +0 -0
- img/icons/img_webp_disabled.svg +0 -0
- inc/api.class.php +13 -3
- inc/cdn.class.php +353 -56
- inc/config.class.php +51 -14
- inc/control.class.php +33 -2
- inc/gui.class.php +96 -5
- inc/litespeed-cache.class.php +11 -1
- inc/media.class.php +5 -4
- inc/optimize.class.php +155 -27
- inc/router.class.php +3 -1
- inc/utility.class.php +35 -6
- inc/vary.class.php +8 -2
- includes/litespeed-cache-api.class.php +13 -3
- includes/litespeed-cache-cdn.class.php +353 -56
- includes/litespeed-cache-config.class.php +51 -14
- includes/litespeed-cache-control.class.php +33 -2
- includes/litespeed-cache-gui.class.php +96 -5
- includes/litespeed-cache-optimize.class.php +155 -27
- includes/litespeed-cache-router.class.php +3 -1
- includes/litespeed-cache-utility.class.php +35 -6
- includes/litespeed-cache-vary.class.php +8 -2
- includes/litespeed-cache.class.php +11 -1
- js/css_async.min.js +1 -0
- js/lazyload.min.js +1 -2
- js/litespeed-cache-admin.js +52 -23
- languages/litespeed-cache.pot +553 -316
- lib/vendor/bin/cssmin +0 -37
- lib/vendor/pimple/pimple/ext/pimple/config.m4 +0 -63
- lib/vendor/pimple/pimple/ext/pimple/config.w32 +0 -13
- lib/vendor/pimple/pimple/ext/pimple/php_pimple.h +0 -137
- lib/vendor/pimple/pimple/ext/pimple/pimple.c +0 -1114
- lib/vendor/pimple/pimple/ext/pimple/pimple_compat.h +0 -81
- lib/vendor/pimple/pimple/src/Pimple/Tests/Fixtures/Invokable.php +0 -38
- lib/vendor/pimple/pimple/src/Pimple/Tests/Fixtures/NonInvokable.php +0 -34
- lib/vendor/pimple/pimple/src/Pimple/Tests/Fixtures/PimpleServiceProvider.php +0 -54
- lib/vendor/pimple/pimple/src/Pimple/Tests/Fixtures/Service.php +0 -35
- lib/vendor/pimple/pimple/src/Pimple/Tests/PimpleServiceProviderInterfaceTest.php +0 -76
- lib/vendor/pimple/pimple/src/Pimple/Tests/PimpleTest.php +0 -589
- lib/vendor/pimple/pimple/src/Pimple/Tests/Psr11/ContainerTest.php +0 -77
- lib/vendor/pimple/pimple/src/Pimple/Tests/Psr11/ServiceLocatorTest.php +0 -134
- lib/vendor/pimple/pimple/src/Pimple/Tests/ServiceIteratorTest.php +0 -52
- litespeed-cache.php +1 -1
- readme.txt +40 -2
- thirdparty/lscwp-3rd-contact-form-7.cls.php +0 -0
- thirdparty/lscwp-3rd-login-with-ajax.cls.php +0 -0
- thirdparty/lscwp-3rd-woocommerce.cls.php +67 -4
admin/admin-api.class.php
CHANGED
@@ -21,6 +21,7 @@ class LiteSpeed_Cache_Admin_API
|
|
21 |
const TYPE_NOTIFY_IMG = 'notify_img' ;
|
22 |
const TYPE_CHECK_IMG = 'check_img' ;
|
23 |
const TYPE_IMG_DESTROY_CALLBACK = 'imgoptm_destroy' ;
|
|
|
24 |
|
25 |
const IAPI_ACTION_REQUEST_KEY = 'request_key' ;
|
26 |
const IAPI_ACTION_MEDIA_SYNC_DATA = 'media_sync_data' ;
|
@@ -41,6 +42,30 @@ class LiteSpeed_Cache_Admin_API
|
|
41 |
$this->_iapi_key = get_option( self::DB_API_KEY ) ?: '' ;
|
42 |
}
|
43 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
44 |
/**
|
45 |
* Handle aggressive callback requests from LiteSpeed image server
|
46 |
*
|
@@ -220,7 +245,21 @@ class LiteSpeed_Cache_Admin_API
|
|
220 |
LiteSpeed_Cache_Log::debug( 'IAPI applied auth_key' ) ;
|
221 |
|
222 |
$this->_iapi_key = $json[ 'auth_key' ] ;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
223 |
|
|
|
|
|
224 |
}
|
225 |
|
226 |
/**
|
21 |
const TYPE_NOTIFY_IMG = 'notify_img' ;
|
22 |
const TYPE_CHECK_IMG = 'check_img' ;
|
23 |
const TYPE_IMG_DESTROY_CALLBACK = 'imgoptm_destroy' ;
|
24 |
+
const TYPE_RESET_KEY = 'reset_key' ;
|
25 |
|
26 |
const IAPI_ACTION_REQUEST_KEY = 'request_key' ;
|
27 |
const IAPI_ACTION_MEDIA_SYNC_DATA = 'media_sync_data' ;
|
42 |
$this->_iapi_key = get_option( self::DB_API_KEY ) ?: '' ;
|
43 |
}
|
44 |
|
45 |
+
/**
|
46 |
+
* Handle all request actions from main cls
|
47 |
+
*
|
48 |
+
* @since 1.7.2
|
49 |
+
* @access public
|
50 |
+
*/
|
51 |
+
public static function handler()
|
52 |
+
{
|
53 |
+
$instance = self::get_instance() ;
|
54 |
+
|
55 |
+
$type = LiteSpeed_Cache_Router::verify_type() ;
|
56 |
+
|
57 |
+
switch ( $type ) {
|
58 |
+
case self::TYPE_RESET_KEY :
|
59 |
+
$instance->_reset_key() ;
|
60 |
+
break ;
|
61 |
+
|
62 |
+
default:
|
63 |
+
break ;
|
64 |
+
}
|
65 |
+
|
66 |
+
LiteSpeed_Cache_Admin::redirect() ;
|
67 |
+
}
|
68 |
+
|
69 |
/**
|
70 |
* Handle aggressive callback requests from LiteSpeed image server
|
71 |
*
|
245 |
LiteSpeed_Cache_Log::debug( 'IAPI applied auth_key' ) ;
|
246 |
|
247 |
$this->_iapi_key = $json[ 'auth_key' ] ;
|
248 |
+
}
|
249 |
+
|
250 |
+
/**
|
251 |
+
* delete key
|
252 |
+
*
|
253 |
+
* @since 1.7.2
|
254 |
+
* @access private
|
255 |
+
*/
|
256 |
+
private function _reset_key()
|
257 |
+
{
|
258 |
+
delete_option( self::DB_API_KEY ) ;
|
259 |
+
LiteSpeed_Cache_Log::debug( 'IAPI delete auth_key' ) ;
|
260 |
|
261 |
+
$msg = __( 'Reset IAPI key successfully.', 'litespeed-cache' ) ;
|
262 |
+
LiteSpeed_Cache_Admin_Display::succeed( $msg ) ;
|
263 |
}
|
264 |
|
265 |
/**
|
admin/litespeed-cache-admin-display.class.php
CHANGED
@@ -66,7 +66,7 @@ class LiteSpeed_Cache_Admin_Display
|
|
66 |
}
|
67 |
if ( current_user_can($manage) ) {
|
68 |
if ( defined( 'LITESPEED_ON' ) ) {
|
69 |
-
add_action('wp_before_admin_bar_render', array(
|
70 |
}
|
71 |
add_action('admin_enqueue_scripts', array($this, 'check_messages')) ;// We can do this cos admin_notices hook is after admin_enqueue_scripts hook in wp-admin/admin-header.php
|
72 |
}
|
@@ -274,27 +274,6 @@ class LiteSpeed_Cache_Admin_Display
|
|
274 |
remove_filter('gettext', array($this, 'add_update_text')) ;
|
275 |
}
|
276 |
|
277 |
-
/**
|
278 |
-
* Hooked to wp_before_admin_bar_render.
|
279 |
-
* Adds a link to the admin bar so users can quickly purge all.
|
280 |
-
*
|
281 |
-
* @access public
|
282 |
-
* @global WP_Admin_Bar $wp_admin_bar
|
283 |
-
* @global string $pagenow
|
284 |
-
*/
|
285 |
-
public function add_quick_purge()
|
286 |
-
{
|
287 |
-
global $wp_admin_bar ;
|
288 |
-
$url = LiteSpeed_Cache_Utility::build_url(LiteSpeed_Cache::ACTION_PURGE_ALL) ;
|
289 |
-
|
290 |
-
$wp_admin_bar->add_node(array(
|
291 |
-
'id' => 'lscache-quick-purge',
|
292 |
-
'title' => '<span class="ab-icon"></span><span class="ab-label">' . __('LiteSpeed Cache Purge All', 'litespeed-cache') . '</span>',
|
293 |
-
'href' => $url,
|
294 |
-
'meta' => array('class' => 'litespeed-top-toolbar'),
|
295 |
-
)) ;
|
296 |
-
}
|
297 |
-
|
298 |
/**
|
299 |
* Change the admin footer text on LiteSpeed Cache admin pages.
|
300 |
*
|
@@ -668,72 +647,78 @@ class LiteSpeed_Cache_Admin_Display
|
|
668 |
* Build a textarea
|
669 |
*
|
670 |
* @since 1.1.0
|
|
|
671 |
* @access public
|
672 |
* @param string $id
|
673 |
* @param string $val Value of input
|
674 |
* @param boolean $disabled If this input is disabled or not
|
675 |
* @param int $cols The width of textarea
|
676 |
*/
|
677 |
-
public function build_textarea( $id, $
|
678 |
{
|
679 |
-
if ( $
|
680 |
-
|
681 |
-
|
|
|
|
|
|
|
|
|
682 |
}
|
|
|
683 |
$disabled = $disabled ? ' disabled ' : '' ;
|
684 |
|
685 |
-
if ( $cols
|
686 |
$cols = 80 ;
|
687 |
}
|
688 |
|
689 |
-
echo "<textarea name='" . LiteSpeed_Cache_Config::OPTION_NAME . "
|
690 |
}
|
691 |
|
692 |
/**
|
693 |
* Build a textarea based on separate stored option data
|
694 |
*
|
695 |
* @since 1.5
|
|
|
696 |
* @access public
|
697 |
* @param string $id
|
698 |
-
* @param string $val Value of input
|
699 |
-
* @param boolean $disabled If this input is disabled or not
|
700 |
* @param int $cols The width of textarea
|
701 |
*/
|
702 |
-
public function build_textarea2( $id, $
|
703 |
{
|
704 |
-
|
705 |
-
$val = get_option( $id, $default_val ) ;
|
706 |
-
}
|
707 |
-
$disabled = $disabled ? ' disabled ' : '' ;
|
708 |
|
709 |
-
if ( $
|
710 |
-
$
|
711 |
}
|
712 |
|
713 |
-
|
714 |
}
|
715 |
|
716 |
/**
|
717 |
* Build a text input field
|
718 |
*
|
719 |
* @since 1.1.0
|
|
|
720 |
* @access public
|
721 |
* @param string $id
|
722 |
* @param string $style Appending styles
|
723 |
-
* @param boolean $disabled Disable this field
|
724 |
* @param boolean $readonly If is readonly
|
725 |
* @param string $id_attr ID for this field
|
726 |
* @param string $val Field value
|
727 |
* @param string $attrs Additional attributes
|
728 |
* @param string $type Input type
|
729 |
*/
|
730 |
-
public function build_input( $id, $style = false, $
|
731 |
{
|
732 |
-
if ( $
|
733 |
-
|
734 |
-
|
|
|
|
|
|
|
|
|
735 |
}
|
736 |
-
|
737 |
$readonly = $readonly ? ' readonly ' : '' ;
|
738 |
if ( $id_attr !== null ) {
|
739 |
$id_attr = " id='$id_attr' " ;
|
@@ -743,35 +728,7 @@ class LiteSpeed_Cache_Admin_Display
|
|
743 |
$style = "litespeed-regular-text $style" ;
|
744 |
}
|
745 |
|
746 |
-
echo "<input type='$type' class='$style' name='" . LiteSpeed_Cache_Config::OPTION_NAME . "
|
747 |
-
}
|
748 |
-
|
749 |
-
/**
|
750 |
-
* Build a switch div html snippet
|
751 |
-
*
|
752 |
-
* @since 1.1.0
|
753 |
-
* @access public
|
754 |
-
* @param string $id
|
755 |
-
* @param boolean $disabled Disable this field
|
756 |
-
* @param boolean $return Return the html or echo it
|
757 |
-
* @param boolean $checked If the value is on
|
758 |
-
* @param string $id_attr ID for this field, set to true if want to use a not specified unique value
|
759 |
-
*/
|
760 |
-
public function build_switch($id, $disabled = false, $return = false, $checked = null, $id_attr = null)
|
761 |
-
{
|
762 |
-
$id_attr_on = $id_attr === null ? null : $id_attr . '_' . LiteSpeed_Cache_Config::VAL_ON ;
|
763 |
-
$id_attr_off = $id_attr === null ? null : $id_attr . '_' . LiteSpeed_Cache_Config::VAL_OFF ;
|
764 |
-
$html = '<div class="litespeed-switch">' ;
|
765 |
-
$html .= $this->build_radio($id, LiteSpeed_Cache_Config::VAL_OFF, null, $checked === null ? null : !$checked, $disabled, $id_attr_off) ;
|
766 |
-
$html .= $this->build_radio($id, LiteSpeed_Cache_Config::VAL_ON, null, $checked, $disabled, $id_attr_on) ;
|
767 |
-
$html .= '</div>' ;
|
768 |
-
|
769 |
-
if ( $return ) {
|
770 |
-
return $html ;
|
771 |
-
}
|
772 |
-
else {
|
773 |
-
echo $html ;
|
774 |
-
}
|
775 |
}
|
776 |
|
777 |
/**
|
@@ -799,6 +756,76 @@ class LiteSpeed_Cache_Admin_Display
|
|
799 |
</div>" ;
|
800 |
}
|
801 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
802 |
/**
|
803 |
* Build a radio input html codes and output
|
804 |
*
|
@@ -810,20 +837,24 @@ class LiteSpeed_Cache_Admin_Display
|
|
810 |
* @param bool $checked If checked or not
|
811 |
* @param string $id_attr ID for this field, set to true if want to use a not specified unique value
|
812 |
*/
|
813 |
-
public function build_radio($id, $val, $txt = null, $checked = null, $
|
814 |
{
|
815 |
-
if ( $
|
816 |
-
|
817 |
-
|
818 |
-
|
819 |
-
|
|
|
|
|
|
|
|
|
820 |
}
|
821 |
|
822 |
-
$
|
823 |
}
|
824 |
|
825 |
if ( $id_attr === null ) {
|
826 |
-
$id_attr = is_int($val) ? "conf_
|
827 |
}
|
828 |
elseif ( $id_attr === true ) {
|
829 |
$id_attr = md5($val) ;
|
@@ -840,16 +871,8 @@ class LiteSpeed_Cache_Admin_Display
|
|
840 |
}
|
841 |
|
842 |
$checked = $checked ? ' checked ' : '' ;
|
843 |
-
$disabled = $disabled ? ' disabled ' : '' ;
|
844 |
|
845 |
-
return "<input type='radio' "
|
846 |
-
. " name='". LiteSpeed_Cache_Config::OPTION_NAME . "[$id]' "
|
847 |
-
. " id='$id_attr' "
|
848 |
-
. " value='$val' "
|
849 |
-
. " $checked "
|
850 |
-
. " $disabled "
|
851 |
-
. " />"
|
852 |
-
. " <label for='$id_attr'>$txt</label>" ;
|
853 |
}
|
854 |
|
855 |
/**
|
66 |
}
|
67 |
if ( current_user_can($manage) ) {
|
68 |
if ( defined( 'LITESPEED_ON' ) ) {
|
69 |
+
add_action( 'wp_before_admin_bar_render', array( LiteSpeed_Cache_GUI::get_instance(), 'backend_shortcut' ) ) ;
|
70 |
}
|
71 |
add_action('admin_enqueue_scripts', array($this, 'check_messages')) ;// We can do this cos admin_notices hook is after admin_enqueue_scripts hook in wp-admin/admin-header.php
|
72 |
}
|
274 |
remove_filter('gettext', array($this, 'add_update_text')) ;
|
275 |
}
|
276 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
277 |
/**
|
278 |
* Change the admin footer text on LiteSpeed Cache admin pages.
|
279 |
*
|
647 |
* Build a textarea
|
648 |
*
|
649 |
* @since 1.1.0
|
650 |
+
* @since 1.7 Changed cols param order to be the 2nd from 4th
|
651 |
* @access public
|
652 |
* @param string $id
|
653 |
* @param string $val Value of input
|
654 |
* @param boolean $disabled If this input is disabled or not
|
655 |
* @param int $cols The width of textarea
|
656 |
*/
|
657 |
+
public function build_textarea( $id, $cols = false, $val = null, $disabled = false )
|
658 |
{
|
659 |
+
if ( strpos( $id, '[' ) === false ) {
|
660 |
+
if ( $val === null ) {
|
661 |
+
global $_options ;
|
662 |
+
$val = $_options[$id] ;
|
663 |
+
}
|
664 |
+
|
665 |
+
$id = "[$id]" ;
|
666 |
}
|
667 |
+
|
668 |
$disabled = $disabled ? ' disabled ' : '' ;
|
669 |
|
670 |
+
if ( ! $cols ) {
|
671 |
$cols = 80 ;
|
672 |
}
|
673 |
|
674 |
+
echo "<textarea name='" . LiteSpeed_Cache_Config::OPTION_NAME . "$id' rows='5' cols='$cols' $disabled>" . esc_textarea($val) . "</textarea>" ;
|
675 |
}
|
676 |
|
677 |
/**
|
678 |
* Build a textarea based on separate stored option data
|
679 |
*
|
680 |
* @since 1.5
|
681 |
+
* @since 1.7 Changed cols param order to be the 2nd from 4th
|
682 |
* @access public
|
683 |
* @param string $id
|
|
|
|
|
684 |
* @param int $cols The width of textarea
|
685 |
*/
|
686 |
+
public function build_textarea2( $id, $cols = false )
|
687 |
{
|
688 |
+
$val = get_option( $id, false ) ;
|
|
|
|
|
|
|
689 |
|
690 |
+
if ( is_array( $val ) ) {
|
691 |
+
$val = implode( "\n", $val ) ;
|
692 |
}
|
693 |
|
694 |
+
$this->build_textarea( $id, $cols, $val ) ;
|
695 |
}
|
696 |
|
697 |
/**
|
698 |
* Build a text input field
|
699 |
*
|
700 |
* @since 1.1.0
|
701 |
+
* @since 1.7 Added [] check and wrapper to $id, moved $readonly/$id_attr
|
702 |
* @access public
|
703 |
* @param string $id
|
704 |
* @param string $style Appending styles
|
|
|
705 |
* @param boolean $readonly If is readonly
|
706 |
* @param string $id_attr ID for this field
|
707 |
* @param string $val Field value
|
708 |
* @param string $attrs Additional attributes
|
709 |
* @param string $type Input type
|
710 |
*/
|
711 |
+
public function build_input( $id, $style = false, $val = null, $id_attr = null, $attrs = '', $type = 'text', $readonly = false )
|
712 |
{
|
713 |
+
if ( strpos( $id, '[' ) === false ) {
|
714 |
+
if ( $val === null ) {
|
715 |
+
global $_options ;
|
716 |
+
$val = $_options[ $id ] ;
|
717 |
+
}
|
718 |
+
|
719 |
+
$id = "[$id]" ;
|
720 |
}
|
721 |
+
|
722 |
$readonly = $readonly ? ' readonly ' : '' ;
|
723 |
if ( $id_attr !== null ) {
|
724 |
$id_attr = " id='$id_attr' " ;
|
728 |
$style = "litespeed-regular-text $style" ;
|
729 |
}
|
730 |
|
731 |
+
echo "<input type='$type' class='$style' name='" . LiteSpeed_Cache_Config::OPTION_NAME . "$id' value='" . esc_textarea( $val ) ."' $readonly $id_attr $attrs /> " ;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
732 |
}
|
733 |
|
734 |
/**
|
756 |
</div>" ;
|
757 |
}
|
758 |
|
759 |
+
/**
|
760 |
+
* Build a toggle checkbox html snippet
|
761 |
+
*
|
762 |
+
* @since 1.7
|
763 |
+
*/
|
764 |
+
public function build_toggle( $id, $checked = null, $title_on = null, $title_off = null )
|
765 |
+
{
|
766 |
+
if ( strpos( $id, '[' ) === false ) {
|
767 |
+
if ( $checked === null ) {
|
768 |
+
global $_options ;
|
769 |
+
$to_be_checked = null ;
|
770 |
+
if ( isset( $_options[ $id ] ) ) {
|
771 |
+
$to_be_checked = $_options[ $id ] ;
|
772 |
+
}
|
773 |
+
$checked = $to_be_checked ? true : false ;
|
774 |
+
}
|
775 |
+
$id = "[$id]" ;
|
776 |
+
}
|
777 |
+
$checked = $checked ? 1 : 0 ;
|
778 |
+
|
779 |
+
if ( $title_on === null ) {
|
780 |
+
$title_on = __( 'ON', 'litespeed-cache' ) ;
|
781 |
+
$title_off = __( 'OFF', 'litespeed-cache' ) ;
|
782 |
+
}
|
783 |
+
|
784 |
+
if ( $checked ) {
|
785 |
+
$cls = 'primary' ;
|
786 |
+
}
|
787 |
+
else {
|
788 |
+
$cls = 'default litespeed-toggleoff' ;
|
789 |
+
}
|
790 |
+
|
791 |
+
echo "<div class='litespeed-toggle litespeed-toggle-btn litespeed-toggle-btn-$cls' data-litespeed-toggle-on='primary' data-litespeed-toggle-off='default'>
|
792 |
+
<input name='" . LiteSpeed_Cache_Config::OPTION_NAME . "$id' type='hidden' value='$checked' />
|
793 |
+
<div class='litespeed-toggle-group'>
|
794 |
+
<label class='litespeed-toggle-btn litespeed-toggle-btn-primary litespeed-toggle-on'>$title_on</label>
|
795 |
+
<label class='litespeed-toggle-btn litespeed-toggle-btn-default litespeed-toggle-active litespeed-toggle-off'>$title_off</label>
|
796 |
+
<span class='litespeed-toggle-handle litespeed-toggle-btn litespeed-toggle-btn-default'></span>
|
797 |
+
</div>
|
798 |
+
</div>" ;
|
799 |
+
}
|
800 |
+
|
801 |
+
/**
|
802 |
+
* Build a switch div html snippet
|
803 |
+
*
|
804 |
+
* @since 1.1.0
|
805 |
+
* @since 1.7 removed param $disable
|
806 |
+
* @access public
|
807 |
+
* @param string $id
|
808 |
+
* @param boolean $return Return the html or echo it
|
809 |
+
* @param boolean $checked If the value is on
|
810 |
+
* @param string $id_attr ID for this field, set to true if want to use a not specified unique value
|
811 |
+
*/
|
812 |
+
public function build_switch($id, $checked = null, $return = false, $id_attr = null)
|
813 |
+
{
|
814 |
+
$id_attr_on = $id_attr === null ? null : $id_attr . '_' . LiteSpeed_Cache_Config::VAL_ON ;
|
815 |
+
$id_attr_off = $id_attr === null ? null : $id_attr . '_' . LiteSpeed_Cache_Config::VAL_OFF ;
|
816 |
+
$html = '<div class="litespeed-switch">' ;
|
817 |
+
$html .= $this->build_radio($id, LiteSpeed_Cache_Config::VAL_OFF, null, $checked === null ? null : !$checked, $id_attr_off) ;
|
818 |
+
$html .= $this->build_radio($id, LiteSpeed_Cache_Config::VAL_ON, null, $checked, $id_attr_on) ;
|
819 |
+
$html .= '</div>' ;
|
820 |
+
|
821 |
+
if ( $return ) {
|
822 |
+
return $html ;
|
823 |
+
}
|
824 |
+
else {
|
825 |
+
echo $html ;
|
826 |
+
}
|
827 |
+
}
|
828 |
+
|
829 |
/**
|
830 |
* Build a radio input html codes and output
|
831 |
*
|
837 |
* @param bool $checked If checked or not
|
838 |
* @param string $id_attr ID for this field, set to true if want to use a not specified unique value
|
839 |
*/
|
840 |
+
public function build_radio($id, $val, $txt = null, $checked = null, $id_attr = null)
|
841 |
{
|
842 |
+
if ( strpos( $id, '[' ) === false ) {
|
843 |
+
if ( $checked === null ) {
|
844 |
+
global $_options ;
|
845 |
+
$to_be_checked = null ;
|
846 |
+
if ( isset( $_options[ $id ] ) ) {
|
847 |
+
$to_be_checked = is_int( $val ) ? (int)$_options[ $id ] : $_options[ $id ] ;
|
848 |
+
}
|
849 |
+
|
850 |
+
$checked = $to_be_checked === $val ? true : false ;
|
851 |
}
|
852 |
|
853 |
+
$id = "[$id]" ;
|
854 |
}
|
855 |
|
856 |
if ( $id_attr === null ) {
|
857 |
+
$id_attr = is_int($val) ? "conf_" . str_replace( array( '[', ']' ), '_', $id ) . "_$val" : md5($val) ;
|
858 |
}
|
859 |
elseif ( $id_attr === true ) {
|
860 |
$id_attr = md5($val) ;
|
871 |
}
|
872 |
|
873 |
$checked = $checked ? ' checked ' : '' ;
|
|
|
874 |
|
875 |
+
return "<input type='radio' name='". LiteSpeed_Cache_Config::OPTION_NAME . "$id' id='$id_attr' value='$val' $checked /> <label for='$id_attr'>$txt</label>" ;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
876 |
}
|
877 |
|
878 |
/**
|
admin/litespeed-cache-admin-report.class.php
CHANGED
@@ -157,6 +157,13 @@ class LiteSpeed_Cache_Admin_Report
|
|
157 |
}
|
158 |
}
|
159 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
160 |
$report = $this->build_environment_report($_SERVER, $options, $extras, $paths) ;
|
161 |
return $report ;
|
162 |
}
|
157 |
}
|
158 |
}
|
159 |
|
160 |
+
// Security: Remove cf key in report
|
161 |
+
if ( ! empty( $options[ LiteSpeed_Cache_Config::OPID_CDN_CLOUDFLARE_KEY ] ) ) {
|
162 |
+
$options[ LiteSpeed_Cache_Config::OPID_CDN_CLOUDFLARE_KEY ] = str_repeat( '*', strlen( $options[ LiteSpeed_Cache_Config::OPID_CDN_CLOUDFLARE_KEY ] ) ) ;
|
163 |
+
}
|
164 |
+
|
165 |
+
$options[ LiteSpeed_Cache_Config::ITEM_CDN_MAPPING ] = get_option( LiteSpeed_Cache_Config::ITEM_CDN_MAPPING ) ;
|
166 |
+
|
167 |
$report = $this->build_environment_report($_SERVER, $options, $extras, $paths) ;
|
168 |
return $report ;
|
169 |
}
|
admin/litespeed-cache-admin-rules.class.php
CHANGED
@@ -44,6 +44,7 @@ class LiteSpeed_Cache_Admin_Rules
|
|
44 |
const MARKER_MINIFY = '### marker MINIFY' ;
|
45 |
const MARKER_CORS = '### marker CORS' ;
|
46 |
const MARKER_WEBP = '### marker WEBP' ;
|
|
|
47 |
const MARKER_START = ' start ###' ;
|
48 |
const MARKER_END = ' end ###' ;
|
49 |
|
@@ -661,6 +662,17 @@ class LiteSpeed_Cache_Admin_Rules
|
|
661 |
$new_rules[] = '' ;
|
662 |
}
|
663 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
664 |
return array( $new_rules, $new_rules_backend ) ;
|
665 |
|
666 |
}
|
44 |
const MARKER_MINIFY = '### marker MINIFY' ;
|
45 |
const MARKER_CORS = '### marker CORS' ;
|
46 |
const MARKER_WEBP = '### marker WEBP' ;
|
47 |
+
const MARKER_DROPQS = '### marker DROPQS' ;
|
48 |
const MARKER_START = ' start ###' ;
|
49 |
const MARKER_END = ' end ###' ;
|
50 |
|
662 |
$new_rules[] = '' ;
|
663 |
}
|
664 |
|
665 |
+
// drop qs support
|
666 |
+
$id = LiteSpeed_Cache_Config::ITEM_CACHE_DROP_QS ;
|
667 |
+
if ( $cfg_info = get_option( $id ) ) {
|
668 |
+
$new_rules[] = self::MARKER_DROPQS . self::MARKER_START ;
|
669 |
+
foreach ( explode( "\n", $cfg_info ) as $v ) {
|
670 |
+
$new_rules[] = 'CacheKeyModify -qs:' . $v ;
|
671 |
+
}
|
672 |
+
$new_rules[] = self::MARKER_DROPQS . self::MARKER_END ;
|
673 |
+
$new_rules[] = '' ;
|
674 |
+
}
|
675 |
+
|
676 |
return array( $new_rules, $new_rules_backend ) ;
|
677 |
|
678 |
}
|
admin/litespeed-cache-admin-settings.class.php
CHANGED
@@ -68,6 +68,8 @@ class LiteSpeed_Cache_Admin_Settings
|
|
68 |
|
69 |
$this->_validate_cdn() ;
|
70 |
|
|
|
|
|
71 |
$this->_validate_debug() ;
|
72 |
|
73 |
$this->_validate_crawler() ; // Network setup doesn't run validate_plugin_settings
|
@@ -307,6 +309,14 @@ class LiteSpeed_Cache_Admin_Settings
|
|
307 |
if ( isset( $this->_input[ $id ]) ) {
|
308 |
$this->_options[ $id ] = LiteSpeed_Cache_Utility::sanitize_lines( $this->_input[ $id ], 'relative' ) ;
|
309 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
310 |
}
|
311 |
|
312 |
/**
|
@@ -439,14 +449,24 @@ class LiteSpeed_Cache_Admin_Settings
|
|
439 |
*/
|
440 |
private function _validate_cdn()
|
441 |
{
|
|
|
442 |
$ids = array(
|
443 |
LiteSpeed_Cache_Config::OPID_CDN,
|
444 |
-
LiteSpeed_Cache_Config::
|
445 |
-
LiteSpeed_Cache_Config::OPID_CDN_INC_CSS,
|
446 |
-
LiteSpeed_Cache_Config::OPID_CDN_INC_JS,
|
447 |
) ;
|
448 |
foreach ( $ids as $id ) {
|
449 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
450 |
}
|
451 |
|
452 |
$id = LiteSpeed_Cache_Config::OPID_CDN_ORI ;
|
@@ -458,17 +478,39 @@ class LiteSpeed_Cache_Admin_Settings
|
|
458 |
}
|
459 |
}
|
460 |
|
461 |
-
$id = LiteSpeed_Cache_Config::OPID_CDN_URL ;
|
462 |
-
$this->_options[ $id ] = $this->_input[ $id ] ;
|
463 |
-
|
464 |
$ids = array(
|
465 |
-
LiteSpeed_Cache_Config::OPID_CDN_FILETYPE,
|
466 |
LiteSpeed_Cache_Config::OPID_CDN_EXCLUDE,
|
467 |
) ;
|
468 |
foreach ( $ids as $id ) {
|
469 |
$this->_options[ $id ] = LiteSpeed_Cache_Utility::sanitize_lines( $this->_input[ $id ] ) ;
|
470 |
}
|
471 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
472 |
/**
|
473 |
* Load jQuery from cdn
|
474 |
* @since 1.5
|
@@ -476,6 +518,37 @@ class LiteSpeed_Cache_Admin_Settings
|
|
476 |
$id = LiteSpeed_Cache_Config::OPID_CDN_REMOTE_JQUERY ;
|
477 |
$this->_options[ $id ] = self::is_checked_radio( $this->_input[ $id ] ) ;
|
478 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
479 |
}
|
480 |
|
481 |
/**
|
@@ -533,6 +606,7 @@ class LiteSpeed_Cache_Admin_Settings
|
|
533 |
LiteSpeed_Cache_Config::OPID_OPTM_EMOJI_RM,
|
534 |
LiteSpeed_Cache_Config::OPID_OPTM_EXC_JQUERY,
|
535 |
LiteSpeed_Cache_Config::OPID_OPTM_GGFONTS_ASYNC,
|
|
|
536 |
) ;
|
537 |
foreach ( $ids as $id ) {
|
538 |
$this->_options[ $id ] = self::parse_onoff( $this->_input, $id ) ;
|
@@ -569,6 +643,65 @@ class LiteSpeed_Cache_Admin_Settings
|
|
569 |
$id = LiteSpeed_Cache_Config::EXCLUDE_OPTIMIZATION_ROLES ;
|
570 |
update_option( $id, ! empty( $this->_input[ $id ] ) ? $this->_input[ $id ] : array() ) ;
|
571 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
572 |
}
|
573 |
|
574 |
/**
|
68 |
|
69 |
$this->_validate_cdn() ;
|
70 |
|
71 |
+
$this->_validate_adv() ;
|
72 |
+
|
73 |
$this->_validate_debug() ;
|
74 |
|
75 |
$this->_validate_crawler() ; // Network setup doesn't run validate_plugin_settings
|
309 |
if ( isset( $this->_input[ $id ]) ) {
|
310 |
$this->_options[ $id ] = LiteSpeed_Cache_Utility::sanitize_lines( $this->_input[ $id ], 'relative' ) ;
|
311 |
}
|
312 |
+
|
313 |
+
/**
|
314 |
+
* Update Drop Query String
|
315 |
+
* @since 1.7
|
316 |
+
*/
|
317 |
+
$id = LiteSpeed_Cache_Config::ITEM_CACHE_DROP_QS ;
|
318 |
+
update_option( $id, ! empty( $this->_input[ $id ] ) ? LiteSpeed_Cache_Utility::sanitize_lines( $this->_input[ $id ] ) : '' ) ;
|
319 |
+
|
320 |
}
|
321 |
|
322 |
/**
|
449 |
*/
|
450 |
private function _validate_cdn()
|
451 |
{
|
452 |
+
$cdn_cloudflare_changed = false ;
|
453 |
$ids = array(
|
454 |
LiteSpeed_Cache_Config::OPID_CDN,
|
455 |
+
LiteSpeed_Cache_Config::OPID_CDN_CLOUDFLARE,
|
|
|
|
|
456 |
) ;
|
457 |
foreach ( $ids as $id ) {
|
458 |
+
$v = self::parse_onoff( $this->_input, $id ) ;
|
459 |
+
if ( $this->_options[ $id ] === $v ) {
|
460 |
+
continue ;
|
461 |
+
}
|
462 |
+
|
463 |
+
$this->_options[ $id ] = $v ;
|
464 |
+
|
465 |
+
// Cloudflare setting is changed
|
466 |
+
if ( $id == LiteSpeed_Cache_Config::OPID_CDN_CLOUDFLARE ) {
|
467 |
+
$cdn_cloudflare_changed = true ;
|
468 |
+
}
|
469 |
+
|
470 |
}
|
471 |
|
472 |
$id = LiteSpeed_Cache_Config::OPID_CDN_ORI ;
|
478 |
}
|
479 |
}
|
480 |
|
|
|
|
|
|
|
481 |
$ids = array(
|
|
|
482 |
LiteSpeed_Cache_Config::OPID_CDN_EXCLUDE,
|
483 |
) ;
|
484 |
foreach ( $ids as $id ) {
|
485 |
$this->_options[ $id ] = LiteSpeed_Cache_Utility::sanitize_lines( $this->_input[ $id ] ) ;
|
486 |
}
|
487 |
|
488 |
+
/**
|
489 |
+
* Handle multiple CDN setting
|
490 |
+
* @since 1.7
|
491 |
+
*/
|
492 |
+
$cdn_mapping = array() ;
|
493 |
+
$mapping_fields = array(
|
494 |
+
LiteSpeed_Cache_Config::ITEM_CDN_MAPPING_URL,
|
495 |
+
LiteSpeed_Cache_Config::ITEM_CDN_MAPPING_INC_IMG,
|
496 |
+
LiteSpeed_Cache_Config::ITEM_CDN_MAPPING_INC_CSS,
|
497 |
+
LiteSpeed_Cache_Config::ITEM_CDN_MAPPING_INC_JS,
|
498 |
+
LiteSpeed_Cache_Config::ITEM_CDN_MAPPING_FILETYPE
|
499 |
+
) ;
|
500 |
+
$id = LiteSpeed_Cache_Config::ITEM_CDN_MAPPING ;
|
501 |
+
foreach ( $this->_input[ $id ][ LiteSpeed_Cache_Config::ITEM_CDN_MAPPING_URL ] as $k => $v ) {
|
502 |
+
$this_mapping = array() ;
|
503 |
+
foreach ( $mapping_fields as $f ) {
|
504 |
+
$this_mapping[ $f ] = ! empty( $this->_input[ $id ][ $f ][ $k ] ) ? $this->_input[ $id ][ $f ][ $k ] : false ;
|
505 |
+
if ( $f === LiteSpeed_Cache_Config::ITEM_CDN_MAPPING_FILETYPE ) {
|
506 |
+
$this_mapping[ $f ] = LiteSpeed_Cache_Utility::sanitize_lines( $this_mapping[ $f ] ) ;
|
507 |
+
}
|
508 |
+
}
|
509 |
+
|
510 |
+
$cdn_mapping[] = $this_mapping ;
|
511 |
+
}
|
512 |
+
update_option( LiteSpeed_Cache_Config::ITEM_CDN_MAPPING, $cdn_mapping ) ;
|
513 |
+
|
514 |
/**
|
515 |
* Load jQuery from cdn
|
516 |
* @since 1.5
|
518 |
$id = LiteSpeed_Cache_Config::OPID_CDN_REMOTE_JQUERY ;
|
519 |
$this->_options[ $id ] = self::is_checked_radio( $this->_input[ $id ] ) ;
|
520 |
|
521 |
+
/**
|
522 |
+
* CLoudflare API
|
523 |
+
* @since 1.7.2
|
524 |
+
*/
|
525 |
+
$ids = array(
|
526 |
+
LiteSpeed_Cache_Config::OPID_CDN_CLOUDFLARE_EMAIL,
|
527 |
+
LiteSpeed_Cache_Config::OPID_CDN_CLOUDFLARE_KEY,
|
528 |
+
LiteSpeed_Cache_Config::OPID_CDN_CLOUDFLARE_NAME,
|
529 |
+
) ;
|
530 |
+
foreach ( $ids as $id ) {
|
531 |
+
if ( $this->_options[ $id ] === $this->_input[ $id ] ) {
|
532 |
+
continue ;
|
533 |
+
}
|
534 |
+
$cdn_cloudflare_changed = true ;
|
535 |
+
$this->_options[ $id ] = $this->_input[ $id ] ;
|
536 |
+
}
|
537 |
+
|
538 |
+
// If cloudflare API is on, refresh the zone
|
539 |
+
if ( $this->_options[ LiteSpeed_Cache_Config::OPID_CDN_CLOUDFLARE ] && $cdn_cloudflare_changed ) {
|
540 |
+
$zone = LiteSpeed_Cache_CDN::get_instance()->cloudflare_fetch_zone( $this->_options ) ;
|
541 |
+
if ( $zone ) {
|
542 |
+
$this->_options[ LiteSpeed_Cache_Config::OPID_CDN_CLOUDFLARE_NAME ] = $zone[ 'name' ] ;
|
543 |
+
$this->_options[ LiteSpeed_Cache_Config::OPID_CDN_CLOUDFLARE_ZONE ] = $zone[ 'id' ] ;
|
544 |
+
|
545 |
+
LiteSpeed_Cache_Log::debug( "Settings: Get zone successfully \t\t[ID] $zone[id]" ) ;
|
546 |
+
}
|
547 |
+
else {
|
548 |
+
$this->_options[ LiteSpeed_Cache_Config::OPID_CDN_CLOUDFLARE_ZONE ] = '' ;
|
549 |
+
LiteSpeed_Cache_Log::debug( 'Settings: Get zone failed, clean zone' ) ;
|
550 |
+
}
|
551 |
+
}
|
552 |
}
|
553 |
|
554 |
/**
|
606 |
LiteSpeed_Cache_Config::OPID_OPTM_EMOJI_RM,
|
607 |
LiteSpeed_Cache_Config::OPID_OPTM_EXC_JQUERY,
|
608 |
LiteSpeed_Cache_Config::OPID_OPTM_GGFONTS_ASYNC,
|
609 |
+
LiteSpeed_Cache_Config::OPID_OPTM_RM_COMMENT,
|
610 |
) ;
|
611 |
foreach ( $ids as $id ) {
|
612 |
$this->_options[ $id ] = self::parse_onoff( $this->_input, $id ) ;
|
643 |
$id = LiteSpeed_Cache_Config::EXCLUDE_OPTIMIZATION_ROLES ;
|
644 |
update_option( $id, ! empty( $this->_input[ $id ] ) ? $this->_input[ $id ] : array() ) ;
|
645 |
|
646 |
+
/**
|
647 |
+
* DNS prefetch
|
648 |
+
* @since 1.7.1
|
649 |
+
*/
|
650 |
+
$id = LiteSpeed_Cache_Config::ITEM_DNS_PREFETCH ;
|
651 |
+
update_option( $id, LiteSpeed_Cache_Utility::sanitize_lines( $this->_input[ $id ], 'domain' ) ) ;
|
652 |
+
|
653 |
+
/**
|
654 |
+
* Combined file max size
|
655 |
+
* @since 1.7.1
|
656 |
+
*/
|
657 |
+
$id = LiteSpeed_Cache_Config::OPID_OPTM_MAX_SIZE ;
|
658 |
+
$this->_options[ $id ] = $this->_input[ $id ] ;
|
659 |
+
}
|
660 |
+
|
661 |
+
/**
|
662 |
+
* Validate advanced setting
|
663 |
+
*
|
664 |
+
* @since 1.7.1
|
665 |
+
* @access private
|
666 |
+
*/
|
667 |
+
private function _validate_adv()
|
668 |
+
{
|
669 |
+
$ids = array(
|
670 |
+
LiteSpeed_Cache_Config::OPID_USE_HTTP_FOR_HTTPS_VARY,
|
671 |
+
// LiteSpeed_Cache_Config::OPID_ADV_FAVICON,
|
672 |
+
) ;
|
673 |
+
foreach ( $ids as $id ) {
|
674 |
+
$this->_options[ $id ] = self::parse_onoff( $this->_input, $id ) ;
|
675 |
+
}
|
676 |
+
|
677 |
+
/**
|
678 |
+
* Added Favicon
|
679 |
+
* @since 1.7.2
|
680 |
+
*/
|
681 |
+
// $fav_file_arr = array( 'frontend', 'backend' ) ;
|
682 |
+
// $new_favicons = array() ;
|
683 |
+
// foreach ( $fav_file_arr as $v ) {
|
684 |
+
// if ( ! empty( $_FILES[ 'litespeed-file-favicon_' . $v ][ 'name' ] ) ) {
|
685 |
+
// $file = wp_handle_upload( $_FILES[ 'litespeed-file-favicon_' . $v ], array( 'action' => 'update' ) ) ;
|
686 |
+
// if ( ! empty( $file[ 'url' ] ) ) {
|
687 |
+
// LiteSpeed_Cache_Log::debug( 'Settings: Updated favicon [' . $v . '] ' . $file[ 'url' ] ) ;
|
688 |
+
|
689 |
+
// $new_favicons[ $v ] = $file[ 'url' ] ;
|
690 |
+
|
691 |
+
// }
|
692 |
+
// elseif ( isset( $file[ 'error' ] ) ) {
|
693 |
+
// LiteSpeed_Cache_Log::debug( 'Settings: Failed to update favicon: [' . $v . '] ' . $file[ 'error' ] ) ;
|
694 |
+
// }
|
695 |
+
// else {
|
696 |
+
// LiteSpeed_Cache_Log::debug( 'Settings: Failed to update favicon: Unkown err [' . $v . ']' ) ;
|
697 |
+
// }
|
698 |
+
// }
|
699 |
+
// }
|
700 |
+
|
701 |
+
// if ( $new_favicons ) {
|
702 |
+
// $cfg_favicon = get_option( LiteSpeed_Cache_Config::ITEM_FAVICON, array() ) ;
|
703 |
+
// update_option( LiteSpeed_Cache_Config::ITEM_FAVICON, array_merge( $cfg_favicon, $new_favicons ) ) ;
|
704 |
+
// }
|
705 |
}
|
706 |
|
707 |
/**
|
admin/tpl/crawler.php
CHANGED
@@ -18,6 +18,9 @@ include_once LSWCP_DIR . "admin/tpl/inc/banner_promo.php" ;
|
|
18 |
</span>
|
19 |
</h2>
|
20 |
</div>
|
|
|
|
|
|
|
21 |
<div class="litespeed-wrap">
|
22 |
<div class="litespeed-body">
|
23 |
<h3 class="litespeed-title"><?php echo __('Crawler File', 'litespeed-cache') ; ?></h3>
|
18 |
</span>
|
19 |
</h2>
|
20 |
</div>
|
21 |
+
|
22 |
+
<?php include_once LSWCP_DIR . "admin/tpl/inc/check_cache_disabled.php" ; ?>
|
23 |
+
|
24 |
<div class="litespeed-wrap">
|
25 |
<div class="litespeed-body">
|
26 |
<h3 class="litespeed-title"><?php echo __('Crawler File', 'litespeed-cache') ; ?></h3>
|
admin/tpl/esi_widget_edit.php
CHANGED
@@ -39,7 +39,6 @@ $display = LiteSpeed_Cache_Admin_Display::get_instance() ;
|
|
39 |
LiteSpeed_Cache_Config::VAL_ON,
|
40 |
__( 'Public', 'litespeed-cache' ),
|
41 |
$esi === LiteSpeed_Cache_Config::VAL_ON,
|
42 |
-
false,
|
43 |
'litespeed-cfg-' . $widget->id . '_' . LiteSpeed_Cache_Config::VAL_ON
|
44 |
);
|
45 |
|
@@ -48,7 +47,6 @@ $display = LiteSpeed_Cache_Admin_Display::get_instance() ;
|
|
48 |
LiteSpeed_Cache_Config::VAL_ON2,
|
49 |
__( 'Private', 'litespeed-cache' ),
|
50 |
$esi === LiteSpeed_Cache_Config::VAL_ON2,
|
51 |
-
false,
|
52 |
'litespeed-cfg-' . $widget->id . '_' . LiteSpeed_Cache_Config::VAL_ON2
|
53 |
);
|
54 |
|
@@ -57,7 +55,6 @@ $display = LiteSpeed_Cache_Admin_Display::get_instance() ;
|
|
57 |
LiteSpeed_Cache_Config::VAL_OFF,
|
58 |
__( 'Disable', 'litespeed-cache' ),
|
59 |
$esi === LiteSpeed_Cache_Config::VAL_OFF,
|
60 |
-
false,
|
61 |
'litespeed-cfg-' . $widget->id . '_' . LiteSpeed_Cache_Config::VAL_OFF
|
62 |
);
|
63 |
?>
|
@@ -68,7 +65,7 @@ $display = LiteSpeed_Cache_Admin_Display::get_instance() ;
|
|
68 |
|
69 |
<b><?php echo __( 'Widget Cache TTL:', 'litespeed-cache' ) ; ?></b>
|
70 |
|
71 |
-
<?php $display->build_input( LiteSpeed_Cache_ESI::WIDGET_OPID_TTL, 'litespeed-reset',
|
72 |
<?php echo __( 'seconds', 'litespeed-cache' ) ; ?>
|
73 |
|
74 |
<p class="install-help">
|
39 |
LiteSpeed_Cache_Config::VAL_ON,
|
40 |
__( 'Public', 'litespeed-cache' ),
|
41 |
$esi === LiteSpeed_Cache_Config::VAL_ON,
|
|
|
42 |
'litespeed-cfg-' . $widget->id . '_' . LiteSpeed_Cache_Config::VAL_ON
|
43 |
);
|
44 |
|
47 |
LiteSpeed_Cache_Config::VAL_ON2,
|
48 |
__( 'Private', 'litespeed-cache' ),
|
49 |
$esi === LiteSpeed_Cache_Config::VAL_ON2,
|
|
|
50 |
'litespeed-cfg-' . $widget->id . '_' . LiteSpeed_Cache_Config::VAL_ON2
|
51 |
);
|
52 |
|
55 |
LiteSpeed_Cache_Config::VAL_OFF,
|
56 |
__( 'Disable', 'litespeed-cache' ),
|
57 |
$esi === LiteSpeed_Cache_Config::VAL_OFF,
|
|
|
58 |
'litespeed-cfg-' . $widget->id . '_' . LiteSpeed_Cache_Config::VAL_OFF
|
59 |
);
|
60 |
?>
|
65 |
|
66 |
<b><?php echo __( 'Widget Cache TTL:', 'litespeed-cache' ) ; ?></b>
|
67 |
|
68 |
+
<?php $display->build_input( LiteSpeed_Cache_ESI::WIDGET_OPID_TTL, 'litespeed-reset', $ttl, null, 'size="7"' ) ; ?>
|
69 |
<?php echo __( 'seconds', 'litespeed-cache' ) ; ?>
|
70 |
|
71 |
<p class="install-help">
|
admin/tpl/image_optimization.php
CHANGED
@@ -53,6 +53,8 @@ include_once LSWCP_DIR . "admin/tpl/inc/banner_promo.php" ;
|
|
53 |
</h2>
|
54 |
</div>
|
55 |
|
|
|
|
|
56 |
<div class="litespeed-wrap">
|
57 |
<div class="litespeed-body">
|
58 |
<h3 class="litespeed-title"><?php echo __('Optimization Summary', 'litespeed-cache') ; ?></h3>
|
@@ -187,6 +189,14 @@ include_once LSWCP_DIR . "admin/tpl/inc/banner_promo.php" ;
|
|
187 |
<?php echo __( 'Scan for any new unoptimized image thumbnail sizes and resend necessary image optimization requests.', 'litespeed-cache' ) ; ?>
|
188 |
</span>
|
189 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
190 |
<br />
|
191 |
<a href="<?php echo LiteSpeed_Cache_Utility::build_url( LiteSpeed_Cache::ACTION_MEDIA, LiteSpeed_Cache_Media::TYPE_IMG_OPTIMIZE_DESTROY ) ; ?>" class="litespeed-btn-danger">
|
192 |
<?php echo __( 'Destroy All Optimization Data!', 'litespeed-cache' ) ; ?>
|
53 |
</h2>
|
54 |
</div>
|
55 |
|
56 |
+
<?php include_once LSWCP_DIR . "admin/tpl/inc/check_cache_disabled.php" ; ?>
|
57 |
+
|
58 |
<div class="litespeed-wrap">
|
59 |
<div class="litespeed-body">
|
60 |
<h3 class="litespeed-title"><?php echo __('Optimization Summary', 'litespeed-cache') ; ?></h3>
|
189 |
<?php echo __( 'Scan for any new unoptimized image thumbnail sizes and resend necessary image optimization requests.', 'litespeed-cache' ) ; ?>
|
190 |
</span>
|
191 |
|
192 |
+
<br />
|
193 |
+
<a href="<?php echo LiteSpeed_Cache_Utility::build_url( LiteSpeed_Cache::ACTION_IAPI, LiteSpeed_Cache_Admin_API::TYPE_RESET_KEY ) ; ?>" class="litespeed-btn-warning">
|
194 |
+
<?php echo __( 'Reset IAPI Key', 'litespeed-cache' ) ; ?>
|
195 |
+
</a>
|
196 |
+
<span class="litespeed-desc">
|
197 |
+
<?php echo __( 'The current IAPI key must be reset after changing home URL or domain before making any further optimization requests.', 'litespeed-cache' ) ; ?>
|
198 |
+
</span>
|
199 |
+
|
200 |
<br />
|
201 |
<a href="<?php echo LiteSpeed_Cache_Utility::build_url( LiteSpeed_Cache::ACTION_MEDIA, LiteSpeed_Cache_Media::TYPE_IMG_OPTIMIZE_DESTROY ) ; ?>" class="litespeed-btn-danger">
|
202 |
<?php echo __( 'Destroy All Optimization Data!', 'litespeed-cache' ) ; ?>
|
admin/tpl/inc/api_key.php
CHANGED
File without changes
|
admin/tpl/manage.php
CHANGED
@@ -8,6 +8,10 @@ $menu_list = array(
|
|
8 |
'db' => __('DB Optimizer', 'litespeed-cache'),
|
9 |
) ;
|
10 |
|
|
|
|
|
|
|
|
|
11 |
include_once LSWCP_DIR . "admin/tpl/inc/banner_promo.php" ;
|
12 |
?>
|
13 |
|
8 |
'db' => __('DB Optimizer', 'litespeed-cache'),
|
9 |
) ;
|
10 |
|
11 |
+
if ( ! is_network_admin() ) {
|
12 |
+
$menu_list[ 'cdn' ] = __( 'CDN', 'litespeed-cache' ) ;
|
13 |
+
}
|
14 |
+
|
15 |
include_once LSWCP_DIR . "admin/tpl/inc/banner_promo.php" ;
|
16 |
?>
|
17 |
|
admin/tpl/manage/manage_cdn.php
ADDED
@@ -0,0 +1,73 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
if ( ! defined( 'WPINC' ) ) die ;
|
3 |
+
|
4 |
+
$cf_on = LiteSpeed_Cache::config( LiteSpeed_Cache_Config::OPID_CDN_CLOUDFLARE ) ;
|
5 |
+
$cf_domain = LiteSpeed_Cache::config( LiteSpeed_Cache_Config::OPID_CDN_CLOUDFLARE_NAME ) ?: '-' ;
|
6 |
+
$cf_zone = LiteSpeed_Cache::config( LiteSpeed_Cache_Config::OPID_CDN_CLOUDFLARE_ZONE ) ?: '-' ;
|
7 |
+
|
8 |
+
$curr_status = get_option( LiteSpeed_Cache_Config::ITEM_CLOUDFLARE_STATUS, array() ) ;
|
9 |
+
|
10 |
+
?>
|
11 |
+
<h3 class="litespeed-title"><?php echo __('Cloudflare', 'litespeed-cache'); ?></h3>
|
12 |
+
|
13 |
+
<?php if ( ! $cf_on ) : ?>
|
14 |
+
<div class="litespeed-callout-danger">
|
15 |
+
<h4><?php echo __( 'WARNING', 'litespeed-cache' ) ; ?></h4>
|
16 |
+
<p>
|
17 |
+
<?php echo __('Please go to Settings to turn Cloudflare API on before use the following functionalities.', 'litespeed-cache'); ?>
|
18 |
+
</p>
|
19 |
+
</div>
|
20 |
+
<?php endif ; ?>
|
21 |
+
|
22 |
+
<p><?php echo __('Cloudflare Domain', 'litespeed-cache'); ?>: <code><?php echo $cf_domain ; ?></code></p>
|
23 |
+
<p><?php echo __('Cloudflare Zone', 'litespeed-cache'); ?>: <code><?php echo $cf_zone ; ?></code></p>
|
24 |
+
|
25 |
+
<p>
|
26 |
+
<b><?php echo __( 'Development Mode', 'litespeed-cache' ) ; ?>:</b>
|
27 |
+
<a href="<?php echo LiteSpeed_Cache_Utility::build_url( LiteSpeed_Cache::ACTION_CDN, LiteSpeed_Cache_CDN::TYPE_CLOUDFLARE_SET_DEVMODE_ON ) ; ?>" class="litespeed-btn-warning">
|
28 |
+
<?php echo __( 'Turn ON', 'litespeed-cache' ) ; ?>
|
29 |
+
</a>
|
30 |
+
<a href="<?php echo LiteSpeed_Cache_Utility::build_url( LiteSpeed_Cache::ACTION_CDN, LiteSpeed_Cache_CDN::TYPE_CLOUDFLARE_SET_DEVMODE_OFF ) ; ?>" class="litespeed-btn-warning">
|
31 |
+
<?php echo __( 'Turn OFF', 'litespeed-cache' ) ; ?>
|
32 |
+
</a>
|
33 |
+
<a href="<?php echo LiteSpeed_Cache_Utility::build_url( LiteSpeed_Cache::ACTION_CDN, LiteSpeed_Cache_CDN::TYPE_CLOUDFLARE_GET_DEVMODE ) ; ?>" class="litespeed-btn-success">
|
34 |
+
<?php echo __( 'Check Status', 'litespeed-cache' ) ; ?>
|
35 |
+
</a>
|
36 |
+
|
37 |
+
<?php if ( $curr_status ) : ?>
|
38 |
+
<span class="litespeed-desc">
|
39 |
+
<?php
|
40 |
+
if ( time() >= $curr_status[ 'devmode_expired' ] ) {
|
41 |
+
$expired_at = date( 'm/d/Y H:i:s', $curr_status[ 'devmode_expired' ] + LITESPEED_TIME_OFFSET ) ;
|
42 |
+
$curr_status[ 'devmode' ] = 'OFF' ;
|
43 |
+
echo sprintf( __( 'Current status is %1$s since %2$s.', 'litespeed-cache' ), '<code>' . strtoupper( $curr_status[ 'devmode' ] ) . '</code>', '<code>' . $expired_at . '</code>' ) ;
|
44 |
+
}
|
45 |
+
else {
|
46 |
+
$expired_at = $curr_status[ 'devmode_expired' ] - time() ;
|
47 |
+
$expired_at = LiteSpeed_Cache_Utility::readable_time( $expired_at, 3600 * 3, false ) ;
|
48 |
+
?>
|
49 |
+
<?php echo sprintf( __( 'Current status is %s.', 'litespeed-cache' ), '<code>' . strtoupper( $curr_status[ 'devmode' ] ) . '</code>' ) ; ?>
|
50 |
+
<?php echo sprintf( __( 'Development mode will be automatically turned off in %s.', 'litespeed-cache' ), '<code>' . $expired_at . '</code>' ) ; ?>
|
51 |
+
<?php
|
52 |
+
}
|
53 |
+
?>
|
54 |
+
</span>
|
55 |
+
<?php endif ; ?>
|
56 |
+
|
57 |
+
<p class="litespeed-desc">
|
58 |
+
<?php echo __( 'Temporarily bypass Cloudflare cache. This allows changes to the origin server to be seen in realtime.', 'litespeed-cache' ) ; ?>
|
59 |
+
<?php echo __( 'Development Mode will be turned off automatically after three hours.', 'litespeed-cache' ) ; ?>
|
60 |
+
<a href="https://support.cloudflare.com/hc/en-us/articles/200168246" target="_blank"><?php echo __('Learn More', 'litespeed-cache') ; ?></a>
|
61 |
+
</p>
|
62 |
+
</p>
|
63 |
+
|
64 |
+
<p>
|
65 |
+
<b><?php echo __( 'Cloudflare Cache', 'litespeed-cache' ) ; ?>:</b>
|
66 |
+
<?php if ( ! $cf_on ) : ?>
|
67 |
+
<a href="#" class="litespeed-btn-default disabled">
|
68 |
+
<?php else : ?>
|
69 |
+
<a href="<?php echo LiteSpeed_Cache_Utility::build_url( LiteSpeed_Cache::ACTION_CDN, LiteSpeed_Cache_CDN::TYPE_CLOUDFLARE_PURGE_ALL ) ; ?>" class="litespeed-btn-danger">
|
70 |
+
<?php endif ; ?>
|
71 |
+
<?php echo __( 'Purge Everything', 'litespeed-cache' ) ; ?>
|
72 |
+
</a>
|
73 |
+
</p>
|
admin/tpl/setting/network_settings_media.php
CHANGED
File without changes
|
admin/tpl/setting/settings_advanced.php
CHANGED
@@ -1,80 +1,152 @@
|
|
1 |
<?php
|
2 |
if (!defined('WPINC')) die;
|
3 |
|
|
|
|
|
4 |
?>
|
|
|
|
|
5 |
<div class="litespeed-callout-danger">
|
6 |
<h4><?php echo __('NOTICE:', 'litespeed-cache'); ?></h4>
|
7 |
-
|
8 |
-
<li><?php echo __('These settings are meant for ADVANCED USERS ONLY.', 'litespeed-cache'); ?></li>
|
9 |
-
<li><?php echo __('Please take great care when changing any of these settings.', 'litespeed-cache'); ?></li>
|
10 |
-
<li><?php echo __('If there are any questions, do not hesitate to submit a support thread.', 'litespeed-cache'); ?></li>
|
11 |
-
</ol>
|
12 |
</div>
|
13 |
|
14 |
-
<
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
</
|
26 |
-
|
27 |
-
<
|
28 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
29 |
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
. '</p>'
|
41 |
-
. '<p>'
|
42 |
-
. __('Example use case:', 'litespeed-cache')
|
43 |
-
. '<br />'
|
44 |
-
. sprintf(__('There is a WordPress installed for %s.', 'litespeed-cache'), '<u>www.example.com</u>')
|
45 |
-
. '<br />'
|
46 |
-
. sprintf(__('Then another WordPress is installed (NOT MULTISITE) at %s', 'litespeed-cache'), '<u>www.example.com/blog/</u>')
|
47 |
-
. ' ' . __('The cache needs to distinguish who is logged into which WordPress site in order to cache correctly.', 'litespeed-cache')
|
48 |
-
. '</p>';
|
49 |
-
|
50 |
-
$cookie_rule = LiteSpeed_Cache_Admin_Rules::get_instance()->get_rewrite_rule_login_cookie();
|
51 |
-
if ( $cookie_rule && substr($cookie_rule, 0, 11) !== 'Cache-Vary:' ){
|
52 |
-
echo '<div class="litespeed-callout-danger">'
|
53 |
-
. sprintf(__('Error: invalid login cookie. Please check the %s file', 'litespeed-cache'), '.htaccess')
|
54 |
-
. '</div>';
|
55 |
-
}
|
56 |
-
|
57 |
-
$id = LiteSpeed_Cache_Config::OPID_LOGIN_COOKIE;
|
58 |
-
if ( defined( 'LITESPEED_ON' ) && $_options[$id] ){
|
59 |
-
|
60 |
-
if (!$cookie_rule){
|
61 |
-
echo '<div class="litespeed-callout-danger">'
|
62 |
-
. sprintf(__('Error getting current rules from %s: %s', 'litespeed-cache'), '.htaccess', LiteSpeed_Cache_Admin_Rules::MARKER_LOGIN_COOKIE)
|
63 |
-
. '</div>';
|
64 |
-
}
|
65 |
-
else{
|
66 |
-
$cookie_rule = substr($cookie_rule, 11);
|
67 |
-
$cookie_arr = explode(',', $cookie_rule);
|
68 |
-
if(!in_array($_options[$id], $cookie_arr)) {
|
69 |
-
echo '<div class="litespeed-callout-warning">' .
|
70 |
-
__( 'WARNING: The .htaccess login cookie and Database login cookie do not match.', 'litespeed-cache' ) .
|
71 |
-
'</div>';
|
72 |
-
}
|
73 |
-
}
|
74 |
-
|
75 |
-
}
|
76 |
-
|
77 |
-
$file_writable = LiteSpeed_Cache_Admin_Rules::writable();
|
78 |
-
$this->build_input($id, 'litespeed-input-long');// , !$file_writable
|
79 |
|
|
|
|
|
|
|
80 |
|
|
1 |
<?php
|
2 |
if (!defined('WPINC')) die;
|
3 |
|
4 |
+
// $current_favicon = get_option( LiteSpeed_Cache_Config::ITEM_FAVICON, array() ) ;
|
5 |
+
|
6 |
?>
|
7 |
+
<h3 class="litespeed-title"><?php echo __( 'Advanced', 'litespeed-cache' ) ; ?></h3>
|
8 |
+
|
9 |
<div class="litespeed-callout-danger">
|
10 |
<h4><?php echo __('NOTICE:', 'litespeed-cache'); ?></h4>
|
11 |
+
<?php echo __('These settings are meant for ADVANCED USERS ONLY.', 'litespeed-cache'); ?>
|
|
|
|
|
|
|
|
|
12 |
</div>
|
13 |
|
14 |
+
<table><tbody>
|
15 |
+
<tr>
|
16 |
+
<th><?php echo __( 'Check Advanced Cache', 'litespeed-cache' ) ; ?></th>
|
17 |
+
<td>
|
18 |
+
<?php
|
19 |
+
$id = LiteSpeed_Cache_Config::OPID_CHECK_ADVANCEDCACHE;
|
20 |
+
$this->build_checkbox($id, __('Include advanced-cache.php', 'litespeed-cache'), $_options[$id]);
|
21 |
+
?>
|
22 |
+
<div class="litespeed-desc">
|
23 |
+
<?php echo __('The advanced-cache.php file is used by many caching plugins to signal that a cache is active.', 'litespeed-cache'); ?>
|
24 |
+
<?php echo __('When this option is checked and this file is detected as belonging to another plugin, LiteSpeed Cache will not cache.', 'litespeed-cache'); ?>
|
25 |
+
</div>
|
26 |
+
<p>
|
27 |
+
<i><?php echo __('Uncheck this option only if the other plugin is used for non-caching purposes, such as minifying css/js files.', 'litespeed-cache'); ?></i>
|
28 |
+
</p>
|
29 |
+
|
30 |
+
</td>
|
31 |
+
</tr>
|
32 |
+
|
33 |
+
<tr>
|
34 |
+
<th><?php echo __( 'Login Cookie', 'litespeed-cache' ) ; ?></th>
|
35 |
+
<td>
|
36 |
+
<?php
|
37 |
+
$id = LiteSpeed_Cache_Config::OPID_LOGIN_COOKIE;
|
38 |
+
$this->build_input( $id ) ;
|
39 |
+
|
40 |
+
echo '<p>' . __('SYNTAX: alphanumeric and "_".', 'litespeed-cache')
|
41 |
+
. ' ' . __('No spaces and case sensitive.', 'litespeed-cache')
|
42 |
+
. ' ' . __('MUST BE UNIQUE FROM OTHER WEB APPLICATIONS.', 'litespeed-cache')
|
43 |
+
. '</p>'
|
44 |
+
. '<p>'
|
45 |
+
. sprintf(__('The default login cookie is %s.', 'litespeed-cache'), '_lscache_vary')
|
46 |
+
. ' ' . __('The server will determine if the user is logged in based on the existance of this cookie.', 'litespeed-cache')
|
47 |
+
. ' ' . __('This setting is useful for those that have multiple web applications for the same domain.', 'litespeed-cache')
|
48 |
+
. ' ' . __('If every web application uses the same cookie, the server may confuse whether a user is logged in or not.', 'litespeed-cache')
|
49 |
+
. ' ' . __('The cookie set here will be used for this WordPress installation.', 'litespeed-cache')
|
50 |
+
. '</p>'
|
51 |
+
. '<p>'
|
52 |
+
. __('Example use case:', 'litespeed-cache')
|
53 |
+
. '<br />'
|
54 |
+
. sprintf(__('There is a WordPress installed for %s.', 'litespeed-cache'), '<u>www.example.com</u>')
|
55 |
+
. '<br />'
|
56 |
+
. sprintf(__('Then another WordPress is installed (NOT MULTISITE) at %s', 'litespeed-cache'), '<u>www.example.com/blog/</u>')
|
57 |
+
. ' ' . __('The cache needs to distinguish who is logged into which WordPress site in order to cache correctly.', 'litespeed-cache')
|
58 |
+
. '</p>';
|
59 |
+
|
60 |
+
$cookie_rule = LiteSpeed_Cache_Admin_Rules::get_instance()->get_rewrite_rule_login_cookie();
|
61 |
+
if ( $cookie_rule && substr($cookie_rule, 0, 11) !== 'Cache-Vary:' ){
|
62 |
+
echo '<div class="litespeed-callout-danger">'
|
63 |
+
. sprintf(__('Error: invalid login cookie. Please check the %s file', 'litespeed-cache'), '.htaccess')
|
64 |
+
. '</div>';
|
65 |
+
}
|
66 |
+
|
67 |
+
if ( defined( 'LITESPEED_ON' ) && $_options[$id] ){
|
68 |
+
|
69 |
+
if (!$cookie_rule){
|
70 |
+
echo '<div class="litespeed-callout-danger">'
|
71 |
+
. sprintf(__('Error getting current rules from %s: %s', 'litespeed-cache'), '.htaccess', LiteSpeed_Cache_Admin_Rules::MARKER_LOGIN_COOKIE)
|
72 |
+
. '</div>';
|
73 |
+
}
|
74 |
+
else{
|
75 |
+
$cookie_rule = substr($cookie_rule, 11);
|
76 |
+
$cookie_arr = explode(',', $cookie_rule);
|
77 |
+
if(!in_array($_options[$id], $cookie_arr)) {
|
78 |
+
echo '<div class="litespeed-callout-warning">' .
|
79 |
+
__( 'WARNING: The .htaccess login cookie and Database login cookie do not match.', 'litespeed-cache' ) .
|
80 |
+
'</div>';
|
81 |
+
}
|
82 |
+
}
|
83 |
+
|
84 |
+
}
|
85 |
+
|
86 |
+
?>
|
87 |
+
</td>
|
88 |
+
</tr>
|
89 |
+
|
90 |
+
<tr>
|
91 |
+
<th><?php echo __( 'Improve HTTP/HTTPS Compatibility', 'litespeed-cache' ) ; ?></th>
|
92 |
+
<td>
|
93 |
+
<?php $this->build_switch( LiteSpeed_Cache_Config::OPID_USE_HTTP_FOR_HTTPS_VARY ) ; ?>
|
94 |
+
<div class="litespeed-desc">
|
95 |
+
<?php echo __( 'Enable this option if you are using both HTTP and HTTPS in the same domain and are noticing cache irregularities.', 'litespeed-cache' ) ; ?>
|
96 |
+
<a href="https://www.litespeedtech.com/support/wiki/doku.php/litespeed_wiki:cache:lscwp:configuration:advanced#improve_http_https_compatibility" target="_blank"><?php echo __('Learn More', 'litespeed-cache') ; ?></a>
|
97 |
+
|
98 |
+
</div>
|
99 |
+
</td>
|
100 |
+
</tr>
|
101 |
+
|
102 |
+
<?php /*
|
103 |
+
<tr>
|
104 |
+
<th><?php echo __( 'Favicon', 'litespeed-cache' ) ; ?></th>
|
105 |
+
<td>
|
106 |
+
<?php $this->build_switch( LiteSpeed_Cache_Config::OPID_ADV_FAVICON ) ; ?>
|
107 |
+
<div class="litespeed-desc">
|
108 |
+
<?php echo __( 'Enable this option to use uploaded image as favicon.ico.', 'litespeed-cache' ) ; ?>
|
109 |
+
<a href="https://www.litespeedtech.com/support/wiki/doku.php/litespeed_wiki:cache:lscwp:configuration:advanced#favicon" target="_blank"><?php echo __('Learn More', 'litespeed-cache') ; ?></a>
|
110 |
+
|
111 |
+
</div>
|
112 |
+
<div class="litespeed-cdn-mapping-block">
|
113 |
+
<div class='litespeed-cdn-mapping-col1'>
|
114 |
+
<h4><?php echo __( 'Frontend Favicon File', 'litespeed-cache' ) ; ?></h4>
|
115 |
+
|
116 |
+
<input type="file" name="litespeed-file-favicon_frontend" class="litespeed-input-long">
|
117 |
+
<div class="litespeed-desc">
|
118 |
+
<a href="https://favicon.io/converter?hello=litespeed" target="_blank"><?php echo __( 'A sample online favicon generator.', 'litespeed-cache' ) ; ?></a>
|
119 |
+
</div>
|
120 |
+
</div>
|
121 |
+
|
122 |
+
<div class='litespeed-cdn-mapping-col litespeed-abs-center'>
|
123 |
+
<?php
|
124 |
+
if ( ! empty( $current_favicon[ 'frontend' ] ) ) {
|
125 |
+
echo "
|
126 |
+
<img src='$current_favicon[frontend]' style='max-height:200px;max-width:200px;' />
|
127 |
+
";
|
128 |
+
}
|
129 |
+
?>
|
130 |
+
</div>
|
131 |
+
<div class='litespeed-cdn-mapping-col1'>
|
132 |
+
<h4><?php echo __( 'Backend Favicon File', 'litespeed-cache' ) ; ?></h4>
|
133 |
+
|
134 |
+
<input type="file" name="litespeed-file-favicon_backend" class="litespeed-input-long">
|
135 |
+
</div>
|
136 |
|
137 |
+
<div class='litespeed-cdn-mapping-col litespeed-abs-center'>
|
138 |
+
<?php
|
139 |
+
if ( ! empty( $current_favicon[ 'backend' ] ) ) {
|
140 |
+
echo "
|
141 |
+
<img src='$current_favicon[backend]' style='max-height:200px;max-width:200px;' />
|
142 |
+
";
|
143 |
+
}
|
144 |
+
?>
|
145 |
+
</div>
|
146 |
+
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
147 |
|
148 |
+
</td>
|
149 |
+
</tr>
|
150 |
+
*/ ?>
|
151 |
|
152 |
+
</tbody></table>
|
admin/tpl/setting/settings_cache.php
CHANGED
@@ -76,5 +76,22 @@ if ( ! defined( 'WPINC' ) ) die ;
|
|
76 |
endif ;
|
77 |
?>
|
78 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
79 |
</tbody></table>
|
80 |
|
76 |
endif ;
|
77 |
?>
|
78 |
|
79 |
+
<tr>
|
80 |
+
<th><?php echo __( 'Drop Query String', 'litespeed-cache' ) ; ?></th>
|
81 |
+
<td>
|
82 |
+
<?php $this->build_textarea2( LiteSpeed_Cache_Config::ITEM_CACHE_DROP_QS, 40 ) ; ?>
|
83 |
+
<div class="litespeed-desc">
|
84 |
+
<?php echo __('Ignore certain query strings when caching.', 'litespeed-cache'); ?>
|
85 |
+
<?php echo sprintf( __( 'For example, to drop parameters beginning with %s, %s can be used here.', 'litespeed-cache' ), '<code>utm</code>', '<code>utm*</code>' ) ; ?>
|
86 |
+
<a href="https://www.litespeedtech.com/support/wiki/doku.php/litespeed_wiki:cache:drop_query_string" target="_blank"><?php echo __('Learn More', 'litespeed-cache') ; ?></a>
|
87 |
+
|
88 |
+
<br />
|
89 |
+
<i>
|
90 |
+
<?php echo __('One per line.', 'litespeed-cache'); ?>
|
91 |
+
</i>
|
92 |
+
</div>
|
93 |
+
</td>
|
94 |
+
</tr>
|
95 |
+
|
96 |
</tbody></table>
|
97 |
|
admin/tpl/setting/settings_cdn.php
CHANGED
@@ -6,6 +6,18 @@ $parsed = parse_url( $home_url ) ;
|
|
6 |
$home_url = str_replace( $parsed[ 'scheme' ] . ':', '', $home_url ) ;
|
7 |
$cdn_url = 'https://cdn.' . substr( $home_url, 2 ) ;
|
8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
?>
|
10 |
|
11 |
<h3 class="litespeed-title"><?php echo __( 'CDN Settings', 'litespeed-cache' ) ; ?></h3>
|
@@ -22,71 +34,97 @@ $cdn_url = 'https://cdn.' . substr( $home_url, 2 ) ;
|
|
22 |
</tr>
|
23 |
|
24 |
<tr>
|
25 |
-
<th><?php echo __( 'CDN
|
26 |
<td>
|
27 |
-
|
28 |
-
|
29 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
</div>
|
31 |
-
</td>
|
32 |
-
</tr>
|
33 |
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
<div class="litespeed-
|
39 |
-
<?php echo
|
40 |
-
|
41 |
</div>
|
42 |
-
</td>
|
43 |
-
</tr>
|
44 |
|
45 |
-
<tr>
|
46 |
-
<th><?php echo __( 'Include Images', 'litespeed-cache' ) ; ?></th>
|
47 |
-
<td>
|
48 |
-
<?php $this->build_switch( LiteSpeed_Cache_Config::OPID_CDN_INC_IMG ) ; ?>
|
49 |
<div class="litespeed-desc">
|
|
|
50 |
<?php echo sprintf( __( 'Serve all image files through the CDN. This will affect all attachments, HTML %s tags, and CSS %s attributes.', 'litespeed-cache' ), '<code><img</code>', '<code>url()</code>' ) ; ?>
|
51 |
-
</div>
|
52 |
-
</td>
|
53 |
-
</tr>
|
54 |
|
55 |
-
|
56 |
-
|
57 |
-
<td>
|
58 |
-
<?php $this->build_switch( LiteSpeed_Cache_Config::OPID_CDN_INC_CSS ) ; ?>
|
59 |
-
<div class="litespeed-desc">
|
60 |
<?php echo __( 'Serve all CSS files through the CDN. This will affect all enqueued WP CSS files.', 'litespeed-cache' ) ; ?>
|
61 |
-
</div>
|
62 |
-
</td>
|
63 |
-
</tr>
|
64 |
|
65 |
-
|
66 |
-
|
67 |
-
<td>
|
68 |
-
<?php $this->build_switch( LiteSpeed_Cache_Config::OPID_CDN_INC_JS ) ; ?>
|
69 |
-
<div class="litespeed-desc">
|
70 |
<?php echo __( 'Serve all JavaScript files through the CDN. This will affect all enqueued WP JavaScript files.', 'litespeed-cache' ) ; ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
71 |
</div>
|
|
|
72 |
</td>
|
73 |
</tr>
|
74 |
|
75 |
<tr>
|
76 |
-
<th><?php echo __( '
|
77 |
<td>
|
78 |
-
|
79 |
-
|
80 |
-
<?php
|
81 |
-
<
|
82 |
-
<?php echo __( 'Static file type links to be replaced by CDN links. One per line.', 'litespeed-cache' ) ; ?>
|
83 |
-
<br /><?php echo sprintf( __( 'This will affect all tags containing attributes: %s %s %s.', 'litespeed-cache' ), '<code>src=""</code>', '<code>data-src=""</code>', '<code>href=""</code>' ) ; ?>
|
84 |
-
</div>
|
85 |
-
</div>
|
86 |
-
<div style="float:left; display:flex;">
|
87 |
-
<div style="display: flex; margin-right: 50px;">
|
88 |
-
<?php $this->recommended($id) ; ?>
|
89 |
-
</div>
|
90 |
</div>
|
91 |
</td>
|
92 |
</tr>
|
@@ -122,7 +160,7 @@ $cdn_url = 'https://cdn.' . substr( $home_url, 2 ) ;
|
|
122 |
<?php echo $this->build_radio(
|
123 |
LiteSpeed_Cache_Config::OPID_CDN_REMOTE_JQUERY,
|
124 |
LiteSpeed_Cache_Config::VAL_ON2,
|
125 |
-
__( '
|
126 |
) ; ?>
|
127 |
</div>
|
128 |
<div class="litespeed-desc">
|
@@ -131,4 +169,49 @@ $cdn_url = 'https://cdn.' . substr( $home_url, 2 ) ;
|
|
131 |
</td>
|
132 |
</tr>
|
133 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
134 |
</tbody></table>
|
6 |
$home_url = str_replace( $parsed[ 'scheme' ] . ':', '', $home_url ) ;
|
7 |
$cdn_url = 'https://cdn.' . substr( $home_url, 2 ) ;
|
8 |
|
9 |
+
$cdn_mapping = get_option( LiteSpeed_Cache_Config::ITEM_CDN_MAPPING, array() ) ;
|
10 |
+
if ( ! $cdn_mapping ) {
|
11 |
+
// generate one by default
|
12 |
+
$cdn_mapping = array( array(
|
13 |
+
LiteSpeed_Cache_Config::ITEM_CDN_MAPPING_URL => '',
|
14 |
+
LiteSpeed_Cache_Config::ITEM_CDN_MAPPING_INC_IMG => false,
|
15 |
+
LiteSpeed_Cache_Config::ITEM_CDN_MAPPING_INC_CSS => false,
|
16 |
+
LiteSpeed_Cache_Config::ITEM_CDN_MAPPING_INC_JS => false,
|
17 |
+
LiteSpeed_Cache_Config::ITEM_CDN_MAPPING_FILETYPE => ".aac\n.css\n.eot\n.gif\n.jpeg\n.js\n.jpg\n.less\n.mp3\n.mp4\n.ogg\n.otf\n.pdf\n.png\n.svg\n.ttf\n.woff",
|
18 |
+
) ) ;
|
19 |
+
}
|
20 |
+
|
21 |
?>
|
22 |
|
23 |
<h3 class="litespeed-title"><?php echo __( 'CDN Settings', 'litespeed-cache' ) ; ?></h3>
|
34 |
</tr>
|
35 |
|
36 |
<tr>
|
37 |
+
<th><?php echo __( 'CDN Mapping', 'litespeed-cache' ) ; ?></th>
|
38 |
<td>
|
39 |
+
<?php foreach ( $cdn_mapping as $v ) : ?>
|
40 |
+
|
41 |
+
<div class="litespeed-cdn-mapping-block" data-litespeed-cdn-mapping="1">
|
42 |
+
<div class='litespeed-cdn-mapping-col1'>
|
43 |
+
<h4><?php echo __( 'CDN URL', 'litespeed-cache' ) ; ?>
|
44 |
+
<button type="button" class="litespeed-btn-danger" data-litespeed-cdn-mapping-del="1">X</button>
|
45 |
+
</h4>
|
46 |
+
|
47 |
+
<?php
|
48 |
+
$id = LiteSpeed_Cache_Config::ITEM_CDN_MAPPING_URL ;
|
49 |
+
$this->build_input( "[" . LiteSpeed_Cache_Config::ITEM_CDN_MAPPING . "][$id][]", 'litespeed-input-long', $v[ $id ] ) ;
|
50 |
+
?>
|
51 |
+
<div class="litespeed-desc">
|
52 |
+
<?php echo sprintf( __( 'CDN URL to be used. For example, %s', 'litespeed-cache' ), '<code>' . $cdn_url . '</code>' ) ; ?>
|
53 |
+
</div>
|
54 |
+
</div>
|
55 |
+
|
56 |
+
<div class='litespeed-cdn-mapping-col2'>
|
57 |
+
<div class="litespeed-row">
|
58 |
+
<div class="litespeed-cdn-mapping-inc"><?php echo __( 'Include Images', 'litespeed-cache' ) ; ?></div>
|
59 |
+
<?php
|
60 |
+
$id = LiteSpeed_Cache_Config::ITEM_CDN_MAPPING_INC_IMG ;
|
61 |
+
$this->build_toggle( "[" . LiteSpeed_Cache_Config::ITEM_CDN_MAPPING . "][$id][]", ! empty( $v[ $id ] ) ? true : false ) ;
|
62 |
+
?>
|
63 |
+
</div>
|
64 |
+
<div class="litespeed-row">
|
65 |
+
<div class="litespeed-cdn-mapping-inc"><?php echo __( 'Include CSS', 'litespeed-cache' ) ; ?></div>
|
66 |
+
<?php
|
67 |
+
$id = LiteSpeed_Cache_Config::ITEM_CDN_MAPPING_INC_CSS ;
|
68 |
+
$this->build_toggle( "[" . LiteSpeed_Cache_Config::ITEM_CDN_MAPPING . "][$id][]", ! empty( $v[ $id ] ) ? true : false ) ;
|
69 |
+
?>
|
70 |
+
</div>
|
71 |
+
<div class="litespeed-row">
|
72 |
+
<div class="litespeed-cdn-mapping-inc"><?php echo __( 'Include JS', 'litespeed-cache' ) ; ?></div>
|
73 |
+
<?php
|
74 |
+
$id = LiteSpeed_Cache_Config::ITEM_CDN_MAPPING_INC_JS ;
|
75 |
+
$this->build_toggle( "[" . LiteSpeed_Cache_Config::ITEM_CDN_MAPPING . "][$id][]", ! empty( $v[ $id ] ) ? true : false ) ;
|
76 |
+
?>
|
77 |
+
</div>
|
78 |
+
</div>
|
79 |
+
|
80 |
+
<div class='litespeed-cdn-mapping-col3'>
|
81 |
+
<div class="litespeed-row">
|
82 |
+
<div class="litespeed-cdn-mapping-col3-title"><?php echo __( 'Include File Types', 'litespeed-cache' ) ; ?></div>
|
83 |
+
<?php $id = LiteSpeed_Cache_Config::ITEM_CDN_MAPPING_FILETYPE ; ?>
|
84 |
+
<?php $this->build_textarea( "[" . LiteSpeed_Cache_Config::ITEM_CDN_MAPPING . "][$id][]", 17, $v[ $id ] ) ; ?>
|
85 |
+
</div>
|
86 |
+
</div>
|
87 |
</div>
|
|
|
|
|
88 |
|
89 |
+
<?php endforeach ; ?>
|
90 |
+
|
91 |
+
<p><button type="button" class="litespeed-btn-success litespeed-btn-tiny" id="litespeed-cdn-mapping-add">+</button></p>
|
92 |
+
|
93 |
+
<div class="litespeed-warning">
|
94 |
+
<?php echo __('NOTE:', 'litespeed-cache'); ?>
|
95 |
+
<?php echo __( 'If multiple CDN paths are configured with the same settings, the last one will override the others.', 'litespeed-cache' ) ; ?>
|
96 |
</div>
|
|
|
|
|
97 |
|
|
|
|
|
|
|
|
|
98 |
<div class="litespeed-desc">
|
99 |
+
<b><?php echo __( 'Include Images', 'litespeed-cache' ) ; ?></b>:
|
100 |
<?php echo sprintf( __( 'Serve all image files through the CDN. This will affect all attachments, HTML %s tags, and CSS %s attributes.', 'litespeed-cache' ), '<code><img</code>', '<code>url()</code>' ) ; ?>
|
|
|
|
|
|
|
101 |
|
102 |
+
<br />
|
103 |
+
<b><?php echo __( 'Include CSS', 'litespeed-cache' ) ; ?></b>:
|
|
|
|
|
|
|
104 |
<?php echo __( 'Serve all CSS files through the CDN. This will affect all enqueued WP CSS files.', 'litespeed-cache' ) ; ?>
|
|
|
|
|
|
|
105 |
|
106 |
+
<br />
|
107 |
+
<b><?php echo __( 'Include JS', 'litespeed-cache' ) ; ?></b>:
|
|
|
|
|
|
|
108 |
<?php echo __( 'Serve all JavaScript files through the CDN. This will affect all enqueued WP JavaScript files.', 'litespeed-cache' ) ; ?>
|
109 |
+
|
110 |
+
<br />
|
111 |
+
<b><?php echo __( 'Include File Types', 'litespeed-cache' ) ; ?></b>:
|
112 |
+
<?php echo __( 'Static file type links to be replaced by CDN links.', 'litespeed-cache' ) ; ?>
|
113 |
+
<?php echo __('One per line.', 'litespeed-cache'); ?>
|
114 |
+
<?php echo sprintf( __( 'This will affect all tags containing attributes: %s %s %s.', 'litespeed-cache' ), '<code>src=""</code>', '<code>data-src=""</code>', '<code>href=""</code>' ) ; ?>
|
115 |
+
<a href="https://www.litespeedtech.com/support/wiki/doku.php/litespeed_wiki:cache:lscwp:configuration:cdn#include_file_types" target="_blank"><?php echo __('Default value', 'litespeed-cache') ; ?></a>
|
116 |
</div>
|
117 |
+
|
118 |
</td>
|
119 |
</tr>
|
120 |
|
121 |
<tr>
|
122 |
+
<th><?php echo __( 'Original URL', 'litespeed-cache' ) ; ?></th>
|
123 |
<td>
|
124 |
+
<?php $this->build_input( LiteSpeed_Cache_Config::OPID_CDN_ORI, 'litespeed-input-long' ) ; ?>
|
125 |
+
<div class="litespeed-desc">
|
126 |
+
<?php echo sprintf( __( 'Site URL to be served through the CDN. Beginning with %1$s. For example, %2$s.', 'litespeed-cache' ), '<code>//</code>', '<code>' . $home_url . '</code>' ) ; ?>
|
127 |
+
<br /><?php echo sprintf( __( 'Wildcard %1$s supported (match zero or more characters). For example, to match %2$s and %3$s, use %4$s.', 'litespeed-cache' ), '<code>*</code>', '<code>//www.aa.com</code>', '<code>//aa.com</code>', '<code>//*aa.com</code>' ) ; ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
128 |
</div>
|
129 |
</td>
|
130 |
</tr>
|
160 |
<?php echo $this->build_radio(
|
161 |
LiteSpeed_Cache_Config::OPID_CDN_REMOTE_JQUERY,
|
162 |
LiteSpeed_Cache_Config::VAL_ON2,
|
163 |
+
__( 'Cdnjs', 'litespeed-cache' )
|
164 |
) ; ?>
|
165 |
</div>
|
166 |
<div class="litespeed-desc">
|
169 |
</td>
|
170 |
</tr>
|
171 |
|
172 |
+
<tr>
|
173 |
+
<th><?php echo __( 'Cloudflare API', 'litespeed-cache' ) ; ?></th>
|
174 |
+
<td>
|
175 |
+
<?php $this->build_switch( LiteSpeed_Cache_Config::OPID_CDN_CLOUDFLARE ) ; ?>
|
176 |
+
<div class="litespeed-desc">
|
177 |
+
<?php echo __( 'Use Cloudflare API functionality.', 'litespeed-cache' ) ; ?>
|
178 |
+
<?php echo sprintf( __( 'This can be managed from <a %2$s>%1$s</a>.', 'litespeed-cache' ), '<b>' . __( 'Manage', 'litespeed-cache' ) . '</b> -> <b>' . __( 'CDN', 'litespeed-cache' ) . '</b>', 'href="admin.php?page=lscache-dash#cdn"' ) ; ?>
|
179 |
+
</div>
|
180 |
+
<div class="litespeed-cdn-mapping-block">
|
181 |
+
<div class='litespeed-child-col'>
|
182 |
+
<h4><?php echo __( 'Email Address', 'litespeed-cache' ) ; ?></h4>
|
183 |
+
|
184 |
+
<?php $this->build_input( LiteSpeed_Cache_Config::OPID_CDN_CLOUDFLARE_EMAIL ) ; ?>
|
185 |
+
<div class="litespeed-desc">
|
186 |
+
<?php echo __( 'Your Email address on Cloudflare.', 'litespeed-cache' ) ; ?>
|
187 |
+
</div>
|
188 |
+
</div>
|
189 |
+
|
190 |
+
<div class='litespeed-child-col'>
|
191 |
+
<h4><?php echo __( 'Global API Key', 'litespeed-cache' ) ; ?></h4>
|
192 |
+
|
193 |
+
<?php $this->build_input( LiteSpeed_Cache_Config::OPID_CDN_CLOUDFLARE_KEY ) ; ?>
|
194 |
+
<div class="litespeed-desc">
|
195 |
+
<?php echo __( 'Your API key is used to access Cloudflare APIs.', 'litespeed-cache' ) ; ?>
|
196 |
+
<?php echo sprintf( __( 'Get it from <a %s>Cloudflare account</a>.', 'litespeed-cache' ), 'href="https://www.cloudflare.com/a/profile" target="_blank"' ) ; ?>
|
197 |
+
</div>
|
198 |
+
</div>
|
199 |
+
|
200 |
+
<div class='litespeed-child-col'>
|
201 |
+
<h4><?php echo __( 'Domain', 'litespeed-cache' ) ; ?></h4>
|
202 |
+
|
203 |
+
<?php
|
204 |
+
$cf_zone = LiteSpeed_Cache::config( LiteSpeed_Cache_Config::OPID_CDN_CLOUDFLARE_ZONE ) ;
|
205 |
+
$cls = $cf_zone ? ' litespeed-input-success' : ' litespeed-input-warning' ;
|
206 |
+
$this->build_input( LiteSpeed_Cache_Config::OPID_CDN_CLOUDFLARE_NAME, $cls ) ;
|
207 |
+
?>
|
208 |
+
<div class="litespeed-desc">
|
209 |
+
<?php echo __( 'You can just type part of the domain.', 'litespeed-cache' ) ; ?>
|
210 |
+
<?php echo __( 'Once saved, it will be matched with the current list and completed automatically.', 'litespeed-cache' ) ; ?>
|
211 |
+
</div>
|
212 |
+
</div>
|
213 |
+
</div>
|
214 |
+
</td>
|
215 |
+
</tr>
|
216 |
+
|
217 |
</tbody></table>
|
admin/tpl/setting/settings_crawler.php
CHANGED
@@ -94,7 +94,7 @@ if ( !defined('WPINC') ) die;
|
|
94 |
<th><?php echo __('Custom Sitemap', 'litespeed-cache'); ?></th>
|
95 |
<td>
|
96 |
<?php $id = LiteSpeed_Cache_Config::CRWL_CUSTOM_SITEMAP ; ?>
|
97 |
-
<?php $this->build_input($id, false,
|
98 |
<div class="litespeed-desc">
|
99 |
<?php echo __('The crawler can use your Google XML Sitemap instead of its own. Enter the full URL to your sitemap here.', 'litespeed-cache'); ?>
|
100 |
</div>
|
94 |
<th><?php echo __('Custom Sitemap', 'litespeed-cache'); ?></th>
|
95 |
<td>
|
96 |
<?php $id = LiteSpeed_Cache_Config::CRWL_CUSTOM_SITEMAP ; ?>
|
97 |
+
<?php $this->build_input($id, false, null, 'litespeed_custom_sitemap'); ?>
|
98 |
<div class="litespeed-desc">
|
99 |
<?php echo __('The crawler can use your Google XML Sitemap instead of its own. Enter the full URL to your sitemap here.', 'litespeed-cache'); ?>
|
100 |
</div>
|
admin/tpl/setting/settings_debug.php
CHANGED
@@ -40,7 +40,7 @@ if ( ! defined( 'WPINC' ) ) die ;
|
|
40 |
<tr>
|
41 |
<th><?php echo __( 'Admin IPs', 'litespeed-cache' ) ; ?></th>
|
42 |
<td>
|
43 |
-
<?php $this->build_textarea( LiteSpeed_Cache_Config::OPID_ADMIN_IPS,
|
44 |
<div class="litespeed-desc">
|
45 |
<?php echo __( 'Allows listed IPs (one per line) to perform certain actions from their browsers.', 'litespeed-cache' ) ; ?><br />
|
46 |
<?php echo sprintf( __( 'More information about the available commands can be found <a %s>here</a>.', 'litespeed-cache' ),
|
@@ -126,7 +126,7 @@ if ( ! defined( 'WPINC' ) ) die ;
|
|
126 |
<tr>
|
127 |
<th><?php echo __( 'Exclude Filters', 'litespeed-cache' ) ; ?></th>
|
128 |
<td>
|
129 |
-
<?php $this->build_textarea( LiteSpeed_Cache_Config::OPID_LOG_IGNORE_FILTERS,
|
130 |
<div class="litespeed-desc">
|
131 |
<?php echo __( 'Listed filters (one per line) will not be logged.', 'litespeed-cache' ) ; ?><br />
|
132 |
</div>
|
@@ -136,7 +136,7 @@ if ( ! defined( 'WPINC' ) ) die ;
|
|
136 |
<tr>
|
137 |
<th><?php echo __( 'Exclude Part Filters', 'litespeed-cache' ) ; ?></th>
|
138 |
<td>
|
139 |
-
<?php $this->build_textarea( LiteSpeed_Cache_Config::OPID_LOG_IGNORE_PART_FILTERS,
|
140 |
<div class="litespeed-desc">
|
141 |
<?php echo __( 'Filters containing these strings (one per line) will not be logged.', 'litespeed-cache' ) ; ?><br />
|
142 |
</div>
|
40 |
<tr>
|
41 |
<th><?php echo __( 'Admin IPs', 'litespeed-cache' ) ; ?></th>
|
42 |
<td>
|
43 |
+
<?php $this->build_textarea( LiteSpeed_Cache_Config::OPID_ADMIN_IPS, 30 ) ; ?>
|
44 |
<div class="litespeed-desc">
|
45 |
<?php echo __( 'Allows listed IPs (one per line) to perform certain actions from their browsers.', 'litespeed-cache' ) ; ?><br />
|
46 |
<?php echo sprintf( __( 'More information about the available commands can be found <a %s>here</a>.', 'litespeed-cache' ),
|
126 |
<tr>
|
127 |
<th><?php echo __( 'Exclude Filters', 'litespeed-cache' ) ; ?></th>
|
128 |
<td>
|
129 |
+
<?php $this->build_textarea( LiteSpeed_Cache_Config::OPID_LOG_IGNORE_FILTERS, 30 ) ; ?>
|
130 |
<div class="litespeed-desc">
|
131 |
<?php echo __( 'Listed filters (one per line) will not be logged.', 'litespeed-cache' ) ; ?><br />
|
132 |
</div>
|
136 |
<tr>
|
137 |
<th><?php echo __( 'Exclude Part Filters', 'litespeed-cache' ) ; ?></th>
|
138 |
<td>
|
139 |
+
<?php $this->build_textarea( LiteSpeed_Cache_Config::OPID_LOG_IGNORE_PART_FILTERS, 30 ) ; ?>
|
140 |
<div class="litespeed-desc">
|
141 |
<?php echo __( 'Filters containing these strings (one per line) will not be logged.', 'litespeed-cache' ) ; ?><br />
|
142 |
</div>
|
admin/tpl/setting/settings_excludes.php
CHANGED
@@ -47,7 +47,7 @@ if ( ! defined( 'WPINC' ) ) die ;
|
|
47 |
$id_list = explode(',', $cat_ids);
|
48 |
$excludes_buf = implode("\n", array_map('get_cat_name', $id_list));
|
49 |
}
|
50 |
-
$this->build_textarea($id, $excludes_buf);
|
51 |
?>
|
52 |
<div class="litespeed-desc">
|
53 |
<b><?php echo __('All categories are cached by default.', 'litespeed-cache'); ?></b>
|
@@ -85,7 +85,7 @@ if ( ! defined( 'WPINC' ) ) die ;
|
|
85 |
$excludes_buf = implode("\n", $tag_names);
|
86 |
}
|
87 |
}
|
88 |
-
$this->build_textarea($id, $excludes_buf);
|
89 |
?>
|
90 |
<div class="litespeed-desc">
|
91 |
<b><?php echo __('All tags are cached by default.', 'litespeed-cache'); ?></b>
|
47 |
$id_list = explode(',', $cat_ids);
|
48 |
$excludes_buf = implode("\n", array_map('get_cat_name', $id_list));
|
49 |
}
|
50 |
+
$this->build_textarea($id, false, $excludes_buf);
|
51 |
?>
|
52 |
<div class="litespeed-desc">
|
53 |
<b><?php echo __('All categories are cached by default.', 'litespeed-cache'); ?></b>
|
85 |
$excludes_buf = implode("\n", $tag_names);
|
86 |
}
|
87 |
}
|
88 |
+
$this->build_textarea($id, false, $excludes_buf);
|
89 |
?>
|
90 |
<div class="litespeed-desc">
|
91 |
<b><?php echo __('All tags are cached by default.', 'litespeed-cache'); ?></b>
|
admin/tpl/setting/settings_inc.cache_favicon.php
CHANGED
@@ -1,12 +1,11 @@
|
|
1 |
<?php
|
2 |
if (!defined('WPINC')) die;
|
3 |
|
4 |
-
$file_writable = LiteSpeed_Cache_Admin_Rules::writable();
|
5 |
?>
|
6 |
<tr>
|
7 |
<th><?php echo __('Cache favicon.ico', 'litespeed-cache'); ?></th>
|
8 |
<td>
|
9 |
-
<?php $this->build_switch(LiteSpeed_Cache_Config::OPID_CACHE_FAVICON)
|
10 |
<div class="litespeed-desc">
|
11 |
<?php echo __('favicon.ico is requested on most pages.', 'litespeed-cache'); ?>
|
12 |
<?php echo __('Caching this resource may improve server performance by avoiding unnecessary PHP calls.', 'litespeed-cache'); ?>
|
1 |
<?php
|
2 |
if (!defined('WPINC')) die;
|
3 |
|
|
|
4 |
?>
|
5 |
<tr>
|
6 |
<th><?php echo __('Cache favicon.ico', 'litespeed-cache'); ?></th>
|
7 |
<td>
|
8 |
+
<?php $this->build_switch(LiteSpeed_Cache_Config::OPID_CACHE_FAVICON); ?>
|
9 |
<div class="litespeed-desc">
|
10 |
<?php echo __('favicon.ico is requested on most pages.', 'litespeed-cache'); ?>
|
11 |
<?php echo __('Caching this resource may improve server performance by avoiding unnecessary PHP calls.', 'litespeed-cache'); ?>
|
admin/tpl/setting/settings_inc.cache_mobile.php
CHANGED
@@ -8,8 +8,7 @@ if (!defined('WPINC')) die;
|
|
8 |
<th><?php echo __('Cache Mobile', 'litespeed-cache'); ?></th>
|
9 |
<td>
|
10 |
<?php
|
11 |
-
$
|
12 |
-
$this->build_switch(LiteSpeed_Cache_Config::OPID_CACHE_MOBILE); //, !$file_writable
|
13 |
?>
|
14 |
<div class="litespeed-desc">
|
15 |
<?php echo __('When enabled, mobile views will be cached separately.', 'litespeed-cache'); ?>
|
@@ -48,7 +47,7 @@ if (!defined('WPINC')) die;
|
|
48 |
}
|
49 |
}
|
50 |
|
51 |
-
$this->build_input( $id, 'litespeed-input-long',
|
52 |
?>
|
53 |
|
54 |
<input type="hidden" name="<?php echo LiteSpeed_Cache_Config::OPTION_NAME; ?>[<?php echo $id; ?>__default]"
|
8 |
<th><?php echo __('Cache Mobile', 'litespeed-cache'); ?></th>
|
9 |
<td>
|
10 |
<?php
|
11 |
+
$this->build_switch(LiteSpeed_Cache_Config::OPID_CACHE_MOBILE);
|
|
|
12 |
?>
|
13 |
<div class="litespeed-desc">
|
14 |
<?php echo __('When enabled, mobile views will be cached separately.', 'litespeed-cache'); ?>
|
47 |
}
|
48 |
}
|
49 |
|
50 |
+
$this->build_input( $id, 'litespeed-input-long', null, 'litespeed-mobileview-rules', '', 'text', ! $_options[ LiteSpeed_Cache_Config::OPID_CACHE_MOBILE ] ) ;
|
51 |
?>
|
52 |
|
53 |
<input type="hidden" name="<?php echo LiteSpeed_Cache_Config::OPTION_NAME; ?>[<?php echo $id; ?>__default]"
|
admin/tpl/setting/settings_inc.cache_resources.php
CHANGED
@@ -1,13 +1,12 @@
|
|
1 |
<?php
|
2 |
if (!defined('WPINC')) die;
|
3 |
|
4 |
-
$file_writable = LiteSpeed_Cache_Admin_Rules::writable();
|
5 |
?>
|
6 |
<!-- build_setting_cache_resources -->
|
7 |
<tr>
|
8 |
<th><?php echo __('Cache PHP Resources', 'litespeed-cache'); ?></th>
|
9 |
<td>
|
10 |
-
<?php $this->build_switch(LiteSpeed_Cache_Config::OPID_CACHE_RES)
|
11 |
<div class="litespeed-desc">
|
12 |
<?php echo __('Some themes and plugins add resources via a PHP request.', 'litespeed-cache'); ?>
|
13 |
<?php echo __('Caching these pages may improve server performance by avoiding unnecessary PHP calls.', 'litespeed-cache'); ?>
|
1 |
<?php
|
2 |
if (!defined('WPINC')) die;
|
3 |
|
|
|
4 |
?>
|
5 |
<!-- build_setting_cache_resources -->
|
6 |
<tr>
|
7 |
<th><?php echo __('Cache PHP Resources', 'litespeed-cache'); ?></th>
|
8 |
<td>
|
9 |
+
<?php $this->build_switch(LiteSpeed_Cache_Config::OPID_CACHE_RES); ?>
|
10 |
<div class="litespeed-desc">
|
11 |
<?php echo __('Some themes and plugins add resources via a PHP request.', 'litespeed-cache'); ?>
|
12 |
<?php echo __('Caching these pages may improve server performance by avoiding unnecessary PHP calls.', 'litespeed-cache'); ?>
|
admin/tpl/setting/settings_inc.exclude_cookies.php
CHANGED
@@ -10,7 +10,7 @@ if ( ! defined( 'WPINC' ) ) die ;
|
|
10 |
|
11 |
$file_writable = LiteSpeed_Cache_Admin_Rules::writable();
|
12 |
|
13 |
-
$this->build_textarea($id, str_replace('|', "\n", $_options[$id]));//, !$file_writable
|
14 |
?>
|
15 |
<div class="litespeed-desc">
|
16 |
<?php echo sprintf( __( 'To prevent %s from being cached, enter it here.', 'litespeed-cache' ), __( 'cookies', 'litespeed-cache') ) ; ?>
|
10 |
|
11 |
$file_writable = LiteSpeed_Cache_Admin_Rules::writable();
|
12 |
|
13 |
+
$this->build_textarea($id, false, str_replace('|', "\n", $_options[$id]));//, !$file_writable
|
14 |
?>
|
15 |
<div class="litespeed-desc">
|
16 |
<?php echo sprintf( __( 'To prevent %s from being cached, enter it here.', 'litespeed-cache' ), __( 'cookies', 'litespeed-cache') ) ; ?>
|
admin/tpl/setting/settings_inc.media_webp.php
CHANGED
File without changes
|
admin/tpl/setting/settings_media.php
CHANGED
@@ -13,6 +13,10 @@ if ( ! defined( 'WPINC' ) ) die ;
|
|
13 |
<div class="litespeed-desc">
|
14 |
<?php echo __( 'Load images only when they enter the viewport.', 'litespeed-cache' ) ; ?>
|
15 |
<?php echo __( 'This can improve page loading time by reducing initial HTTP requests.', 'litespeed-cache' ) ; ?>
|
|
|
|
|
|
|
|
|
16 |
</div>
|
17 |
</td>
|
18 |
</tr>
|
13 |
<div class="litespeed-desc">
|
14 |
<?php echo __( 'Load images only when they enter the viewport.', 'litespeed-cache' ) ; ?>
|
15 |
<?php echo __( 'This can improve page loading time by reducing initial HTTP requests.', 'litespeed-cache' ) ; ?>
|
16 |
+
<br /><font class="litespeed-success">
|
17 |
+
<?php echo __('Tip', 'litespeed-cache'); ?>:
|
18 |
+
<a href="https://www.litespeedtech.com/support/wiki/doku.php/litespeed_wiki:cache:lscwp:configuration:media:lazy-load-style" target="_blank"><?php echo __('Adding Style to Your Lazy-Loaded Images', 'litespeed-cache') ; ?></a>
|
19 |
+
</font>
|
20 |
</div>
|
21 |
</td>
|
22 |
</tr>
|
admin/tpl/setting/settings_optimize.php
CHANGED
@@ -141,4 +141,28 @@ if ( ! defined( 'WPINC' ) ) die ;
|
|
141 |
</td>
|
142 |
</tr>
|
143 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
144 |
</tbody></table>
|
141 |
</td>
|
142 |
</tr>
|
143 |
|
144 |
+
<tr>
|
145 |
+
<th><?php echo __( 'DNS Prefetch', 'litespeed-cache' ) ; ?></th>
|
146 |
+
<td>
|
147 |
+
<?php $this->build_textarea2( LiteSpeed_Cache_Config::ITEM_DNS_PREFETCH ) ; ?>
|
148 |
+
<div class="litespeed-desc">
|
149 |
+
<?php echo __( 'Prefetching DNS can reduce latency for visiters.', 'litespeed-cache' ) ; ?>
|
150 |
+
<?php echo __( 'For example', 'litespeed-cache' ) ; ?>: <code>//www.example.com</code>
|
151 |
+
<a href="https://www.litespeedtech.com/support/wiki/doku.php/litespeed_wiki:cache:lscwp:configuration:optimize#dns_prefetch" target="_blank"><?php echo __( 'Learn More', 'litespeed-cache' ) ; ?></a>
|
152 |
+
<?php echo __( 'One per line.', 'litespeed-cache' ) ; ?>
|
153 |
+
</div>
|
154 |
+
</td>
|
155 |
+
</tr>
|
156 |
+
|
157 |
+
<tr>
|
158 |
+
<th><?php echo __( 'Remove Comments', 'litespeed-cache' ) ; ?></th>
|
159 |
+
<td>
|
160 |
+
<?php $this->build_switch( LiteSpeed_Cache_Config::OPID_OPTM_RM_COMMENT ) ; ?>
|
161 |
+
<div class="litespeed-desc">
|
162 |
+
<?php echo __( 'Remove the comments inside of JS/CSS files when minifying.', 'litespeed-cache' ) ; ?>
|
163 |
+
<?php echo __( 'This can improve your speed score in services like Pingdom, GTmetrix and PageSpeed.', 'litespeed-cache' ) ; ?>
|
164 |
+
</div>
|
165 |
+
</td>
|
166 |
+
</tr>
|
167 |
+
|
168 |
</tbody></table>
|
admin/tpl/setting/settings_purge.php
CHANGED
@@ -72,7 +72,7 @@ $breakArr = array(
|
|
72 |
<tr>
|
73 |
<th><?php echo __( 'Scheduled Purge URLs', 'litespeed-cache' ) ; ?></th>
|
74 |
<td>
|
75 |
-
<?php $this->build_textarea( LiteSpeed_Cache_Config::OPID_TIMED_URLS,
|
76 |
<div class="litespeed-desc">
|
77 |
<?php echo sprintf( __( 'The URLs here (one per line) will be purged automatically at the time set in the option "%s".', 'litespeed-cache' ), __( 'Scheduled Purge Time', 'litespeed-cache' ) ) ; ?><br />
|
78 |
<?php echo sprintf( __( 'Both %1$s and %2$s are acceptable.', 'litespeed-cache' ), '<code>http://www.example.com/path/url.php</code>', '<code>/path/url.php</code>' ) ; ?>
|
@@ -85,7 +85,7 @@ $breakArr = array(
|
|
85 |
<th><?php echo __( 'Scheduled Purge Time', 'litespeed-cache' ) ; ?></th>
|
86 |
<td>
|
87 |
<?php $id = LiteSpeed_Cache_Config::OPID_TIMED_URLS_TIME ; ?>
|
88 |
-
<?php $this->build_input( $id,
|
89 |
<div class="litespeed-desc">
|
90 |
<?php echo sprintf( __( 'Specify the time to purge the "%s" list.', 'litespeed-cache' ), __( 'Scheduled Purge URLs', 'litespeed-cache' ) ) ; ?>
|
91 |
<?php echo sprintf( __( 'Current server time is %s.', 'litespeed-cache' ), '<code>' . date( 'H:i:s' ) . '</code>' ) ; ?>
|
72 |
<tr>
|
73 |
<th><?php echo __( 'Scheduled Purge URLs', 'litespeed-cache' ) ; ?></th>
|
74 |
<td>
|
75 |
+
<?php $this->build_textarea( LiteSpeed_Cache_Config::OPID_TIMED_URLS, 80 ) ; ?>
|
76 |
<div class="litespeed-desc">
|
77 |
<?php echo sprintf( __( 'The URLs here (one per line) will be purged automatically at the time set in the option "%s".', 'litespeed-cache' ), __( 'Scheduled Purge Time', 'litespeed-cache' ) ) ; ?><br />
|
78 |
<?php echo sprintf( __( 'Both %1$s and %2$s are acceptable.', 'litespeed-cache' ), '<code>http://www.example.com/path/url.php</code>', '<code>/path/url.php</code>' ) ; ?>
|
85 |
<th><?php echo __( 'Scheduled Purge Time', 'litespeed-cache' ) ; ?></th>
|
86 |
<td>
|
87 |
<?php $id = LiteSpeed_Cache_Config::OPID_TIMED_URLS_TIME ; ?>
|
88 |
+
<?php $this->build_input( $id, false, null, null, '', 'time' ) ; ?>
|
89 |
<div class="litespeed-desc">
|
90 |
<?php echo sprintf( __( 'Specify the time to purge the "%s" list.', 'litespeed-cache' ), __( 'Scheduled Purge URLs', 'litespeed-cache' ) ) ; ?>
|
91 |
<?php echo sprintf( __( 'Current server time is %s.', 'litespeed-cache' ), '<code>' . date( 'H:i:s' ) . '</code>' ) ; ?>
|
admin/tpl/setting/settings_tuning.php
CHANGED
@@ -79,6 +79,19 @@ if ( ! defined( 'WPINC' ) ) die ;
|
|
79 |
</td>
|
80 |
</tr>
|
81 |
|
|
|
|
|
|
|
|
|
|
|
|
|