PluginProbe ʕ •ᴥ•ʔ
NitroPack – Performance, Page Speed & Cache Plugin for Core Web Vitals, CDN & Image Optimization / 1.9.1
NitroPack – Performance, Page Speed & Cache Plugin for Core Web Vitals, CDN & Image Optimization v1.9.1
1.19.8 1.19.7 1.19.6 1.19.5 trunk 1.10.0 1.10.1 1.10.2 1.10.3 1.10.4 1.11.0 1.12.0 1.13.0 1.14.0 1.15.0 1.15.1 1.15.2 1.15.3 1.16.0 1.16.1 1.16.2 1.16.3 1.16.4 1.16.5 1.16.6 1.16.7 1.16.8 1.17.0 1.17.6 1.17.7 1.17.8 1.17.9 1.18.0 1.18.1 1.18.2 1.18.3 1.18.4 1.18.5 1.18.6 1.18.7 1.18.8 1.18.9 1.19.0 1.19.1 1.19.2 1.19.3 1.19.4 1.3.19 1.3.20 1.4.0 1.4.1 1.5.0 1.5.1 1.5.10 1.5.11 1.5.12 1.5.13 1.5.14 1.5.15 1.5.16 1.5.17 1.5.18 1.5.19 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.5.9 1.6.0 1.6.1 1.7.0 1.7.1 1.8.0 1.8.1 1.8.3 1.9.0 1.9.1 1.9.2
nitropack / view / dashboard-oneclick.php
nitropack / view Last commit date
images 3 years ago javascript 3 years ago stylesheet 2 years ago admin.php 2 years ago connect-oneclick.php 2 years ago connect.php 2 years ago dashboard-oneclick.php 2 years ago dashboard.php 2 years ago diag.php 3 years ago help.php 3 years ago oneclick.php 2 years ago safemode.php 2 years ago safemode.tpl 4 years ago
dashboard-oneclick.php
275 lines
1 <style>
2 .rml_btn {
3 float: right;
4 color: #989898 !important;
5 font-size: 13px;
6 cursor: pointer;
7 text-decoration: underline !important;
8 }
9
10 .rml_btn:hover{
11 color: #212529 !important;
12 /*text-decoration: underline !important;*/
13 }
14
15 .card {
16 box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
17 border: none;
18 }
19 </style>
20
21 <div>
22 <div class="row mt-0">
23 <div class="col-md-12">
24 <?php nitropack_display_admin_notices(); ?>
25 </div>
26 </div>
27 <?php if (count(get_nitropack()->Notifications->get('system')) > 0) { ?>
28 <div class="row mt-0">
29 <div class="col-12 mb-3">
30 <div class="card-overlay-blurrable np-widget" id="notifications">
31 <div class="card card-d-item">
32 <div class="card-body">
33 <h5 class="card-title" style="display: inline-block;"><?php esc_html_e( 'Notifications', 'nitropack' ); ?></h5>
34 <ul class="list-group list-group-flush" id="notifications-list">
35 <?php foreach(get_nitropack()->Notifications->get('system') as $notification) : ?>
36 <li class="list-group-item px-0 d-flex justify-content-between align-items-center">
37 <div class="col-10">
38 <?php echo $notification['message']; ?>
39 </div>
40 <div class="col-2"> <a class="rml_btn" data-notification_end="<?php echo $notification['end_date']; ?>" data-notification_id="<?php echo $notification['id']; ?>">Remind me later</a> </div>
41 </li>
42 <?php endforeach; ?>
43 </ul>
44 </div>
45 </div>
46 </div>
47 </div>
48 </div>
49 <?php } ?>
50 <div class="row">
51
52 <div class="col-md-6 mb-3">
53 <div class="card-overlay-blurrable np-widget rounded" id="optimizations-widget">
54 <div class="card card-d-item">
55 <div class="card-body">
56 <h5 class="card-title font-weight-bold" style="color: #484848; font-size: 17px"><?php esc_html_e( 'Optimized pages', 'nitropack' ); ?>
57 <span id="pending-optimizations-section" class="pull-right mt-1" style="display:none;font-size: 12px;color: #28a745"><?php esc_html_e( 'Processing', 'nitropack' ); ?>
58 <span id="pending-optimizations-count">X</span> page(s) in the background&nbsp;&nbsp;<i class="fa fa-spinner fa-spin"></i>
59 <a href="https://support.nitropack.io/hc/en-us/articles/4766337974801" target="_blank" rel="noopener noreferrer" class="pull-right"><i data-info-tooltip class="mx-2 info-tooltip fa fa-info-circle text-primary" data-toggle="tooltip" data-placement="top" title="<?php esc_html_e( 'Click to learn more', 'nitropack' ); ?>"></i></a>
60 </span>
61
62 </h5>
63 <div class="row mt-4" data-hideable>
64 <div id="optimized-pages"><span data-optimized-pages-total>0</span></div>
65 <div id="last-cache-purge" class="text-secondary"><?php esc_html_e( 'Last cache purge:', 'nitropack' ); ?> <span data-last-cache-purge><?php esc_html_e( 'Never', 'nitropack' ); ?></span></div>
66 <div id="last-cache-purge-reason" class="text-secondary"><?php esc_html_e( 'Reason:', 'nitropack' ); ?> <span data-purge-reason><?php esc_html_e( 'Unknown', 'nitropack' ); ?></span></div>
67 </div>
68 <div class="row mt-4 optimizations-hidden" data-hideable>
69 <div class="optimizations-subcount"><span data-optimized-pages-mobile>0</span> <?php esc_html_e( 'mobile pages', 'nitropack' ); ?></div>
70 <div class="optimizations-subcount"><span data-optimized-pages-tablet>0</span> <?php esc_html_e( 'tablet pages', 'nitropack' ); ?></div>
71 <div class="optimizations-subcount"><span data-optimized-pages-desktop>0</span> <?php esc_html_e( 'desktop pages', 'nitropack' ); ?></div>
72 </div>
73 <div class="row mt-5 justify-content-center">
74 <i id="np-purge-cache-loading"class="fa fa-refresh fa-spin" style="margin:5px;font-size:48px;display:none;"></i>
75 <i id="np-purge-cache-success" class="fa fa-check-circle" style="margin:5px;font-size:48px;display:none;"></i>
76 <i id="np-purge-cache-error" class="fa fa-times-circle" style="margin:5px;font-size:48px;display:none;"></i>
77 <button id="optimizations-purge-cache" class="btn btn-light btn-outline-secondary btn-widget-optimizations"><?php esc_html_e( 'Purge Cache', 'nitropack' ); ?></button>
78 </div>
79 </div>
80 </div>
81 </div>
82 </div>
83
84
85 <div class="col-md-6 mb-3">
86 <div class="card-overlay-blurrable np-widget rounded">
87 <div class="card card-d-item">
88 <div class="card-body">
89 <?php if (empty($oneClickVendorWidget)) { ?>
90 <div class="row mt-0" style="line-height: 0.5;">
91 <div class="col-10">
92 <h5 class="card-title font-weight-bold" style="color: #484848; font-size: 17px"><?php esc_html_e( 'What is NitroPack OneClick?', 'nitropack' ); ?></h5>
93 </div>
94
95 <div class="col-2 text-right">
96 <span style="font-size: 44px; color:#d9d9d9;"> </span>
97 </div>
98 </div>
99
100 <div class="row mt-4">
101 <div class="col-9">
102 <p clas="default-fonts" style="font-size: 16.4px; color:#484848">NitroPack OneClick is technically a one-click version of NitroPack preconfigured with essential features for immediate use. Activate is effortlessly and enjoy an instant boost in page speed. </p>
103 </div>
104 </div>
105
106 <div class="row">
107 <button class="btn btn-outline-secondary btn-widget-optimizations"><?php esc_html_e( 'Learn More', 'nitropack' ); ?></button>
108 </div>
109 <?php } else { ?>
110 <?php echo $oneClickVendorWidget; ?>
111 <?php } ?>
112 </div>
113 </div>
114 </div>
115 </div>
116 </div>
117 </div>
118 <script>
119
120
121 ($ => {
122 var getOptimizationsTimeout = null;
123 let isClearing = false;
124
125 $(window).on("load",function() {
126 $("#optimizations-widget").cardOverlay("loading", {message: "Loading optimizations data"});
127 $(function () { $('[data-toggle="tooltip"]').tooltip()});
128 getOptimizations();
129 });
130
131 $(document).on('click', '[data-hideable]', function(e) {
132 e.preventDefault();
133
134 $('[data-hideable]').removeClass('optimizations-hidden');
135
136 $(this).addClass('optimizations-hidden');
137 });
138
139 $(document).on('click', '#optimizations-invalidate-cache', function(e) {
140 e.preventDefault();
141 //Overlay.loading("Invalidating cache...");
142
143 invalidateEvent = new Event("cache.invalidate.request");
144 window.dispatchEvent(invalidateEvent);
145 });
146
147 $(document).on('click', '#optimizations-purge-cache', function(e) {
148 e.preventDefault();
149 //Overlay.loading("Purging cache...");
150 purgeCache();
151 });
152
153 let purgeCache = () => {
154 let purgeEvent = new Event("cache.purge.request");
155 window.dispatchEvent(purgeEvent);
156 }
157
158 $(document).on('click', '[nitropack-rc-data]', function(e) {
159 e.preventDefault();
160 if (isClearing) return;
161 let currentButton = $(this);
162 $.ajax({
163 url: ajaxurl,
164 type: "POST",
165 dataType: "text",
166 data: {
167 action: 'nitropack_clear_residual_cache',
168 gde: currentButton.attr('nitropack-rc-data')
169 },
170 beforeSend: function () {
171 currentButton.parent(".alert-warning").hide();
172 isClearing = true;
173 },
174 success: function(resp) {
175 result = JSON.parse(resp);
176 Notification[result.type](result.message);
177 },
178 error: function(resp) {
179 result = JSON.parse(resp);
180 Notification[result.type](result.message);
181 },
182 complete: function() {
183 isClearing = false;
184 setTimeout(function(){location.reload();}, 3000);
185 }
186 });
187 });
188
189 var getOptimizations = _ => {
190 var url = '<?php echo $optimizationDetailsUrl; ?>';
191 ((s, e, f) => {
192 if (window.fetch) {
193 fetch(url)
194 .then(resp => resp.json())
195 .then(s)
196 .catch(e)
197 .finally(f);
198 } else {
199 $.ajax({
200 url: url,
201 type: 'GET',
202 dataType: 'json',
203 success: s,
204 error: e,
205 complete: f
206 })
207 }
208 })(data => {
209 $('[data-last-cache-purge]').text(data.last_cache_purge.timeAgo);
210 if (data.last_cache_purge.reason) {
211 $('[data-purge-reason]').text(data.last_cache_purge.reason);
212 $('#last-cache-purge-reason').show();
213 } else {
214 $('#last-cache-purge-reason').hide();
215 }
216
217 if (data.pending_count) {
218 $("#pending-optimizations-count").text(data.pending_count);
219 $("#pending-optimizations-section").show();
220 } else {
221 $("#pending-optimizations-section").hide();
222 }
223
224 $('[data-optimized-pages-desktop]').text(data.optimized_pages.desktop);
225 $('[data-optimized-pages-mobile]').text(data.optimized_pages.mobile);
226 $('[data-optimized-pages-tablet]').text(data.optimized_pages.tablet);
227 $('[data-optimized-pages-total]').text(data.optimized_pages.total);
228
229 $("#optimizations-widget").cardOverlay("clear");
230 }, __ => {
231 $("#optimizations-widget").cardOverlay("error", {message: "<?php esc_html_e( 'Error while fetching optimizations data', 'nitropack' ); ?>"});
232 }, __ => {
233 if (!getOptimizationsTimeout) {
234 getOptimizationsTimeout = setTimeout(function() {getOptimizationsTimeout = null; getOptimizations();}, 60000);
235 }
236 });
237 }
238
239 var loadSafemodeStatus = function() {
240 $.ajax({
241 url: ajaxurl,
242 type: "POST",
243 data: {
244 action: "nitropack_safemode_status"
245 },
246 dataType: "json",
247 success: function(resp) {
248 if (resp.type == "success") {
249 $("#nitropack-smenabled-notice").length && !!resp.isEnabled ? $("#nitropack-smenabled-notice").parent().show() : $("#nitropack-smenabled-notice").parent().hide();
250 } else {
251 setTimeout(loadSafemodeStatus, 500);
252 }
253 }
254 });
255 }
256 loadSafemodeStatus();
257
258 window.addEventListener("cache.invalidate.success", getOptimizations);
259 if ($('#np-onstate-cache-purge').length) {
260 window.addEventListener("cache.purge.success", function(){setTimeout(function(){document.cookie = "nitropack_apwarning=1; expires=Thu, 01 Jan 1970 00:00:01 GMT; path=<?php echo nitropack_cookiepath(); ?>"; window.location.reload()}, 1500)});
261 } else {
262 window.addEventListener("cache.purge.success", getOptimizations);
263 }
264
265 window.closeModalOverlay = function() {
266 $("#settings-widget").cardOverlay("clear");
267 }
268
269 window.performCachePurge = () => {
270 purgeCache();
271 closeModalOverlay();
272 }
273 })(jQuery);
274 </script>
275