Version Description
- Nov 23 2021 =
- Page Optimize Delay deletion of outdated CSS/JS files for a default of 20 days to avoid 404 errors with cached search engine copies.
- Cache When caching, no longer send a purge request for CSS/JS removal to avoid cache engine conflicts.
- Core Optimized SQL queries while autoloading if expected options are missing; reduced by 7 and 3 queries on backend and frontend respectively. (#396425 Jackson)
- Page Optm Fixed a 404 issue that occured when upgrading the plugin manually, with a package upload or through the plugin manager. (Tobolo/Magorzata/Abe)
-
API Added
litespeed_ccss_url
andlitespeed_ucss_url
API to manipulate the request URL for CCSS and UCSS. - REST Fixed a potential warning when detecting cacheable status on REST call. (rafaucau)
-
OLS Fixed an issue where the
COOKIEHASH
constant was undefined when used with OpenLiteSpeed as an MU plugin or with network activation. - 3rd Sanitized POST data for nextgengallery.
- Cloud Sanitized GET data when linking to QUIC.cloud. (#591762 WPScan)
Download this release
Release Info
Developer | LiteSpeedTech |
Plugin | LiteSpeed Cache |
Version | 4.4.4 |
Comparing to | |
See all releases |
Code changes from version 4.4.3 to 4.4.4
- lang/litespeed-cache.pot +92 -88
- litespeed-cache.php +2 -2
- readme.txt +13 -2
- src/admin-display.cls.php +16 -10
- src/cloud.cls.php +1 -1
- src/conf.cls.php +8 -5
- src/core.cls.php +10 -4
- src/crawler.cls.php +1 -1
- src/css.cls.php +2 -2
- src/data.cls.php +51 -23
- src/data.upgrade.func.php +18 -0
- src/data_structure/url_file.sql +6 -3
- src/gui.cls.php +13 -4
- src/htaccess.cls.php +3 -1
- src/optimize.cls.php +3 -0
- src/purge.cls.php +4 -0
- src/report.cls.php +2 -2
- src/router.cls.php +16 -11
- thirdparty/nextgengallery.cls.php +6 -6
- tpl/crawler/summary.tpl.php +1 -1
- tpl/dash/dashboard.tpl.php +7 -7
- tpl/dash/network_dash.tpl.php +5 -5
- tpl/img_optm/summary.tpl.php +2 -2
- tpl/inc/check_cache_disabled.php +1 -1
- tpl/page_optm/settings_css.tpl.php +2 -2
lang/litespeed-cache.pot
CHANGED
@@ -2,9 +2,9 @@
|
|
2 |
# This file is distributed under the same license as the LiteSpeed Cache package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
-
"Project-Id-Version: LiteSpeed Cache 4.4.
|
6 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/litespeed-cache\n"
|
7 |
-
"POT-Creation-Date: 2021-
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
@@ -53,7 +53,7 @@ msgstr ""
|
|
53 |
msgid "CDN"
|
54 |
msgstr ""
|
55 |
|
56 |
-
#: src/admin-display.cls.php:123 src/gui.cls.php:
|
57 |
#: tpl/dash/dashboard.tpl.php:55 tpl/dash/network_dash.tpl.php:27
|
58 |
msgid "Image Optimization"
|
59 |
msgstr ""
|
@@ -102,8 +102,8 @@ msgstr ""
|
|
102 |
msgid "Add new CDN URL"
|
103 |
msgstr ""
|
104 |
|
105 |
-
#: src/admin-display.cls.php:232 src/admin-display.cls.php:
|
106 |
-
#: src/admin-display.cls.php:
|
107 |
#: tpl/cache/settings-cache.tpl.php:19
|
108 |
#: tpl/cache/settings_inc.cache_mobile.tpl.php:71 tpl/cdn/settings.tpl.php:49
|
109 |
#: tpl/page_optm/settings_css.tpl.php:173
|
@@ -113,8 +113,8 @@ msgstr ""
|
|
113 |
msgid "ON"
|
114 |
msgstr ""
|
115 |
|
116 |
-
#: src/admin-display.cls.php:233 src/admin-display.cls.php:
|
117 |
-
#: src/admin-display.cls.php:
|
118 |
#: tpl/cache/settings-cache.tpl.php:19
|
119 |
#: tpl/cache/settings_inc.object.tpl.php:210 tpl/cdn/settings.tpl.php:54
|
120 |
#: tpl/page_optm/settings_css.tpl.php:71 tpl/page_optm/settings_js.tpl.php:63
|
@@ -123,83 +123,83 @@ msgstr ""
|
|
123 |
msgid "OFF"
|
124 |
msgstr ""
|
125 |
|
126 |
-
#: src/admin-display.cls.php:281 src/gui.cls.php:
|
127 |
msgid "Settings"
|
128 |
msgstr ""
|
129 |
|
130 |
-
#: src/admin-display.cls.php:
|
131 |
msgid "Dismiss"
|
132 |
msgstr ""
|
133 |
|
134 |
-
#: src/admin-display.cls.php:
|
135 |
msgid "Save Changes"
|
136 |
msgstr ""
|
137 |
|
138 |
-
#: src/admin-display.cls.php:
|
139 |
msgid "This setting is overwritten by the PHP constant %s"
|
140 |
msgstr ""
|
141 |
|
142 |
-
#: src/admin-display.cls.php:
|
143 |
msgid "This setting is overwritten by the primary site setting"
|
144 |
msgstr ""
|
145 |
|
146 |
-
#: src/admin-display.cls.php:
|
147 |
msgid "This setting is overwritten by the Network setting"
|
148 |
msgstr ""
|
149 |
|
150 |
-
#: src/admin-display.cls.php:
|
151 |
msgid "currently set to %s"
|
152 |
msgstr ""
|
153 |
|
154 |
-
#: src/admin-display.cls.php:
|
155 |
#: tpl/crawler/settings-general.tpl.php:60
|
156 |
#: tpl/crawler/settings-general.tpl.php:74
|
157 |
#: tpl/crawler/settings-general.tpl.php:89 tpl/esi_widget_edit.php:70
|
158 |
msgid "seconds"
|
159 |
msgstr ""
|
160 |
|
161 |
-
#: src/admin-display.cls.php:
|
162 |
#: tpl/cdn/settings.tpl.php:99
|
163 |
msgid "Default value"
|
164 |
msgstr ""
|
165 |
|
166 |
-
#: src/admin-display.cls.php:
|
167 |
msgid "Invalid rewrite rule"
|
168 |
msgstr ""
|
169 |
|
170 |
-
#: src/admin-display.cls.php:
|
171 |
msgid "Path must end with %s"
|
172 |
msgstr ""
|
173 |
|
174 |
-
#: src/admin-display.cls.php:
|
175 |
msgid "Minimum value"
|
176 |
msgstr ""
|
177 |
|
178 |
-
#: src/admin-display.cls.php:
|
179 |
msgid "Maximum value"
|
180 |
msgstr ""
|
181 |
|
182 |
-
#: src/admin-display.cls.php:
|
183 |
msgid "Zero, or"
|
184 |
msgstr ""
|
185 |
|
186 |
-
#: src/admin-display.cls.php:
|
187 |
msgid "Larger than"
|
188 |
msgstr ""
|
189 |
|
190 |
-
#: src/admin-display.cls.php:
|
191 |
msgid "Smaller than"
|
192 |
msgstr ""
|
193 |
|
194 |
-
#: src/admin-display.cls.php:
|
195 |
msgid "Value range"
|
196 |
msgstr ""
|
197 |
|
198 |
-
#: src/admin-display.cls.php:
|
199 |
msgid "Invalid IP"
|
200 |
msgstr ""
|
201 |
|
202 |
-
#: src/admin-display.cls.php:
|
203 |
#: tpl/page_optm/settings_css.tpl.php:175
|
204 |
#: tpl/page_optm/settings_html.tpl.php:85
|
205 |
#: tpl/page_optm/settings_media_exc.tpl.php:26
|
@@ -212,43 +212,43 @@ msgstr ""
|
|
212 |
msgid "API"
|
213 |
msgstr ""
|
214 |
|
215 |
-
#: src/admin-display.cls.php:
|
216 |
msgid "Server variable(s) %s available to override this setting."
|
217 |
msgstr ""
|
218 |
|
219 |
-
#: src/admin-display.cls.php:
|
220 |
msgid "The URLs will be compared to the REQUEST_URI server variable."
|
221 |
msgstr ""
|
222 |
|
223 |
-
#: src/admin-display.cls.php:
|
224 |
msgid "For example, for %s, %s can be used here."
|
225 |
msgstr ""
|
226 |
|
227 |
-
#: src/admin-display.cls.php:
|
228 |
msgid "To match the beginning, add %s to the beginning of the item."
|
229 |
msgstr ""
|
230 |
|
231 |
-
#: src/admin-display.cls.php:
|
232 |
msgid "To do an exact match, add %s to the end of the URL."
|
233 |
msgstr ""
|
234 |
|
235 |
-
#: src/admin-display.cls.php:
|
236 |
msgid "One per line."
|
237 |
msgstr ""
|
238 |
|
239 |
-
#: src/admin-display.cls.php:
|
240 |
msgid "%s groups"
|
241 |
msgstr ""
|
242 |
|
243 |
-
#: src/admin-display.cls.php:
|
244 |
msgid "%s images"
|
245 |
msgstr ""
|
246 |
|
247 |
-
#: src/admin-display.cls.php:
|
248 |
msgid "%s group"
|
249 |
msgstr ""
|
250 |
|
251 |
-
#: src/admin-display.cls.php:
|
252 |
msgid "%s image"
|
253 |
msgstr ""
|
254 |
|
@@ -357,15 +357,15 @@ msgstr ""
|
|
357 |
msgid "Sync credit allowance with Cloud Server successfully."
|
358 |
msgstr ""
|
359 |
|
360 |
-
#: src/conf.cls.php:
|
361 |
msgid "Changed setting successfully."
|
362 |
msgstr ""
|
363 |
|
364 |
-
#: src/core.cls.php:
|
365 |
msgid "Notified LiteSpeed Web Server to purge everything."
|
366 |
msgstr ""
|
367 |
|
368 |
-
#: src/core.cls.php:
|
369 |
msgid "Notified LiteSpeed Web Server to purge the list."
|
370 |
msgstr ""
|
371 |
|
@@ -409,13 +409,13 @@ msgstr ""
|
|
409 |
msgid "Cancel"
|
410 |
msgstr ""
|
411 |
|
412 |
-
#: src/data.cls.php:
|
413 |
msgid ""
|
414 |
"The database has been upgrading in the background since %s. This message "
|
415 |
"will disappear once upgrade is complete."
|
416 |
msgstr ""
|
417 |
|
418 |
-
#: src/data.upgrade.func.php:
|
419 |
msgid ""
|
420 |
"LiteSpeed Cache upgraded successfully. NOTE: Due to changes in this version, "
|
421 |
"the settings %1$s and %2$s have been turned OFF. Please turn them back on "
|
@@ -423,15 +423,15 @@ msgid ""
|
|
423 |
"errors."
|
424 |
msgstr ""
|
425 |
|
426 |
-
#: src/data.upgrade.func.php:
|
427 |
msgid "JS Combine"
|
428 |
msgstr ""
|
429 |
|
430 |
-
#: src/data.upgrade.func.php:
|
431 |
msgid "JS Defer"
|
432 |
msgstr ""
|
433 |
|
434 |
-
#: src/data.upgrade.func.php:
|
435 |
msgid "Click here to settings"
|
436 |
msgstr ""
|
437 |
|
@@ -703,41 +703,41 @@ msgstr ""
|
|
703 |
msgid "Private Cache Hits"
|
704 |
msgstr ""
|
705 |
|
706 |
-
#: src/gui.cls.php:
|
707 |
msgid "Purge this page"
|
708 |
msgstr ""
|
709 |
|
710 |
-
#: src/gui.cls.php:
|
711 |
msgid "Mark this page as "
|
712 |
msgstr ""
|
713 |
|
714 |
-
#: src/gui.cls.php:
|
715 |
msgid "Forced cacheable"
|
716 |
msgstr ""
|
717 |
|
718 |
-
#: src/gui.cls.php:
|
719 |
msgid "Non cacheable"
|
720 |
msgstr ""
|
721 |
|
722 |
-
#: src/gui.cls.php:
|
723 |
msgid "Private cache"
|
724 |
msgstr ""
|
725 |
|
726 |
-
#: src/gui.cls.php:
|
727 |
msgid "No optimization"
|
728 |
msgstr ""
|
729 |
|
730 |
-
#: src/gui.cls.php:
|
731 |
msgid "More settings"
|
732 |
msgstr ""
|
733 |
|
734 |
-
#: src/gui.cls.php:
|
735 |
-
#: src/gui.cls.php:
|
736 |
-
#: src/gui.cls.php:
|
737 |
-
#: src/gui.cls.php:
|
738 |
-
#: src/gui.cls.php:
|
739 |
-
#: src/gui.cls.php:
|
740 |
-
#: src/gui.cls.php:
|
741 |
#: tpl/toolbox/purge.tpl.php:37 tpl/toolbox/purge.tpl.php:43
|
742 |
#: tpl/toolbox/purge.tpl.php:52 tpl/toolbox/purge.tpl.php:61
|
743 |
#: tpl/toolbox/purge.tpl.php:70 tpl/toolbox/purge.tpl.php:79
|
@@ -746,73 +746,73 @@ msgstr ""
|
|
746 |
msgid "Purge All"
|
747 |
msgstr ""
|
748 |
|
749 |
-
#: src/gui.cls.php:
|
750 |
msgid "LSCache"
|
751 |
msgstr ""
|
752 |
|
753 |
-
#: src/gui.cls.php:
|
754 |
msgid "CSS/JS Cache"
|
755 |
msgstr ""
|
756 |
|
757 |
-
#: src/gui.cls.php:
|
758 |
#: tpl/dash/dashboard.tpl.php:396 tpl/toolbox/purge.tpl.php:52
|
759 |
msgid "Object Cache"
|
760 |
msgstr ""
|
761 |
|
762 |
-
#: src/gui.cls.php:
|
763 |
msgid "Opcode Cache"
|
764 |
msgstr ""
|
765 |
|
766 |
-
#: src/gui.cls.php:
|
767 |
#: tpl/page_optm/settings_media.tpl.php:125 tpl/toolbox/purge.tpl.php:88
|
768 |
msgid "LQIP Cache"
|
769 |
msgstr ""
|
770 |
|
771 |
-
#: src/gui.cls.php:
|
772 |
#: tpl/toolbox/purge.tpl.php:97
|
773 |
msgid "Gravatar Cache"
|
774 |
msgstr ""
|
775 |
|
776 |
-
#: src/gui.cls.php:
|
777 |
msgid "LiteSpeed Cache Purge All"
|
778 |
msgstr ""
|
779 |
|
780 |
-
#: src/gui.cls.php:
|
781 |
#: tpl/db_optm/entry.tpl.php:6
|
782 |
msgid "Manage"
|
783 |
msgstr ""
|
784 |
|
785 |
-
#: src/gui.cls.php:
|
786 |
msgid "Cloudflare"
|
787 |
msgstr ""
|
788 |
|
789 |
-
#: src/gui.cls.php:
|
790 |
msgid "Remove all previous unfinished image optimization requests."
|
791 |
msgstr ""
|
792 |
|
793 |
-
#: src/gui.cls.php:
|
794 |
msgid "Clean Up Unfinished Data"
|
795 |
msgstr ""
|
796 |
|
797 |
-
#: src/gui.cls.php:
|
798 |
msgid "Install %s"
|
799 |
msgstr ""
|
800 |
|
801 |
-
#: src/gui.cls.php:
|
802 |
msgid "Install Now"
|
803 |
msgstr ""
|
804 |
|
805 |
-
#: src/gui.cls.php:
|
806 |
msgid ""
|
807 |
"<a href=\"%1$s\" %2$s>View version %3$s details</a> or <a href=\"%4$s\" %5$s "
|
808 |
"target=\"_blank\">update now</a>."
|
809 |
msgstr ""
|
810 |
|
811 |
-
#: src/gui.cls.php:
|
812 |
msgid "View %1$s version %2$s details"
|
813 |
msgstr ""
|
814 |
|
815 |
-
#: src/gui.cls.php:
|
816 |
msgid "Update %s now"
|
817 |
msgstr ""
|
818 |
|
@@ -820,7 +820,7 @@ msgstr ""
|
|
820 |
msgid "Mobile Agent Rules"
|
821 |
msgstr ""
|
822 |
|
823 |
-
#: src/htaccess.cls.php:
|
824 |
msgid ""
|
825 |
"<p>Please add/replace the following codes into the beginning of %1$s:</p> "
|
826 |
"%2$s"
|
@@ -1772,47 +1772,47 @@ msgstr ""
|
|
1772 |
msgid "Cleaned all Gravatar files."
|
1773 |
msgstr ""
|
1774 |
|
1775 |
-
#: src/purge.cls.php:
|
1776 |
msgid "Notified LiteSpeed Web Server to purge CSS/JS entries."
|
1777 |
msgstr ""
|
1778 |
|
1779 |
-
#: src/purge.cls.php:
|
1780 |
msgid "Opcode cache is not enabled."
|
1781 |
msgstr ""
|
1782 |
|
1783 |
-
#: src/purge.cls.php:
|
1784 |
msgid "Reset the entire opcode cache successfully."
|
1785 |
msgstr ""
|
1786 |
|
1787 |
-
#: src/purge.cls.php:
|
1788 |
msgid "Object cache is not enabled."
|
1789 |
msgstr ""
|
1790 |
|
1791 |
-
#: src/purge.cls.php:
|
1792 |
msgid "Purge all object caches successfully."
|
1793 |
msgstr ""
|
1794 |
|
1795 |
-
#: src/purge.cls.php:
|
1796 |
msgid "Notified LiteSpeed Web Server to purge the front page."
|
1797 |
msgstr ""
|
1798 |
|
1799 |
-
#: src/purge.cls.php:
|
1800 |
msgid "Notified LiteSpeed Web Server to purge all pages."
|
1801 |
msgstr ""
|
1802 |
|
1803 |
-
#: src/purge.cls.php:
|
1804 |
msgid "Notified LiteSpeed Web Server to purge error pages."
|
1805 |
msgstr ""
|
1806 |
|
1807 |
-
#: src/purge.cls.php:
|
1808 |
msgid "Purge category %s"
|
1809 |
msgstr ""
|
1810 |
|
1811 |
-
#: src/purge.cls.php:
|
1812 |
msgid "Purge tag %s"
|
1813 |
msgstr ""
|
1814 |
|
1815 |
-
#: src/purge.cls.php:
|
1816 |
msgid "Purge url %s"
|
1817 |
msgstr ""
|
1818 |
|
@@ -1960,7 +1960,7 @@ msgstr ""
|
|
1960 |
msgid "Dismiss this notice"
|
1961 |
msgstr ""
|
1962 |
|
1963 |
-
#. #-#-#-#-# litespeed-cache.pot (LiteSpeed Cache 4.4.
|
1964 |
#. Plugin Name of the plugin/theme
|
1965 |
#: tpl/banner/new_version.php:59 tpl/banner/new_version_dev.tpl.php:12
|
1966 |
#: tpl/cache/more_settings_tip.tpl.php:15 tpl/inc/admin_footer.php:8
|
@@ -3270,7 +3270,7 @@ msgstr ""
|
|
3270 |
msgid "Ended reason"
|
3271 |
msgstr ""
|
3272 |
|
3273 |
-
#: tpl/crawler/summary.tpl.php:106
|
3274 |
msgid "<b>Last crawled:</b> %s item(s)"
|
3275 |
msgstr ""
|
3276 |
|
@@ -3515,6 +3515,10 @@ msgstr ""
|
|
3515 |
msgid "Currently active crawler"
|
3516 |
msgstr ""
|
3517 |
|
|
|
|
|
|
|
|
|
3518 |
#: tpl/dash/entry.tpl.php:11
|
3519 |
msgid "Network Dashboard"
|
3520 |
msgstr ""
|
2 |
# This file is distributed under the same license as the LiteSpeed Cache package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
+
"Project-Id-Version: LiteSpeed Cache 4.4.4\n"
|
6 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/litespeed-cache\n"
|
7 |
+
"POT-Creation-Date: 2021-11-19 21:27:41+00:00\n"
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
53 |
msgid "CDN"
|
54 |
msgstr ""
|
55 |
|
56 |
+
#: src/admin-display.cls.php:123 src/gui.cls.php:602
|
57 |
#: tpl/dash/dashboard.tpl.php:55 tpl/dash/network_dash.tpl.php:27
|
58 |
msgid "Image Optimization"
|
59 |
msgstr ""
|
102 |
msgid "Add new CDN URL"
|
103 |
msgstr ""
|
104 |
|
105 |
+
#: src/admin-display.cls.php:232 src/admin-display.cls.php:832
|
106 |
+
#: src/admin-display.cls.php:861 src/admin-display.cls.php:912
|
107 |
#: tpl/cache/settings-cache.tpl.php:19
|
108 |
#: tpl/cache/settings_inc.cache_mobile.tpl.php:71 tpl/cdn/settings.tpl.php:49
|
109 |
#: tpl/page_optm/settings_css.tpl.php:173
|
113 |
msgid "ON"
|
114 |
msgstr ""
|
115 |
|
116 |
+
#: src/admin-display.cls.php:233 src/admin-display.cls.php:833
|
117 |
+
#: src/admin-display.cls.php:860 src/admin-display.cls.php:912
|
118 |
#: tpl/cache/settings-cache.tpl.php:19
|
119 |
#: tpl/cache/settings_inc.object.tpl.php:210 tpl/cdn/settings.tpl.php:54
|
120 |
#: tpl/page_optm/settings_css.tpl.php:71 tpl/page_optm/settings_js.tpl.php:63
|
123 |
msgid "OFF"
|
124 |
msgstr ""
|
125 |
|
126 |
+
#: src/admin-display.cls.php:281 src/gui.cls.php:593
|
127 |
msgid "Settings"
|
128 |
msgstr ""
|
129 |
|
130 |
+
#: src/admin-display.cls.php:455
|
131 |
msgid "Dismiss"
|
132 |
msgstr ""
|
133 |
|
134 |
+
#: src/admin-display.cls.php:701 src/admin-display.cls.php:706
|
135 |
msgid "Save Changes"
|
136 |
msgstr ""
|
137 |
|
138 |
+
#: src/admin-display.cls.php:924
|
139 |
msgid "This setting is overwritten by the PHP constant %s"
|
140 |
msgstr ""
|
141 |
|
142 |
+
#: src/admin-display.cls.php:927
|
143 |
msgid "This setting is overwritten by the primary site setting"
|
144 |
msgstr ""
|
145 |
|
146 |
+
#: src/admin-display.cls.php:930
|
147 |
msgid "This setting is overwritten by the Network setting"
|
148 |
msgstr ""
|
149 |
|
150 |
+
#: src/admin-display.cls.php:934
|
151 |
msgid "currently set to %s"
|
152 |
msgstr ""
|
153 |
|
154 |
+
#: src/admin-display.cls.php:944 tpl/cache/settings_inc.object.tpl.php:103
|
155 |
#: tpl/crawler/settings-general.tpl.php:60
|
156 |
#: tpl/crawler/settings-general.tpl.php:74
|
157 |
#: tpl/crawler/settings-general.tpl.php:89 tpl/esi_widget_edit.php:70
|
158 |
msgid "seconds"
|
159 |
msgstr ""
|
160 |
|
161 |
+
#: src/admin-display.cls.php:975 src/admin-display.cls.php:980
|
162 |
#: tpl/cdn/settings.tpl.php:99
|
163 |
msgid "Default value"
|
164 |
msgstr ""
|
165 |
|
166 |
+
#: src/admin-display.cls.php:1004
|
167 |
msgid "Invalid rewrite rule"
|
168 |
msgstr ""
|
169 |
|
170 |
+
#: src/admin-display.cls.php:1021
|
171 |
msgid "Path must end with %s"
|
172 |
msgstr ""
|
173 |
|
174 |
+
#: src/admin-display.cls.php:1039
|
175 |
msgid "Minimum value"
|
176 |
msgstr ""
|
177 |
|
178 |
+
#: src/admin-display.cls.php:1042
|
179 |
msgid "Maximum value"
|
180 |
msgstr ""
|
181 |
|
182 |
+
#: src/admin-display.cls.php:1054
|
183 |
msgid "Zero, or"
|
184 |
msgstr ""
|
185 |
|
186 |
+
#: src/admin-display.cls.php:1061
|
187 |
msgid "Larger than"
|
188 |
msgstr ""
|
189 |
|
190 |
+
#: src/admin-display.cls.php:1064
|
191 |
msgid "Smaller than"
|
192 |
msgstr ""
|
193 |
|
194 |
+
#: src/admin-display.cls.php:1067
|
195 |
msgid "Value range"
|
196 |
msgstr ""
|
197 |
|
198 |
+
#: src/admin-display.cls.php:1092
|
199 |
msgid "Invalid IP"
|
200 |
msgstr ""
|
201 |
|
202 |
+
#: src/admin-display.cls.php:1112 tpl/cache/settings-esi.tpl.php:95
|
203 |
#: tpl/page_optm/settings_css.tpl.php:175
|
204 |
#: tpl/page_optm/settings_html.tpl.php:85
|
205 |
#: tpl/page_optm/settings_media_exc.tpl.php:26
|
212 |
msgid "API"
|
213 |
msgstr ""
|
214 |
|
215 |
+
#: src/admin-display.cls.php:1113
|
216 |
msgid "Server variable(s) %s available to override this setting."
|
217 |
msgstr ""
|
218 |
|
219 |
+
#: src/admin-display.cls.php:1125
|
220 |
msgid "The URLs will be compared to the REQUEST_URI server variable."
|
221 |
msgstr ""
|
222 |
|
223 |
+
#: src/admin-display.cls.php:1126
|
224 |
msgid "For example, for %s, %s can be used here."
|
225 |
msgstr ""
|
226 |
|
227 |
+
#: src/admin-display.cls.php:1128
|
228 |
msgid "To match the beginning, add %s to the beginning of the item."
|
229 |
msgstr ""
|
230 |
|
231 |
+
#: src/admin-display.cls.php:1129
|
232 |
msgid "To do an exact match, add %s to the end of the URL."
|
233 |
msgstr ""
|
234 |
|
235 |
+
#: src/admin-display.cls.php:1130 src/doc.cls.php:74
|
236 |
msgid "One per line."
|
237 |
msgstr ""
|
238 |
|
239 |
+
#: src/admin-display.cls.php:1144
|
240 |
msgid "%s groups"
|
241 |
msgstr ""
|
242 |
|
243 |
+
#: src/admin-display.cls.php:1147
|
244 |
msgid "%s images"
|
245 |
msgstr ""
|
246 |
|
247 |
+
#: src/admin-display.cls.php:1157
|
248 |
msgid "%s group"
|
249 |
msgstr ""
|
250 |
|
251 |
+
#: src/admin-display.cls.php:1160
|
252 |
msgid "%s image"
|
253 |
msgstr ""
|
254 |
|
357 |
msgid "Sync credit allowance with Cloud Server successfully."
|
358 |
msgstr ""
|
359 |
|
360 |
+
#: src/conf.cls.php:704
|
361 |
msgid "Changed setting successfully."
|
362 |
msgstr ""
|
363 |
|
364 |
+
#: src/core.cls.php:289
|
365 |
msgid "Notified LiteSpeed Web Server to purge everything."
|
366 |
msgstr ""
|
367 |
|
368 |
+
#: src/core.cls.php:294
|
369 |
msgid "Notified LiteSpeed Web Server to purge the list."
|
370 |
msgstr ""
|
371 |
|
409 |
msgid "Cancel"
|
410 |
msgstr ""
|
411 |
|
412 |
+
#: src/data.cls.php:219
|
413 |
msgid ""
|
414 |
"The database has been upgrading in the background since %s. This message "
|
415 |
"will disappear once upgrade is complete."
|
416 |
msgstr ""
|
417 |
|
418 |
+
#: src/data.upgrade.func.php:101
|
419 |
msgid ""
|
420 |
"LiteSpeed Cache upgraded successfully. NOTE: Due to changes in this version, "
|
421 |
"the settings %1$s and %2$s have been turned OFF. Please turn them back on "
|
423 |
"errors."
|
424 |
msgstr ""
|
425 |
|
426 |
+
#: src/data.upgrade.func.php:101 src/lang.cls.php:115
|
427 |
msgid "JS Combine"
|
428 |
msgstr ""
|
429 |
|
430 |
+
#: src/data.upgrade.func.php:101
|
431 |
msgid "JS Defer"
|
432 |
msgstr ""
|
433 |
|
434 |
+
#: src/data.upgrade.func.php:102
|
435 |
msgid "Click here to settings"
|
436 |
msgstr ""
|
437 |
|
703 |
msgid "Private Cache Hits"
|
704 |
msgstr ""
|
705 |
|
706 |
+
#: src/gui.cls.php:402
|
707 |
msgid "Purge this page"
|
708 |
msgstr ""
|
709 |
|
710 |
+
#: src/gui.cls.php:410
|
711 |
msgid "Mark this page as "
|
712 |
msgstr ""
|
713 |
|
714 |
+
#: src/gui.cls.php:422
|
715 |
msgid "Forced cacheable"
|
716 |
msgstr ""
|
717 |
|
718 |
+
#: src/gui.cls.php:433
|
719 |
msgid "Non cacheable"
|
720 |
msgstr ""
|
721 |
|
722 |
+
#: src/gui.cls.php:444
|
723 |
msgid "Private cache"
|
724 |
msgstr ""
|
725 |
|
726 |
+
#: src/gui.cls.php:455
|
727 |
msgid "No optimization"
|
728 |
msgstr ""
|
729 |
|
730 |
+
#: src/gui.cls.php:463
|
731 |
msgid "More settings"
|
732 |
msgstr ""
|
733 |
|
734 |
+
#: src/gui.cls.php:470 src/gui.cls.php:478 src/gui.cls.php:486
|
735 |
+
#: src/gui.cls.php:495 src/gui.cls.php:505 src/gui.cls.php:515
|
736 |
+
#: src/gui.cls.php:525 src/gui.cls.php:535 src/gui.cls.php:545
|
737 |
+
#: src/gui.cls.php:611 src/gui.cls.php:619 src/gui.cls.php:627
|
738 |
+
#: src/gui.cls.php:636 src/gui.cls.php:646 src/gui.cls.php:656
|
739 |
+
#: src/gui.cls.php:666 src/gui.cls.php:676 src/gui.cls.php:686
|
740 |
+
#: src/gui.cls.php:696 tpl/page_optm/settings_media.tpl.php:125
|
741 |
#: tpl/toolbox/purge.tpl.php:37 tpl/toolbox/purge.tpl.php:43
|
742 |
#: tpl/toolbox/purge.tpl.php:52 tpl/toolbox/purge.tpl.php:61
|
743 |
#: tpl/toolbox/purge.tpl.php:70 tpl/toolbox/purge.tpl.php:79
|
746 |
msgid "Purge All"
|
747 |
msgstr ""
|
748 |
|
749 |
+
#: src/gui.cls.php:478 src/gui.cls.php:569 src/gui.cls.php:619
|
750 |
msgid "LSCache"
|
751 |
msgstr ""
|
752 |
|
753 |
+
#: src/gui.cls.php:486 src/gui.cls.php:627 tpl/toolbox/purge.tpl.php:43
|
754 |
msgid "CSS/JS Cache"
|
755 |
msgstr ""
|
756 |
|
757 |
+
#: src/gui.cls.php:495 src/gui.cls.php:646 src/lang.cls.php:82
|
758 |
#: tpl/dash/dashboard.tpl.php:396 tpl/toolbox/purge.tpl.php:52
|
759 |
msgid "Object Cache"
|
760 |
msgstr ""
|
761 |
|
762 |
+
#: src/gui.cls.php:505 src/gui.cls.php:656 tpl/toolbox/purge.tpl.php:61
|
763 |
msgid "Opcode Cache"
|
764 |
msgstr ""
|
765 |
|
766 |
+
#: src/gui.cls.php:535 src/gui.cls.php:686
|
767 |
#: tpl/page_optm/settings_media.tpl.php:125 tpl/toolbox/purge.tpl.php:88
|
768 |
msgid "LQIP Cache"
|
769 |
msgstr ""
|
770 |
|
771 |
+
#: src/gui.cls.php:545 src/gui.cls.php:696 src/lang.cls.php:142
|
772 |
#: tpl/toolbox/purge.tpl.php:97
|
773 |
msgid "Gravatar Cache"
|
774 |
msgstr ""
|
775 |
|
776 |
+
#: src/gui.cls.php:569
|
777 |
msgid "LiteSpeed Cache Purge All"
|
778 |
msgstr ""
|
779 |
|
780 |
+
#: src/gui.cls.php:585 tpl/cdn/entry.tpl.php:7 tpl/cdn/settings.tpl.php:194
|
781 |
#: tpl/db_optm/entry.tpl.php:6
|
782 |
msgid "Manage"
|
783 |
msgstr ""
|
784 |
|
785 |
+
#: src/gui.cls.php:636 tpl/cdn/manage.tpl.php:17
|
786 |
msgid "Cloudflare"
|
787 |
msgstr ""
|
788 |
|
789 |
+
#: src/gui.cls.php:715 tpl/img_optm/summary.tpl.php:175
|
790 |
msgid "Remove all previous unfinished image optimization requests."
|
791 |
msgstr ""
|
792 |
|
793 |
+
#: src/gui.cls.php:716 tpl/img_optm/summary.tpl.php:177
|
794 |
msgid "Clean Up Unfinished Data"
|
795 |
msgstr ""
|
796 |
|
797 |
+
#: src/gui.cls.php:734
|
798 |
msgid "Install %s"
|
799 |
msgstr ""
|
800 |
|
801 |
+
#: src/gui.cls.php:735
|
802 |
msgid "Install Now"
|
803 |
msgstr ""
|
804 |
|
805 |
+
#: src/gui.cls.php:754
|
806 |
msgid ""
|
807 |
"<a href=\"%1$s\" %2$s>View version %3$s details</a> or <a href=\"%4$s\" %5$s "
|
808 |
"target=\"_blank\">update now</a>."
|
809 |
msgstr ""
|
810 |
|
811 |
+
#: src/gui.cls.php:757
|
812 |
msgid "View %1$s version %2$s details"
|
813 |
msgstr ""
|
814 |
|
815 |
+
#: src/gui.cls.php:762
|
816 |
msgid "Update %s now"
|
817 |
msgstr ""
|
818 |
|
820 |
msgid "Mobile Agent Rules"
|
821 |
msgstr ""
|
822 |
|
823 |
+
#: src/htaccess.cls.php:787
|
824 |
msgid ""
|
825 |
"<p>Please add/replace the following codes into the beginning of %1$s:</p> "
|
826 |
"%2$s"
|
1772 |
msgid "Cleaned all Gravatar files."
|
1773 |
msgstr ""
|
1774 |
|
1775 |
+
#: src/purge.cls.php:309
|
1776 |
msgid "Notified LiteSpeed Web Server to purge CSS/JS entries."
|
1777 |
msgstr ""
|
1778 |
|
1779 |
+
#: src/purge.cls.php:325
|
1780 |
msgid "Opcode cache is not enabled."
|
1781 |
msgstr ""
|
1782 |
|
1783 |
+
#: src/purge.cls.php:337
|
1784 |
msgid "Reset the entire opcode cache successfully."
|
1785 |
msgstr ""
|
1786 |
|
1787 |
+
#: src/purge.cls.php:365
|
1788 |
msgid "Object cache is not enabled."
|
1789 |
msgstr ""
|
1790 |
|
1791 |
+
#: src/purge.cls.php:378
|
1792 |
msgid "Purge all object caches successfully."
|
1793 |
msgstr ""
|
1794 |
|
1795 |
+
#: src/purge.cls.php:571
|
1796 |
msgid "Notified LiteSpeed Web Server to purge the front page."
|
1797 |
msgstr ""
|
1798 |
|
1799 |
+
#: src/purge.cls.php:584
|
1800 |
msgid "Notified LiteSpeed Web Server to purge all pages."
|
1801 |
msgstr ""
|
1802 |
|
1803 |
+
#: src/purge.cls.php:603
|
1804 |
msgid "Notified LiteSpeed Web Server to purge error pages."
|
1805 |
msgstr ""
|
1806 |
|
1807 |
+
#: src/purge.cls.php:630
|
1808 |
msgid "Purge category %s"
|
1809 |
msgstr ""
|
1810 |
|
1811 |
+
#: src/purge.cls.php:657
|
1812 |
msgid "Purge tag %s"
|
1813 |
msgstr ""
|
1814 |
|
1815 |
+
#: src/purge.cls.php:688
|
1816 |
msgid "Purge url %s"
|
1817 |
msgstr ""
|
1818 |
|
1960 |
msgid "Dismiss this notice"
|
1961 |
msgstr ""
|
1962 |
|
1963 |
+
#. #-#-#-#-# litespeed-cache.pot (LiteSpeed Cache 4.4.4) #-#-#-#-#
|
1964 |
#. Plugin Name of the plugin/theme
|
1965 |
#: tpl/banner/new_version.php:59 tpl/banner/new_version_dev.tpl.php:12
|
1966 |
#: tpl/cache/more_settings_tip.tpl.php:15 tpl/inc/admin_footer.php:8
|
3270 |
msgid "Ended reason"
|
3271 |
msgstr ""
|
3272 |
|
3273 |
+
#: tpl/crawler/summary.tpl.php:106
|
3274 |
msgid "<b>Last crawled:</b> %s item(s)"
|
3275 |
msgstr ""
|
3276 |
|
3515 |
msgid "Currently active crawler"
|
3516 |
msgstr ""
|
3517 |
|
3518 |
+
#: tpl/dash/dashboard.tpl.php:563
|
3519 |
+
msgid "<b>Last crawled:</b> %d item(s)"
|
3520 |
+
msgstr ""
|
3521 |
+
|
3522 |
#: tpl/dash/entry.tpl.php:11
|
3523 |
msgid "Network Dashboard"
|
3524 |
msgstr ""
|
litespeed-cache.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* Plugin Name: LiteSpeed Cache
|
4 |
* Plugin URI: https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration
|
5 |
* Description: High-performance page caching and site optimization from LiteSpeed
|
6 |
-
* Version: 4.4.
|
7 |
* Author: LiteSpeed Technologies
|
8 |
* Author URI: https://www.litespeedtech.com
|
9 |
* License: GPLv3
|
@@ -33,7 +33,7 @@ if ( defined( 'LSCWP_V' ) ) {
|
|
33 |
return;
|
34 |
}
|
35 |
|
36 |
-
! defined( 'LSCWP_V' ) && define( 'LSCWP_V', '4.4.
|
37 |
|
38 |
! defined( 'LSCWP_CONTENT_DIR' ) && define( 'LSCWP_CONTENT_DIR', WP_CONTENT_DIR ) ;
|
39 |
! defined( 'LSCWP_DIR' ) && define( 'LSCWP_DIR', __DIR__ . '/' ) ;// Full absolute path '/var/www/html/***/wp-content/plugins/litespeed-cache/' or MU
|
3 |
* Plugin Name: LiteSpeed Cache
|
4 |
* Plugin URI: https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration
|
5 |
* Description: High-performance page caching and site optimization from LiteSpeed
|
6 |
+
* Version: 4.4.4
|
7 |
* Author: LiteSpeed Technologies
|
8 |
* Author URI: https://www.litespeedtech.com
|
9 |
* License: GPLv3
|
33 |
return;
|
34 |
}
|
35 |
|
36 |
+
! defined( 'LSCWP_V' ) && define( 'LSCWP_V', '4.4.4' );
|
37 |
|
38 |
! defined( 'LSCWP_CONTENT_DIR' ) && define( 'LSCWP_CONTENT_DIR', WP_CONTENT_DIR ) ;
|
39 |
! defined( 'LSCWP_DIR' ) && define( 'LSCWP_DIR', __DIR__ . '/' ) ;// Full absolute path '/var/www/html/***/wp-content/plugins/litespeed-cache/' or MU
|
readme.txt
CHANGED
@@ -2,8 +2,8 @@
|
|
2 |
Contributors: LiteSpeedTech
|
3 |
Tags: caching, optimize, performance, pagespeed, core web vitals, seo, speed, image optimize, compress, object cache, redis, memcached, database cleaner
|
4 |
Requires at least: 4.0
|
5 |
-
Tested up to: 5.8.
|
6 |
-
Stable tag: 4.4.
|
7 |
License: GPLv3
|
8 |
License URI: http://www.gnu.org/licenses/gpl.html
|
9 |
|
@@ -249,6 +249,17 @@ The vast majority of plugins and themes are compatible with LiteSpeed Cache. The
|
|
249 |
|
250 |
== Changelog ==
|
251 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
252 |
= 4.4.3 - Oct 13 2021 =
|
253 |
* 🐞**Media** Fixed an issue where WebP is served erroneously under Guest Mode on older versions of Safari. (hash73)
|
254 |
* 🐞**Media** Reverted regex change to fix `Lazy Load Image Parent Class Name Excludes` failure. (thpstock)
|
2 |
Contributors: LiteSpeedTech
|
3 |
Tags: caching, optimize, performance, pagespeed, core web vitals, seo, speed, image optimize, compress, object cache, redis, memcached, database cleaner
|
4 |
Requires at least: 4.0
|
5 |
+
Tested up to: 5.8.2
|
6 |
+
Stable tag: 4.4.4
|
7 |
License: GPLv3
|
8 |
License URI: http://www.gnu.org/licenses/gpl.html
|
9 |
|
249 |
|
250 |
== Changelog ==
|
251 |
|
252 |
+
= 4.4.4 - Nov 23 2021 =
|
253 |
+
* **Page Optimize** Delay deletion of outdated CSS/JS files for a default of 20 days to avoid 404 errors with cached search engine copies.
|
254 |
+
* **Cache** When caching, no longer send a purge request for CSS/JS removal to avoid cache engine conflicts.
|
255 |
+
* 🐞**Core** Optimized SQL queries while autoloading if expected options are missing; reduced by 7 and 3 queries on backend and frontend respectively. (#396425 Jackson)
|
256 |
+
* **Page Optm** Fixed a 404 issue that occured when upgrading the plugin manually, with a package upload or through the plugin manager. (Tobolo/Małgorzata/Abe)
|
257 |
+
* **API** Added `litespeed_ccss_url` and `litespeed_ucss_url` API to manipulate the request URL for CCSS and UCSS.
|
258 |
+
* **REST** Fixed a potential warning when detecting cacheable status on REST call. (rafaucau)
|
259 |
+
* **OLS** Fixed an issue where the `COOKIEHASH` constant was undefined when used with OpenLiteSpeed as an MU plugin or with network activation.
|
260 |
+
* **3rd** Sanitized POST data for nextgengallery.
|
261 |
+
* **Cloud** Sanitized GET data when linking to QUIC.cloud. (#591762 WPScan)
|
262 |
+
|
263 |
= 4.4.3 - Oct 13 2021 =
|
264 |
* 🐞**Media** Fixed an issue where WebP is served erroneously under Guest Mode on older versions of Safari. (hash73)
|
265 |
* 🐞**Media** Reverted regex change to fix `Lazy Load Image Parent Class Name Excludes` failure. (thpstock)
|
src/admin-display.cls.php
CHANGED
@@ -385,7 +385,10 @@ class Admin_Display extends Base {
|
|
385 |
|
386 |
$msg_name = $irremovable ? self::DB_MSG_PIN : self::DB_MSG;
|
387 |
|
388 |
-
$messages = self::get_option( $msg_name
|
|
|
|
|
|
|
389 |
|
390 |
if ( is_array($msg) ) {
|
391 |
foreach ( $msg as $k => $str ) {
|
@@ -420,7 +423,7 @@ class Admin_Display extends Base {
|
|
420 |
Cloud::cls()->check_dev_version();
|
421 |
|
422 |
// One time msg
|
423 |
-
$messages = self::get_option( self::DB_MSG
|
424 |
$added_thickbox = false;
|
425 |
if( is_array( $messages ) ) {
|
426 |
foreach ( $messages as $msg ) {
|
@@ -432,10 +435,12 @@ class Admin_Display extends Base {
|
|
432 |
echo $msg;
|
433 |
}
|
434 |
}
|
435 |
-
|
|
|
|
|
436 |
|
437 |
// Pinned msg
|
438 |
-
$messages = self::get_option( self::DB_MSG_PIN
|
439 |
if( is_array( $messages ) ) {
|
440 |
foreach ( $messages as $k => $msg ) {
|
441 |
// Added for popup links
|
@@ -452,6 +457,9 @@ class Admin_Display extends Base {
|
|
452 |
echo $msg;
|
453 |
}
|
454 |
}
|
|
|
|
|
|
|
455 |
|
456 |
if( empty( $_GET[ 'page' ] ) || strpos( $_GET[ 'page' ], 'litespeed' ) !== 0 ) {
|
457 |
global $pagenow;
|
@@ -493,18 +501,16 @@ class Admin_Display extends Base {
|
|
493 |
return;
|
494 |
}
|
495 |
|
496 |
-
$messages = self::get_option( self::DB_MSG_PIN
|
497 |
-
if ( empty( $messages[ $_GET[ 'msgid' ] ] ) ) {
|
498 |
return;
|
499 |
}
|
500 |
|
501 |
unset( $messages[ $_GET[ 'msgid' ] ] );
|
502 |
if ( ! $messages ) {
|
503 |
-
|
504 |
-
}
|
505 |
-
else {
|
506 |
-
self::update_option( self::DB_MSG_PIN, $messages );
|
507 |
}
|
|
|
508 |
}
|
509 |
|
510 |
/**
|
385 |
|
386 |
$msg_name = $irremovable ? self::DB_MSG_PIN : self::DB_MSG;
|
387 |
|
388 |
+
$messages = self::get_option( $msg_name );
|
389 |
+
if ( ! is_array( $messages ) ) {
|
390 |
+
$messages = array();
|
391 |
+
}
|
392 |
|
393 |
if ( is_array($msg) ) {
|
394 |
foreach ( $msg as $k => $str ) {
|
423 |
Cloud::cls()->check_dev_version();
|
424 |
|
425 |
// One time msg
|
426 |
+
$messages = self::get_option( self::DB_MSG );
|
427 |
$added_thickbox = false;
|
428 |
if( is_array( $messages ) ) {
|
429 |
foreach ( $messages as $msg ) {
|
435 |
echo $msg;
|
436 |
}
|
437 |
}
|
438 |
+
if ( $messages != -1 ) {
|
439 |
+
self::update_option( self::DB_MSG, -1 );
|
440 |
+
}
|
441 |
|
442 |
// Pinned msg
|
443 |
+
$messages = self::get_option( self::DB_MSG_PIN );
|
444 |
if( is_array( $messages ) ) {
|
445 |
foreach ( $messages as $k => $msg ) {
|
446 |
// Added for popup links
|
457 |
echo $msg;
|
458 |
}
|
459 |
}
|
460 |
+
if ( $messages != -1 ) {
|
461 |
+
self::update_option( self::DB_MSG_PIN, -1 );
|
462 |
+
}
|
463 |
|
464 |
if( empty( $_GET[ 'page' ] ) || strpos( $_GET[ 'page' ], 'litespeed' ) !== 0 ) {
|
465 |
global $pagenow;
|
501 |
return;
|
502 |
}
|
503 |
|
504 |
+
$messages = self::get_option( self::DB_MSG_PIN );
|
505 |
+
if ( ! is_array( $messages ) || empty( $messages[ $_GET[ 'msgid' ] ] ) ) {
|
506 |
return;
|
507 |
}
|
508 |
|
509 |
unset( $messages[ $_GET[ 'msgid' ] ] );
|
510 |
if ( ! $messages ) {
|
511 |
+
$messages = -1;
|
|
|
|
|
|
|
512 |
}
|
513 |
+
self::update_option( self::DB_MSG_PIN, $messages );
|
514 |
}
|
515 |
|
516 |
/**
|
src/cloud.cls.php
CHANGED
@@ -1078,7 +1078,7 @@ class Cloud extends Base {
|
|
1078 |
self::save_summary();
|
1079 |
|
1080 |
// Drop QS
|
1081 |
-
echo "<script>window.history.pushState( 'remove_gen_link', document.title, window.location.href.replace( '&qc_res=" . $_GET[ 'qc_res' ] . "&domain_hash=" . $_GET[ 'domain_hash' ] . "', '' ) );</script>";
|
1082 |
}
|
1083 |
|
1084 |
/**
|
1078 |
self::save_summary();
|
1079 |
|
1080 |
// Drop QS
|
1081 |
+
echo "<script>window.history.pushState( 'remove_gen_link', document.title, window.location.href.replace( '&qc_res=" . sanitize_key( $_GET[ 'qc_res' ] ) . "&domain_hash=" . sanitize_key( $_GET[ 'domain_hash' ] ) . "', '' ) );</script>";
|
1082 |
}
|
1083 |
|
1084 |
/**
|
src/conf.cls.php
CHANGED
@@ -68,8 +68,10 @@ class Conf extends Base {
|
|
68 |
*/
|
69 |
$has_delay_conf_tag = self::get_option( '__activation' );
|
70 |
if ( ! $ver || $ver != Core::VER ) {
|
71 |
-
if ( ( ! is_admin() && ! defined( 'LITESPEED_CLI' ) ) || ! $has_delay_conf_tag ) { // Reuse __activation to control the delay conf update
|
72 |
-
$has_delay_conf_tag ||
|
|
|
|
|
73 |
|
74 |
$this->set_conf( $this->load_default_vals() );
|
75 |
$this->_try_load_site_options();
|
@@ -135,13 +137,14 @@ class Conf extends Base {
|
|
135 |
* Pros: This is to avoid file correction script changed in new versions
|
136 |
* Cons: Conf upgrade won't get file correction if there is new values that are used in file
|
137 |
*/
|
138 |
-
if ( $has_delay_conf_tag ) {
|
139 |
// Check new version @since 2.9.3
|
140 |
Cloud::version_check( 'activate' . ( defined( 'LSCWP_REF' ) ? '_' . LSCWP_REF : '' ) );
|
141 |
|
142 |
$this->update_confs(); // Files only get corrected in activation or saving settings actions.
|
143 |
-
|
144 |
-
|
|
|
145 |
}
|
146 |
}
|
147 |
|
68 |
*/
|
69 |
$has_delay_conf_tag = self::get_option( '__activation' );
|
70 |
if ( ! $ver || $ver != Core::VER ) {
|
71 |
+
if ( ( ! is_admin() && ! defined( 'LITESPEED_CLI' ) ) || ( ! $has_delay_conf_tag || $has_delay_conf_tag == -1 ) ) { // Reuse __activation to control the delay conf update
|
72 |
+
if ( ! $has_delay_conf_tag || $has_delay_conf_tag == -1 ) {
|
73 |
+
self::update_option( '__activation', Core::VER );
|
74 |
+
}
|
75 |
|
76 |
$this->set_conf( $this->load_default_vals() );
|
77 |
$this->_try_load_site_options();
|
137 |
* Pros: This is to avoid file correction script changed in new versions
|
138 |
* Cons: Conf upgrade won't get file correction if there is new values that are used in file
|
139 |
*/
|
140 |
+
if ( $has_delay_conf_tag && $has_delay_conf_tag != -1 ) {
|
141 |
// Check new version @since 2.9.3
|
142 |
Cloud::version_check( 'activate' . ( defined( 'LSCWP_REF' ) ? '_' . LSCWP_REF : '' ) );
|
143 |
|
144 |
$this->update_confs(); // Files only get corrected in activation or saving settings actions.
|
145 |
+
}
|
146 |
+
if ( $has_delay_conf_tag != -1 ) {
|
147 |
+
self::update_option( '__activation', -1 );
|
148 |
}
|
149 |
}
|
150 |
|
src/core.cls.php
CHANGED
@@ -79,15 +79,21 @@ class Core extends Root {
|
|
79 |
add_action( 'after_setup_theme', array( $this, 'init' ) );
|
80 |
|
81 |
// Check if there is a purge request in queue
|
82 |
-
|
|
|
83 |
@header( $purge_queue );
|
84 |
Debug2::debug( '[Core] Purge Queue found&sent: ' . $purge_queue );
|
85 |
-
Purge::delete_option( Purge::DB_QUEUE );
|
86 |
}
|
87 |
-
if ( $purge_queue
|
|
|
|
|
|
|
|
|
88 |
@header( $purge_queue );
|
89 |
Debug2::debug( '[Core] Purge2 Queue found&sent: ' . $purge_queue );
|
90 |
-
|
|
|
|
|
91 |
}
|
92 |
|
93 |
/**
|
79 |
add_action( 'after_setup_theme', array( $this, 'init' ) );
|
80 |
|
81 |
// Check if there is a purge request in queue
|
82 |
+
$purge_queue = Purge::get_option( Purge::DB_QUEUE );
|
83 |
+
if ( $purge_queue && $purge_queue != -1 ) {
|
84 |
@header( $purge_queue );
|
85 |
Debug2::debug( '[Core] Purge Queue found&sent: ' . $purge_queue );
|
|
|
86 |
}
|
87 |
+
if ( $purge_queue != -1 ) {
|
88 |
+
Purge::update_option( Purge::DB_QUEUE, -1 ); // Use 0 to bypass purge while still enable db update as WP's update_option will check value===false to bypass update
|
89 |
+
}
|
90 |
+
$purge_queue = Purge::get_option( Purge::DB_QUEUE2 );
|
91 |
+
if ( $purge_queue && $purge_queue != -1 ) {
|
92 |
@header( $purge_queue );
|
93 |
Debug2::debug( '[Core] Purge2 Queue found&sent: ' . $purge_queue );
|
94 |
+
}
|
95 |
+
if ( $purge_queue != -1 ) {
|
96 |
+
Purge::update_option( Purge::DB_QUEUE2, -1 );
|
97 |
}
|
98 |
|
99 |
/**
|
src/crawler.cls.php
CHANGED
@@ -94,7 +94,7 @@ class Crawler extends Root {
|
|
94 |
* @access public
|
95 |
*/
|
96 |
public function clear_disabled_list() {
|
97 |
-
self::
|
98 |
|
99 |
$msg = __( 'Crawler disabled list is cleared! All crawlers are set to active! ', 'litespeed-cache' );
|
100 |
Admin_Display::note( $msg );
|
94 |
* @access public
|
95 |
*/
|
96 |
public function clear_disabled_list() {
|
97 |
+
self::update_option( 'bypass_list', array() );
|
98 |
|
99 |
$msg = __( 'Crawler disabled list is cleared! All crawlers are set to active! ', 'litespeed-cache' );
|
100 |
Admin_Display::note( $msg );
|
src/css.cls.php
CHANGED
@@ -163,7 +163,7 @@ class CSS extends Base {
|
|
163 |
|
164 |
$queue_k = ( strlen( $vary ) > 32 ? md5( $vary ) : $vary ) . ' ' . $url_tag;
|
165 |
$this->_queue[ $queue_k ] = array(
|
166 |
-
'url' => $request_url,
|
167 |
'user_agent' => substr( $ua, 0, 200 ),
|
168 |
'is_mobile' => $this->_separate_mobile_ccss(),
|
169 |
'is_webp' => $this->cls( 'Media' )->webp_support() ? 1 : 0,
|
@@ -246,7 +246,7 @@ class CSS extends Base {
|
|
246 |
|
247 |
$queue_k = ( strlen( $vary ) > 32 ? md5( $vary ) : $vary ) . ' ' . $url_tag;
|
248 |
$this->_queue[ $queue_k ] = array(
|
249 |
-
'url' => $request_url,
|
250 |
'user_agent' => substr( $ua, 0, 200 ),
|
251 |
'is_mobile' => $this->_separate_mobile_ccss(),
|
252 |
'is_webp' => $this->cls( 'Media' )->webp_support() ? 1 : 0,
|
163 |
|
164 |
$queue_k = ( strlen( $vary ) > 32 ? md5( $vary ) : $vary ) . ' ' . $url_tag;
|
165 |
$this->_queue[ $queue_k ] = array(
|
166 |
+
'url' => apply_filters( 'litespeed_ccss_url', $request_url ),
|
167 |
'user_agent' => substr( $ua, 0, 200 ),
|
168 |
'is_mobile' => $this->_separate_mobile_ccss(),
|
169 |
'is_webp' => $this->cls( 'Media' )->webp_support() ? 1 : 0,
|
246 |
|
247 |
$queue_k = ( strlen( $vary ) > 32 ? md5( $vary ) : $vary ) . ' ' . $url_tag;
|
248 |
$this->_queue[ $queue_k ] = array(
|
249 |
+
'url' => apply_filters( 'litespeed_ucss_url', $request_url ),
|
250 |
'user_agent' => substr( $ua, 0, 200 ),
|
251 |
'is_mobile' => $this->_separate_mobile_ccss(),
|
252 |
'is_webp' => $this->cls( 'Media' )->webp_support() ? 1 : 0,
|
src/data.cls.php
CHANGED
@@ -24,6 +24,9 @@ class Data extends Root {
|
|
24 |
'4.3' => array(
|
25 |
'litespeed_update_4_3',
|
26 |
),
|
|
|
|
|
|
|
27 |
);
|
28 |
|
29 |
private $_db_site_updater = array(
|
@@ -192,6 +195,9 @@ class Data extends Root {
|
|
192 |
*/
|
193 |
private function _get_upgrade_lock() {
|
194 |
$is_upgrading = get_option( 'litespeed.data.upgrading' );
|
|
|
|
|
|
|
195 |
if ( $is_upgrading && time() - $is_upgrading < 3600 ) {
|
196 |
return $is_upgrading;
|
197 |
}
|
@@ -220,7 +226,7 @@ class Data extends Root {
|
|
220 |
*/
|
221 |
private function _set_upgrade_lock( $lock ) {
|
222 |
if ( ! $lock ) {
|
223 |
-
|
224 |
}
|
225 |
else {
|
226 |
update_option( 'litespeed.data.upgrading', time() );
|
@@ -466,38 +472,60 @@ class Data extends Root {
|
|
466 |
$url_id = $url_row[ 'id' ];
|
467 |
}
|
468 |
|
469 |
-
$q = "SELECT * FROM `$tb_url_file` WHERE url_id=%d AND vary=%s AND type=%d";
|
470 |
$file_row = $wpdb->get_row( $wpdb->prepare( $q, array( $url_id, $vary, $type ) ), ARRAY_A );
|
471 |
-
if ( ! $file_row ) {
|
472 |
-
$q = "INSERT INTO `$tb_url_file` SET url_id=%d, vary=%s, filename=%s, type=%d";
|
473 |
-
$wpdb->query( $wpdb->prepare( $q, array( $url_id, $vary, $filecon_md5, $type ) ) );
|
474 |
-
return;
|
475 |
-
}
|
476 |
|
477 |
// Check if has previous file or not
|
478 |
if ( $file_row[ 'filename' ] == $filecon_md5 ) {
|
479 |
return;
|
480 |
}
|
481 |
|
482 |
-
$
|
483 |
-
$
|
484 |
-
|
485 |
-
// Purge this URL to avoid cache copy of same URL w/ diff QS
|
486 |
-
$this->cls( 'Purge' )->purge_url( Utility::make_relative( $request_url ) ?: '/', true, true );
|
487 |
|
488 |
-
// Check if
|
489 |
-
$
|
490 |
-
|
491 |
-
|
492 |
-
|
493 |
-
|
494 |
-
|
495 |
-
|
496 |
-
// Clear related lscache first to avoid cache copy of same URL w/ diff QS
|
497 |
-
// Purge::add( Tag::TYPE_MIN . '.' . $file_row[ 'filename' ] . '.' . $file_type );
|
498 |
|
499 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
500 |
}
|
|
|
|
|
|
|
501 |
}
|
502 |
|
503 |
/**
|
24 |
'4.3' => array(
|
25 |
'litespeed_update_4_3',
|
26 |
),
|
27 |
+
'4.4.4-b1' => array(
|
28 |
+
'litespeed_update_4_4_4',
|
29 |
+
),
|
30 |
);
|
31 |
|
32 |
private $_db_site_updater = array(
|
195 |
*/
|
196 |
private function _get_upgrade_lock() {
|
197 |
$is_upgrading = get_option( 'litespeed.data.upgrading' );
|
198 |
+
if ( ! $is_upgrading ) {
|
199 |
+
$this->_set_upgrade_lock( false ); // set option value to existed to avoid repeated db query next time
|
200 |
+
}
|
201 |
if ( $is_upgrading && time() - $is_upgrading < 3600 ) {
|
202 |
return $is_upgrading;
|
203 |
}
|
226 |
*/
|
227 |
private function _set_upgrade_lock( $lock ) {
|
228 |
if ( ! $lock ) {
|
229 |
+
update_option( 'litespeed.data.upgrading', -1 );
|
230 |
}
|
231 |
else {
|
232 |
update_option( 'litespeed.data.upgrading', time() );
|
472 |
$url_id = $url_row[ 'id' ];
|
473 |
}
|
474 |
|
475 |
+
$q = "SELECT * FROM `$tb_url_file` WHERE url_id=%d AND vary=%s AND type=%d AND expired=0";
|
476 |
$file_row = $wpdb->get_row( $wpdb->prepare( $q, array( $url_id, $vary, $type ) ), ARRAY_A );
|
|
|
|
|
|
|
|
|
|
|
477 |
|
478 |
// Check if has previous file or not
|
479 |
if ( $file_row[ 'filename' ] == $filecon_md5 ) {
|
480 |
return;
|
481 |
}
|
482 |
|
483 |
+
// If the new $filecon_md5 is marked as expired by previous records, clear those records
|
484 |
+
$q = "DELETE FROM `$tb_url_file` WHERE filename = %s AND expired > 0";
|
485 |
+
$wpdb->query( $wpdb->prepare( $q, $filecon_md5 ) );
|
|
|
|
|
486 |
|
487 |
+
// Check if there is any other record used the same filename or not
|
488 |
+
$q = "SELECT id FROM `$tb_url_file` WHERE filename = %s AND expired = 0 AND id != %d LIMIT 1";
|
489 |
+
if ( $wpdb->get_var( $wpdb->prepare( $q, array( $file_row[ 'filename' ], $file_row[ 'id' ] ) ) ) ) {
|
490 |
+
$q = "UPDATE `$tb_url_file` SET filename=%s WHERE id=%d";
|
491 |
+
$wpdb->query( $wpdb->prepare( $q, array( $filecon_md5, $file_row[ 'id' ] ) ) );
|
492 |
+
return;
|
493 |
+
}
|
|
|
|
|
|
|
494 |
|
495 |
+
// New record needed
|
496 |
+
$q = "INSERT INTO `$tb_url_file` SET url_id=%d, vary=%s, filename=%s, type=%d, expired = 0";
|
497 |
+
$wpdb->query( $wpdb->prepare( $q, array( $url_id, $vary, $filecon_md5, $type ) ) );
|
498 |
+
|
499 |
+
// Mark existing rows as expired
|
500 |
+
if ( $file_row ) {
|
501 |
+
$q = "UPDATE `$tb_url_file` SET expired=%d WHERE id=%d";
|
502 |
+
$expired = time() + 86400 * apply_filters( 'litespeed_url_file_expired_days', 20 );
|
503 |
+
$wpdb->query( $wpdb->prepare( $q, array( $expired, $file_row[ 'id' ] ) ) );
|
504 |
+
|
505 |
+
// Also check if has other files expired already to be deleted
|
506 |
+
$q = "SELECT * FROM `$tb_url_file` WHERE url_id = %d AND expired BETWEEN 1 AND %d";
|
507 |
+
$q = $wpdb->prepare( $q, array( $url_id, time() ) );
|
508 |
+
$list = $wpdb->get_results( $q, ARRAY_A );
|
509 |
+
if ( $list ) {
|
510 |
+
foreach ( $list as $v ) {
|
511 |
+
$file_to_del = $path . '/' . $v[ 'filename' ] . '.' . ( $file_type == 'js' ? 'js' : 'css' );
|
512 |
+
if ( file_exists( $file_to_del ) ) {
|
513 |
+
// Safe to delete
|
514 |
+
Debug2::debug( '[Data] Delete expired unused file: ' . $file_to_del );
|
515 |
+
|
516 |
+
// Clear related lscache first to avoid cache copy of same URL w/ diff QS
|
517 |
+
// Purge::add( Tag::TYPE_MIN . '.' . $file_row[ 'filename' ] . '.' . $file_type );
|
518 |
+
|
519 |
+
unlink( $file_to_del );
|
520 |
+
}
|
521 |
+
}
|
522 |
+
$q = "DELETE FROM `$tb_url_file` WHERE url_id = %d AND expired BETWEEN 1 AND %d";
|
523 |
+
$wpdb->query( $wpdb->prepare( $q, array( $url_id, time() ) ) );
|
524 |
+
}
|
525 |
}
|
526 |
+
|
527 |
+
// Purge this URL to avoid cache copy of same URL w/ diff QS
|
528 |
+
// $this->cls( 'Purge' )->purge_url( Utility::make_relative( $request_url ) ?: '/', true, true );
|
529 |
}
|
530 |
|
531 |
/**
|
src/data.upgrade.func.php
CHANGED
@@ -13,6 +13,24 @@ use LiteSpeed\Conf;
|
|
13 |
use LiteSpeed\Admin_Display;
|
14 |
use LiteSpeed\File;
|
15 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
16 |
/**
|
17 |
* Drop cssjs table and rm cssjs folder
|
18 |
* @since 4.3
|
13 |
use LiteSpeed\Admin_Display;
|
14 |
use LiteSpeed\File;
|
15 |
|
16 |
+
/**
|
17 |
+
* Add expired to url_file table
|
18 |
+
* @since 4.4.4
|
19 |
+
*/
|
20 |
+
function litespeed_update_4_4_4() {
|
21 |
+
global $wpdb;
|
22 |
+
Debug2::debug( "[Data] Upgrade url_file table" );
|
23 |
+
$tb_exists = $wpdb->get_var( 'SHOW TABLES LIKE "' . $wpdb->prefix . 'litespeed_url_file"' );
|
24 |
+
if ( $tb_exists ) {
|
25 |
+
$q = 'ALTER TABLE `' . $wpdb->prefix . 'litespeed_url_file`
|
26 |
+
ADD COLUMN `expired` int(11) NOT NULL DEFAULT 0,
|
27 |
+
ADD KEY `filename_2` (`filename`,`expired`),
|
28 |
+
ADD KEY `url_id` (`url_id`,`expired`)
|
29 |
+
';
|
30 |
+
$wpdb->query( $q );
|
31 |
+
}
|
32 |
+
}
|
33 |
+
|
34 |
/**
|
35 |
* Drop cssjs table and rm cssjs folder
|
36 |
* @since 4.3
|
src/data_structure/url_file.sql
CHANGED
@@ -1,9 +1,12 @@
|
|
1 |
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
2 |
`url_id` bigint(20) NOT NULL,
|
3 |
-
`vary` varchar(32) NOT NULL DEFAULT '' COMMENT 'md5 of final vary',
|
4 |
-
`filename` varchar(32) NOT NULL DEFAULT '' COMMENT 'md5 of file content',
|
5 |
`type` tinyint(4) NOT NULL COMMENT 'css=1,js=2,ccss=3,ucss=4',
|
|
|
6 |
PRIMARY KEY (`id`),
|
7 |
KEY `filename` (`filename`),
|
8 |
KEY `type` (`type`),
|
9 |
-
KEY `url_id_2` (`url_id`,`vary`,`type`)
|
|
|
|
1 |
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
2 |
`url_id` bigint(20) NOT NULL,
|
3 |
+
`vary` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT 'md5 of final vary',
|
4 |
+
`filename` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT 'md5 of file content',
|
5 |
`type` tinyint(4) NOT NULL COMMENT 'css=1,js=2,ccss=3,ucss=4',
|
6 |
+
`expired` int(11) NOT NULL DEFAULT 0,
|
7 |
PRIMARY KEY (`id`),
|
8 |
KEY `filename` (`filename`),
|
9 |
KEY `type` (`type`),
|
10 |
+
KEY `url_id_2` (`url_id`,`vary`,`type`),
|
11 |
+
KEY `filename_2` (`filename`,`expired`),
|
12 |
+
KEY `url_id` (`url_id`,`expired`)
|
src/gui.cls.php
CHANGED
@@ -185,7 +185,7 @@ class GUI extends Base {
|
|
185 |
break;
|
186 |
}
|
187 |
|
188 |
-
$promo_tag = $_GET[ 'promo_tag' ];
|
189 |
|
190 |
if ( empty( $_instance->_promo_list[ $promo_tag ] ) ) {
|
191 |
break;
|
@@ -231,7 +231,11 @@ class GUI extends Base {
|
|
231 |
* @return boolean
|
232 |
*/
|
233 |
public static function has_msg_ruleconflict() {
|
234 |
-
|
|
|
|
|
|
|
|
|
235 |
}
|
236 |
|
237 |
/**
|
@@ -242,7 +246,12 @@ class GUI extends Base {
|
|
242 |
* @return boolean
|
243 |
*/
|
244 |
public static function has_whm_msg() {
|
245 |
-
|
|
|
|
|
|
|
|
|
|
|
246 |
}
|
247 |
|
248 |
/**
|
@@ -252,7 +261,7 @@ class GUI extends Base {
|
|
252 |
* @access public
|
253 |
*/
|
254 |
public static function dismiss_whm() {
|
255 |
-
self::
|
256 |
}
|
257 |
|
258 |
/**
|
185 |
break;
|
186 |
}
|
187 |
|
188 |
+
$promo_tag = sanitize_key( $_GET[ 'promo_tag' ] );
|
189 |
|
190 |
if ( empty( $_instance->_promo_list[ $promo_tag ] ) ) {
|
191 |
break;
|
231 |
* @return boolean
|
232 |
*/
|
233 |
public static function has_msg_ruleconflict() {
|
234 |
+
$db_dismiss_msg = self::get_option( Admin_Display::DB_DISMISS_MSG );
|
235 |
+
if ( ! $db_dismiss_msg ) {
|
236 |
+
self::update_option( Admin_Display::DB_DISMISS_MSG, -1 );
|
237 |
+
}
|
238 |
+
return $db_dismiss_msg == Admin_Display::RULECONFLICT_ON;
|
239 |
}
|
240 |
|
241 |
/**
|
246 |
* @return boolean
|
247 |
*/
|
248 |
public static function has_whm_msg() {
|
249 |
+
$val = self::get_option( self::WHM_MSG );
|
250 |
+
if ( ! $val ) {
|
251 |
+
self::dismiss_whm();
|
252 |
+
return false;
|
253 |
+
}
|
254 |
+
return $val == self::WHM_MSG_VAL;
|
255 |
}
|
256 |
|
257 |
/**
|
261 |
* @access public
|
262 |
*/
|
263 |
public static function dismiss_whm() {
|
264 |
+
self::update_option( self::WHM_MSG, -1 );
|
265 |
}
|
266 |
|
267 |
/**
|
src/htaccess.cls.php
CHANGED
@@ -525,7 +525,9 @@ class Htaccess extends Root {
|
|
525 |
$id = Base::O_CACHE_LOGIN_COOKIE;
|
526 |
$vary_cookies = $cfg[ $id ] ? array( $cfg[ $id ] ) : array();
|
527 |
if ( LITESPEED_SERVER_TYPE === 'LITESPEED_SERVER_OLS' ) { // Need to keep this due to different behavior of OLS when handling response vary header @Sep/22/2018
|
528 |
-
|
|
|
|
|
529 |
$vary_cookies = apply_filters( 'litespeed_vary_cookies', $vary_cookies ); // todo: test if response vary header can work in latest OLS, drop the above two lines
|
530 |
}
|
531 |
// frontend and backend
|
525 |
$id = Base::O_CACHE_LOGIN_COOKIE;
|
526 |
$vary_cookies = $cfg[ $id ] ? array( $cfg[ $id ] ) : array();
|
527 |
if ( LITESPEED_SERVER_TYPE === 'LITESPEED_SERVER_OLS' ) { // Need to keep this due to different behavior of OLS when handling response vary header @Sep/22/2018
|
528 |
+
if ( defined( 'COOKIEHASH' ) ) {
|
529 |
+
$vary_cookies[] = ',wp-postpass_' . COOKIEHASH;
|
530 |
+
}
|
531 |
$vary_cookies = apply_filters( 'litespeed_vary_cookies', $vary_cookies ); // todo: test if response vary header can work in latest OLS, drop the above two lines
|
532 |
}
|
533 |
// frontend and backend
|
src/optimize.cls.php
CHANGED
@@ -806,6 +806,9 @@ class Optimize extends Base {
|
|
806 |
if ( ! empty( $attrs[ 'data-no-optimize' ] ) ) {
|
807 |
continue;
|
808 |
}
|
|
|
|
|
|
|
809 |
if ( ! empty( $attrs[ 'type' ] ) && $attrs[ 'type' ] != 'text/javascript' ) {
|
810 |
continue;
|
811 |
}
|
806 |
if ( ! empty( $attrs[ 'data-no-optimize' ] ) ) {
|
807 |
continue;
|
808 |
}
|
809 |
+
if ( ! empty( $attrs[ 'data-cfasync' ] ) && $attrs[ 'data-cfasync' ] === 'false' ) {
|
810 |
+
continue;
|
811 |
+
}
|
812 |
if ( ! empty( $attrs[ 'type' ] ) && $attrs[ 'type' ] != 'text/javascript' ) {
|
813 |
continue;
|
814 |
}
|
src/purge.cls.php
CHANGED
@@ -284,6 +284,10 @@ class Purge extends Base {
|
|
284 |
* @access private
|
285 |
*/
|
286 |
private function _purge_all_cssjs( $silence = false ) {
|
|
|
|
|
|
|
|
|
287 |
$this->_purge_all_lscache( $silence ); // Purge CSSJS must purge lscache too to avoid 404
|
288 |
|
289 |
do_action( 'litespeed_purged_all_cssjs' );
|
284 |
* @access private
|
285 |
*/
|
286 |
private function _purge_all_cssjs( $silence = false ) {
|
287 |
+
if ( defined( 'LITESPEED_DID_send_headers' ) ) {
|
288 |
+
Debug2::debug( "❌ Bypassed cssjs delete as header sent (lscache purge after this point will fail)" );
|
289 |
+
return;
|
290 |
+
}
|
291 |
$this->_purge_all_lscache( $silence ); // Purge CSSJS must purge lscache too to avoid 404
|
292 |
|
293 |
do_action( 'litespeed_purged_all_cssjs' );
|
src/report.cls.php
CHANGED
@@ -47,9 +47,9 @@ class Report extends Base {
|
|
47 |
$report_con = $this->generate_environment_report();
|
48 |
|
49 |
// Generate link
|
50 |
-
$link = ! empty( $_POST[ 'link' ] ) ? $_POST[ 'link' ] : '';
|
51 |
|
52 |
-
$notes = ! empty( $_POST[ 'notes' ] ) ? $_POST[ 'notes' ] : '';
|
53 |
|
54 |
$data = array(
|
55 |
'env' => $report_con,
|
47 |
$report_con = $this->generate_environment_report();
|
48 |
|
49 |
// Generate link
|
50 |
+
$link = ! empty( $_POST[ 'link' ] ) ? esc_url( $_POST[ 'link' ] ) : '';
|
51 |
|
52 |
+
$notes = ! empty( $_POST[ 'notes' ] ) ? esc_html( $_POST[ 'notes' ] ) : '';
|
53 |
|
54 |
$data = array(
|
55 |
'env' => $report_con,
|
src/router.cls.php
CHANGED
@@ -188,8 +188,9 @@ class Router extends Base {
|
|
188 |
*/
|
189 |
$rest_prefix = function_exists( 'rest_get_url_prefix' ) ? rest_get_url_prefix() : apply_filters( 'rest_url_prefix', 'wp-json' );
|
190 |
if (
|
191 |
-
|
192 |
-
|
|
|
193 |
) {
|
194 |
Debug2::debug( '[Router] CDN bypassed: wp-json on admin page' );
|
195 |
$can = false;
|
@@ -624,6 +625,10 @@ class Router extends Base {
|
|
624 |
if ( ! isset( self::$_ip ) ) {
|
625 |
self::$_ip = self::get_ip();
|
626 |
}
|
|
|
|
|
|
|
|
|
627 |
// $uip = explode('.', $_ip);
|
628 |
// if(empty($uip) || count($uip) != 4) Return false;
|
629 |
// foreach($ip_list as $key => $ip) $ip_list[$key] = explode('.', trim($ip));
|
@@ -644,16 +649,16 @@ class Router extends Base {
|
|
644 |
*/
|
645 |
public static function get_ip() {
|
646 |
$_ip = '';
|
647 |
-
if ( function_exists( 'apache_request_headers' ) ) {
|
648 |
-
|
649 |
-
|
650 |
-
|
651 |
-
|
652 |
-
|
653 |
-
|
654 |
-
|
655 |
|
656 |
-
}
|
657 |
|
658 |
if ( ! $_ip ) {
|
659 |
$_ip = ! empty( $_SERVER['REMOTE_ADDR'] ) ? $_SERVER['REMOTE_ADDR'] : false;
|
188 |
*/
|
189 |
$rest_prefix = function_exists( 'rest_get_url_prefix' ) ? rest_get_url_prefix() : apply_filters( 'rest_url_prefix', 'wp-json' );
|
190 |
if (
|
191 |
+
! empty( $_SERVER[ 'REQUEST_URI' ] ) &&
|
192 |
+
strpos( $_SERVER[ 'REQUEST_URI' ], $rest_prefix . '/wp/v2/media' ) !== false &&
|
193 |
+
strpos( $_SERVER[ 'HTTP_REFERER' ], 'wp-admin') !== false
|
194 |
) {
|
195 |
Debug2::debug( '[Router] CDN bypassed: wp-json on admin page' );
|
196 |
$can = false;
|
625 |
if ( ! isset( self::$_ip ) ) {
|
626 |
self::$_ip = self::get_ip();
|
627 |
}
|
628 |
+
|
629 |
+
if ( ! self::$_ip ) {
|
630 |
+
return false;
|
631 |
+
}
|
632 |
// $uip = explode('.', $_ip);
|
633 |
// if(empty($uip) || count($uip) != 4) Return false;
|
634 |
// foreach($ip_list as $key => $ip) $ip_list[$key] = explode('.', trim($ip));
|
649 |
*/
|
650 |
public static function get_ip() {
|
651 |
$_ip = '';
|
652 |
+
// if ( function_exists( 'apache_request_headers' ) ) {
|
653 |
+
// $apache_headers = apache_request_headers();
|
654 |
+
// $_ip = ! empty( $apache_headers['True-Client-IP'] ) ? $apache_headers['True-Client-IP'] : false;
|
655 |
+
// if ( ! $_ip ) {
|
656 |
+
// $_ip = ! empty( $apache_headers['X-Forwarded-For'] ) ? $apache_headers['X-Forwarded-For'] : false;
|
657 |
+
// $_ip = explode( ',', $_ip );
|
658 |
+
// $_ip = $_ip[ 0 ];
|
659 |
+
// }
|
660 |
|
661 |
+
// }
|
662 |
|
663 |
if ( ! $_ip ) {
|
664 |
$_ip = ! empty( $_SERVER['REMOTE_ADDR'] ) ? $_SERVER['REMOTE_ADDR'] : false;
|
thirdparty/nextgengallery.cls.php
CHANGED
@@ -72,7 +72,7 @@ class NextGenGallery
|
|
72 |
public static function update_image()
|
73 |
{
|
74 |
if ( isset( $_REQUEST[ 'gallery_id' ] ) ) {
|
75 |
-
do_action( 'litespeed_purge', self::CACHETAG_GALLERIES . $_REQUEST[ 'gallery_id' ] ) ;
|
76 |
return ;
|
77 |
}
|
78 |
|
@@ -81,19 +81,19 @@ class NextGenGallery
|
|
81 |
$task_list = json_decode( $task_list, true ) ;
|
82 |
|
83 |
if ( ! empty( $task_list[ 0 ][ 'query' ][ 'id' ] ) ) {
|
84 |
-
do_action( 'litespeed_purge', self::CACHETAG_GALLERIES . $task_list[ 0 ][ 'query' ][ 'id' ] ) ;
|
85 |
return ;
|
86 |
}
|
87 |
}
|
88 |
|
89 |
if ( isset($_POST['id']) ) {
|
90 |
-
$id = $_POST['id'] ;
|
91 |
}
|
92 |
elseif ( isset($_POST['image']) ) {
|
93 |
-
$id = $_POST['image'] ;
|
94 |
}
|
95 |
elseif ( isset($_GET['pid']) ) {
|
96 |
-
$id = $_GET['pid'] ;
|
97 |
}
|
98 |
else {
|
99 |
error_log('LiteSpeed_Cache hit ngg_ajax_image_save with no post image id.') ;
|
@@ -114,7 +114,7 @@ class NextGenGallery
|
|
114 |
public static function delete_image()
|
115 |
{
|
116 |
if ( isset($_GET['gid']) ) {
|
117 |
-
do_action( 'litespeed_purge', self::CACHETAG_GALLERIES . $_GET['gid'] );
|
118 |
}
|
119 |
}
|
120 |
|
72 |
public static function update_image()
|
73 |
{
|
74 |
if ( isset( $_REQUEST[ 'gallery_id' ] ) ) {
|
75 |
+
do_action( 'litespeed_purge', self::CACHETAG_GALLERIES . sanitize_key( $_REQUEST[ 'gallery_id' ] ) );
|
76 |
return ;
|
77 |
}
|
78 |
|
81 |
$task_list = json_decode( $task_list, true ) ;
|
82 |
|
83 |
if ( ! empty( $task_list[ 0 ][ 'query' ][ 'id' ] ) ) {
|
84 |
+
do_action( 'litespeed_purge', self::CACHETAG_GALLERIES . sanitize_key( $task_list[ 0 ][ 'query' ][ 'id' ] ) );
|
85 |
return ;
|
86 |
}
|
87 |
}
|
88 |
|
89 |
if ( isset($_POST['id']) ) {
|
90 |
+
$id = (int)$_POST['id'] ;
|
91 |
}
|
92 |
elseif ( isset($_POST['image']) ) {
|
93 |
+
$id = (int)$_POST['image'] ;
|
94 |
}
|
95 |
elseif ( isset($_GET['pid']) ) {
|
96 |
+
$id = (int)$_GET['pid'] ;
|
97 |
}
|
98 |
else {
|
99 |
error_log('LiteSpeed_Cache hit ngg_ajax_image_save with no post image id.') ;
|
114 |
public static function delete_image()
|
115 |
{
|
116 |
if ( isset($_GET['gid']) ) {
|
117 |
+
do_action( 'litespeed_purge', self::CACHETAG_GALLERIES . sanitize_key( $_GET['gid'] ) );
|
118 |
}
|
119 |
}
|
120 |
|
tpl/crawler/summary.tpl.php
CHANGED
@@ -97,7 +97,7 @@ if($seconds > 0):
|
|
97 |
<?php if ( $summary[ 'end_reason' ] ) : ?>
|
98 |
<p class='litespeed-desc'>
|
99 |
<b><?php echo __( 'Ended reason', 'litespeed-cache' ); ?>:</b>
|
100 |
-
<?php echo $summary[ 'end_reason' ]; ?>
|
101 |
</p>
|
102 |
<?php endif; ?>
|
103 |
|
97 |
<?php if ( $summary[ 'end_reason' ] ) : ?>
|
98 |
<p class='litespeed-desc'>
|
99 |
<b><?php echo __( 'Ended reason', 'litespeed-cache' ); ?>:</b>
|
100 |
+
<?php echo esc_html( $summary[ 'end_reason' ] ); ?>
|
101 |
</p>
|
102 |
<?php endif; ?>
|
103 |
|
tpl/dash/dashboard.tpl.php
CHANGED
@@ -404,7 +404,7 @@ $placeholder_queue_count = count( $this->load_queue( 'lqip' ) );
|
|
404 |
<?php else: ?>
|
405 |
<span class="litespeed-label-danger litespeed-label-dashboard">OFF</span>
|
406 |
<?php endif; ?>
|
407 |
-
<?php echo $title; ?>
|
408 |
</p>
|
409 |
<?php endforeach; ?>
|
410 |
</div>
|
@@ -437,7 +437,7 @@ $placeholder_queue_count = count( $this->load_queue( 'lqip' ) );
|
|
437 |
<?php echo __( 'Last generated', 'litespeed-cache' ) . ': <code>' . Utility::readable_time( $css_summary[ 'last_request_ccss' ] ) . '</code>'; ?>
|
438 |
</p>
|
439 |
<p>
|
440 |
-
<?php echo __( 'Time to execute previous request', 'litespeed-cache' ) . ': <code>' . $css_summary[ 'last_spent_ccss' ] . 's</code>'; ?>
|
441 |
</p>
|
442 |
<?php endif; ?>
|
443 |
|
@@ -470,7 +470,7 @@ $placeholder_queue_count = count( $this->load_queue( 'lqip' ) );
|
|
470 |
<?php echo __( 'Last generated', 'litespeed-cache' ) . ': <code>' . Utility::readable_time( $css_summary[ 'last_request_ucss' ] ) . '</code>'; ?>
|
471 |
</p>
|
472 |
<p>
|
473 |
-
<?php echo __( 'Time to execute previous request', 'litespeed-cache' ) . ': <code>' . $css_summary[ 'last_spent_ucss' ] . 's</code>'; ?>
|
474 |
</p>
|
475 |
<?php endif; ?>
|
476 |
|
@@ -503,7 +503,7 @@ $placeholder_queue_count = count( $this->load_queue( 'lqip' ) );
|
|
503 |
<?php echo __( 'Last generated', 'litespeed-cache' ) . ': <code>' . Utility::readable_time( $placeholder_summary[ 'last_request' ] ) . '</code>'; ?>
|
504 |
</p>
|
505 |
<p>
|
506 |
-
<?php echo __( 'Time to execute previous request', 'litespeed-cache' ) . ': <code>' . $placeholder_summary[ 'last_spent' ] . 's</code>'; ?>
|
507 |
</p>
|
508 |
<?php endif; ?>
|
509 |
|
@@ -534,7 +534,7 @@ $placeholder_queue_count = count( $this->load_queue( 'lqip' ) );
|
|
534 |
<code><?php echo count( Crawler::cls()->list_crawlers() );?></code> <?php echo __( 'Crawler(s)', 'litespeed-cache' ); ?>
|
535 |
</p>
|
536 |
<p>
|
537 |
-
<?php echo __( 'Currently active crawler', 'litespeed-cache' ); ?>: <code><?php echo $crawler_summary[ 'curr_crawler' ] ?></code>
|
538 |
</p>
|
539 |
|
540 |
<?php if ( $crawler_summary[ 'curr_crawler_beginning_time' ] ) : ?>
|
@@ -554,13 +554,13 @@ $placeholder_queue_count = count( $this->load_queue( 'lqip' ) );
|
|
554 |
<?php if ( $crawler_summary[ 'end_reason' ] ) : ?>
|
555 |
<p class='litespeed-desc'>
|
556 |
<b><?php echo __( 'Ended reason', 'litespeed-cache' ); ?>:</b>
|
557 |
-
<?php echo $crawler_summary[ 'end_reason' ]; ?>
|
558 |
</p>
|
559 |
<?php endif; ?>
|
560 |
|
561 |
<?php if ( $crawler_summary[ 'last_crawled' ] ) : ?>
|
562 |
<p class='litespeed-desc'>
|
563 |
-
<?php echo sprintf(__('<b>Last crawled:</b> %
|
564 |
</p>
|
565 |
<?php endif; ?>
|
566 |
|
404 |
<?php else: ?>
|
405 |
<span class="litespeed-label-danger litespeed-label-dashboard">OFF</span>
|
406 |
<?php endif; ?>
|
407 |
+
<?php echo esc_html( $title ); ?>
|
408 |
</p>
|
409 |
<?php endforeach; ?>
|
410 |
</div>
|
437 |
<?php echo __( 'Last generated', 'litespeed-cache' ) . ': <code>' . Utility::readable_time( $css_summary[ 'last_request_ccss' ] ) . '</code>'; ?>
|
438 |
</p>
|
439 |
<p>
|
440 |
+
<?php echo __( 'Time to execute previous request', 'litespeed-cache' ) . ': <code>' . esc_html( $css_summary[ 'last_spent_ccss' ] ) . 's</code>'; ?>
|
441 |
</p>
|
442 |
<?php endif; ?>
|
443 |
|
470 |
<?php echo __( 'Last generated', 'litespeed-cache' ) . ': <code>' . Utility::readable_time( $css_summary[ 'last_request_ucss' ] ) . '</code>'; ?>
|
471 |
</p>
|
472 |
<p>
|
473 |
+
<?php echo __( 'Time to execute previous request', 'litespeed-cache' ) . ': <code>' . esc_html( $css_summary[ 'last_spent_ucss' ] ) . 's</code>'; ?>
|
474 |
</p>
|
475 |
<?php endif; ?>
|
476 |
|
503 |
<?php echo __( 'Last generated', 'litespeed-cache' ) . ': <code>' . Utility::readable_time( $placeholder_summary[ 'last_request' ] ) . '</code>'; ?>
|
504 |
</p>
|
505 |
<p>
|
506 |
+
<?php echo __( 'Time to execute previous request', 'litespeed-cache' ) . ': <code>' . esc_html( $placeholder_summary[ 'last_spent' ] ) . 's</code>'; ?>
|
507 |
</p>
|
508 |
<?php endif; ?>
|
509 |
|
534 |
<code><?php echo count( Crawler::cls()->list_crawlers() );?></code> <?php echo __( 'Crawler(s)', 'litespeed-cache' ); ?>
|
535 |
</p>
|
536 |
<p>
|
537 |
+
<?php echo __( 'Currently active crawler', 'litespeed-cache' ); ?>: <code><?php echo esc_html( $crawler_summary[ 'curr_crawler' ] ); ?></code>
|
538 |
</p>
|
539 |
|
540 |
<?php if ( $crawler_summary[ 'curr_crawler_beginning_time' ] ) : ?>
|
554 |
<?php if ( $crawler_summary[ 'end_reason' ] ) : ?>
|
555 |
<p class='litespeed-desc'>
|
556 |
<b><?php echo __( 'Ended reason', 'litespeed-cache' ); ?>:</b>
|
557 |
+
<?php echo esc_html( $crawler_summary[ 'end_reason' ] ); ?>
|
558 |
</p>
|
559 |
<?php endif; ?>
|
560 |
|
561 |
<?php if ( $crawler_summary[ 'last_crawled' ] ) : ?>
|
562 |
<p class='litespeed-desc'>
|
563 |
+
<?php echo sprintf(__('<b>Last crawled:</b> %d item(s)', 'litespeed-cache'), $crawler_summary[ 'last_crawled' ] ); ?>
|
564 |
</p>
|
565 |
<?php endif; ?>
|
566 |
|
tpl/dash/network_dash.tpl.php
CHANGED
@@ -77,9 +77,9 @@ foreach ( $blogs as $blog_id ) {
|
|
77 |
<div class="litespeed-dashboard-stats">
|
78 |
<h3><?php echo ( $svc == 'img_optm' ? __('Fast Queue Usage','litespeed-cache') : __( 'Usage', 'litespeed-cache' ) ); ?></h3>
|
79 |
<p>
|
80 |
-
<strong><?php echo $used; ?></strong>
|
81 |
<?php if( $used != $quota ) { ?>
|
82 |
-
<span class="litespeed-desc"> of <?php echo $quota; ?></span>
|
83 |
<?php } ?>
|
84 |
</p>
|
85 |
</div>
|
@@ -87,8 +87,8 @@ foreach ( $blogs as $blog_id ) {
|
|
87 |
</div>
|
88 |
<?php if ( $pag_total > 0 ) { ?>
|
89 |
<p class="litespeed-dashboard-stats-payg" data-balloon-pos="up" aria-label="<?php echo __('Pay as You Go','litespeed-cache'); ?>">
|
90 |
-
<?php echo __('PAYG Balance','litespeed-cache'); ?>: <strong><?php echo $pag_bal; ?></strong>
|
91 |
-
<button class="litespeed-info-button" data-balloon-pos="up" aria-label="<?php echo __('This Month Usage','litespeed-cache'); ?>: <?php echo $pag_used;?>">
|
92 |
<span class="dashicons dashicons-info"></span>
|
93 |
<span class="screen-reader-text"><?php echo __( 'Pay as You Go Usage Statistics', 'litespeed-cache' );?></span>
|
94 |
</button>
|
@@ -97,7 +97,7 @@ foreach ( $blogs as $blog_id ) {
|
|
97 |
|
98 |
<?php if ( $svc == 'img_optm' ) { ?>
|
99 |
<p class="litespeed-dashboard-stats-total">
|
100 |
-
<?php echo __('Total Usage','litespeed-cache'); ?>: <strong><?php echo $total_used; ?> / ∞</strong>
|
101 |
<button class="litespeed-info-button" data-balloon-pos="up" aria-label="<?php echo __('Total images optimized in this month','litespeed-cache'); ?>">
|
102 |
<span class="dashicons dashicons-info"></span>
|
103 |
</button>
|
77 |
<div class="litespeed-dashboard-stats">
|
78 |
<h3><?php echo ( $svc == 'img_optm' ? __('Fast Queue Usage','litespeed-cache') : __( 'Usage', 'litespeed-cache' ) ); ?></h3>
|
79 |
<p>
|
80 |
+
<strong><?php echo esc_html( $used ); ?></strong>
|
81 |
<?php if( $used != $quota ) { ?>
|
82 |
+
<span class="litespeed-desc"> of <?php echo esc_html( $quota ); ?></span>
|
83 |
<?php } ?>
|
84 |
</p>
|
85 |
</div>
|
87 |
</div>
|
88 |
<?php if ( $pag_total > 0 ) { ?>
|
89 |
<p class="litespeed-dashboard-stats-payg" data-balloon-pos="up" aria-label="<?php echo __('Pay as You Go','litespeed-cache'); ?>">
|
90 |
+
<?php echo __('PAYG Balance','litespeed-cache'); ?>: <strong><?php echo esc_html( $pag_bal ); ?></strong>
|
91 |
+
<button class="litespeed-info-button" data-balloon-pos="up" aria-label="<?php echo __('This Month Usage','litespeed-cache'); ?>: <?php echo esc_html( $pag_used );?>">
|
92 |
<span class="dashicons dashicons-info"></span>
|
93 |
<span class="screen-reader-text"><?php echo __( 'Pay as You Go Usage Statistics', 'litespeed-cache' );?></span>
|
94 |
</button>
|
97 |
|
98 |
<?php if ( $svc == 'img_optm' ) { ?>
|
99 |
<p class="litespeed-dashboard-stats-total">
|
100 |
+
<?php echo __('Total Usage','litespeed-cache'); ?>: <strong><?php echo esc_html( $total_used ); ?> / ∞</strong>
|
101 |
<button class="litespeed-info-button" data-balloon-pos="up" aria-label="<?php echo __('Total images optimized in this month','litespeed-cache'); ?>">
|
102 |
<span class="dashicons dashicons-info"></span>
|
103 |
</button>
|
tpl/img_optm/summary.tpl.php
CHANGED
@@ -63,7 +63,7 @@ if ( ! empty( $img_count[ 'img.' . Img_Optm::STATUS_ERR_FETCH ] ) ) {
|
|
63 |
</h3>
|
64 |
|
65 |
<p>
|
66 |
-
<?php echo sprintf( __( 'You can request a maximum of %s images at once.', 'litespeed-cache' ), '<strong>' . $allowance . '</strong>' ); ?>
|
67 |
</p>
|
68 |
|
69 |
<?php if ( $wet_limit ) : ?>
|
@@ -194,7 +194,7 @@ if ( ! empty( $img_count[ 'img.' . Img_Optm::STATUS_ERR_FETCH ] ) ) {
|
|
194 |
</p>
|
195 |
<?php if ( $optm_summary[ 'bk_summary' ][ 'count' ] ) : ?>
|
196 |
<p>
|
197 |
-
<?php echo __( 'Files', 'litespeed-cache' ) . ': <code>' . $optm_summary[ 'bk_summary' ][ 'count' ] . '</code>'; ?>
|
198 |
</p>
|
199 |
<p>
|
200 |
<?php echo __( 'Total', 'litespeed-cache' ) . ': <code>' . Utility::real_size( $optm_summary[ 'bk_summary' ][ 'sum' ] ) . '</code>'; ?>
|
63 |
</h3>
|
64 |
|
65 |
<p>
|
66 |
+
<?php echo sprintf( __( 'You can request a maximum of %s images at once.', 'litespeed-cache' ), '<strong>' . intval( $allowance ) . '</strong>' ); ?>
|
67 |
</p>
|
68 |
|
69 |
<?php if ( $wet_limit ) : ?>
|
194 |
</p>
|
195 |
<?php if ( $optm_summary[ 'bk_summary' ][ 'count' ] ) : ?>
|
196 |
<p>
|
197 |
+
<?php echo __( 'Files', 'litespeed-cache' ) . ': <code>' . intval( $optm_summary[ 'bk_summary' ][ 'count' ] ) . '</code>'; ?>
|
198 |
</p>
|
199 |
<p>
|
200 |
<?php echo __( 'Total', 'litespeed-cache' ) . ': <code>' . Utility::real_size( $optm_summary[ 'bk_summary' ][ 'sum' ] ) . '</code>'; ?>
|
tpl/inc/check_cache_disabled.php
CHANGED
@@ -37,7 +37,7 @@ if ( $reasons ) :
|
|
37 |
<ul class="litespeed-list">
|
38 |
<?php foreach ( $reasons as $v ) : ?>
|
39 |
<li>
|
40 |
-
<?php echo $v[ 'title' ] ; ?>
|
41 |
|
42 |
<a href="<?php echo $v[ 'link' ] ; ?>" target="_blank" class="litespeed-learn-more"><?php echo __( 'Learn More', 'litespeed-cache' ) ; ?></a>
|
43 |
</li>
|
37 |
<ul class="litespeed-list">
|
38 |
<?php foreach ( $reasons as $v ) : ?>
|
39 |
<li>
|
40 |
+
<?php echo esc_html( $v[ 'title' ] ); ?>
|
41 |
|
42 |
<a href="<?php echo $v[ 'link' ] ; ?>" target="_blank" class="litespeed-learn-more"><?php echo __( 'Learn More', 'litespeed-cache' ) ; ?></a>
|
43 |
</li>
|
tpl/page_optm/settings_css.tpl.php
CHANGED
@@ -104,7 +104,7 @@ $ucss_queue = $this->load_queue( 'ucss' );
|
|
104 |
<?php endif; ?>
|
105 |
<?php if ( ! is_array( $v ) ) continue; ?>
|
106 |
<?php if ( ! empty( $v[ '_status' ] ) ) : ?><span class="litespeed-success"><?php endif; ?>
|
107 |
-
<?php echo $v[ 'url' ]; ?>
|
108 |
<?php if ( ! empty( $v[ '_status' ] ) ) : ?></span><?php endif; ?>
|
109 |
<?php if ( $pos = strpos( $k, ' ' ) ) echo ' (' . __( 'Vary Group', 'litespeed-cache' ) . ':' . substr( $k, 0, $pos ) . ')'; ?>
|
110 |
<?php if ( $v[ 'is_mobile' ] ) echo ' <span data-balloon-pos="up" aria-label="mobile">📱</span>'; ?>
|
@@ -214,7 +214,7 @@ $ucss_queue = $this->load_queue( 'ucss' );
|
|
214 |
<?php endif; ?>
|
215 |
<?php if ( ! is_array( $v ) ) continue; ?>
|
216 |
<?php if ( ! empty( $v[ '_status' ] ) ) : ?><span class="litespeed-success"><?php endif; ?>
|
217 |
-
<?php echo $v[ 'url' ]; ?>
|
218 |
<?php if ( ! empty( $v[ '_status' ] ) ) : ?></span><?php endif; ?>
|
219 |
<?php if ( $pos = strpos( $k, ' ' ) ) echo ' (' . __( 'Vary Group', 'litespeed-cache' ) . ':' . substr( $k, 0, $pos ) . ')'; ?>
|
220 |
<?php if ( $v[ 'is_mobile' ] ) echo ' <span data-balloon-pos="up" aria-label="mobile">📱</span>'; ?>
|
104 |
<?php endif; ?>
|
105 |
<?php if ( ! is_array( $v ) ) continue; ?>
|
106 |
<?php if ( ! empty( $v[ '_status' ] ) ) : ?><span class="litespeed-success"><?php endif; ?>
|
107 |
+
<?php echo esc_html( $v[ 'url' ] ); ?>
|
108 |
<?php if ( ! empty( $v[ '_status' ] ) ) : ?></span><?php endif; ?>
|
109 |
<?php if ( $pos = strpos( $k, ' ' ) ) echo ' (' . __( 'Vary Group', 'litespeed-cache' ) . ':' . substr( $k, 0, $pos ) . ')'; ?>
|
110 |
<?php if ( $v[ 'is_mobile' ] ) echo ' <span data-balloon-pos="up" aria-label="mobile">📱</span>'; ?>
|
214 |
<?php endif; ?>
|
215 |
<?php if ( ! is_array( $v ) ) continue; ?>
|
216 |
<?php if ( ! empty( $v[ '_status' ] ) ) : ?><span class="litespeed-success"><?php endif; ?>
|
217 |
+
<?php echo esc_html( $v[ 'url' ] ); ?>
|
218 |
<?php if ( ! empty( $v[ '_status' ] ) ) : ?></span><?php endif; ?>
|
219 |
<?php if ( $pos = strpos( $k, ' ' ) ) echo ' (' . __( 'Vary Group', 'litespeed-cache' ) . ':' . substr( $k, 0, $pos ) . ')'; ?>
|
220 |
<?php if ( $v[ 'is_mobile' ] ) echo ' <span data-balloon-pos="up" aria-label="mobile">📱</span>'; ?>
|