Version Description
| November 7th, 2022 = * Tested with WP 6.1 * OMGF will now warn you when it detects you're using the following scripts loading Google Fonts in iframes: - Active Campaign - Channext - Conversio - Gastronovi - Google Campaign Manager 360 - HubSpot - ManyChat - Tidio * Improved: Success message if no conflicts were detected to clarify the use of the Task Manager. * Improved: Notify users that they have to "Mark" possible detected conflicts as "fixed" themselves. * Improved: Bad Requests (400) to the Google Fonts API are now removed from the source code. * Improved: trim invalid characters from end of requests to the Google Fonts API. * Added: compatibility with Mesmerize theme.
Download this release
Release Info
Developer | DaanvandenBergh |
Plugin | OMGF | GDPR/DSVGO Compliant, Faster Google Fonts. Easy. |
Version | 5.4.3 |
Comparing to | |
See all releases |
Code changes from version 5.4.2 to 5.4.3
- assets/css/omgf-admin.css +5 -0
- assets/css/omgf-admin.css.map +1 -1
- assets/css/omgf-admin.less +6 -0
- assets/css/omgf-admin.min.css +1 -1
- host-webfonts-local.php +2 -2
- includes/class-omgf.php +46 -21
- includes/frontend/class-process.php +15 -7
- includes/optimize/class-run.php +2 -2
- readme.txt +19 -2
assets/css/omgf-admin.css
CHANGED
@@ -78,6 +78,11 @@
|
|
78 |
border-left: 4px solid #FFDC00;
|
79 |
background-color: #FFFBDF;
|
80 |
}
|
|
|
|
|
|
|
|
|
|
|
81 |
.omgf form .omgf-task-manager .task-manager-row .task-manager-notice.info {
|
82 |
border: 1px solid #7FDBFF;
|
83 |
border-left: 4px solid #7FDBFF;
|
78 |
border-left: 4px solid #FFDC00;
|
79 |
background-color: #FFFBDF;
|
80 |
}
|
81 |
+
.omgf form .omgf-task-manager .task-manager-row .task-manager-notice.success {
|
82 |
+
border: 1px solid #2ECC40;
|
83 |
+
border-left: 4px solid #2ECC40;
|
84 |
+
background-color: #DDF7E0;
|
85 |
+
}
|
86 |
.omgf form .omgf-task-manager .task-manager-row .task-manager-notice.info {
|
87 |
border: 1px solid #7FDBFF;
|
88 |
border-left: 4px solid #7FDBFF;
|
assets/css/omgf-admin.css.map
CHANGED
@@ -1 +1 @@
|
|
1 |
-
{"version":3,"sources":["omgf-admin.less"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAkBA,KACE;EACE,WAAA;EACA,qBAAA;EACA,yBAAA;EACA,gBAAA;EACA,eAAA;EACA,kBAAA;EACA,mBAAA;;AAEA,KATF,eASG;EACC,cAAA;;AAGF,KAbF,eAaG;AACD,KAdF,eAcG;EACC,4BAAA;;AAGF,KAlBF,eAkBG;EACC,eAAA;EACA,mBAAA;EACA,WAAA;EACA,qBAAA;;AAEA,KAxBJ,eAkBG,MAME;EACC,WAAA;EACA,mBAAA;EACA,qBAAA;;;;;AASR;EACE,oBAAA;;AADF,SAGE;EACE,eAAA;;AAJJ,SAOE,kBAAiB;EACf,oBAAA;EACA,mBAAA;;AAIJ,KAAM;EACJ,iBAAA;;AADF,KAAM,KAGJ;EACE,iBAAA;;AAJJ,KAAM,KAOJ,mBACE;EACE,eAAA;EACA,iBAAA;;AAVN,KAAM,KAOJ,mBACE,kBAIE;EACE,kBAAA;EACA,yBAAA;EACA,8BAAA;;AAfR,KAAM,KAOJ,mBACE,kBAIE,qBAKE;EACE,gBAAA;;AAGF,KArBF,KAOJ,mBACE,kBAIE,qBASG;EACC,yBAAA;EACA,8BAAA;EACA,yBAAA;;AAGF,KA3BF,KAOJ,mBACE,kBAIE,qBAeG;EACC,yBAAA;EACA,8BAAA;EACA,yBAAA;;
|
1 |
+
{"version":3,"sources":["omgf-admin.less"],"names":[],"mappings":"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"}
|
assets/css/omgf-admin.less
CHANGED
@@ -93,6 +93,12 @@
|
|
93 |
background-color: #FFFBDF;
|
94 |
}
|
95 |
|
|
|
|
|
|
|
|
|
|
|
|
|
96 |
&.info {
|
97 |
border: 1px solid #7FDBFF;
|
98 |
border-left: 4px solid #7FDBFF;
|
93 |
background-color: #FFFBDF;
|
94 |
}
|
95 |
|
96 |
+
&.success {
|
97 |
+
border: 1px solid #2ECC40;
|
98 |
+
border-left: 4px solid #2ECC40;
|
99 |
+
background-color: #DDF7E0;
|
100 |
+
}
|
101 |
+
|
102 |
&.info {
|
103 |
border: 1px solid #7FDBFF;
|
104 |
border-left: 4px solid #7FDBFF;
|
assets/css/omgf-admin.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.omgf .button-cancel{color:#a00;text-decoration:none;border-color:transparent;box-shadow:none;background:0 0;border-radius:3px;white-space:nowrap}.omgf .button-cancel.omgf-refresh{color:#ff851b}.omgf .button-cancel.omgf-empty,.omgf .button-cancel.omgf-refresh{padding:1px 10px!important}.omgf .button-cancel:hover{cursor:pointer;background:#d54e21;color:#fff;border-color:#d54e21}.omgf .button-cancel:hover#omgf-refresh{color:#fff;background:#ff851b;border-color:#ff851b}.omgf-nav{padding:1em 0 1.5em}.omgf-nav a{cursor:pointer}.omgf-nav .dashicons-before:before{margin-right:.25em;line-height:1.15em}.omgf form{max-width:1350px}.omgf form .dashicons{line-height:15px}.omgf form .omgf-task-manager .task-manager-row{padding-left:0;line-height:1.33}.omgf form .omgf-task-manager .task-manager-row .task-manager-notice{padding:18px 12px;border:1px solid #ececec;border-left:4px solid #ececec}.omgf form .omgf-task-manager .task-manager-row .task-manager-notice ol{margin-left:1em}.omgf form .omgf-task-manager .task-manager-row .task-manager-notice.warning{border:1px solid #ffdc00;border-left:4px solid #ffdc00;background-color:#fffbdf}.omgf form .omgf-task-manager .task-manager-row .task-manager-notice.info{border:1px solid #7fdbff;border-left:4px solid #7fdbff;background-color:#e0edf3}.omgf form .omgf-task-manager .task-manager-row .task-manager-notice h4{margin-top:0}.omgf form .omgf-task-manager ul{margin-top:5px;list-style:none;margin-left:.5em;padding-left:0}.omgf form .omgf-task-manager ul li{padding-left:1.5em;text-indent:-2em;line-height:1.5em}.omgf form .omgf-task-manager ul li:before{font-family:dashicons;font-size:16px;vertical-align:-3px}.omgf form .omgf-task-manager ul li.stale:before{content:"\f534";color:#ff851b}.omgf form .omgf-task-manager ul li.found:before{content:"\f15e";color:#2ecc40}.omgf form .omgf-task-manager ul li.not-found:before{content:"\f158";color:#ff4136}.omgf form .omgf-task-manager ul li.stale-cache-notice:before{content:"\f348";color:#0074d9}.omgf form .omgf-task-manager ul li.unloaded:before{content:"\f460";color:#0074d9}.omgf form .advanced-processing-notice{padding:18px 12px;border:1px solid #ececec;border-left:4px solid #ececec}.omgf form .advanced-processing-notice.success{border:1px solid #7fdbff;border-left:4px solid #7fdbff;background-color:#e0edf3}.omgf-optimize-fonts-container{text-align:center;padding:25px 50px;max-width:1024px;margin:20px auto 0 220px;overflow:visible;position:relative}.omgf-optimize-fonts-container .option-title{position:absolute;left:-220px;top:0;font-weight:600;font-size:14px;color:#1d2327}.omgf-optimize-fonts-container h3{font-size:1.3em;margin-top:0}.omgf-optimize-fonts-container .omgf-optimize-fonts-manage{text-align:left}.omgf-optimize-fonts-container .omgf-optimize-fonts-manage table{width:100%;border-collapse:collapse}.omgf-optimize-fonts-container .omgf-optimize-fonts-manage table thead th{width:13%}.omgf-optimize-fonts-container .omgf-optimize-fonts-manage table tbody{border:1px solid #ccd0d4}.omgf-optimize-fonts-container .omgf-optimize-fonts-manage table tbody th{padding:5px 0 0 10px;width:40%}.omgf-optimize-fonts-container .omgf-optimize-fonts-manage table tbody td{padding-bottom:5px;width:13%}.omgf-optimize-fonts-container .omgf-optimize-fonts-manage table tbody td .unload-mass-action{font-size:.9em}.omgf-optimize-fonts-container .omgf-optimize-fonts-manage table tbody td .unload-mass-action:hover{cursor:pointer}.omgf-optimize-fonts-container .omgf-optimize-fonts-manage table tbody td .family{padding:0 10px 0;font-weight:600}.omgf-optimize-fonts-container .omgf-optimize-fonts-manage table tbody tr:last-child td{padding-bottom:10px}.omgf-optimize-fonts-container .omgf-optimize-fonts-description .omgf-optimize-fonts-pros{margin-right:10px}.omgf-optimize-fonts-container .omgf-optimize-fonts-description .omgf-optimize-fonts-cons,.omgf-optimize-fonts-container .omgf-optimize-fonts-description .omgf-optimize-fonts-pros{text-align:left;width:48%;display:inline-block;vertical-align:top}.omgf-optimize-fonts-container .omgf-optimize-fonts-description .omgf-optimize-fonts-cons span:before,.omgf-optimize-fonts-container .omgf-optimize-fonts-description .omgf-optimize-fonts-pros span:before{vertical-align:-4px}.omgf-optimize-fonts-container .omgf-optimize-fonts-description label{font-size:18px;font-weight:700}.omgf-optimize-fonts-container .omgf-optimize-fonts-tooltip{padding:0 15px 5px}.omgf-optimize-fonts-container p,.omgf-optimize-fonts-container ul{text-align:justify}.tooltip{position:relative;font-size:16px;line-height:16px;height:12px}.tooltip .tooltip-text{visibility:hidden;position:absolute;top:100%;left:100%;z-index:10000;background-color:rgba(0,0,0,.75);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:.8em;color:#fff;line-height:1.5;width:250px;padding:10px;margin-left:-125px;border-radius:3px}.tooltip .tooltip-text a{color:#fff}.tooltip .tooltip-text .illustration{margin-top:10px}.tooltip:hover .tooltip-text{visibility:visible}.omgf-warning{color:red;font-weight:600}#omgf-help-form .postbox{padding:0 15px 5px}#omgf-help-form .postbox .column-container{display:flex;flex-flow:row wrap;justify-content:space-between}#omgf-help-form .postbox .column-container .column ul li{margin-bottom:10px}#omgf-help-form .postbox .column-container .column ul li:last-child{margin-bottom:none}#omgf-help-form .postbox .column-container .column ul li a{text-decoration:none;line-height:1.45}#omgf-help-form .postbox .column-container .column ul li a i.dashicons{margin-right:5px;color:#646970}#omgf-help-form .postbox .column-container .column.last{margin-right:45px}#omgf-help-form .postbox .column-container .column.last .signature{text-align:center}#omgf-help-form .postbox .column-container .column.last .signature .dashicons-heart{color:#ff4136}@media only screen and (max-width:782px){.omgf-optimize-fonts-container{margin:20px 0}.omgf-optimize-fonts-container .option-title{position:relative;left:initial;top:initial}}.omgf-loading{position:fixed;background-color:rgba(255,255,255,.6);width:100%;height:100%;top:0;text-align:center}.omgf-loading .spinner{top:50%;left:50%;position:absolute;-ms-transform:translateX(-50%);transform:translateX(-50%)}#footer-thankyou a{vertical-align:-.65em}#footer-thankyou .dashicons.ffwp-heart{vertical-align:middle}#footer-thankyou .dashicons.ffwp-heart:before{color:#ff4136}#footer-thankyou .signature-image{width:96px}
|
1 |
+
.omgf .button-cancel{color:#a00;text-decoration:none;border-color:transparent;box-shadow:none;background:0 0;border-radius:3px;white-space:nowrap}.omgf .button-cancel.omgf-refresh{color:#ff851b}.omgf .button-cancel.omgf-empty,.omgf .button-cancel.omgf-refresh{padding:1px 10px!important}.omgf .button-cancel:hover{cursor:pointer;background:#d54e21;color:#fff;border-color:#d54e21}.omgf .button-cancel:hover#omgf-refresh{color:#fff;background:#ff851b;border-color:#ff851b}.omgf-nav{padding:1em 0 1.5em}.omgf-nav a{cursor:pointer}.omgf-nav .dashicons-before:before{margin-right:.25em;line-height:1.15em}.omgf form{max-width:1350px}.omgf form .dashicons{line-height:15px}.omgf form .omgf-task-manager .task-manager-row{padding-left:0;line-height:1.33}.omgf form .omgf-task-manager .task-manager-row .task-manager-notice{padding:18px 12px;border:1px solid #ececec;border-left:4px solid #ececec}.omgf form .omgf-task-manager .task-manager-row .task-manager-notice ol{margin-left:1em}.omgf form .omgf-task-manager .task-manager-row .task-manager-notice.warning{border:1px solid #ffdc00;border-left:4px solid #ffdc00;background-color:#fffbdf}.omgf form .omgf-task-manager .task-manager-row .task-manager-notice.success{border:1px solid #2ecc40;border-left:4px solid #2ecc40;background-color:#2ecc40}.omgf form .omgf-task-manager .task-manager-row .task-manager-notice.info{border:1px solid #7fdbff;border-left:4px solid #7fdbff;background-color:#e0edf3}.omgf form .omgf-task-manager .task-manager-row .task-manager-notice h4{margin-top:0}.omgf form .omgf-task-manager ul{margin-top:5px;list-style:none;margin-left:.5em;padding-left:0}.omgf form .omgf-task-manager ul li{padding-left:1.5em;text-indent:-2em;line-height:1.5em}.omgf form .omgf-task-manager ul li:before{font-family:dashicons;font-size:16px;vertical-align:-3px}.omgf form .omgf-task-manager ul li.stale:before{content:"\f534";color:#ff851b}.omgf form .omgf-task-manager ul li.found:before{content:"\f15e";color:#2ecc40}.omgf form .omgf-task-manager ul li.not-found:before{content:"\f158";color:#ff4136}.omgf form .omgf-task-manager ul li.stale-cache-notice:before{content:"\f348";color:#0074d9}.omgf form .omgf-task-manager ul li.unloaded:before{content:"\f460";color:#0074d9}.omgf form .advanced-processing-notice{padding:18px 12px;border:1px solid #ececec;border-left:4px solid #ececec}.omgf form .advanced-processing-notice.success{border:1px solid #7fdbff;border-left:4px solid #7fdbff;background-color:#e0edf3}.omgf-optimize-fonts-container{text-align:center;padding:25px 50px;max-width:1024px;margin:20px auto 0 220px;overflow:visible;position:relative}.omgf-optimize-fonts-container .option-title{position:absolute;left:-220px;top:0;font-weight:600;font-size:14px;color:#1d2327}.omgf-optimize-fonts-container h3{font-size:1.3em;margin-top:0}.omgf-optimize-fonts-container .omgf-optimize-fonts-manage{text-align:left}.omgf-optimize-fonts-container .omgf-optimize-fonts-manage #omgf-optimize-preload-warning{position:fixed;top:50%;left:33%;width:33%;padding:20px 40px;background-color:#fff5b5;border:2px solid #ffdc00;border-radius:4px;box-shadow:1px 1px 333px #333;z-index:1000}.omgf-optimize-fonts-container .omgf-optimize-fonts-manage #omgf-optimize-preload-warning .omgf-optimize-preload-warning-close{float:right;font-size:2em;line-height:.45;cursor:pointer}.omgf-optimize-fonts-container .omgf-optimize-fonts-manage table{width:100%;border-collapse:collapse}.omgf-optimize-fonts-container .omgf-optimize-fonts-manage table thead th{width:13%}.omgf-optimize-fonts-container .omgf-optimize-fonts-manage table tbody{border:1px solid #ccd0d4}.omgf-optimize-fonts-container .omgf-optimize-fonts-manage table tbody th{padding:5px 0 0 10px;width:40%}.omgf-optimize-fonts-container .omgf-optimize-fonts-manage table tbody td{padding-bottom:5px;width:13%}.omgf-optimize-fonts-container .omgf-optimize-fonts-manage table tbody td .unload-mass-action{font-size:.9em}.omgf-optimize-fonts-container .omgf-optimize-fonts-manage table tbody td .unload-mass-action:hover{cursor:pointer}.omgf-optimize-fonts-container .omgf-optimize-fonts-manage table tbody td .family{padding:0 10px 0;font-weight:600}.omgf-optimize-fonts-container .omgf-optimize-fonts-manage table tbody tr:last-child td{padding-bottom:10px}.omgf-optimize-fonts-container .omgf-optimize-fonts-description .omgf-optimize-fonts-pros{margin-right:10px}.omgf-optimize-fonts-container .omgf-optimize-fonts-description .omgf-optimize-fonts-cons,.omgf-optimize-fonts-container .omgf-optimize-fonts-description .omgf-optimize-fonts-pros{text-align:left;width:48%;display:inline-block;vertical-align:top}.omgf-optimize-fonts-container .omgf-optimize-fonts-description .omgf-optimize-fonts-cons span:before,.omgf-optimize-fonts-container .omgf-optimize-fonts-description .omgf-optimize-fonts-pros span:before{vertical-align:-4px}.omgf-optimize-fonts-container .omgf-optimize-fonts-description label{font-size:18px;font-weight:700}.omgf-optimize-fonts-container .omgf-optimize-fonts-tooltip{padding:0 15px 5px}.omgf-optimize-fonts-container p,.omgf-optimize-fonts-container ul{text-align:justify}.tooltip{position:relative;font-size:16px;line-height:16px;height:12px}.tooltip .tooltip-text{visibility:hidden;position:absolute;top:100%;left:100%;z-index:10000;background-color:rgba(0,0,0,.75);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:.8em;color:#fff;line-height:1.5;width:250px;padding:10px;margin-left:-125px;border-radius:3px}.tooltip .tooltip-text a{color:#fff}.tooltip .tooltip-text .illustration{margin-top:10px}.tooltip:hover .tooltip-text{visibility:visible}.omgf-warning{color:red;font-weight:600}#omgf-help-form .postbox{padding:0 15px 5px}#omgf-help-form .postbox .column-container{display:flex;flex-flow:row wrap;justify-content:space-between}#omgf-help-form .postbox .column-container .column ul li{margin-bottom:10px}#omgf-help-form .postbox .column-container .column ul li:last-child{margin-bottom:none}#omgf-help-form .postbox .column-container .column ul li a{text-decoration:none;line-height:1.45}#omgf-help-form .postbox .column-container .column ul li a i.dashicons{margin-right:5px;color:#646970}#omgf-help-form .postbox .column-container .column.last{margin-right:45px}#omgf-help-form .postbox .column-container .column.last .signature{text-align:center}#omgf-help-form .postbox .column-container .column.last .signature .dashicons-heart{color:#ff4136}@media only screen and (max-width:782px){.omgf-optimize-fonts-container{margin:20px 0}.omgf-optimize-fonts-container .option-title{position:relative;left:initial;top:initial}}.omgf-loading{position:fixed;background-color:rgba(255,255,255,.6);width:100%;height:100%;top:0;text-align:center}.omgf-loading .spinner{top:50%;left:50%;position:absolute;-ms-transform:translateX(-50%);transform:translateX(-50%)}#footer-thankyou a{vertical-align:-.65em}#footer-thankyou .dashicons.ffwp-heart{vertical-align:middle}#footer-thankyou .dashicons.ffwp-heart:before{color:#ff4136}#footer-thankyou .signature-image{width:96px}
|
host-webfonts-local.php
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
* Plugin Name: OMGF
|
5 |
* Plugin URI: https://daan.dev/wordpress/omgf/
|
6 |
* Description: Increase GDPR/DSVGO compliance, reduce DNS requests and leverage browser cache by automatically downloading Google Fonts to your server.
|
7 |
-
* Version: 5.4.
|
8 |
* Author: Daan from Daan.dev
|
9 |
* Author URI: https://daan.dev
|
10 |
* License: GPL2v2 or later
|
@@ -19,7 +19,7 @@ defined('ABSPATH') || exit;
|
|
19 |
define('OMGF_PLUGIN_DIR', plugin_dir_path(__FILE__));
|
20 |
define('OMGF_PLUGIN_FILE', __FILE__);
|
21 |
define('OMGF_PLUGIN_BASENAME', plugin_basename(OMGF_PLUGIN_FILE));
|
22 |
-
define('OMGF_STATIC_VERSION', '5.4.
|
23 |
define('OMGF_DB_VERSION', '5.3.4');
|
24 |
|
25 |
/**
|
4 |
* Plugin Name: OMGF
|
5 |
* Plugin URI: https://daan.dev/wordpress/omgf/
|
6 |
* Description: Increase GDPR/DSVGO compliance, reduce DNS requests and leverage browser cache by automatically downloading Google Fonts to your server.
|
7 |
+
* Version: 5.4.3
|
8 |
* Author: Daan from Daan.dev
|
9 |
* Author URI: https://daan.dev
|
10 |
* License: GPL2v2 or later
|
19 |
define('OMGF_PLUGIN_DIR', plugin_dir_path(__FILE__));
|
20 |
define('OMGF_PLUGIN_FILE', __FILE__);
|
21 |
define('OMGF_PLUGIN_BASENAME', plugin_basename(OMGF_PLUGIN_FILE));
|
22 |
+
define('OMGF_STATIC_VERSION', '5.4.3');
|
23 |
define('OMGF_DB_VERSION', '5.3.4');
|
24 |
|
25 |
/**
|
includes/class-omgf.php
CHANGED
@@ -60,15 +60,21 @@ class OMGF
|
|
60 |
* [OMGF-73] TODO: Most used Support chat widgets.
|
61 |
*/
|
62 |
const IFRAMES_LOADING_FONTS = [
|
63 |
-
'
|
64 |
-
'
|
65 |
-
'
|
66 |
-
'
|
67 |
-
'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
68 |
];
|
69 |
|
70 |
-
private $plugin_text_domain = 'host-webfonts-local';
|
71 |
-
|
72 |
/**
|
73 |
* @var string $log_file Path where log file is located.
|
74 |
*/
|
@@ -193,6 +199,12 @@ class OMGF
|
|
193 |
/**
|
194 |
* @since v5.3.3 Decode HTML entities to prevent URL decoding issues on some systems.
|
195 |
*
|
|
|
|
|
|
|
|
|
|
|
|
|
196 |
* @filter omgf_optimize_url
|
197 |
*
|
198 |
* @param mixed $url
|
@@ -201,7 +213,7 @@ class OMGF
|
|
201 |
*/
|
202 |
public function decode_url($url)
|
203 |
{
|
204 |
-
return html_entity_decode($url);
|
205 |
}
|
206 |
|
207 |
/**
|
@@ -461,9 +473,9 @@ class OMGF
|
|
461 |
*/
|
462 |
public static function task_manager_warnings()
|
463 |
{
|
464 |
-
if (OMGF_TEST_MODE == 'on') : ?>
|
465 |
-
<tr valign="top">
|
466 |
-
<td colspan="2" class="task-manager-row"
|
467 |
<div class="task-manager-notice info">
|
468 |
<h4><?php echo __('Test Mode is Enabled', 'host-webfonts-local'); ?></h4>
|
469 |
<p>
|
@@ -473,13 +485,23 @@ class OMGF
|
|
473 |
</td>
|
474 |
</tr>
|
475 |
<?php endif;
|
476 |
-
|
477 |
-
|
478 |
-
|
479 |
-
|
480 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
481 |
<div class="task-manager-notice warning">
|
482 |
-
<h4><?php echo sprintf(_n('%s potential conflict found in your configuration.', '%s potential conflicts found in your configuration.', count($warnings), 'host-webfonts-local'), count($warnings));
|
483 |
<ol <?php echo count($warnings) === 1 ? "style='list-style: none; margin-left: 0;'" : ''; ?>>
|
484 |
<?php foreach ($warnings as $warning_id) : ?>
|
485 |
<li id="omgf-notice-<?php echo $warning_id; ?>">
|
@@ -501,11 +523,14 @@ class OMGF
|
|
501 |
</li>
|
502 |
<?php endforeach; ?>
|
503 |
</ol>
|
|
|
|
|
|
|
504 |
</div>
|
505 |
-
|
506 |
-
</
|
507 |
-
|
508 |
-
|
509 |
|
510 |
/**
|
511 |
* Check if WordPress setup has known issues.
|
60 |
* [OMGF-73] TODO: Most used Support chat widgets.
|
61 |
*/
|
62 |
const IFRAMES_LOADING_FONTS = [
|
63 |
+
'active-campaign' => '.activehosted.com/f/embed.php', // ActiveCampaign
|
64 |
+
'channext' => '//content.channext.com/js/', // Channext
|
65 |
+
'conversio' => '//app.conversiobot.com', // Conversio
|
66 |
+
'google-ads' => '//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js', // Google Ads
|
67 |
+
'google-campaign-manager-360' => '//www.googletagservices.com/dcm/dcmads.js', // Google Campaign Manager 360
|
68 |
+
'youtube' => '//www.youtube.com/embed/', // Youtube Embeds
|
69 |
+
'gastronovi' => '//services.gastronovi.com', // Gastronovi
|
70 |
+
'google-maps' => '.google.com/maps', // Google Maps
|
71 |
+
'hubspot' => '.hs-scripts.com/', // Hubspot
|
72 |
+
'manychat' => '//widget.manychat.com/', // ManyChat
|
73 |
+
'recaptcha' => '//www.google.com/recaptcha/api.js', // Recaptcha
|
74 |
+
'tawk.to' => '//embed.tawk.to', // Tawk.to
|
75 |
+
'tidio' => '//code.tidio.co/' // Tidio
|
76 |
];
|
77 |
|
|
|
|
|
78 |
/**
|
79 |
* @var string $log_file Path where log file is located.
|
80 |
*/
|
199 |
/**
|
200 |
* @since v5.3.3 Decode HTML entities to prevent URL decoding issues on some systems.
|
201 |
*
|
202 |
+
* @since v5.4.3 With encoded URLs the Google Fonts API is much more lenient when it comes to invalid requests,
|
203 |
+
* but we need the URL to be decoded in order to properly parsed (parse_str() and parse_url()), etc.
|
204 |
+
* So, as of now, we're trimming invalid characters from the end of the URL. The list will expand
|
205 |
+
* as I run into to them. I'm not going to make any assumptions on what theme/plugin developers
|
206 |
+
* might be doing wrong.
|
207 |
+
*
|
208 |
* @filter omgf_optimize_url
|
209 |
*
|
210 |
* @param mixed $url
|
213 |
*/
|
214 |
public function decode_url($url)
|
215 |
{
|
216 |
+
return rtrim(html_entity_decode($url), ',');
|
217 |
}
|
218 |
|
219 |
/**
|
473 |
*/
|
474 |
public static function task_manager_warnings()
|
475 |
{
|
476 |
+
if (OMGF_TEST_MODE == 'on' && !wp_doing_ajax()) : ?>
|
477 |
+
<tr valign="top" id="task-manager-notice-test-mode-row">
|
478 |
+
<td colspan="2" class="task-manager-row">
|
479 |
<div class="task-manager-notice info">
|
480 |
<h4><?php echo __('Test Mode is Enabled', 'host-webfonts-local'); ?></h4>
|
481 |
<p>
|
485 |
</td>
|
486 |
</tr>
|
487 |
<?php endif;
|
488 |
+
?>
|
489 |
+
<tr valign="top" id="task-manager-notice-row">
|
490 |
+
<td colspan="2" class="task-manager-row">
|
491 |
+
<?php $warnings = self::get_task_manager_warnings();
|
492 |
+
if (empty($warnings)) : ?>
|
493 |
+
<div class="task-manager-notice success">
|
494 |
+
<h4><?php echo __('No potential conflicts found in your configuration.', 'host-webfonts-local'); ?></h4>
|
495 |
+
<ol style="list-style: none; margin-left: 0;">
|
496 |
+
<li><?php echo sprintf(__('Great job! %s hasn\'t detected any potential conflicts in your configuration.*', 'host-webfonts-local'), apply_filters('omgf_settings_page_title', 'OMGF')); ?></li>
|
497 |
+
</ol>
|
498 |
+
<p>
|
499 |
+
<sub>*<em><?php echo __('Check back regularly to make sure no conflicts are detected on any of your subpages.', 'host-webfonts-local'); ?></em></sub>
|
500 |
+
</p>
|
501 |
+
</div>
|
502 |
+
<?php else : ?>
|
503 |
<div class="task-manager-notice warning">
|
504 |
+
<h4><?php echo sprintf(_n('%s potential conflict found in your configuration.', '%s potential conflicts found in your configuration.', count($warnings), 'host-webfonts-local'), count($warnings)); ?>*</h4>
|
505 |
<ol <?php echo count($warnings) === 1 ? "style='list-style: none; margin-left: 0;'" : ''; ?>>
|
506 |
<?php foreach ($warnings as $warning_id) : ?>
|
507 |
<li id="omgf-notice-<?php echo $warning_id; ?>">
|
523 |
</li>
|
524 |
<?php endforeach; ?>
|
525 |
</ol>
|
526 |
+
<p>
|
527 |
+
<sub>*<em><?php echo __('After making the proposed changes where needed, click <strong>Mark as fixed</strong> to remove the notice. It won\'t disappear by itself.', 'host-webfonts-local'); ?></em></sub>
|
528 |
+
</p>
|
529 |
</div>
|
530 |
+
<?php endif; ?>
|
531 |
+
</td>
|
532 |
+
</tr>
|
533 |
+
<?php }
|
534 |
|
535 |
/**
|
536 |
* Check if WordPress setup has known issues.
|
includes/frontend/class-process.php
CHANGED
@@ -640,15 +640,15 @@ class OMGF_Frontend_Process
|
|
640 |
continue;
|
641 |
}
|
642 |
|
643 |
-
$optimize
|
644 |
-
$cached_url = $optimize->process();
|
645 |
|
646 |
-
|
647 |
-
|
648 |
-
|
|
|
649 |
|
650 |
$search[$key] = $stack['href'];
|
651 |
-
$replace[$key] = $cached_url . '?ver=' . $this->timestamp;
|
652 |
}
|
653 |
|
654 |
return ['search' => $search, 'replace' => $replace];
|
@@ -657,13 +657,21 @@ class OMGF_Frontend_Process
|
|
657 |
/**
|
658 |
* Because all great themes come packed with extra Cumulative Layout Shifting.
|
659 |
*
|
|
|
|
|
|
|
660 |
* @param string $tag
|
661 |
*
|
662 |
* @return string
|
663 |
*/
|
664 |
public function remove_mesmerize_filter($tag)
|
665 |
{
|
666 |
-
if (
|
|
|
|
|
|
|
|
|
|
|
667 |
return str_replace('href="" data-href', 'href', $tag);
|
668 |
}
|
669 |
|
640 |
continue;
|
641 |
}
|
642 |
|
643 |
+
$optimize = new OMGF_Optimize($stack['href'], $handle, $original_handle);
|
|
|
644 |
|
645 |
+
/**
|
646 |
+
* @var string $cached_url Absolute URL or empty string.
|
647 |
+
*/
|
648 |
+
$cached_url = $optimize->process();
|
649 |
|
650 |
$search[$key] = $stack['href'];
|
651 |
+
$replace[$key] = $cached_url ? $cached_url . '?ver=' . $this->timestamp : '';
|
652 |
}
|
653 |
|
654 |
return ['search' => $search, 'replace' => $replace];
|
657 |
/**
|
658 |
* Because all great themes come packed with extra Cumulative Layout Shifting.
|
659 |
*
|
660 |
+
* @since v5.4.3 Added compatibility for Highlight Pro; a Mesmerize based theme and Mesmerize,
|
661 |
+
* the non-premium theme.
|
662 |
+
*
|
663 |
* @param string $tag
|
664 |
*
|
665 |
* @return string
|
666 |
*/
|
667 |
public function remove_mesmerize_filter($tag)
|
668 |
{
|
669 |
+
if (
|
670 |
+
(wp_get_theme()->template == 'mesmerize-pro'
|
671 |
+
|| wp_get_theme()->template == 'highlight-pro'
|
672 |
+
|| wp_get_theme()->template == 'mesmerize')
|
673 |
+
&& strpos($tag, 'fonts.googleapis.com') !== false
|
674 |
+
) {
|
675 |
return str_replace('href="" data-href', 'href', $tag);
|
676 |
}
|
677 |
|
includes/optimize/class-run.php
CHANGED
@@ -96,7 +96,7 @@ class OMGF_Optimize_Run
|
|
96 |
add_settings_error('general', 'omgf_optimization_success', __('Optimization completed successfully.', $this->plugin_text_domain) . ' ' . sprintf('<a target="_blank" href="%s">', self::DOCS_TEST_URL) . __('How can I verify it\'s working?', $this->plugin_text_domain) . '</a>', 'success');
|
97 |
|
98 |
OMGF_Admin_Notice::set_notice(
|
99 |
-
__('
|
100 |
'omgf-cache-notice',
|
101 |
'warning'
|
102 |
);
|
@@ -112,7 +112,7 @@ class OMGF_Optimize_Run
|
|
112 |
$response = $response->as_error();
|
113 |
}
|
114 |
|
115 |
-
add_settings_error('general', 'omgf_frontend_fetch_failed', __('
|
116 |
}
|
117 |
|
118 |
/**
|
96 |
add_settings_error('general', 'omgf_optimization_success', __('Optimization completed successfully.', $this->plugin_text_domain) . ' ' . sprintf('<a target="_blank" href="%s">', self::DOCS_TEST_URL) . __('How can I verify it\'s working?', $this->plugin_text_domain) . '</a>', 'success');
|
97 |
|
98 |
OMGF_Admin_Notice::set_notice(
|
99 |
+
sprintf(__('Make sure you flush any caches of 3rd party plugins you\'re using (e.g. Revolution Slider, WP Rocket, Autoptimize, W3 Total Cache, etc.) to allow %s\'s optimizations to take effect. ', $this->plugin_text_domain), apply_filters('omgf_settings_page_title', 'OMGF')),
|
100 |
'omgf-cache-notice',
|
101 |
'warning'
|
102 |
);
|
112 |
$response = $response->as_error();
|
113 |
}
|
114 |
|
115 |
+
add_settings_error('general', 'omgf_frontend_fetch_failed', sprintf(__('%s encountered an error while fetching this site\'s frontend HTML', $this->plugin_text_domain), apply_filters('omgf_settings_page_title', 'OMGF')) . ': ' . $this->get_error_code($response) . ' - ' . $this->get_error_message($response), 'error');
|
116 |
}
|
117 |
|
118 |
/**
|
readme.txt
CHANGED
@@ -2,8 +2,8 @@
|
|
2 |
Contributors: DaanvandenBergh
|
3 |
Tags: google, fonts, gdpr, dsvgo, cache, speed, preload, font-display, webfonts, subsets, remove, minimize, external, requests
|
4 |
Requires at least: 4.6
|
5 |
-
Tested up to: 6.
|
6 |
-
Stable tag: 5.4.
|
7 |
Requires PHP: 7.0
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
@@ -76,6 +76,23 @@ For the FAQ, [click here](https://daan.dev/docs/omgf-pro-faq/).
|
|
76 |
|
77 |
== Changelog ==
|
78 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
79 |
= 5.4.2 | October 18th, 2022 =
|
80 |
* Added: Groovy Menu compatibility
|
81 |
* Added: OMGF now shows a dismissable warning when you're selecting a lot of preloads.
|
2 |
Contributors: DaanvandenBergh
|
3 |
Tags: google, fonts, gdpr, dsvgo, cache, speed, preload, font-display, webfonts, subsets, remove, minimize, external, requests
|
4 |
Requires at least: 4.6
|
5 |
+
Tested up to: 6.1
|
6 |
+
Stable tag: 5.4.3
|
7 |
Requires PHP: 7.0
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
76 |
|
77 |
== Changelog ==
|
78 |
|
79 |
+
= 5.4.3 | November 7th, 2022 =
|
80 |
+
* Tested with WP 6.1
|
81 |
+
* OMGF will now warn you when it detects you're using the following scripts loading Google Fonts in iframes:
|
82 |
+
- Active Campaign
|
83 |
+
- Channext
|
84 |
+
- Conversio
|
85 |
+
- Gastronovi
|
86 |
+
- Google Campaign Manager 360
|
87 |
+
- HubSpot
|
88 |
+
- ManyChat
|
89 |
+
- Tidio
|
90 |
+
* Improved: Success message if no conflicts were detected to clarify the use of the Task Manager.
|
91 |
+
* Improved: Notify users that they have to "Mark" possible detected conflicts as "fixed" themselves.
|
92 |
+
* Improved: Bad Requests (400) to the Google Fonts API are now removed from the source code.
|
93 |
+
* Improved: trim invalid characters from end of requests to the Google Fonts API.
|
94 |
+
* Added: compatibility with Mesmerize theme.
|
95 |
+
|
96 |
= 5.4.2 | October 18th, 2022 =
|
97 |
* Added: Groovy Menu compatibility
|
98 |
* Added: OMGF now shows a dismissable warning when you're selecting a lot of preloads.
|