PluginProbe ʕ •ᴥ•ʔ
10Web Booster – Website speed optimization, Cache & Page Speed optimizer / trunk
10Web Booster – Website speed optimization, Cache & Page Speed optimizer vtrunk
2.33.0 2.30.5 2.30.7 2.30.9 2.31.10 2.31.8 2.32.11 2.32.21 2.32.3 2.32.4 2.32.7 2.6.31 2.6.40 2.6.42 2.6.7 2.7.37 2.7.44 2.7.47 2.8.18 2.8.19 2.8.32 2.8.34 2.8.35 2.9.23 2.9.24 2.9.25 2.9.27 v2.27.4 trunk 2.0.10 2.0.11 2.0.12 2.0.13 2.0.14 2.0.15 2.0.17 2.0.18 2.0.21 2.0.22 2.0.25 2.0.26 2.0.27 2.0.3 2.0.7 2.0.9 2.10.46 2.10.65 2.10.66 2.10.68 2.11.41 2.11.42 2.11.43 2.12.15 2.12.21 2.12.22 2.12.23 2.12.26 2.13.37 2.13.40 2.13.41 2.13.42 2.13.44 2.13.45 2.13.47 2.14.49 2.14.50 2.15.18 2.17.21 2.17.23 2.18.17 2.19.44 2.19.45 2.19.46 2.19.49 2.2.12 2.2.15 2.2.16 2.2.18 2.2.8 2.20.31 2.20.32 2.20.33 2.21.11 2.21.12 2.21.16 2.21.25 2.22.32 2.23.13 2.23.15 2.23.16 2.23.18 2.24.12 2.24.14 2.24.18 2.25.14 2.26.6 2.28.10 2.28.13 2.28.14 2.28.7 2.29.1 2.29.2 2.29.3 2.3.0 2.3.1 2.3.2 2.3.3 2.30.18
tenweb-speed-optimizer / views / templates / two_critical_css.php
tenweb-speed-optimizer / views / templates Last commit date
two_critical_css.php 2 years ago two_logs.php 3 years ago
two_critical_css.php
293 lines
1 <?php
2
3 use TenWebOptimizer\OptimizerUtils;
4
5 $two_critical_status = $TwoSettings->get_settings('two_critical_status');
6 $two_critical_remove = $TwoSettings->get_settings('two_critical_remove');
7 $two_critical_font_status = $TwoSettings->get_settings('two_critical_font_status');
8 $two_font_actions = $TwoSettings->get_settings('two_font_actions');
9 $two_critical_pages = OptimizerUtils::getCriticalPages();
10 $two_critical_sizes = $TwoSettings->get_settings('two_critical_sizes');
11 $two_critical_url_args = $TwoSettings->get_settings('two_critical_url_args');
12 $two_critical_blocked = get_option('two_critical_blocked');
13 $two_critical_blocked_class = 'two_critical_blocked';
14 $critical_flag = \TenWebWpTransients\OptimizerTransients::get('two_critical_flag');
15 $no_optimize_pages_list = get_option('no_optimize_pages');
16 $two_critical_default_settings = get_option('two_critical_default_settings');
17
18 if ($two_critical_blocked) {
19 $two_critical_blocked_class = '';
20 }
21
22 $two_uncritical_load_types = $TwoSettings->critical_options['uncritical_load_types'];
23 $two_critical_wait_until = $TwoSettings->critical_options['critical_wait_until'];
24
25 if (!is_array($two_critical_pages)) {
26 $two_critical_pages = [];
27 }
28
29 if (!is_array($two_critical_sizes)) {
30 $two_critical_sizes = [];
31 }
32 $critical_checked = '';
33 $hide_critical = "style='display:none;'";
34
35 if ($two_critical_status === 'true') {
36 $critical_checked = 'checked';
37 $hide_critical = '';
38 }
39 $critical_remove_checked = ($two_critical_remove == 'true') ? 'checked' : '';
40 $critical_font_checked = ($two_critical_font_status == 'true') ? 'checked' : '';
41
42 ?>
43 <div class="two_settings_tab two_tab_critical_css">
44 <?php if ((int) $critical_flag > 0) { ?>
45 <?php echo 'Count of CSS Generation function calls(API might not be called): ' . esc_html($critical_flag); ?>
46 <?php }?>
47 <div class="two_settings_option two_critical">
48 <input <?php echo esc_html($critical_checked); ?> type="checkbox" name="two_critical" id="two_critical">
49 <label for="two_critical"
50 class="wd-label"><?php _e(esc_html($TwoSettings->settings_names['two_critical_status']['title']), 'tenweb-speed-optimizer'); ?></label>
51 <p class="description"><?php _e(esc_html($TwoSettings->settings_names['two_critical_status']['description']), 'tenweb-speed-optimizer'); ?></p>
52 </div>
53 <div class="two_settings_option two_critical_remove">
54 <input <?php echo esc_html($critical_remove_checked); ?> type="checkbox" name="two_critical_remove" id="two_critical_remove">
55 <label for="two_critical_remove"
56 class="wd-label"><?php _e('Remove Critical css', 'tenweb-speed-optimizer'); ?></label>
57 <p class="description"><?php _e('Enable this option to remove critical css after css load', 'tenweb-speed-optimizer'); ?></p>
58 </div>
59 <div class="two_settings_option two_critical_font">
60 <input <?php echo esc_html($critical_font_checked); ?> type="checkbox" name="two_critical_font" id="two_critical_font">
61 <label for="two_critical_font"
62 class="wd-label"><?php _e('Critical fonts', 'tenweb-speed-optimizer'); ?></label>
63 <p class="description"><?php _e('Enable this option for critical fonts', 'tenweb-speed-optimizer'); ?></p>
64 </div>
65 <div id="two_critical_options" <?php echo esc_html($hide_critical); ?>>
66 <div class="two_settings_option two_font_actions">
67 <select name="two_font_actions" id="two_font_actions">
68 <option <?php echo ($two_font_actions === 'default') ? 'selected' : ''; ?> value="default">Default</option>
69 <option <?php echo ($two_font_actions === 'not_load') ? 'selected' : ''; ?> value="not_load">Not load uncritical fonts</option>
70 <option <?php echo ($two_font_actions === 'exclude_uncritical_fonts') ? 'selected' : ''; ?> value="exclude_uncritical_fonts">Exclude uncritical fonts from delay</option>
71 </select>
72 <label for="two_font_actions"
73 class="wd-label"><?php _e('Font actions', 'tenweb-speed-optimizer'); ?></label>
74 <p class="description"><?php _e('
75 Default - Critical Fonts are injected in style tag, uncritical fonts connect later, could be duplicates
76 <br>
77 Not load uncritical fonts - Critical fonts are the only injected fonts
78 <br>
79 Exclude uncritical fonts from delay - Critical fonts are injected in style tag and removed from uncritical css', 'tenweb-speed-optimizer'); ?></p>
80 </div>
81 <div class="two_settings_option two_page_for_critical">
82 <label for="two_page_for_critical" class="wd-label"><?php _e('Select page to generate critical CSS', 'tenweb-speed-optimizer'); ?></label>
83 <select name="two_page_for_critical" id="two_page_for_critical">
84 </select>
85 <button class="two_add_critical_css_row button button-primary"><?php _e('ADD'); ?></button>
86 </div>
87 <div class="two_settings_option two_page_for_critical">
88 <label class="wd-label" for="two_critical_url_args"><?php _e('URL query arguments:', 'tenweb-speed-optimizer'); ?></label>
89 <input type="text" id="two_critical_url_args" value="<?php echo esc_attr($two_critical_url_args); ?>" style="width:300px">
90 </div>
91 <div class="two_critical_error <?php echo esc_attr($two_critical_blocked_class); ?> notice notice-error">
92 <h2>Critical CSS Generation is blocked</h2>
93 <p>One of your services is blocking our IP, please contact our support team.</p>
94 </div>
95 <div class="two_critical_tables two_page_for_critical">
96 <div class="two_critical_pages">
97 <table id="two_critical_pages" class="display" style="width:100%">
98 <thead>
99 <tr>
100 <th>Page name</th>
101 <th>Size</th>
102 <th>Load</th>
103 <th>Wait until</th>
104 <th>Use uncritical</th>
105 <th>Update date</th>
106 <th>Generate/Delete/Clear</th>
107 </tr>
108 </thead>
109 <tbody>
110 <tr class="two_critical_defaults">
111 <?php
112 $two_default_use_uncritical = $two_critical_default_settings['use_uncritical'];
113 $two_default_load_type = $two_critical_default_settings['load_type'];
114 $two_default_wait_until = $two_critical_default_settings['wait_until'];
115 $two_default_sizes = $two_critical_default_settings['default_sizes'];
116 ?>
117 <td>Default settings</td>
118 <td class="critical_page_sizes_default">
119 <select multiple>
120 <?php foreach ($two_critical_sizes as $uid => $size) { ?>
121 <option <?php echo in_array($uid, $two_default_sizes) ? 'selected' : ''; ?> data-uid="<?php echo esc_attr($uid); ?>" data-width="<?php echo esc_attr($size['width']); ?>" data-height="<?php echo esc_attr($size['height']); ?>" data-media="<?php echo esc_attr($size['media']); ?>"><?php echo esc_html($size['width']); ?>/<?php echo esc_html($size['height']); ?></option>
122 <?php }?>
123 </select>
124 </td>
125 <td class="critical_page_load_actions_default">
126 <select>
127 <?php foreach ($two_uncritical_load_types as $key => $val) { ?>
128 <option <?php echo ($key === $two_default_load_type) ? 'selected' : ''; ?> value="<?php echo esc_attr($key); ?>"><?php echo esc_html($val); ?></option>
129 <?php }?>
130 </select>
131 </td>
132 <td class="critical_page_wait_until_default">
133 <select>
134 <?php foreach ($two_critical_wait_until as $key => $val) { ?>
135 <option <?php echo ($key === $two_default_wait_until) ? 'selected' : ''; ?> value="<?php echo esc_attr($key); ?>"><?php echo esc_html($val); ?></option>
136 <?php }?>
137 </select>
138 </td>
139 <td class="use_uncritical_default">
140 <input <?php echo ($two_default_use_uncritical === 'true') ? 'checked' : ''; ?> type="checkbox" name="use_uncritical" >
141 </td>
142 <td></td>
143 <td></td>
144 </tr>
145 <?php foreach ($two_critical_pages as $p_id => $critical_page) {
146 if (!isset($critical_page['id'])) {
147 continue;
148 }
149 $two_generate_icon = 'dashicons-database-add';
150
151 if (isset($critical_page['status']) && $critical_page['status'] == 'success' && isset($critical_page['critical_css']) && !empty($critical_page['critical_css'])) {
152 $two_generate_icon = 'dashicons-database-view';
153 }
154 $critical_page_status = 'not_started';
155 $critical_page_status_classes = '';
156
157 if (isset($critical_page['status'])) {
158 $critical_page_status = $critical_page['status'];
159
160 if ($critical_page_status === 'in_progress') {
161 $critical_page_status_classes = 'is-active';
162 $two_generate_icon .= ' two_disabled';
163 }
164 }
165 $use_uncritical = '';
166
167 if (isset($critical_page['use_uncritical']) && $critical_page['use_uncritical'] == 'true') {
168 $use_uncritical = 'checked';
169 }
170
171 if (OptimizerUtils::is_wpml_active()) {
172 $flag_url = OptimizerUtils::get_wpml_post_flag_url($p_id);
173 $flag_img = "<img src='" . $flag_url . "' class='two_flag' />";
174 } else {
175 $flag_img = '';
176 } ?>
177 <tr data-page_id="<?php echo esc_attr($p_id); ?>" data-status="">
178 <td data-page_url="<?php echo esc_url($critical_page['url']); ?>" data-page_id="<?php echo esc_attr($p_id); ?>" class="critical_page_url"><a href="<?php echo esc_url($critical_page['url']); ?>" target="_blank"><?php echo wp_kses_post($flag_img . $critical_page['title']); ?></a></td>
179 <td class="critical_page_sizes">
180 <select multiple class="two_critical_sizes_select">
181 <?php foreach ($two_critical_sizes as $uid => $size) { ?>
182 <?php
183 $check_size = '';
184
185 if (isset($critical_page['sizes']) && is_array($critical_page['sizes'])) {
186 foreach ($critical_page['sizes'] as $selected_size) {
187 if (isset($selected_size)) {
188 if ($size['uid'] === $selected_size || (isset($selected_size['uid']) && $size['uid'] === $selected_size['uid'])) {
189 $check_size = 'selected';
190 }
191 }
192 }
193 }
194 ?>
195 <option <?php echo esc_html($check_size); ?> data-uid="<?php echo esc_attr($uid); ?>" data-width="<?php echo esc_attr($size['width']); ?>" data-height="<?php echo esc_attr($size['height']); ?>" data-media="<?php echo esc_attr($size['media']); ?>"><?php echo esc_html($size['width']); ?>/<?php echo esc_html($size['height']); ?></option>
196 <?php } ?>
197 </select>
198 </td>
199 <td class="critical_page_load_actions">
200 <select>
201 <?php foreach ($two_uncritical_load_types as $key => $val) { ?>
202 <option <?php echo ($key === $critical_page['load_type']) ? 'selected' : ''; ?> value="<?php echo esc_attr($key); ?>"><?php echo esc_html($val); ?></option>
203 <?php } ?>
204 </select>
205 </td>
206 <td class="critical_page_wait_until">
207 <select>
208 <?php foreach ($two_critical_wait_until as $key => $val) { ?>
209 <option <?php echo (($key === $critical_page['wait_until'])) ? 'selected' : ''; ?> value="<?php echo esc_attr($key); ?>"><?php echo esc_html($val); ?></option>
210 <?php } ?>
211 </select>
212 </td>
213 <td class="use_uncritical">
214 <input type="checkbox" name="use_uncritical" <?php echo esc_html($use_uncritical); ?>>
215 </td>
216 <td>
217 <span><?php echo (isset($critical_page['critical_date'])) ? esc_html(date('Y-m-d H:i:s', $critical_page['critical_date'])) : ''; // phpcs:ignore ?></span>
218 </td>
219 <td>
220 <span class="two_generate_critical dashicons <?php echo esc_attr($two_generate_icon); ?>"></span>
221 <span data-page_id="<?php echo esc_attr($p_id); ?>" class="two_delete_critical_page dashicons dashicons-trash"></span>
222 <span data-page_url="<?php echo esc_url($critical_page['url']); ?>" class="two_clear_cloudflare_cache dashicons dashicons-editor-removeformatting"></span>
223 <span class="spinner <?php echo esc_attr($critical_page_status_classes); ?>"></span>
224 <input type="hidden" value="<?php echo esc_attr($critical_page_status); ?>" class="two_critical_page_status">
225 </td>
226 </tr>
227 <?php
228 }?>
229 </tbody>
230 <tfoot>
231 <tr>
232 <th>Page name</th>
233 <th>Size</th>
234 <th>Load</th>
235 <th>Wait until</th>
236 <th>Use uncritical</th>
237 <th>Update date</th>
238 <th>Generate/Delete/Clear</th>
239 </tr>
240 </tfoot>
241 </table>
242 </div>
243 <div class="two_critical_sizes">
244 <p>Sizes for critical generation</p>
245 <table id="two_critical_sizes" class="display" style="width:100%">
246 <thead>
247 <tr>
248 <th>Width</th>
249 <th>Height</th>
250 <th>Css media</th>
251 <th>Delete</th>
252 </tr>
253 </thead>
254 <tbody>
255 <?php foreach ($two_critical_sizes as $uid => $size) { ?>
256 <tr class="<?php echo esc_attr($uid); ?>" data-uid="<?php echo esc_attr($uid); ?>">
257 <td class="critical_page_width"><?php echo esc_html($size['width']); ?></td>
258 <td class="critical_page_height"><?php echo esc_html($size['height']); ?></td>
259 <td class="critical_size_media"><input type="text" name="critical_size_media" class="critical_size_media_input" value="<?php echo isset($size['media']) ? esc_attr($size['media']) : ''; ?>"></td>
260 <td><span class="two_delete_critical_size dashicons dashicons-trash"></span></td>
261 </tr>
262 <?php }?>
263 </tbody>
264 <tfoot>
265 <tr>
266 <th>Width</th>
267 <th>Height</th>
268 <th>Css media</th>
269 <th>Delete</th>
270 </tr>
271 </tfoot>
272 </table>
273 </div>
274 <div class="two-no-optimize-pages" style="margin-top: 40px;">
275 <p class="wd-label">Pages in no optimize pages list from Dashboard </p>
276 <table id="two-no-optimize-pages" class="display" style="width:100%; display: block;
277 border:1px solid black;
278 overflow: scroll;
279 height: 100px;">
280 <tbody>
281 <?php
282 if (is_array($no_optimize_pages_list)) {
283 foreach ($no_optimize_pages_list as $page) { // phpcs:ignore ?>
284 <tr><td><?php echo esc_html($page); ?></td></tr>
285 <?php }
286 }?>
287 </tbody>
288 </table>
289 </div>
290 </div>
291 </div>
292 </div>
293