Completed
Push — master ( 935035...471c26 )
by frank
01:56
created
classes/autoptimizeCriticalCSSSettings.php 1 patch
Spacing   +113 added lines, -113 removed lines patch added patch discarded remove patch
@@ -3,7 +3,7 @@  discard block
 block discarded – undo
3 3
  * Critical CSS Options page.
4 4
  */
5 5
 
6
-if ( ! defined( 'ABSPATH' ) ) {
6
+if (!defined('ABSPATH')) {
7 7
     exit;
8 8
 }
9 9
 
@@ -17,34 +17,34 @@  discard block
 block discarded – undo
17 17
 
18 18
     public function __construct()
19 19
     {
20
-        $this->settings_screen_do_remote_http = apply_filters( 'autoptimize_settingsscreen_remotehttp', $this->settings_screen_do_remote_http );
20
+        $this->settings_screen_do_remote_http = apply_filters('autoptimize_settingsscreen_remotehttp', $this->settings_screen_do_remote_http);
21 21
         $this->run();
22 22
     }
23 23
 
24 24
     protected function enabled()
25 25
     {
26
-        return apply_filters( 'autoptimize_filter_show_criticalcss_tabs', true );
26
+        return apply_filters('autoptimize_filter_show_criticalcss_tabs', true);
27 27
     }
28 28
 
29 29
     public function run()
30 30
     {
31
-        if ( $this->enabled() ) {
32
-            add_filter( 'autoptimize_filter_settingsscreen_tabs', array( $this, 'add_critcss_tabs' ), 10, 1 );
33
-            add_action( 'admin_enqueue_scripts', array( $this, 'admin_assets' ) );
31
+        if ($this->enabled()) {
32
+            add_filter('autoptimize_filter_settingsscreen_tabs', array($this, 'add_critcss_tabs'), 10, 1);
33
+            add_action('admin_enqueue_scripts', array($this, 'admin_assets'));
34 34
 
35
-            if ( $this->is_multisite_network_admin() && autoptimizeOptionWrapper::is_ao_active_for_network() ) {
36
-                add_action( 'network_admin_menu', array( $this, 'add_critcss_admin_menu' ) );
35
+            if ($this->is_multisite_network_admin() && autoptimizeOptionWrapper::is_ao_active_for_network()) {
36
+                add_action('network_admin_menu', array($this, 'add_critcss_admin_menu'));
37 37
             } else {
38
-                add_action( 'admin_menu', array( $this, 'add_critcss_admin_menu' ) );
38
+                add_action('admin_menu', array($this, 'add_critcss_admin_menu'));
39 39
             }
40 40
 
41 41
             $criticalcss_ajax = new autoptimizeCriticalCSSSettingsAjax();
42 42
         }
43 43
     }
44 44
 
45
-    public function add_critcss_tabs( $in )
45
+    public function add_critcss_tabs($in)
46 46
     {
47
-        $in = array_merge( $in, array( 'ao_critcss' => '⚡ ' . __( 'Critical CSS', 'autoptimize' ) ) );
47
+        $in = array_merge($in, array('ao_critcss' => '⚡ '.__('Critical CSS', 'autoptimize')));
48 48
 
49 49
         return $in;
50 50
     }
@@ -52,66 +52,66 @@  discard block
 block discarded – undo
52 52
     public function add_critcss_admin_menu()
53 53
     {
54 54
         // Register settings.
55
-        register_setting( 'ao_ccss_options_group', 'autoptimize_css_defer_inline' );
56
-        register_setting( 'ao_ccss_options_group', 'autoptimize_ccss_rules' );
57
-        register_setting( 'ao_ccss_options_group', 'autoptimize_ccss_additional' );
58
-        register_setting( 'ao_ccss_options_group', 'autoptimize_ccss_queue' );
59
-        register_setting( 'ao_ccss_options_group', 'autoptimize_ccss_viewport' );
60
-        register_setting( 'ao_ccss_options_group', 'autoptimize_ccss_finclude' );
61
-        register_setting( 'ao_ccss_options_group', 'autoptimize_ccss_rtimelimit' );
62
-        register_setting( 'ao_ccss_options_group', 'autoptimize_ccss_noptimize' );
63
-        register_setting( 'ao_ccss_options_group', 'autoptimize_ccss_debug' );
64
-        register_setting( 'ao_ccss_options_group', 'autoptimize_ccss_key' );
65
-        register_setting( 'ao_ccss_options_group', 'autoptimize_ccss_keyst' );
66
-        register_setting( 'ao_ccss_options_group', 'autoptimize_ccss_loggedin' );
67
-        register_setting( 'ao_ccss_options_group', 'autoptimize_ccss_forcepath' );
68
-        register_setting( 'ao_ccss_options_group', 'autoptimize_ccss_deferjquery' );
69
-        register_setting( 'ao_ccss_options_group', 'autoptimize_ccss_domain' );
70
-        register_setting( 'ao_ccss_options_group', 'autoptimize_ccss_unloadccss' );
55
+        register_setting('ao_ccss_options_group', 'autoptimize_css_defer_inline');
56
+        register_setting('ao_ccss_options_group', 'autoptimize_ccss_rules');
57
+        register_setting('ao_ccss_options_group', 'autoptimize_ccss_additional');
58
+        register_setting('ao_ccss_options_group', 'autoptimize_ccss_queue');
59
+        register_setting('ao_ccss_options_group', 'autoptimize_ccss_viewport');
60
+        register_setting('ao_ccss_options_group', 'autoptimize_ccss_finclude');
61
+        register_setting('ao_ccss_options_group', 'autoptimize_ccss_rtimelimit');
62
+        register_setting('ao_ccss_options_group', 'autoptimize_ccss_noptimize');
63
+        register_setting('ao_ccss_options_group', 'autoptimize_ccss_debug');
64
+        register_setting('ao_ccss_options_group', 'autoptimize_ccss_key');
65
+        register_setting('ao_ccss_options_group', 'autoptimize_ccss_keyst');
66
+        register_setting('ao_ccss_options_group', 'autoptimize_ccss_loggedin');
67
+        register_setting('ao_ccss_options_group', 'autoptimize_ccss_forcepath');
68
+        register_setting('ao_ccss_options_group', 'autoptimize_ccss_deferjquery');
69
+        register_setting('ao_ccss_options_group', 'autoptimize_ccss_domain');
70
+        register_setting('ao_ccss_options_group', 'autoptimize_ccss_unloadccss');
71 71
 
72 72
         // And add submenu-page.
73
-        add_submenu_page( null, 'Critical CSS', 'Critical CSS', 'manage_options', 'ao_critcss', array( $this, 'ao_criticalcsssettings_page' ) );
73
+        add_submenu_page(null, 'Critical CSS', 'Critical CSS', 'manage_options', 'ao_critcss', array($this, 'ao_criticalcsssettings_page'));
74 74
     }
75 75
 
76
-    public function admin_assets( $hook ) {
76
+    public function admin_assets($hook) {
77 77
         // Return if plugin is not hooked.
78
-        if ( 'settings_page_ao_critcss' != $hook && 'admin_page_ao_critcss' != $hook ) {
78
+        if ('settings_page_ao_critcss' != $hook && 'admin_page_ao_critcss' != $hook) {
79 79
             return;
80 80
         }
81 81
 
82 82
         // Stylesheets to add.
83
-        wp_enqueue_style( 'wp-jquery-ui-dialog' );
84
-        wp_enqueue_style( 'ao-tablesorter', plugins_url( 'critcss-inc/css/ao-tablesorter/style.css', __FILE__ ) );
85
-        wp_enqueue_style( 'ao-ccss-admin-css', plugins_url( 'critcss-inc/css/admin_styles.css', __FILE__ ) );
83
+        wp_enqueue_style('wp-jquery-ui-dialog');
84
+        wp_enqueue_style('ao-tablesorter', plugins_url('critcss-inc/css/ao-tablesorter/style.css', __FILE__));
85
+        wp_enqueue_style('ao-ccss-admin-css', plugins_url('critcss-inc/css/admin_styles.css', __FILE__));
86 86
 
87 87
         // Scripts to add.
88
-        wp_enqueue_script( 'jquery-ui-dialog', array( 'jquery' ) );
89
-        wp_enqueue_script( 'md5', plugins_url( 'critcss-inc/js/md5.min.js', __FILE__ ), null, null, true );
90
-        wp_enqueue_script( 'tablesorter', plugins_url( 'critcss-inc/js/jquery.tablesorter.min.js', __FILE__ ), array( 'jquery' ), null, true );
91
-        wp_enqueue_script( 'ao-ccss-admin-license', plugins_url( 'critcss-inc/js/admin_settings.js', __FILE__ ), array( 'jquery' ), null, true );
88
+        wp_enqueue_script('jquery-ui-dialog', array('jquery'));
89
+        wp_enqueue_script('md5', plugins_url('critcss-inc/js/md5.min.js', __FILE__), null, null, true);
90
+        wp_enqueue_script('tablesorter', plugins_url('critcss-inc/js/jquery.tablesorter.min.js', __FILE__), array('jquery'), null, true);
91
+        wp_enqueue_script('ao-ccss-admin-license', plugins_url('critcss-inc/js/admin_settings.js', __FILE__), array('jquery'), null, true);
92 92
     }
93 93
 
94 94
     public function ao_criticalcsssettings_page()
95 95
     {
96 96
         // these are not OO yet, simply require for now.
97
-        require_once( 'critcss-inc/admin_settings_rules.php' );
98
-        require_once( 'critcss-inc/admin_settings_queue.php' );
99
-        require_once( 'critcss-inc/admin_settings_key.php' );
100
-        require_once( 'critcss-inc/admin_settings_adv.php' );
101
-        require_once( 'critcss-inc/admin_settings_explain.php' );
97
+        require_once('critcss-inc/admin_settings_rules.php');
98
+        require_once('critcss-inc/admin_settings_queue.php');
99
+        require_once('critcss-inc/admin_settings_key.php');
100
+        require_once('critcss-inc/admin_settings_adv.php');
101
+        require_once('critcss-inc/admin_settings_explain.php');
102 102
 
103 103
         // fetch all options at once and populate them individually explicitely as globals.
104 104
         $all_options = autoptimizeCriticalCSSBase::fetch_options();
105
-        foreach ( $all_options as $_option => $_value ) {
105
+        foreach ($all_options as $_option => $_value) {
106 106
             global ${$_option};
107 107
             ${$_option} = $_value;
108 108
         }
109 109
         ?>
110
-        <script>document.title = "Autoptimize: <?php _e( 'Critical CSS', 'autoptimize' ); ?> " + document.title;</script>
110
+        <script>document.title = "Autoptimize: <?php _e('Critical CSS', 'autoptimize'); ?> " + document.title;</script>
111 111
         <div class="wrap">
112 112
             <div id="autoptimize_main">
113 113
                 <div id="ao_title_and_button">
114
-                    <h1><?php _e( 'Autoptimize Settings', 'autoptimize' ); ?></h1>
114
+                    <h1><?php _e('Autoptimize Settings', 'autoptimize'); ?></h1>
115 115
                 </div>
116 116
 
117 117
                 <?php
@@ -119,39 +119,39 @@  discard block
 block discarded – undo
119 119
                 echo autoptimizeConfig::ao_admin_tabs();
120 120
 
121 121
                 // Make sure dir to write ao_ccss exists and is writable.
122
-                if ( ! is_dir( AO_CCSS_DIR ) ) {
123
-                    $mkdirresp = @mkdir( AO_CCSS_DIR, 0775, true ); // @codingStandardsIgnoreLine
122
+                if (!is_dir(AO_CCSS_DIR)) {
123
+                    $mkdirresp = @mkdir(AO_CCSS_DIR, 0775, true); // @codingStandardsIgnoreLine
124 124
                 } else {
125 125
                     $mkdirresp = true;
126 126
                 }
127 127
 
128 128
                 // Make sure our index.html is there.
129
-                if ( ! is_file( AO_CCSS_DIR . 'index.html' ) ) {
130
-                    $fileresp = file_put_contents( AO_CCSS_DIR . 'index.html', '<html><head><meta name="robots" content="noindex, nofollow"></head><body>Generated by <a href="http://wordpress.org/extend/plugins/autoptimize/" rel="nofollow">Autoptimize</a></body></html>' );
129
+                if (!is_file(AO_CCSS_DIR.'index.html')) {
130
+                    $fileresp = file_put_contents(AO_CCSS_DIR.'index.html', '<html><head><meta name="robots" content="noindex, nofollow"></head><body>Generated by <a href="http://wordpress.org/extend/plugins/autoptimize/" rel="nofollow">Autoptimize</a></body></html>');
131 131
                 } else {
132 132
                     $fileresp = true;
133 133
                 }
134 134
 
135 135
                 // Warn if we could not create those files.
136
-                if ( ( ! $mkdirresp ) || ( ! $fileresp ) ) {
136
+                if ((!$mkdirresp) || (!$fileresp)) {
137 137
                     ?>
138 138
                     <div class="notice-error notice"><p>
139 139
                     <?php
140
-                    _e( 'Could not create the required directory. Make sure the webserver can write to the wp-content directory.', 'autoptimize' );
140
+                    _e('Could not create the required directory. Make sure the webserver can write to the wp-content directory.', 'autoptimize');
141 141
                     ?>
142 142
                     </p></div>
143 143
                     <?php
144 144
                 }
145 145
 
146 146
                 // Check for "inline & defer CSS" being active in Autoptimize.
147
-                if ( ! empty( $ao_ccss_key ) && ! $ao_css_defer ) {
148
-                    if ( empty( $ao_ccss_keyst ) ) {
147
+                if (!empty($ao_ccss_key) && !$ao_css_defer) {
148
+                    if (empty($ao_ccss_keyst)) {
149 149
                         // no keystate so likely in activation-process of CCSS, let's enable "inline & defer CSS" immediately to make things easier!
150
-                        autoptimizeOptionWrapper::update_option( 'autoptimize_css_defer', 'on' );
150
+                        autoptimizeOptionWrapper::update_option('autoptimize_css_defer', 'on');
151 151
                         ?>
152 152
                         <div class="notice-info notice"><p>
153 153
                         <?php
154
-                        _e( "The \"Inline and Defer CSS\" option was activated to allow critical CSS to be used.", 'autoptimize' );
154
+                        _e("The \"Inline and Defer CSS\" option was activated to allow critical CSS to be used.", 'autoptimize');
155 155
                         ?>
156 156
                         </p></div>
157 157
                         <?php
@@ -160,7 +160,7 @@  discard block
 block discarded – undo
160 160
                         ?>
161 161
                         <div class="notice-warning notice"><p>
162 162
                         <?php
163
-                        _e( "Oops! Please <strong>activate the \"Inline and Defer CSS\" option</strong> on Autoptimize's main settings page to ensure critical CSS is used on the front-end.", 'autoptimize' );
163
+                        _e("Oops! Please <strong>activate the \"Inline and Defer CSS\" option</strong> on Autoptimize's main settings page to ensure critical CSS is used on the front-end.", 'autoptimize');
164 164
                         ?>
165 165
                         </p></div>
166 166
                         <?php
@@ -168,11 +168,11 @@  discard block
 block discarded – undo
168 168
                 }
169 169
 
170 170
                 // check if WordPress cron is disabled and warn if so.
171
-                if ( ! empty( $ao_ccss_key ) && defined( 'DISABLE_WP_CRON' ) && DISABLE_WP_CRON && PAnD::is_admin_notice_active( 'i-know-about-disable-cron-forever' ) ) {
171
+                if (!empty($ao_ccss_key) && defined('DISABLE_WP_CRON') && DISABLE_WP_CRON && PAnD::is_admin_notice_active('i-know-about-disable-cron-forever')) {
172 172
                     ?>
173 173
                     <div data-dismissible="i-know-about-disable-cron-forever" class="notice-warning notice is-dismissible"><p>
174 174
                     <?php
175
-                    _e( 'WordPress cron (for task scheduling) seems to be disabled. Have a look at <a href="https://wordpress.org/plugins/autoptimize-criticalcss/faq/" target="_blank">the FAQ</a> or the info in the Job Queue instructions if all jobs remain in "N" status and no rules are created.', 'autoptimize' );
175
+                    _e('WordPress cron (for task scheduling) seems to be disabled. Have a look at <a href="https://wordpress.org/plugins/autoptimize-criticalcss/faq/" target="_blank">the FAQ</a> or the info in the Job Queue instructions if all jobs remain in "N" status and no rules are created.', 'autoptimize');
176 176
                     ?>
177 177
                     </p></div>
178 178
                     <?php
@@ -180,24 +180,24 @@  discard block
 block discarded – undo
180 180
 
181 181
                 // warn if it looks as though the queue processing job looks isn't running
182 182
                 // but store result in transient as to not to have to go through 2 arrays each and every time.
183
-                $_warn_cron = get_transient( 'ao_ccss_cronwarning' );
184
-                if ( ! empty( $ao_ccss_key ) && false === $_warn_cron ) {
183
+                $_warn_cron = get_transient('ao_ccss_cronwarning');
184
+                if (!empty($ao_ccss_key) && false === $_warn_cron) {
185 185
                     $_jobs_all_new         = true;
186
-                    $_oldest_job_timestamp = microtime( true ); // now.
186
+                    $_oldest_job_timestamp = microtime(true); // now.
187 187
                     $_jobs_too_old         = true;
188 188
 
189 189
                     // go over queue array.
190
-                    if ( empty( $ao_ccss_queue ) ) {
190
+                    if (empty($ao_ccss_queue)) {
191 191
                         // no jobs, then no warning.
192 192
                         $_jobs_all_new = false;
193 193
                     } else {
194
-                        foreach ( $ao_ccss_queue as $job ) {
195
-                            if ( $job['jctime'] < $_oldest_job_timestamp ) {
194
+                        foreach ($ao_ccss_queue as $job) {
195
+                            if ($job['jctime'] < $_oldest_job_timestamp) {
196 196
                                 // we need to catch the oldest job's timestamp.
197 197
                                 $_oldest_job_timestamp = $job['jctime'];
198 198
                             }
199 199
 
200
-                            if ( 'NEW' !== $job['jqstat'] && 'firstrun' !== $job['ljid'] ) {
200
+                            if ('NEW' !== $job['jqstat'] && 'firstrun' !== $job['ljid']) {
201 201
                                 // we have a non-"NEW" job which is not our pending firstrun job either, break the loop.
202 202
                                 $_jobs_all_new = false;
203 203
                                 break;
@@ -206,11 +206,11 @@  discard block
 block discarded – undo
206 206
                     }
207 207
 
208 208
                     // is the oldest job too old (4h)?
209
-                    if ( $_oldest_job_timestamp > microtime( true ) - 60 * 60 * 4 ) {
209
+                    if ($_oldest_job_timestamp > microtime(true) - 60*60*4) {
210 210
                         $_jobs_too_old = false;
211 211
                     }
212 212
 
213
-                    if ( $_jobs_all_new && ! $this->ao_ccss_has_autorules() && $_jobs_too_old ) {
213
+                    if ($_jobs_all_new && !$this->ao_ccss_has_autorules() && $_jobs_too_old) {
214 214
                         $_warn_cron            = 'on';
215 215
                         $_transient_multiplier = 1; // store for 1 hour.
216 216
                     } else {
@@ -218,35 +218,35 @@  discard block
 block discarded – undo
218 218
                         $_transient_multiplier = 4; // store for 4 hours.
219 219
                     }
220 220
                     // and set transient.
221
-                    set_transient( 'ao_ccss_cronwarning', $_warn_cron, $_transient_multiplier * HOUR_IN_SECONDS );
221
+                    set_transient('ao_ccss_cronwarning', $_warn_cron, $_transient_multiplier*HOUR_IN_SECONDS);
222 222
                 }
223 223
 
224
-                if ( ! empty( $ao_ccss_key ) && 'on' == $_warn_cron && PAnD::is_admin_notice_active( 'i-know-about-cron-1' ) ) {
224
+                if (!empty($ao_ccss_key) && 'on' == $_warn_cron && PAnD::is_admin_notice_active('i-know-about-cron-1')) {
225 225
                     ?>
226 226
                     <div data-dismissible="i-know-about-cron-1" class="notice-warning notice is-dismissible"><p>
227 227
                     <?php
228
-                    _e( 'It looks like there might be a problem with WordPress cron (task scheduling). Have a look at <a href="https://wordpress.org/plugins/autoptimize-criticalcss/faq/" target="_blank">the FAQ</a> or the info in the Job Queue instructions if all jobs remain in "N" status and no rules are created.', 'autoptimize' );
228
+                    _e('It looks like there might be a problem with WordPress cron (task scheduling). Have a look at <a href="https://wordpress.org/plugins/autoptimize-criticalcss/faq/" target="_blank">the FAQ</a> or the info in the Job Queue instructions if all jobs remain in "N" status and no rules are created.', 'autoptimize');
229 229
                     ?>
230 230
                     </p></div>
231 231
                     <?php
232
-                } elseif ( ! empty( $ao_ccss_key ) && '2' == $ao_ccss_keyst && 'on' != $_warn_cron && ! $this->ao_ccss_has_autorules() ) {
232
+                } elseif (!empty($ao_ccss_key) && '2' == $ao_ccss_keyst && 'on' != $_warn_cron && !$this->ao_ccss_has_autorules()) {
233 233
                     ?>
234 234
                     <div class="notice-success notice"><p>
235 235
                     <?php
236
-                    _e( 'Great, Autoptimize will now automatically start creating new critical CSS rules, you should see those appearing below in the next couple of hours.', 'autoptimize' );
236
+                    _e('Great, Autoptimize will now automatically start creating new critical CSS rules, you should see those appearing below in the next couple of hours.', 'autoptimize');
237 237
                     echo ' ';
238
-                    _e( 'In the meantime you might want to <strong>edit default rule CSS now</strong>, to avoid all CSS being inlined when no (applicable) rules are found.', 'autoptimize' );
238
+                    _e('In the meantime you might want to <strong>edit default rule CSS now</strong>, to avoid all CSS being inlined when no (applicable) rules are found.', 'autoptimize');
239 239
                     ?>
240 240
                     </p></div>
241 241
                     <?php
242 242
                 }
243 243
 
244 244
                 // warn if service is down.
245
-                if ( ! empty( $ao_ccss_key ) && ! empty( $ao_ccss_servicestatus ) && is_array( $ao_ccss_servicestatus ) && 'down' === $ao_ccss_servicestatus['critcss']['status'] ) {
245
+                if (!empty($ao_ccss_key) && !empty($ao_ccss_servicestatus) && is_array($ao_ccss_servicestatus) && 'down' === $ao_ccss_servicestatus['critcss']['status']) {
246 246
                     ?>
247 247
                     <div class="notice-warning notice"><p>
248 248
                     <?php
249
-                    _e( 'The critical CSS service has been reported to be down. Although no new rules will be created for now, this does not prevent existing rules from being applied.', 'autoptimize' );
249
+                    _e('The critical CSS service has been reported to be down. Although no new rules will be created for now, this does not prevent existing rules from being applied.', 'autoptimize');
250 250
                     ?>
251 251
                     </p></div>
252 252
                     <?php
@@ -254,12 +254,12 @@  discard block
 block discarded – undo
254 254
 
255 255
                 // warn if too many rules (based on length of ao_ccss_rules option) as that might cause issues at e.g. wpengine
256 256
                 // see https://wpengine.com/support/database-optimization-best-practices/#Autoloaded_Data
257
-                $_raw_rules_length = strlen( get_option( 'autoptimize_ccss_rules', '') );
258
-                if ( $_raw_rules_length > apply_filters( 'autoptimize_ccss_rules_length_warning', 500000 ) ) {
257
+                $_raw_rules_length = strlen(get_option('autoptimize_ccss_rules', ''));
258
+                if ($_raw_rules_length > apply_filters('autoptimize_ccss_rules_length_warning', 500000)) {
259 259
                     ?>
260 260
                     <div class="notice-warning notice"><p>
261 261
                     <?php
262
-                    _e( 'It looks like the amount of Critical CSS rules is very high, it is recommended to reconfigure Autoptimize (e.g. by manually creating broader rules) to ensure less rules are created.', 'autoptimize' );
262
+                    _e('It looks like the amount of Critical CSS rules is very high, it is recommended to reconfigure Autoptimize (e.g. by manually creating broader rules) to ensure less rules are created.', 'autoptimize');
263 263
                     ?>
264 264
                     </p></div>
265 265
                     <?php
@@ -269,24 +269,24 @@  discard block
 block discarded – undo
269 269
                 ?>
270 270
                 <form id="settings" method="post" action="options.php">
271 271
                     <?php
272
-                    settings_fields( 'ao_ccss_options_group' );
272
+                    settings_fields('ao_ccss_options_group');
273 273
 
274 274
                     // Get API key status.
275
-                    $key = autoptimizeCriticalCSSCore::ao_ccss_key_status( true );
275
+                    $key = autoptimizeCriticalCSSCore::ao_ccss_key_status(true);
276 276
 
277
-                    if ( $this->is_multisite_network_admin() ) {
277
+                    if ($this->is_multisite_network_admin()) {
278 278
                         ?>
279 279
                         <ul id="key-panel">
280 280
                             <li class="itemDetail">
281 281
                             <?php
282 282
                                 // translators: the placesholder is for a line of code in wp-config.php.
283
-                                echo sprintf( __( '<p>Critical CSS settings cannot be set at network level as critical CSS is specific to each sub-site.</p><p>You can however provide the critical CSS API key for use by all sites by adding this your wp-config.php as %s</p>', 'autoptimize' ), '<br/><code>define(\'AUTOPTIMIZE_CRITICALCSS_API_KEY\', \'eyJhbGmorestringsherexHa7MkOQFtDFkZgLmBLe-LpcHx4\');</code>' );
283
+                                echo sprintf(__('<p>Critical CSS settings cannot be set at network level as critical CSS is specific to each sub-site.</p><p>You can however provide the critical CSS API key for use by all sites by adding this your wp-config.php as %s</p>', 'autoptimize'), '<br/><code>define(\'AUTOPTIMIZE_CRITICALCSS_API_KEY\', \'eyJhbGmorestringsherexHa7MkOQFtDFkZgLmBLe-LpcHx4\');</code>');
284 284
                             ?>
285 285
                             </li>
286 286
                         </ul>
287 287
                         <?php
288 288
                     } else {
289
-                        if ( 'valid' == $key['status'] ) {
289
+                        if ('valid' == $key['status']) {
290 290
                             // If key status is valid, render other panels.
291 291
                             // Render rules section.
292 292
                             ao_ccss_render_rules();
@@ -303,23 +303,23 @@  discard block
 block discarded – undo
303 303
                             $viewport = autoptimizeCriticalCSSCore::ao_ccss_viewport();
304 304
 
305 305
                             // Add hidden fields.
306
-                            echo "<input class='hidden' name='autoptimize_ccss_rules' value='" . $ao_ccss_rules_raw . "'>";
307
-                            echo "<input class='hidden' name='autoptimize_ccss_queue' value='" . $ao_ccss_queue_raw . "'>";
308
-                            echo '<input class="hidden" name="autoptimize_ccss_viewport[w]" value="' . $viewport['w'] . '">';
309
-                            echo '<input class="hidden" name="autoptimize_ccss_viewport[h]" value="' . $viewport['h'] . '">';
310
-                            echo '<input class="hidden" name="autoptimize_ccss_finclude" value="' . $ao_ccss_finclude . '">';
311
-                            echo '<input class="hidden" name="autoptimize_ccss_rtimelimit" value="' . $ao_ccss_rtimelimit . '">';
312
-                            echo '<input class="hidden" name="autoptimize_ccss_debug" value="' . $ao_ccss_debug . '">';
313
-                            echo '<input class="hidden" name="autoptimize_ccss_noptimize" value="' . $ao_ccss_noptimize . '">';
314
-                            echo '<input class="hidden" name="autoptimize_css_defer_inline" value="' . esc_attr( $ao_css_defer_inline ) . '">';
315
-                            echo '<input class="hidden" name="autoptimize_ccss_loggedin" value="' . $ao_ccss_loggedin . '">';
316
-                            echo '<input class="hidden" name="autoptimize_ccss_forcepath" value="' . $ao_ccss_forcepath . '">';
306
+                            echo "<input class='hidden' name='autoptimize_ccss_rules' value='".$ao_ccss_rules_raw."'>";
307
+                            echo "<input class='hidden' name='autoptimize_ccss_queue' value='".$ao_ccss_queue_raw."'>";
308
+                            echo '<input class="hidden" name="autoptimize_ccss_viewport[w]" value="'.$viewport['w'].'">';
309
+                            echo '<input class="hidden" name="autoptimize_ccss_viewport[h]" value="'.$viewport['h'].'">';
310
+                            echo '<input class="hidden" name="autoptimize_ccss_finclude" value="'.$ao_ccss_finclude.'">';
311
+                            echo '<input class="hidden" name="autoptimize_ccss_rtimelimit" value="'.$ao_ccss_rtimelimit.'">';
312
+                            echo '<input class="hidden" name="autoptimize_ccss_debug" value="'.$ao_ccss_debug.'">';
313
+                            echo '<input class="hidden" name="autoptimize_ccss_noptimize" value="'.$ao_ccss_noptimize.'">';
314
+                            echo '<input class="hidden" name="autoptimize_css_defer_inline" value="'.esc_attr($ao_css_defer_inline).'">';
315
+                            echo '<input class="hidden" name="autoptimize_ccss_loggedin" value="'.$ao_ccss_loggedin.'">';
316
+                            echo '<input class="hidden" name="autoptimize_ccss_forcepath" value="'.$ao_ccss_forcepath.'">';
317 317
                         }
318 318
                         // Render key panel unconditionally.
319
-                        ao_ccss_render_key( $ao_ccss_key, $key['status'], $key['stmsg'], $key['msg'], $key['color'] );
319
+                        ao_ccss_render_key($ao_ccss_key, $key['status'], $key['stmsg'], $key['msg'], $key['color']);
320 320
                         ?>
321 321
                         <p class="submit left">
322
-                            <input type="submit" class="button-primary" value="<?php _e( 'Save Changes', 'autoptimize' ); ?>" />
322
+                            <input type="submit" class="button-primary" value="<?php _e('Save Changes', 'autoptimize'); ?>" />
323 323
                         </p>
324 324
                         <?php
325 325
                     }
@@ -337,31 +337,31 @@  discard block
 block discarded – undo
337 337
                     });
338 338
                 }
339 339
                 </script>
340
-                <form id="importSettingsForm"<?php if ( $this->is_multisite_network_admin() ) { echo ' class="hidden"'; } ?>>
341
-                    <span id="exportSettings" class="button-secondary"><?php _e( 'Export Settings', 'autoptimize' ); ?></span>
342
-                    <input class="button-secondary" id="importSettings" type="button" value="<?php _e( 'Import Settings', 'autoptimize' ); ?>" onclick="upload();return false;" />
340
+                <form id="importSettingsForm"<?php if ($this->is_multisite_network_admin()) { echo ' class="hidden"'; } ?>>
341
+                    <span id="exportSettings" class="button-secondary"><?php _e('Export Settings', 'autoptimize'); ?></span>
342
+                    <input class="button-secondary" id="importSettings" type="button" value="<?php _e('Import Settings', 'autoptimize'); ?>" onclick="upload();return false;" />
343 343
                     <input class="button-secondary" id="settingsfile" name="settingsfile" type="file" />
344 344
                 </form>
345 345
                 <div id="importdialog"></div>
346 346
             </div><!-- /#autoptimize_main -->
347 347
         </div><!-- /#wrap -->
348 348
         <?php
349
-        if ( ! $this->is_multisite_network_admin() ) {
349
+        if (!$this->is_multisite_network_admin()) {
350 350
             // Include debug panel if debug mode is enable.
351
-            if ( $ao_ccss_debug ) {
351
+            if ($ao_ccss_debug) {
352 352
             ?>
353 353
                 <div id="debug">
354 354
                     <?php
355 355
                     // Include debug panel.
356
-                    include( 'critcss-inc/admin_settings_debug.php' );
356
+                    include('critcss-inc/admin_settings_debug.php');
357 357
                     ?>
358 358
                 </div><!-- /#debug -->
359 359
             <?php
360 360
             }
361 361
             echo '<script>';
362
-            include( 'critcss-inc/admin_settings_rules.js.php' );
363
-            include( 'critcss-inc/admin_settings_queue.js.php' );
364
-            include( 'critcss-inc/admin_settings_impexp.js.php' );
362
+            include('critcss-inc/admin_settings_rules.js.php');
363
+            include('critcss-inc/admin_settings_queue.js.php');
364
+            include('critcss-inc/admin_settings_impexp.js.php');
365 365
             echo '</script>';
366 366
         }
367 367
     }
@@ -369,19 +369,19 @@  discard block
 block discarded – undo
369 369
     public static function ao_ccss_has_autorules() {
370 370
         static $_has_auto_rules = null;
371 371
 
372
-        if ( null === $_has_auto_rules ) {
372
+        if (null === $_has_auto_rules) {
373 373
             global $ao_ccss_rules;
374 374
             $_has_auto_rules = false;
375
-            if ( ! empty( $ao_ccss_rules ) ) {
376
-                foreach ( array( 'types', 'paths' ) as $_typat ) {
377
-                    foreach ( $ao_ccss_rules[ $_typat ] as $rule ) {
378
-                        if ( ! empty( $rule['hash'] ) ) {
375
+            if (!empty($ao_ccss_rules)) {
376
+                foreach (array('types', 'paths') as $_typat) {
377
+                    foreach ($ao_ccss_rules[$_typat] as $rule) {
378
+                        if (!empty($rule['hash'])) {
379 379
                             // we have at least one AUTO job, so all is fine.
380 380
                             $_has_auto_rules = true;
381 381
                             break;
382 382
                         }
383 383
                     }
384
-                    if ( $_has_auto_rules ) {
384
+                    if ($_has_auto_rules) {
385 385
                         break;
386 386
                     }
387 387
                 }
@@ -394,8 +394,8 @@  discard block
 block discarded – undo
394 394
     public function is_multisite_network_admin() {
395 395
         static $_multisite_network_admin = null;
396 396
 
397
-        if ( null === $_multisite_network_admin ) {
398
-            if ( is_multisite() && is_network_admin() ) {
397
+        if (null === $_multisite_network_admin) {
398
+            if (is_multisite() && is_network_admin()) {
399 399
                 $_multisite_network_admin = true;
400 400
             } else {
401 401
                 $_multisite_network_admin = false;
Please login to merge, or discard this patch.
tests/test-ao.php 1 patch
Spacing   +461 added lines, -461 removed lines patch added patch discarded remove patch
@@ -10,17 +10,17 @@  discard block
 block discarded – undo
10 10
     protected $ao;
11 11
 
12 12
     protected static $flexible_url_parts_js = [
13
-        'default'          => 'wp-content/cache/autoptimize/js/' . AUTOPTIMIZE_CACHEFILE_PREFIX,
14
-        'custom'           => 'wp-content/c/ao/js/' . AUTOPTIMIZE_CACHEFILE_PREFIX,
15
-        'multisite'        => 'wp-content/cache/autoptimize/1/js/' . AUTOPTIMIZE_CACHEFILE_PREFIX,
16
-        'multisite_custom' => 'wp-content/c/ao/1/js/' . AUTOPTIMIZE_CACHEFILE_PREFIX,
13
+        'default'          => 'wp-content/cache/autoptimize/js/'.AUTOPTIMIZE_CACHEFILE_PREFIX,
14
+        'custom'           => 'wp-content/c/ao/js/'.AUTOPTIMIZE_CACHEFILE_PREFIX,
15
+        'multisite'        => 'wp-content/cache/autoptimize/1/js/'.AUTOPTIMIZE_CACHEFILE_PREFIX,
16
+        'multisite_custom' => 'wp-content/c/ao/1/js/'.AUTOPTIMIZE_CACHEFILE_PREFIX,
17 17
     ];
18 18
 
19 19
     protected static $flexible_url_parts_css = [
20
-        'default'          => 'wp-content/cache/autoptimize/css/' . AUTOPTIMIZE_CACHEFILE_PREFIX,
21
-        'custom'           => 'wp-content/c/ao/css/' . AUTOPTIMIZE_CACHEFILE_PREFIX,
22
-        'multisite'        => 'wp-content/cache/autoptimize/1/css/' . AUTOPTIMIZE_CACHEFILE_PREFIX,
23
-        'multisite_custom' => 'wp-content/c/ao/1/css/' . AUTOPTIMIZE_CACHEFILE_PREFIX,
20
+        'default'          => 'wp-content/cache/autoptimize/css/'.AUTOPTIMIZE_CACHEFILE_PREFIX,
21
+        'custom'           => 'wp-content/c/ao/css/'.AUTOPTIMIZE_CACHEFILE_PREFIX,
22
+        'multisite'        => 'wp-content/cache/autoptimize/1/css/'.AUTOPTIMIZE_CACHEFILE_PREFIX,
23
+        'multisite_custom' => 'wp-content/c/ao/1/css/'.AUTOPTIMIZE_CACHEFILE_PREFIX,
24 24
     ];
25 25
 
26 26
     protected function getAoStylesDefaultOptions()
@@ -28,17 +28,17 @@  discard block
 block discarded – undo
28 28
         $conf = autoptimizeConfig::instance();
29 29
 
30 30
         return [
31
-            'aggregate'       => $conf->get( 'autoptimize_css_aggregate' ),
32
-            'justhead'        => $conf->get( 'autoptimize_css_justhead' ),
33
-            'datauris'        => $conf->get( 'autoptimize_css_datauris' ),
34
-            'defer'           => $conf->get( 'autoptimize_css_defer' ),
35
-            'defer_inline'    => $conf->get( 'autoptimize_css_defer_inline' ),
36
-            'inline'          => $conf->get( 'autoptimize_css_inline' ),
37
-            'css_exclude'     => $conf->get( 'autoptimize_css_exclude' ),
38
-            'cdn_url'         => $conf->get( 'autoptimize_cdn_url' ),
39
-            'include_inline'  => $conf->get( 'autoptimize_css_include_inline' ),
40
-            'nogooglefont'    => $conf->get( 'autoptimize_css_nogooglefont' ),
41
-            'minify_excluded' => $conf->get( 'autoptimize_minify_excluded' ),
31
+            'aggregate'       => $conf->get('autoptimize_css_aggregate'),
32
+            'justhead'        => $conf->get('autoptimize_css_justhead'),
33
+            'datauris'        => $conf->get('autoptimize_css_datauris'),
34
+            'defer'           => $conf->get('autoptimize_css_defer'),
35
+            'defer_inline'    => $conf->get('autoptimize_css_defer_inline'),
36
+            'inline'          => $conf->get('autoptimize_css_inline'),
37
+            'css_exclude'     => $conf->get('autoptimize_css_exclude'),
38
+            'cdn_url'         => $conf->get('autoptimize_cdn_url'),
39
+            'include_inline'  => $conf->get('autoptimize_css_include_inline'),
40
+            'nogooglefont'    => $conf->get('autoptimize_css_nogooglefont'),
41
+            'minify_excluded' => $conf->get('autoptimize_minify_excluded'),
42 42
         ];
43 43
     }
44 44
 
@@ -47,15 +47,15 @@  discard block
 block discarded – undo
47 47
         $conf = autoptimizeConfig::instance();
48 48
 
49 49
         return [
50
-            'aggregate'           => $conf->get( 'autoptimize_js_aggregate' ),
51
-            'defer_not_aggregate' => $conf->get( 'autoptimize_js_defer_not_aggregate' ),
52
-            'justhead'            => $conf->get( 'autoptimize_js_justhead' ),
53
-            'forcehead'           => $conf->get( 'autoptimize_js_forcehead' ),
54
-            'trycatch'            => $conf->get( 'autoptimize_js_trycatch' ),
55
-            'js_exclude'          => $conf->get( 'autoptimize_js_exclude' ),
56
-            'cdn_url'             => $conf->get( 'autoptimize_cdn_url' ),
57
-            'include_inline'      => $conf->get( 'autoptimize_js_include_inline' ),
58
-            'minify_excluded'     => $conf->get( 'autoptimize_minify_excluded' ),
50
+            'aggregate'           => $conf->get('autoptimize_js_aggregate'),
51
+            'defer_not_aggregate' => $conf->get('autoptimize_js_defer_not_aggregate'),
52
+            'justhead'            => $conf->get('autoptimize_js_justhead'),
53
+            'forcehead'           => $conf->get('autoptimize_js_forcehead'),
54
+            'trycatch'            => $conf->get('autoptimize_js_trycatch'),
55
+            'js_exclude'          => $conf->get('autoptimize_js_exclude'),
56
+            'cdn_url'             => $conf->get('autoptimize_cdn_url'),
57
+            'include_inline'      => $conf->get('autoptimize_js_include_inline'),
58
+            'minify_excluded'     => $conf->get('autoptimize_minify_excluded'),
59 59
         ];
60 60
     }
61 61
 
@@ -65,35 +65,35 @@  discard block
 block discarded – undo
65 65
     protected function get_urls()
66 66
     {
67 67
         static $site_url = null;
68
-        if ( null === $site_url ) {
68
+        if (null === $site_url) {
69 69
             $site_url = site_url();
70 70
         }
71 71
 
72 72
         static $cdn_url = null;
73
-        if ( null === $cdn_url ) {
74
-            $cdn_url = autoptimizeOptionWrapper::get_option( 'autoptimize_cdn_url' );
73
+        if (null === $cdn_url) {
74
+            $cdn_url = autoptimizeOptionWrapper::get_option('autoptimize_cdn_url');
75 75
         }
76 76
 
77 77
         static $imgopt_host = null;
78
-        if ( null === $imgopt_host ) {
78
+        if (null === $imgopt_host) {
79 79
             $optimizer   = new autoptimizeImages();
80
-            $imgopt_host = rtrim( $optimizer->get_imgopt_host(), '/' );
80
+            $imgopt_host = rtrim($optimizer->get_imgopt_host(), '/');
81 81
         }
82 82
 
83 83
         static $urls = [];
84 84
 
85
-        if ( empty( $urls ) ) {
85
+        if (empty($urls)) {
86 86
             $parts = autoptimizeUtils::get_ao_wp_site_url_parts();
87 87
             $urls  = [
88 88
                 'siteurl'    => $site_url,
89
-                'prsiteurl'  => '//' . str_replace( array( 'http://', 'https://' ), '', $site_url ),
90
-                'wwwsiteurl' => $parts['scheme'] . '://www.' . str_replace( 'www.', '', $parts['host'] ),
89
+                'prsiteurl'  => '//'.str_replace(array('http://', 'https://'), '', $site_url),
90
+                'wwwsiteurl' => $parts['scheme'].'://www.'.str_replace('www.', '', $parts['host']),
91 91
                 'cdnurl'     => $cdn_url,
92 92
                 'imgopthost' => $imgopt_host,
93 93
                 'subfolder'  => '',
94 94
             ];
95 95
 
96
-            if ( AO_TEST_SUBFOLDER_INSTALL ) {
96
+            if (AO_TEST_SUBFOLDER_INSTALL) {
97 97
                 $urls['subfolder'] = 'wordpress/';
98 98
             }
99 99
         }
@@ -106,7 +106,7 @@  discard block
 block discarded – undo
106 106
      */
107 107
     public function setUp()
108 108
     {
109
-        $this->ao = new autoptimizeMain( AUTOPTIMIZE_PLUGIN_VERSION, AUTOPTIMIZE_PLUGIN_FILE );
109
+        $this->ao = new autoptimizeMain(AUTOPTIMIZE_PLUGIN_VERSION, AUTOPTIMIZE_PLUGIN_FILE);
110 110
 
111 111
         parent::setUp();
112 112
     }
@@ -125,8 +125,8 @@  discard block
 block discarded – undo
125 125
             'autoptimize_filter_css_inlinesize',
126 126
             'autoptimize_filter_css_fonts_cdn',
127 127
         );
128
-        foreach ( $filter_tags as $filter_tag ) {
129
-            remove_all_filters( $filter_tag );
128
+        foreach ($filter_tags as $filter_tag) {
129
+            remove_all_filters($filter_tag);
130 130
         }
131 131
 
132 132
         parent::tearDown();
@@ -252,20 +252,20 @@  discard block
 block discarded – undo
252 252
     protected function get_test_markup_output()
253 253
     {
254 254
         $key = 'default';
255
-        if ( defined( 'CUSTOM_CONSTANTS_USED' ) && CUSTOM_CONSTANTS_USED ) {
255
+        if (defined('CUSTOM_CONSTANTS_USED') && CUSTOM_CONSTANTS_USED) {
256 256
             $key = 'custom';
257 257
         }
258 258
 
259
-        $csspart = self::$flexible_url_parts_css[ $key ];
260
-        $jspart  = self::$flexible_url_parts_js[ $key ];
259
+        $csspart = self::$flexible_url_parts_css[$key];
260
+        $jspart  = self::$flexible_url_parts_js[$key];
261 261
 
262 262
         $csshash = '863f587e89f100b0223ddccc0dabc57a';
263
-        if ( AO_TEST_SUBFOLDER_INSTALL ) {
263
+        if (AO_TEST_SUBFOLDER_INSTALL) {
264 264
             $csshash = '56398de576d59887e88e3011715250e0';
265 265
         }
266 266
 
267 267
         $urls      = $this->get_urls();
268
-            $siteurl   = $urls['siteurl'];
268
+            $siteurl = $urls['siteurl'];
269 269
         $cdnurl    = $urls['cdnurl'];
270 270
         $subfolder = $urls['subfolder'];
271 271
 
@@ -321,15 +321,15 @@  discard block
 block discarded – undo
321 321
     protected function get_test_markup_output_ms()
322 322
     {
323 323
         $key = 'multisite';
324
-        if ( defined( 'CUSTOM_CONSTANTS_USED' ) && CUSTOM_CONSTANTS_USED ) {
324
+        if (defined('CUSTOM_CONSTANTS_USED') && CUSTOM_CONSTANTS_USED) {
325 325
             $key = 'multisite_custom';
326 326
         }
327 327
 
328
-        $csspart = self::$flexible_url_parts_css[ $key ];
329
-        $jspart  = self::$flexible_url_parts_js[ $key ];
328
+        $csspart = self::$flexible_url_parts_css[$key];
329
+        $jspart  = self::$flexible_url_parts_js[$key];
330 330
 
331 331
         $csshash = '863f587e89f100b0223ddccc0dabc57a';
332
-        if ( AO_TEST_SUBFOLDER_INSTALL ) {
332
+        if (AO_TEST_SUBFOLDER_INSTALL) {
333 333
             $csshash = '56398de576d59887e88e3011715250e0';
334 334
         }
335 335
 
@@ -390,15 +390,15 @@  discard block
 block discarded – undo
390 390
     protected function get_test_markup_output_inline_defer()
391 391
     {
392 392
         $key = 'default';
393
-        if ( defined( 'CUSTOM_CONSTANTS_USED' ) && CUSTOM_CONSTANTS_USED ) {
393
+        if (defined('CUSTOM_CONSTANTS_USED') && CUSTOM_CONSTANTS_USED) {
394 394
             $key = 'custom';
395 395
         }
396 396
 
397
-        $csspart = self::$flexible_url_parts_css[ $key ];
398
-        $jspart  = self::$flexible_url_parts_js[ $key ];
397
+        $csspart = self::$flexible_url_parts_css[$key];
398
+        $jspart  = self::$flexible_url_parts_js[$key];
399 399
 
400 400
         $csshash = '863f587e89f100b0223ddccc0dabc57a';
401
-        if ( AO_TEST_SUBFOLDER_INSTALL ) {
401
+        if (AO_TEST_SUBFOLDER_INSTALL) {
402 402
             $csshash = '56398de576d59887e88e3011715250e0';
403 403
         }
404 404
 
@@ -459,15 +459,15 @@  discard block
 block discarded – undo
459 459
     protected function get_test_markup_output_inline_defer_ms()
460 460
     {
461 461
         $key = 'multisite';
462
-        if ( defined( 'CUSTOM_CONSTANTS_USED' ) && CUSTOM_CONSTANTS_USED ) {
462
+        if (defined('CUSTOM_CONSTANTS_USED') && CUSTOM_CONSTANTS_USED) {
463 463
             $key = 'multisite_custom';
464 464
         }
465 465
 
466
-        $csspart = self::$flexible_url_parts_css[ $key ];
467
-        $jspart  = self::$flexible_url_parts_js[ $key ];
466
+        $csspart = self::$flexible_url_parts_css[$key];
467
+        $jspart  = self::$flexible_url_parts_js[$key];
468 468
 
469 469
         $csshash = '863f587e89f100b0223ddccc0dabc57a';
470
-        if ( AO_TEST_SUBFOLDER_INSTALL ) {
470
+        if (AO_TEST_SUBFOLDER_INSTALL) {
471 471
             $csshash = '56398de576d59887e88e3011715250e0';
472 472
         }
473 473
 
@@ -528,11 +528,11 @@  discard block
 block discarded – undo
528 528
     /**
529 529
      * @dataProvider provider_test_rewrite_markup_with_cdn
530 530
      */
531
-    function test_rewrite_markup_with_cdn( $input, $expected )
531
+    function test_rewrite_markup_with_cdn($input, $expected)
532 532
     {
533
-        $actual = $this->ao->end_buffering( $input );
533
+        $actual = $this->ao->end_buffering($input);
534 534
 
535
-        $this->assertEquals( $expected, $actual );
535
+        $this->assertEquals($expected, $actual);
536 536
     }
537 537
 
538 538
     public function provider_test_rewrite_markup_with_cdn()
@@ -544,7 +544,7 @@  discard block
 block discarded – undo
544 544
                 $this->get_test_markup(),
545 545
                 // Expected output.
546 546
                 // TODO/FIXME: This seemed like the fastest way to get MS crude test to pass...
547
-                ( is_multisite() ? $this->get_test_markup_output_ms() : $this->get_test_markup_output() ),
547
+                (is_multisite() ? $this->get_test_markup_output_ms() : $this->get_test_markup_output()),
548 548
             ),
549 549
 
550 550
         );
@@ -604,12 +604,12 @@  discard block
 block discarded – undo
604 604
 }
605 605
 CSS;
606 606
 
607
-        $instance = new autoptimizeStyles( $css_in );
608
-        $instance->setOption( 'cdn_url', $cdnurl );
607
+        $instance = new autoptimizeStyles($css_in);
608
+        $instance->setOption('cdn_url', $cdnurl);
609 609
 
610
-        $css_actual = $instance->rewrite_assets( $css_in );
610
+        $css_actual = $instance->rewrite_assets($css_in);
611 611
 
612
-        $this->assertEquals( $css_expected, $css_actual );
612
+        $this->assertEquals($css_expected, $css_actual);
613 613
     }
614 614
 
615 615
     public function test_default_cssmin_minifier()
@@ -643,21 +643,21 @@  discard block
 block discarded – undo
643 643
 .bg{background:url('img/something.svg')}.bg-no-quote{background:url(img/something.svg)}.bg-double-quotes{background:url("img/something.svg")}.whitespaces{background:url ("../../somewhere-else/svg.svg")}.host-relative{background:url("/img/something.svg")}.protocol-relative{background:url("//something/somewhere/example.png")}@font-face{font-family:'Roboto';font-style:normal;font-weight:100;src:url(../fonts/roboto-v15-latin-ext_latin-100.eot);src:local('Roboto Thin'),local('Roboto-Thin'),url(../fonts/roboto-v15-latin-ext_latin-100.eot?#iefix) format('embedded-opentype'),url(../fonts/roboto-v15-latin-ext_latin-100.woff2) format('woff2'),url(../fonts/roboto-v15-latin-ext_latin-100.woff) format('woff'),url(../fonts/roboto-v15-latin-ext_latin-100.ttf) format('truetype'),url(../fonts/roboto-v15-latin-ext_latin-100.svg#Roboto) format('svg')}
644 644
 CSS;
645 645
 
646
-        $instance = new autoptimizeStyles( $css );
647
-        $minified = $instance->run_minifier_on( $css );
646
+        $instance = new autoptimizeStyles($css);
647
+        $minified = $instance->run_minifier_on($css);
648 648
 
649
-        $this->assertEquals( $expected, $minified );
649
+        $this->assertEquals($expected, $minified);
650 650
     }
651 651
 
652 652
     /**
653 653
      * @dataProvider provider_test_should_aggregate_script_types
654 654
      */
655
-    public function test_should_aggregate_script_types( $input, $expected )
655
+    public function test_should_aggregate_script_types($input, $expected)
656 656
     {
657
-        $instance = new autoptimizeScripts( '' );
658
-        $actual   = $instance->should_aggregate( $input );
657
+        $instance = new autoptimizeScripts('');
658
+        $actual   = $instance->should_aggregate($input);
659 659
 
660
-        $this->assertEquals( $expected, $actual );
660
+        $this->assertEquals($expected, $actual);
661 661
     }
662 662
 
663 663
     public function provider_test_should_aggregate_script_types()
@@ -719,11 +719,11 @@  discard block
 block discarded – undo
719 719
     /**
720 720
      * @dataProvider provider_is_valid_buffer
721 721
      */
722
-    public function test_valid_buffers( $input, $expected )
722
+    public function test_valid_buffers($input, $expected)
723 723
     {
724
-        $actual = $this->ao->is_valid_buffer( $input );
724
+        $actual = $this->ao->is_valid_buffer($input);
725 725
 
726
-        $this->assertEquals( $expected, $actual );
726
+        $this->assertEquals($expected, $actual);
727 727
     }
728 728
 
729 729
     public function provider_is_valid_buffer()
@@ -792,11 +792,11 @@  discard block
 block discarded – undo
792 792
     /**
793 793
      * @dataProvider provider_is_amp_markup
794 794
      */
795
-    public function test_autoptimize_is_amp_markup( $input, $expected )
795
+    public function test_autoptimize_is_amp_markup($input, $expected)
796 796
     {
797
-        $actual = autoptimizeMain::is_amp_markup( $input );
797
+        $actual = autoptimizeMain::is_amp_markup($input);
798 798
 
799
-        $this->assertEquals( $expected, $actual );
799
+        $this->assertEquals($expected, $actual);
800 800
     }
801 801
 
802 802
     public function provider_is_amp_markup()
@@ -827,31 +827,31 @@  discard block
 block discarded – undo
827 827
     public function test_skips_buffering_when_ao_noptimize_filter_is_true()
828 828
     {
829 829
         // True => disable autoptimize.
830
-        add_filter( 'autoptimize_filter_noptimize', '__return_true' );
830
+        add_filter('autoptimize_filter_noptimize', '__return_true');
831 831
 
832 832
         // Buffering should not run due to the above filter.
833 833
         $expected = false;
834
-        $actual   = $this->ao->should_buffer( $doing_tests = true );
834
+        $actual   = $this->ao->should_buffer($doing_tests = true);
835 835
 
836
-        $this->assertEquals( $expected, $actual );
836
+        $this->assertEquals($expected, $actual);
837 837
     }
838 838
 
839 839
     public function test_does_buffering_when_ao_noptimize_filter_is_false()
840 840
     {
841 841
         // False => disable noptimize, aka, run normally (weird, yes...).
842
-        add_filter( 'autoptimize_filter_noptimize', '__return_false' );
842
+        add_filter('autoptimize_filter_noptimize', '__return_false');
843 843
 
844 844
         // Buffering should run because of above.
845 845
         $expected = true;
846
-        $actual   = $this->ao->should_buffer( $doing_tests = true );
846
+        $actual   = $this->ao->should_buffer($doing_tests = true);
847 847
 
848
-        $this->assertEquals( $expected, $actual );
848
+        $this->assertEquals($expected, $actual);
849 849
     }
850 850
 
851 851
     public function test_ignores_ao_noptimize_qs_when_instructed()
852 852
     {
853 853
         // Should skip checking for the qs completely due to filter.
854
-        add_filter( 'autoptimize_filter_honor_qs_noptimize', '__return_false' );
854
+        add_filter('autoptimize_filter_honor_qs_noptimize', '__return_false');
855 855
 
856 856
         /**
857 857
          * The above should then result in the "current" value being `false`
@@ -862,23 +862,23 @@  discard block
 block discarded – undo
862 862
          */
863 863
 
864 864
         $that = $this; // Makes it work on php 5.3!
865
-        add_filter( 'autoptimize_filter_noptimize', function ( $current_value ) use ( $that ) {
865
+        add_filter('autoptimize_filter_noptimize', function($current_value) use ($that) {
866 866
             $expected = false;
867
-            if ( defined( 'DONOTMINIFY' ) && DONOTMINIFY ) {
867
+            if (defined('DONOTMINIFY') && DONOTMINIFY) {
868 868
                 $expected = true;
869 869
             }
870 870
 
871
-            $that->assertEquals( $expected, $current_value );
871
+            $that->assertEquals($expected, $current_value);
872 872
         });
873 873
 
874
-        $this->ao->should_buffer( $doing_tests = true );
874
+        $this->ao->should_buffer($doing_tests = true);
875 875
     }
876 876
 
877 877
     public function test_wpengine_cache_flush()
878 878
     {
879 879
         // Creating a mock so that we can get past class_exists() and method_exists() checks present
880 880
         // in `autoptimizeCache::flushPageCache()`...
881
-        $stub = $this->getMockBuilder( 'WpeCommon' )->disableAutoload()
881
+        $stub = $this->getMockBuilder('WpeCommon')->disableAutoload()
882 882
                 ->disableOriginalConstructor()->setMethods(
883 883
                     array(
884 884
                         'purge_varnish_cache',
@@ -887,9 +887,9 @@  discard block
 block discarded – undo
887 887
                 ->getMock();
888 888
 
889 889
         $that = $this;
890
-        add_filter( 'autoptimize_flush_wpengine_methods', function( $methods ) use ( $that ) {
891
-            $expected_methods = array( 'purge_varnish_cache' );
892
-            $that->assertEquals( $methods, $expected_methods );
890
+        add_filter('autoptimize_flush_wpengine_methods', function($methods) use ($that) {
891
+            $expected_methods = array('purge_varnish_cache');
892
+            $that->assertEquals($methods, $expected_methods);
893 893
 
894 894
             return $methods;
895 895
         });
@@ -903,7 +903,7 @@  discard block
 block discarded – undo
903 903
     public function test_wpengine_cache_flush_agressive()
904 904
     {
905 905
         // Creating a mock so that we can get past class_exists() and method_exists() checks `autoptimize_flush_pagecache()`...
906
-        $stub = $this->getMockBuilder( 'WpeCommon' )->disableAutoload()
906
+        $stub = $this->getMockBuilder('WpeCommon')->disableAutoload()
907 907
                 ->disableOriginalConstructor()->setMethods(
908 908
                     array(
909 909
                         'purge_varnish_cache',
@@ -913,19 +913,19 @@  discard block
 block discarded – undo
913 913
                 )
914 914
                 ->getMock();
915 915
 
916
-        add_filter( 'autoptimize_flush_wpengine_aggressive', function() {
916
+        add_filter('autoptimize_flush_wpengine_aggressive', function() {
917 917
             return true;
918 918
         });
919 919
 
920 920
         $that = $this;
921
-        add_filter( 'autoptimize_flush_wpengine_methods', function( $methods ) use ( $that ) {
921
+        add_filter('autoptimize_flush_wpengine_methods', function($methods) use ($that) {
922 922
             $expected_methods = array(
923 923
                 'purge_varnish_cache',
924 924
                 'purge_memcached',
925 925
                 'clear_maxcdn_cache',
926 926
             );
927 927
 
928
-            $that->assertEquals( $methods, $expected_methods );
928
+            $that->assertEquals($methods, $expected_methods);
929 929
 
930 930
             return $methods;
931 931
         });
@@ -936,15 +936,15 @@  discard block
 block discarded – undo
936 936
     /**
937 937
      * @dataProvider provider_test_url_replace_cdn
938 938
      */
939
-    public function test_url_replace_cdn( $cdn_url, $input, $expected )
939
+    public function test_url_replace_cdn($cdn_url, $input, $expected)
940 940
     {
941
-        $mock = $this->getMockBuilder( 'autoptimizeBase' )
941
+        $mock = $this->getMockBuilder('autoptimizeBase')
942 942
                 ->disableOriginalConstructor()
943 943
                 ->getMockForAbstractClass();
944 944
 
945 945
         $mock->cdn_url = $cdn_url;
946
-        $actual        = $mock->url_replace_cdn( $input );
947
-        $this->assertEquals( $expected, $actual );
946
+        $actual        = $mock->url_replace_cdn($input);
947
+        $this->assertEquals($expected, $actual);
948 948
     }
949 949
 
950 950
     public function provider_test_url_replace_cdn()
@@ -961,13 +961,13 @@  discard block
 block discarded – undo
961 961
                 // CDN base url, url, expected result...
962 962
                 'http://cdn-test.example.org',
963 963
                 '/a.jpg',
964
-                'http://cdn-test.example.org/' . $subfolder . 'a.jpg',
964
+                'http://cdn-test.example.org/'.$subfolder.'a.jpg',
965 965
             ),
966 966
             // Full link with a matching AUTOPTIMIZE_WP_SITE_URL gets properly replaced...
967 967
             array(
968 968
                 'http://cdn-test.example.org',
969
-                $siteurl . '/wp-content/themes/something/example.svg',
970
-                'http://cdn-test.example.org/' . $subfolder . 'wp-content/themes/something/example.svg',
969
+                $siteurl.'/wp-content/themes/something/example.svg',
970
+                'http://cdn-test.example.org/'.$subfolder.'wp-content/themes/something/example.svg',
971 971
             ),
972 972
             // Protocol-relative url with a "local" hostname that doesn't match example.org (AUTOPTIMIZE_WP_SITE_URL)...
973 973
             array(
@@ -978,59 +978,59 @@  discard block
 block discarded – undo
978 978
             // www.example.org does not match example.org (AUTOPTIMIZE_WP_SITE_URL) so it's left alone...
979 979
             array(
980 980
                 'http://cdn-test.example.org',
981
-                $wwwsiteurl . '/wp-content/themes/something/example.svg',
982
-                $wwwsiteurl . '/wp-content/themes/something/example.svg',
981
+                $wwwsiteurl.'/wp-content/themes/something/example.svg',
982
+                $wwwsiteurl.'/wp-content/themes/something/example.svg',
983 983
             ),
984 984
             // SSL cdn url + host-relative link...
985 985
             array(
986 986
                 'https://cdn.example.org',
987 987
                 '/a.jpg',
988
-                'https://cdn.example.org/' . $subfolder . 'a.jpg',
988
+                'https://cdn.example.org/'.$subfolder.'a.jpg',
989 989
             ),
990 990
             // SSL cdn url + http site url that matches AUTOPTIMIZE_WP_SITE_URL is properly replaced...
991 991
             array(
992 992
                 'https://cdn.example.org',
993
-                $siteurl . '/wp-content/themes/something/example.svg',
994
-                'https://cdn.example.org/' . $subfolder . 'wp-content/themes/something/example.svg',
993
+                $siteurl.'/wp-content/themes/something/example.svg',
994
+                'https://cdn.example.org/'.$subfolder.'wp-content/themes/something/example.svg',
995 995
             ),
996 996
             // Protocol-relative cdn url given with protocol relative link that matches AUTOPTIMIZE_WP_SITE_URL host...
997 997
             array(
998 998
                 '//cdn.example.org',
999
-                $protorelativesiteurl . '/something.jpg',
1000
-                '//cdn.example.org/' . $subfolder . 'something.jpg',
999
+                $protorelativesiteurl.'/something.jpg',
1000
+                '//cdn.example.org/'.$subfolder.'something.jpg',
1001 1001
             ),
1002 1002
             // Protocol-relative cdn url given a http link that matches AUTOPTIMIZE_WP_SITE_URL host...
1003 1003
             array(
1004 1004
                 '//cdn.example.org',
1005
-                $siteurl . '/something.png',
1006
-                '//cdn.example.org/' . $subfolder . 'something.png',
1005
+                $siteurl.'/something.png',
1006
+                '//cdn.example.org/'.$subfolder.'something.png',
1007 1007
             ),
1008 1008
             // Protocol-relative cdn url with a host-relative link...
1009 1009
             array(
1010 1010
                 '//cdn.example.org',
1011 1011
                 '/a.jpg',
1012
-                '//cdn.example.org/' . $subfolder . 'a.jpg',
1012
+                '//cdn.example.org/'.$subfolder.'a.jpg',
1013 1013
             ),
1014 1014
             // Testing cdn urls with an explicit port number...
1015 1015
             array(
1016 1016
                 'http://cdn.com:8080',
1017 1017
                 '/a.jpg',
1018
-                'http://cdn.com:8080/' . $subfolder . 'a.jpg',
1018
+                'http://cdn.com:8080/'.$subfolder.'a.jpg',
1019 1019
             ),
1020 1020
             array(
1021 1021
                 '//cdn.com:4433',
1022 1022
                 '/a.jpg',
1023
-                '//cdn.com:4433/' . $subfolder . 'a.jpg',
1023
+                '//cdn.com:4433/'.$subfolder.'a.jpg',
1024 1024
             ),
1025 1025
             array(
1026 1026
                 '//cdn.com:4433',
1027
-                $siteurl . '/something.jpg',
1028
-                '//cdn.com:4433/' . $subfolder . 'something.jpg',
1027
+                $siteurl.'/something.jpg',
1028
+                '//cdn.com:4433/'.$subfolder.'something.jpg',
1029 1029
             ),
1030 1030
             array(
1031 1031
                 '//cdn.com:1234',
1032
-                $protorelativesiteurl . '/something.jpg',
1033
-                '//cdn.com:1234/' . $subfolder . 'something.jpg',
1032
+                $protorelativesiteurl.'/something.jpg',
1033
+                '//cdn.com:1234/'.$subfolder.'something.jpg',
1034 1034
             ),
1035 1035
             // Relative links should not be touched by url_replace_cdn()...
1036 1036
             array(
@@ -1055,8 +1055,8 @@  discard block
 block discarded – undo
1055 1055
             // even though they are really strange...
1056 1056
             array(
1057 1057
                 $siteurl, // example.org or http://localhost or http://localhost/wordpress
1058
-                $siteurl . '/something.jpg',
1059
-                $siteurl . '/something.jpg',
1058
+                $siteurl.'/something.jpg',
1059
+                $siteurl.'/something.jpg',
1060 1060
             ),
1061 1061
             // These shouldn't really be changed, or even if replacements do
1062 1062
             // happen, they shouldn't be destructive...
@@ -1095,31 +1095,31 @@  discard block
 block discarded – undo
1095 1095
         $test_link = '/a.jpg';
1096 1096
         $cdn_url   = '//cdn.example.org';
1097 1097
 
1098
-        $with_ssl = function( $cdn ) {
1098
+        $with_ssl = function($cdn) {
1099 1099
             return '';
1100 1100
         };
1101 1101
         $expected_with_ssl = '/a.jpg';
1102 1102
 
1103
-        $without_ssl = function( $cdn ) {
1103
+        $without_ssl = function($cdn) {
1104 1104
             return $cdn;
1105 1105
         };
1106
-        $expected_without_ssl = '//cdn.example.org/' . $sub . 'a.jpg';
1106
+        $expected_without_ssl = '//cdn.example.org/'.$sub.'a.jpg';
1107 1107
 
1108 1108
         // With a filter that returns something considered "empty", cdn replacement shouldn't occur...
1109
-        add_filter( 'autoptimize_filter_base_cdnurl', $with_ssl );
1110
-        $mock = $this->getMockBuilder( 'autoptimizeBase' )
1109
+        add_filter('autoptimize_filter_base_cdnurl', $with_ssl);
1110
+        $mock = $this->getMockBuilder('autoptimizeBase')
1111 1111
                 ->disableOriginalConstructor()
1112 1112
                 ->getMockForAbstractClass();
1113 1113
 
1114 1114
         $mock->cdn_url   = $cdn_url;
1115
-        $actual_with_ssl = $mock->url_replace_cdn( $test_link );
1116
-        $this->assertEquals( $expected_with_ssl, $actual_with_ssl );
1117
-        remove_filter( 'autoptimize_filter_base_cdnurl', $with_ssl );
1115
+        $actual_with_ssl = $mock->url_replace_cdn($test_link);
1116
+        $this->assertEquals($expected_with_ssl, $actual_with_ssl);
1117
+        remove_filter('autoptimize_filter_base_cdnurl', $with_ssl);
1118 1118
 
1119 1119
         // With a filter that returns an actual cdn url, cdn replacement should occur.
1120
-        add_filter( 'autoptimize_filter_base_cdnurl', $without_ssl );
1121
-        $actual_without_ssl = $mock->url_replace_cdn( $test_link );
1122
-        $this->assertEquals( $expected_without_ssl, $actual_without_ssl );
1120
+        add_filter('autoptimize_filter_base_cdnurl', $without_ssl);
1121
+        $actual_without_ssl = $mock->url_replace_cdn($test_link);
1122
+        $this->assertEquals($expected_without_ssl, $actual_without_ssl);
1123 1123
     }
1124 1124
 
1125 1125
     public function provider_cssmin_issues()
@@ -1158,11 +1158,11 @@  discard block
 block discarded – undo
1158 1158
     /**
1159 1159
      * @dataProvider provider_cssmin_issues
1160 1160
      */
1161
-    public function test_cssmin_issues( $input, $expected )
1161
+    public function test_cssmin_issues($input, $expected)
1162 1162
     {
1163
-        $minifier = new autoptimizeCSSmin( false ); // No need to raise limits for now.
1164
-        $actual   = $minifier->run( $input );
1165
-        $this->assertEquals( $expected, $actual );
1163
+        $minifier = new autoptimizeCSSmin(false); // No need to raise limits for now.
1164
+        $actual   = $minifier->run($input);
1165
+        $this->assertEquals($expected, $actual);
1166 1166
     }
1167 1167
 
1168 1168
     public function provider_getpath()
@@ -1187,12 +1187,12 @@  discard block
 block discarded – undo
1187 1187
             // This file comes with core, so should exist...
1188 1188
             array(
1189 1189
                 '/wp-includes/js/jquery/jquery.js',
1190
-                WP_ROOT_DIR . '/wp-includes/js/jquery/jquery.js',
1190
+                WP_ROOT_DIR.'/wp-includes/js/jquery/jquery.js',
1191 1191
             ),
1192 1192
             // This file comes with core as of 5.6, so should exist...
1193 1193
             array(
1194 1194
                 '/wp-includes/js/jquery/jquery.min.js',
1195
-                WP_ROOT_DIR . '/wp-includes/js/jquery/jquery.min.js',
1195
+                WP_ROOT_DIR.'/wp-includes/js/jquery/jquery.min.js',
1196 1196
             ),
1197 1197
             // Empty $url should return false.
1198 1198
             array(
@@ -1217,12 +1217,12 @@  discard block
 block discarded – undo
1217 1217
     /**
1218 1218
      * @dataProvider provider_getpath
1219 1219
      */
1220
-    public function test_getpath( $input, $expected )
1220
+    public function test_getpath($input, $expected)
1221 1221
     {
1222
-        $mock = $this->getMockBuilder( 'autoptimizeBase' )->disableOriginalConstructor()->getMockForAbstractClass();
1222
+        $mock = $this->getMockBuilder('autoptimizeBase')->disableOriginalConstructor()->getMockForAbstractClass();
1223 1223
 
1224
-        $actual = $mock->getpath( $input );
1225
-        $this->assertEquals( $expected, $actual );
1224
+        $actual = $mock->getpath($input);
1225
+        $this->assertEquals($expected, $actual);
1226 1226
     }
1227 1227
 
1228 1228
     /**
@@ -1236,7 +1236,7 @@  discard block
 block discarded – undo
1236 1236
 
1237 1237
         $protorelativesiteurl = $urls['prsiteurl'];
1238 1238
 
1239
-        $css_orig     = <<<CSS
1239
+        $css_orig = <<<CSS
1240 1240
 header{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90px' height='110px' viewBox='0 0 90 110'%3E%3Cstyle%3E.a%7Bstop-color:%23FFF;%7D.b%7Bstop-color:%23B2D235;%7D.c%7Bstop-color:%23BEE7FA;%7D.d%7Bfill:%23590C15;%7D%3C/style%3E%3ClinearGradient id='c' y2='135.4' gradientUnits='userSpaceOnUse' x2='209.1' gradientTransform='rotate(-1.467 -4082.888 7786.794)' y1='205.8' x1='262'%3E%3Cstop class='b' offset='0'/%3E%3Cstop class='b' offset='.48'/%3E%3Cstop stop-color='%23829D25' offset='1'/%3E%3C/linearGradient%3E%3Cpath stroke-width='.3' d='M77.3 45.4c-3-3.5-7.1-6.5-11.6-7.8-5.1-1.5-10-.1-14.9 1.5C52 35.4 54.3 29 60 24l-4.8-5.5c-3.4 3-5.8 6.3-7.5 9.4-1.7-4.3-4.1-8.4-7.5-12C33.4 8.6 24.3 4.7 15.1 4.2c-.2 9.3 3.1 18.6 9.9 25.9 5.2 5.6 11.8 9.2 18.7 10.8-2.5.2-4.9-.1-7.7-.9-5.2-1.4-10.5-2.8-15.8-1C10.6 42.3 4.5 51.9 4 61.7c-.5 11.6 3.8 23.8 9.9 33.5 3.9 6.3 9.6 13.7 17.7 13.4 3.8-.1 7-2.1 10.7-2.7 5.2-.8 9.1 1.2 14.1 1.8 16.4 2 24.4-23.6 26.4-35.9 1.2-9.1.8-19.1-5.5-26.4z' stroke='%233E6D1F' fill='url(%23c)'/%3E%3C/svg%3E")}
1241 1241
 section.clipped.clippedTop {clip-path:url("#clipPolygonTop")}
1242 1242
 section.clipped.clippedBottom {clip-path:url("#clipPolygonBottom")}
@@ -1249,13 +1249,13 @@  discard block
 block discarded – undo
1249 1249
 .myimg {background-image: url($protorelativesiteurl/wp-content/themes/my-theme/images/under-left-leaf.png), url($protorelativesiteurl/wp-content/themes/my-theme/images/over-blue-bird.png), url($protorelativesiteurl/wp-content/themes/my-theme/images/under-top.png), url($protorelativesiteurl/wp-content/themes/my-theme/images/bg-top-grunge.png);}
1250 1250
 CSS;
1251 1251
 
1252
-        $fixurls_result = autoptimizeStyles::fixurls( ABSPATH . 'wp-content/themes/my-theme/style.css', $css_orig );
1253
-        $this->assertEquals( $css_expected, $fixurls_result );
1252
+        $fixurls_result = autoptimizeStyles::fixurls(ABSPATH.'wp-content/themes/my-theme/style.css', $css_orig);
1253
+        $this->assertEquals($css_expected, $fixurls_result);
1254 1254
     }
1255 1255
 
1256 1256
     public function test_background_datauri_sprites_with_fixurls()
1257 1257
     {
1258
-        $css_orig     = <<<CSS
1258
+        $css_orig = <<<CSS
1259 1259
 .shadow { background:url(img/1x1.png) top center; }
1260 1260
 .shadow1 { background-image:url(img/1x1.png) 0 -767px repeat-x; }
1261 1261
 .shadow2 {background:url(img/1x1.png) top center}
@@ -1307,27 +1307,27 @@  discard block
 block discarded – undo
1307 1307
 CSS;
1308 1308
 
1309 1309
         // For test purposes, ALL images in the css are being inline with a 1x1 trans png string/datauri.
1310
-        add_filter( 'autoptimize_filter_css_is_datauri_candidate', function( $is_candidate, $path ) {
1310
+        add_filter('autoptimize_filter_css_is_datauri_candidate', function($is_candidate, $path) {
1311 1311
             return true;
1312
-        }, 10, 2 );
1312
+        }, 10, 2);
1313 1313
 
1314 1314
         // For test purposes, ALL images in the css are being inline with a 1x1 trans png string/datauri.
1315
-        add_filter( 'autoptimize_filter_css_datauri_image', function( $base64array, $path ) {
1315
+        add_filter('autoptimize_filter_css_datauri_image', function($base64array, $path) {
1316 1316
             $head = 'data:image/png;base64,';
1317 1317
             $data = 'iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=';
1318 1318
 
1319
-            $result['full']       = $head . $data;
1319
+            $result['full']       = $head.$data;
1320 1320
             $result['base64data'] = $data;
1321 1321
             return $result;
1322
-        }, 10, 2 );
1322
+        }, 10, 2);
1323 1323
 
1324
-        $instance = new autoptimizeStyles( $css_orig );
1325
-        $instance->setOption( 'datauris', true );
1324
+        $instance = new autoptimizeStyles($css_orig);
1325
+        $instance->setOption('datauris', true);
1326 1326
 
1327
-        $fixurls_result = autoptimizeStyles::fixurls( ABSPATH . 'wp-content/themes/my-theme/style.css', $css_orig );
1328
-        $css_actual     = $instance->rewrite_assets( $fixurls_result );
1327
+        $fixurls_result = autoptimizeStyles::fixurls(ABSPATH.'wp-content/themes/my-theme/style.css', $css_orig);
1328
+        $css_actual     = $instance->rewrite_assets($fixurls_result);
1329 1329
 
1330
-        $this->assertEquals( $css_expected, $css_actual );
1330
+        $this->assertEquals($css_expected, $css_actual);
1331 1331
     }
1332 1332
 
1333 1333
     /**
@@ -1347,7 +1347,7 @@  discard block
 block discarded – undo
1347 1347
      */
1348 1348
     public function test_background_datauri_sprites_without_fixurls()
1349 1349
     {
1350
-        $css_orig     = <<<CSS
1350
+        $css_orig = <<<CSS
1351 1351
 .shadow { background:url(img/1x1.png) top center; }
1352 1352
 .shadow1 { background-image:url(img/1x1.png) 0 -767px repeat-x; }
1353 1353
 .shadow2 {background:url(img/1x1.png) top center}
@@ -1391,24 +1391,24 @@  discard block
 block discarded – undo
1391 1391
 CSS;
1392 1392
 
1393 1393
         // For test purposes, ALL images in the css are being inlined with a 1x1 trans png string/datauri.
1394
-        add_filter( 'autoptimize_filter_css_is_datauri_candidate', function( $is_candidate, $path ) {
1394
+        add_filter('autoptimize_filter_css_is_datauri_candidate', function($is_candidate, $path) {
1395 1395
             return true;
1396
-        }, 10, 2 );
1396
+        }, 10, 2);
1397 1397
 
1398 1398
         // For test purposes, ALL images in the css are being inlined with a 1x1 trans png string/datauri.
1399
-        add_filter( 'autoptimize_filter_css_datauri_image', function( $base64array, $path ) {
1399
+        add_filter('autoptimize_filter_css_datauri_image', function($base64array, $path) {
1400 1400
             $head = 'data:image/png;base64,';
1401 1401
             $data = 'iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=';
1402 1402
 
1403
-            $result['full']       = $head . $data;
1403
+            $result['full']       = $head.$data;
1404 1404
             $result['base64data'] = $data;
1405 1405
             return $result;
1406
-        }, 10, 2 );
1406
+        }, 10, 2);
1407 1407
 
1408
-        $instance = new autoptimizeStyles( $css_orig );
1409
-        $instance->setOption( 'datauris', true );
1410
-        $css_actual = $instance->rewrite_assets( $css_orig );
1411
-        $this->assertEquals( $css_expected, $css_actual );
1408
+        $instance = new autoptimizeStyles($css_orig);
1409
+        $instance->setOption('datauris', true);
1410
+        $css_actual = $instance->rewrite_assets($css_orig);
1411
+        $this->assertEquals($css_expected, $css_actual);
1412 1412
     }
1413 1413
 
1414 1414
     /**
@@ -1528,12 +1528,12 @@  discard block
 block discarded – undo
1528 1528
 CSS;
1529 1529
 
1530 1530
         // Test with fonts pointed to the CDN + cdn option is set.
1531
-        add_filter( 'autoptimize_filter_css_fonts_cdn', '__return_true' );
1532
-        $instance = new autoptimizeStyles( $css_in );
1533
-        $instance->setOption( 'cdn_url', $cdnurl );
1534
-        $css_actual_fonts_cdn = $instance->rewrite_assets( $css_in );
1531
+        add_filter('autoptimize_filter_css_fonts_cdn', '__return_true');
1532
+        $instance = new autoptimizeStyles($css_in);
1533
+        $instance->setOption('cdn_url', $cdnurl);
1534
+        $css_actual_fonts_cdn = $instance->rewrite_assets($css_in);
1535 1535
 
1536
-        $this->assertEquals( $css_expected_fonts_cdn, $css_actual_fonts_cdn );
1536
+        $this->assertEquals($css_expected_fonts_cdn, $css_actual_fonts_cdn);
1537 1537
     }
1538 1538
 
1539 1539
     /**
@@ -1649,10 +1649,10 @@  discard block
 block discarded – undo
1649 1649
 }
1650 1650
 CSS;
1651 1651
         // Test without moving fonts to CDN, but cdn option is set.
1652
-        $instance = new autoptimizeStyles( $css_in );
1653
-        $instance->setOption( 'cdn_url', $urls['cdnurl'] );
1654
-        $css_actual = $instance->rewrite_assets( $css_in );
1655
-        $this->assertEquals( $css_expected, $css_actual );
1652
+        $instance = new autoptimizeStyles($css_in);
1653
+        $instance->setOption('cdn_url', $urls['cdnurl']);
1654
+        $css_actual = $instance->rewrite_assets($css_in);
1655
+        $this->assertEquals($css_expected, $css_actual);
1656 1656
     }
1657 1657
 
1658 1658
     public function test_assets_regex_replaces_multi_bg_images()
@@ -1673,16 +1673,16 @@  discard block
 block discarded – undo
1673 1673
 }
1674 1674
 CSS;
1675 1675
 
1676
-        $instance = new autoptimizeStyles( $in );
1677
-        $instance->setOption( 'cdn_url', $cdnurl );
1678
-        $actual = $instance->rewrite_assets( $in );
1676
+        $instance = new autoptimizeStyles($in);
1677
+        $instance->setOption('cdn_url', $cdnurl);
1678
+        $actual = $instance->rewrite_assets($in);
1679 1679
 
1680
-        $this->assertEquals( $expected, $actual );
1680
+        $this->assertEquals($expected, $actual);
1681 1681
     }
1682 1682
 
1683 1683
     public function test_at_supports_spacing_issue_110()
1684 1684
     {
1685
-        $in       = <<<CSS
1685
+        $in = <<<CSS
1686 1686
 @supports (-webkit-filter: blur(3px)) or (filter: blur(3px)) {
1687 1687
     .blur {
1688 1688
         filter:blur(3px);
@@ -1696,10 +1696,10 @@  discard block
 block discarded – undo
1696 1696
 @supports (-webkit-filter:blur(3px)) or (filter:blur(3px)){.blur{filter:blur(3px)}}@supports((position:-webkit-sticky) or (position:sticky)){.sticky{position:sticky}}
1697 1697
 CSS;
1698 1698
 
1699
-        $instance = new autoptimizeStyles( $in );
1700
-        $actual   = $instance->run_minifier_on( $in );
1699
+        $instance = new autoptimizeStyles($in);
1700
+        $actual   = $instance->run_minifier_on($in);
1701 1701
 
1702
-        $this->assertEquals( $expected, $actual );
1702
+        $this->assertEquals($expected, $actual);
1703 1703
     }
1704 1704
 
1705 1705
     public function test_css_import_semicolon_url_issue_122()
@@ -1715,18 +1715,18 @@  discard block
 block discarded – undo
1715 1715
 </style>
1716 1716
 HTML;
1717 1717
 
1718
-        $expected = '<style media="all">@import url(' . $cdnurl . '/' . $sub . 'foo.css?a&#038;b);@import url(' . $cdnurl . '/' . $sub . 'bar.css);</style><!--noptimize--><!-- Autoptimize found a problem with the HTML in your Theme, tag `title` missing --><!--/noptimize-->';
1718
+        $expected = '<style media="all">@import url('.$cdnurl.'/'.$sub.'foo.css?a&#038;b);@import url('.$cdnurl.'/'.$sub.'bar.css);</style><!--noptimize--><!-- Autoptimize found a problem with the HTML in your Theme, tag `title` missing --><!--/noptimize-->';
1719 1719
 
1720 1720
         $options = [
1721 1721
             'autoptimizeStyles' => $this->getAoStylesDefaultOptions(),
1722 1722
         ];
1723 1723
 
1724
-        $instance = new autoptimizeStyles( $in );
1725
-        $instance->read( $options['autoptimizeStyles'] );
1724
+        $instance = new autoptimizeStyles($in);
1725
+        $instance->read($options['autoptimizeStyles']);
1726 1726
         $instance->minify();
1727 1727
         $instance->cache();
1728 1728
         $actual = $instance->getcontent();
1729
-        $this->assertEquals( $expected, $actual );
1729
+        $this->assertEquals($expected, $actual);
1730 1730
     }
1731 1731
 
1732 1732
     public function test_fixurls_with_at_imports_and_media_queries()
@@ -1736,10 +1736,10 @@  discard block
 block discarded – undo
1736 1736
         $subfolder = $urls['subfolder'];
1737 1737
 
1738 1738
         $in  = '@import "foo.css"; @import "bar.css" (orientation:landscape);';
1739
-        $exp = '@import url(' . $prsiteurl . '/wp-content/themes/my-theme/foo.css); @import url(' . $prsiteurl . '/wp-content/themes/my-theme/bar.css) (orientation:landscape);';
1739
+        $exp = '@import url('.$prsiteurl.'/wp-content/themes/my-theme/foo.css); @import url('.$prsiteurl.'/wp-content/themes/my-theme/bar.css) (orientation:landscape);';
1740 1740
 
1741
-        $actual = autoptimizeStyles::fixurls( ABSPATH . 'wp-content/themes/my-theme/style.css', $in );
1742
-        $this->assertEquals( $exp, $actual );
1741
+        $actual = autoptimizeStyles::fixurls(ABSPATH.'wp-content/themes/my-theme/style.css', $in);
1742
+        $this->assertEquals($exp, $actual);
1743 1743
     }
1744 1744
 
1745 1745
     public function test_aostyles_at_imports_with_media_queries()
@@ -1754,43 +1754,43 @@  discard block
 block discarded – undo
1754 1754
 </style>
1755 1755
 HTML;
1756 1756
 
1757
-        $expected = '<style media="all">@import url(' . $cdnurl . '/' . $sub . 'foo.css);@import url(' . $cdnurl . '/' . $sub . 'bar.css) (orientation:landscape);</style><!--noptimize--><!-- Autoptimize found a problem with the HTML in your Theme, tag `title` missing --><!--/noptimize-->';
1757
+        $expected = '<style media="all">@import url('.$cdnurl.'/'.$sub.'foo.css);@import url('.$cdnurl.'/'.$sub.'bar.css) (orientation:landscape);</style><!--noptimize--><!-- Autoptimize found a problem with the HTML in your Theme, tag `title` missing --><!--/noptimize-->';
1758 1758
 
1759 1759
         $options = [
1760 1760
             'autoptimizeStyles' => $this->getAoStylesDefaultOptions(),
1761 1761
         ];
1762 1762
 
1763
-        $instance = new autoptimizeStyles( $in );
1764
-        $instance->read( $options['autoptimizeStyles'] );
1763
+        $instance = new autoptimizeStyles($in);
1764
+        $instance->read($options['autoptimizeStyles']);
1765 1765
         $instance->minify();
1766 1766
         $instance->cache();
1767 1767
 
1768 1768
         $actual = $instance->getcontent();
1769
-        $this->assertEquals( $expected, $actual );
1769
+        $this->assertEquals($expected, $actual);
1770 1770
     }
1771 1771
 
1772 1772
     public function test_cache_size_checker_hooked_by_default()
1773 1773
     {
1774
-        $this->assertNotEmpty( autoptimizeCacheChecker::SCHEDULE_HOOK );
1774
+        $this->assertNotEmpty(autoptimizeCacheChecker::SCHEDULE_HOOK);
1775 1775
 
1776 1776
         // No schedule, because it's only added when is_admin() is true.
1777
-        $this->assertEquals( false, wp_get_schedule( autoptimizeCacheChecker::SCHEDULE_HOOK ) );
1777
+        $this->assertEquals(false, wp_get_schedule(autoptimizeCacheChecker::SCHEDULE_HOOK));
1778 1778
 
1779 1779
         // Proving that setup() sets the schedule as needed.
1780 1780
         $checker = new autoptimizeCacheChecker();
1781 1781
         $checker->setup();
1782
-        $this->assertEquals( 'twicedaily', wp_get_schedule( autoptimizeCacheChecker::SCHEDULE_HOOK ) );
1782
+        $this->assertEquals('twicedaily', wp_get_schedule(autoptimizeCacheChecker::SCHEDULE_HOOK));
1783 1783
     }
1784 1784
 
1785 1785
     public function test_cache_size_checker_disabled_with_filter()
1786 1786
     {
1787
-        add_filter( 'autoptimize_filter_cachecheck_do', '__return_false' );
1787
+        add_filter('autoptimize_filter_cachecheck_do', '__return_false');
1788 1788
 
1789 1789
         $checker = new autoptimizeCacheChecker();
1790 1790
         $checker->setup();
1791
-        $this->assertEquals( false, wp_get_schedule( autoptimizeCacheChecker::SCHEDULE_HOOK ) );
1791
+        $this->assertEquals(false, wp_get_schedule(autoptimizeCacheChecker::SCHEDULE_HOOK));
1792 1792
 
1793
-        remove_all_filters( 'autoptimize_filter_cachecheck_do' );
1793
+        remove_all_filters('autoptimize_filter_cachecheck_do');
1794 1794
     }
1795 1795
 
1796 1796
     public function test_is_start_buffering_hooked_properly()
@@ -1803,12 +1803,12 @@  discard block
 block discarded – undo
1803 1803
          * https://www.theaveragedev.com/mocking-constants-in-tests/.
1804 1804
          */
1805 1805
 
1806
-        if ( defined( 'AUTOPTIMIZE_INIT_EARLIER' ) ) {
1806
+        if (defined('AUTOPTIMIZE_INIT_EARLIER')) {
1807 1807
             $this->assertEquals(
1808 1808
                 autoptimizeMain::INIT_EARLIER_PRIORITY,
1809
-                has_action( 'init', array( $instance, 'start_buffering' ) )
1809
+                has_action('init', array($instance, 'start_buffering'))
1810 1810
             );
1811
-            $this->assertTrue( ! defined( 'AUTOPTIMIZE_HOOK_INTO' ) );
1811
+            $this->assertTrue(!defined('AUTOPTIMIZE_HOOK_INTO'));
1812 1812
         }
1813 1813
 
1814 1814
         /*
@@ -1825,18 +1825,18 @@  discard block
 block discarded – undo
1825 1825
 
1826 1826
     public function test_inline_and_defer_markup()
1827 1827
     {
1828
-        add_filter( 'autoptimize_filter_css_defer', '__return_true' );
1829
-        add_filter( 'autoptimize_filter_css_defer_inline', '__return_true' );
1828
+        add_filter('autoptimize_filter_css_defer', '__return_true');
1829
+        add_filter('autoptimize_filter_css_defer_inline', '__return_true');
1830 1830
 
1831
-        $actual = $this->ao->end_buffering( $this->get_test_markup() );
1832
-        if ( is_multisite() ) {
1833
-            $this->assertEquals( $this->get_test_markup_output_inline_defer_ms(), $actual );
1831
+        $actual = $this->ao->end_buffering($this->get_test_markup());
1832
+        if (is_multisite()) {
1833
+            $this->assertEquals($this->get_test_markup_output_inline_defer_ms(), $actual);
1834 1834
         } else {
1835
-            $this->assertEquals( $this->get_test_markup_output_inline_defer(), $actual );
1835
+            $this->assertEquals($this->get_test_markup_output_inline_defer(), $actual);
1836 1836
         }
1837 1837
 
1838
-        remove_all_filters( 'autoptimize_filter_css_defer' );
1839
-        remove_all_filters( 'autoptimize_filter_css_defer_inline' );
1838
+        remove_all_filters('autoptimize_filter_css_defer');
1839
+        remove_all_filters('autoptimize_filter_css_defer_inline');
1840 1840
     }
1841 1841
 
1842 1842
     public function test_js_aggregation_decision_and_dontaggregate_filter()
@@ -1844,47 +1844,47 @@  discard block
 block discarded – undo
1844 1844
         $opts = $this->getAoScriptsDefaultOptions();
1845 1845
 
1846 1846
         // Aggregating: true by default.
1847
-        $scripts = new autoptimizeScripts( '' );
1848
-        $scripts->read( $opts );
1849
-        $this->assertTrue( $scripts->aggregating() );
1847
+        $scripts = new autoptimizeScripts('');
1848
+        $scripts->read($opts);
1849
+        $this->assertTrue($scripts->aggregating());
1850 1850
 
1851 1851
         // Aggregating: option=true (dontaggregate=false by default).
1852 1852
         $opts['aggregate'] = true;
1853
-        $scripts           = new autoptimizeScripts( '' );
1854
-        $scripts->read( $opts );
1855
-        $this->assertTrue( $scripts->aggregating() );
1853
+        $scripts           = new autoptimizeScripts('');
1854
+        $scripts->read($opts);
1855
+        $this->assertTrue($scripts->aggregating());
1856 1856
 
1857 1857
         // Aggregating: option=true, dontaggregate=false explicit.
1858 1858
         $opts['aggregate'] = true;
1859
-        add_filter( 'autoptimize_filter_js_dontaggregate', '__return_false' );
1860
-        $scripts = new autoptimizeScripts( '' );
1861
-        $scripts->read( $opts );
1862
-        $this->assertTrue( $scripts->aggregating() );
1863
-        remove_all_filters( 'autoptimize_filter_js_dontaggregate' );
1859
+        add_filter('autoptimize_filter_js_dontaggregate', '__return_false');
1860
+        $scripts = new autoptimizeScripts('');
1861
+        $scripts->read($opts);
1862
+        $this->assertTrue($scripts->aggregating());
1863
+        remove_all_filters('autoptimize_filter_js_dontaggregate');
1864 1864
 
1865 1865
         // Not aggregating: option=true, dontaggregate=true.
1866 1866
         $opts['aggregate'] = true;
1867
-        add_filter( 'autoptimize_filter_js_dontaggregate', '__return_true' );
1868
-        $scripts = new autoptimizeScripts( '' );
1869
-        $scripts->read( $opts );
1870
-        $this->assertFalse( $scripts->aggregating() );
1871
-        remove_all_filters( 'autoptimize_filter_js_dontaggregate' );
1867
+        add_filter('autoptimize_filter_js_dontaggregate', '__return_true');
1868
+        $scripts = new autoptimizeScripts('');
1869
+        $scripts->read($opts);
1870
+        $this->assertFalse($scripts->aggregating());
1871
+        remove_all_filters('autoptimize_filter_js_dontaggregate');
1872 1872
 
1873 1873
         // Not aggregating: option=false, dontaggregate=false.
1874 1874
         $opts['aggregate'] = false;
1875
-        add_filter( 'autoptimize_filter_js_dontaggregate', '__return_false' );
1876
-        $scripts = new autoptimizeScripts( '' );
1877
-        $scripts->read( $opts );
1878
-        $this->assertFalse( $scripts->aggregating() );
1879
-        remove_all_filters( 'autoptimize_filter_js_dontaggregate' );
1875
+        add_filter('autoptimize_filter_js_dontaggregate', '__return_false');
1876
+        $scripts = new autoptimizeScripts('');
1877
+        $scripts->read($opts);
1878
+        $this->assertFalse($scripts->aggregating());
1879
+        remove_all_filters('autoptimize_filter_js_dontaggregate');
1880 1880
 
1881 1881
         // Not aggregating: option=false, dontaggregate=true.
1882 1882
         $opts['aggregate'] = false;
1883
-        add_filter( 'autoptimize_filter_js_dontaggregate', '__return_true' );
1884
-        $scripts = new autoptimizeScripts( '' );
1885
-        $scripts->read( $opts );
1886
-        $this->assertFalse( $scripts->aggregating() );
1887
-        remove_all_filters( 'autoptimize_filter_js_dontaggregate' );
1883
+        add_filter('autoptimize_filter_js_dontaggregate', '__return_true');
1884
+        $scripts = new autoptimizeScripts('');
1885
+        $scripts->read($opts);
1886
+        $this->assertFalse($scripts->aggregating());
1887
+        remove_all_filters('autoptimize_filter_js_dontaggregate');
1888 1888
     }
1889 1889
 
1890 1890
     public function test_css_aggregation_decision_and_dontaggregate_filter()
@@ -1892,78 +1892,78 @@  discard block
 block discarded – undo
1892 1892
         $opts = $this->getAoStylesDefaultOptions();
1893 1893
 
1894 1894
         // Aggregating: true by default.
1895
-        $styles = new autoptimizeStyles( '' );
1896
-        $this->assertTrue( $styles->aggregating() );
1895
+        $styles = new autoptimizeStyles('');
1896
+        $this->assertTrue($styles->aggregating());
1897 1897
 
1898 1898
         // Aggregating: option=true (dontaggregate=false by default).
1899 1899
         $opts['aggregate'] = true;
1900
-        $styles            = new autoptimizeStyles( '' );
1901
-        $styles->read( $opts );
1902
-        $this->assertTrue( $styles->aggregating() );
1900
+        $styles            = new autoptimizeStyles('');
1901
+        $styles->read($opts);
1902
+        $this->assertTrue($styles->aggregating());
1903 1903
 
1904 1904
         // Aggregating: option=true, dontaggregate=false explicit.
1905 1905
         $opts['aggregate'] = true;
1906
-        add_filter( 'autoptimize_filter_css_dontaggregate', '__return_false' );
1907
-        $styles = new autoptimizeStyles( '' );
1908
-        $styles->read( $opts );
1909
-        $this->assertTrue( $styles->aggregating() );
1910
-        remove_all_filters( 'autoptimize_filter_css_dontaggregate' );
1906
+        add_filter('autoptimize_filter_css_dontaggregate', '__return_false');
1907
+        $styles = new autoptimizeStyles('');
1908
+        $styles->read($opts);
1909
+        $this->assertTrue($styles->aggregating());
1910
+        remove_all_filters('autoptimize_filter_css_dontaggregate');
1911 1911
 
1912 1912
         // Not aggregating: option=true, dontaggregate=true.
1913 1913
         $opts['aggregate'] = true;
1914
-        add_filter( 'autoptimize_filter_css_dontaggregate', '__return_true' );
1915
-        $styles = new autoptimizeStyles( '' );
1916
-        $styles->read( $opts );
1917
-        $this->assertFalse( $styles->aggregating() );
1918
-        remove_all_filters( 'autoptimize_filter_css_dontaggregate' );
1914
+        add_filter('autoptimize_filter_css_dontaggregate', '__return_true');
1915
+        $styles = new autoptimizeStyles('');
1916
+        $styles->read($opts);
1917
+        $this->assertFalse($styles->aggregating());
1918
+        remove_all_filters('autoptimize_filter_css_dontaggregate');
1919 1919
 
1920 1920
         // Not aggregating: option=false, dontaggregate=false.
1921 1921
         $opts['aggregate'] = false;
1922
-        add_filter( 'autoptimize_filter_css_dontaggregate', '__return_false' );
1923
-        $styles = new autoptimizeStyles( '' );
1924
-        $styles->read( $opts );
1925
-        $this->assertFalse( $styles->aggregating() );
1926
-        remove_all_filters( 'autoptimize_filter_css_dontaggregate' );
1922
+        add_filter('autoptimize_filter_css_dontaggregate', '__return_false');
1923
+        $styles = new autoptimizeStyles('');
1924
+        $styles->read($opts);
1925
+        $this->assertFalse($styles->aggregating());
1926
+        remove_all_filters('autoptimize_filter_css_dontaggregate');
1927 1927
 
1928 1928
         // Not aggregating: option=false, dontaggregate=true.
1929 1929
         $opts['aggregate'] = false;
1930
-        add_filter( 'autoptimize_filter_css_dontaggregate', '__return_true' );
1931
-        $styles = new autoptimizeStyles( '' );
1932
-        $styles->read( $opts );
1933
-        $this->assertFalse( $styles->aggregating() );
1934
-        remove_all_filters( 'autoptimize_filter_css_dontaggregate' );
1930
+        add_filter('autoptimize_filter_css_dontaggregate', '__return_true');
1931
+        $styles = new autoptimizeStyles('');
1932
+        $styles->read($opts);
1933
+        $this->assertFalse($styles->aggregating());
1934
+        remove_all_filters('autoptimize_filter_css_dontaggregate');
1935 1935
     }
1936 1936
 
1937 1937
     public function test_css_minify_single_with_cdning()
1938 1938
     {
1939
-        $pathname = dirname( __FILE__ ) . '/fixtures/minify-single.css';
1939
+        $pathname = dirname(__FILE__).'/fixtures/minify-single.css';
1940 1940
         $opts     = $this->getAoStylesDefaultOptions();
1941
-        $styles   = new autoptimizeStyles( '' );
1942
-        $styles->read( $opts );
1941
+        $styles   = new autoptimizeStyles('');
1942
+        $styles->read($opts);
1943 1943
 
1944
-        $url = $styles->minify_single( $pathname, $cache_miss = true );
1944
+        $url = $styles->minify_single($pathname, $cache_miss = true);
1945 1945
 
1946 1946
         // Minified url filename + its pointed to cdn.
1947
-        $this->assertContains( AUTOPTIMIZE_CACHE_CHILD_DIR, $url );
1948
-        $this->assertContains( '/autoptimize_single_', $url );
1949
-        $this->assertContains( $styles->cdn_url, $url );
1947
+        $this->assertContains(AUTOPTIMIZE_CACHE_CHILD_DIR, $url);
1948
+        $this->assertContains('/autoptimize_single_', $url);
1949
+        $this->assertContains($styles->cdn_url, $url);
1950 1950
 
1951 1951
         // Actual minified css contents are minified and cdn-ed.
1952
-        $path     = $styles->getpath( $url );
1953
-        $contents = file_get_contents( $path );
1954
-        $this->assertContains( $styles->cdn_url, $contents );
1955
-        $this->assertContains( '.bg{background:url(' . $styles->cdn_url, $contents );
1952
+        $path     = $styles->getpath($url);
1953
+        $contents = file_get_contents($path);
1954
+        $this->assertContains($styles->cdn_url, $contents);
1955
+        $this->assertContains('.bg{background:url('.$styles->cdn_url, $contents);
1956 1956
     }
1957 1957
 
1958 1958
     public function test_ao_partners_instantiation_without_explicit_include()
1959 1959
     {
1960 1960
         $partners = new autoptimizePartners();
1961
-        $this->assertTrue( $partners instanceof autoptimizePartners );
1961
+        $this->assertTrue($partners instanceof autoptimizePartners);
1962 1962
     }
1963 1963
 
1964 1964
     public function test_html_minify_keep_html_comments_inside_script_blocks()
1965 1965
     {
1966
-        $markup   = <<<MARKUP
1966
+        $markup = <<<MARKUP
1967 1967
 <script>
1968 1968
 <!-- End Support AJAX add to cart -->
1969 1969
 var a = "b";
@@ -1993,23 +1993,23 @@  discard block
 block discarded – undo
1993 1993
             ],
1994 1994
         ];
1995 1995
 
1996
-        $instance = new autoptimizeHTML( $markup );
1997
-        $instance->read( $options['autoptimizeHTML'] );
1996
+        $instance = new autoptimizeHTML($markup);
1997
+        $instance->read($options['autoptimizeHTML']);
1998 1998
         $instance->minify();
1999 1999
         $actual = $instance->getcontent();
2000
-        $this->assertEquals( $expected, $actual );
2000
+        $this->assertEquals($expected, $actual);
2001 2001
 
2002
-        $instance = new autoptimizeHTML( $markup2 );
2003
-        $instance->read( $options['autoptimizeHTML'] );
2002
+        $instance = new autoptimizeHTML($markup2);
2003
+        $instance->read($options['autoptimizeHTML']);
2004 2004
         $instance->minify();
2005 2005
         $actual2 = $instance->getcontent();
2006
-        $this->assertEquals( $expected2, $actual2 );
2006
+        $this->assertEquals($expected2, $actual2);
2007 2007
     }
2008 2008
 
2009 2009
     public function test_html_minify_remove_html_comments_inside_script_blocks()
2010 2010
     {
2011 2011
         // Default case, html comments removed (keepcomments = false).
2012
-        $markup1   = <<<MARKUP
2012
+        $markup1 = <<<MARKUP
2013 2013
 <script>
2014 2014
 var a = "b";
2015 2015
 <!-- End Support AJAX add to cart -->
@@ -2020,7 +2020,7 @@  discard block
 block discarded – undo
2020 2020
 <!-- End Support AJAX add to cart</script>
2021 2021
 MARKUP;
2022 2022
 
2023
-        $markup2   = <<<MARKUP
2023
+        $markup2 = <<<MARKUP
2024 2024
 <script>
2025 2025
 <!-- End Support AJAX add to cart -->
2026 2026
 var a = "b";
@@ -2037,17 +2037,17 @@  discard block
 block discarded – undo
2037 2037
             ],
2038 2038
         ];
2039 2039
 
2040
-        $instance = new autoptimizeHTML( $markup1 );
2041
-        $instance->read( $options['autoptimizeHTML'] );
2040
+        $instance = new autoptimizeHTML($markup1);
2041
+        $instance->read($options['autoptimizeHTML']);
2042 2042
         $instance->minify();
2043 2043
         $actual = $instance->getcontent();
2044
-        $this->assertEquals( $expected1, $actual );
2044
+        $this->assertEquals($expected1, $actual);
2045 2045
 
2046
-        $instance = new autoptimizeHTML( $markup2 );
2047
-        $instance->read( $options['autoptimizeHTML'] );
2046
+        $instance = new autoptimizeHTML($markup2);
2047
+        $instance->read($options['autoptimizeHTML']);
2048 2048
         $instance->minify();
2049 2049
         $actual2 = $instance->getcontent();
2050
-        $this->assertEquals( $expected2, $actual2 );
2050
+        $this->assertEquals($expected2, $actual2);
2051 2051
     }
2052 2052
 
2053 2053
     public function test_html_minify_html_comments_inside_script_blocks_old_school_pattern()
@@ -2071,11 +2071,11 @@  discard block
 block discarded – undo
2071 2071
             ],
2072 2072
         ];
2073 2073
 
2074
-        $instance = new autoptimizeHTML( $markup );
2075
-        $instance->read( $options['autoptimizeHTML'] );
2074
+        $instance = new autoptimizeHTML($markup);
2075
+        $instance->read($options['autoptimizeHTML']);
2076 2076
         $instance->minify();
2077 2077
         $actual = $instance->getcontent();
2078
-        $this->assertEquals( $expected, $actual );
2078
+        $this->assertEquals($expected, $actual);
2079 2079
     }
2080 2080
 
2081 2081
     public function test_html_minify_html_comments_inside_script_blocks_old_school_pattern_untouched()
@@ -2100,49 +2100,49 @@  discard block
 block discarded – undo
2100 2100
             ],
2101 2101
         ];
2102 2102
 
2103
-        $instance = new autoptimizeHTML( $markup );
2104
-        $instance->read( $options['autoptimizeHTML'] );
2103
+        $instance = new autoptimizeHTML($markup);
2104
+        $instance->read($options['autoptimizeHTML']);
2105 2105
         $instance->minify();
2106 2106
         $actual = $instance->getcontent();
2107
-        $this->assertEquals( $expected, $actual );
2107
+        $this->assertEquals($expected, $actual);
2108 2108
     }
2109 2109
 
2110 2110
     public function test_utils_mbstring_availabilty_overriding()
2111 2111
     {
2112 2112
         $orig     = autoptimizeUtils::mbstring_available();
2113
-        $opposite = ! $orig;
2113
+        $opposite = !$orig;
2114 2114
 
2115
-        $this->assertSame( $orig, autoptimizeUtils::mbstring_available() );
2115
+        $this->assertSame($orig, autoptimizeUtils::mbstring_available());
2116 2116
         // Override works...
2117
-        $this->assertSame( $opposite, autoptimizeUtils::mbstring_available( $opposite ) );
2117
+        $this->assertSame($opposite, autoptimizeUtils::mbstring_available($opposite));
2118 2118
         // And override remains cached as the last version.
2119
-        $this->assertSame( $opposite, autoptimizeUtils::mbstring_available() );
2119
+        $this->assertSame($opposite, autoptimizeUtils::mbstring_available());
2120 2120
     }
2121 2121
 
2122 2122
     public function test_utils_mbstring_basics()
2123 2123
     {
2124 2124
         // Turn on mbstring usage.
2125
-        autoptimizeUtils::mbstring_available( true );
2125
+        autoptimizeUtils::mbstring_available(true);
2126 2126
 
2127
-        $this->assertSame( 2, autoptimizeUtils::strlen( "\x00\xFF", 'ASCII' ) );
2128
-        $this->assertSame( 2, autoptimizeUtils::strlen( "\x00\xFF", 'CP850' ) );
2129
-        $this->assertSame( 3, autoptimizeUtils::strlen( '한국어' ) );
2127
+        $this->assertSame(2, autoptimizeUtils::strlen("\x00\xFF", 'ASCII'));
2128
+        $this->assertSame(2, autoptimizeUtils::strlen("\x00\xFF", 'CP850'));
2129
+        $this->assertSame(3, autoptimizeUtils::strlen('한국어'));
2130 2130
 
2131
-        $this->assertFalse( @autoptimizeUtils::strpos( 'abc', '' ) );
2132
-        $this->assertFalse( @autoptimizeUtils::strpos( 'abc', 'a', -1 ) );
2133
-        $this->assertFalse( autoptimizeUtils::strpos( 'abc', 'd' ) );
2134
-        $this->assertFalse( autoptimizeUtils::strpos( 'abc', 'a', 3 ) );
2135
-        $this->assertSame( 1, autoptimizeUtils::strpos( '한국어', '국' ) );
2131
+        $this->assertFalse(@autoptimizeUtils::strpos('abc', ''));
2132
+        $this->assertFalse(@autoptimizeUtils::strpos('abc', 'a', -1));
2133
+        $this->assertFalse(autoptimizeUtils::strpos('abc', 'd'));
2134
+        $this->assertFalse(autoptimizeUtils::strpos('abc', 'a', 3));
2135
+        $this->assertSame(1, autoptimizeUtils::strpos('한국어', '국'));
2136 2136
     }
2137 2137
 
2138 2138
     /**
2139 2139
      * @dataProvider provider_utils_substr_replace
2140 2140
      */
2141
-    function test_utils_substr_replace_basics_mbstring( $s, $repl, $start, $len, $expected )
2141
+    function test_utils_substr_replace_basics_mbstring($s, $repl, $start, $len, $expected)
2142 2142
     {
2143 2143
         // Force mbstring code path...
2144
-        autoptimizeUtils::mbstring_available( true );
2145
-        $this->assertEquals( $expected, autoptimizeUtils::substr_replace( $s, $repl, $start, $len ) );
2144
+        autoptimizeUtils::mbstring_available(true);
2145
+        $this->assertEquals($expected, autoptimizeUtils::substr_replace($s, $repl, $start, $len));
2146 2146
     }
2147 2147
 
2148 2148
     public function provider_utils_substr_replace()
@@ -2184,48 +2184,48 @@  discard block
 block discarded – undo
2184 2184
 
2185 2185
     function test_mb_substr_replace_with_ascii_input_string()
2186 2186
     {
2187
-        autoptimizeUtils::mbstring_available( false );
2187
+        autoptimizeUtils::mbstring_available(false);
2188 2188
 
2189 2189
         $str = 'Ascii';
2190 2190
 
2191
-        $this->assertSame( 'Añ', autoptimizeUtils::substr_replace( $str, 'ñ', 1 ) );
2192
-        $this->assertSame( 'ñcii', autoptimizeUtils::substr_replace( $str, 'ñ', 0, 2 ) );
2193
-        $this->assertSame( 'Asñx', autoptimizeUtils::substr_replace( $str, 'ñx', 2, 3 ) );
2194
-        $this->assertSame( 'Asz', autoptimizeUtils::substr_replace( $str, 'z', 2, 10 ) );
2195
-        $this->assertSame( 'Añii', autoptimizeUtils::substr_replace( $str, 'ñ', 1, 2 ) );
2191
+        $this->assertSame('Añ', autoptimizeUtils::substr_replace($str, 'ñ', 1));
2192
+        $this->assertSame('ñcii', autoptimizeUtils::substr_replace($str, 'ñ', 0, 2));
2193
+        $this->assertSame('Asñx', autoptimizeUtils::substr_replace($str, 'ñx', 2, 3));
2194
+        $this->assertSame('Asz', autoptimizeUtils::substr_replace($str, 'z', 2, 10));
2195
+        $this->assertSame('Añii', autoptimizeUtils::substr_replace($str, 'ñ', 1, 2));
2196 2196
     }
2197 2197
 
2198 2198
     function test_mb_substr_replace_with_utf8_input_string()
2199 2199
     {
2200
-        autoptimizeUtils::mbstring_available( true );
2200
+        autoptimizeUtils::mbstring_available(true);
2201 2201
 
2202 2202
         $str = 'âønæë';
2203 2203
 
2204
-        $this->assertSame( 'âñ', autoptimizeUtils::substr_replace( $str, 'ñ', 1 ) ); // No length.
2205
-        $this->assertSame( 'ñnæë', autoptimizeUtils::substr_replace( $str, 'ñ', 0, 2 ) );
2206
-        $this->assertSame( 'âøñx', autoptimizeUtils::substr_replace( $str, 'ñx', 2, 3 ) );
2207
-        $this->assertSame( 'âøz', autoptimizeUtils::substr_replace( $str, 'z', 2, 10 ) ); // Length larger than possible...
2208
-        $this->assertSame( 'âñæë', autoptimizeUtils::substr_replace( $str, 'ñ', 1, 2 ) );
2204
+        $this->assertSame('âñ', autoptimizeUtils::substr_replace($str, 'ñ', 1)); // No length.
2205
+        $this->assertSame('ñnæë', autoptimizeUtils::substr_replace($str, 'ñ', 0, 2));
2206
+        $this->assertSame('âøñx', autoptimizeUtils::substr_replace($str, 'ñx', 2, 3));
2207
+        $this->assertSame('âøz', autoptimizeUtils::substr_replace($str, 'z', 2, 10)); // Length larger than possible...
2208
+        $this->assertSame('âñæë', autoptimizeUtils::substr_replace($str, 'ñ', 1, 2));
2209 2209
     }
2210 2210
 
2211 2211
     function test_default_substr_replace_with_ascii_input_string()
2212 2212
     {
2213 2213
         // Disable mbstring which should fall ack to substr_replace...
2214
-        autoptimizeUtils::mbstring_available( false );
2214
+        autoptimizeUtils::mbstring_available(false);
2215 2215
 
2216 2216
         $str = 'Ascii';
2217 2217
 
2218
-        $this->assertSame( 'Añ', autoptimizeUtils::substr_replace( $str, 'ñ', 1 ) );
2219
-        $this->assertSame( 'ñcii', autoptimizeUtils::substr_replace( $str, 'ñ', 0, 2 ) );
2220
-        $this->assertSame( 'Asñx', autoptimizeUtils::substr_replace( $str, 'ñx', 2, 3 ) );
2221
-        $this->assertSame( 'Asz', autoptimizeUtils::substr_replace( $str, 'z', 2, 10 ) );
2222
-        $this->assertSame( 'Añii', autoptimizeUtils::substr_replace( $str, 'ñ', 1, 2 ) );
2218
+        $this->assertSame('Añ', autoptimizeUtils::substr_replace($str, 'ñ', 1));
2219
+        $this->assertSame('ñcii', autoptimizeUtils::substr_replace($str, 'ñ', 0, 2));
2220
+        $this->assertSame('Asñx', autoptimizeUtils::substr_replace($str, 'ñx', 2, 3));
2221
+        $this->assertSame('Asz', autoptimizeUtils::substr_replace($str, 'z', 2, 10));
2222
+        $this->assertSame('Añii', autoptimizeUtils::substr_replace($str, 'ñ', 1, 2));
2223 2223
     }
2224 2224
 
2225 2225
     function test_default_substr_replace_with_utf8_input_string()
2226 2226
     {
2227 2227
         // Disabling mbstring, falling back to substr_replace...
2228
-        autoptimizeUtils::mbstring_available( false );
2228
+        autoptimizeUtils::mbstring_available(false);
2229 2229
 
2230 2230
         // This is really impossible to make work properly, since
2231 2231
         // any start/len parameters we give are working with bytes instead
@@ -2234,59 +2234,59 @@  discard block
 block discarded – undo
2234 2234
 
2235 2235
         // $this->assertSame( '�ñ', autoptimizeUtils::substr_replace( $str, 'ñ', 1 ) ); // No length.
2236 2236
         // $this->assertSame( 'ñ�næë', autoptimizeUtils::substr_replace( $str, 'ñ', 1, 2 ) );
2237
-        $this->assertSame( 'ñønæë', autoptimizeUtils::substr_replace( $str, 'ñ', 0, 2 ) );
2238
-        $this->assertSame( 'âñxæë', autoptimizeUtils::substr_replace( $str, 'ñx', 2, 3 ) );
2239
-        $this->assertSame( 'âz', autoptimizeUtils::substr_replace( $str, 'z', 2, 10 ) ); // Length larger than possible...
2237
+        $this->assertSame('ñønæë', autoptimizeUtils::substr_replace($str, 'ñ', 0, 2));
2238
+        $this->assertSame('âñxæë', autoptimizeUtils::substr_replace($str, 'ñx', 2, 3));
2239
+        $this->assertSame('âz', autoptimizeUtils::substr_replace($str, 'z', 2, 10)); // Length larger than possible...
2240 2240
     }
2241 2241
 
2242 2242
     public function test_cache_fast_delete()
2243 2243
     {
2244
-        add_filter( 'autoptimize_filter_cache_clear_advanced', '__return_true' );
2244
+        add_filter('autoptimize_filter_cache_clear_advanced', '__return_true');
2245 2245
 
2246
-        $this->assertTrue( autoptimizeCache::clearall_actionless() );
2246
+        $this->assertTrue(autoptimizeCache::clearall_actionless());
2247 2247
 
2248
-        remove_all_filters( 'autoptimize_filter_cache_clear_advanced' );
2248
+        remove_all_filters('autoptimize_filter_cache_clear_advanced');
2249 2249
     }
2250 2250
 
2251 2251
     public function test_delete_advanced_cache_clear_artifacts()
2252 2252
     {
2253
-        add_filter( 'autoptimize_filter_cache_clear_advanced', '__return_true' );
2253
+        add_filter('autoptimize_filter_cache_clear_advanced', '__return_true');
2254 2254
 
2255
-        $this->assertTrue( autoptimizeCache::delete_advanced_cache_clear_artifacts() );
2255
+        $this->assertTrue(autoptimizeCache::delete_advanced_cache_clear_artifacts());
2256 2256
 
2257
-        remove_all_filters( 'autoptimize_filter_cache_clear_advanced' );
2257
+        remove_all_filters('autoptimize_filter_cache_clear_advanced');
2258 2258
     }
2259 2259
 
2260 2260
     public function provider_canonicalization()
2261 2261
     {
2262 2262
         return array(
2263
-            array( '../common', 'common' ),
2264
-            array( '../what-does-this-mean/really?/', 'what-does-this-mean/really?/' ),
2265
-            array( '../../what/where/how', 'what/where/how' ),
2266
-            array( '/../more.dots.please/', '/more.dots.please/' ),
2267
-            array( '/../../what/where/how', '/what/where/how' ),
2268
-            array( '/a/b/c/../../../d/e/file.txt', '/d/e/file.txt' ),
2269
-            array( 'a/b/../c', 'a/c' ),
2270
-            array( './../../etc/passwd', './etc/passwd' ),
2271
-            array( '/var/.////./user/./././..//.//../////../././.././test/////', '/test/' ),
2272
-            array( '/var/user/./././.././../.././././test/', '/test/' ),
2273
-            array( '/hello/0//how/../are/../you', '/hello/0/you' ),
2274
-            array( '', '' ),
2275
-            array( '.', '.' ),
2276
-            array( '..', '..' ),
2277
-            array( './..', './..' ),
2278
-            array( '../.', '.' ),
2263
+            array('../common', 'common'),
2264
+            array('../what-does-this-mean/really?/', 'what-does-this-mean/really?/'),
2265
+            array('../../what/where/how', 'what/where/how'),
2266
+            array('/../more.dots.please/', '/more.dots.please/'),
2267
+            array('/../../what/where/how', '/what/where/how'),
2268
+            array('/a/b/c/../../../d/e/file.txt', '/d/e/file.txt'),
2269
+            array('a/b/../c', 'a/c'),
2270
+            array('./../../etc/passwd', './etc/passwd'),
2271
+            array('/var/.////./user/./././..//.//../////../././.././test/////', '/test/'),
2272
+            array('/var/user/./././.././../.././././test/', '/test/'),
2273
+            array('/hello/0//how/../are/../you', '/hello/0/you'),
2274
+            array('', ''),
2275
+            array('.', '.'),
2276
+            array('..', '..'),
2277
+            array('./..', './..'),
2278
+            array('../.', '.'),
2279 2279
             // This might be debatable...
2280
-            array( '../..', '..' ),
2280
+            array('../..', '..'),
2281 2281
         );
2282 2282
     }
2283 2283
 
2284 2284
     /**
2285 2285
      * @dataProvider provider_canonicalization
2286 2286
      */
2287
-    public function test_path_canonicalize( $path, $canonicalized )
2287
+    public function test_path_canonicalize($path, $canonicalized)
2288 2288
     {
2289
-        $this->assertSame( $canonicalized, autoptimizeUtils::path_canonicalize( $path ) );
2289
+        $this->assertSame($canonicalized, autoptimizeUtils::path_canonicalize($path));
2290 2290
     }
2291 2291
 
2292 2292
     /**
@@ -2300,16 +2300,16 @@  discard block
 block discarded – undo
2300 2300
     public function test_autoptimize_filter_cdn_magic_path_check()
2301 2301
     {
2302 2302
         $cdnurl = 'http://cdn.example.org';
2303
-        add_filter( 'autoptimize_filter_cdn_magic_path_check', '__return_false', 10, 2 );
2303
+        add_filter('autoptimize_filter_cdn_magic_path_check', '__return_false', 10, 2);
2304 2304
 
2305 2305
         // Even when site is in a subfolder, the resulting cdn-rewritten url
2306 2306
         // should not magically include it, due to the above filter.
2307 2307
         // The second parameter is here to force a cache miss and re-run
2308 2308
         // the filter since we're using the same cdn url all over the place,
2309 2309
         // but want to prove different things with it.
2310
-        $this->assertSame( $cdnurl, autoptimizeUtils::tweak_cdn_url_if_needed( $cdnurl, true ) );
2310
+        $this->assertSame($cdnurl, autoptimizeUtils::tweak_cdn_url_if_needed($cdnurl, true));
2311 2311
 
2312
-        remove_all_filters( 'autoptimize_filter_cdn_magic_path_check' );
2312
+        remove_all_filters('autoptimize_filter_cdn_magic_path_check');
2313 2313
     }
2314 2314
 
2315 2315
     /**
@@ -2334,9 +2334,9 @@  discard block
 block discarded – undo
2334 2334
 <img src='$imgopthost/client/q_glossy,ret_img,w_400,h_200/$siteurl/wp-content/image.jpg' width='400' height='200' srcset="$imgopthost/client/q_glossy,ret_img,w_300/$siteurl/wp-content/image-300X150.jpg 300w, $imgopthost/client/q_glossy,ret_img,w_600/$siteurl/wp-content/image-600X300.jpg 600w" sizes="(max-width: 300px) 100vw, 300px" />
2335 2335
 MARKUP;
2336 2336
         $instance = autoptimizeImages::instance();
2337
-        $instance->set_options( $opts );
2338
-        $actual = $instance->filter_optimize_images( $markup );
2339
-        $this->assertEquals( $expected, $actual );
2337
+        $instance->set_options($opts);
2338
+        $actual = $instance->filter_optimize_images($markup);
2339
+        $this->assertEquals($expected, $actual);
2340 2340
     }
2341 2341
     
2342 2342
     /**
@@ -2364,9 +2364,9 @@  discard block
 block discarded – undo
2364 2364
 <img src='$siteurl/wp-content/excluded.jpg' width='400' height='200' srcset="$siteurl/wp-content/image-300X150.jpg 300w, $siteurl/wp-content/image-600X300.jpg 600w" sizes="(max-width: 300px) 100vw, 300px" />
2365 2365
 MARKUP;
2366 2366
         $instance = autoptimizeImages::instance();
2367
-        $instance->set_options( $opts );
2368
-        $actual = $instance->filter_optimize_images( $markup, true );
2369
-        $this->assertEquals( $expected, $actual );
2367
+        $instance->set_options($opts);
2368
+        $actual = $instance->filter_optimize_images($markup, true);
2369
+        $this->assertEquals($expected, $actual);
2370 2370
     }
2371 2371
 
2372 2372
     /**
@@ -2391,9 +2391,9 @@  discard block
 block discarded – undo
2391 2391
 <picture><source srcset="$imgopthost/client/q_glossy,ret_img/$siteurl/wp-content/image.jpg" media="(min-width: 800px)"><img src="$imgopthost/client/q_glossy,ret_img/$siteurl/wp-content/image.jpg"/></picture>
2392 2392
 MARKUP;
2393 2393
         $instance = autoptimizeImages::instance();
2394
-        $instance->set_options( $opts );
2395
-        $actual = $instance->filter_optimize_images( $markup );
2396
-        $this->assertEquals( $expected, $actual );
2394
+        $instance->set_options($opts);
2395
+        $actual = $instance->filter_optimize_images($markup);
2396
+        $this->assertEquals($expected, $actual);
2397 2397
     }
2398 2398
 
2399 2399
     /**
@@ -2418,9 +2418,9 @@  discard block
 block discarded – undo
2418 2418
 <picture><source data-srcset="$imgopthost/client/q_glossy,ret_img/$siteurl/wp-content/image.jpg" media="(min-width: 800px)"><noscript><img src="$imgopthost/client/q_glossy,ret_img/$siteurl/wp-content/image.jpg"/></noscript><img class="lazyload" src='$imgopthost/client/q_lqip,ret_wait/$siteurl/wp-content/image.jpg' data-src="$imgopthost/client/q_glossy,ret_img/$siteurl/wp-content/image.jpg"/></picture>
2419 2419
 MARKUP;
2420 2420
         $instance = autoptimizeImages::instance();
2421
-        $instance->set_options( $opts );
2422
-        $actual = $instance->filter_optimize_images( $markup );
2423
-        $this->assertEquals( $expected, $actual );
2421
+        $instance->set_options($opts);
2422
+        $actual = $instance->filter_optimize_images($markup);
2423
+        $this->assertEquals($expected, $actual);
2424 2424
     }
2425 2425
 
2426 2426
     /**
@@ -2446,9 +2446,9 @@  discard block
 block discarded – undo
2446 2446
 MARKUP;
2447 2447
 
2448 2448
         $instance = autoptimizeImages::instance();
2449
-        $instance->set_options( $opts );
2450
-        $actual = $instance->filter_optimize_images( $markup );
2451
-        $this->assertEquals( $expected, $actual );
2449
+        $instance->set_options($opts);
2450
+        $actual = $instance->filter_optimize_images($markup);
2451
+        $this->assertEquals($expected, $actual);
2452 2452
     }
2453 2453
 
2454 2454
     /**
@@ -2474,9 +2474,9 @@  discard block
 block discarded – undo
2474 2474
 MARKUP;
2475 2475
 
2476 2476
         $instance = autoptimizeImages::instance();
2477
-        $instance->set_options( $opts );
2478
-        $actual = $instance->filter_optimize_images( $markup );
2479
-        $this->assertEquals( $expected, $actual );
2477
+        $instance->set_options($opts);
2478
+        $actual = $instance->filter_optimize_images($markup);
2479
+        $this->assertEquals($expected, $actual);
2480 2480
     }
2481 2481
 
2482 2482
     /**
@@ -2501,9 +2501,9 @@  discard block
 block discarded – undo
2501 2501
 MARKUP;
2502 2502
 
2503 2503
         $instance = autoptimizeImages::instance();
2504
-        $instance->set_options( $opts );
2505
-        $actual = $instance->filter_lazyload_images( $markup );
2506
-        $this->assertEquals( $expected, $actual );
2504
+        $instance->set_options($opts);
2505
+        $actual = $instance->filter_lazyload_images($markup);
2506
+        $this->assertEquals($expected, $actual);
2507 2507
     }
2508 2508
 
2509 2509
     /**
@@ -2528,9 +2528,9 @@  discard block
 block discarded – undo
2528 2528
 MARKUP;
2529 2529
 
2530 2530
         $instance = autoptimizeImages::instance();
2531
-        $instance->set_options( $opts );
2532
-        $actual = $instance->filter_lazyload_images( $markup );
2533
-        $this->assertEquals( $expected, $actual );
2531
+        $instance->set_options($opts);
2532
+        $actual = $instance->filter_lazyload_images($markup);
2533
+        $this->assertEquals($expected, $actual);
2534 2534
     }
2535 2535
 
2536 2536
     /**
@@ -2555,9 +2555,9 @@  discard block
 block discarded – undo
2555 2555
 MARKUP;
2556 2556
 
2557 2557
         $instance = autoptimizeImages::instance();
2558
-        $instance->set_options( $opts );
2559
-        $actual = $instance->filter_lazyload_images( $markup );
2560
-        $this->assertEquals( $expected, $actual );
2558
+        $instance->set_options($opts);
2559
+        $actual = $instance->filter_lazyload_images($markup);
2560
+        $this->assertEquals($expected, $actual);
2561 2561
     }
2562 2562
 
2563 2563
     /**
@@ -2576,11 +2576,11 @@  discard block
 block discarded – undo
2576 2576
 MARKUP;
2577 2577
 
2578 2578
         $instance = autoptimizeImages::instance();
2579
-        $instance->set_options( $opts );
2580
-        $actual = $instance->filter_optimize_images( $markup );
2579
+        $instance->set_options($opts);
2580
+        $actual = $instance->filter_optimize_images($markup);
2581 2581
 
2582 2582
         // Expecting $markup since replacement should not happen.
2583
-        $this->assertEquals( $markup, $actual );
2583
+        $this->assertEquals($markup, $actual);
2584 2584
     }
2585 2585
 
2586 2586
     /**
@@ -2606,10 +2606,10 @@  discard block
 block discarded – undo
2606 2606
 MARKUP;
2607 2607
 
2608 2608
         $instance = autoptimizeImages::instance();
2609
-        $instance->set_options( $opts );
2610
-        $actual = $instance->filter_optimize_images( $markup );
2609
+        $instance->set_options($opts);
2610
+        $actual = $instance->filter_optimize_images($markup);
2611 2611
 
2612
-        $this->assertEquals( $expected, $actual );
2612
+        $this->assertEquals($expected, $actual);
2613 2613
     }
2614 2614
 
2615 2615
     /**
@@ -2619,8 +2619,8 @@  discard block
 block discarded – undo
2619 2619
     {
2620 2620
         $urls                                        = $this->get_urls();
2621 2621
         $siteurl                                     = $urls['siteurl'];
2622
-        $siteurlparsed                               = parse_url( $siteurl );
2623
-        $sitedomain                                  = $siteurlparsed['scheme'] . '://' . $siteurlparsed['host'];
2622
+        $siteurlparsed                               = parse_url($siteurl);
2623
+        $sitedomain                                  = $siteurlparsed['scheme'].'://'.$siteurlparsed['host'];
2624 2624
         $imgopthost                                  = $urls['imgopthost'];
2625 2625
         $opts                                        = autoptimizeImages::fetch_options();
2626 2626
         $opts['autoptimize_imgopt_checkbox_field_1'] = '1';
@@ -2635,10 +2635,10 @@  discard block
 block discarded – undo
2635 2635
 MARKUP;
2636 2636
 
2637 2637
         $instance = autoptimizeImages::instance();
2638
-        $instance->set_options( $opts );
2639
-        $actual = $instance->filter_optimize_images( $markup );
2638
+        $instance->set_options($opts);
2639
+        $actual = $instance->filter_optimize_images($markup);
2640 2640
 
2641
-        $this->assertEquals( $expected, $actual );
2641
+        $this->assertEquals($expected, $actual);
2642 2642
     }
2643 2643
 
2644 2644
     /**
@@ -2663,53 +2663,53 @@  discard block
 block discarded – undo
2663 2663
 MARKUP;
2664 2664
 
2665 2665
         $instance = autoptimizeImages::instance();
2666
-        $instance->set_options( $opts );
2667
-        $actual = $instance->filter_optimize_images( $markup );
2666
+        $instance->set_options($opts);
2667
+        $actual = $instance->filter_optimize_images($markup);
2668 2668
 
2669
-        $this->assertEquals( $expected, $actual );
2669
+        $this->assertEquals($expected, $actual);
2670 2670
     }
2671 2671
 
2672 2672
     /**
2673 2673
      * @dataProvider provider_str_is_valid_regex
2674 2674
      */
2675
-    public function test_str_is_valid_regex( $str, $expected )
2675
+    public function test_str_is_valid_regex($str, $expected)
2676 2676
     {
2677
-        $actual = autoptimizeUtils::str_is_valid_regex( $str );
2677
+        $actual = autoptimizeUtils::str_is_valid_regex($str);
2678 2678
 
2679
-        $this->assertEquals( $expected, $actual );
2679
+        $this->assertEquals($expected, $actual);
2680 2680
     }
2681 2681
 
2682 2682
     public function provider_str_is_valid_regex()
2683 2683
     {
2684 2684
         return [
2685
-            [ '<!--[if', false ],
2686
-            [ '&lt;--[if', false ],
2687
-            [ '/booya/i', true ],
2688
-            [ '~Valid(Regular)Expression~', true ],
2685
+            ['<!--[if', false],
2686
+            ['&lt;--[if', false],
2687
+            ['/booya/i', true],
2688
+            ['~Valid(Regular)Expression~', true],
2689 2689
         ];
2690 2690
     }
2691 2691
 
2692 2692
     /**
2693 2693
      * @dataProvider provider_protocol_relative_tests
2694 2694
      */
2695
-    public function test_is_protocol_relative( $str, $expected )
2695
+    public function test_is_protocol_relative($str, $expected)
2696 2696
     {
2697
-        $actual = autoptimizeUtils::is_protocol_relative( $str );
2697
+        $actual = autoptimizeUtils::is_protocol_relative($str);
2698 2698
 
2699
-        $this->assertEquals( $expected, $actual );
2699
+        $this->assertEquals($expected, $actual);
2700 2700
     }
2701 2701
 
2702 2702
     public function provider_protocol_relative_tests()
2703 2703
     {
2704 2704
         return [
2705
-            [ '//something-that-might-be-an-url-but-isnt-really', true ],
2706
-            [ '', false ],
2707
-            [ null, false ],
2708
-            [ 'booya/i', false ],
2709
-            [ '/root-relative', false ],
2710
-            [ 'http://what.ever/', false ],
2711
-            [ 'https://booya.kasha', false ],
2712
-            [ '1/', false ],
2705
+            ['//something-that-might-be-an-url-but-isnt-really', true],
2706
+            ['', false],
2707
+            [null, false],
2708
+            ['booya/i', false],
2709
+            ['/root-relative', false],
2710
+            ['http://what.ever/', false],
2711
+            ['https://booya.kasha', false],
2712
+            ['1/', false],
2713 2713
         ];
2714 2714
     }
2715 2715
 
@@ -2724,38 +2724,38 @@  discard block
 block discarded – undo
2724 2724
 
2725 2725
         $expected = 'img.centered,.aligncenter{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}';
2726 2726
 
2727
-        $instance = new autoptimizeStyles( $css );
2728
-        $minified = $instance->run_minifier_on( $css );
2727
+        $instance = new autoptimizeStyles($css);
2728
+        $minified = $instance->run_minifier_on($css);
2729 2729
 
2730
-        $this->assertEquals( $expected, $minified );
2730
+        $this->assertEquals($expected, $minified);
2731 2731
     }
2732 2732
 
2733 2733
     public function test_css_font_names_mangling()
2734 2734
     {
2735 2735
         // Properly quoted font names dont get mangled.
2736 2736
         $css      = 'h2{font-family:"Archivo Black"}';
2737
-        $instance = new autoptimizeStyles( $css );
2738
-        $actual   = $instance->run_minifier_on( $css );
2739
-        $this->assertEquals( $css, $actual );
2737
+        $instance = new autoptimizeStyles($css);
2738
+        $actual   = $instance->run_minifier_on($css);
2739
+        $this->assertEquals($css, $actual);
2740 2740
 
2741 2741
         // When not quoted, 'Black' used to become '#000', but not anymore :) ...
2742 2742
         $css_unquoted = 'h2{font-family:Archivo Black;}';
2743 2743
         $expected     = 'h2{font-family:Archivo Black}';
2744
-        $instance     = new autoptimizeStyles( $css_unquoted );
2745
-        $actual       = $instance->run_minifier_on( $css_unquoted );
2746
-        $this->assertEquals( $expected, $actual );
2744
+        $instance     = new autoptimizeStyles($css_unquoted);
2745
+        $actual       = $instance->run_minifier_on($css_unquoted);
2746
+        $this->assertEquals($expected, $actual);
2747 2747
 
2748 2748
         $css_unquoted = 'h1{font:italic 1.2em Fira White,serif}';
2749
-        $instance     = new autoptimizeStyles( $css_unquoted );
2750
-        $actual       = $instance->run_minifier_on( $css_unquoted );
2751
-        $this->assertEquals( $css_unquoted, $actual );
2749
+        $instance     = new autoptimizeStyles($css_unquoted);
2750
+        $actual       = $instance->run_minifier_on($css_unquoted);
2751
+        $this->assertEquals($css_unquoted, $actual);
2752 2752
     }
2753 2753
 
2754 2754
     public function test_is_plugin_active_utils_wrapper()
2755 2755
     {
2756 2756
         // Our plugin is loaded via "muplugins_loaded" filter in tests/bootstrap.php.
2757
-        $this->assertFalse( autoptimizeUtils::is_plugin_active( 'autoptimize/autoptimize.php' ) );
2758
-        $this->assertFalse( autoptimizeUtils::is_plugin_active( 'async-javascript/async-javascript.php' ) );
2757
+        $this->assertFalse(autoptimizeUtils::is_plugin_active('autoptimize/autoptimize.php'));
2758
+        $this->assertFalse(autoptimizeUtils::is_plugin_active('async-javascript/async-javascript.php'));
2759 2759
     }
2760 2760
 
2761 2761
     public function test_jsminphp_string_literal_minification()
@@ -2769,8 +2769,8 @@  discard block
 block discarded – undo
2769 2769
         $expected = '`line
2770 2770
 break`+`he  llo`;foo`hel( \'\');lo`;`he\nl\`lo`;(`he${one + two}`)';
2771 2771
 
2772
-        $actual = JSMin::minify( $js );
2773
-        $this->assertEquals( $expected, $actual );
2772
+        $actual = JSMin::minify($js);
2773
+        $this->assertEquals($expected, $actual);
2774 2774
     }
2775 2775
 
2776 2776
     /**
@@ -2790,9 +2790,9 @@  discard block
 block discarded – undo
2790 2790
 MARKUP;
2791 2791
 
2792 2792
         $instance = autoptimizeExtra::instance();
2793
-        $instance->set_options( $opts );
2794
-        $actual = $instance->filter_preload( $markup );
2795
-        $this->assertEquals( $expected, $actual );
2793
+        $instance->set_options($opts);
2794
+        $actual = $instance->filter_preload($markup);
2795
+        $this->assertEquals($expected, $actual);
2796 2796
     }
2797 2797
 
2798 2798
     /**
@@ -2812,9 +2812,9 @@  discard block
 block discarded – undo
2812 2812
 MARKUP;
2813 2813
 
2814 2814
         $instance = autoptimizeExtra::instance();
2815
-        $instance->set_options( $opts );
2816
-        $actual = $instance->filter_preload( $markup );
2817
-        $this->assertEquals( $expected, $actual );
2815
+        $instance->set_options($opts);
2816
+        $actual = $instance->filter_preload($markup);
2817
+        $this->assertEquals($expected, $actual);
2818 2818
     }
2819 2819
 
2820 2820
     /**
@@ -2834,9 +2834,9 @@  discard block
 block discarded – undo
2834 2834
 MARKUP;
2835 2835
 
2836 2836
         $instance = autoptimizeExtra::instance();
2837
-        $instance->set_options( $opts );
2838
-        $actual = $instance->filter_optimize_google_fonts( $markup );
2839
-        $this->assertEquals( $expected, $actual );
2837
+        $instance->set_options($opts);
2838
+        $actual = $instance->filter_optimize_google_fonts($markup);
2839
+        $this->assertEquals($expected, $actual);
2840 2840
     }
2841 2841
 
2842 2842
     /**
@@ -2844,19 +2844,19 @@  discard block
 block discarded – undo
2844 2844
      */
2845 2845
     public function test_network_no_site_settings()
2846 2846
     {
2847
-        if ( is_multisite() ) {
2848
-            define( 'TEST_MULTISITE_FORCE_AO_ON_NETWORK', true );
2847
+        if (is_multisite()) {
2848
+            define('TEST_MULTISITE_FORCE_AO_ON_NETWORK', true);
2849 2849
             // set options through WordPress core methods.
2850
-            update_option( 'autoptimize_js_exclude', 'site' );
2851
-            update_network_option( get_main_network_id(), 'autoptimize_js_exclude', 'network' );
2852
-            update_network_option( get_main_network_id(), 'autoptimize_enable_site_config', '' );
2850
+            update_option('autoptimize_js_exclude', 'site');
2851
+            update_network_option(get_main_network_id(), 'autoptimize_js_exclude', 'network');
2852
+            update_network_option(get_main_network_id(), 'autoptimize_enable_site_config', '');
2853 2853
 
2854 2854
             // and then try fetching them through optionwrapper.
2855 2855
             $expected = 'network';
2856
-            $actual   = autoptimizeOptionWrapper::get_option( 'autoptimize_js_exclude' );
2857
-            $this->assertEquals( $expected, $actual );
2856
+            $actual   = autoptimizeOptionWrapper::get_option('autoptimize_js_exclude');
2857
+            $this->assertEquals($expected, $actual);
2858 2858
         } else {
2859
-            $this->assertEquals( 1, 1 ); // just to ensure this isn't marked as a risky test.
2859
+            $this->assertEquals(1, 1); // just to ensure this isn't marked as a risky test.
2860 2860
         }
2861 2861
     }
2862 2862
 
@@ -2865,19 +2865,19 @@  discard block
 block discarded – undo
2865 2865
      */
2866 2866
     public function test_network_per_site_settings()
2867 2867
     {
2868
-        if ( is_multisite() ) {
2868
+        if (is_multisite()) {
2869 2869
             // define of TEST_MULTISITE_FORCE_AO_ON_NETWORK not needed, done in previous test.
2870 2870
             // set options through WordPress core methods.
2871
-            update_option( 'autoptimize_js_exclude', 'site' );
2872
-            update_network_option( get_main_network_id(), 'autoptimize_js_exclude', 'network' );
2873
-            update_network_option( get_main_network_id(), 'autoptimize_enable_site_config', 'on' );
2871
+            update_option('autoptimize_js_exclude', 'site');
2872
+            update_network_option(get_main_network_id(), 'autoptimize_js_exclude', 'network');
2873
+            update_network_option(get_main_network_id(), 'autoptimize_enable_site_config', 'on');
2874 2874
 
2875 2875
             // and then try fetching them through optionwrapper.
2876 2876
             $expected = 'site';
2877
-            $actual   = autoptimizeOptionWrapper::get_option( 'autoptimize_js_exclude' );
2878
-            $this->assertEquals( $expected, $actual );
2877
+            $actual   = autoptimizeOptionWrapper::get_option('autoptimize_js_exclude');
2878
+            $this->assertEquals($expected, $actual);
2879 2879
         } else {
2880
-            $this->assertEquals( 1, 1 ); // just to ensure this isn't marked as a risky test.
2880
+            $this->assertEquals(1, 1); // just to ensure this isn't marked as a risky test.
2881 2881
         }
2882 2882
     }
2883 2883
 }
Please login to merge, or discard this patch.
classes/autoptimizeCriticalCSSEnqueue.php 1 patch
Spacing   +74 added lines, -74 removed lines patch added patch discarded remove patch
@@ -3,7 +3,7 @@  discard block
 block discarded – undo
3 3
  * Critical CSS job enqueue logic.
4 4
  */
5 5
 
6
-if ( ! defined( 'ABSPATH' ) ) {
6
+if (!defined('ABSPATH')) {
7 7
     exit;
8 8
 }
9 9
 
@@ -12,27 +12,27 @@  discard block
 block discarded – undo
12 12
     {
13 13
         // fetch all options at once and populate them individually explicitely as globals.
14 14
         $all_options = autoptimizeCriticalCSSBase::fetch_options();
15
-        foreach ( $all_options as $_option => $_value ) {
15
+        foreach ($all_options as $_option => $_value) {
16 16
             global ${$_option};
17 17
             ${$_option} = $_value;
18 18
         }
19 19
     }
20 20
 
21
-    public static function ao_ccss_enqueue( $hash ) {
21
+    public static function ao_ccss_enqueue($hash) {
22 22
         $self = new self();
23 23
         // Get key status.
24
-        $key = autoptimizeCriticalCSSCore::ao_ccss_key_status( false );
24
+        $key = autoptimizeCriticalCSSCore::ao_ccss_key_status(false);
25 25
 
26 26
         // Queue is available to anyone...
27 27
         $enqueue = true;
28 28
 
29 29
         // ... which are not the ones below.
30
-        if ( is_user_logged_in() || is_feed() || is_404() || ( defined( 'DOING_AJAX' ) && DOING_AJAX ) || $self->ao_ccss_ua() || 'nokey' == $key['status'] || 'invalid' == $key['status'] || false === apply_filters( 'autoptimize_filter_ccss_enqueue_should_enqueue', true ) ) {
30
+        if (is_user_logged_in() || is_feed() || is_404() || (defined('DOING_AJAX') && DOING_AJAX) || $self->ao_ccss_ua() || 'nokey' == $key['status'] || 'invalid' == $key['status'] || false === apply_filters('autoptimize_filter_ccss_enqueue_should_enqueue', true)) {
31 31
             $enqueue = false;
32
-            autoptimizeCriticalCSSCore::ao_ccss_log( "Job queuing is not available for WordPress's logged in users, feeds, error pages, ajax calls, to criticalcss.com itself or when a valid API key is not found", 3 );
32
+            autoptimizeCriticalCSSCore::ao_ccss_log("Job queuing is not available for WordPress's logged in users, feeds, error pages, ajax calls, to criticalcss.com itself or when a valid API key is not found", 3);
33 33
         }
34 34
 
35
-        if ( $enqueue ) {
35
+        if ($enqueue) {
36 36
             // Continue if queue is available
37 37
             // Attach required arrays/ vars.
38 38
             global $ao_ccss_rules;
@@ -42,17 +42,17 @@  discard block
 block discarded – undo
42 42
 
43 43
             // Get request path and page type, and initialize the queue update flag.
44 44
             $req_orig        = $_SERVER['REQUEST_URI'];
45
-            $req_path        = strtok( $req_orig, '?' );
45
+            $req_path        = strtok($req_orig, '?');
46 46
 
47 47
             // Check if we have a lang param. we need to keep as WPML can switch languages based on that
48 48
             // and that includes RTL -> LTR so diff. structure, so rules would be RTL vs LTR
49 49
             // but this needs changes in the structur of the rule object so off by default for now
50 50
             // as now this will simply result in conditional rules being overwritten.
51
-            if ( apply_filters( 'autoptimize_filter_ccss_coreenqueue_honor_lang', false ) && strpos( $req_orig, 'lang=' ) !== false ) {
52
-                $req_params = strtok( '?' );
53
-                parse_str( $req_params, $req_params_arr );
54
-                if ( array_key_exists( 'lang', $req_params_arr ) && !empty( $req_params_arr['lang'] ) ) {
55
-                    $req_path .= '?lang=' . $req_params_arr['lang'];
51
+            if (apply_filters('autoptimize_filter_ccss_coreenqueue_honor_lang', false) && strpos($req_orig, 'lang=') !== false) {
52
+                $req_params = strtok('?');
53
+                parse_str($req_params, $req_params_arr);
54
+                if (array_key_exists('lang', $req_params_arr) && !empty($req_params_arr['lang'])) {
55
+                    $req_path .= '?lang='.$req_params_arr['lang'];
56 56
                 }
57 57
             }
58 58
 
@@ -63,21 +63,21 @@  discard block
 block discarded – undo
63 63
             $queue_update    = false;
64 64
 
65 65
             // Match for paths in rules.
66
-            foreach ( $ao_ccss_rules['paths'] as $path => $props ) {
66
+            foreach ($ao_ccss_rules['paths'] as $path => $props) {
67 67
 
68 68
                 // Prepare rule target and log.
69
-                $target_rule = 'paths|' . $path;
70
-                autoptimizeCriticalCSSCore::ao_ccss_log( 'Qualifying path <' . $req_path . '> for job submission by rule <' . $target_rule . '>', 3 );
69
+                $target_rule = 'paths|'.$path;
70
+                autoptimizeCriticalCSSCore::ao_ccss_log('Qualifying path <'.$req_path.'> for job submission by rule <'.$target_rule.'>', 3);
71 71
 
72 72
                 // Path match
73 73
                 // -> exact match needed for AUTO rules
74 74
                 // -> partial match OK for MANUAL rules (which have empty hash and a file with CCSS).
75
-                if ( $path === $req_path || ( false == $props['hash'] && false != $props['file'] && preg_match( '|' . $path . '|', $req_path ) ) ) {
75
+                if ($path === $req_path || (false == $props['hash'] && false != $props['file'] && preg_match('|'.$path.'|', $req_path))) {
76 76
 
77 77
                     // There's a path match in the rule, so job QUALIFIES with a path rule match.
78 78
                     $job_qualify     = true;
79 79
                     $rule_properties = $props;
80
-                    autoptimizeCriticalCSSCore::ao_ccss_log( 'Path <' . $req_path . '> QUALIFIED for job submission by rule <' . $target_rule . '>', 3 );
80
+                    autoptimizeCriticalCSSCore::ao_ccss_log('Path <'.$req_path.'> QUALIFIED for job submission by rule <'.$target_rule.'>', 3);
81 81
 
82 82
                     // Stop processing other path rules.
83 83
                     break;
@@ -85,19 +85,19 @@  discard block
 block discarded – undo
85 85
             }
86 86
 
87 87
             // Match for types in rules if no path rule matches and if we're not enforcing paths.
88
-            if ( ! $job_qualify && ( ! $ao_ccss_forcepath || ! in_array( $req_type, apply_filters( 'autoptimize_filter_ccss_coreenqueue_forcepathfortype', array( 'is_page' ) ) ) || ! apply_filters( 'autoptimize_filter_ccss_coreenqueue_ignorealltypes', false ) ) ) {
89
-                foreach ( $ao_ccss_rules['types'] as $type => $props ) {
88
+            if (!$job_qualify && (!$ao_ccss_forcepath || !in_array($req_type, apply_filters('autoptimize_filter_ccss_coreenqueue_forcepathfortype', array('is_page'))) || !apply_filters('autoptimize_filter_ccss_coreenqueue_ignorealltypes', false))) {
89
+                foreach ($ao_ccss_rules['types'] as $type => $props) {
90 90
 
91 91
                     // Prepare rule target and log.
92
-                    $target_rule = 'types|' . $type;
93
-                    autoptimizeCriticalCSSCore::ao_ccss_log( 'Qualifying page type <' . $req_type . '> on path <' . $req_path . '> for job submission by rule <' . $target_rule . '>', 3 );
92
+                    $target_rule = 'types|'.$type;
93
+                    autoptimizeCriticalCSSCore::ao_ccss_log('Qualifying page type <'.$req_type.'> on path <'.$req_path.'> for job submission by rule <'.$target_rule.'>', 3);
94 94
 
95
-                    if ( $req_type == $type ) {
95
+                    if ($req_type == $type) {
96 96
                         // Type match.
97 97
                         // There's a type match in the rule, so job QUALIFIES with a type rule match.
98 98
                         $job_qualify     = true;
99 99
                         $rule_properties = $props;
100
-                        autoptimizeCriticalCSSCore::ao_ccss_log( 'Page type <' . $req_type . '> on path <' . $req_path . '> QUALIFIED for job submission by rule <' . $target_rule . '>', 3 );
100
+                        autoptimizeCriticalCSSCore::ao_ccss_log('Page type <'.$req_type.'> on path <'.$req_path.'> QUALIFIED for job submission by rule <'.$target_rule.'>', 3);
101 101
 
102 102
                         // Stop processing other type rules.
103 103
                         break;
@@ -105,11 +105,11 @@  discard block
 block discarded – undo
105 105
                 }
106 106
             }
107 107
 
108
-            if ( $job_qualify && ( ( false == $rule_properties['hash'] && false != $rule_properties['file'] ) || strpos( $req_type, 'template_' ) !== false ) ) {
108
+            if ($job_qualify && ((false == $rule_properties['hash'] && false != $rule_properties['file']) || strpos($req_type, 'template_') !== false)) {
109 109
                 // If job qualifies but rule hash is false and file isn't false (MANUAL rule) or if template, job does not qualify despite what previous evaluations says.
110 110
                 $job_qualify = false;
111
-                autoptimizeCriticalCSSCore::ao_ccss_log( 'Job submission DISQUALIFIED by MANUAL rule <' . $target_rule . '> with hash <' . $rule_properties['hash'] . '> and file <' . $rule_properties['file'] . '>', 3 );
112
-            } elseif ( ! $job_qualify && empty( $rule_properties ) ) {
111
+                autoptimizeCriticalCSSCore::ao_ccss_log('Job submission DISQUALIFIED by MANUAL rule <'.$target_rule.'> with hash <'.$rule_properties['hash'].'> and file <'.$rule_properties['file'].'>', 3);
112
+            } elseif (!$job_qualify && empty($rule_properties)) {
113 113
                 // But if job does not qualify and rule properties are set, job qualifies as there is no matching rule for it yet
114 114
                 // Fill-in the new target rule.
115 115
                 $job_qualify = true;
@@ -117,28 +117,28 @@  discard block
 block discarded – undo
117 117
                 // Should we switch to path-base AUTO-rules? Conditions:
118 118
                 // 1. forcepath option has to be enabled (off by default)
119 119
                 // 2. request type should be (by default, but filterable) one of is_page (removed for now: woo_is_product or woo_is_product_category).
120
-                if ( ( $ao_ccss_forcepath && in_array( $req_type, apply_filters( 'autoptimize_filter_ccss_coreenqueue_forcepathfortype', array( 'is_page' ) ) ) ) || apply_filters( 'autoptimize_filter_ccss_coreenqueue_ignorealltypes', false ) ) {
121
-                    if ( '/' !== $req_path ) {
122
-                        $target_rule = 'paths|' . $req_path;
120
+                if (($ao_ccss_forcepath && in_array($req_type, apply_filters('autoptimize_filter_ccss_coreenqueue_forcepathfortype', array('is_page')))) || apply_filters('autoptimize_filter_ccss_coreenqueue_ignorealltypes', false)) {
121
+                    if ('/' !== $req_path) {
122
+                        $target_rule = 'paths|'.$req_path;
123 123
                     } else {
124 124
                         // Exception; we don't want a path-based rule for "/" as that messes things up, hard-switch this to a type-based is_front_page rule.
125
-                        $target_rule = 'types|' . 'is_front_page';
125
+                        $target_rule = 'types|'.'is_front_page';
126 126
                     }
127 127
                 } else {
128
-                    $target_rule = 'types|' . $req_type;
128
+                    $target_rule = 'types|'.$req_type;
129 129
                 }
130
-                autoptimizeCriticalCSSCore::ao_ccss_log( 'Job submission QUALIFIED by MISSING rule for page type <' . $req_type . '> on path <' . $req_path . '>, new rule target is <' . $target_rule . '>', 3 );
130
+                autoptimizeCriticalCSSCore::ao_ccss_log('Job submission QUALIFIED by MISSING rule for page type <'.$req_type.'> on path <'.$req_path.'>, new rule target is <'.$target_rule.'>', 3);
131 131
             } else {
132 132
                 // Or just log a job qualified by a matching rule.
133
-                autoptimizeCriticalCSSCore::ao_ccss_log( 'Job submission QUALIFIED by AUTO rule <' . $target_rule . '> with hash <' . $rule_properties['hash'] . '> and file <' . $rule_properties['file'] . '>', 3 );
133
+                autoptimizeCriticalCSSCore::ao_ccss_log('Job submission QUALIFIED by AUTO rule <'.$target_rule.'> with hash <'.$rule_properties['hash'].'> and file <'.$rule_properties['file'].'>', 3);
134 134
             }
135 135
 
136 136
             // Submit job.
137
-            if ( $job_qualify ) {
138
-                if ( ! array_key_exists( $req_path, $ao_ccss_queue ) ) {
137
+            if ($job_qualify) {
138
+                if (!array_key_exists($req_path, $ao_ccss_queue)) {
139 139
                     // This is a NEW job
140 140
                     // Merge job into the queue.
141
-                    $ao_ccss_queue[ $req_path ] = $self->ao_ccss_define_job(
141
+                    $ao_ccss_queue[$req_path] = $self->ao_ccss_define_job(
142 142
                         $req_path,
143 143
                         $target_rule,
144 144
                         $req_type,
@@ -154,30 +154,30 @@  discard block
 block discarded – undo
154 154
                 } else {
155 155
                     // This is an existing job
156 156
                     // The job is still NEW, most likely this is extra CSS file for the same page that needs a hash.
157
-                    if ( 'NEW' == $ao_ccss_queue[ $req_path ]['jqstat'] ) {
157
+                    if ('NEW' == $ao_ccss_queue[$req_path]['jqstat']) {
158 158
                         // Add hash if it's not already in the job.
159
-                        if ( ! in_array( $hash, $ao_ccss_queue[ $req_path ]['hashes'] ) ) {
159
+                        if (!in_array($hash, $ao_ccss_queue[$req_path]['hashes'])) {
160 160
                             // Push new hash to its array and update flag.
161
-                            $queue_update = array_push( $ao_ccss_queue[ $req_path ]['hashes'], $hash );
161
+                            $queue_update = array_push($ao_ccss_queue[$req_path]['hashes'], $hash);
162 162
 
163 163
                             // Log job update.
164
-                            autoptimizeCriticalCSSCore::ao_ccss_log( 'Hashes UPDATED on local job id <' . $ao_ccss_queue[ $req_path ]['ljid'] . '>, job status NEW, target rule <' . $ao_ccss_queue[ $req_path ]['rtarget'] . '>, hash added: ' . $hash, 3 );
164
+                            autoptimizeCriticalCSSCore::ao_ccss_log('Hashes UPDATED on local job id <'.$ao_ccss_queue[$req_path]['ljid'].'>, job status NEW, target rule <'.$ao_ccss_queue[$req_path]['rtarget'].'>, hash added: '.$hash, 3);
165 165
 
166 166
                             // Return from here as the hash array is already updated.
167 167
                             return true;
168 168
                         }
169
-                    } elseif ( 'NEW' != $ao_ccss_queue[ $req_path ]['jqstat'] && 'JOB_QUEUED' != $ao_ccss_queue[ $req_path ]['jqstat'] && 'JOB_ONGOING' != $ao_ccss_queue[ $req_path ]['jqstat'] ) {
169
+                    } elseif ('NEW' != $ao_ccss_queue[$req_path]['jqstat'] && 'JOB_QUEUED' != $ao_ccss_queue[$req_path]['jqstat'] && 'JOB_ONGOING' != $ao_ccss_queue[$req_path]['jqstat']) {
170 170
                         // Allow requeuing jobs that are not NEW, JOB_QUEUED or JOB_ONGOING
171 171
                         // Merge new job keeping some previous job values.
172
-                        $ao_ccss_queue[ $req_path ] = $self->ao_ccss_define_job(
172
+                        $ao_ccss_queue[$req_path] = $self->ao_ccss_define_job(
173 173
                             $req_path,
174 174
                             $target_rule,
175 175
                             $req_type,
176 176
                             $hash,
177
-                            $ao_ccss_queue[ $req_path ]['file'],
178
-                            $ao_ccss_queue[ $req_path ]['jid'],
179
-                            $ao_ccss_queue[ $req_path ]['jrstat'],
180
-                            $ao_ccss_queue[ $req_path ]['jvstat'],
177
+                            $ao_ccss_queue[$req_path]['file'],
178
+                            $ao_ccss_queue[$req_path]['jid'],
179
+                            $ao_ccss_queue[$req_path]['jrstat'],
180
+                            $ao_ccss_queue[$req_path]['jvstat'],
181 181
                             false
182 182
                         );
183 183
                         // Set update flag.
@@ -185,14 +185,14 @@  discard block
 block discarded – undo
185 185
                     }
186 186
                 }
187 187
 
188
-                if ( $queue_update ) {
188
+                if ($queue_update) {
189 189
                     // Persist the job to the queue and return.
190
-                    $ao_ccss_queue_raw = json_encode( $ao_ccss_queue );
191
-                    update_option( 'autoptimize_ccss_queue', $ao_ccss_queue_raw, false );
190
+                    $ao_ccss_queue_raw = json_encode($ao_ccss_queue);
191
+                    update_option('autoptimize_ccss_queue', $ao_ccss_queue_raw, false);
192 192
                     return true;
193 193
                 } else {
194 194
                     // Or just return false if no job was added.
195
-                    autoptimizeCriticalCSSCore::ao_ccss_log( 'A job for path <' . $req_path . '> already exist with NEW or PENDING status, skipping job creation', 3 );
195
+                    autoptimizeCriticalCSSCore::ao_ccss_log('A job for path <'.$req_path.'> already exist with NEW or PENDING status, skipping job creation', 3);
196 196
                     return false;
197 197
                 }
198 198
             }
@@ -209,33 +209,33 @@  discard block
 block discarded – undo
209 209
         $page_type = false;
210 210
 
211 211
         // Iterates over the array to match a type.
212
-        foreach ( $ao_ccss_types as $type ) {
213
-            if ( is_404() ) {
212
+        foreach ($ao_ccss_types as $type) {
213
+            if (is_404()) {
214 214
                 $page_type = 'is_404';
215 215
                 break;
216
-            } elseif ( is_front_page() ) {
216
+            } elseif (is_front_page()) {
217 217
                 // identify frontpage immediately to avoid it also matching a CPT or template.
218 218
                 $page_type = 'is_front_page';
219 219
                 break;
220
-            } elseif ( strpos( $type, 'custom_post_' ) !== false && ( ! $ao_ccss_forcepath || ! is_page() ) ) {
220
+            } elseif (strpos($type, 'custom_post_') !== false && (!$ao_ccss_forcepath || !is_page())) {
221 221
                 // Match custom post types and not page or page not forced to path-based.
222
-                if ( get_post_type( get_the_ID() ) === substr( $type, 12 ) ) {
222
+                if (get_post_type(get_the_ID()) === substr($type, 12)) {
223 223
                     $page_type = $type;
224 224
                     break;
225 225
                 }
226
-            } elseif ( strpos( $type, 'template_' ) !== false && ( ! $ao_ccss_forcepath || ! is_page() ) ) {
226
+            } elseif (strpos($type, 'template_') !== false && (!$ao_ccss_forcepath || !is_page())) {
227 227
                 // Match templates if not page or if page is not forced to path-based.
228
-                if ( is_page_template( substr( $type, 9 ) ) ) {
228
+                if (is_page_template(substr($type, 9))) {
229 229
                     $page_type = $type;
230 230
                     break;
231 231
                 }
232 232
             } else {
233 233
                 // Match all other existing types
234 234
                 // but remove prefix to be able to check if the function exists & returns true.
235
-                $_type = str_replace( array( 'woo_', 'bp_', 'bbp_', 'edd_' ), '', $type );
236
-                if ( function_exists( $_type ) && call_user_func( $_type ) ) {
235
+                $_type = str_replace(array('woo_', 'bp_', 'bbp_', 'edd_'), '', $type);
236
+                if (function_exists($_type) && call_user_func($_type)) {
237 237
                     // Make sure we only return for one page, not for the "paged pages" (/page/2 ..).
238
-                    if ( ! is_page() || ! is_paged() ) {
238
+                    if (!is_page() || !is_paged()) {
239 239
                         $page_type = $type;
240 240
                         break;
241 241
                     }
@@ -247,44 +247,44 @@  discard block
 block discarded – undo
247 247
         return $page_type;
248 248
     }
249 249
 
250
-    public function ao_ccss_define_job( $path, $target, $type, $hash, $file, $jid, $jrstat, $jvstat, $create ) {
250
+    public function ao_ccss_define_job($path, $target, $type, $hash, $file, $jid, $jrstat, $jvstat, $create) {
251 251
         // Define a job entry to be created or updated
252 252
         // Define commom job properties.
253 253
         $path            = array();
254 254
         $path['ljid']    = $this->ao_ccss_job_id();
255 255
         $path['rtarget'] = $target;
256 256
         $path['ptype']   = $type;
257
-        $path['hashes']  = array( $hash );
257
+        $path['hashes']  = array($hash);
258 258
         $path['hash']    = $hash;
259 259
         $path['file']    = $file;
260 260
         $path['jid']     = $jid;
261 261
         $path['jqstat']  = 'NEW';
262 262
         $path['jrstat']  = $jrstat;
263 263
         $path['jvstat']  = $jvstat;
264
-        $path['jctime']  = microtime( true );
264
+        $path['jctime']  = microtime(true);
265 265
         $path['jftime']  = null;
266 266
 
267 267
         // Set operation requested.
268
-        if ( $create ) {
268
+        if ($create) {
269 269
             $operation = 'CREATED';
270 270
         } else {
271 271
             $operation = 'UPDATED';
272 272
         }
273 273
 
274 274
         // Log job creation.
275
-        autoptimizeCriticalCSSCore::ao_ccss_log( 'Job ' . $operation . ' with local job id <' . $path['ljid'] . '> for target rule <' . $target . '>', 3 );
275
+        autoptimizeCriticalCSSCore::ao_ccss_log('Job '.$operation.' with local job id <'.$path['ljid'].'> for target rule <'.$target.'>', 3);
276 276
 
277 277
         return $path;
278 278
     }
279 279
 
280
-    public function ao_ccss_job_id( $length = 6 ) {
280
+    public function ao_ccss_job_id($length = 6) {
281 281
         // Generate random strings for the local job ID
282 282
         // Based on https://stackoverflow.com/a/4356295 .
283 283
         $characters        = '0123456789abcdefghijklmnopqrstuvwxyz';
284
-        $characters_length = strlen( $characters );
284
+        $characters_length = strlen($characters);
285 285
         $random_string     = 'j-';
286
-        for ( $i = 0; $i < $length; $i++ ) {
287
-            $random_string .= $characters[ rand( 0, $characters_length - 1 ) ];
286
+        for ($i = 0; $i < $length; $i++) {
287
+            $random_string .= $characters[rand(0, $characters_length - 1)];
288 288
         }
289 289
         return $random_string;
290 290
     }
@@ -292,17 +292,17 @@  discard block
 block discarded – undo
292 292
     public function ao_ccss_ua() {
293 293
         // Check for criticalcss.com user agent.
294 294
         $agent = '';
295
-        if ( isset( $_SERVER['HTTP_USER_AGENT'] ) ) {
295
+        if (isset($_SERVER['HTTP_USER_AGENT'])) {
296 296
             $agent = $_SERVER['HTTP_USER_AGENT'];
297 297
         }
298 298
 
299 299
         // Check for UA and return TRUE when criticalcss.com is the detected UA, false when not.
300
-        $rtn = strpos( $agent, AO_CCSS_URL );
301
-        if ( 0 === $rtn ) {
300
+        $rtn = strpos($agent, AO_CCSS_URL);
301
+        if (0 === $rtn) {
302 302
             $rtn = true;
303 303
         } else {
304 304
             $rtn = false;
305 305
         }
306
-        return ( $rtn );
306
+        return ($rtn);
307 307
     }
308 308
 }
Please login to merge, or discard this patch.
classes/autoptimizeMain.php 1 patch
Spacing   +182 added lines, -182 removed lines patch added patch discarded remove patch
@@ -3,7 +3,7 @@  discard block
 block discarded – undo
3 3
  * Wraps base plugin logic/hooks and handles activation/deactivation/uninstall.
4 4
  */
5 5
 
6
-if ( ! defined( 'ABSPATH' ) ) {
6
+if (!defined('ABSPATH')) {
7 7
     exit;
8 8
 }
9 9
 
@@ -33,7 +33,7 @@  discard block
 block discarded – undo
33 33
      * @param string $version Version.
34 34
      * @param string $filepath Filepath. Needed for activation/deactivation/uninstall hooks.
35 35
      */
36
-    public function __construct( $version, $filepath )
36
+    public function __construct($version, $filepath)
37 37
     {
38 38
         $this->version  = $version;
39 39
         $this->filepath = $filepath;
@@ -50,101 +50,101 @@  discard block
 block discarded – undo
50 50
 
51 51
     protected function add_hooks()
52 52
     {
53
-        if ( ! defined( 'AUTOPTIMIZE_SETUP_INITHOOK' ) ) {
54
-            define( 'AUTOPTIMIZE_SETUP_INITHOOK', 'plugins_loaded' );
53
+        if (!defined('AUTOPTIMIZE_SETUP_INITHOOK')) {
54
+            define('AUTOPTIMIZE_SETUP_INITHOOK', 'plugins_loaded');
55 55
         }
56 56
 
57
-        add_action( AUTOPTIMIZE_SETUP_INITHOOK, array( $this, 'setup' ) );
58
-        add_action( AUTOPTIMIZE_SETUP_INITHOOK, array( $this, 'hook_page_cache_purge' ) );
57
+        add_action(AUTOPTIMIZE_SETUP_INITHOOK, array($this, 'setup'));
58
+        add_action(AUTOPTIMIZE_SETUP_INITHOOK, array($this, 'hook_page_cache_purge'));
59 59
 
60
-        add_action( 'autoptimize_setup_done', array( $this, 'version_upgrades_check' ) );
61
-        add_action( 'autoptimize_setup_done', array( $this, 'check_cache_and_run' ) );
62
-        add_action( 'autoptimize_setup_done', array( $this, 'maybe_run_ao_extra' ), 15 );
63
-        add_action( 'autoptimize_setup_done', array( $this, 'maybe_run_partners_tab' ), 20 );
64
-        add_action( 'autoptimize_setup_done', array( $this, 'maybe_run_criticalcss' ), 11 );
65
-        add_action( 'autoptimize_setup_done', array( $this, 'maybe_run_notfound_fallback' ), 10 );
60
+        add_action('autoptimize_setup_done', array($this, 'version_upgrades_check'));
61
+        add_action('autoptimize_setup_done', array($this, 'check_cache_and_run'));
62
+        add_action('autoptimize_setup_done', array($this, 'maybe_run_ao_extra'), 15);
63
+        add_action('autoptimize_setup_done', array($this, 'maybe_run_partners_tab'), 20);
64
+        add_action('autoptimize_setup_done', array($this, 'maybe_run_criticalcss'), 11);
65
+        add_action('autoptimize_setup_done', array($this, 'maybe_run_notfound_fallback'), 10);
66 66
 
67
-        add_action( 'init', array( $this, 'load_textdomain' ) );
67
+        add_action('init', array($this, 'load_textdomain'));
68 68
 
69
-        if ( is_multisite() && is_admin() ) {
69
+        if (is_multisite() && is_admin()) {
70 70
             // Only if multisite and if in admin we want to check if we need to save options on network level.
71
-            add_action( 'init', 'autoptimizeOptionWrapper::check_multisite_on_saving_options' );
71
+            add_action('init', 'autoptimizeOptionWrapper::check_multisite_on_saving_options');
72 72
         }
73 73
 
74 74
         // register uninstall & deactivation hooks.
75
-        register_uninstall_hook( $this->filepath, 'autoptimizeMain::on_uninstall' );
76
-        register_deactivation_hook( $this->filepath, 'autoptimizeMain::on_deactivation' );
75
+        register_uninstall_hook($this->filepath, 'autoptimizeMain::on_uninstall');
76
+        register_deactivation_hook($this->filepath, 'autoptimizeMain::on_deactivation');
77 77
     }
78 78
 
79 79
     public function load_textdomain()
80 80
     {
81
-        load_plugin_textdomain( 'autoptimize' );
81
+        load_plugin_textdomain('autoptimize');
82 82
     }
83 83
 
84 84
     public function setup()
85 85
     {
86 86
         // Do we gzip in php when caching or is the webserver doing it?
87
-        define( 'AUTOPTIMIZE_CACHE_NOGZIP', (bool) autoptimizeOptionWrapper::get_option( 'autoptimize_cache_nogzip' ) );
87
+        define('AUTOPTIMIZE_CACHE_NOGZIP', (bool) autoptimizeOptionWrapper::get_option('autoptimize_cache_nogzip'));
88 88
 
89 89
         // These can be overridden by specifying them in wp-config.php or such.
90
-        if ( ! defined( 'AUTOPTIMIZE_WP_CONTENT_NAME' ) ) {
91
-            define( 'AUTOPTIMIZE_WP_CONTENT_NAME', '/' . wp_basename( WP_CONTENT_DIR ) );
90
+        if (!defined('AUTOPTIMIZE_WP_CONTENT_NAME')) {
91
+            define('AUTOPTIMIZE_WP_CONTENT_NAME', '/'.wp_basename(WP_CONTENT_DIR));
92 92
         }
93
-        if ( ! defined( 'AUTOPTIMIZE_CACHE_CHILD_DIR' ) ) {
94
-            define( 'AUTOPTIMIZE_CACHE_CHILD_DIR', '/cache/autoptimize/' );
93
+        if (!defined('AUTOPTIMIZE_CACHE_CHILD_DIR')) {
94
+            define('AUTOPTIMIZE_CACHE_CHILD_DIR', '/cache/autoptimize/');
95 95
         }
96
-        if ( ! defined( 'AUTOPTIMIZE_CACHEFILE_PREFIX' ) ) {
97
-            define( 'AUTOPTIMIZE_CACHEFILE_PREFIX', 'autoptimize_' );
96
+        if (!defined('AUTOPTIMIZE_CACHEFILE_PREFIX')) {
97
+            define('AUTOPTIMIZE_CACHEFILE_PREFIX', 'autoptimize_');
98 98
         }
99 99
         // Note: trailing slash is not optional!
100
-        if ( ! defined( 'AUTOPTIMIZE_CACHE_DIR' ) ) {
101
-            define( 'AUTOPTIMIZE_CACHE_DIR', autoptimizeCache::get_pathname() );
100
+        if (!defined('AUTOPTIMIZE_CACHE_DIR')) {
101
+            define('AUTOPTIMIZE_CACHE_DIR', autoptimizeCache::get_pathname());
102 102
         }
103 103
 
104
-        define( 'WP_ROOT_DIR', substr( WP_CONTENT_DIR, 0, strlen( WP_CONTENT_DIR ) - strlen( AUTOPTIMIZE_WP_CONTENT_NAME ) ) );
104
+        define('WP_ROOT_DIR', substr(WP_CONTENT_DIR, 0, strlen(WP_CONTENT_DIR) - strlen(AUTOPTIMIZE_WP_CONTENT_NAME)));
105 105
 
106
-        if ( ! defined( 'AUTOPTIMIZE_WP_SITE_URL' ) ) {
107
-            if ( function_exists( 'domain_mapping_siteurl' ) ) {
108
-                define( 'AUTOPTIMIZE_WP_SITE_URL', domain_mapping_siteurl( get_current_blog_id() ) );
106
+        if (!defined('AUTOPTIMIZE_WP_SITE_URL')) {
107
+            if (function_exists('domain_mapping_siteurl')) {
108
+                define('AUTOPTIMIZE_WP_SITE_URL', domain_mapping_siteurl(get_current_blog_id()));
109 109
             } else {
110
-                define( 'AUTOPTIMIZE_WP_SITE_URL', site_url() );
110
+                define('AUTOPTIMIZE_WP_SITE_URL', site_url());
111 111
             }
112 112
         }
113
-        if ( ! defined( 'AUTOPTIMIZE_WP_CONTENT_URL' ) ) {
114
-            if ( function_exists( 'get_original_url' ) ) {
115
-                define( 'AUTOPTIMIZE_WP_CONTENT_URL', str_replace( get_original_url( AUTOPTIMIZE_WP_SITE_URL ), AUTOPTIMIZE_WP_SITE_URL, content_url() ) );
113
+        if (!defined('AUTOPTIMIZE_WP_CONTENT_URL')) {
114
+            if (function_exists('get_original_url')) {
115
+                define('AUTOPTIMIZE_WP_CONTENT_URL', str_replace(get_original_url(AUTOPTIMIZE_WP_SITE_URL), AUTOPTIMIZE_WP_SITE_URL, content_url()));
116 116
             } else {
117
-                define( 'AUTOPTIMIZE_WP_CONTENT_URL', content_url() );
117
+                define('AUTOPTIMIZE_WP_CONTENT_URL', content_url());
118 118
             }
119 119
         }
120
-        if ( ! defined( 'AUTOPTIMIZE_CACHE_URL' ) ) {
121
-            if ( is_multisite() && apply_filters( 'autoptimize_separate_blog_caches', true ) ) {
120
+        if (!defined('AUTOPTIMIZE_CACHE_URL')) {
121
+            if (is_multisite() && apply_filters('autoptimize_separate_blog_caches', true)) {
122 122
                 $blog_id = get_current_blog_id();
123
-                define( 'AUTOPTIMIZE_CACHE_URL', AUTOPTIMIZE_WP_CONTENT_URL . AUTOPTIMIZE_CACHE_CHILD_DIR . $blog_id . '/' );
123
+                define('AUTOPTIMIZE_CACHE_URL', AUTOPTIMIZE_WP_CONTENT_URL.AUTOPTIMIZE_CACHE_CHILD_DIR.$blog_id.'/');
124 124
             } else {
125
-                define( 'AUTOPTIMIZE_CACHE_URL', AUTOPTIMIZE_WP_CONTENT_URL . AUTOPTIMIZE_CACHE_CHILD_DIR );
125
+                define('AUTOPTIMIZE_CACHE_URL', AUTOPTIMIZE_WP_CONTENT_URL.AUTOPTIMIZE_CACHE_CHILD_DIR);
126 126
             }
127 127
         }
128
-        if ( ! defined( 'AUTOPTIMIZE_WP_ROOT_URL' ) ) {
129
-            define( 'AUTOPTIMIZE_WP_ROOT_URL', str_replace( AUTOPTIMIZE_WP_CONTENT_NAME, '', AUTOPTIMIZE_WP_CONTENT_URL ) );
128
+        if (!defined('AUTOPTIMIZE_WP_ROOT_URL')) {
129
+            define('AUTOPTIMIZE_WP_ROOT_URL', str_replace(AUTOPTIMIZE_WP_CONTENT_NAME, '', AUTOPTIMIZE_WP_CONTENT_URL));
130 130
         }
131
-        if ( ! defined( 'AUTOPTIMIZE_HASH' ) ) {
132
-            define( 'AUTOPTIMIZE_HASH', wp_hash( AUTOPTIMIZE_CACHE_URL ) );
131
+        if (!defined('AUTOPTIMIZE_HASH')) {
132
+            define('AUTOPTIMIZE_HASH', wp_hash(AUTOPTIMIZE_CACHE_URL));
133 133
         }
134
-        if ( ! defined( 'AUTOPTIMIZE_SITE_DOMAIN' ) ) {
135
-            define( 'AUTOPTIMIZE_SITE_DOMAIN', parse_url( AUTOPTIMIZE_WP_SITE_URL, PHP_URL_HOST ) );
134
+        if (!defined('AUTOPTIMIZE_SITE_DOMAIN')) {
135
+            define('AUTOPTIMIZE_SITE_DOMAIN', parse_url(AUTOPTIMIZE_WP_SITE_URL, PHP_URL_HOST));
136 136
         }
137 137
 
138 138
         // Multibyte-capable string replacements are available with a filter.
139 139
         // Also requires 'mbstring' extension.
140
-        $with_mbstring = apply_filters( 'autoptimize_filter_main_use_mbstring', false );
141
-        if ( $with_mbstring ) {
142
-            autoptimizeUtils::mbstring_available( \extension_loaded( 'mbstring' ) );
140
+        $with_mbstring = apply_filters('autoptimize_filter_main_use_mbstring', false);
141
+        if ($with_mbstring) {
142
+            autoptimizeUtils::mbstring_available(\extension_loaded('mbstring'));
143 143
         } else {
144
-            autoptimizeUtils::mbstring_available( false );
144
+            autoptimizeUtils::mbstring_available(false);
145 145
         }
146 146
 
147
-        do_action( 'autoptimize_setup_done' );
147
+        do_action('autoptimize_setup_done');
148 148
     }
149 149
 
150 150
     /**
@@ -154,61 +154,61 @@  discard block
 block discarded – undo
154 154
      */
155 155
     public function version_upgrades_check()
156 156
     {
157
-        autoptimizeVersionUpdatesHandler::check_installed_and_update( $this->version );
157
+        autoptimizeVersionUpdatesHandler::check_installed_and_update($this->version);
158 158
     }
159 159
 
160 160
     public function check_cache_and_run()
161 161
     {
162
-        if ( autoptimizeCache::cacheavail() ) {
162
+        if (autoptimizeCache::cacheavail()) {
163 163
             $conf = autoptimizeConfig::instance();
164
-            if ( $conf->get( 'autoptimize_html' ) || $conf->get( 'autoptimize_js' ) || $conf->get( 'autoptimize_css' ) || autoptimizeImages::imgopt_active() || autoptimizeImages::should_lazyload_wrapper() ) {
165
-                if ( ! defined( 'AUTOPTIMIZE_NOBUFFER_OPTIMIZE' ) ) {
164
+            if ($conf->get('autoptimize_html') || $conf->get('autoptimize_js') || $conf->get('autoptimize_css') || autoptimizeImages::imgopt_active() || autoptimizeImages::should_lazyload_wrapper()) {
165
+                if (!defined('AUTOPTIMIZE_NOBUFFER_OPTIMIZE')) {
166 166
                     // Hook into WordPress frontend.
167
-                    if ( defined( 'AUTOPTIMIZE_INIT_EARLIER' ) ) {
167
+                    if (defined('AUTOPTIMIZE_INIT_EARLIER')) {
168 168
                         add_action(
169 169
                             'init',
170
-                            array( $this, 'start_buffering' ),
170
+                            array($this, 'start_buffering'),
171 171
                             self::INIT_EARLIER_PRIORITY
172 172
                         );
173 173
                     } else {
174
-                        if ( ! defined( 'AUTOPTIMIZE_HOOK_INTO' ) ) {
175
-                            define( 'AUTOPTIMIZE_HOOK_INTO', 'template_redirect' );
174
+                        if (!defined('AUTOPTIMIZE_HOOK_INTO')) {
175
+                            define('AUTOPTIMIZE_HOOK_INTO', 'template_redirect');
176 176
                         }
177 177
                         add_action(
178
-                            constant( 'AUTOPTIMIZE_HOOK_INTO' ),
179
-                            array( $this, 'start_buffering' ),
178
+                            constant('AUTOPTIMIZE_HOOK_INTO'),
179
+                            array($this, 'start_buffering'),
180 180
                             self::DEFAULT_HOOK_PRIORITY
181 181
                         );
182 182
                     }
183 183
                 }
184 184
 
185 185
                 // And disable Jetpack's site accelerator if JS or CSS opt. are active.
186
-                if ( class_exists( 'Jetpack' ) && apply_filters( 'autoptimize_filter_main_disable_jetpack_cdn', true ) && ( $conf->get( 'autoptimize_js' ) || $conf->get( 'autoptimize_css' ) ) ) {
187
-                    add_filter( 'jetpack_force_disable_site_accelerator', '__return_true' );
186
+                if (class_exists('Jetpack') && apply_filters('autoptimize_filter_main_disable_jetpack_cdn', true) && ($conf->get('autoptimize_js') || $conf->get('autoptimize_css'))) {
187
+                    add_filter('jetpack_force_disable_site_accelerator', '__return_true');
188 188
                 }
189 189
             }
190 190
         } else {
191
-            add_action( 'admin_notices', 'autoptimizeMain::notice_cache_unavailable' );
191
+            add_action('admin_notices', 'autoptimizeMain::notice_cache_unavailable');
192 192
         }
193 193
     }
194 194
 
195 195
     public function maybe_run_ao_extra()
196 196
     {
197
-        if ( apply_filters( 'autoptimize_filter_extra_activate', true ) ) {
197
+        if (apply_filters('autoptimize_filter_extra_activate', true)) {
198 198
             $ao_imgopt = new autoptimizeImages();
199 199
             $ao_imgopt->run();
200 200
             $ao_extra = new autoptimizeExtra();
201 201
             $ao_extra->run();
202 202
 
203 203
             // And show the imgopt notice.
204
-            add_action( 'admin_notices', 'autoptimizeMain::notice_plug_imgopt' );
204
+            add_action('admin_notices', 'autoptimizeMain::notice_plug_imgopt');
205 205
         }
206 206
     }
207 207
 
208 208
     public function maybe_run_partners_tab()
209 209
     {
210 210
         // Loads partners tab code if in admin (and not in admin-ajax.php)!
211
-        if ( autoptimizeConfig::is_admin_and_not_ajax() ) {
211
+        if (autoptimizeConfig::is_admin_and_not_ajax()) {
212 212
             new autoptimizePartners();
213 213
         }
214 214
     }
@@ -216,22 +216,22 @@  discard block
 block discarded – undo
216 216
     public function maybe_run_criticalcss()
217 217
     {
218 218
         // Loads criticalcss if the power-up is not active and if the filter returns true.
219
-        if ( apply_filters( 'autoptimize_filter_criticalcss_active', true ) && ! autoptimizeUtils::is_plugin_active( 'autoptimize-criticalcss/ao_criticss_aas.php' ) ) {
219
+        if (apply_filters('autoptimize_filter_criticalcss_active', true) && !autoptimizeUtils::is_plugin_active('autoptimize-criticalcss/ao_criticss_aas.php')) {
220 220
             new autoptimizeCriticalCSSBase();
221 221
         }
222 222
     }
223 223
 
224 224
     public function maybe_run_notfound_fallback()
225 225
     {
226
-        if ( autoptimizeCache::do_fallback() ) {
227
-            add_action( 'template_redirect', array( 'autoptimizeCache', 'wordpress_notfound_fallback' ) );
226
+        if (autoptimizeCache::do_fallback()) {
227
+            add_action('template_redirect', array('autoptimizeCache', 'wordpress_notfound_fallback'));
228 228
         }
229 229
     }
230 230
 
231 231
     public function hook_page_cache_purge()
232 232
     {
233 233
         // hook into a collection of page cache purge actions if filter allows.
234
-        if ( apply_filters( 'autoptimize_filter_main_hookpagecachepurge', true ) ) {
234
+        if (apply_filters('autoptimize_filter_main_hookpagecachepurge', true)) {
235 235
             $page_cache_purge_actions = array(
236 236
                 'after_rocket_clean_domain', // exists.
237 237
                 'hyper_cache_purged', // Stefano confirmed this will be added.
@@ -246,9 +246,9 @@  discard block
 block discarded – undo
246 246
                 'wpo_cache_flush', // wp-optimize.
247 247
                 'rt_nginx_helper_after_fastcgi_purge_all', // nginx helper.
248 248
             );
249
-            $page_cache_purge_actions = apply_filters( 'autoptimize_filter_main_pagecachepurgeactions', $page_cache_purge_actions );
250
-            foreach ( $page_cache_purge_actions as $purge_action ) {
251
-                add_action( $purge_action, 'autoptimizeCache::clearall_actionless' );
249
+            $page_cache_purge_actions = apply_filters('autoptimize_filter_main_pagecachepurgeactions', $page_cache_purge_actions);
250
+            foreach ($page_cache_purge_actions as $purge_action) {
251
+                add_action($purge_action, 'autoptimizeCache::clearall_actionless');
252 252
             }
253 253
         }
254 254
     }
@@ -260,38 +260,38 @@  discard block
 block discarded – undo
260 260
      */
261 261
     public function start_buffering()
262 262
     {
263
-        if ( $this->should_buffer() ) {
263
+        if ($this->should_buffer()) {
264 264
 
265 265
             // Load speedupper conditionally (true by default).
266
-            if ( apply_filters( 'autoptimize_filter_speedupper', true ) ) {
266
+            if (apply_filters('autoptimize_filter_speedupper', true)) {
267 267
                 $ao_speedupper = new autoptimizeSpeedupper();
268 268
             }
269 269
 
270 270
             $conf = autoptimizeConfig::instance();
271 271
 
272
-            if ( $conf->get( 'autoptimize_js' ) ) {
273
-                if ( ! defined( 'CONCATENATE_SCRIPTS' ) ) {
274
-                    define( 'CONCATENATE_SCRIPTS', false );
272
+            if ($conf->get('autoptimize_js')) {
273
+                if (!defined('CONCATENATE_SCRIPTS')) {
274
+                    define('CONCATENATE_SCRIPTS', false);
275 275
                 }
276
-                if ( ! defined( 'COMPRESS_SCRIPTS' ) ) {
277
-                    define( 'COMPRESS_SCRIPTS', false );
276
+                if (!defined('COMPRESS_SCRIPTS')) {
277
+                    define('COMPRESS_SCRIPTS', false);
278 278
                 }
279 279
             }
280 280
 
281
-            if ( $conf->get( 'autoptimize_css' ) ) {
282
-                if ( ! defined( 'COMPRESS_CSS' ) ) {
283
-                    define( 'COMPRESS_CSS', false );
281
+            if ($conf->get('autoptimize_css')) {
282
+                if (!defined('COMPRESS_CSS')) {
283
+                    define('COMPRESS_CSS', false);
284 284
                 }
285 285
             }
286 286
 
287
-            if ( apply_filters( 'autoptimize_filter_obkiller', false ) ) {
288
-                while ( ob_get_level() > 0 ) {
287
+            if (apply_filters('autoptimize_filter_obkiller', false)) {
288
+                while (ob_get_level() > 0) {
289 289
                     ob_end_clean();
290 290
                 }
291 291
             }
292 292
 
293 293
             // Now, start the real thing!
294
-            ob_start( array( $this, 'end_buffering' ) );
294
+            ob_start(array($this, 'end_buffering'));
295 295
         }
296 296
     }
297 297
 
@@ -302,31 +302,31 @@  discard block
 block discarded – undo
302 302
      *                          deciding once per request (for use in tests).
303 303
      * @return bool
304 304
      */
305
-    public static function should_buffer( $doing_tests = false )
305
+    public static function should_buffer($doing_tests = false)
306 306
     {
307 307
         static $do_buffering = null;
308 308
 
309 309
         // Only check once in case we're called multiple times by others but
310 310
         // still allows multiple calls when doing tests.
311
-        if ( null === $do_buffering || $doing_tests ) {
311
+        if (null === $do_buffering || $doing_tests) {
312 312
 
313 313
             $ao_noptimize = false;
314 314
 
315 315
             // Checking for DONOTMINIFY constant as used by e.g. WooCommerce POS.
316
-            if ( defined( 'DONOTMINIFY' ) && ( constant( 'DONOTMINIFY' ) === true || constant( 'DONOTMINIFY' ) === 'true' ) ) {
316
+            if (defined('DONOTMINIFY') && (constant('DONOTMINIFY') === true || constant('DONOTMINIFY') === 'true')) {
317 317
                 $ao_noptimize = true;
318 318
             }
319 319
 
320 320
             // Skip checking query strings if they're disabled.
321
-            if ( apply_filters( 'autoptimize_filter_honor_qs_noptimize', true ) ) {
321
+            if (apply_filters('autoptimize_filter_honor_qs_noptimize', true)) {
322 322
                 // Check for `ao_noptimize` (and other) keys in the query string
323 323
                 // to get non-optimized page for debugging.
324 324
                 $keys = array(
325 325
                     'ao_noptimize',
326 326
                     'ao_noptirocket',
327 327
                 );
328
-                foreach ( $keys as $key ) {
329
-                    if ( array_key_exists( $key, $_GET ) && '1' === $_GET[ $key ] ) {
328
+                foreach ($keys as $key) {
329
+                    if (array_key_exists($key, $_GET) && '1' === $_GET[$key]) {
330 330
                         $ao_noptimize = true;
331 331
                         break;
332 332
                     }
@@ -334,15 +334,15 @@  discard block
 block discarded – undo
334 334
             }
335 335
 
336 336
             // If setting says not to optimize logged in user and user is logged in...
337
-            if ( false === $ao_noptimize && 'on' !== autoptimizeOptionWrapper::get_option( 'autoptimize_optimize_logged', 'on' ) && is_user_logged_in() && current_user_can( 'edit_posts' ) ) {
337
+            if (false === $ao_noptimize && 'on' !== autoptimizeOptionWrapper::get_option('autoptimize_optimize_logged', 'on') && is_user_logged_in() && current_user_can('edit_posts')) {
338 338
                 $ao_noptimize = true;
339 339
             }
340 340
 
341 341
             // If setting says not to optimize cart/checkout.
342
-            if ( false === $ao_noptimize && 'on' !== autoptimizeOptionWrapper::get_option( 'autoptimize_optimize_checkout', 'off' ) ) {
342
+            if (false === $ao_noptimize && 'on' !== autoptimizeOptionWrapper::get_option('autoptimize_optimize_checkout', 'off')) {
343 343
                 // Checking for woocommerce, easy digital downloads and wp ecommerce...
344
-                foreach ( array( 'is_checkout', 'is_cart', 'is_account_page', 'edd_is_checkout', 'wpsc_is_cart', 'wpsc_is_checkout' ) as $func ) {
345
-                    if ( function_exists( $func ) && $func() ) {
344
+                foreach (array('is_checkout', 'is_cart', 'is_account_page', 'edd_is_checkout', 'wpsc_is_cart', 'wpsc_is_checkout') as $func) {
345
+                    if (function_exists($func) && $func()) {
346 346
                         $ao_noptimize = true;
347 347
                         break;
348 348
                     }
@@ -350,10 +350,10 @@  discard block
 block discarded – undo
350 350
             }
351 351
 
352 352
             // And make sure pagebuilder previews don't get optimized HTML/ JS/ CSS/ ...
353
-            if ( false === $ao_noptimize ) {
354
-                $_qs_pagebuilders = array( 'tve', 'elementor-preview', 'fl_builder', 'vc_action', 'et_fb', 'bt-beaverbuildertheme', 'ct_builder', 'fb-edit', 'siteorigin_panels_live_editor' );
355
-                foreach ( $_qs_pagebuilders as $_pagebuilder ) {
356
-                    if ( array_key_exists( $_pagebuilder, $_GET ) ) {
353
+            if (false === $ao_noptimize) {
354
+                $_qs_pagebuilders = array('tve', 'elementor-preview', 'fl_builder', 'vc_action', 'et_fb', 'bt-beaverbuildertheme', 'ct_builder', 'fb-edit', 'siteorigin_panels_live_editor');
355
+                foreach ($_qs_pagebuilders as $_pagebuilder) {
356
+                    if (array_key_exists($_pagebuilder, $_GET)) {
357 357
                         $ao_noptimize = true;
358 358
                         break;
359 359
                     }
@@ -362,16 +362,16 @@  discard block
 block discarded – undo
362 362
 
363 363
             // Also honor PageSpeed=off parameter as used by mod_pagespeed, in use by some pagebuilders,
364 364
             // see https://www.modpagespeed.com/doc/experiment#ModPagespeed for info on that.
365
-            if ( false === $ao_noptimize && array_key_exists( 'PageSpeed', $_GET ) && 'off' === $_GET['PageSpeed'] ) {
365
+            if (false === $ao_noptimize && array_key_exists('PageSpeed', $_GET) && 'off' === $_GET['PageSpeed']) {
366 366
                 $ao_noptimize = true;
367 367
             }
368 368
 
369 369
             // And finally allows blocking of autoptimization on your own terms regardless of above decisions.
370
-            $ao_noptimize = (bool) apply_filters( 'autoptimize_filter_noptimize', $ao_noptimize );
370
+            $ao_noptimize = (bool) apply_filters('autoptimize_filter_noptimize', $ao_noptimize);
371 371
 
372 372
             // Check for site being previewed in the Customizer (available since WP 4.0).
373 373
             $is_customize_preview = false;
374
-            if ( function_exists( 'is_customize_preview' ) && is_customize_preview() ) {
374
+            if (function_exists('is_customize_preview') && is_customize_preview()) {
375 375
                 $is_customize_preview = is_customize_preview();
376 376
             }
377 377
 
@@ -382,7 +382,7 @@  discard block
 block discarded – undo
382 382
              * while the main query hasn't been ran yet. Thats why we use
383 383
              * AUTOPTIMIZE_INIT_EARLIER in tests.
384 384
              */
385
-            $do_buffering = ( ! is_admin() && ! is_feed() && ! is_embed() && ! $ao_noptimize && ! $is_customize_preview );
385
+            $do_buffering = (!is_admin() && !is_feed() && !is_embed() && !$ao_noptimize && !$is_customize_preview);
386 386
         }
387 387
 
388 388
         return $do_buffering;
@@ -395,25 +395,25 @@  discard block
 block discarded – undo
395 395
      *
396 396
      * @return bool
397 397
      */
398
-    public function is_valid_buffer( $content )
398
+    public function is_valid_buffer($content)
399 399
     {
400 400
         // Defaults to true.
401 401
         $valid = true;
402 402
 
403
-        $has_no_html_tag    = ( false === stripos( $content, '<html' ) );
404
-        $has_xsl_stylesheet = ( false !== stripos( $content, '<xsl:stylesheet' ) || false !== stripos( $content, '<?xml-stylesheet' ) );
405
-        $has_html5_doctype  = ( preg_match( '/^<!DOCTYPE.+html>/i', ltrim( $content ) ) > 0 );
406
-        $has_noptimize_page = ( false !== stripos( $content, '<!-- noptimize-page -->' ) );
403
+        $has_no_html_tag    = (false === stripos($content, '<html'));
404
+        $has_xsl_stylesheet = (false !== stripos($content, '<xsl:stylesheet') || false !== stripos($content, '<?xml-stylesheet'));
405
+        $has_html5_doctype  = (preg_match('/^<!DOCTYPE.+html>/i', ltrim($content)) > 0);
406
+        $has_noptimize_page = (false !== stripos($content, '<!-- noptimize-page -->'));
407 407
 
408
-        if ( $has_no_html_tag ) {
408
+        if ($has_no_html_tag) {
409 409
             // Can't be valid amp markup without an html tag preceding it.
410 410
             $is_amp_markup = false;
411 411
         } else {
412
-            $is_amp_markup = self::is_amp_markup( $content );
412
+            $is_amp_markup = self::is_amp_markup($content);
413 413
         }
414 414
 
415 415
         // If it's not html, or if it's amp or contains xsl stylesheets we don't touch it.
416
-        if ( $has_no_html_tag && ! $has_html5_doctype || $is_amp_markup || $has_xsl_stylesheet || $has_noptimize_page ) {
416
+        if ($has_no_html_tag && !$has_html5_doctype || $is_amp_markup || $has_xsl_stylesheet || $has_noptimize_page) {
417 417
             $valid = false;
418 418
         }
419 419
 
@@ -428,7 +428,7 @@  discard block
 block discarded – undo
428 428
      *
429 429
      * @return bool
430 430
      */
431
-    public static function is_amp_markup( $content )
431
+    public static function is_amp_markup($content)
432 432
     {
433 433
         // Short-circuit if the page is already AMP from the start.
434 434
         if (
@@ -446,9 +446,9 @@  discard block
 block discarded – undo
446 446
         }
447 447
 
448 448
         // Or else short-circuit if the AMP plugin will be processing the output to be an AMP page.
449
-        if ( function_exists( 'amp_is_request' ) ) {
449
+        if (function_exists('amp_is_request')) {
450 450
             return amp_is_request(); // For AMP plugin v2.0+.
451
-        } elseif ( function_exists( 'is_amp_endpoint' ) ) {
451
+        } elseif (function_exists('is_amp_endpoint')) {
452 452
             return is_amp_endpoint(); // For older/other AMP plugins (still supported in 2.0 as an alias).
453 453
         }
454 454
 
@@ -463,10 +463,10 @@  discard block
 block discarded – undo
463 463
      *
464 464
      * @return string
465 465
      */
466
-    public function end_buffering( $content )
466
+    public function end_buffering($content)
467 467
     {
468 468
         // Bail early without modifying anything if we can't handle the content.
469
-        if ( ! $this->is_valid_buffer( $content ) ) {
469
+        if (!$this->is_valid_buffer($content)) {
470 470
             return $content;
471 471
         }
472 472
 
@@ -474,74 +474,74 @@  discard block
 block discarded – undo
474 474
 
475 475
         // Determine what needs to be ran.
476 476
         $classes = array();
477
-        if ( $conf->get( 'autoptimize_js' ) ) {
477
+        if ($conf->get('autoptimize_js')) {
478 478
             $classes[] = 'autoptimizeScripts';
479 479
         }
480
-        if ( $conf->get( 'autoptimize_css' ) ) {
480
+        if ($conf->get('autoptimize_css')) {
481 481
             $classes[] = 'autoptimizeStyles';
482 482
         }
483
-        if ( $conf->get( 'autoptimize_html' ) ) {
483
+        if ($conf->get('autoptimize_html')) {
484 484
             $classes[] = 'autoptimizeHTML';
485 485
         }
486 486
 
487 487
         $classoptions = array(
488 488
             'autoptimizeScripts' => array(
489
-                'aggregate'           => $conf->get( 'autoptimize_js_aggregate' ),
490
-                'defer_not_aggregate' => $conf->get( 'autoptimize_js_defer_not_aggregate' ),
491
-                'justhead'            => $conf->get( 'autoptimize_js_justhead' ),
492
-                'forcehead'           => $conf->get( 'autoptimize_js_forcehead' ),
493
-                'trycatch'            => $conf->get( 'autoptimize_js_trycatch' ),
494
-                'js_exclude'          => $conf->get( 'autoptimize_js_exclude' ),
495
-                'cdn_url'             => $conf->get( 'autoptimize_cdn_url' ),
496
-                'include_inline'      => $conf->get( 'autoptimize_js_include_inline' ),
497
-                'minify_excluded'     => $conf->get( 'autoptimize_minify_excluded' ),
489
+                'aggregate'           => $conf->get('autoptimize_js_aggregate'),
490
+                'defer_not_aggregate' => $conf->get('autoptimize_js_defer_not_aggregate'),
491
+                'justhead'            => $conf->get('autoptimize_js_justhead'),
492
+                'forcehead'           => $conf->get('autoptimize_js_forcehead'),
493
+                'trycatch'            => $conf->get('autoptimize_js_trycatch'),
494
+                'js_exclude'          => $conf->get('autoptimize_js_exclude'),
495
+                'cdn_url'             => $conf->get('autoptimize_cdn_url'),
496
+                'include_inline'      => $conf->get('autoptimize_js_include_inline'),
497
+                'minify_excluded'     => $conf->get('autoptimize_minify_excluded'),
498 498
             ),
499 499
             'autoptimizeStyles'  => array(
500
-                'aggregate'       => $conf->get( 'autoptimize_css_aggregate' ),
501
-                'justhead'        => $conf->get( 'autoptimize_css_justhead' ),
502
-                'datauris'        => $conf->get( 'autoptimize_css_datauris' ),
503
-                'defer'           => $conf->get( 'autoptimize_css_defer' ),
504
-                'defer_inline'    => $conf->get( 'autoptimize_css_defer_inline' ),
505
-                'inline'          => $conf->get( 'autoptimize_css_inline' ),
506
-                'css_exclude'     => $conf->get( 'autoptimize_css_exclude' ),
507
-                'cdn_url'         => $conf->get( 'autoptimize_cdn_url' ),
508
-                'include_inline'  => $conf->get( 'autoptimize_css_include_inline' ),
509
-                'nogooglefont'    => $conf->get( 'autoptimize_css_nogooglefont' ),
510
-                'minify_excluded' => $conf->get( 'autoptimize_minify_excluded' ),
500
+                'aggregate'       => $conf->get('autoptimize_css_aggregate'),
501
+                'justhead'        => $conf->get('autoptimize_css_justhead'),
502
+                'datauris'        => $conf->get('autoptimize_css_datauris'),
503
+                'defer'           => $conf->get('autoptimize_css_defer'),
504
+                'defer_inline'    => $conf->get('autoptimize_css_defer_inline'),
505
+                'inline'          => $conf->get('autoptimize_css_inline'),
506
+                'css_exclude'     => $conf->get('autoptimize_css_exclude'),
507
+                'cdn_url'         => $conf->get('autoptimize_cdn_url'),
508
+                'include_inline'  => $conf->get('autoptimize_css_include_inline'),
509
+                'nogooglefont'    => $conf->get('autoptimize_css_nogooglefont'),
510
+                'minify_excluded' => $conf->get('autoptimize_minify_excluded'),
511 511
             ),
512 512
             'autoptimizeHTML'    => array(
513
-                'keepcomments' => $conf->get( 'autoptimize_html_keepcomments' ),
513
+                'keepcomments' => $conf->get('autoptimize_html_keepcomments'),
514 514
             ),
515 515
         );
516 516
 
517
-        $content = apply_filters( 'autoptimize_filter_html_before_minify', $content );
517
+        $content = apply_filters('autoptimize_filter_html_before_minify', $content);
518 518
 
519 519
         // Run the classes!
520
-        foreach ( $classes as $name ) {
521
-            $instance = new $name( $content );
522
-            if ( $instance->read( $classoptions[ $name ] ) ) {
520
+        foreach ($classes as $name) {
521
+            $instance = new $name($content);
522
+            if ($instance->read($classoptions[$name])) {
523 523
                 $instance->minify();
524 524
                 $instance->cache();
525 525
                 $content = $instance->getcontent();
526 526
             }
527
-            unset( $instance );
527
+            unset($instance);
528 528
         }
529 529
 
530
-        $content = apply_filters( 'autoptimize_html_after_minify', $content );
530
+        $content = apply_filters('autoptimize_html_after_minify', $content);
531 531
 
532 532
         return $content;
533 533
     }
534 534
 
535
-    public static function autoptimize_nobuffer_optimize( $html_in ) {
535
+    public static function autoptimize_nobuffer_optimize($html_in) {
536 536
         $html_out = $html_in;
537 537
 
538
-        if ( apply_filters( 'autoptimize_filter_speedupper', true ) ) {
538
+        if (apply_filters('autoptimize_filter_speedupper', true)) {
539 539
             $ao_speedupper = new autoptimizeSpeedupper();
540 540
         }
541 541
 
542
-        $self = new self( AUTOPTIMIZE_PLUGIN_VERSION, AUTOPTIMIZE_PLUGIN_FILE );
543
-        if ( $self->should_buffer() ) {
544
-            $html_out = $self->end_buffering( $html_in );
542
+        $self = new self(AUTOPTIMIZE_PLUGIN_VERSION, AUTOPTIMIZE_PLUGIN_FILE);
543
+        if ($self->should_buffer()) {
544
+            $html_out = $self->end_buffering($html_in);
545 545
         }
546 546
         return $html_out;
547 547
     }
@@ -605,45 +605,45 @@  discard block
 block discarded – undo
605 605
             'autoptimize_ccss_unloadccss',
606 606
         );
607 607
 
608
-        if ( ! is_multisite() ) {
609
-            foreach ( $delete_options as $del_opt ) {
610
-                delete_option( $del_opt );
608
+        if (!is_multisite()) {
609
+            foreach ($delete_options as $del_opt) {
610
+                delete_option($del_opt);
611 611
             }
612 612
             autoptimizeMain::remove_cronjobs();
613 613
         } else {
614 614
             global $wpdb;
615
-            $blog_ids         = $wpdb->get_col( "SELECT blog_id FROM $wpdb->blogs" );
615
+            $blog_ids         = $wpdb->get_col("SELECT blog_id FROM $wpdb->blogs");
616 616
             $original_blog_id = get_current_blog_id();
617
-            foreach ( $blog_ids as $blog_id ) {
618
-                switch_to_blog( $blog_id );
619
-                foreach ( $delete_options as $del_opt ) {
620
-                    delete_option( $del_opt );
617
+            foreach ($blog_ids as $blog_id) {
618
+                switch_to_blog($blog_id);
619
+                foreach ($delete_options as $del_opt) {
620
+                    delete_option($del_opt);
621 621
                 }
622 622
                 autoptimizeMain::remove_cronjobs();
623 623
             }
624
-            switch_to_blog( $original_blog_id );
624
+            switch_to_blog($original_blog_id);
625 625
         }
626 626
 
627 627
         // Remove AO CCSS cached files and directory.
628
-        $ao_ccss_dir = WP_CONTENT_DIR . '/uploads/ao_ccss/';
629
-        if ( file_exists( $ao_ccss_dir ) && is_dir( $ao_ccss_dir ) ) {
628
+        $ao_ccss_dir = WP_CONTENT_DIR.'/uploads/ao_ccss/';
629
+        if (file_exists($ao_ccss_dir) && is_dir($ao_ccss_dir)) {
630 630
             // fixme: should check for subdirs when in multisite and remove contents of those as well.
631
-            array_map( 'unlink', glob( $ao_ccss_dir . '*.{css,html,json,log,zip,lock}', GLOB_BRACE ) );
632
-            rmdir( $ao_ccss_dir );
631
+            array_map('unlink', glob($ao_ccss_dir.'*.{css,html,json,log,zip,lock}', GLOB_BRACE));
632
+            rmdir($ao_ccss_dir);
633 633
         }
634 634
     }
635 635
 
636 636
     public static function on_deactivation()
637 637
     {
638
-        if ( is_multisite() && is_network_admin() ) {
638
+        if (is_multisite() && is_network_admin()) {
639 639
             global $wpdb;
640
-            $blog_ids         = $wpdb->get_col( "SELECT blog_id FROM $wpdb->blogs" );
640
+            $blog_ids         = $wpdb->get_col("SELECT blog_id FROM $wpdb->blogs");
641 641
             $original_blog_id = get_current_blog_id();
642
-            foreach ( $blog_ids as $blog_id ) {
643
-                switch_to_blog( $blog_id );
642
+            foreach ($blog_ids as $blog_id) {
643
+                switch_to_blog($blog_id);
644 644
                 autoptimizeMain::remove_cronjobs();
645 645
             }
646
-            switch_to_blog( $original_blog_id );
646
+            switch_to_blog($original_blog_id);
647 647
         } else {
648 648
             autoptimizeMain::remove_cronjobs();
649 649
         }
@@ -652,9 +652,9 @@  discard block
 block discarded – undo
652 652
 
653 653
     public static function remove_cronjobs() {
654 654
         // Remove scheduled events.
655
-        foreach ( array( 'ao_cachechecker', 'ao_ccss_queue', 'ao_ccss_maintenance' ) as $_event ) {
656
-            if ( wp_get_schedule( $_event ) ) {
657
-                wp_clear_scheduled_hook( $_event );
655
+        foreach (array('ao_cachechecker', 'ao_ccss_queue', 'ao_ccss_maintenance') as $_event) {
656
+            if (wp_get_schedule($_event)) {
657
+                wp_clear_scheduled_hook($_event);
658 658
             }
659 659
         }
660 660
     }
@@ -663,36 +663,36 @@  discard block
 block discarded – undo
663 663
     {
664 664
         echo '<div class="error"><p>';
665 665
         // Translators: %s is the cache directory location.
666
-        printf( __( 'Autoptimize cannot write to the cache directory (%s), please fix to enable CSS/ JS optimization!', 'autoptimize' ), AUTOPTIMIZE_CACHE_DIR );
666
+        printf(__('Autoptimize cannot write to the cache directory (%s), please fix to enable CSS/ JS optimization!', 'autoptimize'), AUTOPTIMIZE_CACHE_DIR);
667 667
         echo '</p></div>';
668 668
     }
669 669
 
670 670
     public static function notice_installed()
671 671
     {
672 672
         echo '<div class="updated"><p>';
673
-        _e( 'Thank you for installing and activating Autoptimize. Please configure it under "Settings" -> "Autoptimize" to start improving your site\'s performance.', 'autoptimize' );
673
+        _e('Thank you for installing and activating Autoptimize. Please configure it under "Settings" -> "Autoptimize" to start improving your site\'s performance.', 'autoptimize');
674 674
         echo '</p></div>';
675 675
     }
676 676
 
677 677
     public static function notice_updated()
678 678
     {
679 679
         echo '<div class="updated"><p>';
680
-        _e( 'Autoptimize has just been updated. Please <strong>test your site now</strong> and adapt Autoptimize config if needed.', 'autoptimize' );
680
+        _e('Autoptimize has just been updated. Please <strong>test your site now</strong> and adapt Autoptimize config if needed.', 'autoptimize');
681 681
         echo '</p></div>';
682 682
     }
683 683
 
684 684
     public static function notice_plug_imgopt()
685 685
     {
686 686
         // Translators: the URL added points to the Autopmize Extra settings.
687
-        $_ao_imgopt_plug_notice      = sprintf( __( 'Did you know Autoptimize includes on-the-fly image optimization (with support for WebP and AVIF) and CDN via ShortPixel? Check out the %1$sAutoptimize Image settings%2$s to activate this option.', 'autoptimize' ), '<a href="options-general.php?page=autoptimize_imgopt">', '</a>' );
688
-        $_ao_imgopt_plug_notice      = apply_filters( 'autoptimize_filter_main_imgopt_plug_notice', $_ao_imgopt_plug_notice );
687
+        $_ao_imgopt_plug_notice      = sprintf(__('Did you know Autoptimize includes on-the-fly image optimization (with support for WebP and AVIF) and CDN via ShortPixel? Check out the %1$sAutoptimize Image settings%2$s to activate this option.', 'autoptimize'), '<a href="options-general.php?page=autoptimize_imgopt">', '</a>');
688
+        $_ao_imgopt_plug_notice      = apply_filters('autoptimize_filter_main_imgopt_plug_notice', $_ao_imgopt_plug_notice);
689 689
         $_ao_imgopt_launch_ok        = autoptimizeImages::launch_ok_wrapper();
690 690
         $_ao_imgopt_plug_dismissible = 'ao-img-opt-plug-123';
691 691
         $_ao_imgopt_active           = autoptimizeImages::imgopt_active();
692
-        $_is_ao_settings_page        = ( str_replace( array( 'autoptimize', 'autoptimize_imgopt', 'ao_critcss', 'autoptimize_extra', 'ao_partners' ), '', $_SERVER['REQUEST_URI'] ) !== $_SERVER['REQUEST_URI'] ? true : false );
692
+        $_is_ao_settings_page        = (str_replace(array('autoptimize', 'autoptimize_imgopt', 'ao_critcss', 'autoptimize_extra', 'ao_partners'), '', $_SERVER['REQUEST_URI']) !== $_SERVER['REQUEST_URI'] ? true : false);
693 693
 
694
-        if ( current_user_can( 'manage_options' ) && $_is_ao_settings_page && '' !== $_ao_imgopt_plug_notice && ! $_ao_imgopt_active && $_ao_imgopt_launch_ok && PAnD::is_admin_notice_active( $_ao_imgopt_plug_dismissible ) ) {
695
-            echo '<div class="notice notice-info is-dismissible" data-dismissible="' . $_ao_imgopt_plug_dismissible . '"><p>';
694
+        if (current_user_can('manage_options') && $_is_ao_settings_page && '' !== $_ao_imgopt_plug_notice && !$_ao_imgopt_active && $_ao_imgopt_launch_ok && PAnD::is_admin_notice_active($_ao_imgopt_plug_dismissible)) {
695
+            echo '<div class="notice notice-info is-dismissible" data-dismissible="'.$_ao_imgopt_plug_dismissible.'"><p>';
696 696
             echo $_ao_imgopt_plug_notice;
697 697
             echo '</p></div>';
698 698
         }
Please login to merge, or discard this patch.
classes/critcss-inc/admin_settings_rules.php 1 patch
Spacing   +70 added lines, -70 removed lines patch added patch discarded remove patch
@@ -13,12 +13,12 @@  discard block
 block discarded – undo
13 13
 ?>
14 14
     <ul id="rules-panel">
15 15
         <li class="itemDetail">
16
-            <h2 class="itemTitle"><?php _e( 'Rules', 'autoptimize' ); ?></h2>
16
+            <h2 class="itemTitle"><?php _e('Rules', 'autoptimize'); ?></h2>
17 17
 
18 18
             <!-- BEGIN Rule dialogs -->
19 19
             <!-- Unsaved dialog -->
20 20
             <div id="unSavedWarning" class="hidden updated settings-error notice notice-warning is-dismissible">
21
-                <p><?php _e( "<strong>Rules or Queue changed!</strong> Don't forget to save your changes!", 'autoptimize' ); ?></p>
21
+                <p><?php _e("<strong>Rules or Queue changed!</strong> Don't forget to save your changes!", 'autoptimize'); ?></p>
22 22
             </div>
23 23
 
24 24
             <!-- Create/edit rule dialog -->
@@ -26,97 +26,97 @@  discard block
 block discarded – undo
26 26
                 <table class="form-table rules">
27 27
                     <tr id="critcss_addedit_type_wrapper">
28 28
                         <th scope="row">
29
-                            <?php _e( 'Rule Type', 'autoptimize' ); ?>
29
+                            <?php _e('Rule Type', 'autoptimize'); ?>
30 30
                         </th>
31 31
                         <td>
32 32
                             <select id="critcss_addedit_type" style="width:100%;">
33
-                                <option value="paths"><?php _e( 'Path', 'autoptimize' ); ?></option>
34
-                                <option value="types"><?php _e( 'Conditional Tag', 'autoptimize' ); ?></option>
33
+                                <option value="paths"><?php _e('Path', 'autoptimize'); ?></option>
34
+                                <option value="types"><?php _e('Conditional Tag', 'autoptimize'); ?></option>
35 35
                             </select>
36 36
                         </td>
37 37
                     </tr>
38 38
                     <tr id="critcss_addedit_path_wrapper">
39 39
                         <th scope="row">
40
-                            <?php _e( 'String in Path', 'autoptimize' ); ?>
40
+                            <?php _e('String in Path', 'autoptimize'); ?>
41 41
                         </th>
42 42
                         <td>
43
-                            <input type="text" id="critcss_addedit_path" placeholder="<?php _e( "Enter a part of the URL that identifies the page(s) you're targetting.", 'autoptimize' ); ?>" style="width:100%;" value="">
43
+                            <input type="text" id="critcss_addedit_path" placeholder="<?php _e("Enter a part of the URL that identifies the page(s) you're targetting.", 'autoptimize'); ?>" style="width:100%;" value="">
44 44
                         </td>
45 45
                     </tr>
46 46
                     <tr id="critcss_addedit_pagetype_wrapper">
47 47
                         <th scope="row">
48
-                            <?php _e( 'Conditional Tag, Custom Post Type or Page Template', 'autoptimize' ); ?>
48
+                            <?php _e('Conditional Tag, Custom Post Type or Page Template', 'autoptimize'); ?>
49 49
                         </th>
50 50
                         <td>
51 51
                             <select id="critcss_addedit_pagetype" style="width:100%;">
52
-                                <option value="" disabled selected><?php _e( 'Select from the list below...', 'autoptimize' ); ?></option>
53
-                                <optgroup label="<?php _e( 'Standard Conditional Tags', 'autoptimize' ); ?>">
52
+                                <option value="" disabled selected><?php _e('Select from the list below...', 'autoptimize'); ?></option>
53
+                                <optgroup label="<?php _e('Standard Conditional Tags', 'autoptimize'); ?>">
54 54
                                     <?php
55 55
                                     // Render grouped simple conditional tags.
56
-                                    foreach ( $ao_ccss_types as $ctag ) {
57
-                                        $optgrp = substr( $ctag, 0, 3 );
58
-                                        if ( substr( $ctag, 0, 3 ) === 'is_' ) {
59
-                                            echo '<option value="' . $ctag . '">' . $ctag . '</option>';
56
+                                    foreach ($ao_ccss_types as $ctag) {
57
+                                        $optgrp = substr($ctag, 0, 3);
58
+                                        if (substr($ctag, 0, 3) === 'is_') {
59
+                                            echo '<option value="'.$ctag.'">'.$ctag.'</option>';
60 60
                                         }
61
-                                        $prevgrp = substr( $ctag, 0, 3 );
61
+                                        $prevgrp = substr($ctag, 0, 3);
62 62
                                     }
63 63
 
64 64
                                     // Render grouped custom post types, templates and specific conditional tags.
65
-                                    foreach ( $ao_ccss_types as $type ) {
66
-                                        $optgrp = substr( $type, 0, 3 );
65
+                                    foreach ($ao_ccss_types as $type) {
66
+                                        $optgrp = substr($type, 0, 3);
67 67
 
68 68
                                         // Option groups labels.
69
-                                        if ( $optgrp !== $prevgrp && 'is_' !== $optgrp ) {
69
+                                        if ($optgrp !== $prevgrp && 'is_' !== $optgrp) {
70 70
                                             ?>
71 71
                                             </optgroup>
72 72
                                             <?php
73
-                                            if ( substr( $type, 0, 12 ) === 'custom_post_' ) {
73
+                                            if (substr($type, 0, 12) === 'custom_post_') {
74 74
                                                 ?>
75
-                                                <optgroup label="<?php _e( 'Custom Post Types', 'autoptimize' ); ?>">
75
+                                                <optgroup label="<?php _e('Custom Post Types', 'autoptimize'); ?>">
76 76
                                                 <?php
77
-                                            } elseif ( substr( $type, 0, 9 ) === 'template_' ) {
77
+                                            } elseif (substr($type, 0, 9) === 'template_') {
78 78
                                                 ?>
79
-                                                <optgroup label="<?php _e( 'Page Templates', 'autoptimize' ); ?>">
79
+                                                <optgroup label="<?php _e('Page Templates', 'autoptimize'); ?>">
80 80
                                                 <?php
81
-                                            } elseif ( substr( $type, 0, 4 ) === 'bbp_' ) {
81
+                                            } elseif (substr($type, 0, 4) === 'bbp_') {
82 82
                                                 ?>
83
-                                                <optgroup label="<?php _e( 'BBPress Conditional Tags', 'autoptimize' ); ?>">
83
+                                                <optgroup label="<?php _e('BBPress Conditional Tags', 'autoptimize'); ?>">
84 84
                                                 <?php
85
-                                            } elseif ( substr( $type, 0, 3 ) === 'bp_' ) {
85
+                                            } elseif (substr($type, 0, 3) === 'bp_') {
86 86
                                                 ?>
87
-                                                <optgroup label="<?php _e( 'BuddyPress Conditional Tags', 'autoptimize' ); ?>">
87
+                                                <optgroup label="<?php _e('BuddyPress Conditional Tags', 'autoptimize'); ?>">
88 88
                                                 <?php
89
-                                            } elseif ( substr( $type, 0, 4 ) === 'edd_' ) {
89
+                                            } elseif (substr($type, 0, 4) === 'edd_') {
90 90
                                                 ?>
91
-                                                <optgroup label="<?php _e( 'Easy Digital Downloads Conditional Tags', 'autoptimize' ); ?>">
91
+                                                <optgroup label="<?php _e('Easy Digital Downloads Conditional Tags', 'autoptimize'); ?>">
92 92
                                                 <?php
93
-                                            } elseif ( substr( $type, 0, 4 ) === 'woo_' ) {
93
+                                            } elseif (substr($type, 0, 4) === 'woo_') {
94 94
                                                 ?>
95
-                                                <optgroup label="<?php _e( 'WooCommerce Conditional Tags', 'autoptimize' ); ?>">
95
+                                                <optgroup label="<?php _e('WooCommerce Conditional Tags', 'autoptimize'); ?>">
96 96
                                                 <?php
97 97
                                             }
98 98
                                         }
99 99
 
100 100
                                         // Options.
101
-                                        if ( 'is_' !== $optgrp ) {
101
+                                        if ('is_' !== $optgrp) {
102 102
                                             // Remove prefix from custom post types, templates and some specific conditional tags.
103
-                                            if ( substr( $type, 0, 12 ) === 'custom_post_' ) {
104
-                                                $_type = str_replace( 'custom_post_', '', $type );
105
-                                            } elseif ( substr( $type, 0, 9 ) === 'template_' ) {
106
-                                                $_type = str_replace( 'template_', '', $type );
107
-                                            } elseif ( 'bbp_is_bbpress' == $type ) {
108
-                                                $_type = str_replace( 'bbp_', '', $type );
109
-                                            } elseif ( 'bp_is_buddypress' == $type ) {
110
-                                                $_type = str_replace( 'bp_', '', $type );
111
-                                            } elseif ( substr( $type, 0, 4 ) === 'woo_' ) {
112
-                                                $_type = str_replace( 'woo_', '', $type );
113
-                                            } elseif ( substr( $type, 0, 4 ) === 'edd_' ) {
114
-                                                $_type = str_replace( 'edd_', '', $type );
103
+                                            if (substr($type, 0, 12) === 'custom_post_') {
104
+                                                $_type = str_replace('custom_post_', '', $type);
105
+                                            } elseif (substr($type, 0, 9) === 'template_') {
106
+                                                $_type = str_replace('template_', '', $type);
107
+                                            } elseif ('bbp_is_bbpress' == $type) {
108
+                                                $_type = str_replace('bbp_', '', $type);
109
+                                            } elseif ('bp_is_buddypress' == $type) {
110
+                                                $_type = str_replace('bp_', '', $type);
111
+                                            } elseif (substr($type, 0, 4) === 'woo_') {
112
+                                                $_type = str_replace('woo_', '', $type);
113
+                                            } elseif (substr($type, 0, 4) === 'edd_') {
114
+                                                $_type = str_replace('edd_', '', $type);
115 115
                                             } else {
116 116
                                                 $_type = $type;
117 117
                                             }
118 118
 
119
-                                            echo '<option value="' . $type . '">' . $_type . '</option>';
119
+                                            echo '<option value="'.$type.'">'.$_type.'</option>';
120 120
                                             $prevgrp = $optgrp;
121 121
                                         }
122 122
                                     }
@@ -127,10 +127,10 @@  discard block
 block discarded – undo
127 127
                     </tr>
128 128
                     <tr>
129 129
                         <th scope="row">
130
-                            <?php _e( 'Custom Critical CSS', 'autoptimize' ); ?>
130
+                            <?php _e('Custom Critical CSS', 'autoptimize'); ?>
131 131
                         </th>
132 132
                         <td>
133
-                            <textarea id="critcss_addedit_css" rows="13" cols="10" style="width:100%;" placeholder="<?php _e( 'Paste your specific critical CSS here and hit submit to save.', 'autoptimize' ); ?>"></textarea>
133
+                            <textarea id="critcss_addedit_css" rows="13" cols="10" style="width:100%;" placeholder="<?php _e('Paste your specific critical CSS here and hit submit to save.', 'autoptimize'); ?>"></textarea>
134 134
                             <input type="hidden" id="critcss_addedit_file">
135 135
                             <input type="hidden" id="critcss_addedit_id">
136 136
                         </td>
@@ -139,23 +139,23 @@  discard block
 block discarded – undo
139 139
             </div>
140 140
 
141 141
             <!-- Remove dialog -->
142
-            <div id="confirm-rm" title="<?php _e( 'Delete Rule', 'autoptimize' ); ?>" class="hidden">
143
-                <p><?php _e( 'This Critical CSS rule will be deleted immediately and cannot be recovered.<br /><br /><strong>Are you sure?</strong>', 'autoptimize' ); ?></p>
142
+            <div id="confirm-rm" title="<?php _e('Delete Rule', 'autoptimize'); ?>" class="hidden">
143
+                <p><?php _e('This Critical CSS rule will be deleted immediately and cannot be recovered.<br /><br /><strong>Are you sure?</strong>', 'autoptimize'); ?></p>
144 144
             </div>
145 145
 
146 146
             <!-- Remove All dialog -->
147
-            <div id="confirm-rm-all" title="<?php _e( 'Delete all Rules and Jobs', 'autoptimize' ); ?>" class="hidden">
148
-                <p><?php _e( 'All Critical CSS rules will be deleted immediately and cannot be recovered.<br /><br /><strong>Are you sure?</strong>', 'autoptimize' ); ?></p>
147
+            <div id="confirm-rm-all" title="<?php _e('Delete all Rules and Jobs', 'autoptimize'); ?>" class="hidden">
148
+                <p><?php _e('All Critical CSS rules will be deleted immediately and cannot be recovered.<br /><br /><strong>Are you sure?</strong>', 'autoptimize'); ?></p>
149 149
             </div>
150 150
 
151 151
             <!-- Add/edit default critical CSS dialog -->
152 152
             <div id="default_critcss_wrapper" class="hidden">
153
-                <textarea id="dummyDefault" rows="19" cols="10" style="width:100%;" placeholder="<?php _e( 'Paste your MINIFIED default critical CSS here and hit submit to save. This is the critical CSS to be used for every page NOT MATCHING any rule.', 'autoptimize' ); ?>"></textarea>
153
+                <textarea id="dummyDefault" rows="19" cols="10" style="width:100%;" placeholder="<?php _e('Paste your MINIFIED default critical CSS here and hit submit to save. This is the critical CSS to be used for every page NOT MATCHING any rule.', 'autoptimize'); ?>"></textarea>
154 154
             </div>
155 155
 
156 156
             <!-- Add/edit additional critical CSS dialog -->
157 157
             <div id="additional_critcss_wrapper" class="hidden">
158
-                <textarea id="dummyAdditional" rows="19" cols="10" style="width:100%;" placeholder="<?php _e( 'Paste your MINIFIED additional critical CSS here and hit submit to save. This is the CSS to be added AT THE END of every critical CSS provided by a matching rule, or the default one.', 'autoptimize' ); ?>"></textarea>
158
+                <textarea id="dummyAdditional" rows="19" cols="10" style="width:100%;" placeholder="<?php _e('Paste your MINIFIED additional critical CSS here and hit submit to save. This is the CSS to be added AT THE END of every critical CSS provided by a matching rule, or the default one.', 'autoptimize'); ?>"></textarea>
159 159
             </div>
160 160
 
161 161
             <!-- Wrapper for in screen notices -->
@@ -165,38 +165,38 @@  discard block
 block discarded – undo
165 165
             <!-- BEGIN Rules UI -->
166 166
             <div class="howto">
167 167
                 <div class="title-wrap">
168
-                    <h4 class="title"><?php _e( 'How To Use Autoptimize CriticalCSS Power-Up Rules', 'autoptimize' ); ?></h4>
169
-                    <p class="subtitle"><?php _e( 'Click the side arrow to toggle instructions', 'autoptimize' ); ?></p>
168
+                    <h4 class="title"><?php _e('How To Use Autoptimize CriticalCSS Power-Up Rules', 'autoptimize'); ?></h4>
169
+                    <p class="subtitle"><?php _e('Click the side arrow to toggle instructions', 'autoptimize'); ?></p>
170 170
                 </div>
171 171
                 <button type="button" class="toggle-btn">
172 172
                     <span class="toggle-indicator dashicons dashicons-arrow-up dashicons-arrow-down"></span>
173 173
                 </button>
174 174
                 <div class="howto-wrap hidden">
175
-                <p><?php _e( "TL;DR:<br />Critical CSS files from <span class='badge auto'>AUTO</span> <strong>rules are updated automatically</strong> while from <span class='badge manual'>MANUAL</span> <strong>rules are not.</strong>", 'autoptimize' ); ?></p>
175
+                <p><?php _e("TL;DR:<br />Critical CSS files from <span class='badge auto'>AUTO</span> <strong>rules are updated automatically</strong> while from <span class='badge manual'>MANUAL</span> <strong>rules are not.</strong>", 'autoptimize'); ?></p>
176 176
                     <ol>
177
-                        <li><?php _e( 'When a valid <a href="https://criticalcss.com/?aff=1" target="_blank">criticalcss.com</a> API key is in place, Autoptimize CriticalCSS Power-Up starts to operate <strong>automatically</strong>.', 'autoptimize' ); ?></li>
178
-                        <li><?php _e( 'Upon a request to any of the frontend pages made by a <strong>not logged in user</strong>, it will <strong>asynchronously</strong> fetch and update the critical CSS from <a href="https://criticalcss.com/?aff=1" target="_blank">criticalcss.com</a> for conditional tags you have on your site (e.g. is_page, is_single, is_archive etc.)', 'autoptimize' ); ?></li>
179
-                        <li><?php _e( 'These requests also creates an <span class="badge auto">AUTO</span> rule for you. The critical CSS files from <span class="badge auto">AUTO</span> <strong>rules are updated automatically</strong> when a CSS file in your theme or frontend plugins changes.', 'autoptimize' ); ?></li>
180
-                        <li><?php _e( 'If you want to make any fine tunning in the critical CSS file of an <span class="badge auto">AUTO</span> rule, click on "Edit" button of that rule, change what you need, submit and save it. The rule you\'ve just edited becomes a <span class="badge manual">MANUAL</span> rule then.', 'autoptimize' ); ?></li>
181
-                        <li><?php _e( 'You can create <span class="badge manual">MANUAL</span> rules for specific page paths (URL). Longer, more specific paths have higher priority over shorter ones, which in turn have higher priority over <span class="badge auto">AUTO</span> rules. Also, critical CSS files from <span class="badge manual">MANUAL</span> <strong>rules are NEVER updated automatically.</strong>', 'autoptimize' ); ?></li>
182
-                        <li><?php _e( 'You can also create an <span class="badge auto">AUTO</span> rule for a path by leaving its critical CSS content empty. The critical CSS for that path will be automatically fetched from <a href="https://criticalcss.com/?aff=1" target="_blank">criticalcss.com</a> for you and updated whenever it changes.', 'autoptimize' ); ?></li>
183
-                        <li><?php _e( "If you see an <span class='badge auto'>AUTO</span> rule with a <span class='badge review'>R</span> besides it (R is after REVIEW), it means that the fetched critical CSS for that rule is not 100% guaranteed to work according to <a href='https://criticalcss.com/?aff=1' target='_blank'>criticalcss.com</a> analysis. It's advised that you edit and review that rule to make any required adjustments.", 'autoptimize' ); ?></li>
184
-                        <li><?php _e( 'At any time you can delete an <span class="badge auto">AUTO</span> or <span class="badge manual">MANUAL</span> rule by cliking on "Remove" button of the desired rule and saving your changes.', 'autoptimize' ); ?></li>
177
+                        <li><?php _e('When a valid <a href="https://criticalcss.com/?aff=1" target="_blank">criticalcss.com</a> API key is in place, Autoptimize CriticalCSS Power-Up starts to operate <strong>automatically</strong>.', 'autoptimize'); ?></li>
178
+                        <li><?php _e('Upon a request to any of the frontend pages made by a <strong>not logged in user</strong>, it will <strong>asynchronously</strong> fetch and update the critical CSS from <a href="https://criticalcss.com/?aff=1" target="_blank">criticalcss.com</a> for conditional tags you have on your site (e.g. is_page, is_single, is_archive etc.)', 'autoptimize'); ?></li>
179
+                        <li><?php _e('These requests also creates an <span class="badge auto">AUTO</span> rule for you. The critical CSS files from <span class="badge auto">AUTO</span> <strong>rules are updated automatically</strong> when a CSS file in your theme or frontend plugins changes.', 'autoptimize'); ?></li>
180
+                        <li><?php _e('If you want to make any fine tunning in the critical CSS file of an <span class="badge auto">AUTO</span> rule, click on "Edit" button of that rule, change what you need, submit and save it. The rule you\'ve just edited becomes a <span class="badge manual">MANUAL</span> rule then.', 'autoptimize'); ?></li>
181
+                        <li><?php _e('You can create <span class="badge manual">MANUAL</span> rules for specific page paths (URL). Longer, more specific paths have higher priority over shorter ones, which in turn have higher priority over <span class="badge auto">AUTO</span> rules. Also, critical CSS files from <span class="badge manual">MANUAL</span> <strong>rules are NEVER updated automatically.</strong>', 'autoptimize'); ?></li>
182
+                        <li><?php _e('You can also create an <span class="badge auto">AUTO</span> rule for a path by leaving its critical CSS content empty. The critical CSS for that path will be automatically fetched from <a href="https://criticalcss.com/?aff=1" target="_blank">criticalcss.com</a> for you and updated whenever it changes.', 'autoptimize'); ?></li>
183
+                        <li><?php _e("If you see an <span class='badge auto'>AUTO</span> rule with a <span class='badge review'>R</span> besides it (R is after REVIEW), it means that the fetched critical CSS for that rule is not 100% guaranteed to work according to <a href='https://criticalcss.com/?aff=1' target='_blank'>criticalcss.com</a> analysis. It's advised that you edit and review that rule to make any required adjustments.", 'autoptimize'); ?></li>
184
+                        <li><?php _e('At any time you can delete an <span class="badge auto">AUTO</span> or <span class="badge manual">MANUAL</span> rule by cliking on "Remove" button of the desired rule and saving your changes.', 'autoptimize'); ?></li>
185 185
                     </ol>
186 186
                 </div>
187 187
             </div>
188
-            <textarea id="autoptimize_css_defer_inline" name="autoptimize_css_defer_inline" rows="19" cols="10" style="width:100%;"><?php echo get_option( 'autoptimize_css_defer_inline', '' ); ?></textarea>
189
-            <textarea id="autoptimize_ccss_additional" name="autoptimize_ccss_additional" rows="19" cols="10" style="width:100%;"><?php echo get_option( 'autoptimize_ccss_additional', '' ); ?></textarea>
188
+            <textarea id="autoptimize_css_defer_inline" name="autoptimize_css_defer_inline" rows="19" cols="10" style="width:100%;"><?php echo get_option('autoptimize_css_defer_inline', ''); ?></textarea>
189
+            <textarea id="autoptimize_ccss_additional" name="autoptimize_ccss_additional" rows="19" cols="10" style="width:100%;"><?php echo get_option('autoptimize_ccss_additional', ''); ?></textarea>
190 190
             <table class="rules-list" cellspacing="0"><tbody id="rules-list"></tbody></table>
191
-            <input class="hidden" type="text" id="critCssOrigin" name="autoptimize_ccss_rules" value='<?php echo ( json_encode( $ao_ccss_rules, JSON_FORCE_OBJECT ) ); ?>'>
191
+            <input class="hidden" type="text" id="critCssOrigin" name="autoptimize_ccss_rules" value='<?php echo (json_encode($ao_ccss_rules, JSON_FORCE_OBJECT)); ?>'>
192 192
             <div class="submit rules-btn">
193 193
                 <div class="alignleft">
194
-                    <span id="addCritCssButton" class="button-secondary"><?php _e( 'Add New Rule', 'autoptimize' ); ?></span>
195
-                    <span id="editDefaultButton" class="button-secondary"><?php _e( 'Edit Default Rule CSS', 'autoptimize' ); ?></span>
196
-                    <span id="editAdditionalButton" class="button-secondary"><?php _e( 'Add CSS To All Rules', 'autoptimize' ); ?></span>
194
+                    <span id="addCritCssButton" class="button-secondary"><?php _e('Add New Rule', 'autoptimize'); ?></span>
195
+                    <span id="editDefaultButton" class="button-secondary"><?php _e('Edit Default Rule CSS', 'autoptimize'); ?></span>
196
+                    <span id="editAdditionalButton" class="button-secondary"><?php _e('Add CSS To All Rules', 'autoptimize'); ?></span>
197 197
                 </div>
198 198
                 <div class="alignright">
199
-                    <span id="removeAllRules" class="button-secondary" style="color:red;"><?php _e( 'Remove all rules', 'autoptimize' ); ?></span>
199
+                    <span id="removeAllRules" class="button-secondary" style="color:red;"><?php _e('Remove all rules', 'autoptimize'); ?></span>
200 200
                 </div>
201 201
             </div>
202 202
             <!-- END Rules UI -->
Please login to merge, or discard this patch.
classes/critcss-inc/admin_settings_adv.php 1 patch
Spacing   +33 added lines, -33 removed lines patch added patch discarded remove patch
@@ -19,7 +19,7 @@  discard block
 block discarded – undo
19 19
     global $ao_ccss_unloadccss;
20 20
 
21 21
     // In case domain is not set yet (done in cron.php).
22
-    if ( empty( $ao_ccss_domain ) ) {
22
+    if (empty($ao_ccss_domain)) {
23 23
         $ao_ccss_domain = get_site_url();
24 24
     }
25 25
 
@@ -28,7 +28,7 @@  discard block
 block discarded – undo
28 28
 ?>
29 29
     <ul id="adv-panel">
30 30
         <li class="itemDetail">
31
-            <h2 class="itemTitle fleft"><?php _e( 'Advanced Settings', 'autoptimize' ); ?></h2>
31
+            <h2 class="itemTitle fleft"><?php _e('Advanced Settings', 'autoptimize'); ?></h2>
32 32
             <button type="button" class="toggle-btn">
33 33
                 <span class="toggle-indicator dashicons dashicons-arrow-up dashicons-arrow-down"></span>
34 34
             </button>
@@ -36,114 +36,114 @@  discard block
 block discarded – undo
36 36
                 <table id="key" class="form-table">
37 37
                     <tr>
38 38
                         <th scope="row">
39
-                            <?php _e( 'Viewport Size', 'autoptimize' ); ?>
39
+                            <?php _e('Viewport Size', 'autoptimize'); ?>
40 40
                         </th>
41 41
                         <td>
42
-                            <label for="autoptimize_ccss_vw"><?php _e( 'Width', 'autoptimize' ); ?>:</label> <input type="number" id="autoptimize_ccss_vw" name="autoptimize_ccss_viewport[w]" min="800" max="4096" placeholder="1400" value="<?php echo $viewport['w']; ?>" />&nbsp;&nbsp;
43
-                            <label for="autoptimize_ccss_vh"><?php _e( 'Height', 'autoptimize' ); ?>:</label> <input type="number" id="autoptimize_ccss_vh" name="autoptimize_ccss_viewport[h]" min="600" max="2160" placeholder="1080" value="<?php echo $viewport['h']; ?>" />
42
+                            <label for="autoptimize_ccss_vw"><?php _e('Width', 'autoptimize'); ?>:</label> <input type="number" id="autoptimize_ccss_vw" name="autoptimize_ccss_viewport[w]" min="800" max="4096" placeholder="1400" value="<?php echo $viewport['w']; ?>" />&nbsp;&nbsp;
43
+                            <label for="autoptimize_ccss_vh"><?php _e('Height', 'autoptimize'); ?>:</label> <input type="number" id="autoptimize_ccss_vh" name="autoptimize_ccss_viewport[h]" min="600" max="2160" placeholder="1080" value="<?php echo $viewport['h']; ?>" />
44 44
                             <p class="notes">
45
-                                <?php _e( '<a href="https://criticalcss.com/account/api-keys?aff=1" target="_blank">criticalcss.com</a> default viewport size is 1400x1080 pixels (width x height). You can change this size by typing a desired width and height values above. Allowed value ranges are from 800 to 4096 for width and from 600 to 2160 for height.', 'autoptimize' ); ?>
45
+                                <?php _e('<a href="https://criticalcss.com/account/api-keys?aff=1" target="_blank">criticalcss.com</a> default viewport size is 1400x1080 pixels (width x height). You can change this size by typing a desired width and height values above. Allowed value ranges are from 800 to 4096 for width and from 600 to 2160 for height.', 'autoptimize'); ?>
46 46
                             </p>
47 47
                         </td>
48 48
                     </tr>
49 49
                     <tr>
50 50
                         <th scope="row">
51
-                            <?php _e( 'Force Include CSS selectors', 'autoptimize' ); ?>
51
+                            <?php _e('Force Include CSS selectors', 'autoptimize'); ?>
52 52
                         </th>
53 53
                         <td>
54
-                            <textarea id="autoptimize_ccss_finclude" name="autoptimize_ccss_finclude" rows='3' maxlenght='500' style="width:100%;" placeholder="<?php _e( '.button-special,//#footer', 'autoptimize' ); ?>"><?php echo trim( $ao_ccss_finclude ); ?></textarea>
54
+                            <textarea id="autoptimize_ccss_finclude" name="autoptimize_ccss_finclude" rows='3' maxlenght='500' style="width:100%;" placeholder="<?php _e('.button-special,//#footer', 'autoptimize'); ?>"><?php echo trim($ao_ccss_finclude); ?></textarea>
55 55
                             <p class="notes">
56
-                                <?php _e( 'Force include CSS selectors can be used to style dynamic content that is not part of the HTML that is seen during the Critical CSS generation. To use this feature, add comma separated values with both simple strings and/or regular expressions to match the desired selectors. Regular expressions must be preceeded by two forward slashes. For instance: <code>.button-special,//#footer</code>. In this example <code>.button-special</code> will match <code>.button-special</code> selector only, while <code>//#footer</code> will match <code>#footer</code>, <code>#footer-address</code> and <code>#footer-phone</code> selectors in case they exist.<br />Do take into account that changing this setting will only affect new/ updated rules, so you might want to remove old rules and clear your page cache to expedite the forceIncludes becoming used.', 'autoptimize' ); ?>
56
+                                <?php _e('Force include CSS selectors can be used to style dynamic content that is not part of the HTML that is seen during the Critical CSS generation. To use this feature, add comma separated values with both simple strings and/or regular expressions to match the desired selectors. Regular expressions must be preceeded by two forward slashes. For instance: <code>.button-special,//#footer</code>. In this example <code>.button-special</code> will match <code>.button-special</code> selector only, while <code>//#footer</code> will match <code>#footer</code>, <code>#footer-address</code> and <code>#footer-phone</code> selectors in case they exist.<br />Do take into account that changing this setting will only affect new/ updated rules, so you might want to remove old rules and clear your page cache to expedite the forceIncludes becoming used.', 'autoptimize'); ?>
57 57
                             </p>
58 58
                         </td>
59 59
                     </tr>
60 60
                     <tr>
61 61
                         <th scope="row">
62
-                            <?php _e( 'Queue processing time limit', 'autoptimize' ); ?>
62
+                            <?php _e('Queue processing time limit', 'autoptimize'); ?>
63 63
                         </th>
64 64
                         <td>
65 65
                             <input type="number" id="autoptimize_ccss_rtimelimit" name="autoptimize_ccss_rtimelimit" min="0" max="240" placeholder="0" value="<?php echo $ao_ccss_rtimelimit; ?>" />
66 66
                             <p class="notes">
67
-                                <?php _e( 'The cronned queue processing is an asynchronous process triggerd by (WordPress) cron. To avoid this process from running too long and potentially getting killed, you can set the number of seconds here, 0 means no limit.', 'autoptimize' ); ?>
67
+                                <?php _e('The cronned queue processing is an asynchronous process triggerd by (WordPress) cron. To avoid this process from running too long and potentially getting killed, you can set the number of seconds here, 0 means no limit.', 'autoptimize'); ?>
68 68
                             </p>
69 69
                         </td>
70 70
                     </tr>
71 71
                     <tr>
72 72
                         <th scope="row">
73
-                            <?php _e( 'Fetch Original CSS', 'autoptimize' ); ?>
73
+                            <?php _e('Fetch Original CSS', 'autoptimize'); ?>
74 74
                         </th>
75 75
                         <td>
76
-                            <input type="checkbox" id="autoptimize_ccss_noptimize" name="autoptimize_ccss_noptimize" value="1" <?php checked( 1 == $ao_ccss_noptimize ); ?>>
76
+                            <input type="checkbox" id="autoptimize_ccss_noptimize" name="autoptimize_ccss_noptimize" value="1" <?php checked(1 == $ao_ccss_noptimize); ?>>
77 77
                             <p class="notes">
78
-                                <?php _e( 'In some (rare) cases the generation of critical CSS works better with the original CSS instead of the Autoptimized one, this option enables that behavior.', 'autoptimize' ); ?>
78
+                                <?php _e('In some (rare) cases the generation of critical CSS works better with the original CSS instead of the Autoptimized one, this option enables that behavior.', 'autoptimize'); ?>
79 79
                             </p>
80 80
                         </td>
81 81
                     </tr>
82 82
                     <tr>
83 83
                         <th scope="row">
84
-                            <?php _e( 'Add CCSS for logged in users?', 'autoptimize' ); ?>
84
+                            <?php _e('Add CCSS for logged in users?', 'autoptimize'); ?>
85 85
                         </th>
86 86
                         <td>
87
-                            <input type="checkbox" id="autoptimize_ccss_loggedin" name="autoptimize_ccss_loggedin" value="1" <?php checked( 1 == $ao_ccss_loggedin ); ?>>
87
+                            <input type="checkbox" id="autoptimize_ccss_loggedin" name="autoptimize_ccss_loggedin" value="1" <?php checked(1 == $ao_ccss_loggedin); ?>>
88 88
                             <p class="notes">
89
-                                <?php _e( 'Critical CSS is generated by criticalcss.com from your pages as seen by an "anonymous visitor". Disable this option if you don\'t want the "visitor" critical CSS to be used for logged in users.', 'autoptimize' ); ?>
89
+                                <?php _e('Critical CSS is generated by criticalcss.com from your pages as seen by an "anonymous visitor". Disable this option if you don\'t want the "visitor" critical CSS to be used for logged in users.', 'autoptimize'); ?>
90 90
                             </p>
91 91
                         </td>
92 92
                     </tr>
93 93
                     <tr>
94 94
                         <th scope="row">
95
-                            <?php _e( 'Force path-based rules to be generated for pages?', 'autoptimize' ); ?>
95
+                            <?php _e('Force path-based rules to be generated for pages?', 'autoptimize'); ?>
96 96
                         </th>
97 97
                         <td>
98
-                            <input type="checkbox" id="autoptimize_ccss_forcepath" name="autoptimize_ccss_forcepath" value="1" <?php checked( 1 == $ao_ccss_forcepath ); ?>>
98
+                            <input type="checkbox" id="autoptimize_ccss_forcepath" name="autoptimize_ccss_forcepath" value="1" <?php checked(1 == $ao_ccss_forcepath); ?>>
99 99
                             <p class="notes">
100
-                                <?php _e( 'By default for each page a separate rule is generated. If your pages have (semi-)identical above the fold look and feel and you want to keep the rules lean, you can disable that so one rule is created to all pages.', 'autoptimize' ); ?>
100
+                                <?php _e('By default for each page a separate rule is generated. If your pages have (semi-)identical above the fold look and feel and you want to keep the rules lean, you can disable that so one rule is created to all pages.', 'autoptimize'); ?>
101 101
                             </p>
102 102
                         </td>
103 103
                     </tr>
104 104
                     <tr>
105 105
                         <th scope="row">
106
-                            <?php _e( 'Defer jQuery and other non-aggregated JS-files?', 'autoptimize' ); ?>
106
+                            <?php _e('Defer jQuery and other non-aggregated JS-files?', 'autoptimize'); ?>
107 107
                         </th>
108 108
                         <td>
109
-                            <input type="checkbox" id="autoptimize_ccss_deferjquery" name="autoptimize_ccss_deferjquery" value="1" <?php checked( 1 == $ao_ccss_deferjquery ); ?>>
109
+                            <input type="checkbox" id="autoptimize_ccss_deferjquery" name="autoptimize_ccss_deferjquery" value="1" <?php checked(1 == $ao_ccss_deferjquery); ?>>
110 110
                             <p class="notes">
111
-                                <?php _e( 'Defer all non-aggregated JS, including jQuery and inline JS to fix remaining render-blocking issues. Make sure to test your site thoroughly when activating this option!', 'autoptimize' ); ?>
111
+                                <?php _e('Defer all non-aggregated JS, including jQuery and inline JS to fix remaining render-blocking issues. Make sure to test your site thoroughly when activating this option!', 'autoptimize'); ?>
112 112
                             </p>
113 113
                         </td>
114 114
                     </tr>
115 115
                     <tr>
116 116
                         <th scope="row">
117
-                            <?php _e( 'Unload critical CSS after page load?', 'autoptimize' ); ?>
117
+                            <?php _e('Unload critical CSS after page load?', 'autoptimize'); ?>
118 118
                         </th>
119 119
                         <td>
120
-                            <input type="checkbox" id="autoptimize_ccss_unloadccss" name="autoptimize_ccss_unloadccss" value="1" <?php checked( 1 == $ao_ccss_unloadccss ); ?>>
120
+                            <input type="checkbox" id="autoptimize_ccss_unloadccss" name="autoptimize_ccss_unloadccss" value="1" <?php checked(1 == $ao_ccss_unloadccss); ?>>
121 121
                             <p class="notes">
122
-                                <?php _e( 'In rare cases the critical CSS needs to be removed once the full CSS loads, this option makes it so!', 'autoptimize' ); ?>
122
+                                <?php _e('In rare cases the critical CSS needs to be removed once the full CSS loads, this option makes it so!', 'autoptimize'); ?>
123 123
                             </p>
124 124
                         </td>
125 125
                     </tr>
126 126
                     <tr>
127 127
                         <th scope="row">
128
-                            <?php _e( 'Bound domain', 'autoptimize' ); ?>
128
+                            <?php _e('Bound domain', 'autoptimize'); ?>
129 129
                         </th>
130 130
                         <td>
131
-                            <input type="text" id="autoptimize_ccss_domain" name="autoptimize_ccss_domain" style="width:100%;" placeholder="<?php _e( 'Don\'t leave this empty, put e.g. https://example.net/ or simply \'none\' to disable domain binding.', 'autoptimize' ); ?>" value="<?php echo trim( $ao_ccss_domain ); ?>">
131
+                            <input type="text" id="autoptimize_ccss_domain" name="autoptimize_ccss_domain" style="width:100%;" placeholder="<?php _e('Don\'t leave this empty, put e.g. https://example.net/ or simply \'none\' to disable domain binding.', 'autoptimize'); ?>" value="<?php echo trim($ao_ccss_domain); ?>">
132 132
                             <p class="notes">
133
-                                <?php _e( 'Only requests from this domain will be sent for Critical CSS generation (pricing is per domain/ month).', 'autoptimize' ); ?>
133
+                                <?php _e('Only requests from this domain will be sent for Critical CSS generation (pricing is per domain/ month).', 'autoptimize'); ?>
134 134
                             </p>
135 135
                         </td>
136 136
                     </tr>
137 137
                     <tr>
138 138
                         <th scope="row">
139
-                            <?php _e( 'Debug Mode', 'autoptimize' ); ?>
139
+                            <?php _e('Debug Mode', 'autoptimize'); ?>
140 140
                         </th>
141 141
                         <td>
142
-                            <input type="checkbox" id="autoptimize_ccss_debug" name="autoptimize_ccss_debug" value="1" <?php checked( 1 == $ao_ccss_debug ); ?>>
142
+                            <input type="checkbox" id="autoptimize_ccss_debug" name="autoptimize_ccss_debug" value="1" <?php checked(1 == $ao_ccss_debug); ?>>
143 143
                             <p class="notes">
144 144
                                 <?php
145
-                                _e( '<strong>CAUTION! Only use debug mode on production/live environments for ad-hoc troubleshooting and remember to turn it back off after</strong>, as this generates a lot of log-data.<br />Check the box above to enable Autoptimize CriticalCSS Power-Up debug mode. It provides debug facilities in this screen, to the browser console and to this file: ', 'autoptimize' );
146
-                                echo '<code>' . AO_CCSS_LOG . '</code>';
145
+                                _e('<strong>CAUTION! Only use debug mode on production/live environments for ad-hoc troubleshooting and remember to turn it back off after</strong>, as this generates a lot of log-data.<br />Check the box above to enable Autoptimize CriticalCSS Power-Up debug mode. It provides debug facilities in this screen, to the browser console and to this file: ', 'autoptimize');
146
+                                echo '<code>'.AO_CCSS_LOG.'</code>';
147 147
                                 ?>
148 148
                             </p>
149 149
                         </td>
Please login to merge, or discard this patch.
classes/autoptimizeHTML.php 1 patch
Spacing   +27 added lines, -27 removed lines patch added patch discarded remove patch
@@ -3,7 +3,7 @@  discard block
 block discarded – undo
3 3
  * Handles minifying HTML markup.
4 4
  */
5 5
 
6
-if ( ! defined( 'ABSPATH' ) ) {
6
+if (!defined('ABSPATH')) {
7 7
     exit;
8 8
 }
9 9
 
@@ -34,19 +34,19 @@  discard block
 block discarded – undo
34 34
         '<!--/noindex-->',
35 35
     );
36 36
 
37
-    public function read( $options )
37
+    public function read($options)
38 38
     {
39 39
         // Remove the HTML comments?
40 40
         $this->keepcomments = (bool) $options['keepcomments'];
41 41
 
42 42
         // Filter to force xhtml.
43
-        $this->forcexhtml = (bool) apply_filters( 'autoptimize_filter_html_forcexhtml', false );
43
+        $this->forcexhtml = (bool) apply_filters('autoptimize_filter_html_forcexhtml', false);
44 44
 
45 45
         // Filterable strings to be excluded from HTML minification.
46
-        $exclude = apply_filters( 'autoptimize_filter_html_exclude', '' );
47
-        if ( '' !== $exclude ) {
48
-            $exclude_arr   = array_filter( array_map( 'trim', explode( ',', $exclude ) ) );
49
-            $this->exclude = array_merge( $exclude_arr, $this->exclude );
46
+        $exclude = apply_filters('autoptimize_filter_html_exclude', '');
47
+        if ('' !== $exclude) {
48
+            $exclude_arr   = array_filter(array_map('trim', explode(',', $exclude)));
49
+            $this->exclude = array_merge($exclude_arr, $this->exclude);
50 50
         }
51 51
 
52 52
         // Nothing else for HTML!
@@ -60,49 +60,49 @@  discard block
 block discarded – undo
60 60
      */
61 61
     public function minify()
62 62
     {
63
-        $noptimize = apply_filters( 'autoptimize_filter_html_noptimize', false, $this->content );
64
-        if ( $noptimize ) {
63
+        $noptimize = apply_filters('autoptimize_filter_html_noptimize', false, $this->content);
64
+        if ($noptimize) {
65 65
             return false;
66 66
         }
67 67
 
68 68
         // Wrap the to-be-excluded strings in noptimize tags.
69
-        foreach ( $this->exclude as $str ) {
70
-            if ( false !== strpos( $this->content, $str ) ) {
71
-                $replacement   = '<!--noptimize-->' . $str . '<!--/noptimize-->';
72
-                $this->content = str_replace( $str, $replacement, $this->content );
69
+        foreach ($this->exclude as $str) {
70
+            if (false !== strpos($this->content, $str)) {
71
+                $replacement   = '<!--noptimize-->'.$str.'<!--/noptimize-->';
72
+                $this->content = str_replace($str, $replacement, $this->content);
73 73
             }
74 74
         }
75 75
 
76 76
         // Noptimize.
77
-        $this->content = $this->hide_noptimize( $this->content );
77
+        $this->content = $this->hide_noptimize($this->content);
78 78
 
79 79
         // Preparing options for Minify_HTML.
80
-        $options = array( 'keepComments' => $this->keepcomments );
81
-        if ( $this->forcexhtml ) {
80
+        $options = array('keepComments' => $this->keepcomments);
81
+        if ($this->forcexhtml) {
82 82
             $options['xhtml'] = true;
83 83
         }
84 84
 
85
-        $tmp_content = AO_Minify_HTML::minify( $this->content, $options );
86
-        if ( ! empty( $tmp_content ) ) {
85
+        $tmp_content = AO_Minify_HTML::minify($this->content, $options);
86
+        if (!empty($tmp_content)) {
87 87
             $this->content = $tmp_content;
88
-            unset( $tmp_content );
88
+            unset($tmp_content);
89 89
         }
90 90
 
91 91
         // Restore noptimize.
92
-        $this->content = $this->restore_noptimize( $this->content );
92
+        $this->content = $this->restore_noptimize($this->content);
93 93
 
94 94
         // Remove the noptimize-wrapper from around the excluded strings.
95
-        foreach ( $this->exclude as $str ) {
96
-            $replacement = '<!--noptimize-->' . $str . '<!--/noptimize-->';
97
-            if ( false !== strpos( $this->content, $replacement ) ) {
98
-                $this->content = str_replace( $replacement, $str, $this->content );
95
+        foreach ($this->exclude as $str) {
96
+            $replacement = '<!--noptimize-->'.$str.'<!--/noptimize-->';
97
+            if (false !== strpos($this->content, $replacement)) {
98
+                $this->content = str_replace($replacement, $str, $this->content);
99 99
             }
100 100
         }
101 101
 
102 102
         // Revslider data attribs somehow suffer from HTML optimization, this fixes that!
103
-        if ( class_exists( 'RevSlider' ) && apply_filters( 'autoptimize_filter_html_dataattrib_cleanup', false ) ) {
104
-            $this->content = preg_replace( '#\n(data-.*$)\n#Um', ' $1 ', $this->content );
105
-            $this->content = preg_replace( '#<[^>]*(=\"[^"\'<>\s]*\")(\w)#', '$1 $2', $this->content );
103
+        if (class_exists('RevSlider') && apply_filters('autoptimize_filter_html_dataattrib_cleanup', false)) {
104
+            $this->content = preg_replace('#\n(data-.*$)\n#Um', ' $1 ', $this->content);
105
+            $this->content = preg_replace('#<[^>]*(=\"[^"\'<>\s]*\")(\w)#', '$1 $2', $this->content);
106 106
         }
107 107
 
108 108
         return true;
Please login to merge, or discard this patch.
classes/autoptimizeCriticalCSSCron.php 1 patch
Spacing   +254 added lines, -254 removed lines patch added patch discarded remove patch
@@ -4,7 +4,7 @@  discard block
 block discarded – undo
4 4
  * processes the queue, submitting jobs to criticalcss.com and retrieving generated CSS from criticalcss.com and saving rules.
5 5
  */
6 6
 
7
-if ( ! defined( 'ABSPATH' ) ) {
7
+if (!defined('ABSPATH')) {
8 8
     exit;
9 9
 }
10 10
 
@@ -13,23 +13,23 @@  discard block
 block discarded – undo
13 13
     {
14 14
         // fetch all options at once and populate them individually explicitely as globals.
15 15
         $all_options = autoptimizeCriticalCSSBase::fetch_options();
16
-        foreach ( $all_options as $_option => $_value ) {
16
+        foreach ($all_options as $_option => $_value) {
17 17
             global ${$_option};
18 18
             ${$_option} = $_value;
19 19
         }
20 20
 
21 21
         // Add queue control to a registered event.
22
-        add_action( 'ao_ccss_queue', array( $this, 'ao_ccss_queue_control' ) );
22
+        add_action('ao_ccss_queue', array($this, 'ao_ccss_queue_control'));
23 23
         // Add cleaning job to a registered event.
24
-        add_action( 'ao_ccss_maintenance', array( $this, 'ao_ccss_cleaning' ) );
24
+        add_action('ao_ccss_maintenance', array($this, 'ao_ccss_cleaning'));
25 25
     }
26 26
 
27 27
     public function ao_ccss_queue_control() {
28 28
         // The queue execution backend.
29 29
         global $ao_ccss_key;
30
-        if ( ! isset( $ao_ccss_key ) || empty( $ao_ccss_key ) ) {
30
+        if (!isset($ao_ccss_key) || empty($ao_ccss_key)) {
31 31
             // no key set, not processing the queue!
32
-            autoptimizeCriticalCSSCore::ao_ccss_log( 'No key set, so not processing queue.', 3 );
32
+            autoptimizeCriticalCSSCore::ao_ccss_log('No key set, so not processing queue.', 3);
33 33
             return;
34 34
         }
35 35
 
@@ -50,35 +50,35 @@  discard block
 block discarded – undo
50 50
          *    When properly set, queue will always finish a job with the declared settings above regardless of the real API responses.
51 51
          */
52 52
         $queue_debug = false;
53
-        if ( file_exists( AO_CCSS_DEBUG ) ) {
54
-            $qdobj_raw = file_get_contents( AO_CCSS_DEBUG );
55
-            $qdobj     = json_decode( $qdobj_raw, true );
56
-            if ( $qdobj ) {
57
-                if ( 1 === $qdobj['enable'] ) {
53
+        if (file_exists(AO_CCSS_DEBUG)) {
54
+            $qdobj_raw = file_get_contents(AO_CCSS_DEBUG);
55
+            $qdobj     = json_decode($qdobj_raw, true);
56
+            if ($qdobj) {
57
+                if (1 === $qdobj['enable']) {
58 58
                     $queue_debug = true;
59
-                    autoptimizeCriticalCSSCore::ao_ccss_log( 'Queue operating in debug mode with the following settings: <' . $qdobj_raw . '>', 3 );
59
+                    autoptimizeCriticalCSSCore::ao_ccss_log('Queue operating in debug mode with the following settings: <'.$qdobj_raw.'>', 3);
60 60
                 }
61 61
             }
62 62
         }
63 63
 
64 64
         // Set some default values for $qdobj to avoid function call warnings.
65
-        if ( ! $queue_debug ) {
65
+        if (!$queue_debug) {
66 66
             $qdobj['htcode'] = false;
67 67
         }
68 68
 
69 69
         // Check if queue is already running.
70 70
         $queue_lock = false;
71
-        if ( file_exists( AO_CCSS_LOCK ) ) {
71
+        if (file_exists(AO_CCSS_LOCK)) {
72 72
             $queue_lock = true;
73 73
         }
74 74
 
75 75
         // Proceed with the queue if it's not already running.
76
-        if ( ! $queue_lock ) {
76
+        if (!$queue_lock) {
77 77
 
78 78
             // Log queue start and create the lock file.
79
-            autoptimizeCriticalCSSCore::ao_ccss_log( 'Queue control started', 3 );
80
-            if ( touch( AO_CCSS_LOCK ) ) {
81
-                autoptimizeCriticalCSSCore::ao_ccss_log( 'Queue control locked', 3 );
79
+            autoptimizeCriticalCSSCore::ao_ccss_log('Queue control started', 3);
80
+            if (touch(AO_CCSS_LOCK)) {
81
+                autoptimizeCriticalCSSCore::ao_ccss_log('Queue control locked', 3);
82 82
             }
83 83
 
84 84
             // Attach required variables.
@@ -86,45 +86,45 @@  discard block
 block discarded – undo
86 86
             global $ao_ccss_rtimelimit;
87 87
 
88 88
             // Initialize counters.
89
-            if ( $ao_ccss_rtimelimit == 0 ) {
89
+            if ($ao_ccss_rtimelimit == 0) {
90 90
                 // no time limit set, let's go with 1000 seconds.
91 91
                 $ao_ccss_rtimelimit = 1000;
92 92
             }
93 93
             $mt = time() + $ao_ccss_rtimelimit; // maxtime queue processing can run.
94 94
             $jc = 1; // job count number.
95 95
             $jr = 1; // jobs requests number.
96
-            $jt = count( $ao_ccss_queue ); // number of jobs in queue.
96
+            $jt = count($ao_ccss_queue); // number of jobs in queue.
97 97
 
98 98
             // Sort queue by ascending job status (e.g. ERROR, JOB_ONGOING, JOB_QUEUED, NEW...).
99
-            array_multisort( array_column( $ao_ccss_queue, 'jqstat' ), $ao_ccss_queue ); // @codingStandardsIgnoreLine
99
+            array_multisort(array_column($ao_ccss_queue, 'jqstat'), $ao_ccss_queue); // @codingStandardsIgnoreLine
100 100
 
101 101
             // Iterates over the entire queue.
102
-            foreach ( $ao_ccss_queue as $path => $jprops ) {
102
+            foreach ($ao_ccss_queue as $path => $jprops) {
103 103
                 // Prepare flags and target rule.
104 104
                 $update      = false;
105 105
                 $deljob      = false;
106 106
                 $rule_update = false;
107 107
                 $oldccssfile = false;
108
-                $trule       = explode( '|', $jprops['rtarget'] );
108
+                $trule       = explode('|', $jprops['rtarget']);
109 109
 
110 110
                 // Log job count.
111
-                autoptimizeCriticalCSSCore::ao_ccss_log( 'Processing job ' . $jc . ' of ' . $jt . ' with id <' . $jprops['ljid'] . '> and status <' . $jprops['jqstat'] . '>', 3 );
111
+                autoptimizeCriticalCSSCore::ao_ccss_log('Processing job '.$jc.' of '.$jt.' with id <'.$jprops['ljid'].'> and status <'.$jprops['jqstat'].'>', 3);
112 112
 
113 113
                 // Process NEW jobs.
114
-                if ( 'NEW' == $jprops['jqstat'] ) {
114
+                if ('NEW' == $jprops['jqstat']) {
115 115
 
116 116
                     // Log the new job.
117
-                    autoptimizeCriticalCSSCore::ao_ccss_log( 'Found NEW job with local ID <' . $jprops['ljid'] . '>, starting its queue processing', 3 );
117
+                    autoptimizeCriticalCSSCore::ao_ccss_log('Found NEW job with local ID <'.$jprops['ljid'].'>, starting its queue processing', 3);
118 118
 
119 119
                     // Compare job and rule hashes (if any).
120
-                    $hash = $this->ao_ccss_diff_hashes( $jprops['ljid'], $jprops['hash'], $jprops['hashes'], $jprops['rtarget'] );
120
+                    $hash = $this->ao_ccss_diff_hashes($jprops['ljid'], $jprops['hash'], $jprops['hashes'], $jprops['rtarget']);
121 121
 
122 122
                     // If job hash is new or different of a previous one.
123
-                    if ( $hash ) {
124
-                        if ( $jr > 2 ) {
123
+                    if ($hash) {
124
+                        if ($jr > 2) {
125 125
                             // we already posted 2 jobs to criticalcss.com, don't post more this run
126 126
                             // but we can keep on processing the queue to keep it tidy.
127
-                            autoptimizeCriticalCSSCore::ao_ccss_log( 'Holding off on generating request for job with local ID <' . $jprops['ljid'] . '>, maximum number of POSTS reached.', 3 );
127
+                            autoptimizeCriticalCSSCore::ao_ccss_log('Holding off on generating request for job with local ID <'.$jprops['ljid'].'>, maximum number of POSTS reached.', 3);
128 128
                             continue;
129 129
                         }
130 130
 
@@ -132,182 +132,182 @@  discard block
 block discarded – undo
132 132
                         $jprops['hash'] = $hash;
133 133
 
134 134
                         // Dispatch the job generate request and increment request count.
135
-                        $apireq = $this->ao_ccss_api_generate( $path, $queue_debug, $qdobj['htcode'] );
135
+                        $apireq = $this->ao_ccss_api_generate($path, $queue_debug, $qdobj['htcode']);
136 136
                         $jr++;
137 137
 
138 138
                         // NOTE: All the following conditions maps to the ones in admin_settings_queue.js.php.
139
-                        if ( 'JOB_QUEUED' == $apireq['job']['status'] || 'JOB_ONGOING' == $apireq['job']['status'] ) {
139
+                        if ('JOB_QUEUED' == $apireq['job']['status'] || 'JOB_ONGOING' == $apireq['job']['status']) {
140 140
                             // SUCCESS: request has a valid result.
141 141
                             // Update job properties.
142 142
                             $jprops['jid']    = $apireq['job']['id'];
143 143
                             $jprops['jqstat'] = $apireq['job']['status'];
144
-                            autoptimizeCriticalCSSCore::ao_ccss_log( 'Job id <' . $jprops['ljid'] . '> generate request successful, remote id <' . $jprops['jid'] . '>, status now is <' . $jprops['jqstat'] . '>', 3 );
145
-                        } elseif ( 'STATUS_JOB_BAD' == $apireq['job']['status'] ) {
144
+                            autoptimizeCriticalCSSCore::ao_ccss_log('Job id <'.$jprops['ljid'].'> generate request successful, remote id <'.$jprops['jid'].'>, status now is <'.$jprops['jqstat'].'>', 3);
145
+                        } elseif ('STATUS_JOB_BAD' == $apireq['job']['status']) {
146 146
                             // ERROR: concurrent requests
147 147
                             // Update job properties.
148 148
                             $jprops['jid']    = $apireq['job']['id'];
149 149
                             $jprops['jqstat'] = $apireq['job']['status'];
150
-                            if ( $apireq['job']['error'] ) {
150
+                            if ($apireq['job']['error']) {
151 151
                                 $jprops['jrstat'] = $apireq['job']['error'];
152 152
                             } else {
153 153
                                 $jprops['jrstat'] = 'Baby did a bad bad thing';
154 154
                             }
155 155
                             $jprops['jvstat'] = 'NONE';
156
-                            $jprops['jftime'] = microtime( true );
157
-                            autoptimizeCriticalCSSCore::ao_ccss_log( 'Concurrent requests when processing job id <' . $jprops['ljid'] . '>, job status is now <' . $jprops['jqstat'] . '>', 3 );
158
-                        } elseif ( 'INVALID_JWT_TOKEN' == $apireq['errorCode'] ) {
156
+                            $jprops['jftime'] = microtime(true);
157
+                            autoptimizeCriticalCSSCore::ao_ccss_log('Concurrent requests when processing job id <'.$jprops['ljid'].'>, job status is now <'.$jprops['jqstat'].'>', 3);
158
+                        } elseif ('INVALID_JWT_TOKEN' == $apireq['errorCode']) {
159 159
                             // ERROR: key validation
160 160
                             // Update job properties.
161 161
                             $jprops['jqstat'] = $apireq['errorCode'];
162 162
                             $jprops['jrstat'] = $apireq['error'];
163 163
                             $jprops['jvstat'] = 'NONE';
164
-                            $jprops['jftime'] = microtime( true );
165
-                            autoptimizeCriticalCSSCore::ao_ccss_log( 'API key validation error when processing job id <' . $jprops['ljid'] . '>, job status is now <' . $jprops['jqstat'] . '>', 3 );
166
-                        } elseif ( empty( $apireq ) ) {
164
+                            $jprops['jftime'] = microtime(true);
165
+                            autoptimizeCriticalCSSCore::ao_ccss_log('API key validation error when processing job id <'.$jprops['ljid'].'>, job status is now <'.$jprops['jqstat'].'>', 3);
166
+                        } elseif (empty($apireq)) {
167 167
                             // ERROR: no response
168 168
                             // Update job properties.
169 169
                             $jprops['jqstat'] = 'NO_RESPONSE';
170 170
                             $jprops['jrstat'] = 'NONE';
171 171
                             $jprops['jvstat'] = 'NONE';
172
-                            $jprops['jftime'] = microtime( true );
173
-                            autoptimizeCriticalCSSCore::ao_ccss_log( 'Job id <' . $jprops['ljid'] . '> request has no response, status now is <' . $jprops['jqstat'] . '>', 3 );
172
+                            $jprops['jftime'] = microtime(true);
173
+                            autoptimizeCriticalCSSCore::ao_ccss_log('Job id <'.$jprops['ljid'].'> request has no response, status now is <'.$jprops['jqstat'].'>', 3);
174 174
                         } else {
175 175
                             // UNKNOWN: unhandled generate exception
176 176
                             // Update job properties.
177 177
                             $jprops['jqstat'] = 'JOB_UNKNOWN';
178 178
                             $jprops['jrstat'] = 'NONE';
179 179
                             $jprops['jvstat'] = 'NONE';
180
-                            $jprops['jftime'] = microtime( true );
181
-                            autoptimizeCriticalCSSCore::ao_ccss_log( 'Job id <' . $jprops['ljid'] . '> generate request has an UNKNOWN condition, status now is <' . $jprops['jqstat'] . '>, check log messages above for more information', 2 );
182
-                            autoptimizeCriticalCSSCore::ao_ccss_log( 'Job response was: ' . json_encode( $apireq ), 3 );
180
+                            $jprops['jftime'] = microtime(true);
181
+                            autoptimizeCriticalCSSCore::ao_ccss_log('Job id <'.$jprops['ljid'].'> generate request has an UNKNOWN condition, status now is <'.$jprops['jqstat'].'>, check log messages above for more information', 2);
182
+                            autoptimizeCriticalCSSCore::ao_ccss_log('Job response was: '.json_encode($apireq), 3);
183 183
                         }
184 184
                     } else {
185 185
                         // SUCCESS: Job hash is equal to a previous one, so it's done
186 186
                         // Update job status and finish time.
187 187
                         $jprops['jqstat'] = 'JOB_DONE';
188
-                        $jprops['jftime'] = microtime( true );
189
-                        autoptimizeCriticalCSSCore::ao_ccss_log( 'Job id <' . $jprops['ljid'] . '> requires no further processing, status now is <' . $jprops['jqstat'] . '>', 3 );
188
+                        $jprops['jftime'] = microtime(true);
189
+                        autoptimizeCriticalCSSCore::ao_ccss_log('Job id <'.$jprops['ljid'].'> requires no further processing, status now is <'.$jprops['jqstat'].'>', 3);
190 190
                     }
191 191
 
192 192
                     // Set queue update flag.
193 193
                     $update = true;
194 194
 
195
-                } elseif ( 'JOB_QUEUED' == $jprops['jqstat'] || 'JOB_ONGOING' == $jprops['jqstat'] ) {
195
+                } elseif ('JOB_QUEUED' == $jprops['jqstat'] || 'JOB_ONGOING' == $jprops['jqstat']) {
196 196
                     // Process QUEUED and ONGOING jobs
197 197
                     // Log the pending job.
198
-                    autoptimizeCriticalCSSCore::ao_ccss_log( 'Found PENDING job with local ID <' . $jprops['ljid'] . '>, continuing its queue processing', 3 );
198
+                    autoptimizeCriticalCSSCore::ao_ccss_log('Found PENDING job with local ID <'.$jprops['ljid'].'>, continuing its queue processing', 3);
199 199
 
200 200
                     // Dispatch the job result request and increment request count.
201
-                    $apireq = $this->ao_ccss_api_results( $jprops['jid'], $queue_debug, $qdobj['htcode'] );
201
+                    $apireq = $this->ao_ccss_api_results($jprops['jid'], $queue_debug, $qdobj['htcode']);
202 202
 
203 203
                     // NOTE: All the following condigitons maps to the ones in admin_settings_queue.js.php
204 204
                     // Replace API response values if queue debugging is enabled and some value is set.
205
-                    if ( $queue_debug ) {
206
-                        if ( $qdobj['status'] ) {
205
+                    if ($queue_debug) {
206
+                        if ($qdobj['status']) {
207 207
                             $apireq['status'] = $qdobj['status'];
208 208
                         }
209
-                        if ( $qdobj['resultStatus'] ) {
209
+                        if ($qdobj['resultStatus']) {
210 210
                             $apireq['resultStatus'] = $qdobj['resultStatus'];
211 211
                         }
212
-                        if ( $qdobj['validationStatus'] ) {
212
+                        if ($qdobj['validationStatus']) {
213 213
                             $apireq['validationStatus'] = $qdobj['validationStatus'];
214 214
                         }
215 215
                     }
216 216
 
217
-                    if ( 'JOB_QUEUED' == $apireq['status'] || 'JOB_ONGOING' == $apireq['status'] ) {
217
+                    if ('JOB_QUEUED' == $apireq['status'] || 'JOB_ONGOING' == $apireq['status']) {
218 218
                         // SUCCESS: request has a valid result
219 219
                         // Process a PENDING job
220 220
                         // Update job properties.
221 221
                         $jprops['jqstat'] = $apireq['status'];
222
-                        autoptimizeCriticalCSSCore::ao_ccss_log( 'Job id <' . $jprops['ljid'] . '> result request successful, remote id <' . $jprops['jid'] . '>, status <' . $jprops['jqstat'] . '> unchanged', 3 );
223
-                    } elseif ( 'JOB_DONE' == $apireq['status'] ) {
222
+                        autoptimizeCriticalCSSCore::ao_ccss_log('Job id <'.$jprops['ljid'].'> result request successful, remote id <'.$jprops['jid'].'>, status <'.$jprops['jqstat'].'> unchanged', 3);
223
+                    } elseif ('JOB_DONE' == $apireq['status']) {
224 224
                         // Process a DONE job
225 225
                         // New resultStatus from ccss.com "HTML_404", consider as "GOOD" for now.
226
-                        if ( 'HTML_404' == $apireq['resultStatus'] ) {
226
+                        if ('HTML_404' == $apireq['resultStatus']) {
227 227
                             $apireq['resultStatus'] = 'GOOD';
228 228
                         }
229 229
 
230
-                        if ( 'GOOD' == $apireq['resultStatus'] && ( 'GOOD' == $apireq['validationStatus'] || 'WARN' == $apireq['validationStatus'] ) ) {
230
+                        if ('GOOD' == $apireq['resultStatus'] && ('GOOD' == $apireq['validationStatus'] || 'WARN' == $apireq['validationStatus'])) {
231 231
                             // SUCCESS: GOOD job with GOOD or WARN validation
232 232
                             // Update job properties.
233
-                            $jprops['file']   = $this->ao_ccss_save_file( $apireq['css'], $trule, false );
233
+                            $jprops['file']   = $this->ao_ccss_save_file($apireq['css'], $trule, false);
234 234
                             $jprops['jqstat'] = $apireq['status'];
235 235
                             $jprops['jrstat'] = $apireq['resultStatus'];
236 236
                             $jprops['jvstat'] = $apireq['validationStatus'];
237
-                            $jprops['jftime'] = microtime( true );
237
+                            $jprops['jftime'] = microtime(true);
238 238
                             $rule_update      = true;
239
-                            autoptimizeCriticalCSSCore::ao_ccss_log( 'Job id <' . $jprops['ljid'] . '> result request successful, remote id <' . $jprops['jid'] . '>, status <' . $jprops['jqstat'] . '>, file saved <' . $jprops['file'] . '>', 3 );
240
-                        } elseif ( 'GOOD' == $apireq['resultStatus'] && ( 'BAD' == $apireq['validationStatus'] || 'SCREENSHOT_WARN_BLANK' == $apireq['validationStatus'] ) ) {
239
+                            autoptimizeCriticalCSSCore::ao_ccss_log('Job id <'.$jprops['ljid'].'> result request successful, remote id <'.$jprops['jid'].'>, status <'.$jprops['jqstat'].'>, file saved <'.$jprops['file'].'>', 3);
240
+                        } elseif ('GOOD' == $apireq['resultStatus'] && ('BAD' == $apireq['validationStatus'] || 'SCREENSHOT_WARN_BLANK' == $apireq['validationStatus'])) {
241 241
                             // SUCCESS: GOOD job with BAD or SCREENSHOT_WARN_BLANK validation
242 242
                             // Update job properties.
243 243
                             $jprops['jqstat'] = $apireq['status'];
244 244
                             $jprops['jrstat'] = $apireq['resultStatus'];
245 245
                             $jprops['jvstat'] = $apireq['validationStatus'];
246
-                            $jprops['jftime'] = microtime( true );
247
-                            if ( apply_filters( 'autoptimize_filter_ccss_save_review_rules', true ) ) {
248
-                                $jprops['file']   = $this->ao_ccss_save_file( $apireq['css'], $trule, true );
246
+                            $jprops['jftime'] = microtime(true);
247
+                            if (apply_filters('autoptimize_filter_ccss_save_review_rules', true)) {
248
+                                $jprops['file']   = $this->ao_ccss_save_file($apireq['css'], $trule, true);
249 249
                                 $rule_update      = true;
250
-                                autoptimizeCriticalCSSCore::ao_ccss_log( 'Job id <' . $jprops['ljid'] . '> result request successful, remote id <' . $jprops['jid'] . '>, status <' . $jprops['jqstat'] . ', file saved <' . $jprops['file'] . '> but requires REVIEW', 3 );
250
+                                autoptimizeCriticalCSSCore::ao_ccss_log('Job id <'.$jprops['ljid'].'> result request successful, remote id <'.$jprops['jid'].'>, status <'.$jprops['jqstat'].', file saved <'.$jprops['file'].'> but requires REVIEW', 3);
251 251
                             } else {
252
-                                autoptimizeCriticalCSSCore::ao_ccss_log( 'Job id <' . $jprops['ljid'] . '> result request successful, remote id <' . $jprops['jid'] . '>, status <' . $jprops['jqstat'] . ', file not saved because it required REVIEW.', 3 );
252
+                                autoptimizeCriticalCSSCore::ao_ccss_log('Job id <'.$jprops['ljid'].'> result request successful, remote id <'.$jprops['jid'].'>, status <'.$jprops['jqstat'].', file not saved because it required REVIEW.', 3);
253 253
                             }
254
-                        } elseif ( 'GOOD' != $apireq['resultStatus'] && ( 'GOOD' != $apireq['validationStatus'] || 'WARN' != $apireq['validationStatus'] || 'BAD' != $apireq['validationStatus'] || 'SCREENSHOT_WARN_BLANK' != $apireq['validationStatus'] ) ) {
254
+                        } elseif ('GOOD' != $apireq['resultStatus'] && ('GOOD' != $apireq['validationStatus'] || 'WARN' != $apireq['validationStatus'] || 'BAD' != $apireq['validationStatus'] || 'SCREENSHOT_WARN_BLANK' != $apireq['validationStatus'])) {
255 255
                             // ERROR: no GOOD, WARN or BAD results
256 256
                             // Update job properties.
257 257
                             $jprops['jqstat'] = $apireq['status'];
258 258
                             $jprops['jrstat'] = $apireq['resultStatus'];
259 259
                             $jprops['jvstat'] = $apireq['validationStatus'];
260
-                            $jprops['jftime'] = microtime( true );
261
-                            autoptimizeCriticalCSSCore::ao_ccss_log( 'Job id <' . $jprops['ljid'] . '> result request successful but job FAILED, status now is <' . $jprops['jqstat'] . '>', 3 );
260
+                            $jprops['jftime'] = microtime(true);
261
+                            autoptimizeCriticalCSSCore::ao_ccss_log('Job id <'.$jprops['ljid'].'> result request successful but job FAILED, status now is <'.$jprops['jqstat'].'>', 3);
262 262
                             $apireq['css'] = '/* critical css removed for DEBUG logging purposes */';
263
-                            autoptimizeCriticalCSSCore::ao_ccss_log( 'Job response was: ' . json_encode( $apireq ), 3 );
263
+                            autoptimizeCriticalCSSCore::ao_ccss_log('Job response was: '.json_encode($apireq), 3);
264 264
                         } else {
265 265
                             // UNKNOWN: unhandled JOB_DONE exception
266 266
                             // Update job properties.
267 267
                             $jprops['jqstat'] = 'JOB_UNKNOWN';
268 268
                             $jprops['jrstat'] = $apireq['resultStatus'];
269 269
                             $jprops['jvstat'] = $apireq['validationStatus'];
270
-                            $jprops['jftime'] = microtime( true );
271
-                            autoptimizeCriticalCSSCore::ao_ccss_log( 'Job id <' . $jprops['ljid'] . '> result request successful but job is UNKNOWN, status now is <' . $jprops['jqstat'] . '>', 2 );
270
+                            $jprops['jftime'] = microtime(true);
271
+                            autoptimizeCriticalCSSCore::ao_ccss_log('Job id <'.$jprops['ljid'].'> result request successful but job is UNKNOWN, status now is <'.$jprops['jqstat'].'>', 2);
272 272
                             $apireq['css'] = '/* critical css removed for DEBUG logging purposes */';
273
-                            autoptimizeCriticalCSSCore::ao_ccss_log( 'Job response was: ' . json_encode( $apireq ), 3 );
273
+                            autoptimizeCriticalCSSCore::ao_ccss_log('Job response was: '.json_encode($apireq), 3);
274 274
                         }
275
-                    } elseif ( 'JOB_FAILED' == $apireq['job']['status'] || 'STATUS_JOB_BAD' == $apireq['job']['status'] ) {
275
+                    } elseif ('JOB_FAILED' == $apireq['job']['status'] || 'STATUS_JOB_BAD' == $apireq['job']['status']) {
276 276
                         // ERROR: failed job
277 277
                         // Update job properties.
278 278
                         $jprops['jqstat'] = $apireq['job']['status'];
279
-                        if ( $apireq['job']['error'] ) {
279
+                        if ($apireq['job']['error']) {
280 280
                             $jprops['jrstat'] = $apireq['job']['error'];
281 281
                         } else {
282 282
                             $jprops['jrstat'] = 'Baby did a bad bad thing';
283 283
                         }
284 284
                         $jprops['jvstat'] = 'NONE';
285
-                        $jprops['jftime'] = microtime( true );
286
-                        autoptimizeCriticalCSSCore::ao_ccss_log( 'Job id <' . $jprops['ljid'] . '> result request successful but job FAILED, status now is <' . $jprops['jqstat'] . '>', 3 );
287
-                    } elseif ( 'This css no longer exists. Please re-generate it.' == $apireq['error'] ) {
285
+                        $jprops['jftime'] = microtime(true);
286
+                        autoptimizeCriticalCSSCore::ao_ccss_log('Job id <'.$jprops['ljid'].'> result request successful but job FAILED, status now is <'.$jprops['jqstat'].'>', 3);
287
+                    } elseif ('This css no longer exists. Please re-generate it.' == $apireq['error']) {
288 288
                         // ERROR: CSS doesn't exist
289 289
                         // Update job properties.
290 290
                         $jprops['jqstat'] = 'NO_CSS';
291 291
                         $jprops['jrstat'] = $apireq['error'];
292 292
                         $jprops['jvstat'] = 'NONE';
293
-                        $jprops['jftime'] = microtime( true );
294
-                        autoptimizeCriticalCSSCore::ao_ccss_log( 'Job id <' . $jprops['ljid'] . '> result request successful but job FAILED, status now is <' . $jprops['jqstat'] . '>', 3 );
295
-                    } elseif ( empty( $apireq ) ) {
293
+                        $jprops['jftime'] = microtime(true);
294
+                        autoptimizeCriticalCSSCore::ao_ccss_log('Job id <'.$jprops['ljid'].'> result request successful but job FAILED, status now is <'.$jprops['jqstat'].'>', 3);
295
+                    } elseif (empty($apireq)) {
296 296
                         // ERROR: no response
297 297
                         // Update job properties.
298 298
                         $jprops['jqstat'] = 'NO_RESPONSE';
299 299
                         $jprops['jrstat'] = 'NONE';
300 300
                         $jprops['jvstat'] = 'NONE';
301
-                        $jprops['jftime'] = microtime( true );
302
-                        autoptimizeCriticalCSSCore::ao_ccss_log( 'Job id <' . $jprops['ljid'] . '> request has no response, status now is <' . $jprops['jqstat'] . '>', 3 );
301
+                        $jprops['jftime'] = microtime(true);
302
+                        autoptimizeCriticalCSSCore::ao_ccss_log('Job id <'.$jprops['ljid'].'> request has no response, status now is <'.$jprops['jqstat'].'>', 3);
303 303
                     } else {
304 304
                         // UNKNOWN: unhandled results exception
305 305
                         // Update job properties.
306 306
                         $jprops['jqstat'] = 'JOB_UNKNOWN';
307 307
                         $jprops['jrstat'] = 'NONE';
308 308
                         $jprops['jvstat'] = 'NONE';
309
-                        $jprops['jftime'] = microtime( true );
310
-                        autoptimizeCriticalCSSCore::ao_ccss_log( 'Job id <' . $jprops['ljid'] . '> result request has an UNKNOWN condition, status now is <' . $jprops['jqstat'] . '>, check log messages above for more information', 2 );
309
+                        $jprops['jftime'] = microtime(true);
310
+                        autoptimizeCriticalCSSCore::ao_ccss_log('Job id <'.$jprops['ljid'].'> result request has an UNKNOWN condition, status now is <'.$jprops['jqstat'].'>, check log messages above for more information', 2);
311 311
                     }
312 312
 
313 313
                     // Set queue update flag.
@@ -315,40 +315,40 @@  discard block
 block discarded – undo
315 315
                 }
316 316
 
317 317
                 // Mark DONE jobs for removal.
318
-                if ( 'JOB_DONE' == $jprops['jqstat'] ) {
318
+                if ('JOB_DONE' == $jprops['jqstat']) {
319 319
                     $update = true;
320 320
                     $deljob = true;
321 321
                 }
322 322
 
323 323
                 // Persist updated queue object.
324
-                if ( $update ) {
325
-                    if ( ! $deljob ) {
324
+                if ($update) {
325
+                    if (!$deljob) {
326 326
                         // Update properties of a NEW or PENDING job...
327
-                        $ao_ccss_queue[ $path ] = $jprops;
327
+                        $ao_ccss_queue[$path] = $jprops;
328 328
                     } else {
329 329
                         // ...or remove the DONE job.
330
-                        unset( $ao_ccss_queue[ $path ] );
331
-                        autoptimizeCriticalCSSCore::ao_ccss_log( 'Job id <' . $jprops['ljid'] . '> is DONE and was removed from the queue', 3 );
330
+                        unset($ao_ccss_queue[$path]);
331
+                        autoptimizeCriticalCSSCore::ao_ccss_log('Job id <'.$jprops['ljid'].'> is DONE and was removed from the queue', 3);
332 332
                     }
333 333
 
334 334
                     // Update queue object.
335
-                    $ao_ccss_queue_raw = json_encode( $ao_ccss_queue );
336
-                    update_option( 'autoptimize_ccss_queue', $ao_ccss_queue_raw, false );
337
-                    autoptimizeCriticalCSSCore::ao_ccss_log( 'Queue updated by job id <' . $jprops['ljid'] . '>', 3 );
335
+                    $ao_ccss_queue_raw = json_encode($ao_ccss_queue);
336
+                    update_option('autoptimize_ccss_queue', $ao_ccss_queue_raw, false);
337
+                    autoptimizeCriticalCSSCore::ao_ccss_log('Queue updated by job id <'.$jprops['ljid'].'>', 3);
338 338
 
339 339
                     // Update target rule.
340
-                    if ( $rule_update ) {
341
-                        $this->ao_ccss_rule_update( $jprops['ljid'], $jprops['rtarget'], $jprops['file'], $jprops['hash'] );
342
-                        autoptimizeCriticalCSSCore::ao_ccss_log( 'Job id <' . $jprops['ljid'] . '> updated the target rule <' . $jprops['rtarget'] . '>', 3 );
340
+                    if ($rule_update) {
341
+                        $this->ao_ccss_rule_update($jprops['ljid'], $jprops['rtarget'], $jprops['file'], $jprops['hash']);
342
+                        autoptimizeCriticalCSSCore::ao_ccss_log('Job id <'.$jprops['ljid'].'> updated the target rule <'.$jprops['rtarget'].'>', 3);
343 343
                     }
344 344
                 } else {
345 345
                     // Or log no queue action.
346
-                    autoptimizeCriticalCSSCore::ao_ccss_log( 'Nothing to do on this job', 3 );
346
+                    autoptimizeCriticalCSSCore::ao_ccss_log('Nothing to do on this job', 3);
347 347
                 }
348 348
 
349 349
                 // Break the loop if request time limit is (almost exceeded).
350
-                if ( time() > $mt ) {
351
-                    autoptimizeCriticalCSSCore::ao_ccss_log( 'The time limit of ' . $ao_ccss_rtimelimit . ' seconds was exceeded, queue control must finish now', 3 );
350
+                if (time() > $mt) {
351
+                    autoptimizeCriticalCSSCore::ao_ccss_log('The time limit of '.$ao_ccss_rtimelimit.' seconds was exceeded, queue control must finish now', 3);
352 352
                     break;
353 353
                 }
354 354
 
@@ -357,46 +357,46 @@  discard block
 block discarded – undo
357 357
             }
358 358
 
359 359
             // Remove the lock file and log the queue end.
360
-            if ( file_exists( AO_CCSS_LOCK ) ) {
361
-                unlink( AO_CCSS_LOCK );
362
-                autoptimizeCriticalCSSCore::ao_ccss_log( 'Queue control unlocked', 3 );
360
+            if (file_exists(AO_CCSS_LOCK)) {
361
+                unlink(AO_CCSS_LOCK);
362
+                autoptimizeCriticalCSSCore::ao_ccss_log('Queue control unlocked', 3);
363 363
             }
364
-            autoptimizeCriticalCSSCore::ao_ccss_log( 'Queue control finished', 3 );
364
+            autoptimizeCriticalCSSCore::ao_ccss_log('Queue control finished', 3);
365 365
 
366 366
             // Log that queue is locked.
367 367
         } else {
368
-            autoptimizeCriticalCSSCore::ao_ccss_log( 'Queue is already running, skipping the attempt to run it again', 3 );
368
+            autoptimizeCriticalCSSCore::ao_ccss_log('Queue is already running, skipping the attempt to run it again', 3);
369 369
         }
370 370
     }
371 371
 
372
-    public function ao_ccss_diff_hashes( $ljid, $hash, $hashes, $rule ) {
372
+    public function ao_ccss_diff_hashes($ljid, $hash, $hashes, $rule) {
373 373
         // Compare job hashes
374 374
         // STEP 1: update job hashes.
375
-        if ( 1 == count( $hashes ) ) {
375
+        if (1 == count($hashes)) {
376 376
             // Job with a single hash
377 377
             // Set job hash.
378 378
             $hash = $hashes[0];
379
-            autoptimizeCriticalCSSCore::ao_ccss_log( 'Job id <' . $ljid . '> updated with SINGLE hash <' . $hash . '>', 3 );
379
+            autoptimizeCriticalCSSCore::ao_ccss_log('Job id <'.$ljid.'> updated with SINGLE hash <'.$hash.'>', 3);
380 380
         } else {
381 381
             // Job with multiple hashes
382 382
             // Loop through hashes to concatenate them.
383 383
             $nhash = '';
384
-            foreach ( $hashes as $shash ) {
384
+            foreach ($hashes as $shash) {
385 385
                 $nhash .= $shash;
386 386
             }
387 387
 
388 388
             // Set job hash.
389
-            $hash = md5( $nhash );
390
-            autoptimizeCriticalCSSCore::ao_ccss_log( 'Job id <' . $ljid . '> updated with a COMPOSITE hash <' . $hash . '>', 3 );
389
+            $hash = md5($nhash);
390
+            autoptimizeCriticalCSSCore::ao_ccss_log('Job id <'.$ljid.'> updated with a COMPOSITE hash <'.$hash.'>', 3);
391 391
         }
392 392
 
393 393
         // STEP 2: compare job to existing jobs to prevent double submission for same type+hash.
394 394
         global $ao_ccss_queue;
395 395
 
396
-        foreach ( $ao_ccss_queue as $queue_item ) {
397
-            autoptimizeCriticalCSSCore::ao_ccss_log( 'Comparing <' . $rule . $hash . '> with <' . $queue_item['rtarget'] . $queue_item['hash'] . '>', 3 );
398
-            if ( $queue_item['hash'] == $hash && $queue_item['rtarget'] == $rule && in_array( $queue_item['jqstat'], array( 'JOB_QUEUED', 'JOB_ONGOING', 'JOB_DONE' ) ) ) {
399
-                autoptimizeCriticalCSSCore::ao_ccss_log( 'Job id <' . $ljid . '> matches the already pending job <' . $queue_item['ljid'] . '>', 3 );
396
+        foreach ($ao_ccss_queue as $queue_item) {
397
+            autoptimizeCriticalCSSCore::ao_ccss_log('Comparing <'.$rule.$hash.'> with <'.$queue_item['rtarget'].$queue_item['hash'].'>', 3);
398
+            if ($queue_item['hash'] == $hash && $queue_item['rtarget'] == $rule && in_array($queue_item['jqstat'], array('JOB_QUEUED', 'JOB_ONGOING', 'JOB_DONE'))) {
399
+                autoptimizeCriticalCSSCore::ao_ccss_log('Job id <'.$ljid.'> matches the already pending job <'.$queue_item['ljid'].'>', 3);
400 400
                 return false;
401 401
             }
402 402
         }
@@ -406,32 +406,32 @@  discard block
 block discarded – undo
406 406
         global $ao_ccss_rules;
407 407
 
408 408
         // Prepare rule variables.
409
-        $trule = explode( '|', $rule );
410
-        $srule = $ao_ccss_rules[ $trule[0] ][ $trule[1] ];
409
+        $trule = explode('|', $rule);
410
+        $srule = $ao_ccss_rules[$trule[0]][$trule[1]];
411 411
 
412 412
         // Check if a MANUAL rule exist and return false.
413
-        if ( ! empty( $srule ) && ( 0 == $srule['hash'] && 0 != $srule['file'] ) ) {
414
-            autoptimizeCriticalCSSCore::ao_ccss_log( 'Job id <' . $ljid . '> matches the MANUAL rule <' . $trule[0] . '|' . $trule[1] . '>', 3 );
413
+        if (!empty($srule) && (0 == $srule['hash'] && 0 != $srule['file'])) {
414
+            autoptimizeCriticalCSSCore::ao_ccss_log('Job id <'.$ljid.'> matches the MANUAL rule <'.$trule[0].'|'.$trule[1].'>', 3);
415 415
             return false;
416
-        } elseif ( ! empty( $srule ) ) {
416
+        } elseif (!empty($srule)) {
417 417
             // Check if an AUTO rule exist.
418
-            if ( $hash === $srule['hash'] && is_file( AO_CCSS_DIR . $srule['file'] ) && 0 != filesize( AO_CCSS_DIR . $srule['file'] ) ) {
418
+            if ($hash === $srule['hash'] && is_file(AO_CCSS_DIR.$srule['file']) && 0 != filesize(AO_CCSS_DIR.$srule['file'])) {
419 419
                 // Check if job hash matches rule, if the CCSS file exists said file is not empty and return FALSE is so.
420
-                autoptimizeCriticalCSSCore::ao_ccss_log( 'Job id <' . $ljid . '> with hash <' . $hash . '> MATCH the one in rule <' . $trule[0] . '|' . $trule[1] . '>', 3 );
420
+                autoptimizeCriticalCSSCore::ao_ccss_log('Job id <'.$ljid.'> with hash <'.$hash.'> MATCH the one in rule <'.$trule[0].'|'.$trule[1].'>', 3);
421 421
                 return false;
422 422
             } else {
423 423
                 // Or return the new hash if they differ.
424
-                autoptimizeCriticalCSSCore::ao_ccss_log( 'Job id <' . $ljid . '> with hash <' . $hash . '> DOES NOT MATCH the one in rule <' . $trule[0] . '|' . $trule[1] . '> or rule\'s CCSS file was invalid.', 3 );
424
+                autoptimizeCriticalCSSCore::ao_ccss_log('Job id <'.$ljid.'> with hash <'.$hash.'> DOES NOT MATCH the one in rule <'.$trule[0].'|'.$trule[1].'> or rule\'s CCSS file was invalid.', 3);
425 425
                 return $hash;
426 426
             }
427 427
         } else {
428 428
             // Or just return the hash if no rule exist yet.
429
-            autoptimizeCriticalCSSCore::ao_ccss_log( 'Job id <' . $ljid . '> with hash <' . $hash . '> has no rule yet', 3 );
429
+            autoptimizeCriticalCSSCore::ao_ccss_log('Job id <'.$ljid.'> with hash <'.$hash.'> has no rule yet', 3);
430 430
             return $hash;
431 431
         }
432 432
     }
433 433
 
434
-    public function ao_ccss_api_generate( $path, $debug, $dcode ) {
434
+    public function ao_ccss_api_generate($path, $debug, $dcode) {
435 435
         // POST jobs to criticalcss.com and return responses
436 436
         // Get key and key status.
437 437
         global $ao_ccss_key;
@@ -443,35 +443,35 @@  discard block
 block discarded – undo
443 443
         global $ao_ccss_noptimize;
444 444
 
445 445
         $site_host = get_site_url();
446
-        $site_path = parse_url( $site_host, PHP_URL_PATH );
446
+        $site_path = parse_url($site_host, PHP_URL_PATH);
447 447
 
448
-        if ( ! empty( $site_path ) ) {
449
-            $site_host = str_replace( $site_path, '', $site_host );
448
+        if (!empty($site_path)) {
449
+            $site_host = str_replace($site_path, '', $site_host);
450 450
         }
451 451
 
452 452
         // Logic to bind to one domain to avoid site clones of sites would
453 453
         // automatically begin spawning requests to criticalcss.com which has
454 454
         // a per domain cost.
455 455
         global $ao_ccss_domain;
456
-        if ( empty( $ao_ccss_domain ) ) {
456
+        if (empty($ao_ccss_domain)) {
457 457
             // first request being done, update option to allow future requests are only allowed if from same domain.
458
-            update_option( 'autoptimize_ccss_domain', str_rot13( $site_host ) );
459
-        } elseif ( trim( $ao_ccss_domain, '\'"' ) !== 'none' && parse_url( $site_host, PHP_URL_HOST ) !== parse_url( $ao_ccss_domain, PHP_URL_HOST ) && apply_filters( 'autoptimize_filter_ccss_bind_domain', true ) ) {
458
+            update_option('autoptimize_ccss_domain', str_rot13($site_host));
459
+        } elseif (trim($ao_ccss_domain, '\'"') !== 'none' && parse_url($site_host, PHP_URL_HOST) !== parse_url($ao_ccss_domain, PHP_URL_HOST) && apply_filters('autoptimize_filter_ccss_bind_domain', true)) {
460 460
             // not the same domain, log as error and return without posting to criticalcss.com.
461
-            autoptimizeCriticalCSSCore::ao_ccss_log( 'Request for domain ' . $site_host . ' does not match bound domain ' . $ao_ccss_domain . ' so not proceeding.', 2 );
461
+            autoptimizeCriticalCSSCore::ao_ccss_log('Request for domain '.$site_host.' does not match bound domain '.$ao_ccss_domain.' so not proceeding.', 2);
462 462
             return false;
463 463
         }
464 464
 
465
-        $src_url = $site_host . $path;
465
+        $src_url = $site_host.$path;
466 466
 
467 467
         // Avoid AO optimizations if required by config or avoid lazyload if lazyload is active in AO.
468
-        if ( ! empty( $ao_ccss_noptimize ) ) {
468
+        if (!empty($ao_ccss_noptimize)) {
469 469
             $src_url .= '?ao_noptirocket=1';
470
-        } elseif ( class_exists( 'autoptimizeImages', false ) && autoptimizeImages::should_lazyload_wrapper() ) {
470
+        } elseif (class_exists('autoptimizeImages', false) && autoptimizeImages::should_lazyload_wrapper()) {
471 471
             $src_url .= '?ao_nolazy=1';
472 472
         }
473 473
 
474
-        $src_url = apply_filters( 'autoptimize_filter_ccss_cron_srcurl', $src_url );
474
+        $src_url = apply_filters('autoptimize_filter_ccss_cron_srcurl', $src_url);
475 475
 
476 476
         // Initialize request body.
477 477
         $body           = array();
@@ -481,88 +481,88 @@  discard block
 block discarded – undo
481 481
 
482 482
         // Prepare and add viewport size to the body if available.
483 483
         $viewport = autoptimizeCriticalCSSCore::ao_ccss_viewport();
484
-        if ( ! empty( $viewport['w'] ) && ! empty( $viewport['h'] ) ) {
484
+        if (!empty($viewport['w']) && !empty($viewport['h'])) {
485 485
             $body['width']  = $viewport['w'];
486 486
             $body['height'] = $viewport['h'];
487 487
         }
488 488
 
489 489
         // Prepare and add forceInclude to the body if available.
490 490
         global $ao_ccss_finclude;
491
-        $finclude = $this->ao_ccss_finclude( $ao_ccss_finclude );
492
-        if ( ! empty( $finclude ) ) {
491
+        $finclude = $this->ao_ccss_finclude($ao_ccss_finclude);
492
+        if (!empty($finclude)) {
493 493
             $body['forceInclude'] = $finclude;
494 494
         }
495 495
 
496 496
         // Add filter to allow the body array to be altered (e.g. to add customPageHeaders).
497
-        $body = apply_filters( 'autoptimize_ccss_cron_api_generate_body', $body );
497
+        $body = apply_filters('autoptimize_ccss_cron_api_generate_body', $body);
498 498
 
499 499
         // Body must be json and log it.
500
-        $body = json_encode( $body );
501
-        autoptimizeCriticalCSSCore::ao_ccss_log( 'criticalcss.com: POST generate request body is ' . $body, 3 );
500
+        $body = json_encode($body);
501
+        autoptimizeCriticalCSSCore::ao_ccss_log('criticalcss.com: POST generate request body is '.$body, 3);
502 502
 
503 503
         // Prepare the request.
504
-        $url  = esc_url_raw( AO_CCSS_API . 'generate?aover=' . AO_CCSS_VER );
504
+        $url  = esc_url_raw(AO_CCSS_API.'generate?aover='.AO_CCSS_VER);
505 505
         $args = array(
506 506
             'headers' => array(
507
-                'User-Agent'    => 'Autoptimize v' . AO_CCSS_VER,
507
+                'User-Agent'    => 'Autoptimize v'.AO_CCSS_VER,
508 508
                 'Content-type'  => 'application/json; charset=utf-8',
509
-                'Authorization' => 'JWT ' . $key,
509
+                'Authorization' => 'JWT '.$key,
510 510
                 'Connection'    => 'close',
511 511
             ),
512 512
             'body'    => $body,
513 513
         );
514 514
 
515 515
         // Dispatch the request and store its response code.
516
-        $req  = wp_safe_remote_post( $url, $args );
517
-        $code = wp_remote_retrieve_response_code( $req );
518
-        $body = json_decode( wp_remote_retrieve_body( $req ), true );
516
+        $req  = wp_safe_remote_post($url, $args);
517
+        $code = wp_remote_retrieve_response_code($req);
518
+        $body = json_decode(wp_remote_retrieve_body($req), true);
519 519
 
520
-        if ( $debug && $dcode ) {
520
+        if ($debug && $dcode) {
521 521
             // If queue debug is active, change response code.
522 522
             $code = $dcode;
523 523
         }
524 524
 
525
-        if ( 200 == $code ) {
525
+        if (200 == $code) {
526 526
             // Response code is OK.
527 527
             // Workaround criticalcss.com non-RESTful reponses.
528
-            if ( 'JOB_QUEUED' == $body['job']['status'] || 'JOB_ONGOING' == $body['job']['status'] || 'STATUS_JOB_BAD' == $body['job']['status'] ) {
528
+            if ('JOB_QUEUED' == $body['job']['status'] || 'JOB_ONGOING' == $body['job']['status'] || 'STATUS_JOB_BAD' == $body['job']['status']) {
529 529
                 // Log successful and return encoded request body.
530
-                autoptimizeCriticalCSSCore::ao_ccss_log( 'criticalcss.com: POST generate request for path <' . $src_url . '> replied successfully', 3 );
530
+                autoptimizeCriticalCSSCore::ao_ccss_log('criticalcss.com: POST generate request for path <'.$src_url.'> replied successfully', 3);
531 531
 
532 532
                 // This code also means the key is valid, so cache key status for 24h if not already cached.
533
-                if ( ( ! $key_status || 2 != $key_status ) && $key ) {
534
-                    update_option( 'autoptimize_ccss_keyst', 2 );
535
-                    autoptimizeCriticalCSSCore::ao_ccss_log( 'criticalcss.com: API key is valid, updating key status', 3 );
533
+                if ((!$key_status || 2 != $key_status) && $key) {
534
+                    update_option('autoptimize_ccss_keyst', 2);
535
+                    autoptimizeCriticalCSSCore::ao_ccss_log('criticalcss.com: API key is valid, updating key status', 3);
536 536
                 }
537 537
 
538 538
                 // Return the request body.
539 539
                 return $body;
540 540
             } else {
541 541
                 // Log successful requests with invalid reponses.
542
-                autoptimizeCriticalCSSCore::ao_ccss_log( 'criticalcss.com: POST generate request for path <' . $src_url . '> replied with code <' . $code . '> and an UNKNOWN error condition, body follows...', 2 );
543
-                autoptimizeCriticalCSSCore::ao_ccss_log( print_r( $body, true ), 2 );
542
+                autoptimizeCriticalCSSCore::ao_ccss_log('criticalcss.com: POST generate request for path <'.$src_url.'> replied with code <'.$code.'> and an UNKNOWN error condition, body follows...', 2);
543
+                autoptimizeCriticalCSSCore::ao_ccss_log(print_r($body, true), 2);
544 544
                 return $body;
545 545
             }
546 546
         } else {
547 547
             // Response code is anything else.
548 548
             // Log failed request with a valid response code and return body.
549
-            if ( $code ) {
550
-                autoptimizeCriticalCSSCore::ao_ccss_log( 'criticalcss.com: POST generate request for path <' . $src_url . '> replied with error code <' . $code . '>, body follows...', 2 );
551
-                autoptimizeCriticalCSSCore::ao_ccss_log( print_r( $body, true ), 2 );
549
+            if ($code) {
550
+                autoptimizeCriticalCSSCore::ao_ccss_log('criticalcss.com: POST generate request for path <'.$src_url.'> replied with error code <'.$code.'>, body follows...', 2);
551
+                autoptimizeCriticalCSSCore::ao_ccss_log(print_r($body, true), 2);
552 552
 
553
-                if ( 401 == $code ) {
553
+                if (401 == $code) {
554 554
                     // If request is unauthorized, also clear key status.
555
-                    update_option( 'autoptimize_ccss_keyst', 1 );
556
-                    autoptimizeCriticalCSSCore::ao_ccss_log( 'criticalcss.com: API key is invalid, updating key status', 3 );
555
+                    update_option('autoptimize_ccss_keyst', 1);
556
+                    autoptimizeCriticalCSSCore::ao_ccss_log('criticalcss.com: API key is invalid, updating key status', 3);
557 557
                 }
558 558
 
559 559
                 // Return the request body.
560 560
                 return $body;
561 561
             } else {
562 562
                 // Log failed request with no response and return false.
563
-                autoptimizeCriticalCSSCore::ao_ccss_log( 'criticalcss.com: POST generate request for path <' . $src_url . '> has no response, this could be a service timeout', 2 );
564
-                if ( is_wp_error( $req ) ) {
565
-                    autoptimizeCriticalCSSCore::ao_ccss_log( $req->get_error_message(), 2 );
563
+                autoptimizeCriticalCSSCore::ao_ccss_log('criticalcss.com: POST generate request for path <'.$src_url.'> has no response, this could be a service timeout', 2);
564
+                if (is_wp_error($req)) {
565
+                    autoptimizeCriticalCSSCore::ao_ccss_log($req->get_error_message(), 2);
566 566
                 }
567 567
 
568 568
                 return false;
@@ -570,76 +570,76 @@  discard block
 block discarded – undo
570 570
         }
571 571
     }
572 572
 
573
-    public function ao_ccss_api_results( $jobid, $debug, $dcode ) {
573
+    public function ao_ccss_api_results($jobid, $debug, $dcode) {
574 574
         // GET jobs from criticalcss.com and return responses
575 575
         // Get key.
576 576
         global $ao_ccss_key;
577 577
         $key = $ao_ccss_key;
578 578
 
579 579
         // Prepare the request.
580
-        $url  = AO_CCSS_API . 'results?resultId=' . $jobid;
580
+        $url  = AO_CCSS_API.'results?resultId='.$jobid;
581 581
         $args = array(
582 582
             'headers' => array(
583
-                'User-Agent'    => 'Autoptimize CriticalCSS Power-Up v' . AO_CCSS_VER,
584
-                'Authorization' => 'JWT ' . $key,
583
+                'User-Agent'    => 'Autoptimize CriticalCSS Power-Up v'.AO_CCSS_VER,
584
+                'Authorization' => 'JWT '.$key,
585 585
                 'Connection'    => 'close',
586 586
             ),
587 587
         );
588 588
 
589 589
         // Dispatch the request and store its response code.
590
-        $req  = wp_safe_remote_get( $url, $args );
591
-        $code = wp_remote_retrieve_response_code( $req );
592
-        $body = json_decode( wp_remote_retrieve_body( $req ), true );
590
+        $req  = wp_safe_remote_get($url, $args);
591
+        $code = wp_remote_retrieve_response_code($req);
592
+        $body = json_decode(wp_remote_retrieve_body($req), true);
593 593
 
594
-        if ( $debug && $dcode ) {
594
+        if ($debug && $dcode) {
595 595
             // If queue debug is active, change response code.
596 596
             $code = $dcode;
597 597
         }
598 598
 
599
-        if ( 200 == $code ) {
599
+        if (200 == $code) {
600 600
             // Response code is OK.
601
-            if ( is_array( $body ) && ( array_key_exists( 'status', $body ) || array_key_exists( 'job', $body ) ) && ( 'JOB_QUEUED' == $body['status'] || 'JOB_ONGOING' == $body['status'] || 'JOB_DONE' == $body['status'] || 'JOB_FAILED' == $body['status'] || 'JOB_UNKNOWN' == $body['status'] || 'STATUS_JOB_BAD' == $body['job']['status'] ) ) {
601
+            if (is_array($body) && (array_key_exists('status', $body) || array_key_exists('job', $body)) && ('JOB_QUEUED' == $body['status'] || 'JOB_ONGOING' == $body['status'] || 'JOB_DONE' == $body['status'] || 'JOB_FAILED' == $body['status'] || 'JOB_UNKNOWN' == $body['status'] || 'STATUS_JOB_BAD' == $body['job']['status'])) {
602 602
                 // Workaround criticalcss.com non-RESTful reponses
603 603
                 // Log successful and return encoded request body.
604
-                autoptimizeCriticalCSSCore::ao_ccss_log( 'criticalcss.com: GET results request for remote job id <' . $jobid . '> replied successfully', 3 );
604
+                autoptimizeCriticalCSSCore::ao_ccss_log('criticalcss.com: GET results request for remote job id <'.$jobid.'> replied successfully', 3);
605 605
                 return $body;
606
-            } elseif ( is_array( $body ) && ( array_key_exists( 'error', $body ) && 'This css no longer exists. Please re-generate it.' == $body['error'] ) ) {
606
+            } elseif (is_array($body) && (array_key_exists('error', $body) && 'This css no longer exists. Please re-generate it.' == $body['error'])) {
607 607
                 // Handle no CSS reply
608 608
                 // Log no CSS error and return encoded request body.
609
-                autoptimizeCriticalCSSCore::ao_ccss_log( 'criticalcss.com: GET results request for remote job id <' . $jobid . '> replied successfully but the CSS for it does not exist anymore', 3 );
609
+                autoptimizeCriticalCSSCore::ao_ccss_log('criticalcss.com: GET results request for remote job id <'.$jobid.'> replied successfully but the CSS for it does not exist anymore', 3);
610 610
                 return $body;
611 611
             } else {
612 612
                 // Log failed request and return false.
613
-                autoptimizeCriticalCSSCore::ao_ccss_log( 'criticalcss.com: GET results request for remote job id <' . $jobid . '> replied with code <' . $code . '> and an UNKNOWN error condition, body follows...', 2 );
614
-                autoptimizeCriticalCSSCore::ao_ccss_log( print_r( $body, true ), 2 );
613
+                autoptimizeCriticalCSSCore::ao_ccss_log('criticalcss.com: GET results request for remote job id <'.$jobid.'> replied with code <'.$code.'> and an UNKNOWN error condition, body follows...', 2);
614
+                autoptimizeCriticalCSSCore::ao_ccss_log(print_r($body, true), 2);
615 615
                 return false;
616 616
             }
617 617
         } else {
618 618
             // Response code is anything else
619 619
             // Log failed request with a valid response code and return body.
620
-            if ( $code ) {
621
-                autoptimizeCriticalCSSCore::ao_ccss_log( 'criticalcss.com: GET results request for remote job id <' . $jobid . '> replied with error code <' . $code . '>, body follows...', 2 );
622
-                autoptimizeCriticalCSSCore::ao_ccss_log( print_r( $body, true ), 2 );
623
-                if ( 401 == $code ) {
620
+            if ($code) {
621
+                autoptimizeCriticalCSSCore::ao_ccss_log('criticalcss.com: GET results request for remote job id <'.$jobid.'> replied with error code <'.$code.'>, body follows...', 2);
622
+                autoptimizeCriticalCSSCore::ao_ccss_log(print_r($body, true), 2);
623
+                if (401 == $code) {
624 624
                     // If request is unauthorized, also clear key status.
625
-                    update_option( 'autoptimize_ccss_keyst', 1 );
626
-                    autoptimizeCriticalCSSCore::ao_ccss_log( 'criticalcss.com: API key is invalid, updating key status', 3 );
625
+                    update_option('autoptimize_ccss_keyst', 1);
626
+                    autoptimizeCriticalCSSCore::ao_ccss_log('criticalcss.com: API key is invalid, updating key status', 3);
627 627
                 }
628 628
 
629 629
                 // Return the request body.
630 630
                 return $body;
631 631
             } else {
632 632
                 // Log failed request with no response and return false.
633
-                autoptimizeCriticalCSSCore::ao_ccss_log( 'criticalcss.com: GET results request for remote job id <' . $jobid . '> has no response, this could be a service timeout', 2 );
633
+                autoptimizeCriticalCSSCore::ao_ccss_log('criticalcss.com: GET results request for remote job id <'.$jobid.'> has no response, this could be a service timeout', 2);
634 634
                 return false;
635 635
             }
636 636
         }
637 637
     }
638 638
 
639
-    public function ao_ccss_save_file( $ccss, $target, $review ) {
639
+    public function ao_ccss_save_file($ccss, $target, $review) {
640 640
         // Save critical CSS into the filesystem and return its filename
641 641
         // Prepare review mark.
642
-        if ( $review ) {
642
+        if ($review) {
643 643
             $rmark = '_R';
644 644
         } else {
645 645
             $rmark = '';
@@ -649,21 +649,21 @@  discard block
 block discarded – undo
649 649
         $filename = false;
650 650
         $content  = $ccss;
651 651
 
652
-        if ( autoptimizeCriticalCSSCore::ao_ccss_check_contents( $content ) ) {
652
+        if (autoptimizeCriticalCSSCore::ao_ccss_check_contents($content)) {
653 653
             // Sanitize content, set filename and try to save file.
654
-            $file     = AO_CCSS_DIR . 'ccss_' . md5( $ccss . $target[1] ) . $rmark . '.css';
655
-            $status   = file_put_contents( $file, $content, LOCK_EX );
656
-            $filename = pathinfo( $file, PATHINFO_BASENAME );
657
-            autoptimizeCriticalCSSCore::ao_ccss_log( 'Critical CSS file for the rule <' . $target[0] . '|' . $target[1] . '> was saved as <' . $filename . '>, size in bytes is <' . $status . '>', 3 );
654
+            $file     = AO_CCSS_DIR.'ccss_'.md5($ccss.$target[1]).$rmark.'.css';
655
+            $status   = file_put_contents($file, $content, LOCK_EX);
656
+            $filename = pathinfo($file, PATHINFO_BASENAME);
657
+            autoptimizeCriticalCSSCore::ao_ccss_log('Critical CSS file for the rule <'.$target[0].'|'.$target[1].'> was saved as <'.$filename.'>, size in bytes is <'.$status.'>', 3);
658 658
 
659
-            if ( ! $status ) {
659
+            if (!$status) {
660 660
                 // If file has not been saved, reset filename.
661
-                autoptimizeCriticalCSSCore::ao_ccss_log( 'Critical CSS file <' . $filename . '> could not be not saved', 2 );
661
+                autoptimizeCriticalCSSCore::ao_ccss_log('Critical CSS file <'.$filename.'> could not be not saved', 2);
662 662
                 $filename = false;
663 663
                 return $filename;
664 664
             }
665 665
         } else {
666
-            autoptimizeCriticalCSSCore::ao_ccss_log( 'Critical CSS received did not pass content check', 2 );
666
+            autoptimizeCriticalCSSCore::ao_ccss_log('Critical CSS received did not pass content check', 2);
667 667
             return $filename;
668 668
         }
669 669
 
@@ -673,15 +673,15 @@  discard block
 block discarded – undo
673 673
         global $ao_ccss_rules;
674 674
 
675 675
         // Prepare rule variables.
676
-        $srule   = $ao_ccss_rules[ $target[0] ][ $target[1] ];
676
+        $srule   = $ao_ccss_rules[$target[0]][$target[1]];
677 677
         $oldfile = $srule['file'];
678 678
 
679
-        if ( $oldfile && $oldfile !== $filename ) {
680
-            $delfile = AO_CCSS_DIR . $oldfile;
681
-            if ( file_exists( $delfile ) ) {
682
-                $unlinkst = unlink( $delfile );
683
-                if ( $unlinkst ) {
684
-                    autoptimizeCriticalCSSCore::ao_ccss_log( 'A previous critical CSS file <' . $oldfile . '> was removed for the rule <' . $target[0] . '|' . $target[1] . '>', 3 );
679
+        if ($oldfile && $oldfile !== $filename) {
680
+            $delfile = AO_CCSS_DIR.$oldfile;
681
+            if (file_exists($delfile)) {
682
+                $unlinkst = unlink($delfile);
683
+                if ($unlinkst) {
684
+                    autoptimizeCriticalCSSCore::ao_ccss_log('A previous critical CSS file <'.$oldfile.'> was removed for the rule <'.$target[0].'|'.$target[1].'>', 3);
685 685
                 }
686 686
             }
687 687
         }
@@ -690,29 +690,29 @@  discard block
 block discarded – undo
690 690
         return $filename;
691 691
     }
692 692
 
693
-    public function ao_ccss_rule_update( $ljid, $srule, $file, $hash ) {
693
+    public function ao_ccss_rule_update($ljid, $srule, $file, $hash) {
694 694
         // Update or create a rule
695 695
         // Attach required arrays.
696 696
         global $ao_ccss_rules;
697 697
 
698 698
         // Prepare rule variables.
699
-        $trule  = explode( '|', $srule );
700
-        $rule   = $ao_ccss_rules[ $trule[0] ][ $trule[1] ];
699
+        $trule  = explode('|', $srule);
700
+        $rule   = $ao_ccss_rules[$trule[0]][$trule[1]];
701 701
         $action = false;
702 702
         $rtype  = '';
703 703
 
704
-        if ( 0 === $rule['hash'] && 0 !== $rule['file'] ) {
704
+        if (0 === $rule['hash'] && 0 !== $rule['file']) {
705 705
             // manual rule, don't ever overwrite.
706 706
             $action = 'NOT UPDATED';
707 707
             $rtype  = 'MANUAL';
708
-        } elseif ( 0 === $rule['hash'] && 0 === $rule['file'] ) {
708
+        } elseif (0 === $rule['hash'] && 0 === $rule['file']) {
709 709
             // If this is an user created AUTO rule with no hash and file yet, update its hash and filename
710 710
             // Set rule hash, file and action flag.
711 711
             $rule['hash'] = $hash;
712 712
             $rule['file'] = $file;
713 713
             $action       = 'UPDATED';
714 714
             $rtype        = 'AUTO';
715
-        } elseif ( 0 !== $rule['hash'] && ctype_alnum( $rule['hash'] ) ) {
715
+        } elseif (0 !== $rule['hash'] && ctype_alnum($rule['hash'])) {
716 716
             // If this is an genuine AUTO rule, update its hash and filename
717 717
             // Set rule hash, file and action flag.
718 718
             $rule['hash'] = $hash;
@@ -722,7 +722,7 @@  discard block
 block discarded – undo
722 722
         } else {
723 723
             // If rule doesn't exist, create an AUTO rule
724 724
             // AUTO rules were only for types, but will now also work for paths.
725
-            if ( ( 'types' == $trule[0] || 'paths' == $trule[0] ) && ! empty( $trule[1] ) ) {
725
+            if (('types' == $trule[0] || 'paths' == $trule[0]) && !empty($trule[1])) {
726 726
                 // Set rule hash and file and action flag.
727 727
                 $rule['hash'] = $hash;
728 728
                 $rule['file'] = $file;
@@ -730,47 +730,47 @@  discard block
 block discarded – undo
730 730
                 $rtype        = 'AUTO';
731 731
             } else {
732 732
                 // Log that no rule was created.
733
-                autoptimizeCriticalCSSCore::ao_ccss_log( 'Exception, no AUTO rule created', 3 );
733
+                autoptimizeCriticalCSSCore::ao_ccss_log('Exception, no AUTO rule created', 3);
734 734
             }
735 735
         }
736 736
 
737
-        if ( $action ) {
737
+        if ($action) {
738 738
             // If a rule creation/update is required, persist updated rules object.
739
-            $ao_ccss_rules[ $trule[0] ][ $trule[1] ] = $rule;
740
-            $ao_ccss_rules_raw                       = json_encode( $ao_ccss_rules );
741
-            update_option( 'autoptimize_ccss_rules', $ao_ccss_rules_raw );
742
-            autoptimizeCriticalCSSCore::ao_ccss_log( 'Target rule <' . $srule . '> of type <' . $rtype . '> was ' . $action . ' for job id <' . $ljid . '>', 3 );
739
+            $ao_ccss_rules[$trule[0]][$trule[1]] = $rule;
740
+            $ao_ccss_rules_raw                       = json_encode($ao_ccss_rules);
741
+            update_option('autoptimize_ccss_rules', $ao_ccss_rules_raw);
742
+            autoptimizeCriticalCSSCore::ao_ccss_log('Target rule <'.$srule.'> of type <'.$rtype.'> was '.$action.' for job id <'.$ljid.'>', 3);
743 743
         } else {
744
-            autoptimizeCriticalCSSCore::ao_ccss_log( 'No rule action required', 3 );
744
+            autoptimizeCriticalCSSCore::ao_ccss_log('No rule action required', 3);
745 745
         }
746 746
     }
747 747
 
748
-    function ao_ccss_finclude( $finclude_raw ) {
748
+    function ao_ccss_finclude($finclude_raw) {
749 749
         // Prepare forceInclude object.
750
-        if ( ! empty( $finclude_raw ) ) {
750
+        if (!empty($finclude_raw)) {
751 751
             // If there are any content
752 752
             // Convert raw string into arra and initialize the returning object.
753
-            $fincludes = explode( ',', $finclude_raw );
753
+            $fincludes = explode(',', $finclude_raw);
754 754
             $finclude  = array();
755 755
 
756 756
             // Interacts over every rule.
757 757
             $i = 0;
758
-            foreach ( $fincludes as $include ) {
758
+            foreach ($fincludes as $include) {
759 759
                 // Trim leading and trailing whitespaces.
760
-                $include = trim( $include );
760
+                $include = trim($include);
761 761
 
762
-                if ( substr( $include, 0, 2 ) === '//' ) {
762
+                if (substr($include, 0, 2) === '//') {
763 763
                     // Regex rule
764 764
                     // Format value as required.
765
-                    $include = str_replace( '//', '/', $include );
766
-                    $include = $include . '/i';
765
+                    $include = str_replace('//', '/', $include);
766
+                    $include = $include.'/i';
767 767
 
768 768
                     // Store regex object.
769
-                    $finclude[ $i ]['type']  = 'RegExp';
770
-                    $finclude[ $i ]['value'] = $include;
769
+                    $finclude[$i]['type']  = 'RegExp';
770
+                    $finclude[$i]['value'] = $include;
771 771
                 } else {
772 772
                     // Simple value rule.
773
-                    $finclude[ $i ]['value'] = $include;
773
+                    $finclude[$i]['value'] = $include;
774 774
                 }
775 775
 
776 776
                 $i++;
@@ -787,54 +787,54 @@  discard block
 block discarded – undo
787 787
     public function ao_ccss_cleaning() {
788 788
         // Perform plugin maintenance
789 789
         // Truncate log file >= 1MB .
790
-        if ( file_exists( AO_CCSS_LOG ) ) {
791
-            if ( filesize( AO_CCSS_LOG ) >= 1048576 ) {
792
-                $logfile = fopen( AO_CCSS_LOG, 'w' );
793
-                fclose( $logfile );
790
+        if (file_exists(AO_CCSS_LOG)) {
791
+            if (filesize(AO_CCSS_LOG) >= 1048576) {
792
+                $logfile = fopen(AO_CCSS_LOG, 'w');
793
+                fclose($logfile);
794 794
             }
795 795
         }
796 796
 
797 797
         // Remove lock file.
798
-        if ( file_exists( AO_CCSS_LOCK ) ) {
799
-            unlink( AO_CCSS_LOCK );
798
+        if (file_exists(AO_CCSS_LOCK)) {
799
+            unlink(AO_CCSS_LOCK);
800 800
         }
801 801
 
802 802
         // Make sure queue processing is scheduled, recreate if not.
803
-        if ( ! wp_next_scheduled( 'ao_ccss_queue' ) ) {
804
-            wp_schedule_event( time(), apply_filters( 'ao_ccss_queue_schedule', 'ao_ccss' ), 'ao_ccss_queue' );
803
+        if (!wp_next_scheduled('ao_ccss_queue')) {
804
+            wp_schedule_event(time(), apply_filters('ao_ccss_queue_schedule', 'ao_ccss'), 'ao_ccss_queue');
805 805
         }
806 806
 
807 807
         // Queue cleaning.
808 808
         global $ao_ccss_queue;
809 809
         $queue_purge_threshold = 100;
810
-        $queue_purge_age       = 24 * 60 * 60;
811
-        $queue_length          = count( $ao_ccss_queue );
812
-        $timestamp_yesterday   = microtime( true ) - $queue_purge_age;
810
+        $queue_purge_age       = 24*60*60;
811
+        $queue_length          = count($ao_ccss_queue);
812
+        $timestamp_yesterday   = microtime(true) - $queue_purge_age;
813 813
         $remove_old_new        = false;
814 814
         $queue_altered         = false;
815 815
 
816
-        if ( $queue_length > $queue_purge_threshold ) {
816
+        if ($queue_length > $queue_purge_threshold) {
817 817
             $remove_old_new = true;
818 818
         }
819 819
 
820
-        foreach ( $ao_ccss_queue as $path => $job ) {
821
-            if ( ( $remove_old_new && 'NEW' == $job['jqstat'] && $job['jctime'] < $timestamp_yesterday ) || in_array( $job['jqstat'], array( 'JOB_FAILED', 'STATUS_JOB_BAD', 'NO_CSS', 'NO_RESPONSE' ) ) ) {
822
-                unset( $ao_ccss_queue[ $path ] );
820
+        foreach ($ao_ccss_queue as $path => $job) {
821
+            if (($remove_old_new && 'NEW' == $job['jqstat'] && $job['jctime'] < $timestamp_yesterday) || in_array($job['jqstat'], array('JOB_FAILED', 'STATUS_JOB_BAD', 'NO_CSS', 'NO_RESPONSE'))) {
822
+                unset($ao_ccss_queue[$path]);
823 823
                 $queue_altered = true;
824 824
             }
825 825
         }
826 826
 
827 827
         // save queue to options!
828
-        if ( $queue_altered ) {
829
-            $ao_ccss_queue_raw = json_encode( $ao_ccss_queue );
830
-            update_option( 'autoptimize_ccss_queue', $ao_ccss_queue_raw, false );
831
-            autoptimizeCriticalCSSCore::ao_ccss_log( 'Queue cleaning done.', 3 );
828
+        if ($queue_altered) {
829
+            $ao_ccss_queue_raw = json_encode($ao_ccss_queue);
830
+            update_option('autoptimize_ccss_queue', $ao_ccss_queue_raw, false);
831
+            autoptimizeCriticalCSSCore::ao_ccss_log('Queue cleaning done.', 3);
832 832
         }
833 833
 
834 834
         // re-check key if invalid.
835 835
         global $ao_ccss_keyst;
836
-        if ( 1 == $ao_ccss_keyst ) {
837
-            $this->ao_ccss_api_generate( '', '', '' );
836
+        if (1 == $ao_ccss_keyst) {
837
+            $this->ao_ccss_api_generate('', '', '');
838 838
         }
839 839
     }
840 840
 }
Please login to merge, or discard this patch.
classes/autoptimizeCache.php 1 patch
Spacing   +183 added lines, -183 removed lines patch added patch discarded remove patch
@@ -3,7 +3,7 @@  discard block
 block discarded – undo
3 3
  * Handles disk-cache-related operations.
4 4
  */
5 5
 
6
-if ( ! defined( 'ABSPATH' ) ) {
6
+if (!defined('ABSPATH')) {
7 7
     exit;
8 8
 }
9 9
 
@@ -38,22 +38,22 @@  discard block
 block discarded – undo
38 38
      * @param string $md5 Hash.
39 39
      * @param string $ext Extension.
40 40
      */
41
-    public function __construct( $md5, $ext = 'php' )
41
+    public function __construct($md5, $ext = 'php')
42 42
     {
43 43
         $_min_ext = '';
44
-        if ( apply_filters( 'autoptimize_filter_cache_url_add_min_ext', false ) ) {
44
+        if (apply_filters('autoptimize_filter_cache_url_add_min_ext', false)) {
45 45
             $_min_ext = '.min';
46 46
         }
47 47
 
48 48
         $this->cachedir = AUTOPTIMIZE_CACHE_DIR;
49 49
         $this->nogzip   = AUTOPTIMIZE_CACHE_NOGZIP;
50
-        if ( ! $this->nogzip ) {
51
-            $this->filename = AUTOPTIMIZE_CACHEFILE_PREFIX . $md5 . $_min_ext . '.php';
50
+        if (!$this->nogzip) {
51
+            $this->filename = AUTOPTIMIZE_CACHEFILE_PREFIX.$md5.$_min_ext.'.php';
52 52
         } else {
53
-            if ( in_array( $ext, array( 'js', 'css' ) ) ) {
54
-                $this->filename = $ext . '/' . AUTOPTIMIZE_CACHEFILE_PREFIX . $md5 . $_min_ext . '.' . $ext;
53
+            if (in_array($ext, array('js', 'css'))) {
54
+                $this->filename = $ext.'/'.AUTOPTIMIZE_CACHEFILE_PREFIX.$md5.$_min_ext.'.'.$ext;
55 55
             } else {
56
-                $this->filename = AUTOPTIMIZE_CACHEFILE_PREFIX . $md5 . $_min_ext . '.' . $ext;
56
+                $this->filename = AUTOPTIMIZE_CACHEFILE_PREFIX.$md5.$_min_ext.'.'.$ext;
57 57
             }
58 58
         }
59 59
     }
@@ -65,7 +65,7 @@  discard block
 block discarded – undo
65 65
      */
66 66
     public function check()
67 67
     {
68
-        return file_exists( $this->cachedir . $this->filename );
68
+        return file_exists($this->cachedir.$this->filename);
69 69
     }
70 70
 
71 71
     /**
@@ -75,11 +75,11 @@  discard block
 block discarded – undo
75 75
      */
76 76
     public function retrieve()
77 77
     {
78
-        if ( $this->check() ) {
79
-            if ( false == $this->nogzip ) {
80
-                return file_get_contents( $this->cachedir . $this->filename . '.none' );
78
+        if ($this->check()) {
79
+            if (false == $this->nogzip) {
80
+                return file_get_contents($this->cachedir.$this->filename.'.none');
81 81
             } else {
82
-                return file_get_contents( $this->cachedir . $this->filename );
82
+                return file_get_contents($this->cachedir.$this->filename);
83 83
             }
84 84
         }
85 85
         return false;
@@ -93,10 +93,10 @@  discard block
 block discarded – undo
93 93
      *
94 94
      * @return void
95 95
      */
96
-    public function cache( $data, $mime )
96
+    public function cache($data, $mime)
97 97
     {
98 98
         // readonly FS explicitly OK'ed by developer, so just pretend all is OK.
99
-        if ( defined( 'AUTOPTIMIZE_CACHE_READONLY' ) ) {
99
+        if (defined('AUTOPTIMIZE_CACHE_READONLY')) {
100 100
             return true;
101 101
         }
102 102
 
@@ -104,44 +104,44 @@  discard block
 block discarded – undo
104 104
         //
105 105
         // to be activated for users that experience these ugly errors;
106 106
         // PHP Warning: file_put_contents failed to open stream: No such file or directory.
107
-        if ( apply_filters( 'autoptimize_filter_cache_checkdirs_on_write', false ) ) {
107
+        if (apply_filters('autoptimize_filter_cache_checkdirs_on_write', false)) {
108 108
             $this->check_and_create_dirs();
109 109
         }
110 110
 
111
-        if ( false === $this->nogzip ) {
111
+        if (false === $this->nogzip) {
112 112
             // We handle gzipping ourselves.
113 113
             $file    = 'default.php';
114
-            $phpcode = file_get_contents( AUTOPTIMIZE_PLUGIN_DIR . 'config/' . $file );
115
-            $phpcode = str_replace( array( '%%CONTENT%%', 'exit;' ), array( $mime, '' ), $phpcode );
114
+            $phpcode = file_get_contents(AUTOPTIMIZE_PLUGIN_DIR.'config/'.$file);
115
+            $phpcode = str_replace(array('%%CONTENT%%', 'exit;'), array($mime, ''), $phpcode);
116 116
 
117
-            file_put_contents( $this->cachedir . $this->filename, $phpcode );
118
-            file_put_contents( $this->cachedir . $this->filename . '.none', $data );
117
+            file_put_contents($this->cachedir.$this->filename, $phpcode);
118
+            file_put_contents($this->cachedir.$this->filename.'.none', $data);
119 119
         } else {
120 120
             // Write code to cache without doing anything else.
121
-            file_put_contents( $this->cachedir . $this->filename, $data );
121
+            file_put_contents($this->cachedir.$this->filename, $data);
122 122
 
123 123
             // save fallback .js or .css file if filter true (to be false by default) but not if snippet or single.
124
-            if ( self::do_fallback() && strpos( $this->filename, '_snippet_' ) === false && strpos( $this->filename, '_single_' ) === false ) {
125
-                $_extension     = pathinfo( $this->filename, PATHINFO_EXTENSION );
126
-                $_fallback_file = AUTOPTIMIZE_CACHEFILE_PREFIX . 'fallback.' . $_extension;
127
-                if ( ( 'css' === $_extension || 'js' === $_extension ) && ! file_exists( $this->cachedir . $_extension . '/' . $_fallback_file ) ) {
128
-                    file_put_contents( $this->cachedir . $_extension . '/' . $_fallback_file, $data );
124
+            if (self::do_fallback() && strpos($this->filename, '_snippet_') === false && strpos($this->filename, '_single_') === false) {
125
+                $_extension     = pathinfo($this->filename, PATHINFO_EXTENSION);
126
+                $_fallback_file = AUTOPTIMIZE_CACHEFILE_PREFIX.'fallback.'.$_extension;
127
+                if (('css' === $_extension || 'js' === $_extension) && !file_exists($this->cachedir.$_extension.'/'.$_fallback_file)) {
128
+                    file_put_contents($this->cachedir.$_extension.'/'.$_fallback_file, $data);
129 129
                 }
130 130
             }
131 131
 
132
-            if ( apply_filters( 'autoptimize_filter_cache_create_static_gzip', false ) ) {
132
+            if (apply_filters('autoptimize_filter_cache_create_static_gzip', false)) {
133 133
                 // Create an additional cached gzip file.
134
-                file_put_contents( $this->cachedir . $this->filename . '.gz', gzencode( $data, 9, FORCE_GZIP ) );
134
+                file_put_contents($this->cachedir.$this->filename.'.gz', gzencode($data, 9, FORCE_GZIP));
135 135
                 // If PHP Brotli extension is installed, create an additional cached Brotli file.
136
-                if ( function_exists( 'brotli_compress' ) ) {
137
-                    file_put_contents( $this->cachedir . $this->filename . '.br', brotli_compress( $data, 11, BROTLI_GENERIC ) );
136
+                if (function_exists('brotli_compress')) {
137
+                    file_put_contents($this->cachedir.$this->filename.'.br', brotli_compress($data, 11, BROTLI_GENERIC));
138 138
                 }
139 139
             }
140 140
         }
141 141
 
142 142
         // Provide 3rd party action hook for every cache file that is created.
143 143
         // This hook can for example be used to inject a copy of the created cache file to a other domain.
144
-        do_action( 'autoptimize_action_cache_file_created', $this->cachedir . $this->filename );
144
+        do_action('autoptimize_action_cache_file_created', $this->cachedir.$this->filename);
145 145
     }
146 146
 
147 147
     /**
@@ -156,7 +156,7 @@  discard block
 block discarded – undo
156 156
         // The original idea here was to provide 3rd party code a hook so that
157 157
         // it can "listen" to all the complete autoptimized-urls that the page
158 158
         // will emit... Or something to that effect I think?
159
-        apply_filters( 'autoptimize_filter_cache_getname', AUTOPTIMIZE_CACHE_URL . $this->filename );
159
+        apply_filters('autoptimize_filter_cache_getname', AUTOPTIMIZE_CACHE_URL.$this->filename);
160 160
 
161 161
         return $this->filename;
162 162
     }
@@ -169,11 +169,11 @@  discard block
 block discarded – undo
169 169
      * @param string $file Filename.
170 170
      * @return bool
171 171
      */
172
-    protected static function is_valid_cache_file( $dir, $file )
172
+    protected static function is_valid_cache_file($dir, $file)
173 173
     {
174
-        if ( '.' !== $file && '..' !== $file &&
175
-            false !== strpos( $file, AUTOPTIMIZE_CACHEFILE_PREFIX ) &&
176
-            is_file( $dir . $file ) ) {
174
+        if ('.' !== $file && '..' !== $file &&
175
+            false !== strpos($file, AUTOPTIMIZE_CACHEFILE_PREFIX) &&
176
+            is_file($dir.$file)) {
177 177
 
178 178
             // It's a valid file!
179 179
             return true;
@@ -191,16 +191,16 @@  discard block
 block discarded – undo
191 191
     protected static function clear_cache_classic()
192 192
     {
193 193
         $contents = self::get_cache_contents();
194
-        foreach ( $contents as $name => $files ) {
195
-            $dir = rtrim( AUTOPTIMIZE_CACHE_DIR . $name, '/' ) . '/';
196
-            foreach ( $files as $file ) {
197
-                if ( self::is_valid_cache_file( $dir, $file ) ) {
198
-                    @unlink( $dir . $file ); // @codingStandardsIgnoreLine
194
+        foreach ($contents as $name => $files) {
195
+            $dir = rtrim(AUTOPTIMIZE_CACHE_DIR.$name, '/').'/';
196
+            foreach ($files as $file) {
197
+                if (self::is_valid_cache_file($dir, $file)) {
198
+                    @unlink($dir.$file); // @codingStandardsIgnoreLine
199 199
                 }
200 200
             }
201 201
         }
202 202
 
203
-        @unlink( AUTOPTIMIZE_CACHE_DIR . '/.htaccess' ); // @codingStandardsIgnoreLine
203
+        @unlink(AUTOPTIMIZE_CACHE_DIR.'/.htaccess'); // @codingStandardsIgnoreLine
204 204
     }
205 205
 
206 206
     /**
@@ -211,19 +211,19 @@  discard block
 block discarded – undo
211 211
      *
212 212
      * @return bool
213 213
      */
214
-    protected static function rmdir( $pathname )
214
+    protected static function rmdir($pathname)
215 215
     {
216
-        $files = self::get_dir_contents( $pathname );
217
-        foreach ( $files as $file ) {
218
-            $path = $pathname . '/' . $file;
219
-            if ( is_dir( $path ) ) {
220
-                self::rmdir( $path );
216
+        $files = self::get_dir_contents($pathname);
217
+        foreach ($files as $file) {
218
+            $path = $pathname.'/'.$file;
219
+            if (is_dir($path)) {
220
+                self::rmdir($path);
221 221
             } else {
222
-                unlink( $path );
222
+                unlink($path);
223 223
             }
224 224
         }
225 225
 
226
-        return rmdir( $pathname );
226
+        return rmdir($pathname);
227 227
     }
228 228
 
229 229
     /**
@@ -244,12 +244,12 @@  discard block
 block discarded – undo
244 244
         $new_name = self::get_unique_name();
245 245
 
246 246
         // Makes sure the new pathname is on the same level...
247
-        $new_pathname = dirname( $dir ) . '/' . $new_name;
248
-        $renamed      = @rename( $dir, $new_pathname ); // @codingStandardsIgnoreLine
247
+        $new_pathname = dirname($dir).'/'.$new_name;
248
+        $renamed      = @rename($dir, $new_pathname); // @codingStandardsIgnoreLine
249 249
 
250 250
         // When renamed, re-create the default cache directory back so it's
251 251
         // available again...
252
-        if ( $renamed ) {
252
+        if ($renamed) {
253 253
             $ok = self::cacheavail();
254 254
         }
255 255
 
@@ -263,7 +263,7 @@  discard block
 block discarded – undo
263 263
      */
264 264
     public static function advanced_cache_clear_enabled()
265 265
     {
266
-        return apply_filters( 'autoptimize_filter_cache_clear_advanced', false );
266
+        return apply_filters('autoptimize_filter_cache_clear_advanced', false);
267 267
     }
268 268
 
269 269
     /**
@@ -274,7 +274,7 @@  discard block
 block discarded – undo
274 274
     protected static function get_unique_name()
275 275
     {
276 276
         $prefix   = self::get_advanced_cache_clear_prefix();
277
-        $new_name = uniqid( $prefix, true );
277
+        $new_name = uniqid($prefix, true);
278 278
 
279 279
         return $new_name;
280 280
     }
@@ -287,8 +287,8 @@  discard block
 block discarded – undo
287 287
     protected static function get_advanced_cache_clear_prefix()
288 288
     {
289 289
         $pathname = self::get_pathname_base();
290
-        $basename = basename( $pathname );
291
-        $prefix   = $basename . '-artifact-';
290
+        $basename = basename($pathname);
291
+        $prefix   = $basename.'-artifact-';
292 292
 
293 293
         return $prefix;
294 294
     }
@@ -301,9 +301,9 @@  discard block
 block discarded – undo
301 301
      *
302 302
      * @return array
303 303
      */
304
-    protected static function get_dir_contents( $pathname )
304
+    protected static function get_dir_contents($pathname)
305 305
     {
306
-        return array_slice( scandir( $pathname ), 2 );
306
+        return array_slice(scandir($pathname), 2);
307 307
     }
308 308
 
309 309
     /**
@@ -316,24 +316,24 @@  discard block
 block discarded – undo
316 316
     public static function delete_advanced_cache_clear_artifacts()
317 317
     {
318 318
         // Don't go through these motions (called from the cachechecker) if advanced cache clear isn't even active.
319
-        if ( ! self::advanced_cache_clear_enabled() ) {
319
+        if (!self::advanced_cache_clear_enabled()) {
320 320
             return false;
321 321
         }
322 322
 
323 323
         $dir    = self::get_pathname_base();
324 324
         $prefix = self::get_advanced_cache_clear_prefix();
325
-        $parent = dirname( $dir );
325
+        $parent = dirname($dir);
326 326
         $ok     = false;
327 327
 
328 328
         // Returns the list of files without '.' and '..' elements.
329
-        $files = self::get_dir_contents( $parent );
330
-        if ( is_array( $files ) && ! empty( $files ) ) {
331
-            foreach ( $files as $file ) {
332
-                $path     = $parent . '/' . $file;
333
-                $prefixed = ( false !== strpos( $path, $prefix ) );
329
+        $files = self::get_dir_contents($parent);
330
+        if (is_array($files) && !empty($files)) {
331
+            foreach ($files as $file) {
332
+                $path     = $parent.'/'.$file;
333
+                $prefixed = (false !== strpos($path, $prefix));
334 334
                 // Removing only our own (prefixed) directories...
335
-                if ( is_dir( $path ) && $prefixed ) {
336
-                    $ok = self::rmdir( $path );
335
+                if (is_dir($path) && $prefixed) {
336
+                    $ok = self::rmdir($path);
337 337
                 }
338 338
             }
339 339
         }
@@ -353,9 +353,9 @@  discard block
 block discarded – undo
353 353
     {
354 354
         $pathname = self::get_pathname_base();
355 355
 
356
-        if ( is_multisite() && apply_filters( 'autoptimize_separate_blog_caches', true ) ) {
356
+        if (is_multisite() && apply_filters('autoptimize_separate_blog_caches', true)) {
357 357
             $blog_id   = get_current_blog_id();
358
-            $pathname .= $blog_id . '/';
358
+            $pathname .= $blog_id.'/';
359 359
         }
360 360
 
361 361
         return $pathname;
@@ -368,7 +368,7 @@  discard block
 block discarded – undo
368 368
      */
369 369
     protected static function get_pathname_base()
370 370
     {
371
-        $pathname = WP_CONTENT_DIR . AUTOPTIMIZE_CACHE_CHILD_DIR;
371
+        $pathname = WP_CONTENT_DIR.AUTOPTIMIZE_CACHE_CHILD_DIR;
372 372
 
373 373
         return $pathname;
374 374
     }
@@ -380,46 +380,46 @@  discard block
 block discarded – undo
380 380
      *
381 381
      * @return bool
382 382
      */
383
-    public static function clearall( $propagate = true )
383
+    public static function clearall($propagate = true)
384 384
     {
385
-        if ( ! self::cacheavail() ) {
385
+        if (!self::cacheavail()) {
386 386
             return false;
387 387
         }
388 388
 
389 389
         // TODO/FIXME: If cache is big, switch to advanced/new cache clearing automatically?
390
-        if ( self::advanced_cache_clear_enabled() ) {
390
+        if (self::advanced_cache_clear_enabled()) {
391 391
             self::clear_cache_via_rename();
392 392
         } else {
393 393
             self::clear_cache_classic();
394 394
         }
395 395
 
396 396
         // Remove 404 handler if required.
397
-        if ( self::do_fallback() ) {
398
-            $_fallback_php = trailingslashit( WP_CONTENT_DIR ) . 'autoptimize_404_handler.php';
399
-            @unlink( $_fallback_php ); // @codingStandardsIgnoreLine
397
+        if (self::do_fallback()) {
398
+            $_fallback_php = trailingslashit(WP_CONTENT_DIR).'autoptimize_404_handler.php';
399
+            @unlink($_fallback_php); // @codingStandardsIgnoreLine
400 400
         }
401 401
 
402 402
         // Remove the transient so it gets regenerated...
403
-        delete_transient( 'autoptimize_stats' );
403
+        delete_transient('autoptimize_stats');
404 404
 
405 405
         // Cache was just purged, clear page cache and allow others to hook into our purging...
406
-        if ( true === $propagate ) {
407
-            if ( ! function_exists( 'autoptimize_do_cachepurged_action' ) ) {
406
+        if (true === $propagate) {
407
+            if (!function_exists('autoptimize_do_cachepurged_action')) {
408 408
                 function autoptimize_do_cachepurged_action() {
409
-                    do_action( 'autoptimize_action_cachepurged' );
409
+                    do_action('autoptimize_action_cachepurged');
410 410
                 }
411 411
             }
412
-            add_action( 'shutdown', 'autoptimize_do_cachepurged_action', 11 );
413
-            add_action( 'autoptimize_action_cachepurged', array( 'autoptimizeCache', 'flushPageCache' ), 10, 0 );
412
+            add_action('shutdown', 'autoptimize_do_cachepurged_action', 11);
413
+            add_action('autoptimize_action_cachepurged', array('autoptimizeCache', 'flushPageCache'), 10, 0);
414 414
         }
415 415
 
416 416
         // Warm cache (part of speedupper)!
417
-        if ( apply_filters( 'autoptimize_filter_speedupper', true ) && false == get_transient( 'autoptimize_cache_warmer_protector' ) ) {
418
-            set_transient( 'autoptimize_cache_warmer_protector', 'I shall not warm cache for another 10 minutes.', 60 * 10 );
419
-            $url   = site_url() . '/?ao_speedup_cachebuster=' . rand( 1, 100000 );
420
-            $url   = apply_filters( 'autoptimize_filter_cache_warmer_url', $url );
421
-            $cache = @wp_remote_get( $url ); // @codingStandardsIgnoreLine
422
-            unset( $cache );
417
+        if (apply_filters('autoptimize_filter_speedupper', true) && false == get_transient('autoptimize_cache_warmer_protector')) {
418
+            set_transient('autoptimize_cache_warmer_protector', 'I shall not warm cache for another 10 minutes.', 60*10);
419
+            $url   = site_url().'/?ao_speedup_cachebuster='.rand(1, 100000);
420
+            $url   = apply_filters('autoptimize_filter_cache_warmer_url', $url);
421
+            $cache = @wp_remote_get($url); // @codingStandardsIgnoreLine
422
+            unset($cache);
423 423
         }
424 424
 
425 425
         return true;
@@ -434,7 +434,7 @@  discard block
 block discarded – undo
434 434
      */
435 435
     public static function clearall_actionless()
436 436
     {
437
-        return self::clearall( false );
437
+        return self::clearall(false);
438 438
     }
439 439
 
440 440
     /**
@@ -446,8 +446,8 @@  discard block
 block discarded – undo
446 446
     {
447 447
         $contents = array();
448 448
 
449
-        foreach ( array( '', 'js', 'css' ) as $dir ) {
450
-            $contents[ $dir ] = scandir( AUTOPTIMIZE_CACHE_DIR . $dir );
449
+        foreach (array('', 'js', 'css') as $dir) {
450
+            $contents[$dir] = scandir(AUTOPTIMIZE_CACHE_DIR.$dir);
451 451
         }
452 452
 
453 453
         return $contents;
@@ -460,21 +460,21 @@  discard block
 block discarded – undo
460 460
      */
461 461
     public static function stats()
462 462
     {
463
-        $stats = get_transient( 'autoptimize_stats' );
463
+        $stats = get_transient('autoptimize_stats');
464 464
 
465 465
         // If no transient, do the actual scan!
466
-        if ( ! is_array( $stats ) ) {
467
-            if ( ! self::cacheavail() ) {
466
+        if (!is_array($stats)) {
467
+            if (!self::cacheavail()) {
468 468
                 return 0;
469 469
             }
470 470
             $stats = self::stats_scan();
471 471
             $count = $stats[0];
472
-            if ( $count > 100 ) {
472
+            if ($count > 100) {
473 473
                 // Store results in transient.
474 474
                 set_transient(
475 475
                     'autoptimize_stats',
476 476
                     $stats,
477
-                    apply_filters( 'autoptimize_filter_cache_statsexpiry', HOUR_IN_SECONDS )
477
+                    apply_filters('autoptimize_filter_cache_statsexpiry', HOUR_IN_SECONDS)
478 478
                 );
479 479
             }
480 480
         }
@@ -497,30 +497,30 @@  discard block
 block discarded – undo
497 497
         $size  = 0;
498 498
 
499 499
         // Scan everything in our cache directories.
500
-        foreach ( self::get_cache_contents() as $name => $files ) {
501
-            $dir = rtrim( AUTOPTIMIZE_CACHE_DIR . $name, '/' ) . '/';
502
-            foreach ( $files as $file ) {
503
-                if ( self::is_valid_cache_file( $dir, $file ) ) {
504
-                    if ( AUTOPTIMIZE_CACHE_NOGZIP &&
500
+        foreach (self::get_cache_contents() as $name => $files) {
501
+            $dir = rtrim(AUTOPTIMIZE_CACHE_DIR.$name, '/').'/';
502
+            foreach ($files as $file) {
503
+                if (self::is_valid_cache_file($dir, $file)) {
504
+                    if (AUTOPTIMIZE_CACHE_NOGZIP &&
505 505
                         (
506
-                            false !== strpos( $file, '.js' ) ||
507
-                            false !== strpos( $file, '.css' ) ||
508
-                            false !== strpos( $file, '.img' ) ||
509
-                            false !== strpos( $file, '.txt' )
506
+                            false !== strpos($file, '.js') ||
507
+                            false !== strpos($file, '.css') ||
508
+                            false !== strpos($file, '.img') ||
509
+                            false !== strpos($file, '.txt')
510 510
                         )
511 511
                     ) {
512 512
                         // Web server is gzipping, we count .js|.css|.img|.txt files.
513 513
                         $count++;
514
-                    } elseif ( ! AUTOPTIMIZE_CACHE_NOGZIP && false !== strpos( $file, '.none' ) ) {
514
+                    } elseif (!AUTOPTIMIZE_CACHE_NOGZIP && false !== strpos($file, '.none')) {
515 515
                         // We are gzipping ourselves via php, counting only .none files.
516 516
                         $count++;
517 517
                     }
518
-                    $size += filesize( $dir . $file );
518
+                    $size += filesize($dir.$file);
519 519
                 }
520 520
             }
521 521
         }
522 522
 
523
-        $stats = array( $count, $size, time() );
523
+        $stats = array($count, $size, time());
524 524
 
525 525
         return $stats;
526 526
     }
@@ -535,26 +535,26 @@  discard block
 block discarded – undo
535 535
     public static function cacheavail()
536 536
     {
537 537
         // readonly FS explicitly OK'ed by dev, let's assume the cache dirs are there!
538
-        if ( defined( 'AUTOPTIMIZE_CACHE_READONLY' ) ) {
538
+        if (defined('AUTOPTIMIZE_CACHE_READONLY')) {
539 539
             return true;
540 540
         }
541 541
 
542
-        if ( false === autoptimizeCache::check_and_create_dirs() ) {
542
+        if (false === autoptimizeCache::check_and_create_dirs()) {
543 543
             return false;
544 544
         }
545 545
 
546 546
         // Using .htaccess inside our cache folder to overrule wp-super-cache.
547
-        $htaccess = AUTOPTIMIZE_CACHE_DIR . '/.htaccess';
548
-        if ( ! is_file( $htaccess ) ) {
547
+        $htaccess = AUTOPTIMIZE_CACHE_DIR.'/.htaccess';
548
+        if (!is_file($htaccess)) {
549 549
             /**
550 550
              * Create `wp-content/AO_htaccess_tmpl` file with
551 551
              * whatever htaccess rules you might need
552 552
              * if you want to override default AO htaccess
553 553
              */
554
-            $htaccess_tmpl = WP_CONTENT_DIR . '/AO_htaccess_tmpl';
555
-            if ( is_file( $htaccess_tmpl ) ) {
556
-                $content = file_get_contents( $htaccess_tmpl );
557
-            } elseif ( is_multisite() || ! AUTOPTIMIZE_CACHE_NOGZIP ) {
554
+            $htaccess_tmpl = WP_CONTENT_DIR.'/AO_htaccess_tmpl';
555
+            if (is_file($htaccess_tmpl)) {
556
+                $content = file_get_contents($htaccess_tmpl);
557
+            } elseif (is_multisite() || !AUTOPTIMIZE_CACHE_NOGZIP) {
558 558
                 $content = '<IfModule mod_expires.c>
559 559
         ExpiresActive On
560 560
         ExpiresByType text/css A30672000
@@ -608,13 +608,13 @@  discard block
 block discarded – undo
608 608
 </IfModule>';
609 609
             }
610 610
 
611
-            if ( self::do_fallback() === true ) {
612
-                $content .= "\nErrorDocument 404 " . trailingslashit( parse_url( content_url(), PHP_URL_PATH ) ) . 'autoptimize_404_handler.php';
611
+            if (self::do_fallback() === true) {
612
+                $content .= "\nErrorDocument 404 ".trailingslashit(parse_url(content_url(), PHP_URL_PATH)).'autoptimize_404_handler.php';
613 613
             }
614
-            @file_put_contents( $htaccess, $content ); // @codingStandardsIgnoreLine
614
+            @file_put_contents($htaccess, $content); // @codingStandardsIgnoreLine
615 615
         }
616 616
 
617
-        if ( self::do_fallback() ) {
617
+        if (self::do_fallback()) {
618 618
             self::check_fallback_php();
619 619
         }
620 620
 
@@ -629,17 +629,17 @@  discard block
 block discarded – undo
629 629
      */
630 630
     public static function check_fallback_php() {
631 631
         $_fallback_filename = 'autoptimize_404_handler.php';
632
-        $_fallback_php      = trailingslashit( WP_CONTENT_DIR ) . $_fallback_filename;
632
+        $_fallback_php      = trailingslashit(WP_CONTENT_DIR).$_fallback_filename;
633 633
         $_fallback_status   = true;
634 634
 
635
-        if ( ! file_exists( $_fallback_php ) && is_writable( WP_CONTENT_DIR ) ) {
636
-            $_fallback_php_contents = file_get_contents( AUTOPTIMIZE_PLUGIN_DIR . 'config/' . $_fallback_filename );
637
-            $_fallback_php_contents = str_replace( '<?php exit;', '<?php', $_fallback_php_contents );
638
-            $_fallback_php_contents = str_replace( '<!--ao-cache-dir-->', AUTOPTIMIZE_CACHE_DIR, $_fallback_php_contents );
639
-            if ( apply_filters( 'autoptimize_filter_cache_fallback_log_errors', false ) ) {
640
-                $_fallback_php_contents = str_replace( '// error_log', 'error_log', $_fallback_php_contents );
635
+        if (!file_exists($_fallback_php) && is_writable(WP_CONTENT_DIR)) {
636
+            $_fallback_php_contents = file_get_contents(AUTOPTIMIZE_PLUGIN_DIR.'config/'.$_fallback_filename);
637
+            $_fallback_php_contents = str_replace('<?php exit;', '<?php', $_fallback_php_contents);
638
+            $_fallback_php_contents = str_replace('<!--ao-cache-dir-->', AUTOPTIMIZE_CACHE_DIR, $_fallback_php_contents);
639
+            if (apply_filters('autoptimize_filter_cache_fallback_log_errors', false)) {
640
+                $_fallback_php_contents = str_replace('// error_log', 'error_log', $_fallback_php_contents);
641 641
             }
642
-            $_fallback_status = file_put_contents( $_fallback_php, $_fallback_php_contents );
642
+            $_fallback_status = file_put_contents($_fallback_php, $_fallback_php_contents);
643 643
         }
644 644
 
645 645
         return $_fallback_status;
@@ -656,8 +656,8 @@  discard block
 block discarded – undo
656 656
     public static function do_fallback() {
657 657
         static $_do_fallback = null;
658 658
 
659
-        if ( null === $_do_fallback ) {
660
-            $_do_fallback = (bool) apply_filters( 'autoptimize_filter_cache_do_fallback', autoptimizeOptionWrapper::get_option( 'autoptimize_cache_fallback', '1' ) );
659
+        if (null === $_do_fallback) {
660
+            $_do_fallback = (bool) apply_filters('autoptimize_filter_cache_do_fallback', autoptimizeOptionWrapper::get_option('autoptimize_cache_fallback', '1'));
661 661
         }
662 662
 
663 663
         return $_do_fallback;
@@ -669,31 +669,31 @@  discard block
 block discarded – undo
669 669
      * and 410'ing ("Gone") if fallback not available.
670 670
      */
671 671
     public static function wordpress_notfound_fallback() {
672
-        $original_request = strtok( $_SERVER['REQUEST_URI'], '?' );
673
-        if ( strpos( $original_request, wp_basename( WP_CONTENT_DIR ) . AUTOPTIMIZE_CACHE_CHILD_DIR ) !== false && is_404() ) {
672
+        $original_request = strtok($_SERVER['REQUEST_URI'], '?');
673
+        if (strpos($original_request, wp_basename(WP_CONTENT_DIR).AUTOPTIMIZE_CACHE_CHILD_DIR) !== false && is_404()) {
674 674
             // make sure this is not considered a 404.
675 675
             global $wp_query;
676 676
             $wp_query->is_404 = false;
677 677
 
678 678
             // set fallback path.
679
-            $js_or_css     = pathinfo( $original_request, PATHINFO_EXTENSION );
680
-            $fallback_path = AUTOPTIMIZE_CACHE_DIR . $js_or_css . '/autoptimize_fallback.' . $js_or_css;
679
+            $js_or_css     = pathinfo($original_request, PATHINFO_EXTENSION);
680
+            $fallback_path = AUTOPTIMIZE_CACHE_DIR.$js_or_css.'/autoptimize_fallback.'.$js_or_css;
681 681
 
682 682
             // prepare for Shakeeb's Unused CSS files to be 404-handled as well.
683
-            if ( strpos( $original_request, 'uucss/uucss-' ) !== false ) {
684
-                $original_request = preg_replace( '/uucss\/uucss-[a-z0-9]{32}-/', 'css/', $original_request  );
683
+            if (strpos($original_request, 'uucss/uucss-') !== false) {
684
+                $original_request = preg_replace('/uucss\/uucss-[a-z0-9]{32}-/', 'css/', $original_request);
685 685
             }
686 686
 
687 687
             // set fallback URL.
688
-            $fallback_target = preg_replace( '/(.*)_(?:[a-z0-9]{32})\.(js|css)$/', '${1}_fallback.${2}', $original_request );
688
+            $fallback_target = preg_replace('/(.*)_(?:[a-z0-9]{32})\.(js|css)$/', '${1}_fallback.${2}', $original_request);
689 689
 
690 690
             // redirect to fallback if possible.
691
-            if ( $original_request !== $fallback_target && file_exists( $fallback_path ) ) {
691
+            if ($original_request !== $fallback_target && file_exists($fallback_path)) {
692 692
                 // redirect to fallback.
693
-                wp_redirect( $fallback_target, 302 );
693
+                wp_redirect($fallback_target, 302);
694 694
             } else {
695 695
                 // return HTTP 410 (gone) reponse.
696
-                status_header( 410 );
696
+                status_header(410);
697 697
             }
698 698
         }
699 699
     }
@@ -705,13 +705,13 @@  discard block
 block discarded – undo
705 705
      * @return bool
706 706
      */
707 707
     public static function check_and_create_dirs() {
708
-        if ( ! defined( 'AUTOPTIMIZE_CACHE_DIR' ) ) {
708
+        if (!defined('AUTOPTIMIZE_CACHE_DIR')) {
709 709
             // We didn't set a cache.
710 710
             return false;
711 711
         }
712 712
 
713
-        foreach ( array( '', 'js', 'css' ) as $dir ) {
714
-            if ( ! self::check_cache_dir( AUTOPTIMIZE_CACHE_DIR . $dir ) ) {
713
+        foreach (array('', 'js', 'css') as $dir) {
714
+            if (!self::check_cache_dir(AUTOPTIMIZE_CACHE_DIR.$dir)) {
715 715
                 return false;
716 716
             }
717 717
         }
@@ -726,25 +726,25 @@  discard block
 block discarded – undo
726 726
      *
727 727
      * @return bool
728 728
      */
729
-    protected static function check_cache_dir( $dir )
729
+    protected static function check_cache_dir($dir)
730 730
     {
731 731
         // Try creating the dir if it doesn't exist.
732
-        if ( ! file_exists( $dir ) ) {
733
-            @mkdir( $dir, 0775, true ); // @codingStandardsIgnoreLine
734
-            if ( ! file_exists( $dir ) ) {
732
+        if (!file_exists($dir)) {
733
+            @mkdir($dir, 0775, true); // @codingStandardsIgnoreLine
734
+            if (!file_exists($dir)) {
735 735
                 return false;
736 736
             }
737 737
         }
738 738
 
739 739
         // If we still cannot write, bail.
740
-        if ( ! is_writable( $dir ) ) {
740
+        if (!is_writable($dir)) {
741 741
             return false;
742 742
         }
743 743
 
744 744
         // Create an index.html in there to avoid prying eyes!
745
-        $idx_file = rtrim( $dir, '/\\' ) . '/index.html';
746
-        if ( ! is_file( $idx_file ) ) {
747
-            @file_put_contents( $idx_file, '<html><head><meta name="robots" content="noindex, nofollow"></head><body>Generated by <a href="http://wordpress.org/extend/plugins/autoptimize/" rel="nofollow">Autoptimize</a></body></html>' ); // @codingStandardsIgnoreLine
745
+        $idx_file = rtrim($dir, '/\\').'/index.html';
746
+        if (!is_file($idx_file)) {
747
+            @file_put_contents($idx_file, '<html><head><meta name="robots" content="noindex, nofollow"></head><body>Generated by <a href="http://wordpress.org/extend/plugins/autoptimize/" rel="nofollow">Autoptimize</a></body></html>'); // @codingStandardsIgnoreLine
748 748
         }
749 749
 
750 750
         return true;
@@ -758,54 +758,54 @@  discard block
 block discarded – undo
758 758
     // @codingStandardsIgnoreStart
759 759
     public static function flushPageCache()
760 760
     {
761
-        if ( function_exists( 'wp_cache_clear_cache' ) ) {
762
-            if ( is_multisite() ) {
761
+        if (function_exists('wp_cache_clear_cache')) {
762
+            if (is_multisite()) {
763 763
                 $blog_id = get_current_blog_id();
764
-                wp_cache_clear_cache( $blog_id );
764
+                wp_cache_clear_cache($blog_id);
765 765
             } else {
766 766
                 wp_cache_clear_cache();
767 767
             }
768
-        } elseif ( has_action( 'cachify_flush_cache' ) ) {
769
-            do_action( 'cachify_flush_cache' );
770
-        } elseif ( function_exists( 'w3tc_pgcache_flush' ) ) {
768
+        } elseif (has_action('cachify_flush_cache')) {
769
+            do_action('cachify_flush_cache');
770
+        } elseif (function_exists('w3tc_pgcache_flush')) {
771 771
             w3tc_pgcache_flush();
772
-        } elseif ( function_exists( 'wp_fast_cache_bulk_delete_all' ) ) {
772
+        } elseif (function_exists('wp_fast_cache_bulk_delete_all')) {
773 773
             wp_fast_cache_bulk_delete_all();
774
-        } elseif ( function_exists( 'rapidcache_clear_cache' ) ) {
774
+        } elseif (function_exists('rapidcache_clear_cache')) {
775 775
             rapidcache_clear_cache();
776
-        } elseif ( class_exists( 'Swift_Performance_Cache' ) ) {
776
+        } elseif (class_exists('Swift_Performance_Cache')) {
777 777
             Swift_Performance_Cache::clear_all_cache();
778
-        } elseif ( class_exists( 'WpFastestCache' ) ) {
778
+        } elseif (class_exists('WpFastestCache')) {
779 779
             $wpfc = new WpFastestCache();
780 780
             $wpfc->deleteCache();
781
-        } elseif ( class_exists( 'c_ws_plugin__qcache_purging_routines' ) ) {
781
+        } elseif (class_exists('c_ws_plugin__qcache_purging_routines')) {
782 782
             c_ws_plugin__qcache_purging_routines::purge_cache_dir(); // quick cache
783
-        } elseif ( class_exists( 'zencache' ) ) {
783
+        } elseif (class_exists('zencache')) {
784 784
             zencache::clear();
785
-        } elseif ( class_exists( 'comet_cache' ) ) {
785
+        } elseif (class_exists('comet_cache')) {
786 786
             comet_cache::clear();
787
-        } elseif ( class_exists( 'WpeCommon' ) ) {
787
+        } elseif (class_exists('WpeCommon')) {
788 788
             // WPEngine cache purge/flush methods to call by default
789 789
             $wpe_methods = array(
790 790
                 'purge_varnish_cache',
791 791
             );
792 792
 
793 793
             // More agressive clear/flush/purge behind a filter
794
-            if ( apply_filters( 'autoptimize_flush_wpengine_aggressive', false ) ) {
795
-                $wpe_methods = array_merge( $wpe_methods, array( 'purge_memcached', 'clear_maxcdn_cache' ) );
794
+            if (apply_filters('autoptimize_flush_wpengine_aggressive', false)) {
795
+                $wpe_methods = array_merge($wpe_methods, array('purge_memcached', 'clear_maxcdn_cache'));
796 796
             }
797 797
 
798 798
             // Filtering the entire list of WpeCommon methods to be called (for advanced usage + easier testing)
799
-            $wpe_methods = apply_filters( 'autoptimize_flush_wpengine_methods', $wpe_methods );
799
+            $wpe_methods = apply_filters('autoptimize_flush_wpengine_methods', $wpe_methods);
800 800
 
801
-            foreach ( $wpe_methods as $wpe_method ) {
802
-                if ( method_exists( 'WpeCommon', $wpe_method ) ) {
801
+            foreach ($wpe_methods as $wpe_method) {
802
+                if (method_exists('WpeCommon', $wpe_method)) {
803 803
                     WpeCommon::$wpe_method();
804 804
                 }
805 805
             }
806
-        } elseif ( function_exists( 'sg_cachepress_purge_cache' ) ) {
806
+        } elseif (function_exists('sg_cachepress_purge_cache')) {
807 807
             sg_cachepress_purge_cache();
808
-        } elseif ( array_key_exists( 'KINSTA_CACHE_ZONE', $_SERVER ) ) {
808
+        } elseif (array_key_exists('KINSTA_CACHE_ZONE', $_SERVER)) {
809 809
             $_kinsta_clear_cache_url = 'https://localhost/kinsta-clear-cache-all';
810 810
             $_kinsta_response        = wp_remote_get(
811 811
                 $_kinsta_clear_cache_url,
@@ -814,20 +814,20 @@  discard block
 block discarded – undo
814 814
                     'timeout' => 5,
815 815
                     )
816 816
             );
817
-        } elseif ( defined('NGINX_HELPER_BASENAME') ) {
818
-            do_action( 'rt_nginx_helper_purge_all' );
819
-        } elseif ( file_exists( WP_CONTENT_DIR . '/wp-cache-config.php' ) && function_exists( 'prune_super_cache' ) ) {
817
+        } elseif (defined('NGINX_HELPER_BASENAME')) {
818
+            do_action('rt_nginx_helper_purge_all');
819
+        } elseif (file_exists(WP_CONTENT_DIR.'/wp-cache-config.php') && function_exists('prune_super_cache')) {
820 820
             // fallback for WP-Super-Cache
821 821
             global $cache_path;
822
-            if ( is_multisite() ) {
822
+            if (is_multisite()) {
823 823
                 $blog_id = get_current_blog_id();
824
-                prune_super_cache( get_supercache_dir( $blog_id ), true );
825
-                prune_super_cache( $cache_path . 'blogs/', true );
824
+                prune_super_cache(get_supercache_dir($blog_id), true);
825
+                prune_super_cache($cache_path.'blogs/', true);
826 826
             } else {
827
-                prune_super_cache( $cache_path . 'supercache/', true );
828
-                prune_super_cache( $cache_path, true );
827
+                prune_super_cache($cache_path.'supercache/', true);
828
+                prune_super_cache($cache_path, true);
829 829
             }
830
-        } elseif ( class_exists( 'NginxCache' ) ) {
830
+        } elseif (class_exists('NginxCache')) {
831 831
             $nginx_cache = new NginxCache();
832 832
             $nginx_cache->purge_zone_once();
833 833
         }
Please login to merge, or discard this patch.