WP-Optimize - Version 2.2.10

Version Description

  • 11/Jan/2019 =

  • FEATURE: Added the ability to download unused images list (Premium version) as a CSV file

  • FIX: Load scripts and styles only on WP-Optimize pages

  • FIX: Fix a possible fatal error due to missing get_plugins() function

  • TWEAK: Remember selected optimizations on Database page

  • TWEAK: Prevent PHP notices when saving settings or optimizing in some circumstances

Download this release

Release Info

Developer DavidAnderson
Plugin Icon 128x128 WP-Optimize
Version 2.2.10
Comparing to
See all releases

Code changes from version 2.2.9 to 2.2.10

cache/class-wpo-cache-rules.php ADDED
@@ -0,0 +1,140 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ if (!defined('ABSPATH')) die('No direct access allowed');
4
+
5
+ /**
6
+ * Page caching rules and exceptions
7
+ */
8
+
9
+ if (!class_exists('WPO_Cache_Config')) require_once('class-wpo-cache-config.php');
10
+
11
+ if (!class_exists('WPO_Cache_Rules')) :
12
+
13
+ class WPO_Cache_Rules {
14
+
15
+ /**
16
+ * Cache config object
17
+ *
18
+ * @var mixed
19
+ */
20
+ public $config;
21
+
22
+ /**
23
+ * Instance of this class
24
+ *
25
+ * @var mixed
26
+ */
27
+ public static $instance;
28
+
29
+ /**
30
+ * Class constructor
31
+ */
32
+ public function __construct() {
33
+ $this->config = WPO_Cache_Config::instance()->get();
34
+ $this->setup_hooks();
35
+ }
36
+
37
+ /**
38
+ * Setup hooks/filters
39
+ */
40
+ public function setup_hooks() {
41
+ add_action('pre_post_update', array($this, 'purge_post_on_update'), 10, 1);
42
+ add_action('save_post', array($this, 'purge_post_on_update'), 10, 1);
43
+ add_action('wp_trash_post', array($this, 'purge_post_on_update'), 10, 1);
44
+ add_action('wp_set_comment_status', array($this, 'purge_post_on_comment_status_change'), 10);
45
+ add_action('set_comment_cookies', array($this, 'set_comment_cookie_exceptions'), 10);
46
+ }
47
+
48
+ /**
49
+ * When user posts a comment, set a cookie so we don't show them page cache
50
+ *
51
+ * @param WP_Comment $comment Comment to check.
52
+ */
53
+ public function set_comment_cookie_exceptions($comment) {
54
+
55
+ if (empty($this->config['enable_page_caching'])) return;
56
+
57
+ $path = $this->get_post_path($comment->comment_post_ID);
58
+
59
+ $this->purge_from_cache($path);
60
+ }
61
+
62
+ /**
63
+ * Purge files for a particular path from the cache
64
+ *
65
+ * @param String $path - the path
66
+ */
67
+ public function purge_from_cache($path) {
68
+ WPO_Page_Cache::delete(untrailingslashit($path) . '/index.html');
69
+ WPO_Page_Cache::delete(untrailingslashit($path) . '/index.gzip.html');
70
+
71
+ if (!empty($this->config['enable_mobile_caching'])) {
72
+ WPO_Page_Cache::delete(untrailingslashit($path) . '/mobile.index.html');
73
+ WPO_Page_Cache::delete(untrailingslashit($path) . '/mobile.index.gzip.html');
74
+ }
75
+ }
76
+
77
+
78
+ /**
79
+ * Get the cache path for a given post
80
+ *
81
+ * @param Integer $post_id - WP post ID
82
+ *
83
+ * @return String
84
+ */
85
+ private function get_post_path($post_id) {
86
+ return WPO_CACHE_DIR . preg_replace('#^https?://#i', '', get_permalink($post_id));
87
+ }
88
+
89
+ /**
90
+ * Every time a comment's status changes, purge it's parent posts cache
91
+ *
92
+ * @param Integer $comment_id Comment ID.
93
+ */
94
+ public function purge_post_on_comment_status_change($comment_id) {
95
+
96
+ if (empty($this->config['enable_page_caching'])) return;
97
+
98
+ $comment = get_comment($comment_id);
99
+
100
+ $path = $this->get_post_path($comment->comment_post_ID);
101
+
102
+ $this->purge_from_cache($path);
103
+
104
+ }
105
+
106
+ /**
107
+ * Automatically purge all file based page cache on post changes
108
+ * We want the whole cache purged here as different parts
109
+ * of the site could potentially change on post updates
110
+ *
111
+ * @param Integer $post_id WordPress post id
112
+ */
113
+ public function purge_post_on_update($post_id) {
114
+ $post_type = get_post_type($post_id);
115
+
116
+ if ((defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) || 'revision' === $post_type) {
117
+ return;
118
+ } elseif (!current_user_can('edit_post', $post_id) && (!defined('DOING_CRON') || !DOING_CRON)) {
119
+ return;
120
+ }
121
+
122
+ if (!empty($this->config['enable_page_caching'])) {
123
+ wpo_cache_flush();
124
+ }
125
+ }
126
+
127
+ /**
128
+ * Returns an instance of the current class, creates one if it doesn't exist
129
+ *
130
+ * @return WPO_Cache_Rules
131
+ */
132
+ public static function instance() {
133
+ if (empty(self::$instance)) {
134
+ self::$instance = new self();
135
+ }
136
+ return self::$instance;
137
+ }
138
+ }
139
+
140
+ endif;
cache/class-wpo-page-cache.php ADDED
@@ -0,0 +1,439 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Page caching functionality
4
+ */
5
+
6
+ if (!defined('ABSPATH')) die('No direct access allowed');
7
+
8
+ /**
9
+ * Base cache directory, everything else goes under here
10
+ */
11
+ if (!defined('WPO_CACHE_DIR')) define('WPO_CACHE_DIR', untrailingslashit(WP_CONTENT_DIR).'/wpo-cache');
12
+
13
+ /**
14
+ * Directory that stores config and related files
15
+ */
16
+ if (!defined('WPO_CACHE_CONFIG_DIR')) define('WPO_CACHE_CONFIG_DIR', WPO_CACHE_DIR.'/config');
17
+
18
+ /**
19
+ * Directory that stores the cache, including gzipped files and mobile specifc cache
20
+ */
21
+ if (!defined('WPO_CACHE_FILES_DIR')) define('WPO_CACHE_FILES_DIR', WPO_CACHE_DIR.'/cache');
22
+
23
+
24
+ if (!class_exists('WPO_Cache_Config')) require_once('class-wpo-cache-config.php');
25
+ if (!class_exists('WPO_Cache_Rules')) require_once('class-wpo-cache-rules.php');
26
+
27
+ if (!class_exists('Updraft_PHP_Logger')) require_once(WPO_PLUGIN_MAIN_PATH.'/includes/class-updraft-php-logger.php');
28
+
29
+ if (!class_exists('WPO_Page_Cache')) :
30
+
31
+ class WPO_Page_Cache {
32
+
33
+ /**
34
+ * Cache config object
35
+ *
36
+ * @var mixed
37
+ */
38
+ public $config;
39
+
40
+ /**
41
+ * Logger for this class
42
+ *
43
+ * @var mixed
44
+ */
45
+ public $logger;
46
+
47
+ /**
48
+ * Instance of this class
49
+ *
50
+ * @var mixed
51
+ */
52
+ public static $instance;
53
+
54
+
55
+ /**
56
+ * Set everything up here
57
+ */
58
+ public function __construct() {
59
+ $this->config = WPO_Cache_Config::instance();
60
+ $this->rules = WPO_Cache_Rules::instance();
61
+ $this->logger = new Updraft_PHP_Logger();
62
+ }
63
+
64
+ /**
65
+ * Enables page cache
66
+ *
67
+ * @param array $options - options for caching
68
+ * @return WP_Error|bool - true on success, error otherwise
69
+ */
70
+ public function enable($options = array()) {
71
+
72
+ if (!$this->create_folders()) {
73
+ return new WP_Error("create_folders", "The request to the filesystem to create the cache directories failed");
74
+ }
75
+
76
+
77
+ if (!$this->write_advanced_cache()) {
78
+ return new WP_Error("write_advanced_cache", "The request to write the advanced-cache.php file failed");
79
+ }
80
+
81
+
82
+ if (!$this->write_wp_config(true)) {
83
+ return new WP_Error("write_wp_config", "Could not toggle the WP_CACHE constant in wp-config.php");
84
+ }
85
+
86
+ if (!$this->verify_cache()) {
87
+ return new WP_Error("verify_cache", "Could not verify if cache was enabled");
88
+ }
89
+
90
+ $this->config->update($options);
91
+
92
+ return true;
93
+ }
94
+
95
+
96
+ /**
97
+ * Disables page cache
98
+ *
99
+ * @return bool - true on success, false otherwise
100
+ */
101
+ public function disable() {
102
+ $ret = true;
103
+
104
+ if (!self::delete(untrailingslashit(WP_CONTENT_DIR) . '/advanced-cache.php')) {
105
+ $this->log("The request to the filesystem to delete the advanced-cache.php failed");
106
+ $ret = false;
107
+ }
108
+
109
+ if (!$this->write_wp_config(false)) {
110
+ $this->log("Could not toggle the WP_CACHE constant in wp-config.php");
111
+ $ret = false;
112
+ }
113
+
114
+ return $ret;
115
+ }
116
+
117
+
118
+ /**
119
+ * Purges the cache
120
+ *
121
+ * @return bool - true on success, false otherwise
122
+ */
123
+ public function purge() {
124
+
125
+ if (!self::delete(WPO_CACHE_FILES_DIR)) {
126
+ $this->log("The request to the filesystem to delete the cache failed");
127
+ return false;
128
+ }
129
+
130
+ return true;
131
+ }
132
+
133
+ /**
134
+ * Purges the cache
135
+ *
136
+ * @return bool - true on success, false otherwise
137
+ */
138
+ public function clean_up() {
139
+
140
+ $this->disable();
141
+
142
+ if (!self::delete(WPO_CACHE_DIR, true)) {
143
+ $this->log("The request to the filesystem to clean up the cache failed");
144
+ return false;
145
+ }
146
+
147
+ return true;
148
+ }
149
+
150
+ /**
151
+ * Check if cache is enabled and working
152
+ *
153
+ * @return bool - true on success, false otherwise
154
+ */
155
+ public function is_enabled() {
156
+
157
+ if (!defined('WP_CACHE') || !WP_CACHE) {
158
+ return false;
159
+ }
160
+
161
+ if (!defined('WPO_ADVANCED_CACHE') || !WPO_ADVANCED_CACHE) {
162
+ return false;
163
+ }
164
+
165
+ if (empty($this->config['enable_page_caching'])) {
166
+ return false;
167
+ }
168
+
169
+ return true;
170
+ }
171
+
172
+ /**
173
+ * Create the folder structure needed for cache to work
174
+ *
175
+ * @return bool - true on success, false otherwise
176
+ */
177
+ private function create_folders() {
178
+
179
+ if (!is_dir(WPO_CACHE_DIR) && !mkdir(WPO_CACHE_DIR)) {
180
+ $this->log('The request to the filesystem failed, unable to create - ' . WPO_CACHE_DIR);
181
+ return false;
182
+ }
183
+
184
+ if (!is_dir(WPO_CACHE_CONFIG_DIR) && !mkdir(WPO_CACHE_CONFIG_DIR)) {
185
+ $this->log('The request to the filesystem failed, unable to create - ' . WPO_CACHE_CONFIG_DIR);
186
+ return false;
187
+ }
188
+
189
+ if (!is_dir(WPO_CACHE_FILES_DIR) && !mkdir(WPO_CACHE_FILES_DIR)) {
190
+ $this->log('The request to the filesystem failed, unable to create - ' . WPO_CACHE_FILES_DIR);
191
+ return false;
192
+ }
193
+
194
+ return true;
195
+ }
196
+
197
+ /**
198
+ * Writes advanced-cache.php
199
+ *
200
+ * @return bool
201
+ */
202
+ private function write_advanced_cache() {
203
+
204
+ $file = untrailingslashit(WP_CONTENT_DIR) . '/advanced-cache.php';
205
+ $contents = '';
206
+
207
+ if (!empty($config['enable_page_caching'])) {
208
+ return false;
209
+ }
210
+
211
+ $cache_file = untrailingslashit(plugin_dir_path(__FILE__)) . '/file-based-page-cache.php';
212
+ $config_file = WPO_CACHE_CONFIG_DIR . '/config-' . $_SERVER['HTTP_HOST'] . '.php';
213
+ $cache_path = WPO_CACHE_DIR;
214
+ $cache_config_path = WPO_CACHE_CONFIG_DIR;
215
+ $cache_files_path = WPO_CACHE_FILES_DIR;
216
+
217
+ // CS does not like heredoc
218
+ // @codingStandardsIgnoreStart
219
+ $contents = <<<EOF
220
+ <?php
221
+
222
+ if (!defined('ABSPATH')) die('No direct access allowed');
223
+
224
+ if (!defined('WPO_ADVANCED_CACHE')) define('WPO_ADVANCED_CACHE', true);
225
+ if (!defined('WPO_CACHE_DIR')) define('WPO_CACHE_DIR', '$cache_path');
226
+ if (!defined('WPO_CACHE_CONFIG_DIR')) define('WPO_CACHE_CONFIG_DIR', '$cache_config_path');
227
+ if (!defined('WPO_CACHE_FILES_DIR')) define('WPO_CACHE_FILES_DIR', '$cache_files_path');
228
+
229
+ if (is_admin()) { return; }
230
+ if (!@file_exists('$config_file')) { return; }
231
+
232
+ \$GLOBALS['wpo_cache_config'] = json_decode(file_get_contents('$config_file'), true);
233
+
234
+ if (empty(\$GLOBALS['wpo_cache_config']) || empty(\$GLOBALS['wpo_cache_config']['enable_page_caching'])) { return; }
235
+
236
+ if (@file_exists('$cache_file')) { include_once('$cache_file'); }
237
+
238
+ EOF;
239
+ // @codingStandardsIgnoreEnd
240
+ if (!file_put_contents($file, $contents)) {
241
+ return false;
242
+ }
243
+
244
+ return true;
245
+ }
246
+
247
+ /**
248
+ * Set WP_CACHE on or off in wp-config.php
249
+ *
250
+ * @param boolean $status value of WP_CACHE.
251
+ * @return boolean true if the value was set, false otherwise
252
+ */
253
+ private function write_wp_config($status = true) {
254
+
255
+ if (defined('WP_CACHE') && WP_CACHE === $status) {
256
+ return true;
257
+ }
258
+
259
+ $config_path = $this->_get_wp_config();
260
+
261
+ // Couldn't find wp-config.php.
262
+ if (!$config_path) {
263
+ return false;
264
+ }
265
+
266
+ $config_file_string = file_get_contents($config_path);
267
+
268
+ // Config file is empty. Maybe couldn't read it?
269
+ if (empty($config_file_string)) {
270
+ return false;
271
+ }
272
+
273
+ $config_file = preg_split("#(\n|\r)#", $config_file_string);
274
+ $line_key = false;
275
+
276
+ foreach ($config_file as $key => $line) {
277
+ if (!preg_match('/^\s*define\(\s*(\'|")([A-Z_]+)(\'|")(.*)/i', $line, $match)) {
278
+ continue;
279
+ }
280
+
281
+ if ('WP_CACHE' === $match[2]) {
282
+ $line_key = $key;
283
+ }
284
+ }
285
+
286
+ if (false !== $line_key) {
287
+ unset($config_file[$line_key]);
288
+ }
289
+
290
+
291
+ if ($status) {
292
+ array_shift($config_file);
293
+ array_unshift($config_file, '<?php', "define('WP_CACHE', true); // WP-Optimize Cache");
294
+ }
295
+
296
+ foreach ($config_file as $key => $line) {
297
+ if ('' === $line) {
298
+ unset($config_file[$key]);
299
+ }
300
+ }
301
+
302
+ if (file_put_contents($config_path, implode("\r\n", $config_file))) {
303
+ return false;
304
+ }
305
+
306
+ return true;
307
+ }
308
+
309
+ /**
310
+ * Verify we can write to the file system
311
+ *
312
+ * @return boolean
313
+ */
314
+ private function verify_cache() {
315
+ if (function_exists('clearstatcache')) {
316
+ clearstatcache();
317
+ }
318
+
319
+ // First check wp-config.php.
320
+ if (!$this->_get_wp_config() && !is_writable($this->_get_wp_config())) {
321
+ $this->log("Unable to write to or find wp-config.php, please check file/folder permissions");
322
+ return false;
323
+ }
324
+
325
+ // Now check wp-content. We need to be able to create files of the same user as this file.
326
+ if (!is_writable(untrailingslashit(WP_CONTENT_DIR))) {
327
+ $this->log("Unable to write inside the wp-content folder, please check file/folder permissions");
328
+ return false;
329
+ }
330
+
331
+ // If the cache and config directories exist, make sure they're writeable.
332
+ if (file_exists(WPO_CACHE_DIR)) {
333
+ if (!is_writable(WPO_CACHE_DIR)) {
334
+ $this->log("Unable to write inside the cache folder, please check file/folder permissions");
335
+ return false;
336
+ }
337
+ }
338
+
339
+ if (file_exists(WPO_CACHE_FILES_DIR)) {
340
+ if (!is_writable(WPO_CACHE_FILES_DIR)) {
341
+ $this->log("Unable to write inside the cache files folder, please check file/folder permissions");
342
+ return false;
343
+ }
344
+ }
345
+
346
+ if (file_exists(WPO_CACHE_CONFIG_DIR)) {
347
+ if (!is_writable(WPO_CACHE_CONFIG_DIR)) {
348
+ $this->log("Unable to write inside the cache configuration folder, please check file/folder permissions");
349
+ return false;
350
+ }
351
+ }
352
+
353
+ return true;
354
+ }
355
+
356
+ /**
357
+ * Returns the path to wp-config
358
+ *
359
+ * @return string wp-config.php path.
360
+ */
361
+ private function _get_wp_config() {
362
+
363
+ $file = '/wp-config.php';
364
+ $config_path = false;
365
+
366
+ foreach (get_included_files() as $filename) {
367
+ if (0 === stripos(strrev($filename), strrev($file))) {
368
+ $config_path = $filename;
369
+ }
370
+ }
371
+
372
+ // Couldn't find wp-config.php.
373
+ if (!$config_path) {
374
+ return false;
375
+ }
376
+
377
+ return $config_path;
378
+ }
379
+
380
+ /**
381
+ * Util to delete folders and/or files
382
+ *
383
+ * @param string $src
384
+ * @return boolean
385
+ */
386
+ public static function delete($src) {
387
+
388
+ if (!file_exists($src)) {
389
+ return true;
390
+ }
391
+
392
+ if (is_dir($src)) {
393
+ $dir = opendir($src);
394
+ while (false !== ($file = readdir($dir))) {
395
+ if (('.' != $file) && ('..' != $file)) {
396
+ if (is_dir($src . '/' . $file)) {
397
+ self::delete($src . '/' . $file);
398
+ } else {
399
+ unlink($src . '/' . $file);
400
+ }
401
+ }
402
+ }
403
+ closedir($dir);
404
+ rmdir($src);
405
+ } else {
406
+ unlink($src);
407
+ }
408
+
409
+ return true;
410
+ }
411
+
412
+ /**
413
+ * Logs error messages
414
+ *
415
+ * @param string $message
416
+ * @return null|void
417
+ */
418
+ public function log($message) {
419
+ if (isset($this->logger)) {
420
+ $this->logger->log('ERROR', $message);
421
+ } else {
422
+ error_log($message);
423
+ }
424
+ }
425
+
426
+ /**
427
+ * Returns an instance of the current class, creates one if it doesn't exist
428
+ *
429
+ * @return object
430
+ */
431
+ public static function instance() {
432
+ if (empty(self::$instance)) {
433
+ self::$instance = new self();
434
+ }
435
+ return self::$instance;
436
+ }
437
+ }
438
+
439
+ endif;
cache/file-based-page-cache-functions.php ADDED
@@ -0,0 +1,297 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ if (!defined('ABSPATH')) die('No direct access allowed');
4
+
5
+ /**
6
+ * Holds utility functions used by file based cache
7
+ */
8
+
9
+ /**
10
+ * Cache output before it goes to the browser
11
+ *
12
+ * @param string $buffer Page HTML.
13
+ * @param int $flags OB flags to be passed through.
14
+ * @return string
15
+ */
16
+ function wpo_cache($buffer, $flags) {
17
+ global $post;
18
+
19
+ if (strlen($buffer) < 255) {
20
+ return $buffer;
21
+ }
22
+
23
+ // Don't cache search, 404, or password protected.
24
+ if (is_404() || is_search() || !empty($post->post_password)) {
25
+ return $buffer;
26
+ }
27
+
28
+ // No root cache folder, exit here
29
+ if (!file_exists(WPO_CACHE_DIR)) {
30
+ // Can not cache!
31
+ return $buffer;
32
+ }
33
+
34
+ // Try creating a folder for cached files, if it was flushed recently
35
+ if (!file_exists(WPO_CACHE_FILES_DIR)) {
36
+ if (!mkdir(WPO_CACHE_FILES_DIR)) {
37
+ // Can not cache!
38
+ return $buffer;
39
+ }
40
+ }
41
+
42
+ $buffer = apply_filters('wpo_pre_cache_buffer', $buffer);
43
+
44
+ $url_path = wpo_get_url_path();
45
+
46
+ $dirs = explode('/', $url_path);
47
+
48
+ $path = WPO_CACHE_FILES_DIR;
49
+
50
+ foreach ($dirs as $dir) {
51
+ if (!empty($dir)) {
52
+ $path .= '/' . $dir;
53
+
54
+ if (!file_exists($path)) {
55
+ if (!mkdir($path)) {
56
+ // Can not cache!
57
+ return $buffer;
58
+ }
59
+ }
60
+ }
61
+ }
62
+
63
+ $modified_time = time(); // Make sure modified time is consistent.
64
+
65
+ // Prevent mixed content when there's an http request but the site URL uses https.
66
+ $home_url = get_home_url();
67
+
68
+ if (!is_ssl() && 'https' === strtolower(parse_url($home_url, PHP_URL_SCHEME))) {
69
+ $https_home_url = $home_url;
70
+ $http_home_url = str_ireplace('https://', 'http://', $https_home_url);
71
+ $buffer = str_replace(esc_url($http_home_url), esc_url($https_home_url), $buffer);
72
+ }
73
+
74
+ if (preg_match('#</html>#i', $buffer)) {
75
+ if (!empty($GLOBALS['wpo_cache_config']['enable_mobile_caching']) && wpo_is_mobile()) {
76
+ $buffer .= "\n<!-- Cached by WP Optimize for mobile devices - Last modified: " . gmdate('D, d M Y H:i:s', $modified_time) . " GMT -->\n";
77
+ } else {
78
+ $buffer .= "\n<!-- Cached by WP Optimize - Last modified: " . gmdate('D, d M Y H:i:s', $modified_time) . " GMT -->\n";
79
+ }
80
+ }
81
+
82
+ if (!empty($GLOBALS['wpo_cache_config']['enable_gzip_compression']) && function_exists('gzencode')) {
83
+ if (!empty($GLOBALS['wpo_cache_config']['enable_mobile_caching']) && wpo_is_mobile()) {
84
+ file_put_contents($path . '/mobile.index.gzip.html', gzencode($buffer, 3));
85
+ touch($path . '/mobile.index.gzip.html', $modified_time);
86
+ } else {
87
+ file_put_contents($path . '/index.gzip.html', gzencode($buffer, 3));
88
+ touch($path . '/index.gzip.html', $modified_time);
89
+ }
90
+ } else {
91
+ if (!empty($GLOBALS['wpo_cache_config']['enable_mobile_caching']) && wpo_is_mobile()) {
92
+ file_put_contents($path . '/mobile.index.html', $buffer);
93
+ touch($path . '/mobile.index.html', $modified_time);
94
+ } else {
95
+ file_put_contents($path . '/index.html', $buffer);
96
+ touch($path . '/index.html', $modified_time);
97
+ }
98
+ }
99
+
100
+ header('Cache-Control: no-cache'); // Check back every time to see if re-download is necessary.
101
+ header('Last-Modified: ' . gmdate('D, d M Y H:i:s', $modified_time) . ' GMT');
102
+
103
+ if (function_exists('ob_gzhandler') && !empty($GLOBALS['wpo_cache_config']['enable_gzip_compression'])) {
104
+ return ob_gzhandler($buffer, $flags);
105
+ } else {
106
+ return $buffer;
107
+ }
108
+ }
109
+
110
+ /**
111
+ * Serves the cache and exits
112
+ */
113
+ function wpo_serve_cache() {
114
+ $file_name = 'index.html';
115
+
116
+ if (function_exists('gzencode') && !empty($GLOBALS['wpo_cache_config']['enable_gzip_compression'])) {
117
+ $file_name = 'index.gzip.html';
118
+ }
119
+
120
+ if (!empty($GLOBALS['wpo_cache_config']['enable_mobile_caching']) && wpo_is_mobile()) {
121
+ $file_name = 'mobile.' . $file_name;
122
+ }
123
+
124
+ $path = WPO_CACHE_FILES_DIR . '/' . rtrim(wpo_get_url_path(), '/') . '/' . $file_name;
125
+
126
+
127
+ $modified_time = file_exists($path) ? (int) filemtime($path) : time();
128
+
129
+ header('Cache-Control: no-cache'); // Check back in an hour.
130
+
131
+ if (!empty($modified_time) && !empty($_SERVER['HTTP_IF_MODIFIED_SINCE']) && strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE']) === $modified_time) {
132
+ if (function_exists('gzencode') && !empty($GLOBALS['wpo_cache_config']['enable_gzip_compression'])) {
133
+ header('Content-Encoding: gzip');
134
+ }
135
+
136
+ header($_SERVER['SERVER_PROTOCOL'] . ' 304 Not Modified', true, 304);
137
+ exit;
138
+ }
139
+
140
+ if (file_exists($path) && is_readable($path)) {
141
+ if (function_exists('gzencode') && !empty($GLOBALS['wpo_cache_config']['enable_gzip_compression'])) {
142
+ header('Content-Encoding: gzip');
143
+ }
144
+
145
+ readfile($path);
146
+
147
+ exit;
148
+ }
149
+ }
150
+
151
+ /**
152
+ * Clears the cache
153
+ */
154
+ function wpo_cache_flush() {
155
+
156
+ $this->wpo_delete_files(WPO_CACHE_FILES_DIR);
157
+
158
+ if (function_exists('wp_cache_flush')) {
159
+ wp_cache_flush();
160
+ }
161
+ }
162
+
163
+ /**
164
+ * Get URL path for caching
165
+ *
166
+ * @since 1.0
167
+ * @return string
168
+ */
169
+ function wpo_get_url_path() {
170
+
171
+ $host = !empty($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : '';
172
+
173
+ return rtrim($host, '/') . $_SERVER['REQUEST_URI'];
174
+ }
175
+
176
+
177
+ /**
178
+ * Return true of exception url matches current url
179
+ *
180
+ * @param string $exception Exceptions to check URL against.
181
+ * @param bool $regex Whether to check with regex or not.
182
+ * @return bool true if matched, false otherwise
183
+ */
184
+ function wpo_url_exception_match($exception, $regex = false ) {
185
+ if (preg_match('#^[\s]*$#', $exception)) return false;
186
+
187
+ $exception = trim($exception);
188
+
189
+ if (!preg_match('#^/#', $exception)) {
190
+
191
+ $url = rtrim('http' . (isset($_SERVER['HTTPS']) ? 's' : '' ) . '://' . "{$_SERVER['HTTP_HOST']}{$_SERVER['REQUEST_URI']}", '/');
192
+
193
+ if ($regex) {
194
+ if (preg_match('#^' . $exception . '$#', $url)) {
195
+ // Exception match!
196
+ return true;
197
+ }
198
+ } elseif (preg_match('#\*$#', $exception)) {
199
+ $filtered_exception = str_replace('*', '', $exception);
200
+
201
+ if (preg_match('#^' . $filtered_exception . '#', $url)) {
202
+ // Exception match!
203
+ return true;
204
+ }
205
+ } else {
206
+ $exception = rtrim($exception, '/');
207
+
208
+ if (strtolower($exception) === strtolower($url)) {
209
+ // Exception match!
210
+ return true;
211
+ }
212
+ }
213
+ } else {
214
+ $path = $_SERVER['REQUEST_URI'];
215
+
216
+ if ($regex) {
217
+ if (preg_match('#^' . $exception . '$#', $path)) {
218
+ // Exception match!
219
+ return true;
220
+ }
221
+ } elseif (preg_match('#\*$#', $exception)) {
222
+ $filtered_exception = preg_replace('#/?\*#', '', $exception);
223
+
224
+ if (preg_match('#^' . $filtered_exception . '#i', $path)) {
225
+ // Exception match!
226
+ return true;
227
+ }
228
+ } else {
229
+ if ('/' !== $path) {
230
+ $path = rtrim($path, '/');
231
+ }
232
+
233
+ if ('/' !== $exception) {
234
+ $exception = rtrim($exception, '/');
235
+ }
236
+
237
+ if (strtolower($exception) === strtolower($path)) {
238
+ // Exception match!
239
+ return true;
240
+ }
241
+ }
242
+ }
243
+
244
+ return false;
245
+ }
246
+
247
+ /**
248
+ * Checks if its a mobile device
249
+ *
250
+ * @see https://developer.wordpress.org/reference/functions/wp_is_mobile/
251
+ */
252
+ function wpo_is_mobile() {
253
+ if (empty($_SERVER['HTTP_USER_AGENT'])) {
254
+ $is_mobile = false;
255
+ // many mobile devices (all iPhone, iPad, etc.)
256
+ } elseif (false !== strpos($_SERVER['HTTP_USER_AGENT'], 'Mobile')
257
+ || false !== strpos($_SERVER['HTTP_USER_AGENT'], 'Android')
258
+ || false !== strpos($_SERVER['HTTP_USER_AGENT'], 'Silk/')
259
+ || false !== strpos($_SERVER['HTTP_USER_AGENT'], 'Kindle')
260
+ || false !== strpos($_SERVER['HTTP_USER_AGENT'], 'BlackBerry')
261
+ || false !== strpos($_SERVER['HTTP_USER_AGENT'], 'Opera Mini')
262
+ || false !== strpos($_SERVER['HTTP_USER_AGENT'], 'Opera Mobi')
263
+ ) {
264
+ $is_mobile = true;
265
+ } else {
266
+ $is_mobile = false;
267
+ }
268
+
269
+ return $is_mobile;
270
+ }
271
+
272
+ /**
273
+ * Delete function that deals with directories recursively
274
+ *
275
+ * @param string $src path of the folder
276
+ */
277
+ function wpo_delete_files($src) {
278
+ if (!file_exists($src)) return;
279
+
280
+ if (is_file($src)) unlink($src);
281
+
282
+ $dir = opendir($src);
283
+ $file = readdir($dir);
284
+
285
+ while (false !== $file) {
286
+ if ('.' != $file && '..' != $file) {
287
+ if (is_dir($src . '/' . $file)) {
288
+ wpo_delete_files($src . '/' . $file);
289
+ } else {
290
+ unlink($src . '/' . $file);
291
+ }
292
+ }
293
+ }
294
+
295
+ closedir($dir);
296
+ rmdir($src);
297
+ }
cache/file-based-page-cache.php ADDED
@@ -0,0 +1,65 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ if (!defined('ABSPATH')) die('No direct access allowed');
4
+
5
+ /**
6
+ * File based page cache drop in
7
+ */
8
+ require_once(dirname(__FILE__) . '/file-based-page-cache-functions.php');
9
+
10
+ // Don't cache robots.txt or htacesss.
11
+ if (false !== strpos($_SERVER['REQUEST_URI'], 'robots.txt') || false !== strpos($_SERVER['REQUEST_URI'], '.htaccess')) {
12
+ return;
13
+ }
14
+
15
+ // Don't cache non-GET requests.
16
+ if (!isset($_SERVER['REQUEST_METHOD']) || 'GET' !== $_SERVER['REQUEST_METHOD']) return;
17
+
18
+ $file_extension = $_SERVER['REQUEST_URI'];
19
+ $file_extension = preg_replace('#^(.*?)\?.*$#', '$1', $file_extension);
20
+ $file_extension = trim(preg_replace('#^.*\.(.*)$#', '$1', $file_extension));
21
+
22
+ // Don't cache disallowed extensions. Prevents wp-cron.php, xmlrpc.php, etc.
23
+ if (!preg_match('#index\.php$#i', $_SERVER['REQUEST_URI']) && in_array($file_extension, array( 'php', 'xml', 'xsl' ))) {
24
+ return;
25
+ }
26
+
27
+ // Don't cache if logged in.
28
+ if (!empty($_COOKIE)) {
29
+ $wp_cookies = array( 'wordpressuser_', 'wordpresspass_', 'wordpress_sec_', 'wordpress_logged_in_' );
30
+
31
+ foreach ($_COOKIE as $key => $value) {
32
+ foreach ($wp_cookies as $cookie) {
33
+ if (strpos($key, $cookie) !== false) {
34
+ // Logged in!
35
+ return;
36
+ }
37
+ }
38
+ }
39
+
40
+ if (!empty($_COOKIE['wpo_commented_posts'])) {
41
+ foreach ($_COOKIE['wpo_commented_posts'] as $path) {
42
+ if (rtrim($path, '/') === rtrim($_SERVER['REQUEST_URI'], '/')) {
43
+ // User commented on this post.
44
+ return;
45
+ }
46
+ }
47
+ }
48
+ }
49
+
50
+ // Deal with optional cache exceptions.
51
+ if (!empty($GLOBALS['wpo_cache_config']['cache_exception_urls'])) {
52
+ $exceptions = preg_split('#(\n|\r)#', $GLOBALS['wpo_cache_config']['cache_exception_urls']);
53
+ $regex = !empty($GLOBALS['wpo_cache_config']['enable_url_exemption_regex']);
54
+
55
+ foreach ($exceptions as $exception) {
56
+ if (wpo_url_exception_match($exception, $regex)) {
57
+ // Exception match.
58
+ return;
59
+ }
60
+ }
61
+ }
62
+
63
+ wpo_serve_cache();
64
+
65
+ ob_start('wpo_cache');
css/wp-optimize-admin.css CHANGED
@@ -1321,7 +1321,10 @@ h2#wp-optimize-nav-tab-wrapper a.nav-tab.wp-optimize-nav-tab__back .dashicons, h
1321
  user-select: none;
1322
  }
