Version Description
| February 16th, 2022 = * Fixed: Loading spinner wasn't center aligned. * Added: Force Optimization Mode Task Manager. - Offers an easy overview of downloaded stylesheets and where they're stored, - Indicates stale cache files. * Added: Clearer explanation of when to use Scan Posts/Pages VS Force Optimization Mode. * Fixed: Cache handles weren't removed when cache directory was emptied. * Fixed: Tooltip in Manage Optimized Fonts section wasn't aligned properly. * Renamed: Manual Optimization Mode to Force and Automatic to Scan Posts/Pages.
Download this release
Release Info
Developer | DaanvandenBergh |
Plugin | OMGF | GDPR/DSVGO Compliant, Faster Google Fonts. Easy. |
Version | 4.6.0 |
Comparing to | |
See all releases |
Code changes from version 4.5.19 to 4.6.0
- assets/css/omgf-admin.css +111 -3
- assets/css/omgf-admin.css.map +1 -1
- assets/css/omgf-admin.less +99 -3
- assets/css/omgf-admin.min.css +1 -1
- assets/js/omgf-admin.js +13 -0
- host-webfonts-local.php +4 -4
- includes/admin/class-settings.php +2 -2
- includes/admin/settings/class-optimize.php +92 -42
- includes/class-ajax.php +1 -0
- includes/class-omgf.php +1 -1
- includes/class-optimize.php +1 -1
- includes/optimization-mode/class-manual.php +1 -1
- readme.txt +17 -7
assets/css/omgf-admin.css
CHANGED
@@ -44,6 +44,114 @@
|
|
44 |
margin-right: 0.25em;
|
45 |
line-height: 1.15em;
|
46 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
47 |
.omgf-optimize-fonts-container {
|
48 |
text-align: center;
|
49 |
padding: 25px 50px;
|
@@ -74,7 +182,7 @@
|
|
74 |
.omgf-optimize-fonts-container .omgf-optimize-fonts-manage table .tooltip {
|
75 |
position: relative;
|
76 |
font-size: 16px;
|
77 |
-
line-height:
|
78 |
}
|
79 |
.omgf-optimize-fonts-container .omgf-optimize-fonts-manage table .tooltip .tooltip-text {
|
80 |
visibility: hidden;
|
@@ -208,8 +316,8 @@
|
|
208 |
top: 50%;
|
209 |
left: 50%;
|
210 |
position: absolute;
|
211 |
-
-ms-transform:
|
212 |
-
transform:
|
213 |
}
|
214 |
/**
|
215 |
* Welcome Block
|
44 |
margin-right: 0.25em;
|
45 |
line-height: 1.15em;
|
46 |
}
|
47 |
+
.omgf form {
|
48 |
+
max-width: 1350px;
|
49 |
+
}
|
50 |
+
.omgf form .dashicons {
|
51 |
+
line-height: 15px;
|
52 |
+
}
|
53 |
+
.omgf form .omgf-manual-optimization-mode .pro-con-container,
|
54 |
+
.omgf form .omgf-automatic-optimization-mode .pro-con-container {
|
55 |
+
display: flex;
|
56 |
+
justify-content: center;
|
57 |
+
}
|
58 |
+
.omgf form .omgf-manual-optimization-mode .pro-con-container .pros,
|
59 |
+
.omgf form .omgf-automatic-optimization-mode .pro-con-container .pros,
|
60 |
+
.omgf form .omgf-manual-optimization-mode .pro-con-container .cons,
|
61 |
+
.omgf form .omgf-automatic-optimization-mode .pro-con-container .cons {
|
62 |
+
width: 50%;
|
63 |
+
}
|
64 |
+
.omgf form .omgf-manual-optimization-mode .pro-con-container .pros .pros-list,
|
65 |
+
.omgf form .omgf-automatic-optimization-mode .pro-con-container .pros .pros-list,
|
66 |
+
.omgf form .omgf-manual-optimization-mode .pro-con-container .cons .pros-list,
|
67 |
+
.omgf form .omgf-automatic-optimization-mode .pro-con-container .cons .pros-list,
|
68 |
+
.omgf form .omgf-manual-optimization-mode .pro-con-container .pros .cons-list,
|
69 |
+
.omgf form .omgf-automatic-optimization-mode .pro-con-container .pros .cons-list,
|
70 |
+
.omgf form .omgf-manual-optimization-mode .pro-con-container .cons .cons-list,
|
71 |
+
.omgf form .omgf-automatic-optimization-mode .pro-con-container .cons .cons-list {
|
72 |
+
list-style: none;
|
73 |
+
margin-left: 0;
|
74 |
+
padding-left: 0;
|
75 |
+
}
|
76 |
+
.omgf form .omgf-manual-optimization-mode .pro-con-container .pros .pros-list li,
|
77 |
+
.omgf form .omgf-automatic-optimization-mode .pro-con-container .pros .pros-list li,
|
78 |
+
.omgf form .omgf-manual-optimization-mode .pro-con-container .cons .pros-list li,
|
79 |
+
.omgf form .omgf-automatic-optimization-mode .pro-con-container .cons .pros-list li,
|
80 |
+
.omgf form .omgf-manual-optimization-mode .pro-con-container .pros .cons-list li,
|
81 |
+
.omgf form .omgf-automatic-optimization-mode .pro-con-container .pros .cons-list li,
|
82 |
+
.omgf form .omgf-manual-optimization-mode .pro-con-container .cons .cons-list li,
|
83 |
+
.omgf form .omgf-automatic-optimization-mode .pro-con-container .cons .cons-list li {
|
84 |
+
padding-left: 1.5em;
|
85 |
+
text-indent: -2em;
|
86 |
+
line-height: 18px;
|
87 |
+
}
|
88 |
+
.omgf form .omgf-manual-optimization-mode .pro-con-container .pros .pros-list li:before,
|
89 |
+
.omgf form .omgf-automatic-optimization-mode .pro-con-container .pros .pros-list li:before,
|
90 |
+
.omgf form .omgf-manual-optimization-mode .pro-con-container .cons .pros-list li:before,
|
91 |
+
.omgf form .omgf-automatic-optimization-mode .pro-con-container .cons .pros-list li:before,
|
92 |
+
.omgf form .omgf-manual-optimization-mode .pro-con-container .pros .cons-list li:before,
|
93 |
+
.omgf form .omgf-automatic-optimization-mode .pro-con-container .pros .cons-list li:before,
|
94 |
+
.omgf form .omgf-manual-optimization-mode .pro-con-container .cons .cons-list li:before,
|
95 |
+
.omgf form .omgf-automatic-optimization-mode .pro-con-container .cons .cons-list li:before {
|
96 |
+
font-family: 'dashicons';
|
97 |
+
font-size: 18px;
|
98 |
+
vertical-align: middle;
|
99 |
+
margin-right: 0.5em;
|
100 |
+
}
|
101 |
+
.omgf form .omgf-manual-optimization-mode .pro-con-container .pros .pros-list li:before,
|
102 |
+
.omgf form .omgf-automatic-optimization-mode .pro-con-container .pros .pros-list li:before,
|
103 |
+
.omgf form .omgf-manual-optimization-mode .pro-con-container .cons .pros-list li:before,
|
104 |
+
.omgf form .omgf-automatic-optimization-mode .pro-con-container .cons .pros-list li:before {
|
105 |
+
content: "\f147";
|
106 |
+
color: #2ECC40;
|
107 |
+
}
|
108 |
+
.omgf form .omgf-manual-optimization-mode .pro-con-container .pros .cons-list li:before,
|
109 |
+
.omgf form .omgf-automatic-optimization-mode .pro-con-container .pros .cons-list li:before,
|
110 |
+
.omgf form .omgf-manual-optimization-mode .pro-con-container .cons .cons-list li:before,
|
111 |
+
.omgf form .omgf-automatic-optimization-mode .pro-con-container .cons .cons-list li:before {
|
112 |
+
content: "\f158";
|
113 |
+
color: #FF4136;
|
114 |
+
}
|
115 |
+
.omgf form .omgf-manual-optimization-mode .status,
|
116 |
+
.omgf form .omgf-automatic-optimization-mode .status {
|
117 |
+
padding-left: 0;
|
118 |
+
line-height: 1;
|
119 |
+
}
|
120 |
+
.omgf form .omgf-manual-optimization-mode .status ul,
|
121 |
+
.omgf form .omgf-automatic-optimization-mode .status ul {
|
122 |
+
margin-top: 5px;
|
123 |
+
list-style: none;
|
124 |
+
margin-left: 0;
|
125 |
+
padding-left: 0;
|
126 |
+
}
|
127 |
+
.omgf form .omgf-manual-optimization-mode .status ul li,
|
128 |
+
.omgf form .omgf-automatic-optimization-mode .status ul li {
|
129 |
+
padding-left: 1.5em;
|
130 |
+
text-indent: -2em;
|
131 |
+
line-height: 18px;
|
132 |
+
}
|
133 |
+
.omgf form .omgf-manual-optimization-mode .status ul li:before,
|
134 |
+
.omgf form .omgf-automatic-optimization-mode .status ul li:before {
|
135 |
+
font-family: 'dashicons';
|
136 |
+
font-size: 18px;
|
137 |
+
vertical-align: middle;
|
138 |
+
margin-right: 0.5em;
|
139 |
+
}
|
140 |
+
.omgf form .omgf-manual-optimization-mode .status ul li.stale:before,
|
141 |
+
.omgf form .omgf-automatic-optimization-mode .status ul li.stale:before {
|
142 |
+
content: "\f534";
|
143 |
+
color: #FF851B;
|
144 |
+
}
|
145 |
+
.omgf form .omgf-manual-optimization-mode .status ul li.found:before,
|
146 |
+
.omgf form .omgf-automatic-optimization-mode .status ul li.found:before {
|
147 |
+
content: "\f147";
|
148 |
+
color: #2ECC40;
|
149 |
+
}
|
150 |
+
.omgf form .omgf-manual-optimization-mode .status ul li.not-found:before,
|
151 |
+
.omgf form .omgf-automatic-optimization-mode .status ul li.not-found:before {
|
152 |
+
content: "\f158";
|
153 |
+
color: #FF4136;
|
154 |
+
}
|
155 |
.omgf-optimize-fonts-container {
|
156 |
text-align: center;
|
157 |
padding: 25px 50px;
|
182 |
.omgf-optimize-fonts-container .omgf-optimize-fonts-manage table .tooltip {
|
183 |
position: relative;
|
184 |
font-size: 16px;
|
185 |
+
line-height: 16px;
|
186 |
}
|
187 |
.omgf-optimize-fonts-container .omgf-optimize-fonts-manage table .tooltip .tooltip-text {
|
188 |
visibility: hidden;
|
316 |
top: 50%;
|
317 |
left: 50%;
|
318 |
position: absolute;
|
319 |
+
-ms-transform: translateX(-50%);
|
320 |
+
transform: translateX(-50%);
|
321 |
}
|
322 |
/**
|
323 |
* Welcome Block
|
assets/css/omgf-admin.css.map
CHANGED
@@ -1 +1 @@
|
|
1 |
-
{"version":3,"sources":["omgf-admin.less"],"names":[],"mappings":"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
|
1 |
+
{"version":3,"sources":["omgf-admin.less"],"names":[],"mappings":"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"}
|
assets/css/omgf-admin.less
CHANGED
@@ -52,6 +52,102 @@
|
|
52 |
}
|
53 |
}
|
54 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
55 |
.omgf-optimize-fonts-container {
|
56 |
text-align: center;
|
57 |
padding: 25px 50px;
|
@@ -84,7 +180,7 @@
|
|
84 |
.tooltip {
|
85 |
position: relative;
|
86 |
font-size: 16px;
|
87 |
-
line-height:
|
88 |
|
89 |
.tooltip-text {
|
90 |
visibility: hidden;
|
@@ -265,8 +361,8 @@
|
|
265 |
top: 50%;
|
266 |
left: 50%;
|
267 |
position: absolute;
|
268 |
-
-ms-transform:
|
269 |
-
transform:
|
270 |
}
|
271 |
}
|
272 |
|
52 |
}
|
53 |
}
|
54 |
|
55 |
+
.omgf form {
|
56 |
+
max-width: 1350px;
|
57 |
+
|
58 |
+
.dashicons {
|
59 |
+
line-height: 15px;
|
60 |
+
|
61 |
+
}
|
62 |
+
|
63 |
+
.omgf-manual-optimization-mode,
|
64 |
+
.omgf-automatic-optimization-mode {
|
65 |
+
.pro-con-container {
|
66 |
+
display: flex;
|
67 |
+
justify-content: center;
|
68 |
+
|
69 |
+
.pros, .cons {
|
70 |
+
width: 50%;
|
71 |
+
|
72 |
+
.pros-list,
|
73 |
+
.cons-list {
|
74 |
+
list-style: none;
|
75 |
+
margin-left: 0;
|
76 |
+
padding-left: 0;
|
77 |
+
|
78 |
+
li {
|
79 |
+
padding-left: 1.5em;
|
80 |
+
text-indent: -2em;
|
81 |
+
line-height: 18px;
|
82 |
+
}
|
83 |
+
|
84 |
+
li:before {
|
85 |
+
font-family: 'dashicons';
|
86 |
+
font-size: 18px;
|
87 |
+
vertical-align: middle;
|
88 |
+
margin-right: .5em;
|
89 |
+
}
|
90 |
+
}
|
91 |
+
|
92 |
+
.pros-list {
|
93 |
+
li:before {
|
94 |
+
content: "\f147";
|
95 |
+
color: #2ECC40;
|
96 |
+
}
|
97 |
+
}
|
98 |
+
|
99 |
+
.cons-list {
|
100 |
+
li:before {
|
101 |
+
content: "\f158";
|
102 |
+
color: #FF4136;
|
103 |
+
}
|
104 |
+
}
|
105 |
+
}
|
106 |
+
}
|
107 |
+
|
108 |
+
.status {
|
109 |
+
padding-left: 0;
|
110 |
+
line-height: 1;
|
111 |
+
|
112 |
+
ul {
|
113 |
+
margin-top: 5px;
|
114 |
+
list-style: none;
|
115 |
+
margin-left: 0;
|
116 |
+
padding-left: 0;
|
117 |
+
|
118 |
+
li {
|
119 |
+
padding-left: 1.5em;
|
120 |
+
text-indent: -2em;
|
121 |
+
line-height: 18px;
|
122 |
+
|
123 |
+
&:before {
|
124 |
+
font-family: 'dashicons';
|
125 |
+
font-size: 18px;
|
126 |
+
vertical-align: middle;
|
127 |
+
margin-right: .5em;
|
128 |
+
}
|
129 |
+
|
130 |
+
&.stale:before {
|
131 |
+
content: "\f534";
|
132 |
+
color: #FF851B;
|
133 |
+
}
|
134 |
+
|
135 |
+
&.found:before {
|
136 |
+
content: "\f147";
|
137 |
+
color: #2ECC40;
|
138 |
+
}
|
139 |
+
|
140 |
+
&.not-found:before {
|
141 |
+
content: "\f158";
|
142 |
+
color: #FF4136;
|
143 |
+
}
|
144 |
+
}
|
145 |
+
|
146 |
+
}
|
147 |
+
}
|
148 |
+
}
|
149 |
+
}
|
150 |
+
|
151 |
.omgf-optimize-fonts-container {
|
152 |
text-align: center;
|
153 |
padding: 25px 50px;
|
180 |
.tooltip {
|
181 |
position: relative;
|
182 |
font-size: 16px;
|
183 |
+
line-height: 16px;
|
184 |
|
185 |
.tooltip-text {
|
186 |
visibility: hidden;
|
361 |
top: 50%;
|
362 |
left: 50%;
|
363 |
position: absolute;
|
364 |
+
-ms-transform: translateX(-50%);
|
365 |
+
transform: translateX(-50%);
|
366 |
}
|
367 |
}
|
368 |
|
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;padding:1px 10px!important}.omgf .button-cancel:hover{cursor:pointer;background:#d54e21;color:#fff;border-color:#d54e21}.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-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 .tooltip{position:relative;font-size:16px;line-height:
|
1 |
+
.omgf .button-cancel{color:#a00;text-decoration:none;border-color:transparent;box-shadow:none;background:0 0;border-radius:3px;white-space:nowrap;padding:1px 10px!important}.omgf .button-cancel:hover{cursor:pointer;background:#d54e21;color:#fff;border-color:#d54e21}.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-automatic-optimization-mode .pro-con-container,.omgf form .omgf-manual-optimization-mode .pro-con-container{display:flex;justify-content:center}.omgf form .omgf-automatic-optimization-mode .pro-con-container .cons,.omgf form .omgf-automatic-optimization-mode .pro-con-container .pros,.omgf form .omgf-manual-optimization-mode .pro-con-container .cons,.omgf form .omgf-manual-optimization-mode .pro-con-container .pros{width:50%}.omgf form .omgf-automatic-optimization-mode .pro-con-container .cons .cons-list,.omgf form .omgf-automatic-optimization-mode .pro-con-container .cons .pros-list,.omgf form .omgf-automatic-optimization-mode .pro-con-container .pros .cons-list,.omgf form .omgf-automatic-optimization-mode .pro-con-container .pros .pros-list,.omgf form .omgf-manual-optimization-mode .pro-con-container .cons .cons-list,.omgf form .omgf-manual-optimization-mode .pro-con-container .cons .pros-list,.omgf form .omgf-manual-optimization-mode .pro-con-container .pros .cons-list,.omgf form .omgf-manual-optimization-mode .pro-con-container .pros .pros-list{list-style:none;margin-left:0;padding-left:0}.omgf form .omgf-automatic-optimization-mode .pro-con-container .cons .cons-list li,.omgf form .omgf-automatic-optimization-mode .pro-con-container .cons .pros-list li,.omgf form .omgf-automatic-optimization-mode .pro-con-container .pros .cons-list li,.omgf form .omgf-automatic-optimization-mode .pro-con-container .pros .pros-list li,.omgf form .omgf-manual-optimization-mode .pro-con-container .cons .cons-list li,.omgf form .omgf-manual-optimization-mode .pro-con-container .cons .pros-list li,.omgf form .omgf-manual-optimization-mode .pro-con-container .pros .cons-list li,.omgf form .omgf-manual-optimization-mode .pro-con-container .pros .pros-list li{padding-left:1.5em;text-indent:-2em;line-height:18px}.omgf form .omgf-automatic-optimization-mode .pro-con-container .cons .cons-list li:before,.omgf form .omgf-automatic-optimization-mode .pro-con-container .cons .pros-list li:before,.omgf form .omgf-automatic-optimization-mode .pro-con-container .pros .cons-list li:before,.omgf form .omgf-automatic-optimization-mode .pro-con-container .pros .pros-list li:before,.omgf form .omgf-manual-optimization-mode .pro-con-container .cons .cons-list li:before,.omgf form .omgf-manual-optimization-mode .pro-con-container .cons .pros-list li:before,.omgf form .omgf-manual-optimization-mode .pro-con-container .pros .cons-list li:before,.omgf form .omgf-manual-optimization-mode .pro-con-container .pros .pros-list li:before{font-family:dashicons;font-size:18px;vertical-align:middle;margin-right:.5em}.omgf form .omgf-automatic-optimization-mode .pro-con-container .cons .pros-list li:before,.omgf form .omgf-automatic-optimization-mode .pro-con-container .pros .pros-list li:before,.omgf form .omgf-manual-optimization-mode .pro-con-container .cons .pros-list li:before,.omgf form .omgf-manual-optimization-mode .pro-con-container .pros .pros-list li:before{content:"\f147";color:#2ecc40}.omgf form .omgf-automatic-optimization-mode .pro-con-container .cons .cons-list li:before,.omgf form .omgf-automatic-optimization-mode .pro-con-container .pros .cons-list li:before,.omgf form .omgf-manual-optimization-mode .pro-con-container .cons .cons-list li:before,.omgf form .omgf-manual-optimization-mode .pro-con-container .pros .cons-list li:before{content:"\f158";color:#ff4136}.omgf form .omgf-automatic-optimization-mode .status,.omgf form .omgf-manual-optimization-mode .status{padding-left:0;line-height:1}.omgf form .omgf-automatic-optimization-mode .status ul,.omgf form .omgf-manual-optimization-mode .status ul{margin-top:5px;list-style:none;margin-left:0;padding-left:0}.omgf form .omgf-automatic-optimization-mode .status ul li,.omgf form .omgf-manual-optimization-mode .status ul li{padding-left:1.5em;text-indent:-2em;line-height:18px}.omgf form .omgf-automatic-optimization-mode .status ul li:before,.omgf form .omgf-manual-optimization-mode .status ul li:before{font-family:dashicons;font-size:18px;vertical-align:middle;margin-right:.5em}.omgf form .omgf-automatic-optimization-mode .status ul li.stale:before,.omgf form .omgf-manual-optimization-mode .status ul li.stale:before{content:"\f534";color:#ff851b}.omgf form .omgf-automatic-optimization-mode .status ul li.found:before,.omgf form .omgf-manual-optimization-mode .status ul li.found:before{content:"\f147";color:#2ecc40}.omgf form .omgf-automatic-optimization-mode .status ul li.not-found:before,.omgf form .omgf-manual-optimization-mode .status ul li.not-found:before{content:"\f158";color:#ff4136}.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 .tooltip{position:relative;font-size:16px;line-height:16px}.omgf-optimize-fonts-container .omgf-optimize-fonts-manage table .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}.omgf-optimize-fonts-container .omgf-optimize-fonts-manage table .tooltip .tooltip-text .illustration{margin-top:10px}.omgf-optimize-fonts-container .omgf-optimize-fonts-manage table .tooltip:hover .tooltip-text{visibility:visible}.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 .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-description #omgf_manual_optimize_url{font-size:18px;padding:0 15px;margin-left:10px}.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}#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}
|
assets/js/omgf-admin.js
CHANGED
@@ -29,6 +29,9 @@ jQuery(document).ready(function ($) {
|
|
29 |
init: function () {
|
30 |
// Settings
|
31 |
$('input[name="omgf_optimization_mode"]').on('click', this.toggle_optimization_mode_content);
|
|
|
|
|
|
|
32 |
$('.omgf-optimize-fonts-manage .unload').on('change', this.unload_stylesheets);
|
33 |
$('.omgf-optimize-fonts-manage .unload, .omgf-optimize-fonts-manage .fallback-font-stack select').on('change', this.generate_cache_key);
|
34 |
$('.omgf-optimize-fonts-manage .unload').on('change', this.toggle_preload);
|
@@ -77,6 +80,16 @@ jQuery(document).ready(function ($) {
|
|
77 |
}
|
78 |
},
|
79 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
80 |
/**
|
81 |
* Populates the omgf_unload_stylesheets hidden field.
|
82 |
*/
|
29 |
init: function () {
|
30 |
// Settings
|
31 |
$('input[name="omgf_optimization_mode"]').on('click', this.toggle_optimization_mode_content);
|
32 |
+
$('input[name="omgf_optimization_mode"]').on('change', this.toggle_manual_optimization_mode_section);
|
33 |
+
$('#omgf-save-optimize').on('click', function () { $('#omgf-optimize-settings-form #submit').click(); });
|
34 |
+
$('#omgf-stale-cache').on('click', function () { $('#omgf-empty').click(); });
|
35 |
$('.omgf-optimize-fonts-manage .unload').on('change', this.unload_stylesheets);
|
36 |
$('.omgf-optimize-fonts-manage .unload, .omgf-optimize-fonts-manage .fallback-font-stack select').on('change', this.generate_cache_key);
|
37 |
$('.omgf-optimize-fonts-manage .unload').on('change', this.toggle_preload);
|
80 |
}
|
81 |
},
|
82 |
|
83 |
+
toggle_manual_optimization_mode_section: function () {
|
84 |
+
var section = $('.omgf-manual-optimization-mode');
|
85 |
+
|
86 |
+
if (this.value == 'manual') {
|
87 |
+
section.show();
|
88 |
+
} else {
|
89 |
+
section.hide();
|
90 |
+
}
|
91 |
+
},
|
92 |
+
|
93 |
/**
|
94 |
* Populates the omgf_unload_stylesheets hidden field.
|
95 |
*/
|
host-webfonts-local.php
CHANGED
@@ -2,9 +2,9 @@
|
|
2 |
|
3 |
/**
|
4 |
* Plugin Name: OMGF
|
5 |
-
* Plugin URI: https://
|
6 |
-
* Description:
|
7 |
-
* Version: 4.
|
8 |
* Author: Daan from FFW.Press
|
9 |
* Author URI: https://ffw.press
|
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', '4.
|
23 |
define('OMGF_DB_VERSION', '4.5.1');
|
24 |
|
25 |
/**
|
2 |
|
3 |
/**
|
4 |
* Plugin Name: OMGF
|
5 |
+
* Plugin URI: https://ffw.press/wordpress/omgf/
|
6 |
+
* Description: Increase GDPR compliance, reduce DNS requests and leverage browser cache by automatically downloading Google Fonts to your server.
|
7 |
+
* Version: 4.6.0
|
8 |
* Author: Daan from FFW.Press
|
9 |
* Author URI: https://ffw.press
|
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', '4.6.0');
|
23 |
define('OMGF_DB_VERSION', '4.5.1');
|
24 |
|
25 |
/**
|
includes/admin/class-settings.php
CHANGED
@@ -38,8 +38,8 @@ class OMGF_Admin_Settings extends OMGF_Admin
|
|
38 |
* Option Values
|
39 |
*/
|
40 |
const OMGF_OPTIMIZATION_MODE = [
|
41 |
-
'manual' => '
|
42 |
-
'auto' => '
|
43 |
];
|
44 |
const OMGF_FONT_PROCESSING_OPTIONS = [
|
45 |
'replace' => 'Replace (default)',
|
38 |
* Option Values
|
39 |
*/
|
40 |
const OMGF_OPTIMIZATION_MODE = [
|
41 |
+
'manual' => 'Force (default)',
|
42 |
+
'auto' => 'Scan Posts/Pages (Pro)'
|
43 |
];
|
44 |
const OMGF_FONT_PROCESSING_OPTIONS = [
|
45 |
'replace' => 'Replace (default)',
|
includes/admin/settings/class-optimize.php
CHANGED
@@ -33,10 +33,19 @@ class OMGF_Admin_Settings_Optimize extends OMGF_Admin_Settings_Builder
|
|
33 |
$this->title = __('Optimize Google Fonts', $this->plugin_text_domain);
|
34 |
|
35 |
add_filter('omgf_optimize_settings_content', [$this, 'do_title'], 10);
|
36 |
-
add_filter('omgf_optimize_settings_content', [$this, 'do_description'],
|
37 |
|
38 |
add_filter('omgf_optimize_settings_content', [$this, 'do_before'], 20);
|
39 |
-
add_filter('omgf_optimize_settings_content', [$this, 'do_optimization_mode'],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
40 |
add_filter('omgf_optimize_settings_content', [$this, 'do_promo_combine_requests'], 40);
|
41 |
add_filter('omgf_optimize_settings_content', [$this, 'do_display_option'], 50);
|
42 |
add_filter('omgf_optimize_settings_content', [$this, 'do_promo_force_font_display'], 60);
|
@@ -79,10 +88,89 @@ class OMGF_Admin_Settings_Optimize extends OMGF_Admin_Settings_Builder
|
|
79 |
OMGF_Admin_Settings::OMGF_OPTIMIZATION_MODE,
|
80 |
OMGF_Admin_Settings::OMGF_OPTIMIZE_SETTING_OPTIMIZATION_MODE,
|
81 |
OMGF_OPTIMIZATION_MODE,
|
82 |
-
__('<strong>
|
83 |
);
|
84 |
}
|
85 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
86 |
/**
|
87 |
*
|
88 |
*/
|
@@ -300,25 +388,6 @@ class OMGF_Admin_Settings_Optimize extends OMGF_Admin_Settings_Builder
|
|
300 |
{
|
301 |
?>
|
302 |
<div class="omgf-optimize-fonts-manual" <?= OMGF_OPTIMIZATION_MODE == 'manual' ? '' : 'style="display: none;"'; ?>>
|
303 |
-
<p>
|
304 |
-
<?= sprintf(__("You've chosen to <strong>optimize your Google Fonts manually</strong>. OMGF will <u>not</u> run automatically and will <strong>%s</strong> the requested Google Fonts throughout your website that were captured on the post/page you defined. A Cross-Browser compatible stylesheet will be generated for all requested Google Fonts.", $this->plugin_text_domain), OMGF_FONT_PROCESSING); ?>
|
305 |
-
</p>
|
306 |
-
<div class="omgf-optimize-fonts-pros">
|
307 |
-
<h3>
|
308 |
-
<span class="dashicons-before dashicons-yes"></span> <?= __('Pros:', $this->plugin_text_domain); ?>
|
309 |
-
</h3>
|
310 |
-
<ul>
|
311 |
-
<li><?= __('Force one stylesheet to be used throughout the site.', $this->plugin_text_domain); ?></li>
|
312 |
-
</ul>
|
313 |
-
</div>
|
314 |
-
<div class="omgf-optimize-fonts-cons">
|
315 |
-
<h3>
|
316 |
-
<span class="dashicons-before dashicons-no"></span> <?= __('Cons', $this->plugin_text_domain); ?>
|
317 |
-
</h3>
|
318 |
-
<ul>
|
319 |
-
<li><?= __('A font that is only used on a few pages might be lost if one of those URLs isn\'t scanned for fonts.', $this->plugin_text_domain); ?></li>
|
320 |
-
</ul>
|
321 |
-
</div>
|
322 |
<p>
|
323 |
<?= __('Enter the URL of the post/page you\'d like to scan for Google Fonts. The detected and optimized stylesheets will be applied on all pages where they\'re used.', $this->plugin_text_domain); ?>
|
324 |
</p>
|
@@ -343,29 +412,10 @@ class OMGF_Admin_Settings_Optimize extends OMGF_Admin_Settings_Builder
|
|
343 |
{
|
344 |
?>
|
345 |
<div class="omgf-optimize-fonts-automatic" <?= OMGF_OPTIMIZATION_MODE == 'auto' ? '' : 'style="display: none;"'; ?>>
|
346 |
-
<p>
|
347 |
-
<?= sprintf(__("You've chosen to <strong>optimize your Google Fonts automatically</strong>. OMGF will run silently in the background and <strong>%s</strong> all requested Google Fonts. If the captured stylesheet doesn't exist yet, a call is sent to OMGF's Download API to download the font files and generate a Cross-Browser compatible stylesheet.", $this->plugin_text_domain), OMGF_FONT_PROCESSING); ?>
|
348 |
-
</p>
|
349 |
-
<div class="omgf-optimize-fonts-pros">
|
350 |
-
<h3>
|
351 |
-
<span class="dashicons-before dashicons-yes"></span> <?= __('Pros:', $this->plugin_text_domain); ?>
|
352 |
-
</h3>
|
353 |
-
<ul>
|
354 |
-
<li><?= __('No maintenance.', $this->plugin_text_domain); ?></li>
|
355 |
-
</ul>
|
356 |
-
</div>
|
357 |
-
<div class="omgf-optimize-fonts-cons">
|
358 |
-
<h3>
|
359 |
-
<span class="dashicons-before dashicons-no"></span> <?= __('Cons', $this->plugin_text_domain); ?>
|
360 |
-
</h3>
|
361 |
-
<ul>
|
362 |
-
<li><?= __("The first time an unoptimized Google Fonts stylesheet is found, the API will be triggered in the frontend, which might cause the page to load slower than usual. All subsequent pageviews for that page (and all pages using that same stylesheet will load just as fast as when Manual mode is used.", $this->plugin_text_domain); ?></li>
|
363 |
-
</ul>
|
364 |
-
</div>
|
365 |
<div class="omgf-optimize-fonts-tooltip">
|
366 |
<p>
|
367 |
<span class="dashicons-before dashicons-info-outline"></span>
|
368 |
-
<em><?= __("After saving your changes, this section will be populated with all captured fonts, font styles and available options as
|
369 |
</p>
|
370 |
</div>
|
371 |
</div>
|
33 |
$this->title = __('Optimize Google Fonts', $this->plugin_text_domain);
|
34 |
|
35 |
add_filter('omgf_optimize_settings_content', [$this, 'do_title'], 10);
|
36 |
+
add_filter('omgf_optimize_settings_content', [$this, 'do_description'], 11);
|
37 |
|
38 |
add_filter('omgf_optimize_settings_content', [$this, 'do_before'], 20);
|
39 |
+
add_filter('omgf_optimize_settings_content', [$this, 'do_optimization_mode'], 21);
|
40 |
+
add_filter('omgf_optimize_settings_content', [$this, 'do_after'], 22);
|
41 |
+
|
42 |
+
add_filter('omgf_optimize_settings_content', [$this, 'open_manual_optimization_mode'], 23);
|
43 |
+
add_filter('omgf_optimize_settings_content', [$this, 'do_before'], 24);
|
44 |
+
add_filter('omgf_optimize_settings_content', [$this, 'manual_optimization_status'], 25);
|
45 |
+
add_filter('omgf_optimize_settings_content', [$this, 'do_after'], 26);
|
46 |
+
add_filter('omgf_optimize_settings_content', [$this, 'close_manual_optimization_mode'], 27);
|
47 |
+
|
48 |
+
add_filter('omgf_optimize_settings_content', [$this, 'do_before'], 30);
|
49 |
add_filter('omgf_optimize_settings_content', [$this, 'do_promo_combine_requests'], 40);
|
50 |
add_filter('omgf_optimize_settings_content', [$this, 'do_display_option'], 50);
|
51 |
add_filter('omgf_optimize_settings_content', [$this, 'do_promo_force_font_display'], 60);
|
88 |
OMGF_Admin_Settings::OMGF_OPTIMIZATION_MODE,
|
89 |
OMGF_Admin_Settings::OMGF_OPTIMIZE_SETTING_OPTIMIZATION_MODE,
|
90 |
OMGF_OPTIMIZATION_MODE,
|
91 |
+
__('<strong>Force</strong> will apply a single stylesheet to all of your posts/pages. <strong>Scan Posts/Pages</strong> will go through each page one by one and compile separate stylesheets for each different Google Fonts configuration.', $this->plugin_text_domain)
|
92 |
);
|
93 |
}
|
94 |
|
95 |
+
/**
|
96 |
+
* Opens the Force info screen container.
|
97 |
+
*
|
98 |
+
* @return void
|
99 |
+
*/
|
100 |
+
public function open_manual_optimization_mode()
|
101 |
+
{
|
102 |
+
?>
|
103 |
+
<div class="omgf-manual-optimization-mode postbox" style="padding: 0 15px 5px; <?= OMGF_OPTIMIZATION_MODE == 'manual' ? '' : 'display: none;'; ?>">
|
104 |
+
<h3><?= __('Optimization Mode: Force — Task Manager', $this->plugin_text_domain); ?></h3>
|
105 |
+
<p class="description">
|
106 |
+
<?= __('Are you using a regular theme (and a page builder) and are the same Google Fonts loading throughout all your posts/pages? Then <strong>Force</strong> is right for you.', $this->plugin_text_domain); ?>
|
107 |
+
</p>
|
108 |
+
<div class="pro-con-container">
|
109 |
+
<div class="pros">
|
110 |
+
<h4><?= __('Pros', $this->plugin_text_domain); ?></h4>
|
111 |
+
<ul class="pros-list">
|
112 |
+
<li><?= __('Fast. Immediate results.', $this->plugin_text_domain); ?></li>
|
113 |
+
<li><?= __('One (or a few) stylesheets to manage.', $this->plugin_text_domain); ?></li>
|
114 |
+
<li><?= __('Compatible with multilanguage plugins, e.g. WPML or Polylang.', $this->plugin_text_domain); ?></li>
|
115 |
+
</ul>
|
116 |
+
</div>
|
117 |
+
<div class="cons">
|
118 |
+
<h4><?= __('Cons', $this->plugin_text_domain); ?></h4>
|
119 |
+
<ul class="cons-list">
|
120 |
+
<li><?= __('Might miss a font, when using a page builder and a unique font is used on a few separate pages.', $this->plugin_text_domain); ?></li>
|
121 |
+
</ul>
|
122 |
+
</div>
|
123 |
+
</div>
|
124 |
+
<?php
|
125 |
+
}
|
126 |
+
|
127 |
+
public function manual_optimization_status()
|
128 |
+
{
|
129 |
+
$stylesheets = OMGF::optimized_fonts();
|
130 |
+
?>
|
131 |
+
<tr valign="top">
|
132 |
+
<th scope="row"><?= __('Stylesheet Status', $this->plugin_text_domain); ?></th>
|
133 |
+
<td class="status">
|
134 |
+
<?php if (!empty($stylesheets)) : ?>
|
135 |
+
<ul>
|
136 |
+
<?php foreach ($stylesheets as $handle => $contents) : ?>
|
137 |
+
<?php
|
138 |
+
$cache_key = OMGF::get_cache_key($handle);
|
139 |
+
|
140 |
+
if (!$cache_key) {
|
141 |
+
$cache_key = $handle;
|
142 |
+
}
|
143 |
+
|
144 |
+
$downloaded = file_exists(OMGF_FONTS_DIR . "/$cache_key/$cache_key.css");
|
145 |
+
$stale = function_exists('omgf_pro_init') && strpos($cache_key, 'pro-merged') === false;
|
146 |
+
?>
|
147 |
+
<li class="<?= $stale ? 'stale' : ($downloaded ? 'found' : 'not-found'); ?>">
|
148 |
+
<strong><?= $handle; ?></strong> <?php if (!$stale) : ?><em>(<?= sprintf(__('stored in %s', $this->plugin_text_domain), str_replace(ABSPATH, '', OMGF_FONTS_DIR . "/$cache_key")); ?>)</em><?php elseif ($stale) : ?><em>(<?= __('Stale cache item. <a id="omgf-stale-cache" href="#">Empty cache</a> and run optimization again.', $this->plugin_text_domain); ?>)</em><?php endif; ?>
|
149 |
+
</li>
|
150 |
+
<?php endforeach; ?>
|
151 |
+
</ul>
|
152 |
+
<?php else : ?>
|
153 |
+
<p>
|
154 |
+
<?= __('No stylesheets found. <a href="#" id="omgf-save-optimize">Run optimization</a>?', $this->plugin_text_domain); ?>
|
155 |
+
</p>
|
156 |
+
<?php endif; ?>
|
157 |
+
</td>
|
158 |
+
</tr>
|
159 |
+
<?php
|
160 |
+
}
|
161 |
+
|
162 |
+
/**
|
163 |
+
* Close the container.
|
164 |
+
*
|
165 |
+
* @return void
|
166 |
+
*/
|
167 |
+
public function close_manual_optimization_mode()
|
168 |
+
{
|
169 |
+
?>
|
170 |
+
</div>
|
171 |
+
<?php
|
172 |
+
}
|
173 |
+
|
174 |
/**
|
175 |
*
|
176 |
*/
|
388 |
{
|
389 |
?>
|
390 |
<div class="omgf-optimize-fonts-manual" <?= OMGF_OPTIMIZATION_MODE == 'manual' ? '' : 'style="display: none;"'; ?>>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
391 |
<p>
|
392 |
<?= __('Enter the URL of the post/page you\'d like to scan for Google Fonts. The detected and optimized stylesheets will be applied on all pages where they\'re used.', $this->plugin_text_domain); ?>
|
393 |
</p>
|
412 |
{
|
413 |
?>
|
414 |
<div class="omgf-optimize-fonts-automatic" <?= OMGF_OPTIMIZATION_MODE == 'auto' ? '' : 'style="display: none;"'; ?>>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
415 |
<div class="omgf-optimize-fonts-tooltip">
|
416 |
<p>
|
417 |
<span class="dashicons-before dashicons-info-outline"></span>
|
418 |
+
<em><?= __("After saving your changes, this section will be populated with all captured fonts, font styles and available options as the cron task progresses.", $this->plugin_text_domain); ?></em>
|
419 |
</p>
|
420 |
</div>
|
421 |
</div>
|
includes/class-ajax.php
CHANGED
@@ -61,6 +61,7 @@ class OMGF_AJAX
|
|
61 |
'section' => $section,
|
62 |
'exclude' => [],
|
63 |
'queue' => [
|
|
|
64 |
OMGF_Admin_Settings::OMGF_OPTIMIZE_SETTING_OPTIMIZED_FONTS,
|
65 |
OMGF_Admin_Settings::OMGF_OPTIMIZE_SETTING_UNLOAD_FONTS,
|
66 |
OMGF_Admin_Settings::OMGF_OPTIMIZE_SETTING_PRELOAD_FONTS,
|
61 |
'section' => $section,
|
62 |
'exclude' => [],
|
63 |
'queue' => [
|
64 |
+
OMGF_Admin_Settings::OMGF_OPTIMIZE_SETTING_CACHE_KEYS,
|
65 |
OMGF_Admin_Settings::OMGF_OPTIMIZE_SETTING_OPTIMIZED_FONTS,
|
66 |
OMGF_Admin_Settings::OMGF_OPTIMIZE_SETTING_UNLOAD_FONTS,
|
67 |
OMGF_Admin_Settings::OMGF_OPTIMIZE_SETTING_PRELOAD_FONTS,
|
includes/class-omgf.php
CHANGED
@@ -51,7 +51,7 @@ class OMGF
|
|
51 |
define('OMGF_SITE_URL', 'https://daan.dev');
|
52 |
define('OMGF_CURRENT_DB_VERSION', esc_attr(get_option(OMGF_Admin_Settings::OMGF_CURRENT_DB_VERSION)));
|
53 |
define('OMGF_OPTIMIZATION_MODE', esc_attr(get_option(OMGF_Admin_Settings::OMGF_OPTIMIZE_SETTING_OPTIMIZATION_MODE, 'manual')));
|
54 |
-
define('OMGF_MANUAL_OPTIMIZE_URL',
|
55 |
define('OMGF_FONT_PROCESSING', esc_attr(get_option(OMGF_Admin_Settings::OMGF_DETECTION_SETTING_FONT_PROCESSING, 'replace')));
|
56 |
define('OMGF_DISPLAY_OPTION', esc_attr(get_option(OMGF_Admin_Settings::OMGF_OPTIMIZE_SETTING_DISPLAY_OPTION, 'swap')) ?: 'swap');
|
57 |
define('OMGF_OPTIMIZE_EDIT_ROLES', esc_attr(get_option(OMGF_Admin_Settings::OMGF_OPTIMIZE_SETTING_OPTIMIZE_EDIT_ROLES, 'on')));
|
51 |
define('OMGF_SITE_URL', 'https://daan.dev');
|
52 |
define('OMGF_CURRENT_DB_VERSION', esc_attr(get_option(OMGF_Admin_Settings::OMGF_CURRENT_DB_VERSION)));
|
53 |
define('OMGF_OPTIMIZATION_MODE', esc_attr(get_option(OMGF_Admin_Settings::OMGF_OPTIMIZE_SETTING_OPTIMIZATION_MODE, 'manual')));
|
54 |
+
define('OMGF_MANUAL_OPTIMIZE_URL', esc_url(get_option(OMGF_Admin_Settings::OMGF_OPTIMIZE_SETTING_MANUAL_OPTIMIZE_URL, get_site_url()) ?: get_site_url()));
|
55 |
define('OMGF_FONT_PROCESSING', esc_attr(get_option(OMGF_Admin_Settings::OMGF_DETECTION_SETTING_FONT_PROCESSING, 'replace')));
|
56 |
define('OMGF_DISPLAY_OPTION', esc_attr(get_option(OMGF_Admin_Settings::OMGF_OPTIMIZE_SETTING_DISPLAY_OPTION, 'swap')) ?: 'swap');
|
57 |
define('OMGF_OPTIMIZE_EDIT_ROLES', esc_attr(get_option(OMGF_Admin_Settings::OMGF_OPTIMIZE_SETTING_OPTIMIZE_EDIT_ROLES, 'on')));
|
includes/class-optimize.php
CHANGED
@@ -84,7 +84,7 @@ class OMGF_Optimize
|
|
84 |
}
|
85 |
|
86 |
/**
|
87 |
-
* Run
|
88 |
*
|
89 |
* @return void
|
90 |
*/
|
84 |
}
|
85 |
|
86 |
/**
|
87 |
+
* Run Force mode.
|
88 |
*
|
89 |
* @return void
|
90 |
*/
|
includes/optimization-mode/class-manual.php
CHANGED
@@ -32,7 +32,7 @@ class OMGF_OptimizationMode_Manual
|
|
32 |
}
|
33 |
|
34 |
/**
|
35 |
-
* Run
|
36 |
*
|
37 |
* @return void
|
38 |
*/
|
32 |
}
|
33 |
|
34 |
/**
|
35 |
+
* Run Force mode.
|
36 |
*
|
37 |
* @return void
|
38 |
*/
|
readme.txt
CHANGED
@@ -3,7 +3,7 @@ Contributors: DaanvandenBergh
|
|
3 |
Tags: google, fonts, gdpr, cache, speed, preload, font-display, webfonts, subsets, remove, minimize, external, requests
|
4 |
Requires at least: 4.6
|
5 |
Tested up to: 5.9
|
6 |
-
Stable tag: 4.
|
7 |
Requires PHP: 7.0
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
@@ -21,9 +21,9 @@ OMGF is written with performance and user-friendliness in mind. It uses the Goog
|
|
21 |
|
22 |
= How Does It Work? =
|
23 |
|
24 |
-
After installing the plugin, choose your Optimization Mode:
|
25 |
|
26 |
-
When *
|
27 |
|
28 |
In *Automatic* (Pro) Mode, OMGF runs silently in the background and captures any requests made to fonts.googleapis.com or fonts.gstatic.com. When a webpage is first loaded, it reroutes these requests to its own Download API and copies the fonts over to your server. Then it generates a stylesheet for your fonts including SVG, EOT, TTF, WOFF and WOFF2 formats to guarantee maximum cross browser compatibility!
|
29 |
|
@@ -83,6 +83,16 @@ For the FAQ, [click here](https://docs.ffw.press/category/76-omgf-pro---faq).
|
|
83 |
|
84 |
== Changelog ==
|
85 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
86 |
= 4.5.19 | February 5th, 2022 =
|
87 |
* Fixed: Use of undefined constant in OMGF_Admin_Settings_Help class.
|
88 |
|
@@ -147,8 +157,8 @@ For the FAQ, [click here](https://docs.ffw.press/category/76-omgf-pro---faq).
|
|
147 |
|
148 |
= 4.5.6 =
|
149 |
* Fixed: Added Fallback API URL for when Google Fonts Helper is down.
|
150 |
-
* Enhanced: Added extra error handling in
|
151 |
-
* Fixed: API requests made in
|
152 |
* Fixed: Stylesheet handles containing spaces would prevent Optimize Google Fonts screen from rendering properly.
|
153 |
* Several refactors and code optimizations.
|
154 |
|
@@ -268,8 +278,8 @@ For the FAQ, [click here](https://docs.ffw.press/category/76-omgf-pro---faq).
|
|
268 |
* Added CSS2 (Variable Fonts) compatiblity,
|
269 |
* No more spaces in filenames of downloaded fonts,
|
270 |
* Added Optimize Fonts tab, which resembles the 'Generate Stylesheet' tab from v3, and features,
|
271 |
-
* Optimization Mode:
|
272 |
-
* If
|
273 |
* A complete overview of all detected fonts, grouped by stylesheet,
|
274 |
* Options to preload or unload for each font.
|
275 |
* Move settings to more sensible places and re-grouped them in 3 groups:
|
3 |
Tags: google, fonts, gdpr, cache, speed, preload, font-display, webfonts, subsets, remove, minimize, external, requests
|
4 |
Requires at least: 4.6
|
5 |
Tested up to: 5.9
|
6 |
+
Stable tag: 4.6.0
|
7 |
Requires PHP: 7.0
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
21 |
|
22 |
= How Does It Work? =
|
23 |
|
24 |
+
After installing the plugin, choose your Optimization Mode: Force (default) or Scan Posts/Pages (only available in Pro).
|
25 |
|
26 |
+
When *Force* is selected, you can simply configure OMGF to work in the way you want, and run its detection mechanism on an address of your choosing. Tweak the stylesheet(s) as you wish and these will be used throughout your site.
|
27 |
|
28 |
In *Automatic* (Pro) Mode, OMGF runs silently in the background and captures any requests made to fonts.googleapis.com or fonts.gstatic.com. When a webpage is first loaded, it reroutes these requests to its own Download API and copies the fonts over to your server. Then it generates a stylesheet for your fonts including SVG, EOT, TTF, WOFF and WOFF2 formats to guarantee maximum cross browser compatibility!
|
29 |
|
83 |
|
84 |
== Changelog ==
|
85 |
|
86 |
+
= 4.6.0 | February 16th, 2022 =
|
87 |
+
* Fixed: Loading spinner wasn't center aligned.
|
88 |
+
* Added: Force Optimization Mode Task Manager.
|
89 |
+
- Offers an easy overview of downloaded stylesheets and where they're stored,
|
90 |
+
- Indicates stale cache files.
|
91 |
+
* Added: Clearer explanation of when to use Scan Posts/Pages VS Force Optimization Mode.
|
92 |
+
* Fixed: Cache handles weren't removed when cache directory was emptied.
|
93 |
+
* Fixed: Tooltip in Manage Optimized Fonts section wasn't aligned properly.
|
94 |
+
* Renamed: Manual Optimization Mode to Force and Automatic to Scan Posts/Pages.
|
95 |
+
|
96 |
= 4.5.19 | February 5th, 2022 =
|
97 |
* Fixed: Use of undefined constant in OMGF_Admin_Settings_Help class.
|
98 |
|
157 |
|
158 |
= 4.5.6 =
|
159 |
* Fixed: Added Fallback API URL for when Google Fonts Helper is down.
|
160 |
+
* Enhanced: Added extra error handling in Force Optimization Mode.
|
161 |
+
* Fixed: API requests made in Force Optimization Mode are no longer forced to SSL. It now uses the protocol configured in Settings > General > WordPress URL.
|
162 |
* Fixed: Stylesheet handles containing spaces would prevent Optimize Google Fonts screen from rendering properly.
|
163 |
* Several refactors and code optimizations.
|
164 |
|
278 |
* Added CSS2 (Variable Fonts) compatiblity,
|
279 |
* No more spaces in filenames of downloaded fonts,
|
280 |
* Added Optimize Fonts tab, which resembles the 'Generate Stylesheet' tab from v3, and features,
|
281 |
+
* Optimization Mode: Force or Scan Posts/Pages,
|
282 |
+
* If Force is selected, the URL can be specified which should be scanned for Google Fonts,
|
283 |
* A complete overview of all detected fonts, grouped by stylesheet,
|
284 |
* Options to preload or unload for each font.
|
285 |
* Move settings to more sensible places and re-grouped them in 3 groups:
|