1323
 
1324
- .wpo_unused_image .wpo_unused_image__input:checked + label, .wpo_smush_image .wpo_unused_image__input:checked + label {
 
 
 
1325
  border-color: #0272AA;
1326
  }
1327
 
1321
  user-select: none;
1322
  }
1323
 
1324
+ .wpo_unused_image .wpo_unused_image__input:checked + label,
1325
+ .wpo_unused_image.checked label,
1326
+ .wpo_smush_image .wpo_unused_image__input:checked + label,
1327
+ .wpo_smush_image.checked label {
1328
  border-color: #0272AA;
1329
  }
1330
 
css/wp-optimize-admin.min.css CHANGED
@@ -1,2 +1,2 @@
1
- .wpo_hidden{display:none}.wpo_info{background:#FFF;color:#444;font-family:-apple-system,"BlinkMacSystemFont","Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif;margin:2em auto;padding:1em 2em;max-width:700px;box-shadow:0 1px 3px rgba(0,0,0,0.13)}.wpo_primary_big{padding:4px 6px !important;font-size:22px !important;min-height:34px;min-width:200px}.wpo_section{clear:both;padding:0;margin:0}.wp-optimize-settings{margin-bottom:16px}.wp-optimize-settings td>label{font-weight:bold;display:block;margin-bottom:8px}.wpo_col{display:block;float:left;margin:1% 0 1% 1%}.wpo_col:first-child{margin-left:0}.wpo_group:before,.wpo_group:after{content:"";display:table}.wpo_group:after{clear:both}.wpo_half_width{width:48%}.wpo_span_3_of_3{width:100%}.wpo_span_2_of_3{width:65.3%}.wpo_span_1_of_3{width:32.1%}.nav-tab-wrapper{margin:14px 0}@media screen and (min-width:549px){.show_on_default_sizes{display:block !important}.show_on_mobile_sizes{display:none !important}}@media screen and (max-width:548px){.show_on_default_sizes{display:none !important}.show_on_mobile_sizes{display:block !important}}@media screen and (max-width:768px){.wpo_col{margin:1% 0}.wpo_span_3_of_3{width:100%}.wpo_span_2_of_3{width:100%}.wpo_span_1_of_3{width:100%}.wpo_half_width{width:100%}}.wp-optimize-setting-is-sensitive td>label::before{content:"\f534";font-family:'dashicons';display:inline-block;margin-right:6px;font-style:normal;line-height:1;vertical-align:middle;width:20px;font-size:18px;height:20px;text-align:center;color:#72777c}.wpo-run-optimizations__container{margin-bottom:15px}td.wp-optimize-settings-optimization-checkbox{width:18px;padding-left:4px;padding-right:0}.wp-optimize-settings-optimization-checkbox input{margin:0;padding:0}#retention-period{width:60px}.wp-optimize-settings-optimization-info{font-size:80%;font-style:italic}img.addons{display:block;margin-left:auto;margin-right:auto;margin-bottom:20px;max-height:44px;height:auto;max-width:100%}.wpo_spinner{width:18px;height:18px;padding-left:10px;display:none;position:relative;top:4px}.optimization_spinner{width:20px;height:20px}#wp-optimize-auto-options{margin:20px 0 0 28px}.display-none{display:none}.visibility-hidden{visibility:hidden}.margin-one-percent{margin:1%}#save_done,.save-done{color:#d94f00;font-size:250% !important}.wp-optimize-settings-optimization-info a{text-decoration:underline}.wp-optimize-settings-optimization-run-spinner{position:relative;top:2px}@media screen and (min-width:782px){td.wp-optimize-settings-optimization-run{width:180px;padding-top:16px}}#wpoptimize_table_list .tablesorter-filter-row{display:none !important}#wpoptimize_table_list .optimization_spinner{position:relative;top:2px;left:5px}#wpoptimize_table_list .optimization_spinner.visibility-hidden{display:none}#wpoptimize_table_list_filter{width:100%;margin-bottom:15px}#wpoptimize_table_list_tables_not_found{display:none;margin:20px 0}div#wpoptimize_table_list_tables_not_found+h3{margin-top:30px}#optimize_form .select2-container,#wp-optimize-auto-options .select2-container{width:50% !important;top:-5px;height:40px;margin-left:10px}#wpoptimize_table_list .optimization_done_icon{color:#009b24;font-size:200%;display:inline-block;position:relative}#wpo_sitelist_show_moreoptions_cron{font-size:13px;line-height:1.5;letter-spacing:1px}#wp-optimize-nav-tab-contents-images .wpo_span_2_of_3 h3{display:inline-block}.wpo_remove_selected_sizes_btn__container{margin-top:20px}.unused-image-sizes__label{display:block;line-height:1.6}@media(max-width:782px){.unused-image-sizes__label{margin-left:30px;margin-bottom:15px;line-height:1}.unused-image-sizes__label input[type=checkbox]{margin-left:-30px}}#wp-optimize-nav-tab-contents-tables a{vertical-align:middle}#wpo_sitelist_moreoptions,#wpo_sitelist_moreoptions_cron{margin:4px 16px 6px 0;border:1px dotted;padding:6px 10px;max-height:300px;overflow-y:scroll;overflow-x:hidden}#wpo_sitelist_moreoptions{max-height:150px;margin-right:0}#wpo_settings_sites_list li,#wpo_settings_sites_list li a{font-size:13px;line-height:1.5}#wpo_sitelist_moreoptions_cron li{padding-left:20px}#wpo_import_error_message{display:none;color:#9b0000}#wpo_import_success_message{display:none;color:#46b450}#wp-optimize-logging-options{margin-top:10px}.wpo_logging_header{font-weight:bold;border-top:1px solid #333;border-bottom:1px solid #333;padding:5px 0;margin:0}.wpo_logging_row{border-bottom:1px solid #a1a2a3;padding:5px 0}.wpo_logging_logger_title,.wpo_logging_options_title,.wpo_logging_status_title,.wpo_logging_actions_title,.wpo_logging_logger_row,.wpo_logging_options_row,.wpo_logging_status_row,.wpo_logging_actions_row{display:inline-block;vertical-align:middle}.wpo_logging_logger_title,.wpo_logging_logger_row{width:38%}.wpo_logging_options_title,.wpo_logging_options_row{width:44%}.wpo_logging_status_title,.wpo_logging_status_row{width:8%}.wpo_logging_actions_title,.wpo_logging_actions_row{width:7%}.wpo_logging_actions_row{text-align:right}.wpo_logging_options_row{word-wrap:break-word}.wpo_logging_actions_row .dashicons-no-alt,.wpo_add_logger_form .dashicons-no-alt{background-color:#f06666;color:#FFF;width:20px;height:20px;border-radius:20px;display:inline-block;cursor:pointer;margin-left:5px}.wpo_add_logger_form .dashicons-no-alt{margin-top:12px;margin-right:10px;float:right}.wpo_logger_type{width:90%;margin-top:10px}.wpo_logger_addition_option{width:100%;margin-top:5px}.wpo_alert_notice{background-color:#f06666;color:#FFF;padding:5px;display:block;margin-bottom:5px;border-radius:5px}.wpo_error_field{border-color:#f06666 !important}.save_settings_reminder{display:none;color:#333;padding:15px 20px;background-color:#f0a5a4;border-radius:3px;margin:15px 0}#wpo_remove_selected_sizes{margin-top:20px}.wpo_unused_images_buttons_wrap{display:none}.wpo_unused_images_container h3{min-width:150px}#wpo_unused_images,#wpo_smush_images_grid{max-height:500px;overflow-y:auto}#wpo_unused_images a{outline:0}#wp-optimize-nav-tab-wpo_database-tables-contents .wpo-take-a-backup{margin-left:1%}.run-single-table-delete{margin-top:3px}#wpo_browser_cache_output,#wpo_gzip_compression_output{background:#f0f0f0;padding:10px;border:1px solid #CCC}#wpo_browser_cache_error_message,#wpo_gzip_compression_error_message,.wpo-error{color:#9b0000}#wpo_browser_cache_expire_days,#wpo_browser_cache_expire_hours{width:50px}.wpo-enabled .wpo-disabled{display:none}.wpo-disabled .wpo-enabled{display:none}#wp-optimize-wrap{position:relative;padding-top:100px}@media(min-width:820px){#wp-optimize-wrap{padding-top:120px}}@media(max-width:782px){#wp-optimize-wrap{margin-right:0}}.wpo-main-header{height:77px;position:fixed;top:32px;left:160px;background:#FFF;right:0;z-index:9980}@media(min-width:820px){.wpo-main-header{height:105px}}.wpo-main-header .wpo-logo__container{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;position:relative;height:100%;line-height:1;font-size:1rem;padding-left:50px;margin-left:10px}.wpo-main-header .wpo-logo{position:absolute;left:0;top:50%;transform:translateY(-50%);width:50px}.wpo-main-header .wpo-subheader{margin:0;font-weight:300;color:#72777c;line-height:1.3}@media(max-width:1080px){.wpo-main-header .wpo-subheader{display:none}}.wpo-main-header p.wpo-header-links{margin:0;font-size:.7rem;position:absolute;right:0;padding:6px 15px;background:#edeeef;border-bottom-left-radius:5px;z-index:1}.wpo-main-header p.wpo-header-links a{text-decoration:none}.wpo-main-header p.wpo-header-links .wpo-header-links__label{color:#82868b;position:absolute;right:100%;width:110px;text-align:right;padding-right:10px}@media(max-width:820px){.wpo-main-header p.wpo-header-links{display:none}}.wpo-main-header p.wpo-header-links__mobile{padding:10px;background:#edeeef;margin-bottom:0}@media(min-width:820px){.wpo-main-header p.wpo-header-links__mobile{display:none}}.wpo-main-header p.wpo-header-links__mobile a{display:inline-block;padding:4px;font-size:.8rem}.wpo-main-header p.wpo-header-links__mobile .wpo-header-links__label{color:#82868b}@media(max-width:600px){.wpo-main-header .wpo-logo__container strong{width:140px;display:inline-block}}@media(max-width:960px){body.auto-fold .wpo-main-header{left:36px}}@media(max-width:782px){body.auto-fold .wpo-main-header{left:0;top:46px}}@media(max-width:600px){body.auto-fold .wpo-main-header{position:absolute;left:-10px;right:-10px;top:0}}@media(min-width:782px){body.folded .wpo-main-header{left:36px}}body.is-scrolled .wpo-main-header{box-shadow:0 5px 25px rgba(0,0,0,0.17)}@media(min-width:769px){.wpo-page{padding-right:15px}}.wpo-page:not(.active){display:none}@media(min-width:1200px){.wpo-tab-postbox.right-col{width:350px;float:right;box-sizing:border-box;margin-top:3.1rem}.right-col+.wpo-main{float:left;box-sizing:border-box;width:calc(100% - 380px)}}@media(max-width:782px){#wp-optimize-wrap .button-large{display:block;width:100%}}#wp-optimize-wrap .red{color:#e07575}#wp-optimize-wrap div[id*="_notice"] div.updated{margin-left:0}.button.button-block{display:block;width:100%;text-align:center}.wpo-refresh-button{float:right}.wpo-refresh-button:hover{cursor:pointer}.wpo-refresh-button .dashicons{text-decoration:none;line-height:inherit;font-size:inherit}*[class*="wpo-badge"]{display:inline-block;font-size:.8em;text-transform:uppercase;background:#edeff0;padding:3px 5px;line-height:1;border-radius:3px}.wpo-badge__new{background:#dbe3e6;color:#00689a}.wpo-text__dim{color:#b5b9be}.wpo-fieldgroup .wpo-text__dim{color:#82868b}.wpo-first-child{margin-top:0}#save_done,.save-done{color:#009b24;font-size:250%}p.wpo-take-a-backup{display:inline-block;margin:0;line-height:1;padding-top:8px}@media(min-width:782px){p.wpo-take-a-backup{margin-left:20px}}#wp-optimize-nav-tab-wrapper ~ .wp-optimize-nav-tab-contents>.postbox{border:0}#wp-optimize-nav-tab-wrapper ~ .wp-optimize-nav-tab-contents>.postbox>h3:first-child{margin-top:0}.wpo-p25,.postbox.wpo-tab-postbox{padding:25px}.wpo-tab-postbox>h3:first-child{margin-top:0}.wpo-fieldgroup{background:#edeff0;border-radius:8px;padding:20px}.wpo-fieldgroup:not(:last-child){margin-bottom:2em}.wpo-fieldgroup>*:first-child{margin-top:0}.wpo-fieldgroup>*:last-child{margin-bottom:0}.wpo-fieldgroup__subgroup:not(:last-of-type){margin-bottom:20px}h2#wp-optimize-nav-tab-wrapper{margin-bottom:0;border-bottom:0;position:relative}h2#wp-optimize-nav-tab-wrapper .nav-tab,h2#wp-optimize-nav-tab-wrapper .nav-tab:hover,h2#wp-optimize-nav-tab-wrapper .nav-tab:focus,h2#wp-optimize-nav-tab-wrapper .nav-tab:focus:active{border:0;background:transparent;margin:0;border-top:3px solid transparent;padding:7px 15px;color:#0272aa}h2#wp-optimize-nav-tab-wrapper .nav-tab .dashicons,h2#wp-optimize-nav-tab-wrapper .nav-tab:hover .dashicons,h2#wp-optimize-nav-tab-wrapper .nav-tab:focus .dashicons,h2#wp-optimize-nav-tab-wrapper .nav-tab:focus:active .dashicons{display:block;margin:0 auto;color:#72777c;font-size:30px;width:30px;height:30px}h2#wp-optimize-nav-tab-wrapper .nav-tab-active,h2#wp-optimize-nav-tab-wrapper .nav-tab-active:hover,h2#wp-optimize-nav-tab-wrapper .nav-tab-active:focus,h2#wp-optimize-nav-tab-wrapper .nav-tab-active:focus:active{background:#FFF;box-shadow:0 0 1px rgba(0,0,0,0.04);border-top-color:#0272aa}h2#wp-optimize-nav-tab-wrapper .nav-tab-active .dashicons,h2#wp-optimize-nav-tab-wrapper .nav-tab-active:hover .dashicons,h2#wp-optimize-nav-tab-wrapper .nav-tab-active:focus .dashicons,h2#wp-optimize-nav-tab-wrapper .nav-tab-active:focus:active .dashicons{color:#0272aa}@media(max-width:782px){h2#wp-optimize-nav-tab-wrapper a:not(.nav-tab-active){display:none}}h2#wp-optimize-nav-tab-wrapper a[role="toggle-menu"]{display:block;float:right}@media(min-width:782px){h2#wp-optimize-nav-tab-wrapper a[role="toggle-menu"]{display:none}}h2#wp-optimize-nav-tab-wrapper a.nav-tab.wp-optimize-nav-tab__back,h2#wp-optimize-nav-tab-wrapper a.nav-tab.wp-optimize-nav-tab__back:focus:active{text-align:right}h2#wp-optimize-nav-tab-wrapper a.nav-tab.wp-optimize-nav-tab__back .dashicons,h2#wp-optimize-nav-tab-wrapper a.nav-tab.wp-optimize-nav-tab__back:focus:active .dashicons{color:#b5b9be;font-size:18px;display:inline-block;height:auto;line-height:inherit;width:20px}@media(min-width:782px){h2#wp-optimize-nav-tab-wrapper a.nav-tab.wp-optimize-nav-tab__back,h2#wp-optimize-nav-tab-wrapper a.nav-tab.wp-optimize-nav-tab__back:focus:active{position:absolute;bottom:14px;right:0;font-size:12px;font-weight:400;text-decoration:none;padding:0}h2#wp-optimize-nav-tab-wrapper a.nav-tab.wp-optimize-nav-tab__back .dashicons,h2#wp-optimize-nav-tab-wrapper a.nav-tab.wp-optimize-nav-tab__back:focus:active .dashicons{color:#b5b9be;font-size:18px;display:inline-block;height:auto;line-height:inherit;width:20px}}.wpo-mobile-menu-opened .wpo-main .wpo-tab-postbox{display:none}.wpo-mobile-menu-opened h2#wp-optimize-nav-tab-wrapper a{display:block;float:none}.wpo-mobile-menu-opened h2#wp-optimize-nav-tab-wrapper a.nav-tab-active,.wpo-mobile-menu-opened h2#wp-optimize-nav-tab-wrapper a.nav-tab-active:focus{border-top:0;border-left:3px solid}.wpo-mobile-menu-opened h2#wp-optimize-nav-tab-wrapper a.nav-tab-active .dashicons,.wpo-mobile-menu-opened h2#wp-optimize-nav-tab-wrapper a.nav-tab-active:focus .dashicons,.wpo-mobile-menu-opened h2#wp-optimize-nav-tab-wrapper a:focus .dashicons,.wpo-mobile-menu-opened h2#wp-optimize-nav-tab-wrapper a:hover .dashicons,.wpo-mobile-menu-opened h2#wp-optimize-nav-tab-wrapper a .dashicons{display:inline-block;line-height:inherit}.wpo-mobile-menu-opened h2#wp-optimize-nav-tab-wrapper a[role="toggle-menu"]{display:none}.wpo-pages-menu{position:absolute;bottom:0;right:0;display:none}@media(max-width:820px){.opened+.wpo-pages-menu{display:block;box-shadow:0 5px 25px rgba(0,0,0,0.17)}}@media(min-width:821px){.wpo-pages-menu{display:-ms-flexbox;display:flex;height:77px}}.wpo-pages-menu>a{text-decoration:none;position:relative;color:inherit;text-align:center;box-sizing:border-box;display:block;color:#555d66}@media(min-width:821px){.wpo-pages-menu>a{padding:0 8px;height:77px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center}.wpo-pages-menu>a>span{display:block;margin:0 auto}}@media(max-width:820px){.wpo-pages-menu>a{padding:15px;font-size:1.2em}}.wpo-pages-menu>a.active::after{content:'';display:block;position:absolute;bottom:0;left:0;width:100%;height:3px;background:#e46b1f;color:#191e23}@media(max-width:820px){.wpo-pages-menu>a.active::after{width:3px;height:100%}}@media(max-width:820px){.wpo-pages-menu>a.active{color:#e46b1f}}.wpo-pages-menu>a:hover{background:#f9f9f9;color:#191e23}.wpo-pages-menu span.separator{display:block;width:2px;background:#efefef;margin-top:18px;margin-bottom:18px;margin-right:5px;margin-left:5px}@media(max-width:820px){.wpo-pages-menu span.separator{width:80%;height:2px;margin:10px 10%}}@media(max-width:820px){.wpo-pages-menu{text-align:center;top:100%;width:100%;bottom:auto;background:#FFF}}#wp-optimize-nav-page-menu{position:absolute;right:0;bottom:0;display:-ms-flexbox;display:flex;height:77px;-ms-flex-direction:column;flex-direction:column;padding:0 20px;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;text-decoration:none}#wp-optimize-nav-page-menu:not(.opened) .dashicons-no-alt{display:none}#wp-optimize-nav-page-menu.opened .dashicons-menu{display:none}@media(min-width:821px){#wp-optimize-nav-page-menu{display:none}}.wpo-dashboard-pages-menu{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.wpo-dashboard-pages-menu[data-itemscount="1"] .wpo-dashboard-pages-menu__item,.wpo-dashboard-pages-menu[data-itemscount="2"] .wpo-dashboard-pages-menu__item,.wpo-dashboard-pages-menu[data-itemscount="3"] .wpo-dashboard-pages-menu__item{width:calc(33.333% - 13.33333px)}.wpo-dashboard-pages-menu[data-itemscount="4"] .wpo-dashboard-pages-menu__item{width:calc(25% - 15px)}.wpo-dashboard-pages-menu[data-itemscount="5"] .wpo-dashboard-pages-menu__item{width:calc(20% - 16px)}.wpo-dashboard-pages-menu[data-itemscount="6"] .wpo-dashboard-pages-menu__item{width:calc(16.66667% - 16.66667px)}.wpo-dashboard-pages-menu .postbox.wpo-dashboard-pages-menu__item{padding:20px;margin-right:20px;box-sizing:border-box;padding-bottom:60px;min-width:0}.wpo-dashboard-pages-menu .postbox.wpo-dashboard-pages-menu__item:last-child{margin-right:0}.wpo-dashboard-pages-menu .postbox.wpo-dashboard-pages-menu__item h3{margin-top:0}.wpo-dashboard-pages-menu .postbox.wpo-dashboard-pages-menu__item h3 .dashicons{color:#72777c;line-height:1;height:18px;margin-top:-2px;margin-right:10px}.wpo-dashboard-pages-menu .postbox.wpo-dashboard-pages-menu__item a{position:absolute;bottom:20px;left:20px;width:calc(100% - 40px) !important}@media(max-width:782px){.wpo-dashboard-pages-menu .postbox.wpo-dashboard-pages-menu__item{width:100%;margin-right:0;padding-bottom:20px}.wpo-dashboard-pages-menu .postbox.wpo-dashboard-pages-menu__item a.button.button-large{width:auto !important;left:auto;bottom:auto;top:50%;transform:translateY(-50%);right:20px}.wpo-dashboard-pages-menu .postbox.wpo-dashboard-pages-menu__item h3{margin:0}.wpo-dashboard-pages-menu .postbox.wpo-dashboard-pages-menu__item p{display:none}}#wpadminbar .quicklinks .menupop.hover ul li.separator .ab-item.ab-empty-item{height:2px;line-height:2px;background:rgba(255,255,255,0.0902);margin:5px 10px;width:auto;min-width:0}.wpo_unused_image,.wpo_smush_image{position:relative;margin:4px;width:calc(50% - 8px);text-align:center}@media(min-width:500px){.wpo_unused_image,.wpo_smush_image{width:calc(25% - 8px)}}@media(min-width:782px){.wpo_unused_image,.wpo_smush_image{width:calc(16.6666% - 8px)}}@media(min-width:1100px){.wpo_unused_image,.wpo_smush_image{width:calc(12.5% - 8px)}}.wpo_unused_image .wpo_unused_image__input,.wpo_smush_image .wpo_unused_image__input{position:absolute;top:10px;visibility:hidden}.wpo_unused_image label,.wpo_smush_image label{display:block;width:100%;position:relative;padding:1px;border:3px solid #edeff0;box-sizing:border-box}.wpo_unused_image label::before,.wpo_smush_image label::before{content:"";display:block;padding-top:100%}.wpo_unused_image label .thumbnail,.wpo_smush_image label .thumbnail{position:absolute;top:1px;left:1px;width:calc(100% - 2px);height:calc(100% - 2px);background-repeat:no-repeat;background-size:cover;background-position:50% 50%;overflow:hidden;background:rgba(220,220,220,0.2)}.wpo_unused_image label .thumbnail img,.wpo_smush_image label .thumbnail img{display:block;margin:0;max-height:100%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.wpo_unused_image .wpo_unused_image__input:checked+label,.wpo_smush_image .wpo_unused_image__input:checked+label{border-color:#0272aa}.wpo_unused_image a,.wpo_unused_image a.button,.wpo_unused_image a.button:active,.wpo_smush_image a,.wpo_smush_image a.button,.wpo_smush_image a.button:active{position:absolute;z-index:2;bottom:13px;left:50%;transform:translateX(-50%);display:none}.wpo_unused_image:hover a,.wpo_unused_image:hover a.button,.wpo_unused_image:hover a.button:active,.wpo_smush_image:hover a,.wpo_smush_image:hover a.button,.wpo_smush_image:hover a.button:active{display:inline-block}#wpo_unused_images,#wpo_smush_images_grid{width:calc(100% + 8px);margin-left:-4px;margin-right:-4px;max-height:500px;overflow-y:auto;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}#wpo_unused_images .wpo-fieldgroup,#wpo_smush_images_grid .wpo-fieldgroup{width:100%}#wpo_unused_images a{outline:0}p.wpo-plugin-installed{color:#009b24}.wpo-repeater__add{display:inline-block;cursor:pointer;font-weight:bold;text-decoration:none}.wpo-plugin-family__premium h2{margin:0;padding:25px}.wpo-plugin-family__plugins{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-left:1px;padding-bottom:1px}.wpo-plugin-family__plugin{-ms-flex:auto;flex:auto;width:100%;padding:30px;box-sizing:border-box;border:1px solid #e3e4e7;margin-left:-1px;margin-bottom:-1px}@media(min-width:782px){.wpo-plugin-family__plugin{width:50%}.wpo-plugin-family__free .wpo-plugin-family__plugin{width:100%}}@media(max-width:1080px){.wpo-plugin-family__free .wpo-plugin-family__plugin{width:50%}}@media(max-width:782px){.wpo-plugin-family__free .wpo-plugin-family__plugin{width:100%}}div#wp-optimize-nav-tab-wpo_mayalso-may_also-contents .wpo-tab-postbox{padding:0}.wpo_feature_cont{width:64.5%}.wpo_plugin_family_cont{width:34.5%}@media(max-width:1080px){.wpo_feature_cont,.wpo_plugin_family_cont{width:100%;float:none;margin:0}}.wpo_feature_cont header,.wpo_plugin_family_cont header{padding:20px}@media(max-width:1080px){.wpo_feature_cont header,.wpo_plugin_family_cont header{padding:40px}}.wpo_feature_cont header h2,.wpo_plugin_family_cont header h2{margin:0}.wpo_feature_cont header p,.wpo_plugin_family_cont header p{margin-bottom:0}.wpo_feat_table,.wpo_feat_th,.wpo_feat_table td{border:0;border-collapse:collapse;background-color:white;font-size:120%;text-align:center}.wpo_feat_table td{border:1px solid #f1f1f1;border-bottom-width:4px;padding:15px}.wpo_feat_table td:nth-child(2),.wpo_feat_table td:nth-child(3){background:rgba(241,241,241,0.38)}.wpo_feat_table p{padding:0 10px;margin:5px 0;font-size:13px}.wpo_feat_table h4{margin:5px 0}.wpo_feat_table .dashicons{width:25px;height:25px;font-size:25px;line-height:1}.wpo_feat_table .dashicons-yes,.wpo_feat_table .updraft-yes{color:green}.wpo_feat_table .dashicons-no-alt,.wpo_feat_table .updraft-no{color:red}.wpo-premium-image{display:none}@media screen and (min-width:720px){#wpoptimize_table_list_filter{width:40%}.wpo-premium-image{display:block;float:left;padding:16px 18px;width:30px;height:auto}}@media screen and (min-width:1220px){.wpo_feat_table td:nth-child(2),.wpo_feat_table td:nth-child(3){width:110px}}.other-plugin-title{text-decoration:none}@media screen and (max-width:782px){table.wpo_feat_table{display:block}table.wpo_feat_table tr{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}table.wpo_feat_table td{display:block}table.wpo_feat_table td:first-child{width:100%;border-bottom:0}table.wpo_feat_table td:not(:first-child){width:50%;box-sizing:border-box}table.wpo_feat_table td:first-child:empty{display:none}table.wpo_feat_table td[data-colname]::before{content:attr(data-colname);font-size:.8rem;color:#CCC;line-height:1}}#wp-optimize-wrap .wp-list-table td{word-break:break-all}@media screen and (max-width:782px){#wp-optimize-wrap .wp-list-table.wp-list-table-mobile-labels tbody,#wp-optimize-wrap .wp-list-table.wp-list-table-mobile-labels tbody tr,#wp-optimize-wrap .wp-list-table.wp-list-table-mobile-labels tbody th,#wp-optimize-wrap .wp-list-table.wp-list-table-mobile-labels tbody td{display:block}#wp-optimize-wrap .wp-list-table.wp-list-table-mobile-labels tbody td{padding:3px 8px 3px 35%;word-break:break-word;box-sizing:border-box}#wp-optimize-wrap .wp-list-table.wp-list-table-mobile-labels tbody td::before{color:#b5b9be}#wp-optimize-wrap .wp-list-table.wp-list-table-mobile-labels thead,#wp-optimize-wrap .wp-list-table.wp-list-table-mobile-labels thead tr{display:block}#wp-optimize-wrap .wp-list-table.wp-list-table-mobile-labels thead th.column-primary{display:block;box-sizing:border-box}#wp-optimize-wrap .wp-list-table.wp-list-table-mobile-labels thead th:not(.column-primary){display:none !important}}th:not(.sorter-false) .tablesorter-header-inner{color:#0074ab}th:not(.sorter-false) .tablesorter-header-inner::after{content:'';font-family:'dashicons';font-size:20px;line-height:20px;height:20px;width:20px;display:inline-block;vertical-align:bottom}th.tablesorter-header.tablesorter-headerAsc,th.tablesorter-header.tablesorter-headerDesc{font-weight:500;border-bottom-color:#0272aa}th.tablesorter-header.tablesorter-headerDesc .tablesorter-header-inner::after{content:"\f140"}th.tablesorter-header.tablesorter-headerAsc .tablesorter-header-inner::after{content:"\f142"}th.tablesorter-header:focus{outline:0;box-shadow:0 0 3px rgba(0,116,171,0.78)}th.tablesorter-header:focus:not(.tablesorter-headerAsc):not(.tablesorter-headerDesc) .tablesorter-header-inner::after{content:"\f142";opacity:.5}.tablesorter.hasFilters tr.filtered{display:none}
2
  /*# sourceMappingURL=wp-optimize-admin.min.css.map */
1
+ .wpo_hidden{display:none}.wpo_info{background:#FFF;color:#444;font-family:-apple-system,"BlinkMacSystemFont","Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif;margin:2em auto;padding:1em 2em;max-width:700px;box-shadow:0 1px 3px rgba(0,0,0,0.13)}.wpo_primary_big{padding:4px 6px !important;font-size:22px !important;min-height:34px;min-width:200px}.wpo_section{clear:both;padding:0;margin:0}.wp-optimize-settings{margin-bottom:16px}.wp-optimize-settings td>label{font-weight:bold;display:block;margin-bottom:8px}.wpo_col{display:block;float:left;margin:1% 0 1% 1%}.wpo_col:first-child{margin-left:0}.wpo_group:before,.wpo_group:after{content:"";display:table}.wpo_group:after{clear:both}.wpo_half_width{width:48%}.wpo_span_3_of_3{width:100%}.wpo_span_2_of_3{width:65.3%}.wpo_span_1_of_3{width:32.1%}.nav-tab-wrapper{margin:14px 0}@media screen and (min-width:549px){.show_on_default_sizes{display:block !important}.show_on_mobile_sizes{display:none !important}}@media screen and (max-width:548px){.show_on_default_sizes{display:none !important}.show_on_mobile_sizes{display:block !important}}@media screen and (max-width:768px){.wpo_col{margin:1% 0}.wpo_span_3_of_3{width:100%}.wpo_span_2_of_3{width:100%}.wpo_span_1_of_3{width:100%}.wpo_half_width{width:100%}}.wp-optimize-setting-is-sensitive td>label::before{content:"\f534";font-family:'dashicons';display:inline-block;margin-right:6px;font-style:normal;line-height:1;vertical-align:middle;width:20px;font-size:18px;height:20px;text-align:center;color:#72777c}.wpo-run-optimizations__container{margin-bottom:15px}td.wp-optimize-settings-optimization-checkbox{width:18px;padding-left:4px;padding-right:0}.wp-optimize-settings-optimization-checkbox input{margin:0;padding:0}#retention-period{width:60px}.wp-optimize-settings-optimization-info{font-size:80%;font-style:italic}img.addons{display:block;margin-left:auto;margin-right:auto;margin-bottom:20px;max-height:44px;height:auto;max-width:100%}.wpo_spinner{width:18px;height:18px;padding-left:10px;display:none;position:relative;top:4px}.optimization_spinner{width:20px;height:20px}#wp-optimize-auto-options{margin:20px 0 0 28px}.display-none{display:none}.visibility-hidden{visibility:hidden}.margin-one-percent{margin:1%}#save_done,.save-done{color:#d94f00;font-size:250% !important}.wp-optimize-settings-optimization-info a{text-decoration:underline}.wp-optimize-settings-optimization-run-spinner{position:relative;top:2px}@media screen and (min-width:782px){td.wp-optimize-settings-optimization-run{width:180px;padding-top:16px}}#wpoptimize_table_list .tablesorter-filter-row{display:none !important}#wpoptimize_table_list .optimization_spinner{position:relative;top:2px;left:5px}#wpoptimize_table_list .optimization_spinner.visibility-hidden{display:none}#wpoptimize_table_list_filter{width:100%;margin-bottom:15px}#wpoptimize_table_list_tables_not_found{display:none;margin:20px 0}div#wpoptimize_table_list_tables_not_found+h3{margin-top:30px}#optimize_form .select2-container,#wp-optimize-auto-options .select2-container{width:50% !important;top:-5px;height:40px;margin-left:10px}#wpoptimize_table_list .optimization_done_icon{color:#009b24;font-size:200%;display:inline-block;position:relative}#wpo_sitelist_show_moreoptions_cron{font-size:13px;line-height:1.5;letter-spacing:1px}#wp-optimize-nav-tab-contents-images .wpo_span_2_of_3 h3{display:inline-block}.wpo_remove_selected_sizes_btn__container{margin-top:20px}.unused-image-sizes__label{display:block;line-height:1.6}@media(max-width:782px){.unused-image-sizes__label{margin-left:30px;margin-bottom:15px;line-height:1}.unused-image-sizes__label input[type=checkbox]{margin-left:-30px}}#wp-optimize-nav-tab-contents-tables a{vertical-align:middle}#wpo_sitelist_moreoptions,#wpo_sitelist_moreoptions_cron{margin:4px 16px 6px 0;border:1px dotted;padding:6px 10px;max-height:300px;overflow-y:scroll;overflow-x:hidden}#wpo_sitelist_moreoptions{max-height:150px;margin-right:0}#wpo_settings_sites_list li,#wpo_settings_sites_list li a{font-size:13px;line-height:1.5}#wpo_sitelist_moreoptions_cron li{padding-left:20px}#wpo_import_error_message{display:none;color:#9b0000}#wpo_import_success_message{display:none;color:#46b450}#wp-optimize-logging-options{margin-top:10px}.wpo_logging_header{font-weight:bold;border-top:1px solid #333;border-bottom:1px solid #333;padding:5px 0;margin:0}.wpo_logging_row{border-bottom:1px solid #a1a2a3;padding:5px 0}.wpo_logging_logger_title,.wpo_logging_options_title,.wpo_logging_status_title,.wpo_logging_actions_title,.wpo_logging_logger_row,.wpo_logging_options_row,.wpo_logging_status_row,.wpo_logging_actions_row{display:inline-block;vertical-align:middle}.wpo_logging_logger_title,.wpo_logging_logger_row{width:38%}.wpo_logging_options_title,.wpo_logging_options_row{width:44%}.wpo_logging_status_title,.wpo_logging_status_row{width:8%}.wpo_logging_actions_title,.wpo_logging_actions_row{width:7%}.wpo_logging_actions_row{text-align:right}.wpo_logging_options_row{word-wrap:break-word}.wpo_logging_actions_row .dashicons-no-alt,.wpo_add_logger_form .dashicons-no-alt{background-color:#f06666;color:#FFF;width:20px;height:20px;border-radius:20px;display:inline-block;cursor:pointer;margin-left:5px}.wpo_add_logger_form .dashicons-no-alt{margin-top:12px;margin-right:10px;float:right}.wpo_logger_type{width:90%;margin-top:10px}.wpo_logger_addition_option{width:100%;margin-top:5px}.wpo_alert_notice{background-color:#f06666;color:#FFF;padding:5px;display:block;margin-bottom:5px;border-radius:5px}.wpo_error_field{border-color:#f06666 !important}.save_settings_reminder{display:none;color:#333;padding:15px 20px;background-color:#f0a5a4;border-radius:3px;margin:15px 0}#wpo_remove_selected_sizes{margin-top:20px}.wpo_unused_images_buttons_wrap{display:none}.wpo_unused_images_container h3{min-width:150px}#wpo_unused_images,#wpo_smush_images_grid{max-height:500px;overflow-y:auto}#wpo_unused_images a{outline:0}#wp-optimize-nav-tab-wpo_database-tables-contents .wpo-take-a-backup{margin-left:1%}.run-single-table-delete{margin-top:3px}#wpo_browser_cache_output,#wpo_gzip_compression_output{background:#f0f0f0;padding:10px;border:1px solid #CCC}#wpo_browser_cache_error_message,#wpo_gzip_compression_error_message,.wpo-error{color:#9b0000}#wpo_browser_cache_expire_days,#wpo_browser_cache_expire_hours{width:50px}.wpo-enabled .wpo-disabled{display:none}.wpo-disabled .wpo-enabled{display:none}#wp-optimize-wrap{position:relative;padding-top:100px}@media(min-width:820px){#wp-optimize-wrap{padding-top:120px}}@media(max-width:782px){#wp-optimize-wrap{margin-right:0}}.wpo-main-header{height:77px;position:fixed;top:32px;left:160px;background:#FFF;right:0;z-index:9980}@media(min-width:820px){.wpo-main-header{height:105px}}.wpo-main-header .wpo-logo__container{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;position:relative;height:100%;line-height:1;font-size:1rem;padding-left:50px;margin-left:10px}.wpo-main-header .wpo-logo{position:absolute;left:0;top:50%;transform:translateY(-50%);width:50px}.wpo-main-header .wpo-subheader{margin:0;font-weight:300;color:#72777c;line-height:1.3}@media(max-width:1080px){.wpo-main-header .wpo-subheader{display:none}}.wpo-main-header p.wpo-header-links{margin:0;font-size:.7rem;position:absolute;right:0;padding:6px 15px;background:#edeeef;border-bottom-left-radius:5px;z-index:1}.wpo-main-header p.wpo-header-links a{text-decoration:none}.wpo-main-header p.wpo-header-links .wpo-header-links__label{color:#82868b;position:absolute;right:100%;width:110px;text-align:right;padding-right:10px}@media(max-width:820px){.wpo-main-header p.wpo-header-links{display:none}}.wpo-main-header p.wpo-header-links__mobile{padding:10px;background:#edeeef;margin-bottom:0}@media(min-width:820px){.wpo-main-header p.wpo-header-links__mobile{display:none}}.wpo-main-header p.wpo-header-links__mobile a{display:inline-block;padding:4px;font-size:.8rem}.wpo-main-header p.wpo-header-links__mobile .wpo-header-links__label{color:#82868b}@media(max-width:600px){.wpo-main-header .wpo-logo__container strong{width:140px;display:inline-block}}@media(max-width:960px){body.auto-fold .wpo-main-header{left:36px}}@media(max-width:782px){body.auto-fold .wpo-main-header{left:0;top:46px}}@media(max-width:600px){body.auto-fold .wpo-main-header{position:absolute;left:-10px;right:-10px;top:0}}@media(min-width:782px){body.folded .wpo-main-header{left:36px}}body.is-scrolled .wpo-main-header{box-shadow:0 5px 25px rgba(0,0,0,0.17)}@media(min-width:769px){.wpo-page{padding-right:15px}}.wpo-page:not(.active){display:none}@media(min-width:1200px){.wpo-tab-postbox.right-col{width:350px;float:right;box-sizing:border-box;margin-top:3.1rem}.right-col+.wpo-main{float:left;box-sizing:border-box;width:calc(100% - 380px)}}@media(max-width:782px){#wp-optimize-wrap .button-large{display:block;width:100%}}#wp-optimize-wrap .red{color:#e07575}#wp-optimize-wrap div[id*="_notice"] div.updated{margin-left:0}.button.button-block{display:block;width:100%;text-align:center}.wpo-refresh-button{float:right}.wpo-refresh-button:hover{cursor:pointer}.wpo-refresh-button .dashicons{text-decoration:none;line-height:inherit;font-size:inherit}*[class*="wpo-badge"]{display:inline-block;font-size:.8em;text-transform:uppercase;background:#edeff0;padding:3px 5px;line-height:1;border-radius:3px}.wpo-badge__new{background:#dbe3e6;color:#00689a}.wpo-text__dim{color:#b5b9be}.wpo-fieldgroup .wpo-text__dim{color:#82868b}.wpo-first-child{margin-top:0}#save_done,.save-done{color:#009b24;font-size:250%}p.wpo-take-a-backup{display:inline-block;margin:0;line-height:1;padding-top:8px}@media(min-width:782px){p.wpo-take-a-backup{margin-left:20px}}#wp-optimize-nav-tab-wrapper ~ .wp-optimize-nav-tab-contents>.postbox{border:0}#wp-optimize-nav-tab-wrapper ~ .wp-optimize-nav-tab-contents>.postbox>h3:first-child{margin-top:0}.wpo-p25,.postbox.wpo-tab-postbox{padding:25px}.wpo-tab-postbox>h3:first-child{margin-top:0}.wpo-fieldgroup{background:#edeff0;border-radius:8px;padding:20px}.wpo-fieldgroup:not(:last-child){margin-bottom:2em}.wpo-fieldgroup>*:first-child{margin-top:0}.wpo-fieldgroup>*:last-child{margin-bottom:0}.wpo-fieldgroup__subgroup:not(:last-of-type){margin-bottom:20px}h2#wp-optimize-nav-tab-wrapper{margin-bottom:0;border-bottom:0;position:relative}h2#wp-optimize-nav-tab-wrapper .nav-tab,h2#wp-optimize-nav-tab-wrapper .nav-tab:hover,h2#wp-optimize-nav-tab-wrapper .nav-tab:focus,h2#wp-optimize-nav-tab-wrapper .nav-tab:focus:active{border:0;background:transparent;margin:0;border-top:3px solid transparent;padding:7px 15px;color:#0272aa}h2#wp-optimize-nav-tab-wrapper .nav-tab .dashicons,h2#wp-optimize-nav-tab-wrapper .nav-tab:hover .dashicons,h2#wp-optimize-nav-tab-wrapper .nav-tab:focus .dashicons,h2#wp-optimize-nav-tab-wrapper .nav-tab:focus:active .dashicons{display:block;margin:0 auto;color:#72777c;font-size:30px;width:30px;height:30px}h2#wp-optimize-nav-tab-wrapper .nav-tab-active,h2#wp-optimize-nav-tab-wrapper .nav-tab-active:hover,h2#wp-optimize-nav-tab-wrapper .nav-tab-active:focus,h2#wp-optimize-nav-tab-wrapper .nav-tab-active:focus:active{background:#FFF;box-shadow:0 0 1px rgba(0,0,0,0.04);border-top-color:#0272aa}h2#wp-optimize-nav-tab-wrapper .nav-tab-active .dashicons,h2#wp-optimize-nav-tab-wrapper .nav-tab-active:hover .dashicons,h2#wp-optimize-nav-tab-wrapper .nav-tab-active:focus .dashicons,h2#wp-optimize-nav-tab-wrapper .nav-tab-active:focus:active .dashicons{color:#0272aa}@media(max-width:782px){h2#wp-optimize-nav-tab-wrapper a:not(.nav-tab-active){display:none}}h2#wp-optimize-nav-tab-wrapper a[role="toggle-menu"]{display:block;float:right}@media(min-width:782px){h2#wp-optimize-nav-tab-wrapper a[role="toggle-menu"]{display:none}}h2#wp-optimize-nav-tab-wrapper a.nav-tab.wp-optimize-nav-tab__back,h2#wp-optimize-nav-tab-wrapper a.nav-tab.wp-optimize-nav-tab__back:focus:active{text-align:right}h2#wp-optimize-nav-tab-wrapper a.nav-tab.wp-optimize-nav-tab__back .dashicons,h2#wp-optimize-nav-tab-wrapper a.nav-tab.wp-optimize-nav-tab__back:focus:active .dashicons{color:#b5b9be;font-size:18px;display:inline-block;height:auto;line-height:inherit;width:20px}@media(min-width:782px){h2#wp-optimize-nav-tab-wrapper a.nav-tab.wp-optimize-nav-tab__back,h2#wp-optimize-nav-tab-wrapper a.nav-tab.wp-optimize-nav-tab__back:focus:active{position:absolute;bottom:14px;right:0;font-size:12px;font-weight:400;text-decoration:none;padding:0}h2#wp-optimize-nav-tab-wrapper a.nav-tab.wp-optimize-nav-tab__back .dashicons,h2#wp-optimize-nav-tab-wrapper a.nav-tab.wp-optimize-nav-tab__back:focus:active .dashicons{color:#b5b9be;font-size:18px;display:inline-block;height:auto;line-height:inherit;width:20px}}.wpo-mobile-menu-opened .wpo-main .wpo-tab-postbox{display:none}.wpo-mobile-menu-opened h2#wp-optimize-nav-tab-wrapper a{display:block;float:none}.wpo-mobile-menu-opened h2#wp-optimize-nav-tab-wrapper a.nav-tab-active,.wpo-mobile-menu-opened h2#wp-optimize-nav-tab-wrapper a.nav-tab-active:focus{border-top:0;border-left:3px solid}.wpo-mobile-menu-opened h2#wp-optimize-nav-tab-wrapper a.nav-tab-active .dashicons,.wpo-mobile-menu-opened h2#wp-optimize-nav-tab-wrapper a.nav-tab-active:focus .dashicons,.wpo-mobile-menu-opened h2#wp-optimize-nav-tab-wrapper a:focus .dashicons,.wpo-mobile-menu-opened h2#wp-optimize-nav-tab-wrapper a:hover .dashicons,.wpo-mobile-menu-opened h2#wp-optimize-nav-tab-wrapper a .dashicons{display:inline-block;line-height:inherit}.wpo-mobile-menu-opened h2#wp-optimize-nav-tab-wrapper a[role="toggle-menu"]{display:none}.wpo-pages-menu{position:absolute;bottom:0;right:0;display:none}@media(max-width:820px){.opened+.wpo-pages-menu{display:block;box-shadow:0 5px 25px rgba(0,0,0,0.17)}}@media(min-width:821px){.wpo-pages-menu{display:-ms-flexbox;display:flex;height:77px}}.wpo-pages-menu>a{text-decoration:none;position:relative;color:inherit;text-align:center;box-sizing:border-box;display:block;color:#555d66}@media(min-width:821px){.wpo-pages-menu>a{padding:0 8px;height:77px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center}.wpo-pages-menu>a>span{display:block;margin:0 auto}}@media(max-width:820px){.wpo-pages-menu>a{padding:15px;font-size:1.2em}}.wpo-pages-menu>a.active::after{content:'';display:block;position:absolute;bottom:0;left:0;width:100%;height:3px;background:#e46b1f;color:#191e23}@media(max-width:820px){.wpo-pages-menu>a.active::after{width:3px;height:100%}}@media(max-width:820px){.wpo-pages-menu>a.active{color:#e46b1f}}.wpo-pages-menu>a:hover{background:#f9f9f9;color:#191e23}.wpo-pages-menu span.separator{display:block;width:2px;background:#efefef;margin-top:18px;margin-bottom:18px;margin-right:5px;margin-left:5px}@media(max-width:820px){.wpo-pages-menu span.separator{width:80%;height:2px;margin:10px 10%}}@media(max-width:820px){.wpo-pages-menu{text-align:center;top:100%;width:100%;bottom:auto;background:#FFF}}#wp-optimize-nav-page-menu{position:absolute;right:0;bottom:0;display:-ms-flexbox;display:flex;height:77px;-ms-flex-direction:column;flex-direction:column;padding:0 20px;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;text-decoration:none}#wp-optimize-nav-page-menu:not(.opened) .dashicons-no-alt{display:none}#wp-optimize-nav-page-menu.opened .dashicons-menu{display:none}@media(min-width:821px){#wp-optimize-nav-page-menu{display:none}}.wpo-dashboard-pages-menu{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.wpo-dashboard-pages-menu[data-itemscount="1"] .wpo-dashboard-pages-menu__item,.wpo-dashboard-pages-menu[data-itemscount="2"] .wpo-dashboard-pages-menu__item,.wpo-dashboard-pages-menu[data-itemscount="3"] .wpo-dashboard-pages-menu__item{width:calc(33.333% - 13.33333px)}.wpo-dashboard-pages-menu[data-itemscount="4"] .wpo-dashboard-pages-menu__item{width:calc(25% - 15px)}.wpo-dashboard-pages-menu[data-itemscount="5"] .wpo-dashboard-pages-menu__item{width:calc(20% - 16px)}.wpo-dashboard-pages-menu[data-itemscount="6"] .wpo-dashboard-pages-menu__item{width:calc(16.66667% - 16.66667px)}.wpo-dashboard-pages-menu .postbox.wpo-dashboard-pages-menu__item{padding:20px;margin-right:20px;box-sizing:border-box;padding-bottom:60px;min-width:0}.wpo-dashboard-pages-menu .postbox.wpo-dashboard-pages-menu__item:last-child{margin-right:0}.wpo-dashboard-pages-menu .postbox.wpo-dashboard-pages-menu__item h3{margin-top:0}.wpo-dashboard-pages-menu .postbox.wpo-dashboard-pages-menu__item h3 .dashicons{color:#72777c;line-height:1;height:18px;margin-top:-2px;margin-right:10px}.wpo-dashboard-pages-menu .postbox.wpo-dashboard-pages-menu__item a{position:absolute;bottom:20px;left:20px;width:calc(100% - 40px) !important}@media(max-width:782px){.wpo-dashboard-pages-menu .postbox.wpo-dashboard-pages-menu__item{width:100%;margin-right:0;padding-bottom:20px}.wpo-dashboard-pages-menu .postbox.wpo-dashboard-pages-menu__item a.button.button-large{width:auto !important;left:auto;bottom:auto;top:50%;transform:translateY(-50%);right:20px}.wpo-dashboard-pages-menu .postbox.wpo-dashboard-pages-menu__item h3{margin:0}.wpo-dashboard-pages-menu .postbox.wpo-dashboard-pages-menu__item p{display:none}}#wpadminbar .quicklinks .menupop.hover ul li.separator .ab-item.ab-empty-item{height:2px;line-height:2px;background:rgba(255,255,255,0.0902);margin:5px 10px;width:auto;min-width:0}.wpo_unused_image,.wpo_smush_image{position:relative;margin:4px;width:calc(50% - 8px);text-align:center}@media(min-width:500px){.wpo_unused_image,.wpo_smush_image{width:calc(25% - 8px)}}@media(min-width:782px){.wpo_unused_image,.wpo_smush_image{width:calc(16.6666% - 8px)}}@media(min-width:1100px){.wpo_unused_image,.wpo_smush_image{width:calc(12.5% - 8px)}}.wpo_unused_image .wpo_unused_image__input,.wpo_smush_image .wpo_unused_image__input{position:absolute;top:10px;visibility:hidden}.wpo_unused_image label,.wpo_smush_image label{display:block;width:100%;position:relative;padding:1px;border:3px solid #edeff0;box-sizing:border-box}.wpo_unused_image label::before,.wpo_smush_image label::before{content:"";display:block;padding-top:100%}.wpo_unused_image label .thumbnail,.wpo_smush_image label .thumbnail{position:absolute;top:1px;left:1px;width:calc(100% - 2px);height:calc(100% - 2px);background-repeat:no-repeat;background-size:cover;background-position:50% 50%;overflow:hidden;background:rgba(220,220,220,0.2)}.wpo_unused_image label .thumbnail img,.wpo_smush_image label .thumbnail img{display:block;margin:0;max-height:100%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.wpo_unused_image .wpo_unused_image__input:checked+label,.wpo_unused_image.checked label,.wpo_smush_image .wpo_unused_image__input:checked+label,.wpo_smush_image.checked label{border-color:#0272aa}.wpo_unused_image a,.wpo_unused_image a.button,.wpo_unused_image a.button:active,.wpo_smush_image a,.wpo_smush_image a.button,.wpo_smush_image a.button:active{position:absolute;z-index:2;bottom:13px;left:50%;transform:translateX(-50%);display:none}.wpo_unused_image:hover a,.wpo_unused_image:hover a.button,.wpo_unused_image:hover a.button:active,.wpo_smush_image:hover a,.wpo_smush_image:hover a.button,.wpo_smush_image:hover a.button:active{display:inline-block}#wpo_unused_images,#wpo_smush_images_grid{width:calc(100% + 8px);margin-left:-4px;margin-right:-4px;max-height:500px;overflow-y:auto;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}#wpo_unused_images .wpo-fieldgroup,#wpo_smush_images_grid .wpo-fieldgroup{width:100%}#wpo_unused_images a{outline:0}p.wpo-plugin-installed{color:#009b24}.wpo-repeater__add{display:inline-block;cursor:pointer;font-weight:bold;text-decoration:none}.wpo-plugin-family__premium h2{margin:0;padding:25px}.wpo-plugin-family__plugins{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-left:1px;padding-bottom:1px}.wpo-plugin-family__plugin{-ms-flex:auto;flex:auto;width:100%;padding:30px;box-sizing:border-box;border:1px solid #e3e4e7;margin-left:-1px;margin-bottom:-1px}@media(min-width:782px){.wpo-plugin-family__plugin{width:50%}.wpo-plugin-family__free .wpo-plugin-family__plugin{width:100%}}@media(max-width:1080px){.wpo-plugin-family__free .wpo-plugin-family__plugin{width:50%}}@media(max-width:782px){.wpo-plugin-family__free .wpo-plugin-family__plugin{width:100%}}div#wp-optimize-nav-tab-wpo_mayalso-may_also-contents .wpo-tab-postbox{padding:0}.wpo_feature_cont{width:64.5%}.wpo_plugin_family_cont{width:34.5%}@media(max-width:1080px){.wpo_feature_cont,.wpo_plugin_family_cont{width:100%;float:none;margin:0}}.wpo_feature_cont header,.wpo_plugin_family_cont header{padding:20px}@media(max-width:1080px){.wpo_feature_cont header,.wpo_plugin_family_cont header{padding:40px}}.wpo_feature_cont header h2,.wpo_plugin_family_cont header h2{margin:0}.wpo_feature_cont header p,.wpo_plugin_family_cont header p{margin-bottom:0}.wpo_feat_table,.wpo_feat_th,.wpo_feat_table td{border:0;border-collapse:collapse;background-color:white;font-size:120%;text-align:center}.wpo_feat_table td{border:1px solid #f1f1f1;border-bottom-width:4px;padding:15px}.wpo_feat_table td:nth-child(2),.wpo_feat_table td:nth-child(3){background:rgba(241,241,241,0.38)}.wpo_feat_table p{padding:0 10px;margin:5px 0;font-size:13px}.wpo_feat_table h4{margin:5px 0}.wpo_feat_table .dashicons{width:25px;height:25px;font-size:25px;line-height:1}.wpo_feat_table .dashicons-yes,.wpo_feat_table .updraft-yes{color:green}.wpo_feat_table .dashicons-no-alt,.wpo_feat_table .updraft-no{color:red}.wpo-premium-image{display:none}@media screen and (min-width:720px){#wpoptimize_table_list_filter{width:40%}.wpo-premium-image{display:block;float:left;padding:16px 18px;width:30px;height:auto}}@media screen and (min-width:1220px){.wpo_feat_table td:nth-child(2),.wpo_feat_table td:nth-child(3){width:110px}}.other-plugin-title{text-decoration:none}@media screen and (max-width:782px){table.wpo_feat_table{display:block}table.wpo_feat_table tr{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}table.wpo_feat_table td{display:block}table.wpo_feat_table td:first-child{width:100%;border-bottom:0}table.wpo_feat_table td:not(:first-child){width:50%;box-sizing:border-box}table.wpo_feat_table td:first-child:empty{display:none}table.wpo_feat_table td[data-colname]::before{content:attr(data-colname);font-size:.8rem;color:#CCC;line-height:1}}#wp-optimize-wrap .wp-list-table td{word-break:break-all}@media screen and (max-width:782px){#wp-optimize-wrap .wp-list-table.wp-list-table-mobile-labels tbody,#wp-optimize-wrap .wp-list-table.wp-list-table-mobile-labels tbody tr,#wp-optimize-wrap .wp-list-table.wp-list-table-mobile-labels tbody th,#wp-optimize-wrap .wp-list-table.wp-list-table-mobile-labels tbody td{display:block}#wp-optimize-wrap .wp-list-table.wp-list-table-mobile-labels tbody td{padding:3px 8px 3px 35%;word-break:break-word;box-sizing:border-box}#wp-optimize-wrap .wp-list-table.wp-list-table-mobile-labels tbody td::before{color:#b5b9be}#wp-optimize-wrap .wp-list-table.wp-list-table-mobile-labels thead,#wp-optimize-wrap .wp-list-table.wp-list-table-mobile-labels thead tr{display:block}#wp-optimize-wrap .wp-list-table.wp-list-table-mobile-labels thead th.column-primary{display:block;box-sizing:border-box}#wp-optimize-wrap .wp-list-table.wp-list-table-mobile-labels thead th:not(.column-primary){display:none !important}}th:not(.sorter-false) .tablesorter-header-inner{color:#0074ab}th:not(.sorter-false) .tablesorter-header-inner::after{content:'';font-family:'dashicons';font-size:20px;line-height:20px;height:20px;width:20px;display:inline-block;vertical-align:bottom}th.tablesorter-header.tablesorter-headerAsc,th.tablesorter-header.tablesorter-headerDesc{font-weight:500;border-bottom-color:#0272aa}th.tablesorter-header.tablesorter-headerDesc .tablesorter-header-inner::after{content:"\f140"}th.tablesorter-header.tablesorter-headerAsc .tablesorter-header-inner::after{content:"\f142"}th.tablesorter-header:focus{outline:0;box-shadow:0 0 3px rgba(0,116,171,0.78)}th.tablesorter-header:focus:not(.tablesorter-headerAsc):not(.tablesorter-headerDesc) .tablesorter-header-inner::after{content:"\f142";opacity:.5}.tablesorter.hasFilters tr.filtered{display:none}
2
  /*# sourceMappingURL=wp-optimize-admin.min.css.map */
css/wp-optimize-admin.min.css.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["css/wp-optimize-admin.scss","css/admin.css","css/scss/_layout.scss","css/scss/_common.scss","css/scss/_menu-and-tabs.scss","css/scss/_image-list.scss","css/scss/_plugin-family-tab.scss","css/scss/_table-sorter.scss"],"names":[],"mappings":"AAAA,YAAY;;AAcZ,gBAAgB;;ACdhB;CACC,cAAc;CACd;;AAED;CACC,iBAAiB;CACjB,YAAY;CACZ,2IAA2I;CAC3I,iBAAiB;CACjB,iBAAiB;CACjB,iBAAiB;CAEjB,uCAAuC;CACvC;;AAED,gBAAgB;;AAChB;CACC,4BAA4B;CAC5B,2BAA2B;CAC3B,iBAAiB;CACjB,iBAAiB;CACjB;;AAED,gBAAgB;;AAChB;CACC,YAAY;CACZ,WAAW;CACX,UAAU;CACV;;AAED;CACC,oBAAoB;CACpB;;AAED;CACC,kBAAkB;CAClB,eAAe;CACf,mBAAmB;CACnB;;AAED,oBAAoB;;AACpB;CACC,eAAe;CACf,YAAY;CACZ,mBAAmB;CACnB;;AAED;CACC,eAAe;CACf;;AAED,gBAAgB;;AAChB;;CAEC,YAAY;CACZ,eAAe;CACf;;AAED;CACC,YAAY;CACZ;;AAED;CACC,WAAW;CACX;;AAED,qBAAqB;;AACrB;CACC,YAAY;CACZ;;AAED;CACC,aAAa;CACb;;AAED;CACC,aAAa;CACb;;AAED;CACC,iBAAiB;CACjB;;AAED;;CAEC;EACC,0BAA0B;EAC1B;;CAED;EACC,yBAAyB;EACzB;;CAED;;AAED;;CAEC;EACC,yBAAyB;EACzB;;CAED;EACC,0BAA0B;EAC1B;;CAED;;AAED;;CAEC;EACC,aAAa;EACb;;CAED;EACC,YAAY;EACZ;;CAED;EACC,YAAY;EACZ;;CAED;EACC,YAAY;EACZ;;CAED;EACC,YAAY;EACZ;;CAED;;AAED,qRAAqR;;AAErR;CACC,iBAAiB;CACjB,yBAAyB;CACzB,sBAAsB;CACtB,kBAAkB;CAClB,mBAAmB;CACnB,eAAe;CACf,uBAAuB;CACvB,YAAY;CACZ,gBAAgB;CAChB,aAAa;CACb,mBAAmB;CACnB,eAAe;CACf;;AAED;CACC,oBAAoB;CACpB;;AAED;CACC,YAAY;CACZ,kBAAkB;CAClB,mBAAmB;CACnB;;AAED;CACC,YAAY;CACZ,aAAa;CACb;;AAED;CACC,YAAY;CACZ;;AAED;CACC,eAAe;CACf,mBAAmB;CACnB;;AAED;CACC,kBAAkB;CAClB;;AAED,sCAAsC;;AACtC;CACC,eAAe;CACf,kBAAkB;CAClB,mBAAmB;CACnB,oBAAoB;CACpB,iBAAiB;CACjB,aAAa;CACb,gBAAgB;CAChB;;AAED;CACC,YAAY;CACZ,aAAa;CACb,mBAAmB;CACnB,cAAc;CACd,mBAAmB;CACnB,SAAS;CACT;;AAED;CACC,YAAY;CACZ,aAAa;CACb;;AAED;CACC,sBAAsB;CACtB;;AAED;CACC,cAAc;CACd;;AAED;CACC,mBAAmB;CACnB;;AAED;CACC,WAAW;CACX;;AAED;CACC,eAAe;CACf,2BAA2B;CAC3B;;AAED;CACC,2BAA2B;CAC3B;;AAED;CACC,mBAAmB;CACnB,SAAS;CACT;;AAED;;CAEC;EACC,aAAa;EACb,kBAAkB;EAClB;;CAED;;AAED;CACC,yBAAyB;CACzB;;AAED;CACC,mBAAmB;CACnB,SAAS;CACT,UAAU;CACV;;AAED;CACC,cAAc;CACd;;AAED;CACC,YAAY;CACZ,oBAAoB;CACpB;;AAED;CACC,cAAc;CACd,eAAe;CACf;;AAED;CACC,iBAAiB;CACjB;;AAED;;CAEC,sBAAsB;CACtB,UAAU;CACV,aAAa;CACb,kBAAkB;CAClB;;AAED;CACC,eAAe;CACf,gBAAgB;CAChB,sBAAsB;CACtB,mBAAmB;CACnB;;AAED;CACC,gBAAgB;CAChB,iBAAiB;CACjB,oBAAoB;CACpB;;AAED;CACC,sBAAsB;CACtB;;AAED;CACC,iBAAiB;CACjB;;AAED;CACC,eAAe;CACf,iBAAiB;CACjB;;AAED;;CAEC;EACC,kBAAkB;EAClB,oBAAoB;EACpB,eAAe;EACf;;CAED;EACC,mBAAmB;EACnB;;CAED;;AAED;CACC,uBAAuB;CACvB;;AAED;;CAEC,uBAAuB;CACvB,mBAAmB;CACnB,kBAAkB;CAClB,kBAAkB;CAClB,mBAAmB;CACnB,mBAAmB;CACnB;;AAED;CACC,kBAAkB;CAClB,gBAAgB;CAChB;;AAED;;CAEC,gBAAgB;CAChB,iBAAiB;CACjB;;AAED;CACC,mBAAmB;CACnB;;AAED;CACC,cAAc;CACd,eAAe;CA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","file":"wp-optimize-admin.min.css","sourcesContent":["/* COLORS */\n$wp-blue: #0272AA;\n$wp-gray-dark: #555d66;\n$wp-gray-darker: #191e23;\n$wp-secondary-gray: #72777C;\n$wp-secondary-gray-light: #82868B;\n$wp-light-gray: #B5B9BE;\n$wp-lighter-gray: #EDEFF0;\n$success: #009B24;\n$error: #9B3600;\n$red: #E07575;\n$brand: #E46B1F;\n$spacing: 20px; \n\n/* OTHER VARS */\n$breakpoint-small: 782px;\n\n@import \"admin.css\";\n\n@import \"scss/layout\";\n\n@import \"scss/common\";\n\n@import \"scss/menu-and-tabs\";\n\n@import \"scss/image-list\";\n\n@import \"scss/plugin-family-tab\";\n\n@import \"scss/table-sorter\";\n",".wpo_hidden {\n\tdisplay: none;\n}\n\n.wpo_info {\n\tbackground: #FFF;\n\tcolor: #444;\n\tfont-family: -apple-system, \"BlinkMacSystemFont\", \"Segoe UI\", \"Roboto\", \"Oxygen-Sans\", \"Ubuntu\", \"Cantarell\", \"Helvetica Neue\", sans-serif;\n\tmargin: 2em auto;\n\tpadding: 1em 2em;\n\tmax-width: 700px;\n\t-webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.13);\n\tbox-shadow: 0 1px 3px rgba(0,0,0,0.13);\n}\n\n/* big button */\n.wpo_primary_big {\n\tpadding: 4px 6px !important;\n\tfont-size: 22px !important;\n\tmin-height: 34px;\n\tmin-width: 200px;\n}\n\n/* SECTIONS */\n.wpo_section {\n\tclear: both;\n\tpadding: 0;\n\tmargin: 0;\n}\n\n.wp-optimize-settings {\n\tmargin-bottom: 16px;\n}\n\n.wp-optimize-settings td > label {\n\tfont-weight: bold;\n\tdisplay: block;\n\tmargin-bottom: 8px;\n}\n\n/* COLUMN SETUP */\n.wpo_col {\n\tdisplay: block;\n\tfloat: left;\n\tmargin: 1% 0 1% 1%;\n}\n\n.wpo_col:first-child {\n\tmargin-left: 0;\n}\n\n/* GROUPING */\n.wpo_group:before,\n.wpo_group:after {\n\tcontent: \"\";\n\tdisplay: table;\n}\n\n.wpo_group:after {\n\tclear: both;\n}\n\n.wpo_half_width {\n\twidth: 48%;\n}\n\n/* GRID OF THREE */\n.wpo_span_3_of_3 {\n\twidth: 100%;\n}\n\n.wpo_span_2_of_3 {\n\twidth: 65.3%;\n}\n\n.wpo_span_1_of_3 {\n\twidth: 32.1%;\n}\n\n.nav-tab-wrapper {\n\tmargin: 14px 0px;\n}\n\n@media screen and (min-width: 549px) {\n\n\t.show_on_default_sizes {\n\t\tdisplay: block !important;\n\t}\n\n\t.show_on_mobile_sizes {\n\t\tdisplay: none !important;\n\t}\n\n}\n\n@media screen and (max-width: 548px) {\n\n\t.show_on_default_sizes {\n\t\tdisplay: none !important;\n\t}\n\n\t.show_on_mobile_sizes {\n\t\tdisplay: block !important;\n\t}\n\n}\n\n@media screen and (max-width: 768px) {\n\n\t.wpo_col {\n\t\tmargin: 1% 0;\n\t}\n\n\t.wpo_span_3_of_3 {\n\t\twidth: 100%;\n\t}\n\n\t.wpo_span_2_of_3 {\n\t\twidth: 100%;\n\t}\n\n\t.wpo_span_1_of_3 {\n\t\twidth: 100%;\n\t}\n\n\t.wpo_half_width {\n\t\twidth: 100%;\n\t}\n\n}\n\n/* .wp-optimize-settings-clean-transient label, .wp-optimize-settings-clean-pingbacks label, .wp-optimize-settings-clean-trackbacks label, .wp-optimize-settings-clean-postmeta label, .wp-optimize-settings-clean-orphandata label, .wp-optimize-settings-clean-commentmeta label */\n\n.wp-optimize-setting-is-sensitive td > label::before {\n\tcontent: \"\\f534\";\n\tfont-family: 'dashicons';\n\tdisplay: inline-block;\n\tmargin-right: 6px;\n\tfont-style: normal;\n\tline-height: 1;\n\tvertical-align: middle;\n\twidth: 20px;\n\tfont-size: 18px;\n\theight: 20px;\n\ttext-align: center;\n\tcolor: #72777C;\n}\n\n.wpo-run-optimizations__container {\n\tmargin-bottom: 15px;\n}\n\ntd.wp-optimize-settings-optimization-checkbox {\n\twidth: 18px;\n\tpadding-left: 4px;\n\tpadding-right: 0px;\n}\n\n.wp-optimize-settings-optimization-checkbox input {\n\tmargin: 0px;\n\tpadding: 0px;\n}\n\n#retention-period {\n\twidth: 60px;\n}\n\n.wp-optimize-settings-optimization-info {\n\tfont-size: 80%;\n\tfont-style: italic;\n}\n\n.wp-optimize-settings input[type=\"checkbox\"] {\n\t/* width: 18px; */\n}\n\n/* Added for the Image on Addons tab*/\nimg.addons {\n\tdisplay: block;\n\tmargin-left: auto;\n\tmargin-right: auto;\n\tmargin-bottom: 20px;\n\tmax-height: 44px;\n\theight: auto;\n\tmax-width: 100%;\n}\n\n.wpo_spinner {\n\twidth: 18px;\n\theight: 18px;\n\tpadding-left: 10px;\n\tdisplay: none;\n\tposition: relative;\n\ttop: 4px;\n}\n\n.optimization_spinner {\n\twidth: 20px;\n\theight: 20px;\n}\n\n#wp-optimize-auto-options {\n\tmargin: 20px 0 0 28px;\n}\n\n.display-none {\n\tdisplay: none;\n}\n\n.visibility-hidden {\n\tvisibility: hidden;\n}\n\n.margin-one-percent {\n\tmargin: 1%;\n}\n\n#save_done, .save-done {\n\tcolor: #D94F00;\n\tfont-size: 250% !important;\n}\n\n.wp-optimize-settings-optimization-info a {\n\ttext-decoration: underline;\n}\n\n.wp-optimize-settings-optimization-run-spinner {\n\tposition: relative;\n\ttop: 2px;\n}\n\n@media screen and (min-width: 782px) {\n\n\ttd.wp-optimize-settings-optimization-run {\n\t\twidth: 180px;\n\t\tpadding-top: 16px;\n\t}\n\n}\n\n#wpoptimize_table_list .tablesorter-filter-row {\n\tdisplay: none !important;\n}\n\n#wpoptimize_table_list .optimization_spinner {\n\tposition: relative;\n\ttop: 2px;\n\tleft: 5px;\n}\n\n#wpoptimize_table_list .optimization_spinner.visibility-hidden {\n\tdisplay: none;\n}\n\n#wpoptimize_table_list_filter {\n\twidth: 100%;\n\tmargin-bottom: 15px;\n}\n\n#wpoptimize_table_list_tables_not_found {\n\tdisplay: none;\n\tmargin: 20px 0;\n}\n\ndiv#wpoptimize_table_list_tables_not_found + h3 {\n\tmargin-top: 30px;\n}\n\n#optimize_form .select2-container,\n#wp-optimize-auto-options .select2-container {\n\twidth: 50% !important;\n\ttop: -5px;\n\theight: 40px;\n\tmargin-left: 10px;\n}\n\n#wpoptimize_table_list .optimization_done_icon {\n\tcolor: #009B24;\n\tfont-size: 200%;\n\tdisplay: inline-block;\n\tposition: relative;\n}\n\n#wpo_sitelist_show_moreoptions_cron {\n\tfont-size: 13px;\n\tline-height: 1.5;\n\tletter-spacing: 1px;\n}\n\n#wp-optimize-nav-tab-contents-images .wpo_span_2_of_3 h3 {\n\tdisplay: inline-block;\n}\n\n.wpo_remove_selected_sizes_btn__container {\n\tmargin-top: 20px;\n}\n\n.unused-image-sizes__label {\n\tdisplay: block;\n\tline-height: 1.6;\n}\n\n@media (max-width: 782px) {\n\n\t.unused-image-sizes__label {\n\t\tmargin-left: 30px;\n\t\tmargin-bottom: 15px;\n\t\tline-height: 1;\n\t}\n\n\t.unused-image-sizes__label input[type=checkbox] {\n\t\tmargin-left: -30px;\n\t}\n\n}\n\n#wp-optimize-nav-tab-contents-tables a {\n\tvertical-align: middle;\n}\n\n#wpo_sitelist_moreoptions,\n#wpo_sitelist_moreoptions_cron {\n\tmargin: 4px 16px 6px 0;\n\tborder: 1px dotted;\n\tpadding: 6px 10px;\n\tmax-height: 300px;\n\toverflow-y: scroll;\n\toverflow-x: hidden;\n}\n\n#wpo_sitelist_moreoptions {\n\tmax-height: 150px;\n\tmargin-right: 0;\n}\n\n#wpo_settings_sites_list li,\n#wpo_settings_sites_list li a {\n\tfont-size: 13px;\n\tline-height: 1.5;\n}\n\n#wpo_sitelist_moreoptions_cron li {\n\tpadding-left: 20px;\n}\n\n#wpo_import_error_message {\n\tdisplay: none;\n\tcolor: #9B0000;\n}\n\n#wpo_import_success_message {\n\tdisplay: none;\n\tcolor: #46B450;\n}\n\n#wp-optimize-logging-options {\n\tmargin-top: 10px;\n}\n\n/* Logger settings*/\n.wpo_logging_header {\n\tfont-weight: bold;\n\tborder-top: 1px solid #333;\n\tborder-bottom: 1px solid #333;\n\tpadding: 5px 0;\n\tmargin: 0;\n}\n\n.wpo_logging_row {\n\tborder-bottom: 1px solid #A1A2A3;\n\tpadding: 5px 0;\n}\n\n.wpo_logging_logger_title,\n.wpo_logging_options_title,\n.wpo_logging_status_title,\n.wpo_logging_actions_title,\n.wpo_logging_logger_row,\n.wpo_logging_options_row,\n.wpo_logging_status_row,\n.wpo_logging_actions_row {\n\tdisplay: inline-block;\n\tvertical-align: middle;\n}\n\n.wpo_logging_logger_title,\n.wpo_logging_logger_row {\n\twidth: 38%;\n}\n\n.wpo_logging_options_title,\n.wpo_logging_options_row {\n\twidth: 44%;\n}\n\n.wpo_logging_status_title,\n.wpo_logging_status_row {\n\twidth: 8%;\n}\n\n.wpo_logging_actions_title,\n.wpo_logging_actions_row {\n\twidth: 7%;\n}\n\n.wpo_logging_actions_row {\n\ttext-align: right;\n}\n\n.wpo_logging_options_row {\n\tword-wrap: break-word;\n}\n\n.wpo_logging_actions_row .dashicons-no-alt,\n.wpo_add_logger_form .dashicons-no-alt {\n\tbackground-color: #F06666;\n\tcolor: #FFF;\n\twidth: 20px;\n\theight: 20px;\n\tborder-radius: 20px;\n\tdisplay: inline-block;\n\tcursor: pointer;\n\tmargin-left: 5px;\n}\n\n.wpo_add_logger_form .dashicons-no-alt {\n\tmargin-top: 12px;\n\tmargin-right: 10px;\n\tfloat: right;\n}\n\n.wpo_logger_type {\n\twidth: 90%;\n\tmargin-top: 10px;\n}\n\n.wpo_logger_addition_option {\n\twidth: 100%;\n\tmargin-top: 5px;\n}\n\n.wpo_alert_notice {\n\tbackground-color: #F06666;\n\tcolor: #FFF;\n\tpadding: 5px;\n\tdisplay: block;\n\tmargin-bottom: 5px;\n\tborder-radius: 5px;\n}\n\n.wpo_error_field {\n\tborder-color: #F06666 !important;\n}\n\n.save_settings_reminder {\n\tdisplay: none;\n\tcolor: #333;\n\tpadding: 15px 20px;\n\tbackground-color: #F0A5A4;\n\tborder-radius: 3px;\n\tmargin: 15px 0;\n}\n\n#wpo_remove_selected_sizes {\n\tmargin-top: 20px;\n}\n\n.wpo_unused_images_buttons_wrap {\n\tdisplay: none;\n}\n\n.wpo_unused_images_container h3 {\n\tmin-width: 150px;\n}\n\n#wpo_unused_images, #wpo_smush_images_grid {\n\tmax-height: 500px;\n\toverflow-y: auto;\n}\n\n#wpo_unused_images a {\n\toutline: none;\n}\n\n#wp-optimize-nav-tab-wpo_database-tables-contents .wpo-take-a-backup {\n\tmargin-left: 1%;\n}\n\n.run-single-table-delete {\n\tmargin-top: 3px;\n}\n\n#wpo_browser_cache_output,\n#wpo_gzip_compression_output {\n\tbackground: #F0F0F0;\n\tpadding: 10px;\n\tborder: 1px solid #CCC;\n}\n\n#wpo_browser_cache_error_message,\n#wpo_gzip_compression_error_message,\n.wpo-error {\n\tcolor: #9B0000;\n}\n\n#wpo_browser_cache_expire_days,\n#wpo_browser_cache_expire_hours {\n\twidth: 50px;\n}\n\n.wpo-enabled .wpo-disabled {\n\tdisplay: none;\n}\n\n.wpo-disabled .wpo-enabled {\n\tdisplay: none;\n}","#wp-optimize-wrap {\n\tposition: relative;\n\tpadding-top: 100px;\n\n\t@media (min-width: 820px) {\n\t\tpadding-top: 120px;\n\t}\n\n\t@media(max-width: $breakpoint-small) {\n\t\tmargin-right: 0;\n\t}\n\n}\n\n/* DASHBOARD */\n\n.wpo-main-header {\n\n height: 77px;\n position: fixed;\n top: 32px;\n left: 160px;\n background: #FFF;\n right: 0;\n z-index: 9980;\n\n\t@media (min-width: 820px) {\n\t\theight: 105px;\n\t}\t\n\n\t.wpo-logo__container {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tjustify-content: center;\n\t\tposition: relative;\n\t\theight: 100%;\n\t\tline-height: 1;\n\t\tfont-size: 1rem;\n\t\tpadding-left: 50px;\n\t\tmargin-left: 10px;\n\t}\n\n\t.wpo-logo {\n\t\tposition: absolute;\n\t\tleft: 0;\n\t\ttop: 50%;\n\t\ttransform: translateY(-50%);\n\t\twidth: 50px;\n\t}\n\n\t.wpo-subheader {\n\t\tmargin: 0;\n\t\tfont-weight: 300;\n\t\tcolor: $wp-secondary-gray;\n\t\tline-height: 1.3;\n\n\t\t@media (max-width: 1080px) {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\n\tp.wpo-header-links {\n\t\tmargin: 0;\n\t\tfont-size: 0.7rem;\n\t\tposition: absolute;\n\t\tright: 0;\n\t\tpadding: 6px 15px;\n\t\tbackground: #EDEEEF;\n\t\tborder-bottom-left-radius: 5px;\n\t\tz-index: 1;\n\n\t\ta {\n\t\t\ttext-decoration: none;\n\t\t}\n\n\t\t.wpo-header-links__label {\n\t\t\tcolor: $wp-secondary-gray-light;\n\t\t\tposition: absolute;\n\t\t\tright: 100%;\n\t\t\twidth: 110px;\n\t\t\ttext-align: right;\n\t\t\tpadding-right: 10px;\n\t\t}\n\n\t\t@media (max-width: 820px) {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\n\tp.wpo-header-links__mobile {\n\t\tpadding: 10px;\n\t\tbackground: #EDEEEF;\n\t\tmargin-bottom: 0;\n\t\t@media (min-width: 820px) {\n\t\t\tdisplay: none;\n\t\t}\n\n\t\ta {\n\t\t\tdisplay: inline-block;\n\t\t\tpadding: 4px;\n\t\t\tfont-size: .8rem;\n\t\t}\n\t\t.wpo-header-links__label {\n\t\t\tcolor: $wp-secondary-gray-light;\n\t\t}\n\n\t}\n\n\t@media (max-width: 600px) {\n\t\t\n\t\t.wpo-logo__container strong {\n\t\t\twidth: 140px;\n\t\t\tdisplay: inline-block;\n\t\t}\n\n\t}\n\n\tbody.auto-fold & {\n\t\t@media (max-width: 960px) {\n\t\t\tleft: 36px;\n\t\t}\n\t\t@media (max-width: $breakpoint-small) {\n\t\t\tleft: 0;\n\t\t\ttop: 46px;\n\t\t}\n\t\t@media (max-width: 600px) {\n\t\t\tposition: absolute;\n\t\t\tleft: -10px;\n\t\t\tright: -10px;\n\t\t\ttop: 0;\n\t\t}\t\t\n\t}\n\n\tbody.folded & {\n\t\t@media (min-width: $breakpoint-small) {\n\t\t\tleft: 36px;\n\t\t}\n\t}\n\tbody.is-scrolled & {\n\t\tbox-shadow: 0 5px 25px rgba(0, 0, 0, 0.17);\n\t}\n}\n\n.wpo-page {\n\t@media (min-width: 769px) {\n\t\tpadding-right: 15px;\n\t}\n\n\t&:not(.active) {\n\t\tdisplay: none;\n\t}\n}\n\n/* Columns */\n@media (min-width: 1200px) {\n\n\t.wpo-tab-postbox.right-col {\n\t\twidth: 350px;\n\t\tfloat: right;\n\t\tbox-sizing: border-box;\n\t\tmargin-top: 3.1rem;\n\t}\n\n\t.right-col + .wpo-main {\n\t\tfloat: left;\n\t\tbox-sizing: border-box;\n\t\twidth: calc(100% - 380px);\n\t}\n\n}\n","/* Common BLOCKS */\n\n\n/* Buttons */\n\n#wp-optimize-wrap {\n\n\t.button-large {\n\t\t@media (max-width: $breakpoint-small) {\n\t\t\tdisplay: block;\n\t\t\twidth: 100%;\n\t\t}\n\t}\n\n\t.red {\n\t\tcolor: $red;\n\t}\n\n\tdiv[id*=\"_notice\"] div.updated {\n\t\tmargin-left: 0;\n\t}\n}\n\n.button.button-block {\n\tdisplay: block;\n\twidth: 100%;\n\ttext-align: center;\n}\n\n.wpo-refresh-button {\n\tfloat: right;\n}\n\n.wpo-refresh-button:hover {\n\tcursor: pointer;\n}\n\n.wpo-refresh-button .dashicons {\n\ttext-decoration: none;\n line-height: inherit;\n font-size: inherit;\n}\n\n/* Helper classes */\n\n*[class*=\"wpo-badge\"] {\n\tdisplay: inline-block;\n\tfont-size: .8em;\n\ttext-transform: uppercase;\n\tbackground: $wp-lighter-gray;\n\tpadding: 3px 5px;\n\tline-height: 1;\n\tborder-radius: 3px;\n}\n\n.wpo-badge__new {\n\tbackground: #DBE3E6;\n\tcolor: #00689a;\n}\n\n.wpo-text__dim {\n\tcolor: $wp-light-gray;\n}\n\n.wpo-fieldgroup .wpo-text__dim {\n\tcolor: $wp-secondary-gray-light;\n}\n\n.wpo-first-child {\n\tmargin-top: 0;\n}\n\n#save_done, .save-done {\n\tcolor: $success;\n\tfont-size: 250%;\n}\n\np.wpo-take-a-backup {\n\tdisplay: inline-block;\n\tmargin: 0;\n\tline-height: 1;\n\tpadding-top: 8px;\n\t@media (min-width: $breakpoint-small) {\n\t\tmargin-left: 20px;\n\t}\n}\n\n/* Postbox */\n\n#wp-optimize-nav-tab-wrapper ~ .wp-optimize-nav-tab-contents > .postbox {\n border: none;\n\n\t> h3:first-child {\n\t\tmargin-top: 0;\n\t}\n\n}\n\n.wpo-p25,\n.postbox.wpo-tab-postbox {\n\tpadding: 25px;\n}\n\n.wpo-tab-postbox {\n\t\n\t> h3:first-child {\n\t\tmargin-top: 0;\n\t}\n}\n\n/* Field group */\n\n.wpo-fieldgroup {\n background: $wp-lighter-gray;\n border-radius: 8px;\n\tpadding: 20px;\n\n\t&:not(:last-child) {\n\t\tmargin-bottom: 2em;\n\t}\n\n\t> *:first-child {\n\t\tmargin-top: 0;\n\t}\n\t\n\t> *:last-child {\n\t\tmargin-bottom: 0;\n\t}\n}\n\n.wpo-fieldgroup__subgroup {\n\t&:not(:last-of-type) {\n\t\tmargin-bottom: 20px;\n\t}\n}","/* TABS */\n\nh2#wp-optimize-nav-tab-wrapper {\n margin-bottom: 0;\n\tborder-bottom: none;\n\tposition: relative;\n\t\n\t.nav-tab,\n\t.nav-tab:hover,\n\t.nav-tab:focus,\n\t.nav-tab:focus:active {\n\t\tborder: none;\n\t\tbackground: transparent;\n\t\tmargin: 0;\n\t\tborder-top: 3px solid transparent;\n\t\tpadding: 7px 15px;\n\t\tcolor: $wp-blue;\n\n\t\t.dashicons {\n\t\t\tdisplay: block;\n\t\t\tmargin: 0 auto;\n\t\t\tcolor: $wp-secondary-gray;\n\t\t\tfont-size: 30px;\n\t\t\twidth: 30px;\n\t\t\theight: 30px;\n\t\t}\n\t}\n\t\n\t.nav-tab-active,\n\t.nav-tab-active:hover,\n\t.nav-tab-active:focus,\n\t.nav-tab-active:focus:active {\n\t\tbackground: #FFF;\n\t\tbox-shadow: 0 0 1px rgba(0, 0, 0, 0.04);\n\t\tborder-top-color: $wp-blue;\n\n\t\t.dashicons {\n\t\t\tcolor: $wp-blue;\n\t\t}\n\t}\n\n\t@media (max-width: $breakpoint-small) {\n\t\ta:not(.nav-tab-active) {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\t\n\ta[role=\"toggle-menu\"] {\n\t\tdisplay: block;\n\t\tfloat: right;\n\t\t@media (min-width: $breakpoint-small) {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\n\n\ta.nav-tab.wp-optimize-nav-tab__back {\n\t\t&, &:focus:active {\t\n\n\t\t\ttext-align: right;\n\n\t\t\t.dashicons {\n\t\t\t\tcolor: $wp-light-gray;\n\t\t\t\tfont-size: 18px;\n\t\t\t\tdisplay: inline-block;\n\t\t\t\theight: auto;\n\t\t\t\tline-height: inherit;\n\t\t\t\twidth: 20px;\n\t\t\t}\n\n\t\t\t@media (min-width: $breakpoint-small) {\n\t\t\t\tposition: absolute;\n\t\t\t\tbottom: 14px;\n\t\t\t\tright: 0;\n\t\t\t\tfont-size: 12px;\n\t\t\t\tfont-weight: 400;\n\t\t\t\ttext-decoration: none;\n\t\t\t\tpadding: 0;\n\t\t\t\n\t\t\t\t.dashicons {\n\t\t\t\t\tcolor: $wp-light-gray;\n\t\t\t\t\tfont-size: 18px;\n\t\t\t\t\tdisplay: inline-block;\n\t\t\t\t\theight: auto;\n\t\t\t\t\tline-height: inherit;\n\t\t\t\t\twidth: 20px;\n\t\t\t\t}\n\t\t\t}\n\t\n\t\t}\n\t\n\t}\n}\n\n.wpo-mobile-menu-opened {\n\n\t.wpo-main .wpo-tab-postbox {\n\t\tdisplay: none;\n\t}\n\t\n\th2#wp-optimize-nav-tab-wrapper a {\n\t\tdisplay: block;\n\t\tfloat: none;\n\n\t\t&.nav-tab-active,\n\t\t&.nav-tab-active:focus {\n\t\t\tborder-top: none;\n\t\t\tborder-left: 3px solid;\n\t\t}\n\t\t\n\t\t&.nav-tab-active,\n\t\t&.nav-tab-active:focus,\n\t\t&:focus,\n\t\t&:hover,\n\t\t& {\n\t\t\t.dashicons {\n\t\t\t\tdisplay: inline-block; \n\t\t\t\tline-height: inherit;\n\t\t\t}\n\t\t}\n\n\t\t&[role=\"toggle-menu\"] {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\n}\n\n\n/* Pages MENU */\n\n.wpo-pages-menu {\n\tposition: absolute;\n\tbottom: 0;\n\tright: 0;\n\tdisplay: none;\n\n\t@media (max-width: 820px) {\n\t\t.opened + & {\n\t\t\tdisplay: block;\n\t\t\tbox-shadow: 0 5px 25px rgba(0, 0, 0, 0.17);\n\t\t}\n\t}\n\n\t@media (min-width: 821px) {\n\t\tdisplay: flex;\n\t\theight: 77px;\n\t}\n\n\t> a {\n\t\ttext-decoration: none;\n\t\tposition: relative;\n\t\tcolor: inherit;\n\t\ttext-align: center;\n\t\tbox-sizing: border-box;\n\t\tdisplay: block;\n\t\tcolor: $wp-gray-dark;\n\n\t\t@media (min-width: 821px) {\n\t\t\tpadding: 0 8px;\n\t\t\theight: 77px;\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\tjustify-content: center;\n\n\t\t\t> span {\n\t\t\t\tdisplay: block;\n\t\t\t\tmargin: 0 auto;\n\t\t\t}\n\t\t}\n\n\t\t@media (max-width: 820px) {\n\t\t\tpadding: 15px;\n\t\t\tfont-size: 1.2em;\n\t\t}\n\n\t\t&.active {\n\t\t\t&::after {\n\t\t\t\tcontent: '';\n\t\t\t\tdisplay: block;\n\t\t\t\tposition: absolute;\n\t\t\t\tbottom: 0;\n\t\t\t\tleft: 0;\n\t\t\t\twidth: 100%;\n\t\t\t\theight: 3px;\n\t\t\t\tbackground: $brand;\n\t\t\t\tcolor: $wp-gray-darker;\n\n\t\t\t\t@media (max-width: 820px) {\n\t\t\t\t\twidth: 3px;\n\t\t\t\t\theight: 100%;\n\t\t\t\t}\n\n\t\t\t}\n\t\t\t@media (max-width: 820px) {\n\t\t\t\tcolor: $brand;\n\t\t\t}\n\t\t}\n\n\t\t&:hover {\n\t\t\tbackground: #F9F9F9;\n\t\t\tcolor: $wp-gray-darker;\n\t\t}\n\t}\n\n\tspan.separator {\n\t\tdisplay: block;\n\t\twidth: 2px;\n\t\tbackground: #EFEFEF;\n\t\tmargin-top: 18px;\n\t\tmargin-bottom: 18px;\n\t\tmargin-right: 5px;\n\t\tmargin-left: 5px;\n\t\t@media (max-width: 820px) {\n\t\t\twidth: 80%;\n\t\t\theight: 2px;\n\t\t\tmargin: 10px 10%;\n\t\t}\n\t}\n\n\t@media (max-width: 820px) {\n\t\ttext-align: center;\n\t\ttop: 100%;\n\t\twidth: 100%;\n\t\tbottom: auto;\n\t\tbackground: #FFF;\t\t\n\n\t}\n\n}\n\n#wp-optimize-nav-page-menu {\n\tposition: absolute;\n\tright: 0;\n\tbottom: 0;\n\tdisplay: flex;\n\theight: 77px;\n flex-direction: column;\n padding: 0 20px;\n align-items: center;\n justify-content: center;\n\ttext-decoration: none;\n\n\t&:not(.opened) .dashicons-no-alt {\n\t\tdisplay: none;\n\t}\n\n\t&.opened .dashicons-menu {\n\t\tdisplay: none;\n\t}\n\n\t@media (min-width: 821px) {\n\t\tdisplay: none;\n\t}\n}\n\n/* DASHBOARD Menu */\n\n/* Calculate column width with a $spacing gutter */\n.wpo-dashboard-pages-menu {\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\n\t/* Same size for 1 to 3 items */\n\t&[data-itemscount=\"1\"],\n\t&[data-itemscount=\"2\"],\n\t&[data-itemscount=\"3\"] {\n\t\t.wpo-dashboard-pages-menu__item {\n\t\t\twidth: calc(33.333% - 40px / 3);\n\t\t}\n\t}\n\n\t/* above 3 items, change sizes */\n\t@for $count from 4 to 6 {\n\t\t&[data-itemscount=\"$count\"] {\n\t\t\t.wpo-dashboard-pages-menu__item {\n\t\t\t\twidth: calc(100% / $count - $spacing * ($count - 1) / $count);\n\t\t\t}\n\t\t}\n\t}\n\n\t.postbox.wpo-dashboard-pages-menu__item {\n\t\tpadding: $spacing;\n\t\tmargin-right: $spacing;\n\t\tbox-sizing: border-box;\n\t\tpadding-bottom: 60px;\n\t\tmin-width: 0;\n\t\n\t\t&:last-child {\n\t\t\tmargin-right: 0;\n\t\t}\n\t\n\t\th3 {\n\t\t\tmargin-top: 0;\n\n\t\t\t.dashicons {\n\t\t\t\tcolor: $wp-secondary-gray;\n\t\t\t\tline-height: 1;\n\t\t\t\theight: 18px;\n\t\t\t\tmargin-top: -2px;\n\t\t\t\tmargin-right: 10px\n\t\t\t}\n\n\t\t}\n\n\t\ta {\n\t\t\tposition: absolute;\n\t\t\tbottom: $spacing;\n\t\t\tleft: $spacing;\n\t\t\twidth: calc(100% - $spacing * 2) !important;\n\t\t}\n\n\t\t@media (max-width: $breakpoint-small) {\n\t\t\twidth: 100%;\n\t\t\tmargin-right: 0;\n\t\t\tpadding-bottom: 20px;\n\n\t\t\ta.button.button-large {\n\t\t\t\twidth: auto !important;\n\t\t\t\tleft: auto;\n\t\t\t\tbottom: auto;\n\t\t\t\ttop: 50%;\n\t\t\t\ttransform: translateY(-50%);\n\t\t\t\tright: $spacing;\n\t\t\t}\n\n\t\t\th3 {\n\t\t\t\tmargin: 0;\n\t\t\t}\n\n\t\t\tp {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\n\t\t}\n\t\n\t}\n\n}\n\n/* Admin bar separator */\n\n#wpadminbar .quicklinks .menupop.hover ul li.separator .ab-item.ab-empty-item {\n height: 2px;\n line-height: 2px;\n background: #ffffff17;\n margin: 5px 10px;\n width: auto;\n min-width: 0;\n}","/* Unused images / wpo_smush_image / image grid*/\n\n.wpo_unused_image, .wpo_smush_image {\n\tposition: relative;\n\tmargin: 4px;\n\twidth: calc(50% - 8px);\n\ttext-align: center;\n\n\t@media (min-width: 500px) {\n\t\twidth: calc(25% - 8px);\n\t}\n\n\t@media (min-width: $breakpoint-small) {\n\t\twidth: calc(16.6666% - 8px);\n\t}\n\n\t@media (min-width: 1100px) {\n\t\twidth: calc(12.5% - 8px);\n\t}\n\n\t.wpo_unused_image__input {\n\t\tposition: absolute;\n\t\ttop: 10px;\n\t\tvisibility: hidden;\n\t}\n\t\n\tlabel {\n\t\tdisplay: block;\n\t\twidth: 100%;\n\t\tposition: relative;\n\t\tpadding: 1px;\n\t\tborder: 3px solid $wp-lighter-gray;\n\t\tbox-sizing: border-box;\n\n\t\t&::before {\n\t\t\tcontent: \"\";\n\t\t\tdisplay: block;\n\t\t\tpadding-top: 100%;\n\t\t}\n\n\t\t.thumbnail {\n\t\t\tposition: absolute;\n\t\t\ttop: 1px;\n\t\t\tleft: 1px;\n\t\t\twidth: calc(100% - 2px);\n\t\t\theight: calc(100% - 2px);\n\t\t\tbackground-repeat: no-repeat;\n\t\t\tbackground-size: cover;\n\t\t\tbackground-position: 50% 50%;\n\t\t\toverflow: hidden;\n\t\t\tbackground: rgba(220, 220, 220, 0.2);\n\n\t\t\timg {\n\t\t\t\tdisplay: block;\n\t\t\t\tmargin: 0;\n\t\t\t\tmax-height: 100%;\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: 50%;\n\t\t\t\tleft: 50%;\n\t\t\t\ttransform: translate(-50%,-50%);\n\t\t\t\tuser-select: none;\n\t\t\t}\n\n\t\t}\n\t\t\n\t}\n\t\n\t.wpo_unused_image__input:checked + label {\n\t\tborder-color: $wp-blue;\n\t}\n\n\ta, a.button, a.button:active {\n\t\tposition: absolute;\n\t\tz-index: 2;\n\t\tbottom: 13px;\n\t\tleft: 50%;\n\t\ttransform: translateX(-50%);\n\t\tdisplay: none;\n\t}\n\n\t&:hover {\n\n\t\ta, a.button, a.button:active {\n\t\t\tdisplay: inline-block;\n\t\t}\n\n\t}\n\n}\n\n#wpo_unused_images, #wpo_smush_images_grid {\n\twidth: calc(100% + 8px);\n margin-left: -4px;\n margin-right: -4px;\n\tmax-height: 500px;\n\toverflow-y: auto;\n display: flex;\n\tflex-wrap: wrap;\n\n\t.wpo-fieldgroup {\n\t\twidth: 100%;\n\t}\n\n}\n\n#wpo_unused_images a {\n\toutline: none;\n}","/* More Plugins page */\n\n/* Plugins family / Premium */\n\np.wpo-plugin-installed {\n color: $success;\n}\n\n/* Settings repeater */\n\n.wpo-repeater__add {\n\tdisplay: inline-block;\n\tcursor: pointer;\n\tfont-weight: bold;\n\ttext-decoration: none;\n}\n\n\n/* Plugin familly tab */\n\n.wpo-plugin-family__premium h2 {\n margin: 0;\n padding: 25px;\n}\n\n.wpo-plugin-family__plugins {\n display: flex;\n flex-wrap: wrap;\n\tpadding-left: 1px;\n\tpadding-bottom: 1px;\n}\n\n.wpo-plugin-family__plugin {\n flex: auto;\n width: 100%;\n padding: 30px;\n box-sizing: border-box;\n border: 1px solid #E3E4E7;\n\tmargin-left: -1px;\n\tmargin-bottom: -1px;\n\n\t@media (min-width: $breakpoint-small) {\n\t\twidth: 50%;\n\n\t\t.wpo-plugin-family__free & {\n\t\t\twidth: 100%;\n\t\t}\n\t}\n\n\t@media (max-width: 1080px) {\n\t\t.wpo-plugin-family__free & {\n\t\t\twidth: 50%;\n\t\t}\n\t}\n\n\t@media (max-width: $breakpoint-small) {\n\t\t.wpo-plugin-family__free & {\n\t\t\twidth: 100%;\n\t\t}\n\t}\n\n}\n\ndiv#wp-optimize-nav-tab-wpo_mayalso-may_also-contents .wpo-tab-postbox {\n padding: 0;\n}\n\n/* Added for WPO Premium Features tab */\n.wpo_feature_cont {\n\twidth: 64.5%;\n}\n\n.wpo_plugin_family_cont {\n\twidth: 34.5%;\n}\n\n@media (max-width: 1080px) {\n\n\t.wpo_feature_cont,\n\t.wpo_plugin_family_cont {\n\t\twidth: 100%;\n\t\tfloat: none;\n\t\tmargin: 0;\n\t}\n\n}\n\n.wpo_feature_cont,\n.wpo_plugin_family_cont {\n\n\theader {\n\t\tpadding: 20px;\n\n\t\t@media (max-width: 1080px) {\n\t\t\tpadding: 40px;\t\t\n\t\t}\n\n\t\th2 {\n\t\t\tmargin: 0;\n\t\t}\n\t\n\t\tp {\n\t\t\tmargin-bottom: 0;\n\t\t}\n\n\t}\n\n}\n\n.wpo_feat_table, .wpo_feat_th, .wpo_feat_table td {\n\tborder: none;\n\tborder-collapse: collapse;\n\tbackground-color: white;\n\tfont-size: 120%;\n\ttext-align: center;\n}\n\n.wpo_feat_table {\n\ttd {\n\t\tborder: 1px solid #F1F1F1;\n\t\tborder-bottom-width: 4px;\n\t\tpadding: 15px;\n\t}\n\n\ttd:nth-child(2), td:nth-child(3) {\n\t\tbackground: rgba(241, 241, 241, 0.38);\n\t}\n\n\tp {\n\t\tpadding: 0px 10px;\n\t\tmargin: 5px 0px;\n\t\tfont-size: 13px;\n\t}\n\n\th4 {\n\t\tmargin: 5px 0px;\n\t}\n\n\t.dashicons {\n\t\twidth: 25px;\n\t\theight: 25px;\n\t\tfont-size: 25px;\n\t\tline-height: 1;\n\t}\n\n\t.dashicons-yes, .updraft-yes {\n\t\tcolor: green;\n\t}\n\t\n\t.dashicons-no-alt, .updraft-no {\n\t\tcolor: red;\n\t}\n\n}\n\n\n\n.wpo-premium-image {\n\tdisplay: none;\n}\n\n@media screen and (min-width: 720px) {\n\n\t#wpoptimize_table_list_filter {\n\t\twidth: 40%;\n\t}\n\n\t.wpo-premium-image {\n\t\tdisplay: block;\n\t\tfloat: left;\n\t\tpadding: 16px 18px;\n\t\twidth: 30px;\n\t\theight: auto;\n\t}\n\n}\n\n@media screen and (min-width: 1220px) {\n\n\t.wpo_feat_table td:nth-child(2), .wpo_feat_table td:nth-child(3) {\n\t\twidth: 110px;\n\t}\n\n}\n\n.other-plugin-title {\n\ttext-decoration: none;\n}\n\n@media screen and (max-width: $breakpoint-small) {\n\n\ttable.wpo_feat_table {\n\n\t\tdisplay: block;\n\n\t\ttr {\n\t\t\tdisplay: flex;\n\t\t\tflex-wrap: wrap;\n\t\t}\n\n\t\ttd {\n\t\t\tdisplay: block;\n\n\t\t\t&:first-child {\n\t\t\t\twidth: 100%;\n\t\t\t\tborder-bottom: none;\n\t\t\t}\n\n\t\t\t&:not(:first-child) {\n\t\t\t\twidth: 50%;\n\t\t\t\tbox-sizing: border-box;\n\t\t\t}\n\n\t\t\t&:first-child:empty {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\n\t\t\t&[data-colname]::before {\n\t\t\t\tcontent: attr(data-colname);\n\t\t\t\tfont-size: 0.8rem;\n\t\t\t\tcolor: #CCC;\n\t\t\t\tline-height: 1;\n\t\t\t}\n\t\t}\n\t}\n\n}","\n/* tablesorter */\n\n#wp-optimize-wrap {\n\n\t.wp-list-table {\n\t\t\n\t\ttd {\n\t\t\tword-break: break-all; \n\t\t}\n\n\t}\n\n\t@media screen and (max-width: $breakpoint-small ) {\n\n\t\t.wp-list-table.wp-list-table-mobile-labels tbody {\n\n\t\t\t&, tr, th, td {\n\t\t\t\tdisplay: block;\n\t\t\t}\n\n\t\t\ttd {\n\t\t\t\tpadding: 3px 8px 3px 35%;\n\t\t\t\tword-break: break-word;\n\t\t\t\tbox-sizing: border-box; \n\n\t\t\t\t&::before {\n\t\t\t\t\tcolor: $wp-light-gray;\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\t\t\n\n\t\t.wp-list-table.wp-list-table-mobile-labels thead {\n\n\t\t\t&, tr {\n\t\t\t\tdisplay: block;\n\t\t\t}\n\n\t\t\tth.column-primary {\n\t\t\t\tdisplay: block;\n\t\t\t\tbox-sizing: border-box; \n\t\t\t}\n\n\t\t\tth:not(.column-primary) {\n\t\t\t\tdisplay: none !important; \n\t\t\t}\n\n\t\t}\n\n\t}\n\n}\n\nth:not(.sorter-false) .tablesorter-header-inner {\n\n\tcolor: #0074ab;\n\n\t&::after {\n\t\tcontent: '';\n\t\tfont-family: 'dashicons';\n\t\tfont-size: 20px;\n\t\tline-height: 20px;\n\t\theight: 20px;\n\t\twidth: 20px;\n\t\tdisplay: inline-block;\n\t\tvertical-align: bottom;\n\t}\n\n}\n\nth.tablesorter-header.tablesorter-headerAsc,\nth.tablesorter-header.tablesorter-headerDesc {\n font-weight: 500;\n border-bottom-color: $wp-blue;\n}\n\nth.tablesorter-header.tablesorter-headerDesc .tablesorter-header-inner::after {\n content: \"\\f140\";\n}\n\nth.tablesorter-header.tablesorter-headerAsc .tablesorter-header-inner::after {\n content: \"\\f142\";\n}\n\nth.tablesorter-header:focus {\n outline: none;\n\tbox-shadow: 0 0 3px rgba(0, 116, 171, 0.78);\n\n\t&:not(.tablesorter-headerAsc):not(.tablesorter-headerDesc) .tablesorter-header-inner::after {\n\t\tcontent: \"\\f142\";\n\t\topacity: 0.5;\n\t}\n\n}\n\n.tablesorter.hasFilters tr.filtered {\n display: none;\n}\n"]}
1
+ {"version":3,"sources":["css/wp-optimize-admin.scss","css/admin.css","css/scss/_layout.scss","css/scss/_common.scss","css/scss/_menu-and-tabs.scss","css/scss/_image-list.scss","css/scss/_plugin-family-tab.scss","css/scss/_table-sorter.scss"],"names":[],"mappings":"AAAA,YAAY;;AAcZ,gBAAgB;;ACdhB;CACC,cAAc;CACd;;AAED;CACC,iBAAiB;CACjB,YAAY;CACZ,2IAA2I;CAC3I,iBAAiB;CACjB,iBAAiB;CACjB,iBAAiB;CAEjB,uCAAuC;CACvC;;AAED,gBAAgB;;AAChB;CACC,4BAA4B;CAC5B,2BAA2B;CAC3B,iBAAiB;CACjB,iBAAiB;CACjB;;AAED,gBAAgB;;AAChB;CACC,YAAY;CACZ,WAAW;CACX,UAAU;CACV;;AAED;CACC,oBAAoB;CACpB;;AAED;CACC,kBAAkB;CAClB,eAAe;CACf,mBAAmB;CACnB;;AAED,oBAAoB;;AACpB;CACC,eAAe;CACf,YAAY;CACZ,mBAAmB;CACnB;;AAED;CACC,eAAe;CACf;;AAED,gBAAgB;;AAChB;;CAEC,YAAY;CACZ,eAAe;CACf;;AAED;CACC,YAAY;CACZ;;AAED;CACC,WAAW;CACX;;AAED,qBAAqB;;AACrB;CACC,YAAY;CACZ;;AAED;CACC,aAAa;CACb;;AAED;CACC,aAAa;CACb;;AAED;CACC,iBAAiB;CACjB;;AAED;;CAEC;EACC,0BAA0B;EAC1B;;CAED;EACC,yBAAyB;EACzB;;CAED;;AAED;;CAEC;EACC,yBAAyB;EACzB;;CAED;EACC,0BAA0B;EAC1B;;CAED;;AAED;;CAEC;EACC,aAAa;EACb;;CAED;EACC,YAAY;EACZ;;CAED;EACC,YAAY;EACZ;;CAED;EACC,YAAY;EACZ;;CAED;EACC,YAAY;EACZ;;CAED;;AAED,qRAAqR;;AAErR;CACC,iBAAiB;CACjB,yBAAyB;CACzB,sBAAsB;CACtB,kBAAkB;CAClB,mBAAmB;CACnB,eAAe;CACf,uBAAuB;CACvB,YAAY;CACZ,gBAAgB;CAChB,aAAa;CACb,mBAAmB;CACnB,eAAe;CACf;;AAED;CACC,oBAAoB;CACpB;;AAED;CACC,YAAY;CACZ,kBAAkB;CAClB,mBAAmB;CACnB;;AAED;CACC,YAAY;CACZ,aAAa;CACb;;AAED;CACC,YAAY;CACZ;;AAED;CACC,eAAe;CACf,mBAAmB;CACnB;;AAED;CACC,kBAAkB;CAClB;;AAED,sCAAsC;;AACtC;CACC,eAAe;CACf,kBAAkB;CAClB,mBAAmB;CACnB,oBAAoB;CACpB,iBAAiB;CACjB,aAAa;CACb,gBAAgB;CAChB;;AAED;CACC,YAAY;CACZ,aAAa;CACb,mBAAmB;CACnB,cAAc;CACd,mBAAmB;CACnB,SAAS;CACT;;AAED;CACC,YAAY;CACZ,aAAa;CACb;;AAED;CACC,sBAAsB;CACtB;;AAED;CACC,cAAc;CACd;;AAED;CACC,mBAAmB;CACnB;;AAED;CACC,WAAW;CACX;;AAED;CACC,eAAe;CACf,2BAA2B;CAC3B;;AAED;CACC,2BAA2B;CAC3B;;AAED;CACC,mBAAmB;CACnB,SAAS;CACT;;AAED;;CAEC;EACC,aAAa;EACb,kBAAkB;EAClB;;CAED;;AAED;CACC,yBAAyB;CACzB;;AAED;CACC,mBAAmB;CACnB,SAAS;CACT,UAAU;CACV;;AAED;CACC,cAAc;CACd;;AAED;CACC,YAAY;CACZ,oBAAoB;CACpB;;AAED;CACC,cAAc;CACd,eAAe;CACf;;AAED;CACC,iBAAiB;CACjB;;AAED;;CAEC,sBAAsB;CACtB,UAAU;CACV,aAAa;CACb,kBAAkB;CAClB;;AAED;CACC,eAAe;CACf,gBAAgB;CAChB,sBAAsB;CACtB,mBAAmB;CACnB;;AAED;CACC,gBAAgB;CAChB,iBAAiB;CACjB,oBAAoB;CACpB;;AAED;CACC,sBAAsB;CACtB;;AAED;CACC,iBAAiB;CACjB;;AAED;CACC,eAAe;CACf,iBAAiB;CACjB;;AAED;;CAEC;EACC,kBAAkB;EAClB,oBAAoB;EACpB,eAAe;EACf;;CAED;EACC,mBAAmB;EACnB;;CAED;;AAED;CACC,uBAAuB;CACvB;;AAED;;CAEC,uBAAuB;CACvB,mBAAmB;CACnB,kBAAkB;CAClB,kBAAkB;CAClB,mBAAmB;CACnB,mBAAmB;CACnB;;AAED;CACC,kBAAkB;CAClB,gBAAgB;CAChB;;AAED;;CAEC,gBAAgB;CAChB,iBAAiB;CACjB;;AAED;CACC,mBAAmB;CACnB;;AAED;CACC,cAAc;CACd,eAAe;CA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","file":"wp-optimize-admin.min.css","sourcesContent":["/* COLORS */\n$wp-blue: #0272AA;\n$wp-gray-dark: #555d66;\n$wp-gray-darker: #191e23;\n$wp-secondary-gray: #72777C;\n$wp-secondary-gray-light: #82868B;\n$wp-light-gray: #B5B9BE;\n$wp-lighter-gray: #EDEFF0;\n$success: #009B24;\n$error: #9B3600;\n$red: #E07575;\n$brand: #E46B1F;\n$spacing: 20px; \n\n/* OTHER VARS */\n$breakpoint-small: 782px;\n\n@import \"admin.css\";\n\n@import \"scss/layout\";\n\n@import \"scss/common\";\n\n@import \"scss/menu-and-tabs\";\n\n@import \"scss/image-list\";\n\n@import \"scss/plugin-family-tab\";\n\n@import \"scss/table-sorter\";\n",".wpo_hidden {\n\tdisplay: none;\n}\n\n.wpo_info {\n\tbackground: #FFF;\n\tcolor: #444;\n\tfont-family: -apple-system, \"BlinkMacSystemFont\", \"Segoe UI\", \"Roboto\", \"Oxygen-Sans\", \"Ubuntu\", \"Cantarell\", \"Helvetica Neue\", sans-serif;\n\tmargin: 2em auto;\n\tpadding: 1em 2em;\n\tmax-width: 700px;\n\t-webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.13);\n\tbox-shadow: 0 1px 3px rgba(0,0,0,0.13);\n}\n\n/* big button */\n.wpo_primary_big {\n\tpadding: 4px 6px !important;\n\tfont-size: 22px !important;\n\tmin-height: 34px;\n\tmin-width: 200px;\n}\n\n/* SECTIONS */\n.wpo_section {\n\tclear: both;\n\tpadding: 0;\n\tmargin: 0;\n}\n\n.wp-optimize-settings {\n\tmargin-bottom: 16px;\n}\n\n.wp-optimize-settings td > label {\n\tfont-weight: bold;\n\tdisplay: block;\n\tmargin-bottom: 8px;\n}\n\n/* COLUMN SETUP */\n.wpo_col {\n\tdisplay: block;\n\tfloat: left;\n\tmargin: 1% 0 1% 1%;\n}\n\n.wpo_col:first-child {\n\tmargin-left: 0;\n}\n\n/* GROUPING */\n.wpo_group:before,\n.wpo_group:after {\n\tcontent: \"\";\n\tdisplay: table;\n}\n\n.wpo_group:after {\n\tclear: both;\n}\n\n.wpo_half_width {\n\twidth: 48%;\n}\n\n/* GRID OF THREE */\n.wpo_span_3_of_3 {\n\twidth: 100%;\n}\n\n.wpo_span_2_of_3 {\n\twidth: 65.3%;\n}\n\n.wpo_span_1_of_3 {\n\twidth: 32.1%;\n}\n\n.nav-tab-wrapper {\n\tmargin: 14px 0px;\n}\n\n@media screen and (min-width: 549px) {\n\n\t.show_on_default_sizes {\n\t\tdisplay: block !important;\n\t}\n\n\t.show_on_mobile_sizes {\n\t\tdisplay: none !important;\n\t}\n\n}\n\n@media screen and (max-width: 548px) {\n\n\t.show_on_default_sizes {\n\t\tdisplay: none !important;\n\t}\n\n\t.show_on_mobile_sizes {\n\t\tdisplay: block !important;\n\t}\n\n}\n\n@media screen and (max-width: 768px) {\n\n\t.wpo_col {\n\t\tmargin: 1% 0;\n\t}\n\n\t.wpo_span_3_of_3 {\n\t\twidth: 100%;\n\t}\n\n\t.wpo_span_2_of_3 {\n\t\twidth: 100%;\n\t}\n\n\t.wpo_span_1_of_3 {\n\t\twidth: 100%;\n\t}\n\n\t.wpo_half_width {\n\t\twidth: 100%;\n\t}\n\n}\n\n/* .wp-optimize-settings-clean-transient label, .wp-optimize-settings-clean-pingbacks label, .wp-optimize-settings-clean-trackbacks label, .wp-optimize-settings-clean-postmeta label, .wp-optimize-settings-clean-orphandata label, .wp-optimize-settings-clean-commentmeta label */\n\n.wp-optimize-setting-is-sensitive td > label::before {\n\tcontent: \"\\f534\";\n\tfont-family: 'dashicons';\n\tdisplay: inline-block;\n\tmargin-right: 6px;\n\tfont-style: normal;\n\tline-height: 1;\n\tvertical-align: middle;\n\twidth: 20px;\n\tfont-size: 18px;\n\theight: 20px;\n\ttext-align: center;\n\tcolor: #72777C;\n}\n\n.wpo-run-optimizations__container {\n\tmargin-bottom: 15px;\n}\n\ntd.wp-optimize-settings-optimization-checkbox {\n\twidth: 18px;\n\tpadding-left: 4px;\n\tpadding-right: 0px;\n}\n\n.wp-optimize-settings-optimization-checkbox input {\n\tmargin: 0px;\n\tpadding: 0px;\n}\n\n#retention-period {\n\twidth: 60px;\n}\n\n.wp-optimize-settings-optimization-info {\n\tfont-size: 80%;\n\tfont-style: italic;\n}\n\n.wp-optimize-settings input[type=\"checkbox\"] {\n\t/* width: 18px; */\n}\n\n/* Added for the Image on Addons tab*/\nimg.addons {\n\tdisplay: block;\n\tmargin-left: auto;\n\tmargin-right: auto;\n\tmargin-bottom: 20px;\n\tmax-height: 44px;\n\theight: auto;\n\tmax-width: 100%;\n}\n\n.wpo_spinner {\n\twidth: 18px;\n\theight: 18px;\n\tpadding-left: 10px;\n\tdisplay: none;\n\tposition: relative;\n\ttop: 4px;\n}\n\n.optimization_spinner {\n\twidth: 20px;\n\theight: 20px;\n}\n\n#wp-optimize-auto-options {\n\tmargin: 20px 0 0 28px;\n}\n\n.display-none {\n\tdisplay: none;\n}\n\n.visibility-hidden {\n\tvisibility: hidden;\n}\n\n.margin-one-percent {\n\tmargin: 1%;\n}\n\n#save_done, .save-done {\n\tcolor: #D94F00;\n\tfont-size: 250% !important;\n}\n\n.wp-optimize-settings-optimization-info a {\n\ttext-decoration: underline;\n}\n\n.wp-optimize-settings-optimization-run-spinner {\n\tposition: relative;\n\ttop: 2px;\n}\n\n@media screen and (min-width: 782px) {\n\n\ttd.wp-optimize-settings-optimization-run {\n\t\twidth: 180px;\n\t\tpadding-top: 16px;\n\t}\n\n}\n\n#wpoptimize_table_list .tablesorter-filter-row {\n\tdisplay: none !important;\n}\n\n#wpoptimize_table_list .optimization_spinner {\n\tposition: relative;\n\ttop: 2px;\n\tleft: 5px;\n}\n\n#wpoptimize_table_list .optimization_spinner.visibility-hidden {\n\tdisplay: none;\n}\n\n#wpoptimize_table_list_filter {\n\twidth: 100%;\n\tmargin-bottom: 15px;\n}\n\n#wpoptimize_table_list_tables_not_found {\n\tdisplay: none;\n\tmargin: 20px 0;\n}\n\ndiv#wpoptimize_table_list_tables_not_found + h3 {\n\tmargin-top: 30px;\n}\n\n#optimize_form .select2-container,\n#wp-optimize-auto-options .select2-container {\n\twidth: 50% !important;\n\ttop: -5px;\n\theight: 40px;\n\tmargin-left: 10px;\n}\n\n#wpoptimize_table_list .optimization_done_icon {\n\tcolor: #009B24;\n\tfont-size: 200%;\n\tdisplay: inline-block;\n\tposition: relative;\n}\n\n#wpo_sitelist_show_moreoptions_cron {\n\tfont-size: 13px;\n\tline-height: 1.5;\n\tletter-spacing: 1px;\n}\n\n#wp-optimize-nav-tab-contents-images .wpo_span_2_of_3 h3 {\n\tdisplay: inline-block;\n}\n\n.wpo_remove_selected_sizes_btn__container {\n\tmargin-top: 20px;\n}\n\n.unused-image-sizes__label {\n\tdisplay: block;\n\tline-height: 1.6;\n}\n\n@media (max-width: 782px) {\n\n\t.unused-image-sizes__label {\n\t\tmargin-left: 30px;\n\t\tmargin-bottom: 15px;\n\t\tline-height: 1;\n\t}\n\n\t.unused-image-sizes__label input[type=checkbox] {\n\t\tmargin-left: -30px;\n\t}\n\n}\n\n#wp-optimize-nav-tab-contents-tables a {\n\tvertical-align: middle;\n}\n\n#wpo_sitelist_moreoptions,\n#wpo_sitelist_moreoptions_cron {\n\tmargin: 4px 16px 6px 0;\n\tborder: 1px dotted;\n\tpadding: 6px 10px;\n\tmax-height: 300px;\n\toverflow-y: scroll;\n\toverflow-x: hidden;\n}\n\n#wpo_sitelist_moreoptions {\n\tmax-height: 150px;\n\tmargin-right: 0;\n}\n\n#wpo_settings_sites_list li,\n#wpo_settings_sites_list li a {\n\tfont-size: 13px;\n\tline-height: 1.5;\n}\n\n#wpo_sitelist_moreoptions_cron li {\n\tpadding-left: 20px;\n}\n\n#wpo_import_error_message {\n\tdisplay: none;\n\tcolor: #9B0000;\n}\n\n#wpo_import_success_message {\n\tdisplay: none;\n\tcolor: #46B450;\n}\n\n#wp-optimize-logging-options {\n\tmargin-top: 10px;\n}\n\n/* Logger settings*/\n.wpo_logging_header {\n\tfont-weight: bold;\n\tborder-top: 1px solid #333;\n\tborder-bottom: 1px solid #333;\n\tpadding: 5px 0;\n\tmargin: 0;\n}\n\n.wpo_logging_row {\n\tborder-bottom: 1px solid #A1A2A3;\n\tpadding: 5px 0;\n}\n\n.wpo_logging_logger_title,\n.wpo_logging_options_title,\n.wpo_logging_status_title,\n.wpo_logging_actions_title,\n.wpo_logging_logger_row,\n.wpo_logging_options_row,\n.wpo_logging_status_row,\n.wpo_logging_actions_row {\n\tdisplay: inline-block;\n\tvertical-align: middle;\n}\n\n.wpo_logging_logger_title,\n.wpo_logging_logger_row {\n\twidth: 38%;\n}\n\n.wpo_logging_options_title,\n.wpo_logging_options_row {\n\twidth: 44%;\n}\n\n.wpo_logging_status_title,\n.wpo_logging_status_row {\n\twidth: 8%;\n}\n\n.wpo_logging_actions_title,\n.wpo_logging_actions_row {\n\twidth: 7%;\n}\n\n.wpo_logging_actions_row {\n\ttext-align: right;\n}\n\n.wpo_logging_options_row {\n\tword-wrap: break-word;\n}\n\n.wpo_logging_actions_row .dashicons-no-alt,\n.wpo_add_logger_form .dashicons-no-alt {\n\tbackground-color: #F06666;\n\tcolor: #FFF;\n\twidth: 20px;\n\theight: 20px;\n\tborder-radius: 20px;\n\tdisplay: inline-block;\n\tcursor: pointer;\n\tmargin-left: 5px;\n}\n\n.wpo_add_logger_form .dashicons-no-alt {\n\tmargin-top: 12px;\n\tmargin-right: 10px;\n\tfloat: right;\n}\n\n.wpo_logger_type {\n\twidth: 90%;\n\tmargin-top: 10px;\n}\n\n.wpo_logger_addition_option {\n\twidth: 100%;\n\tmargin-top: 5px;\n}\n\n.wpo_alert_notice {\n\tbackground-color: #F06666;\n\tcolor: #FFF;\n\tpadding: 5px;\n\tdisplay: block;\n\tmargin-bottom: 5px;\n\tborder-radius: 5px;\n}\n\n.wpo_error_field {\n\tborder-color: #F06666 !important;\n}\n\n.save_settings_reminder {\n\tdisplay: none;\n\tcolor: #333;\n\tpadding: 15px 20px;\n\tbackground-color: #F0A5A4;\n\tborder-radius: 3px;\n\tmargin: 15px 0;\n}\n\n#wpo_remove_selected_sizes {\n\tmargin-top: 20px;\n}\n\n.wpo_unused_images_buttons_wrap {\n\tdisplay: none;\n}\n\n.wpo_unused_images_container h3 {\n\tmin-width: 150px;\n}\n\n#wpo_unused_images, #wpo_smush_images_grid {\n\tmax-height: 500px;\n\toverflow-y: auto;\n}\n\n#wpo_unused_images a {\n\toutline: none;\n}\n\n#wp-optimize-nav-tab-wpo_database-tables-contents .wpo-take-a-backup {\n\tmargin-left: 1%;\n}\n\n.run-single-table-delete {\n\tmargin-top: 3px;\n}\n\n#wpo_browser_cache_output,\n#wpo_gzip_compression_output {\n\tbackground: #F0F0F0;\n\tpadding: 10px;\n\tborder: 1px solid #CCC;\n}\n\n#wpo_browser_cache_error_message,\n#wpo_gzip_compression_error_message,\n.wpo-error {\n\tcolor: #9B0000;\n}\n\n#wpo_browser_cache_expire_days,\n#wpo_browser_cache_expire_hours {\n\twidth: 50px;\n}\n\n.wpo-enabled .wpo-disabled {\n\tdisplay: none;\n}\n\n.wpo-disabled .wpo-enabled {\n\tdisplay: none;\n}","#wp-optimize-wrap {\n\tposition: relative;\n\tpadding-top: 100px;\n\n\t@media (min-width: 820px) {\n\t\tpadding-top: 120px;\n\t}\n\n\t@media(max-width: $breakpoint-small) {\n\t\tmargin-right: 0;\n\t}\n\n}\n\n/* DASHBOARD */\n\n.wpo-main-header {\n\n height: 77px;\n position: fixed;\n top: 32px;\n left: 160px;\n background: #FFF;\n right: 0;\n z-index: 9980;\n\n\t@media (min-width: 820px) {\n\t\theight: 105px;\n\t}\t\n\n\t.wpo-logo__container {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tjustify-content: center;\n\t\tposition: relative;\n\t\theight: 100%;\n\t\tline-height: 1;\n\t\tfont-size: 1rem;\n\t\tpadding-left: 50px;\n\t\tmargin-left: 10px;\n\t}\n\n\t.wpo-logo {\n\t\tposition: absolute;\n\t\tleft: 0;\n\t\ttop: 50%;\n\t\ttransform: translateY(-50%);\n\t\twidth: 50px;\n\t}\n\n\t.wpo-subheader {\n\t\tmargin: 0;\n\t\tfont-weight: 300;\n\t\tcolor: $wp-secondary-gray;\n\t\tline-height: 1.3;\n\n\t\t@media (max-width: 1080px) {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\n\tp.wpo-header-links {\n\t\tmargin: 0;\n\t\tfont-size: 0.7rem;\n\t\tposition: absolute;\n\t\tright: 0;\n\t\tpadding: 6px 15px;\n\t\tbackground: #EDEEEF;\n\t\tborder-bottom-left-radius: 5px;\n\t\tz-index: 1;\n\n\t\ta {\n\t\t\ttext-decoration: none;\n\t\t}\n\n\t\t.wpo-header-links__label {\n\t\t\tcolor: $wp-secondary-gray-light;\n\t\t\tposition: absolute;\n\t\t\tright: 100%;\n\t\t\twidth: 110px;\n\t\t\ttext-align: right;\n\t\t\tpadding-right: 10px;\n\t\t}\n\n\t\t@media (max-width: 820px) {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\n\tp.wpo-header-links__mobile {\n\t\tpadding: 10px;\n\t\tbackground: #EDEEEF;\n\t\tmargin-bottom: 0;\n\t\t@media (min-width: 820px) {\n\t\t\tdisplay: none;\n\t\t}\n\n\t\ta {\n\t\t\tdisplay: inline-block;\n\t\t\tpadding: 4px;\n\t\t\tfont-size: .8rem;\n\t\t}\n\t\t.wpo-header-links__label {\n\t\t\tcolor: $wp-secondary-gray-light;\n\t\t}\n\n\t}\n\n\t@media (max-width: 600px) {\n\t\t\n\t\t.wpo-logo__container strong {\n\t\t\twidth: 140px;\n\t\t\tdisplay: inline-block;\n\t\t}\n\n\t}\n\n\tbody.auto-fold & {\n\t\t@media (max-width: 960px) {\n\t\t\tleft: 36px;\n\t\t}\n\t\t@media (max-width: $breakpoint-small) {\n\t\t\tleft: 0;\n\t\t\ttop: 46px;\n\t\t}\n\t\t@media (max-width: 600px) {\n\t\t\tposition: absolute;\n\t\t\tleft: -10px;\n\t\t\tright: -10px;\n\t\t\ttop: 0;\n\t\t}\t\t\n\t}\n\n\tbody.folded & {\n\t\t@media (min-width: $breakpoint-small) {\n\t\t\tleft: 36px;\n\t\t}\n\t}\n\tbody.is-scrolled & {\n\t\tbox-shadow: 0 5px 25px rgba(0, 0, 0, 0.17);\n\t}\n}\n\n.wpo-page {\n\t@media (min-width: 769px) {\n\t\tpadding-right: 15px;\n\t}\n\n\t&:not(.active) {\n\t\tdisplay: none;\n\t}\n}\n\n/* Columns */\n@media (min-width: 1200px) {\n\n\t.wpo-tab-postbox.right-col {\n\t\twidth: 350px;\n\t\tfloat: right;\n\t\tbox-sizing: border-box;\n\t\tmargin-top: 3.1rem;\n\t}\n\n\t.right-col + .wpo-main {\n\t\tfloat: left;\n\t\tbox-sizing: border-box;\n\t\twidth: calc(100% - 380px);\n\t}\n\n}\n","/* Common BLOCKS */\n\n\n/* Buttons */\n\n#wp-optimize-wrap {\n\n\t.button-large {\n\t\t@media (max-width: $breakpoint-small) {\n\t\t\tdisplay: block;\n\t\t\twidth: 100%;\n\t\t}\n\t}\n\n\t.red {\n\t\tcolor: $red;\n\t}\n\n\tdiv[id*=\"_notice\"] div.updated {\n\t\tmargin-left: 0;\n\t}\n}\n\n.button.button-block {\n\tdisplay: block;\n\twidth: 100%;\n\ttext-align: center;\n}\n\n.wpo-refresh-button {\n\tfloat: right;\n}\n\n.wpo-refresh-button:hover {\n\tcursor: pointer;\n}\n\n.wpo-refresh-button .dashicons {\n\ttext-decoration: none;\n line-height: inherit;\n font-size: inherit;\n}\n\n/* Helper classes */\n\n*[class*=\"wpo-badge\"] {\n\tdisplay: inline-block;\n\tfont-size: .8em;\n\ttext-transform: uppercase;\n\tbackground: $wp-lighter-gray;\n\tpadding: 3px 5px;\n\tline-height: 1;\n\tborder-radius: 3px;\n}\n\n.wpo-badge__new {\n\tbackground: #DBE3E6;\n\tcolor: #00689a;\n}\n\n.wpo-text__dim {\n\tcolor: $wp-light-gray;\n}\n\n.wpo-fieldgroup .wpo-text__dim {\n\tcolor: $wp-secondary-gray-light;\n}\n\n.wpo-first-child {\n\tmargin-top: 0;\n}\n\n#save_done, .save-done {\n\tcolor: $success;\n\tfont-size: 250%;\n}\n\np.wpo-take-a-backup {\n\tdisplay: inline-block;\n\tmargin: 0;\n\tline-height: 1;\n\tpadding-top: 8px;\n\t@media (min-width: $breakpoint-small) {\n\t\tmargin-left: 20px;\n\t}\n}\n\n/* Postbox */\n\n#wp-optimize-nav-tab-wrapper ~ .wp-optimize-nav-tab-contents > .postbox {\n border: none;\n\n\t> h3:first-child {\n\t\tmargin-top: 0;\n\t}\n\n}\n\n.wpo-p25,\n.postbox.wpo-tab-postbox {\n\tpadding: 25px;\n}\n\n.wpo-tab-postbox {\n\t\n\t> h3:first-child {\n\t\tmargin-top: 0;\n\t}\n}\n\n/* Field group */\n\n.wpo-fieldgroup {\n background: $wp-lighter-gray;\n border-radius: 8px;\n\tpadding: 20px;\n\n\t&:not(:last-child) {\n\t\tmargin-bottom: 2em;\n\t}\n\n\t> *:first-child {\n\t\tmargin-top: 0;\n\t}\n\t\n\t> *:last-child {\n\t\tmargin-bottom: 0;\n\t}\n}\n\n.wpo-fieldgroup__subgroup {\n\t&:not(:last-of-type) {\n\t\tmargin-bottom: 20px;\n\t}\n}","/* TABS */\n\nh2#wp-optimize-nav-tab-wrapper {\n margin-bottom: 0;\n\tborder-bottom: none;\n\tposition: relative;\n\t\n\t.nav-tab,\n\t.nav-tab:hover,\n\t.nav-tab:focus,\n\t.nav-tab:focus:active {\n\t\tborder: none;\n\t\tbackground: transparent;\n\t\tmargin: 0;\n\t\tborder-top: 3px solid transparent;\n\t\tpadding: 7px 15px;\n\t\tcolor: $wp-blue;\n\n\t\t.dashicons {\n\t\t\tdisplay: block;\n\t\t\tmargin: 0 auto;\n\t\t\tcolor: $wp-secondary-gray;\n\t\t\tfont-size: 30px;\n\t\t\twidth: 30px;\n\t\t\theight: 30px;\n\t\t}\n\t}\n\t\n\t.nav-tab-active,\n\t.nav-tab-active:hover,\n\t.nav-tab-active:focus,\n\t.nav-tab-active:focus:active {\n\t\tbackground: #FFF;\n\t\tbox-shadow: 0 0 1px rgba(0, 0, 0, 0.04);\n\t\tborder-top-color: $wp-blue;\n\n\t\t.dashicons {\n\t\t\tcolor: $wp-blue;\n\t\t}\n\t}\n\n\t@media (max-width: $breakpoint-small) {\n\t\ta:not(.nav-tab-active) {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\t\n\ta[role=\"toggle-menu\"] {\n\t\tdisplay: block;\n\t\tfloat: right;\n\t\t@media (min-width: $breakpoint-small) {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\n\n\ta.nav-tab.wp-optimize-nav-tab__back {\n\t\t&, &:focus:active {\t\n\n\t\t\ttext-align: right;\n\n\t\t\t.dashicons {\n\t\t\t\tcolor: $wp-light-gray;\n\t\t\t\tfont-size: 18px;\n\t\t\t\tdisplay: inline-block;\n\t\t\t\theight: auto;\n\t\t\t\tline-height: inherit;\n\t\t\t\twidth: 20px;\n\t\t\t}\n\n\t\t\t@media (min-width: $breakpoint-small) {\n\t\t\t\tposition: absolute;\n\t\t\t\tbottom: 14px;\n\t\t\t\tright: 0;\n\t\t\t\tfont-size: 12px;\n\t\t\t\tfont-weight: 400;\n\t\t\t\ttext-decoration: none;\n\t\t\t\tpadding: 0;\n\t\t\t\n\t\t\t\t.dashicons {\n\t\t\t\t\tcolor: $wp-light-gray;\n\t\t\t\t\tfont-size: 18px;\n\t\t\t\t\tdisplay: inline-block;\n\t\t\t\t\theight: auto;\n\t\t\t\t\tline-height: inherit;\n\t\t\t\t\twidth: 20px;\n\t\t\t\t}\n\t\t\t}\n\t\n\t\t}\n\t\n\t}\n}\n\n.wpo-mobile-menu-opened {\n\n\t.wpo-main .wpo-tab-postbox {\n\t\tdisplay: none;\n\t}\n\t\n\th2#wp-optimize-nav-tab-wrapper a {\n\t\tdisplay: block;\n\t\tfloat: none;\n\n\t\t&.nav-tab-active,\n\t\t&.nav-tab-active:focus {\n\t\t\tborder-top: none;\n\t\t\tborder-left: 3px solid;\n\t\t}\n\t\t\n\t\t&.nav-tab-active,\n\t\t&.nav-tab-active:focus,\n\t\t&:focus,\n\t\t&:hover,\n\t\t& {\n\t\t\t.dashicons {\n\t\t\t\tdisplay: inline-block; \n\t\t\t\tline-height: inherit;\n\t\t\t}\n\t\t}\n\n\t\t&[role=\"toggle-menu\"] {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\n}\n\n\n/* Pages MENU */\n\n.wpo-pages-menu {\n\tposition: absolute;\n\tbottom: 0;\n\tright: 0;\n\tdisplay: none;\n\n\t@media (max-width: 820px) {\n\t\t.opened + & {\n\t\t\tdisplay: block;\n\t\t\tbox-shadow: 0 5px 25px rgba(0, 0, 0, 0.17);\n\t\t}\n\t}\n\n\t@media (min-width: 821px) {\n\t\tdisplay: flex;\n\t\theight: 77px;\n\t}\n\n\t> a {\n\t\ttext-decoration: none;\n\t\tposition: relative;\n\t\tcolor: inherit;\n\t\ttext-align: center;\n\t\tbox-sizing: border-box;\n\t\tdisplay: block;\n\t\tcolor: $wp-gray-dark;\n\n\t\t@media (min-width: 821px) {\n\t\t\tpadding: 0 8px;\n\t\t\theight: 77px;\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\tjustify-content: center;\n\n\t\t\t> span {\n\t\t\t\tdisplay: block;\n\t\t\t\tmargin: 0 auto;\n\t\t\t}\n\t\t}\n\n\t\t@media (max-width: 820px) {\n\t\t\tpadding: 15px;\n\t\t\tfont-size: 1.2em;\n\t\t}\n\n\t\t&.active {\n\t\t\t&::after {\n\t\t\t\tcontent: '';\n\t\t\t\tdisplay: block;\n\t\t\t\tposition: absolute;\n\t\t\t\tbottom: 0;\n\t\t\t\tleft: 0;\n\t\t\t\twidth: 100%;\n\t\t\t\theight: 3px;\n\t\t\t\tbackground: $brand;\n\t\t\t\tcolor: $wp-gray-darker;\n\n\t\t\t\t@media (max-width: 820px) {\n\t\t\t\t\twidth: 3px;\n\t\t\t\t\theight: 100%;\n\t\t\t\t}\n\n\t\t\t}\n\t\t\t@media (max-width: 820px) {\n\t\t\t\tcolor: $brand;\n\t\t\t}\n\t\t}\n\n\t\t&:hover {\n\t\t\tbackground: #F9F9F9;\n\t\t\tcolor: $wp-gray-darker;\n\t\t}\n\t}\n\n\tspan.separator {\n\t\tdisplay: block;\n\t\twidth: 2px;\n\t\tbackground: #EFEFEF;\n\t\tmargin-top: 18px;\n\t\tmargin-bottom: 18px;\n\t\tmargin-right: 5px;\n\t\tmargin-left: 5px;\n\t\t@media (max-width: 820px) {\n\t\t\twidth: 80%;\n\t\t\theight: 2px;\n\t\t\tmargin: 10px 10%;\n\t\t}\n\t}\n\n\t@media (max-width: 820px) {\n\t\ttext-align: center;\n\t\ttop: 100%;\n\t\twidth: 100%;\n\t\tbottom: auto;\n\t\tbackground: #FFF;\t\t\n\n\t}\n\n}\n\n#wp-optimize-nav-page-menu {\n\tposition: absolute;\n\tright: 0;\n\tbottom: 0;\n\tdisplay: flex;\n\theight: 77px;\n flex-direction: column;\n padding: 0 20px;\n align-items: center;\n justify-content: center;\n\ttext-decoration: none;\n\n\t&:not(.opened) .dashicons-no-alt {\n\t\tdisplay: none;\n\t}\n\n\t&.opened .dashicons-menu {\n\t\tdisplay: none;\n\t}\n\n\t@media (min-width: 821px) {\n\t\tdisplay: none;\n\t}\n}\n\n/* DASHBOARD Menu */\n\n/* Calculate column width with a $spacing gutter */\n.wpo-dashboard-pages-menu {\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\n\t/* Same size for 1 to 3 items */\n\t&[data-itemscount=\"1\"],\n\t&[data-itemscount=\"2\"],\n\t&[data-itemscount=\"3\"] {\n\t\t.wpo-dashboard-pages-menu__item {\n\t\t\twidth: calc(33.333% - 40px / 3);\n\t\t}\n\t}\n\n\t/* above 3 items, change sizes */\n\t@for $count from 4 to 6 {\n\t\t&[data-itemscount=\"$count\"] {\n\t\t\t.wpo-dashboard-pages-menu__item {\n\t\t\t\twidth: calc(100% / $count - $spacing * ($count - 1) / $count);\n\t\t\t}\n\t\t}\n\t}\n\n\t.postbox.wpo-dashboard-pages-menu__item {\n\t\tpadding: $spacing;\n\t\tmargin-right: $spacing;\n\t\tbox-sizing: border-box;\n\t\tpadding-bottom: 60px;\n\t\tmin-width: 0;\n\t\n\t\t&:last-child {\n\t\t\tmargin-right: 0;\n\t\t}\n\t\n\t\th3 {\n\t\t\tmargin-top: 0;\n\n\t\t\t.dashicons {\n\t\t\t\tcolor: $wp-secondary-gray;\n\t\t\t\tline-height: 1;\n\t\t\t\theight: 18px;\n\t\t\t\tmargin-top: -2px;\n\t\t\t\tmargin-right: 10px\n\t\t\t}\n\n\t\t}\n\n\t\ta {\n\t\t\tposition: absolute;\n\t\t\tbottom: $spacing;\n\t\t\tleft: $spacing;\n\t\t\twidth: calc(100% - $spacing * 2) !important;\n\t\t}\n\n\t\t@media (max-width: $breakpoint-small) {\n\t\t\twidth: 100%;\n\t\t\tmargin-right: 0;\n\t\t\tpadding-bottom: 20px;\n\n\t\t\ta.button.button-large {\n\t\t\t\twidth: auto !important;\n\t\t\t\tleft: auto;\n\t\t\t\tbottom: auto;\n\t\t\t\ttop: 50%;\n\t\t\t\ttransform: translateY(-50%);\n\t\t\t\tright: $spacing;\n\t\t\t}\n\n\t\t\th3 {\n\t\t\t\tmargin: 0;\n\t\t\t}\n\n\t\t\tp {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\n\t\t}\n\t\n\t}\n\n}\n\n/* Admin bar separator */\n\n#wpadminbar .quicklinks .menupop.hover ul li.separator .ab-item.ab-empty-item {\n height: 2px;\n line-height: 2px;\n background: #ffffff17;\n margin: 5px 10px;\n width: auto;\n min-width: 0;\n}","/* Unused images / wpo_smush_image / image grid*/\n\n.wpo_unused_image, .wpo_smush_image {\n\tposition: relative;\n\tmargin: 4px;\n\twidth: calc(50% - 8px);\n\ttext-align: center;\n\n\t@media (min-width: 500px) {\n\t\twidth: calc(25% - 8px);\n\t}\n\n\t@media (min-width: $breakpoint-small) {\n\t\twidth: calc(16.6666% - 8px);\n\t}\n\n\t@media (min-width: 1100px) {\n\t\twidth: calc(12.5% - 8px);\n\t}\n\n\t.wpo_unused_image__input {\n\t\tposition: absolute;\n\t\ttop: 10px;\n\t\tvisibility: hidden;\n\t}\n\t\n\tlabel {\n\t\tdisplay: block;\n\t\twidth: 100%;\n\t\tposition: relative;\n\t\tpadding: 1px;\n\t\tborder: 3px solid $wp-lighter-gray;\n\t\tbox-sizing: border-box;\n\n\t\t&::before {\n\t\t\tcontent: \"\";\n\t\t\tdisplay: block;\n\t\t\tpadding-top: 100%;\n\t\t}\n\n\t\t.thumbnail {\n\t\t\tposition: absolute;\n\t\t\ttop: 1px;\n\t\t\tleft: 1px;\n\t\t\twidth: calc(100% - 2px);\n\t\t\theight: calc(100% - 2px);\n\t\t\tbackground-repeat: no-repeat;\n\t\t\tbackground-size: cover;\n\t\t\tbackground-position: 50% 50%;\n\t\t\toverflow: hidden;\n\t\t\tbackground: rgba(220, 220, 220, 0.2);\n\n\t\t\timg {\n\t\t\t\tdisplay: block;\n\t\t\t\tmargin: 0;\n\t\t\t\tmax-height: 100%;\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: 50%;\n\t\t\t\tleft: 50%;\n\t\t\t\ttransform: translate(-50%,-50%);\n\t\t\t\tuser-select: none;\n\t\t\t}\n\n\t\t}\n\t\t\n\t}\n\t\n\t.wpo_unused_image__input:checked + label,\n\t&.checked label {\n\t\tborder-color: $wp-blue;\n\t}\n\n\ta, a.button, a.button:active {\n\t\tposition: absolute;\n\t\tz-index: 2;\n\t\tbottom: 13px;\n\t\tleft: 50%;\n\t\ttransform: translateX(-50%);\n\t\tdisplay: none;\n\t}\n\n\t&:hover {\n\n\t\ta, a.button, a.button:active {\n\t\t\tdisplay: inline-block;\n\t\t}\n\n\t}\n\n}\n\n#wpo_unused_images, #wpo_smush_images_grid {\n\twidth: calc(100% + 8px);\n margin-left: -4px;\n margin-right: -4px;\n\tmax-height: 500px;\n\toverflow-y: auto;\n display: flex;\n\tflex-wrap: wrap;\n\n\t.wpo-fieldgroup {\n\t\twidth: 100%;\n\t}\n\n}\n\n#wpo_unused_images a {\n\toutline: none;\n}","/* More Plugins page */\n\n/* Plugins family / Premium */\n\np.wpo-plugin-installed {\n color: $success;\n}\n\n/* Settings repeater */\n\n.wpo-repeater__add {\n\tdisplay: inline-block;\n\tcursor: pointer;\n\tfont-weight: bold;\n\ttext-decoration: none;\n}\n\n\n/* Plugin familly tab */\n\n.wpo-plugin-family__premium h2 {\n margin: 0;\n padding: 25px;\n}\n\n.wpo-plugin-family__plugins {\n display: flex;\n flex-wrap: wrap;\n\tpadding-left: 1px;\n\tpadding-bottom: 1px;\n}\n\n.wpo-plugin-family__plugin {\n flex: auto;\n width: 100%;\n padding: 30px;\n box-sizing: border-box;\n border: 1px solid #E3E4E7;\n\tmargin-left: -1px;\n\tmargin-bottom: -1px;\n\n\t@media (min-width: $breakpoint-small) {\n\t\twidth: 50%;\n\n\t\t.wpo-plugin-family__free & {\n\t\t\twidth: 100%;\n\t\t}\n\t}\n\n\t@media (max-width: 1080px) {\n\t\t.wpo-plugin-family__free & {\n\t\t\twidth: 50%;\n\t\t}\n\t}\n\n\t@media (max-width: $breakpoint-small) {\n\t\t.wpo-plugin-family__free & {\n\t\t\twidth: 100%;\n\t\t}\n\t}\n\n}\n\ndiv#wp-optimize-nav-tab-wpo_mayalso-may_also-contents .wpo-tab-postbox {\n padding: 0;\n}\n\n/* Added for WPO Premium Features tab */\n.wpo_feature_cont {\n\twidth: 64.5%;\n}\n\n.wpo_plugin_family_cont {\n\twidth: 34.5%;\n}\n\n@media (max-width: 1080px) {\n\n\t.wpo_feature_cont,\n\t.wpo_plugin_family_cont {\n\t\twidth: 100%;\n\t\tfloat: none;\n\t\tmargin: 0;\n\t}\n\n}\n\n.wpo_feature_cont,\n.wpo_plugin_family_cont {\n\n\theader {\n\t\tpadding: 20px;\n\n\t\t@media (max-width: 1080px) {\n\t\t\tpadding: 40px;\t\t\n\t\t}\n\n\t\th2 {\n\t\t\tmargin: 0;\n\t\t}\n\t\n\t\tp {\n\t\t\tmargin-bottom: 0;\n\t\t}\n\n\t}\n\n}\n\n.wpo_feat_table, .wpo_feat_th, .wpo_feat_table td {\n\tborder: none;\n\tborder-collapse: collapse;\n\tbackground-color: white;\n\tfont-size: 120%;\n\ttext-align: center;\n}\n\n.wpo_feat_table {\n\ttd {\n\t\tborder: 1px solid #F1F1F1;\n\t\tborder-bottom-width: 4px;\n\t\tpadding: 15px;\n\t}\n\n\ttd:nth-child(2), td:nth-child(3) {\n\t\tbackground: rgba(241, 241, 241, 0.38);\n\t}\n\n\tp {\n\t\tpadding: 0px 10px;\n\t\tmargin: 5px 0px;\n\t\tfont-size: 13px;\n\t}\n\n\th4 {\n\t\tmargin: 5px 0px;\n\t}\n\n\t.dashicons {\n\t\twidth: 25px;\n\t\theight: 25px;\n\t\tfont-size: 25px;\n\t\tline-height: 1;\n\t}\n\n\t.dashicons-yes, .updraft-yes {\n\t\tcolor: green;\n\t}\n\t\n\t.dashicons-no-alt, .updraft-no {\n\t\tcolor: red;\n\t}\n\n}\n\n\n\n.wpo-premium-image {\n\tdisplay: none;\n}\n\n@media screen and (min-width: 720px) {\n\n\t#wpoptimize_table_list_filter {\n\t\twidth: 40%;\n\t}\n\n\t.wpo-premium-image {\n\t\tdisplay: block;\n\t\tfloat: left;\n\t\tpadding: 16px 18px;\n\t\twidth: 30px;\n\t\theight: auto;\n\t}\n\n}\n\n@media screen and (min-width: 1220px) {\n\n\t.wpo_feat_table td:nth-child(2), .wpo_feat_table td:nth-child(3) {\n\t\twidth: 110px;\n\t}\n\n}\n\n.other-plugin-title {\n\ttext-decoration: none;\n}\n\n@media screen and (max-width: $breakpoint-small) {\n\n\ttable.wpo_feat_table {\n\n\t\tdisplay: block;\n\n\t\ttr {\n\t\t\tdisplay: flex;\n\t\t\tflex-wrap: wrap;\n\t\t}\n\n\t\ttd {\n\t\t\tdisplay: block;\n\n\t\t\t&:first-child {\n\t\t\t\twidth: 100%;\n\t\t\t\tborder-bottom: none;\n\t\t\t}\n\n\t\t\t&:not(:first-child) {\n\t\t\t\twidth: 50%;\n\t\t\t\tbox-sizing: border-box;\n\t\t\t}\n\n\t\t\t&:first-child:empty {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\n\t\t\t&[data-colname]::before {\n\t\t\t\tcontent: attr(data-colname);\n\t\t\t\tfont-size: 0.8rem;\n\t\t\t\tcolor: #CCC;\n\t\t\t\tline-height: 1;\n\t\t\t}\n\t\t}\n\t}\n\n}","\n/* tablesorter */\n\n#wp-optimize-wrap {\n\n\t.wp-list-table {\n\t\t\n\t\ttd {\n\t\t\tword-break: break-all; \n\t\t}\n\n\t}\n\n\t@media screen and (max-width: $breakpoint-small ) {\n\n\t\t.wp-list-table.wp-list-table-mobile-labels tbody {\n\n\t\t\t&, tr, th, td {\n\t\t\t\tdisplay: block;\n\t\t\t}\n\n\t\t\ttd {\n\t\t\t\tpadding: 3px 8px 3px 35%;\n\t\t\t\tword-break: break-word;\n\t\t\t\tbox-sizing: border-box; \n\n\t\t\t\t&::before {\n\t\t\t\t\tcolor: $wp-light-gray;\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\t\t\n\n\t\t.wp-list-table.wp-list-table-mobile-labels thead {\n\n\t\t\t&, tr {\n\t\t\t\tdisplay: block;\n\t\t\t}\n\n\t\t\tth.column-primary {\n\t\t\t\tdisplay: block;\n\t\t\t\tbox-sizing: border-box; \n\t\t\t}\n\n\t\t\tth:not(.column-primary) {\n\t\t\t\tdisplay: none !important; \n\t\t\t}\n\n\t\t}\n\n\t}\n\n}\n\nth:not(.sorter-false) .tablesorter-header-inner {\n\n\tcolor: #0074ab;\n\n\t&::after {\n\t\tcontent: '';\n\t\tfont-family: 'dashicons';\n\t\tfont-size: 20px;\n\t\tline-height: 20px;\n\t\theight: 20px;\n\t\twidth: 20px;\n\t\tdisplay: inline-block;\n\t\tvertical-align: bottom;\n\t}\n\n}\n\nth.tablesorter-header.tablesorter-headerAsc,\nth.tablesorter-header.tablesorter-headerDesc {\n font-weight: 500;\n border-bottom-color: $wp-blue;\n}\n\nth.tablesorter-header.tablesorter-headerDesc .tablesorter-header-inner::after {\n content: \"\\f140\";\n}\n\nth.tablesorter-header.tablesorter-headerAsc .tablesorter-header-inner::after {\n content: \"\\f142\";\n}\n\nth.tablesorter-header:focus {\n outline: none;\n\tbox-shadow: 0 0 3px rgba(0, 116, 171, 0.78);\n\n\t&:not(.tablesorter-headerAsc):not(.tablesorter-headerDesc) .tablesorter-header-inner::after {\n\t\tcontent: \"\\f142\";\n\t\topacity: 0.5;\n\t}\n\n}\n\n.tablesorter.hasFilters tr.filtered {\n display: none;\n}\n"]}
includes/class-wp-optimize-options.php CHANGED
@@ -228,8 +228,11 @@ class WP_Optimize_Options {
228
  }
229
 
230
  /** Save logging options */
231
- $this->update_option('logging', $settings['wpo-logger-type']);
232
- $this->update_option('logging-additional', $settings['wpo-logger-options']);
 
 
 
233
 
234
  // Save selected optimization settings.
235
  $this->save_sent_manual_run_optimization_options($settings, true, false);
228
  }
229
 
230
  /** Save logging options */
231
+ $logger_type = isset($settings['wpo-logger-type']) ? $settings['wpo-logger-type'] : '';
232
+ $logger_options = isset($settings['wpo-logger-options']) ? $settings['wpo-logger-options'] : '';
233
+
234
+ $this->update_option('logging', $logger_type);
235
+ $this->update_option('logging-additional', $logger_options);
236
 
237
  // Save selected optimization settings.
238
  $this->save_sent_manual_run_optimization_options($settings, true, false);
includes/class-wp-optimizer.php CHANGED
@@ -309,22 +309,27 @@ class WP_Optimizer {
309
  /**
310
  * Returns information about single table by table name.
311
  *
312
- * @param string $table_name table name
313
- * @return object table information object.
314
  */
315
  public function get_table($table_name) {
316
- $table = WP_Optimize()->get_db_info()->get_table_status($table_name);
 
 
 
 
 
317
 
318
- $table->is_optimizable = WP_Optimize()->get_db_info()->is_table_optimizable($table_name);
319
- $table->is_type_supported = WP_Optimize()->get_db_info()->is_table_type_optimize_supported($table_name);
320
- $table->is_needing_repair = WP_Optimize()->get_db_info()->is_table_needing_repair($table_name);
321
 
322
  // add information about using table by any of installed plugins.
323
- $table->plugin = WP_Optimize()->get_db_info()->get_table_plugin($table_name);
324
- $table->is_using = WP_Optimize()->get_db_info()->is_table_using_by_plugin($table_name);
325
  // if table belongs to any plugin then add plugins status.
326
  if ($table->plugin) {
327
- $table->plugin_status = WP_Optimize()->get_db_info()->get_plugin_status($table->plugin);
328
  }
329
 
330
  $table = apply_filters('wp_optimize_get_table', $table);
@@ -336,7 +341,7 @@ class WP_Optimizer {
336
  * and information regarding each table and returns
337
  * the results to optimizations-table.php and optimizationstable.php
338
  *
339
- * @return [array] an array of data such as table list, innodb info and data free
340
  */
341
  public function get_table_information() {
342
  // Get table information.
@@ -385,7 +390,7 @@ class WP_Optimizer {
385
 
386
  $wpdb = $GLOBALS['wpdb'];
387
 
388
- $new_status = (($enable) ? 'open' : 'closed');
389
 
390
  switch ($type) {
391
  case "trackbacks":
309
  /**
310
  * Returns information about single table by table name.
311
  *
312
+ * @param String $table_name table name
313
+ * @return Object|Boolean table information object.
314
  */
315
  public function get_table($table_name) {
316
+
317
+ $db_info = WP_Optimize()->get_db_info();
318
+
319
+ $table = $db_info->get_table_status($table_name);
320
+
321
+ if (false === $table) return false;
322
 
323
+ $table->is_optimizable = $db_info->is_table_optimizable($table_name);
324
+ $table->is_type_supported = $db_info->is_table_type_optimize_supported($table_name);
325
+ $table->is_needing_repair = $db_info->is_table_needing_repair($table_name);
326
 
327
  // add information about using table by any of installed plugins.
328
+ $table->plugin = $db_info->get_table_plugin($table_name);
329
+ $table->is_using = $db_info->is_table_using_by_plugin($table_name);
330
  // if table belongs to any plugin then add plugins status.
331
  if ($table->plugin) {
332
+ $table->plugin_status = $db_info->get_plugin_status($table->plugin);
333
  }
334
 
335
  $table = apply_filters('wp_optimize_get_table', $table);
341
  * and information regarding each table and returns
342
  * the results to optimizations-table.php and optimizationstable.php
343
  *
344
+ * @return Array - an array of data such as table list, innodb info and data free
345
  */
346
  public function get_table_information() {
347
  // Get table information.
390
 
391
  $wpdb = $GLOBALS['wpdb'];
392
 
393
+ $new_status = $enable ? 'open' : 'closed';
394
 
395
  switch ($type) {
396
  case "trackbacks":
includes/wp-optimize-database-information.php CHANGED
@@ -494,6 +494,9 @@ class WP_Optimize_Database_Information {
494
  if (is_array($installed_plugins)) return $installed_plugins;
495
 
496
  $installed_plugins = array();
 
 
 
497
  $plugins = get_plugins();
498
 
499
  foreach ($plugins as $plugin_file => $plugin_data) {
494
  if (is_array($installed_plugins)) return $installed_plugins;
495
 
496
  $installed_plugins = array();
497
+
498
+ if (!function_exists('get_plugins')) include_once(ABSPATH.'wp-admin/includes/plugin.php');
499
+
500
  $plugins = get_plugins();
501
 
502
  foreach ($plugins as $plugin_file => $plugin_data) {
languages/wp-optimize.pot CHANGED
@@ -201,7 +201,7 @@ msgstr ""
201
  msgid "Auto backup option updated."
202
  msgstr ""
203
 
204
- #: src/includes/class-wp-optimize-options.php:248
205
  msgid "Settings updated."
206
  msgstr ""
207
 
@@ -209,19 +209,19 @@ msgstr ""
209
  msgid "No such optimization"
210
  msgstr ""
211
 
212
- #: src/includes/class-wp-optimizer.php:470
213
  msgid "Comments have now been disabled on all current and previously published posts."
214
  msgstr ""
215
 
216
- #: src/includes/class-wp-optimizer.php:473
217
  msgid "Comments have now been enabled on all current and previously published posts."
218
  msgstr ""
219
 
220
- #: src/includes/class-wp-optimizer.php:480
221
  msgid "Trackbacks have now been disabled on all current and previously published posts."
222
  msgstr ""
223
 
224
- #: src/includes/class-wp-optimizer.php:483
225
  msgid "Trackbacks have now been enabled on all current and previously published posts."
226
  msgstr ""
227
 
@@ -319,7 +319,7 @@ msgid_plural "%s orphaned attachments deleted"
319
  msgstr[0] ""
320
  msgstr[1] ""
321
 
322
- #: src/optimizations/attachments.php:33, src/optimizations/attachments.php:73, src/optimizations/autodraft.php:85, src/optimizations/autodraft.php:130, src/optimizations/commentmeta.php:101, src/optimizations/commentmeta.php:170, src/optimizations/orphandata.php:18, src/optimizations/orphandata.php:46, src/optimizations/pingbacks.php:68, src/optimizations/pingbacks.php:107, src/optimizations/postmeta.php:63, src/optimizations/postmeta.php:98, src/optimizations/revisions.php:81, src/optimizations/revisions.php:125, src/optimizations/spam.php:111, src/optimizations/spam.php:198, src/optimizations/trackbacks.php:69, src/optimizations/trackbacks.php:109, src/optimizations/transient.php:178, src/optimizations/trash.php:96, src/optimizations/trash.php:169, src/optimizations/unapproved.php:84, src/optimizations/unapproved.php:130
323
  msgid "across %s site"
324
  msgid_plural "across %s sites"
325
  msgstr[0] ""
@@ -339,11 +339,11 @@ msgstr ""
339
  msgid "Remove orphaned attachments"
340
  msgstr ""
341
 
342
- #: src/optimizations/autodraft.php:54, src/optimizations/commentmeta.php:49, src/optimizations/pingbacks.php:35, src/optimizations/revisions.php:50, src/optimizations/spam.php:68, src/optimizations/trackbacks.php:36, src/optimizations/trash.php:58, src/optimizations/unapproved.php:51
343
  msgid "no title"
344
  msgstr ""
345
 
346
- #: src/optimizations/autodraft.php:66, src/optimizations/commentmeta.php:72, src/optimizations/pingbacks.php:49, src/optimizations/postmeta.php:43, src/optimizations/revisions.php:62, src/optimizations/spam.php:82, src/optimizations/trackbacks.php:50, src/optimizations/transient.php:140, src/optimizations/transient.php:146, src/optimizations/trash.php:77, src/optimizations/unapproved.php:65
347
  msgid "ID"
348
  msgstr ""
349
 
@@ -383,51 +383,51 @@ msgstr ""
383
  msgid "Remove auto-draft posts"
384
  msgstr ""
385
 
386
- #: src/optimizations/commentmeta.php:73
387
  msgid "Comment ID"
388
  msgstr ""
389
 
390
- #: src/optimizations/commentmeta.php:74, src/optimizations/postmeta.php:45
391
  msgid "Meta Key"
392
  msgstr ""
393
 
394
- #: src/optimizations/commentmeta.php:75, src/optimizations/postmeta.php:46
395
  msgid "Meta Value"
396
  msgstr ""
397
 
398
- #: src/optimizations/commentmeta.php:81, src/optimizations/commentmeta.php:160
399
  msgid "No orphaned comment meta data in your database"
400
  msgstr ""
401
 
402
- #: src/optimizations/commentmeta.php:97
403
  msgid "%s unused comment metadata item removed"
404
  msgid_plural "%s unused comment metadata items removed"
405
  msgstr[0] ""
406
  msgstr[1] ""
407
 
408
- #: src/optimizations/commentmeta.php:98
409
  msgid "%s unused akismet comment metadata item removed"
410
  msgid_plural "%s unused akismet comment metadata items removed"
411
  msgstr[0] ""
412
  msgstr[1] ""
413
 
414
- #: src/optimizations/commentmeta.php:158
415
  msgid "%s orphaned comment meta data in your database"
416
  msgid_plural "%s orphaned comment meta data in your database"
417
  msgstr[0] ""
418
  msgstr[1] ""
419
 
420
- #: src/optimizations/commentmeta.php:164
421
  msgid "%s unused Akismet comment meta rows in your database"
422
  msgid_plural "%s unused Akismet meta rows in your database"
423
  msgstr[0] ""
424
  msgstr[1] ""
425
 
426
- #: src/optimizations/commentmeta.php:166
427
  msgid "No Akismet comment meta rows in your database"
428
  msgstr ""
429
 
430
- #: src/optimizations/commentmeta.php:204, src/optimizations/commentmeta.php:208
431
  msgid "Clean comment meta data"
432
  msgstr ""
433
 
@@ -463,23 +463,23 @@ msgstr ""
463
  msgid "Optimize database tables"
464
  msgstr ""
465
 
466
- #: src/optimizations/orphandata.php:15
467
  msgid "%s orphaned meta data deleted"
468
  msgid_plural "%s orphaned meta data deleted"
469
  msgstr[0] ""
470
  msgstr[1] ""
471
 
472
- #: src/optimizations/orphandata.php:40
473
  msgid "%s orphaned relationship data in your database"
474
  msgid_plural "%s orphaned relationship data in your database"
475
  msgstr[0] ""
476
  msgstr[1] ""
477
 
478
- #: src/optimizations/orphandata.php:42
479
  msgid "No orphaned relationship data in your database"
480
  msgstr ""
481
 
482
- #: src/optimizations/orphandata.php:63
483
  msgid "Clean orphaned relationship data"
484
  msgstr ""
485
 
@@ -491,59 +491,59 @@ msgstr ""
491
  msgid "Delete orphaned database tables"
492
  msgstr ""
493
 
494
- #: src/optimizations/pingbacks.php:50, src/optimizations/spam.php:83, src/optimizations/trackbacks.php:51, src/optimizations/unapproved.php:66
495
  msgid "Author"
496
  msgstr ""
497
 
498
- #: src/optimizations/pingbacks.php:51, src/optimizations/spam.php:84, src/optimizations/trackbacks.php:52
499
  msgid "Comment"
500
  msgstr ""
501
 
502
- #: src/optimizations/pingbacks.php:57, src/optimizations/pingbacks.php:103
503
  msgid "No pingbacks found"
504
  msgstr ""
505
 
506
- #: src/optimizations/pingbacks.php:65
507
  msgid "%s pingback deleted"
508
  msgid_plural "%s pingbacks deleted"
509
  msgstr[0] ""
510
  msgstr[1] ""
511
 
512
- #: src/optimizations/pingbacks.php:101
513
  msgid "%s pingback found"
514
  msgid_plural "%s pingbacks found"
515
  msgstr[0] ""
516
  msgstr[1] ""
517
 
518
- #: src/optimizations/pingbacks.php:129
519
  msgid "Remove pingbacks"
520
  msgstr ""
521
 
522
- #: src/optimizations/postmeta.php:44
523
  msgid "Post ID"
524
  msgstr ""
525
 
526
- #: src/optimizations/postmeta.php:52, src/optimizations/postmeta.php:94
527
  msgid "No orphaned post meta data in your database"
528
  msgstr ""
529
 
530
- #: src/optimizations/postmeta.php:60
531
  msgid "%s orphaned post meta data deleted"
532
  msgid_plural "%s orphaned post meta data deleted"
533
  msgstr[0] ""
534
  msgstr[1] ""
535
 
536
- #: src/optimizations/postmeta.php:92
537
  msgid "%s orphaned post meta data in your database"
538
  msgid_plural "%s orphaned post meta data in your database"
539
  msgstr[0] ""
540
  msgstr[1] ""
541
 
542
- #: src/optimizations/postmeta.php:120
543
  msgid "Clean post meta data"
544
  msgstr ""
545
 
546
- #: src/optimizations/postmeta.php:129
547
  msgid "Remove orphaned post meta"
548
  msgstr ""
549
 
@@ -627,77 +627,77 @@ msgstr ""
627
  msgid "Remove spam and trashed comments"
628
  msgstr ""
629
 
630
- #: src/optimizations/trackbacks.php:58, src/optimizations/trackbacks.php:105
631
  msgid "No trackbacks found"
632
  msgstr ""
633
 
634
- #: src/optimizations/trackbacks.php:66
635
  msgid "%s trackback deleted"
636
  msgid_plural "%s trackbacks deleted"
637
  msgstr[0] ""
638
  msgstr[1] ""
639
 
640
- #: src/optimizations/trackbacks.php:103
641
  msgid "%s Trackback found"
642
  msgid_plural "%s Trackbacks found"
643
  msgstr[0] ""
644
  msgstr[1] ""
645
 
646
- #: src/optimizations/trackbacks.php:123
647
  msgid "Remove trackbacks"
648
  msgstr ""
649
 
650
- #: src/optimizations/transient.php:141, src/optimizations/transient.php:147
651
  msgid "Name"
652
  msgstr ""
653
 
654
- #: src/optimizations/transient.php:142, src/optimizations/transient.php:148
655
  msgid "Value"
656
  msgstr ""
657
 
658
- #: src/optimizations/transient.php:159, src/optimizations/transient.php:386
659
  msgid "No transient options found"
660
  msgstr ""
661
 
662
- #: src/optimizations/transient.php:175
663
  msgid "%s transient option deleted"
664
  msgid_plural "%s transient options deleted"
665
  msgstr[0] ""
666
  msgstr[1] ""
667
 
668
- #: src/optimizations/transient.php:252
669
  msgid "%s network-wide transient option deleted"
670
  msgid_plural "%s network-wide transient options deleted"
671
  msgstr[0] ""
672
  msgstr[1] ""
673
 
674
- #: src/optimizations/transient.php:384
675
  msgid "%1$d of %2$d transient option expired"
676
  msgid_plural "%1$d of %2$d transient options expired"
677
  msgstr[0] ""
678
  msgstr[1] ""
679
 
680
- #: src/optimizations/transient.php:390
681
  msgid "across %d site"
682
  msgid_plural "across %d sites"
683
  msgstr[0] ""
684
  msgstr[1] ""
685
 
686
- #: src/optimizations/transient.php:402
687
  msgid "%1$d of %2$d network-wide transient option found"
688
  msgid_plural "%1$d of %2$d network-wide transient options found"
689
  msgstr[0] ""
690
  msgstr[1] ""
691
 
692
- #: src/optimizations/transient.php:405
693
  msgid "No site-wide transient options found"
694
  msgstr ""
695
 
696
- #: src/optimizations/transient.php:414
697
  msgid "Remove all transient options (not only expired)"
698
  msgstr ""
699
 
700
- #: src/optimizations/transient.php:463, src/optimizations/transient.php:467
701
  msgid "Remove expired transient options"
702
  msgstr ""
703
 
@@ -1723,18 +1723,18 @@ msgstr ""
1723
  msgid "bytes"
1724
  msgstr ""
1725
 
1726
- #: src/wp-optimize.php:1551
1727
  msgid "You have no permissions to run optimizations."
1728
  msgstr ""
1729
 
1730
- #: src/wp-optimize.php:1558
1731
  msgid "You have no permissions to manage WP-Optimize settings."
1732
  msgstr ""
1733
 
1734
- #: src/wp-optimize.php:1708
1735
  msgid "Only Network Administrator can activate WP-Optimize plugin."
1736
  msgstr ""
1737
 
1738
- #: src/wp-optimize.php:1709
1739
  msgid "go back"
1740
  msgstr ""
201
  msgid "Auto backup option updated."
202
  msgstr ""
203
 
204
+ #: src/includes/class-wp-optimize-options.php:251
205
  msgid "Settings updated."
206
  msgstr ""
207
 
209
  msgid "No such optimization"
210
  msgstr ""
211
 
212
+ #: src/includes/class-wp-optimizer.php:475
213
  msgid "Comments have now been disabled on all current and previously published posts."
214
  msgstr ""
215
 
216
+ #: src/includes/class-wp-optimizer.php:478
217
  msgid "Comments have now been enabled on all current and previously published posts."
218
  msgstr ""
219
 
220
+ #: src/includes/class-wp-optimizer.php:485
221
  msgid "Trackbacks have now been disabled on all current and previously published posts."
222
  msgstr ""
223
 
224
+ #: src/includes/class-wp-optimizer.php:488
225
  msgid "Trackbacks have now been enabled on all current and previously published posts."
226
  msgstr ""
227
 
319
  msgstr[0] ""
320
  msgstr[1] ""
321
 
322
+ #: src/optimizations/attachments.php:33, src/optimizations/attachments.php:73, src/optimizations/autodraft.php:85, src/optimizations/autodraft.php:130, src/optimizations/commentmeta.php:103, src/optimizations/commentmeta.php:172, src/optimizations/orphandata.php:20, src/optimizations/orphandata.php:48, src/optimizations/pingbacks.php:70, src/optimizations/pingbacks.php:109, src/optimizations/postmeta.php:65, src/optimizations/postmeta.php:100, src/optimizations/revisions.php:81, src/optimizations/revisions.php:125, src/optimizations/spam.php:111, src/optimizations/spam.php:198, src/optimizations/trackbacks.php:71, src/optimizations/trackbacks.php:111, src/optimizations/transient.php:180, src/optimizations/trash.php:96, src/optimizations/trash.php:169, src/optimizations/unapproved.php:84, src/optimizations/unapproved.php:130
323
  msgid "across %s site"
324
  msgid_plural "across %s sites"
325
  msgstr[0] ""
339
  msgid "Remove orphaned attachments"
340
  msgstr ""
341
 
342
+ #: src/optimizations/autodraft.php:54, src/optimizations/commentmeta.php:51, src/optimizations/pingbacks.php:37, src/optimizations/revisions.php:50, src/optimizations/spam.php:68, src/optimizations/trackbacks.php:38, src/optimizations/trash.php:58, src/optimizations/unapproved.php:51
343
  msgid "no title"
344
  msgstr ""
345
 
346
+ #: src/optimizations/autodraft.php:66, src/optimizations/commentmeta.php:74, src/optimizations/pingbacks.php:51, src/optimizations/postmeta.php:45, src/optimizations/revisions.php:62, src/optimizations/spam.php:82, src/optimizations/trackbacks.php:52, src/optimizations/transient.php:142, src/optimizations/transient.php:148, src/optimizations/trash.php:77, src/optimizations/unapproved.php:65
347
  msgid "ID"
348
  msgstr ""
349
 
383
  msgid "Remove auto-draft posts"
384
  msgstr ""
385
 
386
+ #: src/optimizations/commentmeta.php:75
387
  msgid "Comment ID"
388
  msgstr ""
389
 
390
+ #: src/optimizations/commentmeta.php:76, src/optimizations/postmeta.php:47
391
  msgid "Meta Key"
392
  msgstr ""
393
 
394
+ #: src/optimizations/commentmeta.php:77, src/optimizations/postmeta.php:48
395
  msgid "Meta Value"
396
  msgstr ""
397
 
398
+ #: src/optimizations/commentmeta.php:83, src/optimizations/commentmeta.php:162
399
  msgid "No orphaned comment meta data in your database"
400
  msgstr ""
401
 
402
+ #: src/optimizations/commentmeta.php:99
403
  msgid "%s unused comment metadata item removed"
404
  msgid_plural "%s unused comment metadata items removed"
405
  msgstr[0] ""
406
  msgstr[1] ""
407
 
408
+ #: src/optimizations/commentmeta.php:100
409
  msgid "%s unused akismet comment metadata item removed"
410
  msgid_plural "%s unused akismet comment metadata items removed"
411
  msgstr[0] ""
412
  msgstr[1] ""
413
 
414
+ #: src/optimizations/commentmeta.php:160
415
  msgid "%s orphaned comment meta data in your database"
416
  msgid_plural "%s orphaned comment meta data in your database"
417
  msgstr[0] ""
418
  msgstr[1] ""
419
 
420
+ #: src/optimizations/commentmeta.php:166
421
  msgid "%s unused Akismet comment meta rows in your database"
422
  msgid_plural "%s unused Akismet meta rows in your database"
423
  msgstr[0] ""
424
  msgstr[1] ""
425
 
426
+ #: src/optimizations/commentmeta.php:168
427
  msgid "No Akismet comment meta rows in your database"
428
  msgstr ""
429
 
430
+ #: src/optimizations/commentmeta.php:206, src/optimizations/commentmeta.php:210
431
  msgid "Clean comment meta data"
432
  msgstr ""
433
 
463
  msgid "Optimize database tables"
464
  msgstr ""
465
 
466
+ #: src/optimizations/orphandata.php:17
467
  msgid "%s orphaned meta data deleted"
468
  msgid_plural "%s orphaned meta data deleted"
469
  msgstr[0] ""
470
  msgstr[1] ""
471
 
472
+ #: src/optimizations/orphandata.php:42
473
  msgid "%s orphaned relationship data in your database"
474
  msgid_plural "%s orphaned relationship data in your database"
475
  msgstr[0] ""
476
  msgstr[1] ""
477
 
478
+ #: src/optimizations/orphandata.php:44
479
  msgid "No orphaned relationship data in your database"
480
  msgstr ""
481
 
482
+ #: src/optimizations/orphandata.php:65
483
  msgid "Clean orphaned relationship data"
484
  msgstr ""
485
 
491
  msgid "Delete orphaned database tables"
492
  msgstr ""
493
 
494
+ #: src/optimizations/pingbacks.php:52, src/optimizations/spam.php:83, src/optimizations/trackbacks.php:53, src/optimizations/unapproved.php:66
495
  msgid "Author"
496
  msgstr ""
497
 
498
+ #: src/optimizations/pingbacks.php:53, src/optimizations/spam.php:84, src/optimizations/trackbacks.php:54
499
  msgid "Comment"
500
  msgstr ""
501
 
502
+ #: src/optimizations/pingbacks.php:59, src/optimizations/pingbacks.php:105
503
  msgid "No pingbacks found"
504
  msgstr ""
505
 
506
+ #: src/optimizations/pingbacks.php:67
507
  msgid "%s pingback deleted"
508
  msgid_plural "%s pingbacks deleted"
509
  msgstr[0] ""
510
  msgstr[1] ""
511
 
512
+ #: src/optimizations/pingbacks.php:103
513
  msgid "%s pingback found"
514
  msgid_plural "%s pingbacks found"
515
  msgstr[0] ""
516
  msgstr[1] ""
517
 
518
+ #: src/optimizations/pingbacks.php:131
519
  msgid "Remove pingbacks"
520
  msgstr ""
521
 
522
+ #: src/optimizations/postmeta.php:46
523
  msgid "Post ID"
524
  msgstr ""
525
 
526
+ #: src/optimizations/postmeta.php:54, src/optimizations/postmeta.php:96
527
  msgid "No orphaned post meta data in your database"
528
  msgstr ""
529
 
530
+ #: src/optimizations/postmeta.php:62
531
  msgid "%s orphaned post meta data deleted"
532
  msgid_plural "%s orphaned post meta data deleted"
533
  msgstr[0] ""
534
  msgstr[1] ""
535
 
536
+ #: src/optimizations/postmeta.php:94
537
  msgid "%s orphaned post meta data in your database"
538
  msgid_plural "%s orphaned post meta data in your database"
539
  msgstr[0] ""
540
  msgstr[1] ""
541
 
542
+ #: src/optimizations/postmeta.php:122
543
  msgid "Clean post meta data"
544
  msgstr ""
545
 
546
+ #: src/optimizations/postmeta.php:131
547
  msgid "Remove orphaned post meta"
548
  msgstr ""
549
 
627
  msgid "Remove spam and trashed comments"
628
  msgstr ""
629
 
630
+ #: src/optimizations/trackbacks.php:60, src/optimizations/trackbacks.php:107
631
  msgid "No trackbacks found"
632
  msgstr ""
633
 
634
+ #: src/optimizations/trackbacks.php:68
635
  msgid "%s trackback deleted"
636
  msgid_plural "%s trackbacks deleted"
637
  msgstr[0] ""
638
  msgstr[1] ""
639
 
640
+ #: src/optimizations/trackbacks.php:105
641
  msgid "%s Trackback found"
642
  msgid_plural "%s Trackbacks found"
643
  msgstr[0] ""
644
  msgstr[1] ""
645
 
646
+ #: src/optimizations/trackbacks.php:125
647
  msgid "Remove trackbacks"
648
  msgstr ""
649
 
650
+ #: src/optimizations/transient.php:143, src/optimizations/transient.php:149
651
  msgid "Name"
652
  msgstr ""
653
 
654
+ #: src/optimizations/transient.php:144, src/optimizations/transient.php:150
655
  msgid "Value"
656
  msgstr ""
657
 
658
+ #: src/optimizations/transient.php:161, src/optimizations/transient.php:388
659
  msgid "No transient options found"
660
  msgstr ""
661
 
662
+ #: src/optimizations/transient.php:177
663
  msgid "%s transient option deleted"
664
  msgid_plural "%s transient options deleted"
665
  msgstr[0] ""
666
  msgstr[1] ""
667
 
668
+ #: src/optimizations/transient.php:254
669
  msgid "%s network-wide transient option deleted"
670
  msgid_plural "%s network-wide transient options deleted"
671
  msgstr[0] ""
672
  msgstr[1] ""
673
 
674
+ #: src/optimizations/transient.php:386
675
  msgid "%1$d of %2$d transient option expired"
676
  msgid_plural "%1$d of %2$d transient options expired"
677
  msgstr[0] ""
678
  msgstr[1] ""
679
 
680
+ #: src/optimizations/transient.php:392
681
  msgid "across %d site"
682
  msgid_plural "across %d sites"
683
  msgstr[0] ""
684
  msgstr[1] ""
685
 
686
+ #: src/optimizations/transient.php:404
687
  msgid "%1$d of %2$d network-wide transient option found"
688
  msgid_plural "%1$d of %2$d network-wide transient options found"
689
  msgstr[0] ""
690
  msgstr[1] ""
691
 
692
+ #: src/optimizations/transient.php:407
693
  msgid "No site-wide transient options found"
694
  msgstr ""
695
 
696
+ #: src/optimizations/transient.php:416
697
  msgid "Remove all transient options (not only expired)"
698
  msgstr ""
699
 
700
+ #: src/optimizations/transient.php:465, src/optimizations/transient.php:469
701
  msgid "Remove expired transient options"
702
  msgstr ""
703
 
1723
  msgid "bytes"
1724
  msgstr ""
1725
 
1726
+ #: src/wp-optimize.php:1553
1727
  msgid "You have no permissions to run optimizations."
1728
  msgstr ""
1729
 
1730
+ #: src/wp-optimize.php:1560
1731
  msgid "You have no permissions to manage WP-Optimize settings."
1732
  msgstr ""
1733
 
1734
+ #: src/wp-optimize.php:1710
1735
  msgid "Only Network Administrator can activate WP-Optimize plugin."
1736
  msgstr ""
1737
 
1738
+ #: src/wp-optimize.php:1711
1739
  msgid "go back"
1740
  msgstr ""
optimizations/commentmeta.php CHANGED
@@ -6,6 +6,8 @@ class WP_Optimization_commentmeta extends WP_Optimization {
6
 
7
  public $ui_sort_order = 9000;
8
 
 
 
9
  private $processed_trash_count;
10
 
11
  private $processed_akismet_count;
6
 
7
  public $ui_sort_order = 9000;
8
 
9
+ public $available_for_saving = true;
10
+
11
  private $processed_trash_count;
12
 
13
  private $processed_akismet_count;
optimizations/optimizetables.php CHANGED
@@ -37,7 +37,7 @@ class WP_Optimization_optimizetables extends WP_Optimization {
37
  if (isset($this->data['optimization_table']) && '' != $this->data['optimization_table']) {
38
  $table = $this->optimizer->get_table($this->data['optimization_table']);
39
 
40
- $this->optimize_table($table, $force);
41
  } else {
42
  $tables = $this->optimizer->get_tables();
43
 
37
  if (isset($this->data['optimization_table']) && '' != $this->data['optimization_table']) {
38
  $table = $this->optimizer->get_table($this->data['optimization_table']);
39
 
40
+ if (false !== $table) $this->optimize_table($table, $force);
41
  } else {
42
  $tables = $this->optimizer->get_tables();
43
 
optimizations/orphandata.php CHANGED
@@ -6,6 +6,8 @@ class WP_Optimization_orphandata extends WP_Optimization {
6
 
7
  public $ui_sort_order = 10000;
8
 
 
 
9
  public $support_preview = false;
10
 
11
  /**
6
 
7
  public $ui_sort_order = 10000;
8
 
9
+ public $available_for_saving = true;
10
+
11
  public $support_preview = false;
12
 
13
  /**
optimizations/orphanedtables.php CHANGED
@@ -29,7 +29,7 @@ class WP_Optimization_orphanedtables extends WP_Optimization {
29
  if (isset($this->data['optimization_table']) && '' != $this->data['optimization_table']) {
30
  $table = $this->optimizer->get_table($this->data['optimization_table']);
31
 
32
- $result = $this->delete_table($table);
33
 
34
  $this->register_meta('success', $result);
35
  } else {
29
  if (isset($this->data['optimization_table']) && '' != $this->data['optimization_table']) {
30
  $table = $this->optimizer->get_table($this->data['optimization_table']);
31
 
32
+ $result = (false === $table) ? false : $this->delete_table($table);
33
 
34
  $this->register_meta('success', $result);
35
  } else {
optimizations/pingbacks.php CHANGED
@@ -6,6 +6,8 @@ class WP_Optimization_pingbacks extends WP_Optimization {
6
 
7
  public $ui_sort_order = 6000;
8
 
 
 
9
  /**
10
  * Prepare data for preview widget.
11
  *
6
 
7
  public $ui_sort_order = 6000;
8
 
9
+ public $available_for_saving = true;
10
+
11
  /**
12
  * Prepare data for preview widget.
13
  *
optimizations/postmeta.php CHANGED
@@ -8,6 +8,8 @@ class WP_Optimization_postmeta extends WP_Optimization {
8
 
9
  public $available_for_auto = false;
10
 
 
 
11
  public $auto_default = false;
12
 
13
  /**
8
 
9
  public $available_for_auto = false;
10
 
11
+ public $available_for_saving = true;
12
+
13
  public $auto_default = false;
14
 
15
  /**
optimizations/repairtables.php CHANGED
@@ -31,7 +31,7 @@ class WP_Optimization_repairtables extends WP_Optimization {
31
  if (isset($this->data['optimization_table']) && '' != $this->data['optimization_table']) {
32
  $table = $this->optimizer->get_table($this->data['optimization_table']);
33
 
34
- $result = $this->repair_table($table);
35
 
36
  if ($result) {
37
  $wp_optimize = WP_Optimize();
31
  if (isset($this->data['optimization_table']) && '' != $this->data['optimization_table']) {
32
  $table = $this->optimizer->get_table($this->data['optimization_table']);
33
 
34
+ $result = (false === $table) ? false : $this->repair_table($table);
35
 
36
  if ($result) {
37
  $wp_optimize = WP_Optimize();
optimizations/trackbacks.php CHANGED
@@ -6,6 +6,8 @@ class WP_Optimization_trackbacks extends WP_Optimization {
6
 
7
  public $ui_sort_order = 7000;
8
 
 
 
9
  /**
10
  * Prepare data for preview widget.
11
  *
6
 
7
  public $ui_sort_order = 7000;
8
 
9
+ public $available_for_saving = true;
10
+
11
  /**
12
  * Prepare data for preview widget.
13
  *
optimizations/transient.php CHANGED
@@ -6,6 +6,8 @@ class WP_Optimization_transient extends WP_Optimization {
6
 
7
  public $available_for_auto = true;
8
 
 
 
9
  public $auto_default = false;
10
 
11
  public $ui_sort_order = 5000;
6
 
7
  public $available_for_auto = true;
8
 
9
+ public $available_for_saving = true;
10
+
11
  public $auto_default = false;
12
 
13
  public $ui_sort_order = 5000;
readme.txt CHANGED
@@ -4,7 +4,7 @@ Donate link: https://david.dw-perspective.org.uk/donate
4
  Tags: comments, spam, optimize, database, revisions, users, posts, trash, schedule, automatic, clean, phpmyadmin, meta, postmeta, responsive, mobile
5
  Requires at least: 3.8
6
  Tested up to: 5.0
7
- Stable tag: 2.2.9
8
  License: GPLv2+
9
  License URI: https://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -143,6 +143,14 @@ Please check your database for corrupted tables. That can happen, usually your w
143
 
144
  == Changelog ==
145
 
 
 
 
 
 
 
 
 
146
  = 2.2.9 - 03/Jan/2019 =
147
 
148
  * FIX: Change a newly-introduced fragment that was not compatible with PHP 5.2
@@ -151,6 +159,7 @@ Please check your database for corrupted tables. That can happen, usually your w
151
  = 2.2.7 - 31/December/2018 =
152
 
153
  * RE-FACTOR: Refactoring and reorganisation of the UI
 
154
  * TWEAK: Fix sorting sizes columns in Tables information to take into account textual modifiers
155
  * FIX: MetaSlider images detected as unused
156
  * FIX: Preview for Trashed posts optimization doesn't work
@@ -452,4 +461,4 @@ Please check your database for corrupted tables. That can happen, usually your w
452
  * Fix Interface
453
 
454
  == Upgrade Notice ==
455
- * 2.2.9 : Fix issues when running on PHP 5.2
4
  Tags: comments, spam, optimize, database, revisions, users, posts, trash, schedule, automatic, clean, phpmyadmin, meta, postmeta, responsive, mobile
5
  Requires at least: 3.8
6
  Tested up to: 5.0
7
+ Stable tag: 2.2.10
8
  License: GPLv2+
9
  License URI: https://www.gnu.org/licenses/gpl-2.0.html
10
 
143
 
144
  == Changelog ==
145
 
146
+ = 2.2.10 - 11/Jan/2019 =
147
+
148
+ * FEATURE: Added the ability to download unused images list (Premium version) as a CSV file
149
+ * FIX: Load scripts and styles only on WP-Optimize pages
150
+ * FIX: Fix a possible fatal error due to missing get_plugins() function
151
+ * TWEAK: Remember selected optimizations on Database page
152
+ * TWEAK: Prevent PHP notices when saving settings or optimizing in some circumstances
153
+
154
  = 2.2.9 - 03/Jan/2019 =
155
 
156
  * FIX: Change a newly-introduced fragment that was not compatible with PHP 5.2
159
  = 2.2.7 - 31/December/2018 =
160
 
161
  * RE-FACTOR: Refactoring and reorganisation of the UI
162
+ * TWEAK: Added feature to view unused images as list
163
  * TWEAK: Fix sorting sizes columns in Tables information to take into account textual modifiers
164
  * FIX: MetaSlider images detected as unused
165
  * FIX: Preview for Trashed posts optimization doesn't work
461
  * Fix Interface
462
 
463
  == Upgrade Notice ==
464
+ * 2.2.10 : Fix a few annoyances/errors on some installs. A recommended update for all.
wp-optimize.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: WP-Optimize
4
  Plugin URI: https://getwpo.com
5
  Description: WP-Optimize is WordPress's #1 most installed optimization plugin. With it, you can clean up your database easily and safely, without manual queries.
6
- Version: 2.2.9
7
  Author: David Anderson, Ruhani Rabin, Team Updraft
8
  Author URI: https://updraftplus.com
9
  Text Domain: wp-optimize
@@ -15,7 +15,7 @@ if (!defined('ABSPATH')) die('No direct access allowed');
15
 
16
  // Check to make sure if WP_Optimize is already call and returns.
17
  if (!class_exists('WP_Optimize')) :
18
- define('WPO_VERSION', '2.2.9');
19
  define('WPO_PLUGIN_URL', plugin_dir_url(__FILE__));
20
  define('WPO_PLUGIN_MAIN_PATH', plugin_dir_path(__FILE__));
21
  define('WPO_PREMIUM_NOTIFICATION', false);
@@ -1381,8 +1381,10 @@ class WP_Optimize {
1381
  $loggers_classes_by_id[strtolower($logger_class)] = $logger_class;
1382
  }
1383
 
1384
- $saved_loggers = $this->get_options()->get_option('logging');
1385
- $logger_additional_options = $this->get_options()->get_option('logging-additional');
 
 
1386
 
1387
  // create loggers classes instances.
1388
  if (!empty($saved_loggers)) {
3
  Plugin Name: WP-Optimize
4
  Plugin URI: https://getwpo.com
5
  Description: WP-Optimize is WordPress's #1 most installed optimization plugin. With it, you can clean up your database easily and safely, without manual queries.
6
+ Version: 2.2.10
7
  Author: David Anderson, Ruhani Rabin, Team Updraft
8
  Author URI: https://updraftplus.com
9
  Text Domain: wp-optimize
15
 
16
  // Check to make sure if WP_Optimize is already call and returns.
17
  if (!class_exists('WP_Optimize')) :
18
+ define('WPO_VERSION', '2.2.10');
19
  define('WPO_PLUGIN_URL', plugin_dir_url(__FILE__));
20
  define('WPO_PLUGIN_MAIN_PATH', plugin_dir_path(__FILE__));
21
  define('WPO_PREMIUM_NOTIFICATION', false);
1381
  $loggers_classes_by_id[strtolower($logger_class)] = $logger_class;
1382
  }
1383
 
1384
+ $options = $this->get_options();
1385
+
1386
+ $saved_loggers = $options->get_option('logging');
1387
+ $logger_additional_options = $options->get_option('logging-additional');
1388
 
1389
  // create loggers classes instances.
1390
  if (!empty($saved_loggers)) {