Completed
Pull Request — master (#254)
by
unknown
02:09
created
classes/external/php/jsmin.php 1 patch
Spacing   +13 added lines, -13 removed lines patch added patch discarded remove patch
@@ -70,7 +70,7 @@  discard block
 block discarded – undo
70 70
     protected $inputLength = 0;
71 71
     protected $lookAhead   = null;
72 72
     protected $output      = '';
73
-    protected $lastByteOut  = '';
73
+    protected $lastByteOut = '';
74 74
     protected $keptComment = '';
75 75
 
76 76
     /**
@@ -106,7 +106,7 @@  discard block
 block discarded – undo
106 106
         }
107 107
 
108 108
         $mbIntEnc = null;
109
-        if (function_exists('mb_strlen') && ((int)ini_get('mbstring.func_overload') & 2)) {
109
+        if (function_exists('mb_strlen') && ((int) ini_get('mbstring.func_overload') & 2)) {
110 110
             $mbIntEnc = mb_internal_encoding();
111 111
             mb_internal_encoding('8bit');
112 112
         }
@@ -128,7 +128,7 @@  discard block
 block discarded – undo
128 128
                         && ($this->b === $this->lastByteOut)) {
129 129
                     // Don't delete this space. If we do, the addition/subtraction
130 130
                     // could be parsed as a post-increment
131
-                } elseif (! $this->isAlphaNum($this->b)) {
131
+                } elseif (!$this->isAlphaNum($this->b)) {
132 132
                     $command = self::ACTION_DELETE_A;
133 133
                 }
134 134
             } elseif ($this->a === "\n") {
@@ -139,10 +139,10 @@  discard block
 block discarded – undo
139 139
                     // otherwise mb_strpos will give WARNING
140 140
                 } elseif ($this->b === null
141 141
                           || (false === strpos('{[(+-!~', $this->b)
142
-                              && ! $this->isAlphaNum($this->b))) {
142
+                              && !$this->isAlphaNum($this->b))) {
143 143
                     $command = self::ACTION_DELETE_A;
144 144
                 }
145
-            } elseif (! $this->isAlphaNum($this->a)) {
145
+            } elseif (!$this->isAlphaNum($this->a)) {
146 146
                 if ($this->b === ' '
147 147
                     || ($this->b === "\n"
148 148
                         && (false === strpos('}])+-"\'', $this->a)))) {
@@ -199,7 +199,7 @@  discard block
 block discarded – undo
199 199
                 if ($this->a === "'" || $this->a === '"' || $this->a === '`') { // string/template literal
200 200
                     $delimiter = $this->a;
201 201
                     $str = $this->a; // in case needed for exception
202
-                    for(;;) {
202
+                    for (;;) {
203 203
                         $this->output .= $this->a;
204 204
                         $this->lastByteOut = $this->a;
205 205
 
@@ -229,13 +229,13 @@  discard block
 block discarded – undo
229 229
             case self::ACTION_DELETE_A_B: // 3
230 230
                 $this->b = $this->next();
231 231
                 if ($this->b === '/' && $this->isRegexpLiteral()) {
232
-                    $this->output .= $this->a . $this->b;
232
+                    $this->output .= $this->a.$this->b;
233 233
                     $pattern = '/'; // keep entire pattern in case we need to report it in the exception
234
-                    for(;;) {
234
+                    for (;;) {
235 235
                         $this->a = $this->get();
236 236
                         $pattern .= $this->a;
237 237
                         if ($this->a === '[') {
238
-                            for(;;) {
238
+                            for (;;) {
239 239
                                 $this->output .= $this->a;
240 240
                                 $this->a = $this->get();
241 241
                                 $pattern .= $this->a;
@@ -250,7 +250,7 @@  discard block
 block discarded – undo
250 250
                                 if ($this->isEOF($this->a)) {
251 251
                                     throw new JSMin_UnterminatedRegExpException(
252 252
                                         "JSMin: Unterminated set in RegExp at byte "
253
-                                            . $this->inputIndex .": {$pattern}");
253
+                                            . $this->inputIndex.": {$pattern}");
254 254
                                 }
255 255
                             }
256 256
                         }
@@ -295,7 +295,7 @@  discard block
 block discarded – undo
295 295
 
296 296
         // if the "/" follows a keyword, it must be a regexp, otherwise it's best to assume division
297 297
 
298
-        $subject = $this->output . trim($this->a);
298
+        $subject = $this->output.trim($this->a);
299 299
         if (!preg_match('/(?:case|else|in|return|typeof)$/', $subject, $m)) {
300 300
             // not a keyword
301 301
             return false;
@@ -406,7 +406,7 @@  discard block
 block discarded – undo
406 406
     {
407 407
         $this->get();
408 408
         $comment = '';
409
-        for(;;) {
409
+        for (;;) {
410 410
             $get = $this->get();
411 411
             if ($get === '*') {
412 412
                 if ($this->peek() === '/') { // end of comment reached
@@ -417,7 +417,7 @@  discard block
 block discarded – undo
417 417
                             // don't prepend a newline if two comments right after one another
418 418
                             $this->keptComment = "\n";
419 419
                         }
420
-                        $this->keptComment .= "/*!" . substr($comment, 1) . "*/\n";
420
+                        $this->keptComment .= "/*!".substr($comment, 1)."*/\n";
421 421
                     } else if (preg_match('/^@(?:cc_on|if|elif|else|end)\\b/', $comment)) {
422 422
                         // IE conditional
423 423
                         $this->keptComment .= "/*{$comment}*/";
Please login to merge, or discard this patch.
classes/autoptimizeStyles.php 1 patch
Spacing   +313 added lines, -313 removed lines patch added patch discarded remove patch
@@ -3,7 +3,7 @@  discard block
 block discarded – undo
3 3
  * Class for CSS optimization.
4 4
  */
5 5
 
6
-if ( ! defined( 'ABSPATH' ) ) {
6
+if (!defined('ABSPATH')) {
7 7
     exit;
8 8
 }
9 9
 
@@ -49,53 +49,53 @@  discard block
 block discarded – undo
49 49
     // public $cdn_url; // Used all over the place implicitly, so will have to be either public or protected :/ .
50 50
 
51 51
     // Reads the page and collects style tags.
52
-    public function read( $options )
52
+    public function read($options)
53 53
     {
54
-        $noptimizeCSS = apply_filters( 'autoptimize_filter_css_noptimize', false, $this->content );
55
-        if ( $noptimizeCSS ) {
54
+        $noptimizeCSS = apply_filters('autoptimize_filter_css_noptimize', false, $this->content);
55
+        if ($noptimizeCSS) {
56 56
             return false;
57 57
         }
58 58
 
59
-        $whitelistCSS = apply_filters( 'autoptimize_filter_css_whitelist', '', $this->content );
60
-        if ( ! empty( $whitelistCSS ) ) {
61
-            $this->whitelist = array_filter( array_map( 'trim', explode( ',', $whitelistCSS ) ) );
59
+        $whitelistCSS = apply_filters('autoptimize_filter_css_whitelist', '', $this->content);
60
+        if (!empty($whitelistCSS)) {
61
+            $this->whitelist = array_filter(array_map('trim', explode(',', $whitelistCSS)));
62 62
         }
63 63
 
64
-        $removableCSS = apply_filters( 'autoptimize_filter_css_removables', '' );
65
-        if ( ! empty( $removableCSS ) ) {
66
-            $this->cssremovables = array_filter( array_map( 'trim', explode( ',', $removableCSS ) ) );
64
+        $removableCSS = apply_filters('autoptimize_filter_css_removables', '');
65
+        if (!empty($removableCSS)) {
66
+            $this->cssremovables = array_filter(array_map('trim', explode(',', $removableCSS)));
67 67
         }
68 68
 
69
-        $this->cssinlinesize = apply_filters( 'autoptimize_filter_css_inlinesize', 256 );
69
+        $this->cssinlinesize = apply_filters('autoptimize_filter_css_inlinesize', 256);
70 70
 
71 71
         // filter to "late inject minified CSS", default to true for now (it is faster).
72
-        $this->inject_min_late = apply_filters( 'autoptimize_filter_css_inject_min_late', true );
72
+        $this->inject_min_late = apply_filters('autoptimize_filter_css_inject_min_late', true);
73 73
 
74 74
         // Remove everything that's not the header.
75
-        if ( apply_filters( 'autoptimize_filter_css_justhead', $options['justhead'] ) ) {
76
-            $content             = explode( '</head>', $this->content, 2 );
77
-            $this->content       = $content[0] . '</head>';
75
+        if (apply_filters('autoptimize_filter_css_justhead', $options['justhead'])) {
76
+            $content             = explode('</head>', $this->content, 2);
77
+            $this->content       = $content[0].'</head>';
78 78
             $this->restofcontent = $content[1];
79 79
         }
80 80
 
81 81
         // Determine whether we're doing CSS-files aggregation or not.
82
-        if ( isset( $options['aggregate'] ) && ! $options['aggregate'] ) {
82
+        if (isset($options['aggregate']) && !$options['aggregate']) {
83 83
             $this->aggregate = false;
84 84
         }
85 85
         // Returning true for "dontaggregate" turns off aggregation.
86
-        if ( $this->aggregate && apply_filters( 'autoptimize_filter_css_dontaggregate', false ) ) {
86
+        if ($this->aggregate && apply_filters('autoptimize_filter_css_dontaggregate', false)) {
87 87
             $this->aggregate = false;
88 88
         }
89 89
 
90 90
         // include inline?
91
-        if ( apply_filters( 'autoptimize_css_include_inline', $options['include_inline'] ) ) {
91
+        if (apply_filters('autoptimize_css_include_inline', $options['include_inline'])) {
92 92
             $this->include_inline = true;
93 93
         }
94 94
 
95 95
         // List of CSS strings which are excluded from autoptimization.
96
-        $excludeCSS = apply_filters( 'autoptimize_filter_css_exclude', $options['css_exclude'], $this->content );
97
-        if ( '' !== $excludeCSS ) {
98
-            $this->dontmove = array_filter( array_map( 'trim', explode( ',', $excludeCSS ) ) );
96
+        $excludeCSS = apply_filters('autoptimize_filter_css_exclude', $options['css_exclude'], $this->content);
97
+        if ('' !== $excludeCSS) {
98
+            $this->dontmove = array_filter(array_map('trim', explode(',', $excludeCSS)));
99 99
         } else {
100 100
             $this->dontmove = array();
101 101
         }
@@ -106,16 +106,16 @@  discard block
 block discarded – undo
106 106
         // Should we defer css?
107 107
         // value: true / false.
108 108
         $this->defer = $options['defer'];
109
-        $this->defer = apply_filters( 'autoptimize_filter_css_defer', $this->defer, $this->content );
109
+        $this->defer = apply_filters('autoptimize_filter_css_defer', $this->defer, $this->content);
110 110
 
111 111
         // Should we inline while deferring?
112 112
         // value: inlined CSS.
113
-        $this->defer_inline = apply_filters( 'autoptimize_filter_css_defer_inline', $options['defer_inline'], $this->content );
113
+        $this->defer_inline = apply_filters('autoptimize_filter_css_defer_inline', $options['defer_inline'], $this->content);
114 114
 
115 115
         // Should we inline?
116 116
         // value: true / false.
117 117
         $this->inline = $options['inline'];
118
-        $this->inline = apply_filters( 'autoptimize_filter_css_inline', $this->inline, $this->content );
118
+        $this->inline = apply_filters('autoptimize_filter_css_inline', $this->inline, $this->content);
119 119
 
120 120
         // Store cdn url.
121 121
         $this->cdn_url = $options['cdn_url'];
@@ -124,12 +124,12 @@  discard block
 block discarded – undo
124 124
         $this->datauris = $options['datauris'];
125 125
 
126 126
         // Determine whether excluded files should be minified if not yet so.
127
-        if ( ! $options['minify_excluded'] && $options['aggregate'] ) {
127
+        if (!$options['minify_excluded'] && $options['aggregate']) {
128 128
             $this->minify_excluded = false;
129 129
         }
130 130
 
131 131
         // noptimize me.
132
-        $this->content = $this->hide_noptimize( $this->content );
132
+        $this->content = $this->hide_noptimize($this->content);
133 133
 
134 134
         // Exclude (no)script, as those may contain CSS which should be left as is.
135 135
         $this->content = $this->replace_contents_with_marker_if_exists(
@@ -140,26 +140,26 @@  discard block
 block discarded – undo
140 140
         );
141 141
 
142 142
         // Save IE hacks.
143
-        $this->content = $this->hide_iehacks( $this->content );
143
+        $this->content = $this->hide_iehacks($this->content);
144 144
 
145 145
         // Hide HTML comments.
146
-        $this->content = $this->hide_comments( $this->content );
146
+        $this->content = $this->hide_comments($this->content);
147 147
 
148 148
         // Get <style> and <link>.
149
-        if ( preg_match_all( '#(<style[^>]*>.*</style>)|(<link[^>]*stylesheet[^>]*>)#Usmi', $this->content, $matches ) ) {
149
+        if (preg_match_all('#(<style[^>]*>.*</style>)|(<link[^>]*stylesheet[^>]*>)#Usmi', $this->content, $matches)) {
150 150
 
151
-            foreach ( $matches[0] as $tag ) {
152
-                if ( $this->isremovable( $tag, $this->cssremovables ) ) {
153
-                    $this->content = str_replace( $tag, '', $this->content );
154
-                } elseif ( $this->ismovable( $tag ) ) {
151
+            foreach ($matches[0] as $tag) {
152
+                if ($this->isremovable($tag, $this->cssremovables)) {
153
+                    $this->content = str_replace($tag, '', $this->content);
154
+                } elseif ($this->ismovable($tag)) {
155 155
                     // Get the media.
156
-                    if ( false !== strpos( $tag, 'media=' ) ) {
157
-                        preg_match( '#media=(?:"|\')([^>]*)(?:"|\')#Ui', $tag, $medias );
158
-                        $medias = explode( ',', $medias[1] );
156
+                    if (false !== strpos($tag, 'media=')) {
157
+                        preg_match('#media=(?:"|\')([^>]*)(?:"|\')#Ui', $tag, $medias);
158
+                        $medias = explode(',', $medias[1]);
159 159
                         $media = array();
160
-                        foreach ( $medias as $elem ) {
160
+                        foreach ($medias as $elem) {
161 161
                             /* $media[] = current(explode(' ',trim($elem),2)); */
162
-                            if ( empty( $elem ) ) {
162
+                            if (empty($elem)) {
163 163
                                 $elem = 'all';
164 164
                             }
165 165
 
@@ -167,69 +167,69 @@  discard block
 block discarded – undo
167 167
                         }
168 168
                     } else {
169 169
                         // No media specified - applies to all.
170
-                        $media = array( 'all' );
170
+                        $media = array('all');
171 171
                     }
172 172
 
173
-                    $media = apply_filters( 'autoptimize_filter_css_tagmedia', $media, $tag );
173
+                    $media = apply_filters('autoptimize_filter_css_tagmedia', $media, $tag);
174 174
 
175
-                    if ( preg_match( '#<link.*href=("|\')(.*)("|\')#Usmi', $tag, $source ) ) {
175
+                    if (preg_match('#<link.*href=("|\')(.*)("|\')#Usmi', $tag, $source)) {
176 176
                         // <link>.
177
-                        $url  = current( explode( '?', $source[2], 2 ) );
178
-                        $path = $this->getpath( $url );
177
+                        $url  = current(explode('?', $source[2], 2));
178
+                        $path = $this->getpath($url);
179 179
 
180
-                        if ( false !== $path && preg_match( '#\.css$#', $path ) ) {
180
+                        if (false !== $path && preg_match('#\.css$#', $path)) {
181 181
                             // Good link.
182
-                            $this->css[] = array( $media, $path );
182
+                            $this->css[] = array($media, $path);
183 183
                         } else {
184 184
                             // Link is dynamic (.php etc).
185
-                            $new_tag = $this->optionally_defer_excluded( $tag, 'none' );
186
-                            if ( $new_tag !== $tag ) {
187
-                                $this->content = str_replace( $tag, $new_tag, $this->content );
185
+                            $new_tag = $this->optionally_defer_excluded($tag, 'none');
186
+                            if ($new_tag !== $tag) {
187
+                                $this->content = str_replace($tag, $new_tag, $this->content);
188 188
                             }
189 189
                             $tag = '';
190 190
                         }
191 191
                     } else {
192 192
                         // Inline css in style tags can be wrapped in comment tags, so restore comments.
193
-                        $tag = $this->restore_comments( $tag );
194
-                        preg_match( '#<style.*>(.*)</style>#Usmi', $tag, $code );
193
+                        $tag = $this->restore_comments($tag);
194
+                        preg_match('#<style.*>(.*)</style>#Usmi', $tag, $code);
195 195
 
196 196
                         // And re-hide them to be able to to the removal based on tag.
197
-                        $tag = $this->hide_comments( $tag );
197
+                        $tag = $this->hide_comments($tag);
198 198
 
199
-                        if ( $this->include_inline ) {
200
-                            $code = preg_replace( '#^.*<!\[CDATA\[(?:\s*\*/)?(.*)(?://|/\*)\s*?\]\]>.*$#sm', '$1', $code[1] );
201
-                            $this->css[] = array( $media, 'INLINE;' . $code );
199
+                        if ($this->include_inline) {
200
+                            $code = preg_replace('#^.*<!\[CDATA\[(?:\s*\*/)?(.*)(?://|/\*)\s*?\]\]>.*$#sm', '$1', $code[1]);
201
+                            $this->css[] = array($media, 'INLINE;'.$code);
202 202
                         } else {
203 203
                             $tag = '';
204 204
                         }
205 205
                     }
206 206
 
207 207
                     // Remove the original style tag.
208
-                    $this->content = str_replace( $tag, '', $this->content );
208
+                    $this->content = str_replace($tag, '', $this->content);
209 209
                 } else {
210 210
                     // Excluded CSS, minify that file:
211 211
                     // -> if aggregate is on and exclude minify is on
212 212
                     // -> if aggregate is off and the file is not in dontmove.
213
-                    if ( preg_match( '#<link.*href=("|\')(.*)("|\')#Usmi', $tag, $source ) ) {
214
-                        $exploded_url = explode( '?', $source[2], 2 );
213
+                    if (preg_match('#<link.*href=("|\')(.*)("|\')#Usmi', $tag, $source)) {
214
+                        $exploded_url = explode('?', $source[2], 2);
215 215
                         $url          = $exploded_url[0];
216
-                        $path         = $this->getpath( $url );
216
+                        $path         = $this->getpath($url);
217 217
 
218
-                        if ( $path && ( $this->minify_excluded || apply_filters( 'autoptimize_filter_css_minify_excluded', false, $url ) ) ) {
219
-                            $consider_minified_array = apply_filters( 'autoptimize_filter_css_consider_minified', false );
220
-                            if ( ( false === $this->aggregate && str_replace( $this->dontmove, '', $path ) === $path ) || ( true === $this->aggregate && ( false === $consider_minified_array || str_replace( $consider_minified_array, '', $path ) === $path ) ) ) {
221
-                                $minified_url = $this->minify_single( $path );
222
-                                if ( ! empty( $minified_url ) ) {
218
+                        if ($path && ($this->minify_excluded || apply_filters('autoptimize_filter_css_minify_excluded', false, $url))) {
219
+                            $consider_minified_array = apply_filters('autoptimize_filter_css_consider_minified', false);
220
+                            if ((false === $this->aggregate && str_replace($this->dontmove, '', $path) === $path) || (true === $this->aggregate && (false === $consider_minified_array || str_replace($consider_minified_array, '', $path) === $path))) {
221
+                                $minified_url = $this->minify_single($path);
222
+                                if (!empty($minified_url)) {
223 223
                                     // Replace orig URL with cached minified URL.
224
-                                    $new_tag = str_replace( $url, $minified_url, $tag );
224
+                                    $new_tag = str_replace($url, $minified_url, $tag);
225 225
                                 } else {
226 226
                                     $new_tag = $tag;
227 227
                                 }
228 228
 
229
-                                $new_tag = $this->optionally_defer_excluded( $new_tag, $url );
229
+                                $new_tag = $this->optionally_defer_excluded($new_tag, $url);
230 230
 
231 231
                                 // And replace!
232
-                                $this->content = str_replace( $tag, $new_tag, $this->content );
232
+                                $this->content = str_replace($tag, $new_tag, $this->content);
233 233
                             }
234 234
                         }
235 235
                     }
@@ -251,10 +251,10 @@  discard block
 block discarded – undo
251 251
      *
252 252
      * @return string $new_tag
253 253
      */
254
-    private function optionally_defer_excluded( $new_tag, $url = '' )
254
+    private function optionally_defer_excluded($new_tag, $url = '')
255 255
     {
256 256
         // Defer single CSS if "inline & defer" is ON and there is inline CSS.
257
-        if ( $this->defer && ! empty( $this->defer_inline ) ) {
257
+        if ($this->defer && !empty($this->defer_inline)) {
258 258
             // Get/ set (via filter) the JS to be triggers onload of the preloaded CSS.
259 259
             $_preload_onload = apply_filters(
260 260
                 'autoptimize_filter_css_preload_onload',
@@ -262,12 +262,12 @@  discard block
 block discarded – undo
262 262
                 $url
263 263
             );
264 264
             // Adapt original <link> element for CSS to be preloaded and add <noscript>-version for fallback.
265
-            $new_tag = '<noscript>' . $new_tag . '</noscript>' . str_replace(
265
+            $new_tag = '<noscript>'.$new_tag.'</noscript>'.str_replace(
266 266
                 array(
267 267
                     "rel='stylesheet'",
268 268
                     'rel="stylesheet"',
269 269
                 ),
270
-                "rel='preload' as='style' onload=\"" . $_preload_onload . "\"",
270
+                "rel='preload' as='style' onload=\"".$_preload_onload."\"",
271 271
                 $new_tag
272 272
             );
273 273
         }
@@ -281,22 +281,22 @@  discard block
 block discarded – undo
281 281
      * @param string $path
282 282
      * @return boolean
283 283
      */
284
-    private function is_datauri_candidate( $path )
284
+    private function is_datauri_candidate($path)
285 285
     {
286 286
         // Call only once since it's called from a loop.
287 287
         static $max_size = null;
288
-        if ( null === $max_size ) {
288
+        if (null === $max_size) {
289 289
             $max_size = $this->get_datauri_maxsize();
290 290
         }
291 291
 
292
-        if ( $path && preg_match( '#\.(jpe?g|png|gif|webp|bmp)$#i', $path ) &&
293
-            file_exists( $path ) && is_readable( $path ) && filesize( $path ) <= $max_size ) {
292
+        if ($path && preg_match('#\.(jpe?g|png|gif|webp|bmp)$#i', $path) &&
293
+            file_exists($path) && is_readable($path) && filesize($path) <= $max_size) {
294 294
 
295 295
             // Seems we have a candidate.
296 296
             $is_candidate = true;
297 297
         } else {
298 298
             // Filter allows overriding default decision (which checks for local file existence).
299
-            $is_candidate = apply_filters( 'autoptimize_filter_css_is_datauri_candidate', false, $path );
299
+            $is_candidate = apply_filters('autoptimize_filter_css_is_datauri_candidate', false, $path);
300 300
         }
301 301
 
302 302
         return $is_candidate;
@@ -321,29 +321,29 @@  discard block
 block discarded – undo
321 321
          * of thing you're probably better of building assets completely
322 322
          * outside of WordPress anyway.
323 323
          */
324
-        if ( null === $max_size ) {
325
-            $max_size = (int) apply_filters( 'autoptimize_filter_css_datauri_maxsize', 4096 );
324
+        if (null === $max_size) {
325
+            $max_size = (int) apply_filters('autoptimize_filter_css_datauri_maxsize', 4096);
326 326
         }
327 327
 
328 328
         return $max_size;
329 329
     }
330 330
 
331
-    private function check_datauri_exclude_list( $url )
331
+    private function check_datauri_exclude_list($url)
332 332
     {
333 333
         static $exclude_list = null;
334 334
         $no_datauris         = array();
335 335
 
336 336
         // Again, skip doing certain stuff repeatedly when loop-called.
337
-        if ( null === $exclude_list ) {
338
-            $exclude_list = apply_filters( 'autoptimize_filter_css_datauri_exclude', '' );
339
-            $no_datauris = array_filter( array_map( 'trim', explode( ',', $exclude_list ) ) );
337
+        if (null === $exclude_list) {
338
+            $exclude_list = apply_filters('autoptimize_filter_css_datauri_exclude', '');
339
+            $no_datauris = array_filter(array_map('trim', explode(',', $exclude_list)));
340 340
         }
341 341
 
342 342
         $matched = false;
343 343
 
344
-        if ( ! empty( $exclude_list ) ) {
345
-            foreach ( $no_datauris as $no_datauri ) {
346
-                if ( false !== strpos( $url, $no_datauri ) ) {
344
+        if (!empty($exclude_list)) {
345
+            foreach ($no_datauris as $no_datauri) {
346
+                if (false !== strpos($url, $no_datauri)) {
347 347
                     $matched = true;
348 348
                     break;
349 349
                 }
@@ -353,7 +353,7 @@  discard block
 block discarded – undo
353 353
         return $matched;
354 354
     }
355 355
 
356
-    private function build_or_get_datauri_image( $path )
356
+    private function build_or_get_datauri_image($path)
357 357
     {
358 358
         /**
359 359
          * TODO/FIXME: document the required return array format, or better yet,
@@ -362,27 +362,27 @@  discard block
 block discarded – undo
362 362
          */
363 363
 
364 364
         // Allows short-circuiting datauri generation for an image.
365
-        $result = apply_filters( 'autoptimize_filter_css_datauri_image', array(), $path );
366
-        if ( ! empty( $result ) ) {
367
-            if ( is_array( $result ) && isset( $result['full'] ) && isset( $result['base64data'] ) ) {
365
+        $result = apply_filters('autoptimize_filter_css_datauri_image', array(), $path);
366
+        if (!empty($result)) {
367
+            if (is_array($result) && isset($result['full']) && isset($result['base64data'])) {
368 368
                 return $result;
369 369
             }
370 370
         }
371 371
 
372
-        $hash = md5( $path );
373
-        $check = new autoptimizeCache( $hash, 'img' );
374
-        if ( $check->check() ) {
372
+        $hash = md5($path);
373
+        $check = new autoptimizeCache($hash, 'img');
374
+        if ($check->check()) {
375 375
             // we have the base64 image in cache.
376 376
             $headAndData = $check->retrieve();
377
-            $_base64data = explode( ';base64,', $headAndData );
377
+            $_base64data = explode(';base64,', $headAndData);
378 378
             $base64data  = $_base64data[1];
379
-            unset( $_base64data );
379
+            unset($_base64data);
380 380
         } else {
381 381
             // It's an image and we don't have it in cache, get the type by extension.
382
-            $exploded_path = explode( '.', $path );
383
-            $type = end( $exploded_path );
382
+            $exploded_path = explode('.', $path);
383
+            $type = end($exploded_path);
384 384
 
385
-            switch ( $type ) {
385
+            switch ($type) {
386 386
                 case 'jpg':
387 387
                 case 'jpeg':
388 388
                     $dataurihead = 'data:image/jpeg;base64,';
@@ -404,15 +404,15 @@  discard block
 block discarded – undo
404 404
             }
405 405
 
406 406
             // Encode the data.
407
-            $base64data  = base64_encode( file_get_contents( $path ) );
408
-            $headAndData = $dataurihead . $base64data;
407
+            $base64data  = base64_encode(file_get_contents($path));
408
+            $headAndData = $dataurihead.$base64data;
409 409
 
410 410
             // Save in cache.
411
-            $check->cache( $headAndData, 'text/plain' );
411
+            $check->cache($headAndData, 'text/plain');
412 412
         }
413
-        unset( $check );
413
+        unset($check);
414 414
 
415
-        return array( 'full' => $headAndData, 'base64data' => $base64data );
415
+        return array('full' => $headAndData, 'base64data' => $base64data);
416 416
     }
417 417
 
418 418
     /**
@@ -424,13 +424,13 @@  discard block
 block discarded – undo
424 424
      *
425 425
      * @return string
426 426
      */
427
-    protected static function replace_longest_matches_first( $string, $replacements = array() )
427
+    protected static function replace_longest_matches_first($string, $replacements = array())
428 428
     {
429
-        if ( ! empty( $replacements ) ) {
429
+        if (!empty($replacements)) {
430 430
             // Sort the replacements array by key length in desc order (so that the longest strings are replaced first).
431
-            $keys = array_map( 'strlen', array_keys( $replacements ) );
432
-            array_multisort( $keys, SORT_DESC, $replacements );
433
-            $string = str_replace( array_keys( $replacements ), array_values( $replacements ), $string );
431
+            $keys = array_map('strlen', array_keys($replacements));
432
+            array_multisort($keys, SORT_DESC, $replacements);
433
+            $string = str_replace(array_keys($replacements), array_values($replacements), $string);
434 434
         }
435 435
 
436 436
         return $string;
@@ -446,15 +446,15 @@  discard block
 block discarded – undo
446 446
      *
447 447
      * @return string
448 448
      */
449
-    public function replace_urls( $code = '' )
449
+    public function replace_urls($code = '')
450 450
     {
451 451
         $replacements = array();
452 452
 
453
-        preg_match_all( self::ASSETS_REGEX, $code, $url_src_matches );
454
-        if ( is_array( $url_src_matches ) && ! empty( $url_src_matches ) ) {
455
-            foreach ( $url_src_matches[1] as $count => $original_url ) {
453
+        preg_match_all(self::ASSETS_REGEX, $code, $url_src_matches);
454
+        if (is_array($url_src_matches) && !empty($url_src_matches)) {
455
+            foreach ($url_src_matches[1] as $count => $original_url) {
456 456
                 // Removes quotes and other cruft.
457
-                $url = trim( $original_url, " \t\n\r\0\x0B\"'" );
457
+                $url = trim($original_url, " \t\n\r\0\x0B\"'");
458 458
 
459 459
                 /**
460 460
                  * TODO/FIXME: Add a way for other code / callable to be called here
@@ -472,17 +472,17 @@  discard block
 block discarded – undo
472 472
                  */
473 473
 
474 474
                 // Do CDN replacement if needed.
475
-                if ( ! empty( $this->cdn_url ) ) {
476
-                    $replacement_url = $this->url_replace_cdn( $url );
475
+                if (!empty($this->cdn_url)) {
476
+                    $replacement_url = $this->url_replace_cdn($url);
477 477
                     // Prepare replacements array.
478
-                    $replacements[ $url_src_matches[1][ $count ] ] = str_replace(
478
+                    $replacements[$url_src_matches[1][$count]] = str_replace(
479 479
                         $original_url, $replacement_url, $url_src_matches[1][$count]
480 480
                     );
481 481
                 }
482 482
             }
483 483
         }
484 484
 
485
-        $code = self::replace_longest_matches_first( $code, $replacements );
485
+        $code = self::replace_longest_matches_first($code, $replacements);
486 486
 
487 487
         return $code;
488 488
     }
@@ -495,26 +495,26 @@  discard block
 block discarded – undo
495 495
      * @param string $code
496 496
      * @return string
497 497
      */
498
-    public function hide_fontface_and_maybe_cdn( $code )
498
+    public function hide_fontface_and_maybe_cdn($code)
499 499
     {
500 500
         // Proceed only if @font-face declarations exist within $code.
501
-        preg_match_all( self::FONT_FACE_REGEX, $code, $fontfaces );
502
-        if ( isset( $fontfaces[0] ) ) {
501
+        preg_match_all(self::FONT_FACE_REGEX, $code, $fontfaces);
502
+        if (isset($fontfaces[0])) {
503 503
             // Check if we need to cdn fonts or not.
504
-            $do_font_cdn = apply_filters( 'autoptimize_filter_css_fonts_cdn', false );
504
+            $do_font_cdn = apply_filters('autoptimize_filter_css_fonts_cdn', false);
505 505
 
506
-            foreach ( $fontfaces[0] as $full_match ) {
506
+            foreach ($fontfaces[0] as $full_match) {
507 507
                 // Keep original match so we can search/replace it.
508 508
                 $match_search = $full_match;
509 509
 
510 510
                 // Do font cdn if needed.
511
-                if ( $do_font_cdn ) {
512
-                    $full_match = $this->replace_urls( $full_match );
511
+                if ($do_font_cdn) {
512
+                    $full_match = $this->replace_urls($full_match);
513 513
                 }
514 514
 
515 515
                 // Replace declaration with its base64 encoded string.
516
-                $replacement = self::build_marker( 'FONTFACE', $full_match );
517
-                $code = str_replace( $match_search, $replacement, $code );
516
+                $replacement = self::build_marker('FONTFACE', $full_match);
517
+                $code = str_replace($match_search, $replacement, $code);
518 518
             }
519 519
         }
520 520
 
@@ -528,16 +528,16 @@  discard block
 block discarded – undo
528 528
      * @param string $code
529 529
      * @return string
530 530
      */
531
-    public function restore_fontface( $code )
531
+    public function restore_fontface($code)
532 532
     {
533
-        return $this->restore_marked_content( 'FONTFACE', $code );
533
+        return $this->restore_marked_content('FONTFACE', $code);
534 534
     }
535 535
 
536 536
     // Re-write (and/or inline) referenced assets.
537
-    public function rewrite_assets( $code )
537
+    public function rewrite_assets($code)
538 538
     {
539 539
         // Handle @font-face rules by hiding and processing them separately.
540
-        $code = $this->hide_fontface_and_maybe_cdn( $code );
540
+        $code = $this->hide_fontface_and_maybe_cdn($code);
541 541
 
542 542
         /**
543 543
          * TODO/FIXME:
@@ -553,30 +553,30 @@  discard block
 block discarded – undo
553 553
         $url_src_matches = array();
554 554
         $imgreplace = array();
555 555
         // Matches and captures anything specified within the literal `url()` and excludes those containing data: URIs.
556
-        preg_match_all( self::ASSETS_REGEX, $code, $url_src_matches );
557
-        if ( is_array( $url_src_matches ) && ! empty( $url_src_matches ) ) {
558
-            foreach ( $url_src_matches[1] as $count => $original_url ) {
556
+        preg_match_all(self::ASSETS_REGEX, $code, $url_src_matches);
557
+        if (is_array($url_src_matches) && !empty($url_src_matches)) {
558
+            foreach ($url_src_matches[1] as $count => $original_url) {
559 559
                 // Removes quotes and other cruft.
560
-                $url = trim( $original_url, " \t\n\r\0\x0B\"'" );
560
+                $url = trim($original_url, " \t\n\r\0\x0B\"'");
561 561
 
562 562
                 // If datauri inlining is turned on, do it.
563 563
                 $inlined = false;
564
-                if ( $this->datauris ) {
564
+                if ($this->datauris) {
565 565
                     $iurl = $url;
566
-                    if ( false !== strpos( $iurl, '?' ) ) {
567
-                        $iurl = strtok( $iurl, '?' );
566
+                    if (false !== strpos($iurl, '?')) {
567
+                        $iurl = strtok($iurl, '?');
568 568
                     }
569 569
 
570
-                    $ipath = $this->getpath( $iurl );
570
+                    $ipath = $this->getpath($iurl);
571 571
 
572
-                    $excluded = $this->check_datauri_exclude_list( $ipath );
573
-                    if ( ! $excluded ) {
574
-                        $is_datauri_candidate = $this->is_datauri_candidate( $ipath );
575
-                        if ( $is_datauri_candidate ) {
576
-                            $datauri     = $this->build_or_get_datauri_image( $ipath );
572
+                    $excluded = $this->check_datauri_exclude_list($ipath);
573
+                    if (!$excluded) {
574
+                        $is_datauri_candidate = $this->is_datauri_candidate($ipath);
575
+                        if ($is_datauri_candidate) {
576
+                            $datauri     = $this->build_or_get_datauri_image($ipath);
577 577
                             $base64data  = $datauri['base64data'];
578 578
                             // Add it to the list for replacement.
579
-                            $imgreplace[ $url_src_matches[1][ $count ] ] = str_replace(
579
+                            $imgreplace[$url_src_matches[1][$count]] = str_replace(
580 580
                                     $original_url,
581 581
                                     $datauri['full'],
582 582
                                     $url_src_matches[1][$count]
@@ -592,20 +592,20 @@  discard block
 block discarded – undo
592 592
                  * inlining isn't turned on, or if a resource is skipped from
593 593
                  * being inlined for whatever reason above.
594 594
                  */
595
-                if ( ! $inlined && ( ! empty( $this->cdn_url ) || has_filter( 'autoptimize_filter_base_replace_cdn' ) ) ) {
595
+                if (!$inlined && (!empty($this->cdn_url) || has_filter('autoptimize_filter_base_replace_cdn'))) {
596 596
                     // Just do the "simple" CDN replacement.
597
-                    $replacement_url = $this->url_replace_cdn( $url );
598
-                    $imgreplace[ $url_src_matches[1][ $count ] ] = str_replace(
597
+                    $replacement_url = $this->url_replace_cdn($url);
598
+                    $imgreplace[$url_src_matches[1][$count]] = str_replace(
599 599
                         $original_url, $replacement_url, $url_src_matches[1][$count]
600 600
                     );
601 601
                 }
602 602
             }
603 603
         }
604 604
 
605
-        $code = self::replace_longest_matches_first( $code, $imgreplace );
605
+        $code = self::replace_longest_matches_first($code, $imgreplace);
606 606
 
607 607
         // Replace back font-face markers with actual font-face declarations.
608
-        $code = $this->restore_fontface( $code );
608
+        $code = $this->restore_fontface($code);
609 609
 
610 610
         return $code;
611 611
     }
@@ -613,29 +613,29 @@  discard block
 block discarded – undo
613 613
     // Joins and optimizes CSS.
614 614
     public function minify()
615 615
     {
616
-        foreach ( $this->css as $group ) {
617
-            list( $media, $css ) = $group;
618
-            if ( preg_match( '#^INLINE;#', $css ) ) {
616
+        foreach ($this->css as $group) {
617
+            list($media, $css) = $group;
618
+            if (preg_match('#^INLINE;#', $css)) {
619 619
                 // <style>.
620
-                $css = preg_replace( '#^INLINE;#', '', $css );
621
-                $css = self::fixurls( ABSPATH . 'index.php', $css ); // ABSPATH already contains a trailing slash.
622
-                $tmpstyle = apply_filters( 'autoptimize_css_individual_style', $css, '' );
623
-                if ( has_filter( 'autoptimize_css_individual_style' ) && ! empty( $tmpstyle ) ) {
620
+                $css = preg_replace('#^INLINE;#', '', $css);
621
+                $css = self::fixurls(ABSPATH.'index.php', $css); // ABSPATH already contains a trailing slash.
622
+                $tmpstyle = apply_filters('autoptimize_css_individual_style', $css, '');
623
+                if (has_filter('autoptimize_css_individual_style') && !empty($tmpstyle)) {
624 624
                     $css = $tmpstyle;
625 625
                     $this->alreadyminified = true;
626 626
                 }
627 627
             } else {
628 628
                 // <link>
629
-                if ( false !== $css && file_exists( $css ) && is_readable( $css ) ) {
629
+                if (false !== $css && file_exists($css) && is_readable($css)) {
630 630
                     $cssPath = $css;
631
-                    $css = self::fixurls( $cssPath, file_get_contents( $cssPath ) );
632
-                    $css = preg_replace( '/\x{EF}\x{BB}\x{BF}/', '', $css );
633
-                    $tmpstyle = apply_filters( 'autoptimize_css_individual_style', $css, $cssPath );
634
-                    if ( has_filter( 'autoptimize_css_individual_style' ) && ! empty( $tmpstyle ) ) {
631
+                    $css = self::fixurls($cssPath, file_get_contents($cssPath));
632
+                    $css = preg_replace('/\x{EF}\x{BB}\x{BF}/', '', $css);
633
+                    $tmpstyle = apply_filters('autoptimize_css_individual_style', $css, $cssPath);
634
+                    if (has_filter('autoptimize_css_individual_style') && !empty($tmpstyle)) {
635 635
                         $css = $tmpstyle;
636 636
                         $this->alreadyminified = true;
637
-                    } elseif ( $this->can_inject_late( $cssPath, $css ) ) {
638
-                        $css = self::build_injectlater_marker( $cssPath, md5( $css ) );
637
+                    } elseif ($this->can_inject_late($cssPath, $css)) {
638
+                        $css = self::build_injectlater_marker($cssPath, md5($css));
639 639
                     }
640 640
                 } else {
641 641
                     // Couldn't read CSS. Maybe getpath isn't working?
@@ -643,12 +643,12 @@  discard block
 block discarded – undo
643 643
                 }
644 644
             }
645 645
 
646
-            foreach ( $media as $elem ) {
647
-                if ( ! empty( $css ) ) {
648
-                    if ( ! isset( $this->csscode[$elem] ) ) {
646
+            foreach ($media as $elem) {
647
+                if (!empty($css)) {
648
+                    if (!isset($this->csscode[$elem])) {
649 649
                         $this->csscode[$elem] = '';
650 650
                     }
651
-                    $this->csscode[$elem] .= "\n/*FILESTART*/" . $css;
651
+                    $this->csscode[$elem] .= "\n/*FILESTART*/".$css;
652 652
                 }
653 653
             }
654 654
         }
@@ -656,133 +656,133 @@  discard block
 block discarded – undo
656 656
         // Check for duplicate code.
657 657
         $md5list = array();
658 658
         $tmpcss  = $this->csscode;
659
-        foreach ( $tmpcss as $media => $code ) {
660
-            $md5sum    = md5( $code );
659
+        foreach ($tmpcss as $media => $code) {
660
+            $md5sum    = md5($code);
661 661
             $medianame = $media;
662
-            foreach ( $md5list as $med => $sum ) {
662
+            foreach ($md5list as $med => $sum) {
663 663
                 // If same code.
664
-                if ( $sum === $md5sum ) {
664
+                if ($sum === $md5sum) {
665 665
                     // Add the merged code.
666
-                    $medianame                 = $med . ', ' . $media;
666
+                    $medianame                 = $med.', '.$media;
667 667
                     $this->csscode[$medianame] = $code;
668 668
                     $md5list[$medianame]       = $md5list[$med];
669
-                    unset( $this->csscode[$med], $this->csscode[$media], $md5list[$med] );
669
+                    unset($this->csscode[$med], $this->csscode[$media], $md5list[$med]);
670 670
                 }
671 671
             }
672 672
             $md5list[$medianame] = $md5sum;
673 673
         }
674
-        unset( $tmpcss );
674
+        unset($tmpcss);
675 675
 
676 676
         // Manage @imports, while is for recursive import management.
677
-        foreach ( $this->csscode as &$thiscss ) {
677
+        foreach ($this->csscode as &$thiscss) {
678 678
             // Flag to trigger import reconstitution and var to hold external imports.
679 679
             $fiximports       = false;
680 680
             $external_imports = '';
681 681
 
682 682
             // remove comments to avoid importing commented-out imports.
683
-            $thiscss_nocomments = preg_replace( '#/\*.*\*/#Us', '', $thiscss );
684
-            while ( preg_match_all( '#@import +(?:url)?(?:(?:\((["\']?)(?:[^"\')]+)\1\)|(["\'])(?:[^"\']+)\2)(?:[^,;"\']+(?:,[^,;"\']+)*)?)(?:;)#mi', $thiscss_nocomments, $matches ) ) {
685
-                foreach ( $matches[0] as $import ) {
686
-                    if ( $this->isremovable( $import, $this->cssremovables ) ) {
687
-                        $thiscss = str_replace( $import, '', $thiscss );
683
+            $thiscss_nocomments = preg_replace('#/\*.*\*/#Us', '', $thiscss);
684
+            while (preg_match_all('#@import +(?:url)?(?:(?:\((["\']?)(?:[^"\')]+)\1\)|(["\'])(?:[^"\']+)\2)(?:[^,;"\']+(?:,[^,;"\']+)*)?)(?:;)#mi', $thiscss_nocomments, $matches)) {
685
+                foreach ($matches[0] as $import) {
686
+                    if ($this->isremovable($import, $this->cssremovables)) {
687
+                        $thiscss = str_replace($import, '', $thiscss);
688 688
                         $import_ok = true;
689 689
                     } else {
690
-                        $url = trim( preg_replace( '#^.*((?:https?:|ftp:)?//.*\.css).*$#', '$1', trim( $import ) ), " \t\n\r\0\x0B\"'" );
691
-                        $path = $this->getpath( $url );
690
+                        $url = trim(preg_replace('#^.*((?:https?:|ftp:)?//.*\.css).*$#', '$1', trim($import)), " \t\n\r\0\x0B\"'");
691
+                        $path = $this->getpath($url);
692 692
                         $import_ok = false;
693
-                        if ( file_exists( $path ) && is_readable( $path ) ) {
694
-                            $code = addcslashes( self::fixurls( $path, file_get_contents( $path ) ), "\\" );
695
-                            $code = preg_replace( '/\x{EF}\x{BB}\x{BF}/', '', $code );
696
-                            $tmpstyle = apply_filters( 'autoptimize_css_individual_style', $code, '' );
697
-                            if ( has_filter( 'autoptimize_css_individual_style' ) && ! empty( $tmpstyle ) ) {
693
+                        if (file_exists($path) && is_readable($path)) {
694
+                            $code = addcslashes(self::fixurls($path, file_get_contents($path)), "\\");
695
+                            $code = preg_replace('/\x{EF}\x{BB}\x{BF}/', '', $code);
696
+                            $tmpstyle = apply_filters('autoptimize_css_individual_style', $code, '');
697
+                            if (has_filter('autoptimize_css_individual_style') && !empty($tmpstyle)) {
698 698
                                 $code = $tmpstyle;
699 699
                                 $this->alreadyminified = true;
700
-                            } elseif ( $this->can_inject_late( $path, $code ) ) {
701
-                                $code = self::build_injectlater_marker( $path, md5( $code ) );
700
+                            } elseif ($this->can_inject_late($path, $code)) {
701
+                                $code = self::build_injectlater_marker($path, md5($code));
702 702
                             }
703 703
 
704
-                            if ( ! empty( $code ) ) {
705
-                                $tmp_thiscss = preg_replace( '#(/\*FILESTART\*/.*)' . preg_quote( $import, '#' ) . '#Us', '/*FILESTART2*/' . $code . '$1', $thiscss );
706
-                                if ( ! empty( $tmp_thiscss ) ) {
704
+                            if (!empty($code)) {
705
+                                $tmp_thiscss = preg_replace('#(/\*FILESTART\*/.*)'.preg_quote($import, '#').'#Us', '/*FILESTART2*/'.$code.'$1', $thiscss);
706
+                                if (!empty($tmp_thiscss)) {
707 707
                                     $thiscss = $tmp_thiscss;
708 708
                                     $import_ok = true;
709
-                                    unset( $tmp_thiscss );
709
+                                    unset($tmp_thiscss);
710 710
                                 }
711 711
                             }
712
-                            unset( $code );
712
+                            unset($code);
713 713
                         }
714 714
                     }
715
-                    if ( ! $import_ok ) {
715
+                    if (!$import_ok) {
716 716
                         // External imports and general fall-back.
717 717
                         $external_imports .= $import;
718 718
 
719
-                        $thiscss    = str_replace( $import, '', $thiscss );
719
+                        $thiscss    = str_replace($import, '', $thiscss);
720 720
                         $fiximports = true;
721 721
                     }
722 722
                 }
723
-                $thiscss = preg_replace( '#/\*FILESTART\*/#', '', $thiscss );
724
-                $thiscss = preg_replace( '#/\*FILESTART2\*/#', '/*FILESTART*/', $thiscss );
723
+                $thiscss = preg_replace('#/\*FILESTART\*/#', '', $thiscss);
724
+                $thiscss = preg_replace('#/\*FILESTART2\*/#', '/*FILESTART*/', $thiscss);
725 725
 
726 726
                 // and update $thiscss_nocomments before going into next iteration in while loop.
727
-                $thiscss_nocomments = preg_replace( '#/\*.*\*/#Us', '', $thiscss );
727
+                $thiscss_nocomments = preg_replace('#/\*.*\*/#Us', '', $thiscss);
728 728
             }
729
-            unset( $thiscss_nocomments );
729
+            unset($thiscss_nocomments);
730 730
 
731 731
             // Add external imports to top of aggregated CSS.
732
-            if ( $fiximports ) {
733
-                $thiscss = $external_imports . $thiscss;
732
+            if ($fiximports) {
733
+                $thiscss = $external_imports.$thiscss;
734 734
             }
735 735
         }
736
-        unset( $thiscss );
736
+        unset($thiscss);
737 737
 
738 738
         // $this->csscode has all the uncompressed code now.
739
-        foreach ( $this->csscode as &$code ) {
739
+        foreach ($this->csscode as &$code) {
740 740
             // Check for already-minified code.
741
-            $hash = md5( $code );
742
-            do_action( 'autoptimize_action_css_hash', $hash );
743
-            $ccheck = new autoptimizeCache( $hash, 'css' );
744
-            if ( $ccheck->check() ) {
741
+            $hash = md5($code);
742
+            do_action('autoptimize_action_css_hash', $hash);
743
+            $ccheck = new autoptimizeCache($hash, 'css');
744
+            if ($ccheck->check()) {
745 745
                 $code = $ccheck->retrieve();
746
-                $this->hashmap[md5( $code )] = $hash;
746
+                $this->hashmap[md5($code)] = $hash;
747 747
                 continue;
748 748
             }
749
-            unset( $ccheck );
749
+            unset($ccheck);
750 750
 
751 751
             // Rewrite and/or inline referenced assets.
752
-            $code = $this->rewrite_assets( $code );
752
+            $code = $this->rewrite_assets($code);
753 753
 
754 754
             // Minify.
755
-            $code = $this->run_minifier_on( $code );
755
+            $code = $this->run_minifier_on($code);
756 756
 
757 757
             // Bring back INJECTLATER stuff.
758
-            $code = $this->inject_minified( $code );
758
+            $code = $this->inject_minified($code);
759 759
 
760 760
             // Filter results.
761
-            $tmp_code = apply_filters( 'autoptimize_css_after_minify', $code );
762
-            if ( ! empty( $tmp_code ) ) {
761
+            $tmp_code = apply_filters('autoptimize_css_after_minify', $code);
762
+            if (!empty($tmp_code)) {
763 763
                 $code = $tmp_code;
764
-                unset( $tmp_code );
764
+                unset($tmp_code);
765 765
             }
766 766
 
767
-            $this->hashmap[md5( $code )] = $hash;
767
+            $this->hashmap[md5($code)] = $hash;
768 768
         }
769 769
 
770
-        unset( $code );
770
+        unset($code);
771 771
         return true;
772 772
     }
773 773
 
774
-    public function run_minifier_on( $code )
774
+    public function run_minifier_on($code)
775 775
     {
776
-        if ( ! $this->alreadyminified ) {
777
-            $do_minify = apply_filters( 'autoptimize_css_do_minify', true );
776
+        if (!$this->alreadyminified) {
777
+            $do_minify = apply_filters('autoptimize_css_do_minify', true);
778 778
 
779
-            if ( $do_minify ) {
779
+            if ($do_minify) {
780 780
                 $cssmin   = new autoptimizeCSSmin();
781
-                $tmp_code = trim( $cssmin->run( $code ) );
781
+                $tmp_code = trim($cssmin->run($code));
782 782
 
783
-                if ( ! empty( $tmp_code ) ) {
783
+                if (!empty($tmp_code)) {
784 784
                     $code = $tmp_code;
785
-                    unset( $tmp_code );
785
+                    unset($tmp_code);
786 786
                 }
787 787
             }
788 788
         }
@@ -794,14 +794,14 @@  discard block
 block discarded – undo
794 794
     public function cache()
795 795
     {
796 796
         // CSS cache.
797
-        foreach ( $this->csscode as $media => $code ) {
798
-            $md5 = $this->hashmap[md5( $code )];
799
-            $cache = new autoptimizeCache( $md5, 'css' );
800
-            if ( ! $cache->check() ) {
797
+        foreach ($this->csscode as $media => $code) {
798
+            $md5 = $this->hashmap[md5($code)];
799
+            $cache = new autoptimizeCache($md5, 'css');
800
+            if (!$cache->check()) {
801 801
                 // Cache our code.
802
-                $cache->cache( $code, 'text/css' );
802
+                $cache->cache($code, 'text/css');
803 803
             }
804
-            $this->url[$media] = AUTOPTIMIZE_CACHE_URL . $cache->getname();
804
+            $this->url[$media] = AUTOPTIMIZE_CACHE_URL.$cache->getname();
805 805
         }
806 806
     }
807 807
 
@@ -809,136 +809,136 @@  discard block
 block discarded – undo
809 809
     public function getcontent()
810 810
     {
811 811
         // Restore the full content (only applies when "autoptimize_filter_css_justhead" filter is true).
812
-        if ( ! empty( $this->restofcontent ) ) {
812
+        if (!empty($this->restofcontent)) {
813 813
             $this->content .= $this->restofcontent;
814 814
             $this->restofcontent = '';
815 815
         }
816 816
 
817 817
         // Inject the new stylesheets.
818
-        $replaceTag = array( '<title', 'before' );
819
-        $replaceTag = apply_filters( 'autoptimize_filter_css_replacetag', $replaceTag, $this->content );
818
+        $replaceTag = array('<title', 'before');
819
+        $replaceTag = apply_filters('autoptimize_filter_css_replacetag', $replaceTag, $this->content);
820 820
 
821
-        if ( $this->inline ) {
822
-            foreach ( $this->csscode as $media => $code ) {
823
-                $this->inject_in_html( '<style type="text/css" media="' . $media . '">' . $code . '</style>', $replaceTag );
821
+        if ($this->inline) {
822
+            foreach ($this->csscode as $media => $code) {
823
+                $this->inject_in_html('<style type="text/css" media="'.$media.'">'.$code.'</style>', $replaceTag);
824 824
             }
825 825
         } else {
826
-            if ( $this->defer ) {
826
+            if ($this->defer) {
827 827
                 $preloadCssBlock = '';
828 828
                 $noScriptCssBlock = "<noscript id=\"aonoscrcss\">";
829 829
 
830 830
                 $defer_inline_code = $this->defer_inline;
831
-                if ( ! empty( $defer_inline_code ) ) {
832
-                    if ( apply_filters( 'autoptimize_filter_css_critcss_minify', true ) ) {
833
-                        $iCssHash = md5( $defer_inline_code );
834
-                        $iCssCache = new autoptimizeCache( $iCssHash, 'css' );
835
-                        if ( $iCssCache->check() ) {
831
+                if (!empty($defer_inline_code)) {
832
+                    if (apply_filters('autoptimize_filter_css_critcss_minify', true)) {
833
+                        $iCssHash = md5($defer_inline_code);
834
+                        $iCssCache = new autoptimizeCache($iCssHash, 'css');
835
+                        if ($iCssCache->check()) {
836 836
                             // we have the optimized inline CSS in cache.
837 837
                             $defer_inline_code = $iCssCache->retrieve();
838 838
                         } else {
839 839
                             $cssmin   = new autoptimizeCSSmin();
840
-                            $tmp_code = trim( $cssmin->run( $defer_inline_code ) );
840
+                            $tmp_code = trim($cssmin->run($defer_inline_code));
841 841
 
842
-                            if ( ! empty( $tmp_code ) ) {
842
+                            if (!empty($tmp_code)) {
843 843
                                 $defer_inline_code = $tmp_code;
844
-                                $iCssCache->cache( $defer_inline_code, 'text/css' );
845
-                                unset( $tmp_code );
844
+                                $iCssCache->cache($defer_inline_code, 'text/css');
845
+                                unset($tmp_code);
846 846
                             }
847 847
                         }
848 848
                     }
849 849
                     // inlined critical css set here, but injected when full CSS is injected
850 850
                     // to avoid CSS containing SVG with <title tag receiving the full CSS link.
851
-                    $inlined_ccss_block = '<style type="text/css" id="aoatfcss" media="all">' . $defer_inline_code . '</style>';
851
+                    $inlined_ccss_block = '<style type="text/css" id="aoatfcss" media="all">'.$defer_inline_code.'</style>';
852 852
                 }
853 853
             }
854 854
 
855
-            foreach ( $this->url as $media => $url ) {
856
-                $url = $this->url_replace_cdn( $url );
855
+            foreach ($this->url as $media => $url) {
856
+                $url = $this->url_replace_cdn($url);
857 857
 
858 858
                 // Add the stylesheet either deferred (import at bottom) or normal links in head.
859
-                if ( $this->defer ) {
859
+                if ($this->defer) {
860 860
                     $preloadOnLoad = autoptimizeConfig::get_ao_css_preload_onload();
861 861
 
862
-                    $preloadCssBlock .= '<link rel="preload" as="style" media="' . $media . '" href="' . $url . '" onload="' . $preloadOnLoad . '" />';
863
-                    $noScriptCssBlock .= '<link type="text/css" media="' . $media . '" href="' . $url . '" rel="stylesheet" />';
862
+                    $preloadCssBlock .= '<link rel="preload" as="style" media="'.$media.'" href="'.$url.'" onload="'.$preloadOnLoad.'" />';
863
+                    $noScriptCssBlock .= '<link type="text/css" media="'.$media.'" href="'.$url.'" rel="stylesheet" />';
864 864
                 } else {
865 865
                     // $this->inject_in_html('<link type="text/css" media="' . $media . '" href="' . $url . '" rel="stylesheet" />', $replaceTag);
866
-                    if ( strlen( $this->csscode[$media] ) > $this->cssinlinesize ) {
867
-                        $this->inject_in_html( '<link type="text/css" media="' . $media . '" href="' . $url . '" rel="stylesheet" />', $replaceTag );
868
-                    } elseif ( strlen( $this->csscode[$media] ) > 0 ) {
869
-                        $this->inject_in_html( '<style type="text/css" media="' . $media . '">' . $this->csscode[$media] . '</style>', $replaceTag );
866
+                    if (strlen($this->csscode[$media]) > $this->cssinlinesize) {
867
+                        $this->inject_in_html('<link type="text/css" media="'.$media.'" href="'.$url.'" rel="stylesheet" />', $replaceTag);
868
+                    } elseif (strlen($this->csscode[$media]) > 0) {
869
+                        $this->inject_in_html('<style type="text/css" media="'.$media.'">'.$this->csscode[$media].'</style>', $replaceTag);
870 870
                     }
871 871
                 }
872 872
             }
873 873
 
874
-            if ( $this->defer ) {
874
+            if ($this->defer) {
875 875
                 $preload_polyfill = autoptimizeConfig::get_ao_css_preload_polyfill();
876 876
                 $noScriptCssBlock .= '</noscript>';
877 877
                 // Inject inline critical CSS, the preloaded full CSS and the noscript-CSS.
878
-                $this->inject_in_html( $inlined_ccss_block . $preloadCssBlock . $noScriptCssBlock, $replaceTag );
878
+                $this->inject_in_html($inlined_ccss_block.$preloadCssBlock.$noScriptCssBlock, $replaceTag);
879 879
 
880 880
                 // Adds preload polyfill at end of body tag.
881 881
                 $this->inject_in_html(
882
-                    apply_filters( 'autoptimize_css_preload_polyfill', $preload_polyfill ),
883
-                    apply_filters( 'autoptimize_css_preload_polyfill_injectat', array( '</body>', 'before' ) )
882
+                    apply_filters('autoptimize_css_preload_polyfill', $preload_polyfill),
883
+                    apply_filters('autoptimize_css_preload_polyfill_injectat', array('</body>', 'before'))
884 884
                 );
885 885
             }
886 886
         }
887 887
 
888 888
         // restore comments.
889
-        $this->content = $this->restore_comments( $this->content );
889
+        $this->content = $this->restore_comments($this->content);
890 890
 
891 891
         // restore IE hacks.
892
-        $this->content = $this->restore_iehacks( $this->content );
892
+        $this->content = $this->restore_iehacks($this->content);
893 893
 
894 894
         // restore (no)script.
895
-        $this->content = $this->restore_marked_content( 'SCRIPT', $this->content );
895
+        $this->content = $this->restore_marked_content('SCRIPT', $this->content);
896 896
 
897 897
         // Restore noptimize.
898
-        $this->content = $this->restore_noptimize( $this->content );
898
+        $this->content = $this->restore_noptimize($this->content);
899 899
 
900 900
         // Return the modified stylesheet.
901 901
         return $this->content;
902 902
     }
903 903
 
904
-    static function fixurls( $file, $code )
904
+    static function fixurls($file, $code)
905 905
     {
906 906
         // Switch all imports to the url() syntax.
907
-        $code = preg_replace( '#@import ("|\')(.+?)\.css.*?("|\')#', '@import url("${2}.css")', $code );
907
+        $code = preg_replace('#@import ("|\')(.+?)\.css.*?("|\')#', '@import url("${2}.css")', $code);
908 908
 
909
-        if ( preg_match_all( self::ASSETS_REGEX, $code, $matches ) ) {
910
-            $file = str_replace( WP_ROOT_DIR, '/', $file );
909
+        if (preg_match_all(self::ASSETS_REGEX, $code, $matches)) {
910
+            $file = str_replace(WP_ROOT_DIR, '/', $file);
911 911
             /**
912 912
              * rollback as per https://github.com/futtta/autoptimize/issues/94
913 913
              * $file = str_replace( AUTOPTIMIZE_WP_CONTENT_NAME, '', $file );
914 914
              */
915
-            $dir = dirname( $file ); // Like /themes/expound/css.
915
+            $dir = dirname($file); // Like /themes/expound/css.
916 916
 
917 917
             /**
918 918
              * $dir should not contain backslashes, since it's used to replace
919 919
              * urls, but it can contain them when running on Windows because
920 920
              * fixurls() is sometimes called with `ABSPATH . 'index.php'`
921 921
              */
922
-            $dir = str_replace( '\\', '/', $dir );
923
-            unset( $file ); // not used below at all.
922
+            $dir = str_replace('\\', '/', $dir);
923
+            unset($file); // not used below at all.
924 924
 
925 925
             $replace = array();
926
-            foreach ( $matches[1] as $k => $url ) {
926
+            foreach ($matches[1] as $k => $url) {
927 927
                 // Remove quotes.
928
-                $url    = trim( $url, " \t\n\r\0\x0B\"'" );
929
-                $noQurl = trim( $url, "\"'" );
930
-                if ( $url !== $noQurl ) {
928
+                $url    = trim($url, " \t\n\r\0\x0B\"'");
929
+                $noQurl = trim($url, "\"'");
930
+                if ($url !== $noQurl) {
931 931
                     $removedQuotes = true;
932 932
                 } else {
933 933
                     $removedQuotes = false;
934 934
                 }
935 935
 
936
-                if ( '' === $noQurl ) {
936
+                if ('' === $noQurl) {
937 937
                     continue;
938 938
                 }
939 939
 
940 940
                 $url = $noQurl;
941
-                if ( '/' === $url{0} || preg_match( '#^(https?://|ftp://|data:)#i', $url ) ) {
941
+                if ('/' === $url{0} || preg_match('#^(https?://|ftp://|data:)#i', $url)) {
942 942
                     // URL is protocol-relative, host-relative or something we don't touch.
943 943
                     continue;
944 944
                 } else {
@@ -947,49 +947,49 @@  discard block
 block discarded – undo
947 947
                      * rollback as per https://github.com/futtta/autoptimize/issues/94
948 948
                      * $newurl = preg_replace( '/https?:/', '', str_replace( ' ', '%20', AUTOPTIMIZE_WP_CONTENT_URL . str_replace( '//', '/', $dir . '/' . $url ) ) );
949 949
                      */
950
-                    $newurl = preg_replace( '/https?:/', '', str_replace( ' ', '%20', AUTOPTIMIZE_WP_ROOT_URL . str_replace( '//', '/', $dir . '/' . $url ) ) );
951
-                    $newurl = apply_filters( 'autoptimize_filter_css_fixurl_newurl', $newurl );
950
+                    $newurl = preg_replace('/https?:/', '', str_replace(' ', '%20', AUTOPTIMIZE_WP_ROOT_URL.str_replace('//', '/', $dir.'/'.$url)));
951
+                    $newurl = apply_filters('autoptimize_filter_css_fixurl_newurl', $newurl);
952 952
 
953 953
                     /**
954 954
                      * Hash the url + whatever was behind potentially for replacement
955 955
                      * We must do this, or different css classes referencing the same bg image (but
956 956
                      * different parts of it, say, in sprites and such) loose their stuff...
957 957
                      */
958
-                    $hash = md5( $url . $matches[2][$k] );
959
-                    $code = str_replace( $matches[0][$k], $hash, $code );
958
+                    $hash = md5($url.$matches[2][$k]);
959
+                    $code = str_replace($matches[0][$k], $hash, $code);
960 960
 
961
-                    if ( $removedQuotes ) {
962
-                        $replace[$hash] = "url('" . $newurl . "')" . $matches[2][$k];
961
+                    if ($removedQuotes) {
962
+                        $replace[$hash] = "url('".$newurl."')".$matches[2][$k];
963 963
                     } else {
964
-                        $replace[$hash] = 'url(' . $newurl . ')' . $matches[2][$k];
964
+                        $replace[$hash] = 'url('.$newurl.')'.$matches[2][$k];
965 965
                     }
966 966
                 }
967 967
             }
968 968
 
969
-            $code = self::replace_longest_matches_first( $code, $replace );
969
+            $code = self::replace_longest_matches_first($code, $replace);
970 970
         }
971 971
 
972 972
         return $code;
973 973
     }
974 974
 
975
-    private function ismovable( $tag )
975
+    private function ismovable($tag)
976 976
     {
977
-        if ( ! $this->aggregate ) {
977
+        if (!$this->aggregate) {
978 978
             return false;
979 979
         }
980 980
 
981
-        if ( ! empty( $this->whitelist ) ) {
982
-            foreach ( $this->whitelist as $match ) {
983
-                if ( false !== strpos( $tag, $match ) ) {
981
+        if (!empty($this->whitelist)) {
982
+            foreach ($this->whitelist as $match) {
983
+                if (false !== strpos($tag, $match)) {
984 984
                     return true;
985 985
                 }
986 986
             }
987 987
             // no match with whitelist.
988 988
             return false;
989 989
         } else {
990
-            if ( is_array( $this->dontmove ) && ! empty( $this->dontmove ) ) {
991
-                foreach ( $this->dontmove as $match ) {
992
-                    if ( false !== strpos( $tag, $match ) ) {
990
+            if (is_array($this->dontmove) && !empty($this->dontmove)) {
991
+                foreach ($this->dontmove as $match) {
992
+                    if (false !== strpos($tag, $match)) {
993 993
                         // Matched something.
994 994
                         return false;
995 995
                     }
@@ -1001,22 +1001,22 @@  discard block
 block discarded – undo
1001 1001
         }
1002 1002
     }
1003 1003
 
1004
-    private function can_inject_late( $cssPath, $css )
1004
+    private function can_inject_late($cssPath, $css)
1005 1005
     {
1006
-        $consider_minified_array = apply_filters( 'autoptimize_filter_css_consider_minified', false, $cssPath );
1007
-        if ( true !== $this->inject_min_late ) {
1006
+        $consider_minified_array = apply_filters('autoptimize_filter_css_consider_minified', false, $cssPath);
1007
+        if (true !== $this->inject_min_late) {
1008 1008
             // late-inject turned off.
1009 1009
             return false;
1010
-        } elseif ( ( false === strpos( $cssPath, 'min.css' ) ) && ( str_replace( $consider_minified_array, '', $cssPath ) === $cssPath ) ) {
1010
+        } elseif ((false === strpos($cssPath, 'min.css')) && (str_replace($consider_minified_array, '', $cssPath) === $cssPath)) {
1011 1011
             // file not minified based on filename & filter.
1012 1012
             return false;
1013
-        } elseif ( false !== strpos( $css, '@import' ) ) {
1013
+        } elseif (false !== strpos($css, '@import')) {
1014 1014
             // can't late-inject files with imports as those need to be aggregated.
1015 1015
             return false;
1016
-        } elseif ( ( false !== strpos( $css, '@font-face' ) ) && ( apply_filters( 'autoptimize_filter_css_fonts_cdn', false ) === true ) && ( ! empty( $this->cdn_url ) ) ) {
1016
+        } elseif ((false !== strpos($css, '@font-face')) && (apply_filters('autoptimize_filter_css_fonts_cdn', false) === true) && (!empty($this->cdn_url))) {
1017 1017
             // don't late-inject CSS with font-src's if fonts are set to be CDN'ed.
1018 1018
             return false;
1019
-        } elseif ( ( ( $this->datauris == true ) || ( ! empty( $this->cdn_url ) ) ) && preg_match( '#background[^;}]*url\(#Ui', $css ) ) {
1019
+        } elseif ((($this->datauris == true) || (!empty($this->cdn_url))) && preg_match('#background[^;}]*url\(#Ui', $css)) {
1020 1020
             // don't late-inject CSS with images if CDN is set OR if image inlining is on.
1021 1021
             return false;
1022 1022
         } else {
@@ -1034,32 +1034,32 @@  discard block
 block discarded – undo
1034 1034
      *
1035 1035
      * @return bool|string Url pointing to the minified css file or false.
1036 1036
      */
1037
-    public function minify_single( $filepath, $cache_miss = false )
1037
+    public function minify_single($filepath, $cache_miss = false)
1038 1038
     {
1039
-        $contents = $this->prepare_minify_single( $filepath );
1039
+        $contents = $this->prepare_minify_single($filepath);
1040 1040
 
1041
-        if ( empty( $contents ) ) {
1041
+        if (empty($contents)) {
1042 1042
             return false;
1043 1043
         }
1044 1044
 
1045 1045
         // Check cache.
1046
-        $hash  = 'single_' . md5( $contents );
1047
-        $cache = new autoptimizeCache( $hash, 'css' );
1046
+        $hash  = 'single_'.md5($contents);
1047
+        $cache = new autoptimizeCache($hash, 'css');
1048 1048
 
1049 1049
         // If not in cache already, minify...
1050
-        if ( ! $cache->check() || $cache_miss ) {
1050
+        if (!$cache->check() || $cache_miss) {
1051 1051
             // Fixurls...
1052
-            $contents = self::fixurls( $filepath, $contents );
1052
+            $contents = self::fixurls($filepath, $contents);
1053 1053
             // CDN-replace any referenced assets if needed...
1054
-            $contents = $this->replace_urls( $contents );
1054
+            $contents = $this->replace_urls($contents);
1055 1055
             // Now minify...
1056 1056
             $cssmin   = new autoptimizeCSSmin();
1057
-            $contents = trim( $cssmin->run( $contents ) );
1057
+            $contents = trim($cssmin->run($contents));
1058 1058
             // Store in cache.
1059
-            $cache->cache( $contents, 'text/css' );
1059
+            $cache->cache($contents, 'text/css');
1060 1060
         }
1061 1061
 
1062
-        $url = $this->build_minify_single_url( $cache );
1062
+        $url = $this->build_minify_single_url($cache);
1063 1063
 
1064 1064
         return $url;
1065 1065
     }
@@ -1079,18 +1079,18 @@  discard block
 block discarded – undo
1079 1079
         return $this->options;
1080 1080
     }
1081 1081
 
1082
-    public function replaceOptions( $options )
1082
+    public function replaceOptions($options)
1083 1083
     {
1084 1084
         $this->options = $options;
1085 1085
     }
1086 1086
 
1087
-    public function setOption( $name, $value )
1087
+    public function setOption($name, $value)
1088 1088
     {
1089 1089
         $this->options[$name] = $value;
1090 1090
         $this->$name = $value;
1091 1091
     }
1092 1092
 
1093
-    public function getOption( $name )
1093
+    public function getOption($name)
1094 1094
     {
1095 1095
         return $this->options[$name];
1096 1096
     }
Please login to merge, or discard this patch.
classes/autoptimizeCache.php 1 patch
Spacing   +140 added lines, -140 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,17 +38,17 @@  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
         $this->cachedir = AUTOPTIMIZE_CACHE_DIR;
44 44
         $this->nogzip   = AUTOPTIMIZE_CACHE_NOGZIP;
45
-        if ( ! $this->nogzip ) {
46
-            $this->filename = AUTOPTIMIZE_CACHEFILE_PREFIX . $md5 . '.php';
45
+        if (!$this->nogzip) {
46
+            $this->filename = AUTOPTIMIZE_CACHEFILE_PREFIX.$md5.'.php';
47 47
         } else {
48
-            if ( in_array( $ext, array( 'js', 'css' ) ) ) {
49
-                $this->filename = $ext . '/' . AUTOPTIMIZE_CACHEFILE_PREFIX . $md5 . '.' . $ext;
48
+            if (in_array($ext, array('js', 'css'))) {
49
+                $this->filename = $ext.'/'.AUTOPTIMIZE_CACHEFILE_PREFIX.$md5.'.'.$ext;
50 50
             } else {
51
-                $this->filename = AUTOPTIMIZE_CACHEFILE_PREFIX . $md5 . '.' . $ext;
51
+                $this->filename = AUTOPTIMIZE_CACHEFILE_PREFIX.$md5.'.'.$ext;
52 52
             }
53 53
         }
54 54
     }
@@ -60,7 +60,7 @@  discard block
 block discarded – undo
60 60
      */
61 61
     public function check()
62 62
     {
63
-        return file_exists( $this->cachedir . $this->filename );
63
+        return file_exists($this->cachedir.$this->filename);
64 64
     }
65 65
 
66 66
     /**
@@ -70,11 +70,11 @@  discard block
 block discarded – undo
70 70
      */
71 71
     public function retrieve()
72 72
     {
73
-        if ( $this->check() ) {
74
-            if ( false == $this->nogzip ) {
75
-                return file_get_contents( $this->cachedir . $this->filename . '.none' );
73
+        if ($this->check()) {
74
+            if (false == $this->nogzip) {
75
+                return file_get_contents($this->cachedir.$this->filename.'.none');
76 76
             } else {
77
-                return file_get_contents( $this->cachedir . $this->filename );
77
+                return file_get_contents($this->cachedir.$this->filename);
78 78
             }
79 79
         }
80 80
         return false;
@@ -88,33 +88,33 @@  discard block
 block discarded – undo
88 88
      *
89 89
      * @return void
90 90
      */
91
-    public function cache( $data, $mime )
91
+    public function cache($data, $mime)
92 92
     {
93 93
         // off by default; check if cachedirs exist every time before caching
94 94
         //
95 95
         // to be activated for users that experience these ugly errors;
96 96
         // PHP Warning: file_put_contents failed to open stream: No such file or directory.
97
-        if ( apply_filters( 'autoptimize_filter_cache_checkdirs_on_write', false ) ) {
97
+        if (apply_filters('autoptimize_filter_cache_checkdirs_on_write', false)) {
98 98
             $this->check_and_create_dirs();
99 99
         }
100 100
 
101
-        if ( false === $this->nogzip ) {
101
+        if (false === $this->nogzip) {
102 102
             // We handle gzipping ourselves.
103 103
             $file    = 'default.php';
104
-            $phpcode = file_get_contents( AUTOPTIMIZE_PLUGIN_DIR . 'config/' . $file );
105
-            $phpcode = str_replace( array( '%%CONTENT%%', 'exit;' ), array( $mime, '' ), $phpcode );
104
+            $phpcode = file_get_contents(AUTOPTIMIZE_PLUGIN_DIR.'config/'.$file);
105
+            $phpcode = str_replace(array('%%CONTENT%%', 'exit;'), array($mime, ''), $phpcode);
106 106
 
107
-            file_put_contents( $this->cachedir . $this->filename, $phpcode );
108
-            file_put_contents( $this->cachedir . $this->filename . '.none', $data );
107
+            file_put_contents($this->cachedir.$this->filename, $phpcode);
108
+            file_put_contents($this->cachedir.$this->filename.'.none', $data);
109 109
         } else {
110 110
             // Write code to cache without doing anything else.
111
-            file_put_contents( $this->cachedir . $this->filename, $data );
112
-            if ( apply_filters( 'autoptimize_filter_cache_create_static_gzip', false ) ) {
111
+            file_put_contents($this->cachedir.$this->filename, $data);
112
+            if (apply_filters('autoptimize_filter_cache_create_static_gzip', false)) {
113 113
                 // Create an additional cached gzip file.
114
-                file_put_contents( $this->cachedir . $this->filename . '.gz', gzencode( $data, 9, FORCE_GZIP ) );
114
+                file_put_contents($this->cachedir.$this->filename.'.gz', gzencode($data, 9, FORCE_GZIP));
115 115
                 // If PHP Brotli extension is installed, create an additional cached Brotli file.
116
-                if ( function_exists( 'brotli_compress' ) ) {
117
-                    file_put_contents( $this->cachedir . $this->filename . '.br', brotli_compress( $data, 11, BROTLI_GENERIC ) );
116
+                if (function_exists('brotli_compress')) {
117
+                    file_put_contents($this->cachedir.$this->filename.'.br', brotli_compress($data, 11, BROTLI_GENERIC));
118 118
                 }
119 119
             }
120 120
         }
@@ -132,7 +132,7 @@  discard block
 block discarded – undo
132 132
         // The original idea here was to provide 3rd party code a hook so that
133 133
         // it can "listen" to all the complete autoptimized-urls that the page
134 134
         // will emit... Or something to that effect I think?
135
-        apply_filters( 'autoptimize_filter_cache_getname', AUTOPTIMIZE_CACHE_URL . $this->filename );
135
+        apply_filters('autoptimize_filter_cache_getname', AUTOPTIMIZE_CACHE_URL.$this->filename);
136 136
 
137 137
         return $this->filename;
138 138
     }
@@ -145,11 +145,11 @@  discard block
 block discarded – undo
145 145
      * @param string $file Filename.
146 146
      * @return bool
147 147
      */
148
-    protected static function is_valid_cache_file( $dir, $file )
148
+    protected static function is_valid_cache_file($dir, $file)
149 149
     {
150
-        if ( '.' !== $file && '..' !== $file &&
151
-            false !== strpos( $file, AUTOPTIMIZE_CACHEFILE_PREFIX ) &&
152
-            is_file( $dir . $file ) ) {
150
+        if ('.' !== $file && '..' !== $file &&
151
+            false !== strpos($file, AUTOPTIMIZE_CACHEFILE_PREFIX) &&
152
+            is_file($dir.$file)) {
153 153
 
154 154
             // It's a valid file!
155 155
             return true;
@@ -167,16 +167,16 @@  discard block
 block discarded – undo
167 167
     protected static function clear_cache_classic()
168 168
     {
169 169
         $contents = self::get_cache_contents();
170
-        foreach ( $contents as $name => $files ) {
171
-            $dir = rtrim( AUTOPTIMIZE_CACHE_DIR . $name, '/' ) . '/';
172
-            foreach ( $files as $file ) {
173
-                if ( self::is_valid_cache_file( $dir, $file ) ) {
174
-                    @unlink( $dir . $file ); // @codingStandardsIgnoreLine
170
+        foreach ($contents as $name => $files) {
171
+            $dir = rtrim(AUTOPTIMIZE_CACHE_DIR.$name, '/').'/';
172
+            foreach ($files as $file) {
173
+                if (self::is_valid_cache_file($dir, $file)) {
174
+                    @unlink($dir.$file); // @codingStandardsIgnoreLine
175 175
                 }
176 176
             }
177 177
         }
178 178
 
179
-        @unlink( AUTOPTIMIZE_CACHE_DIR . '/.htaccess' ); // @codingStandardsIgnoreLine
179
+        @unlink(AUTOPTIMIZE_CACHE_DIR.'/.htaccess'); // @codingStandardsIgnoreLine
180 180
     }
181 181
 
182 182
     /**
@@ -187,19 +187,19 @@  discard block
 block discarded – undo
187 187
      *
188 188
      * @return bool
189 189
      */
190
-    protected static function rmdir( $pathname )
190
+    protected static function rmdir($pathname)
191 191
     {
192
-        $files = self::get_dir_contents( $pathname );
193
-        foreach ( $files as $file ) {
194
-            $path = $pathname . '/' . $file;
195
-            if ( is_dir( $path ) ) {
196
-                self::rmdir( $path );
192
+        $files = self::get_dir_contents($pathname);
193
+        foreach ($files as $file) {
194
+            $path = $pathname.'/'.$file;
195
+            if (is_dir($path)) {
196
+                self::rmdir($path);
197 197
             } else {
198
-                unlink( $path );
198
+                unlink($path);
199 199
             }
200 200
         }
201 201
 
202
-        return rmdir( $pathname );
202
+        return rmdir($pathname);
203 203
     }
204 204
 
205 205
     /**
@@ -216,12 +216,12 @@  discard block
 block discarded – undo
216 216
         $new_name = self::get_unique_name();
217 217
 
218 218
         // Makes sure the new pathname is on the same level...
219
-        $new_pathname = dirname( $dir ) . '/' . $new_name;
220
-        $renamed      = @rename( $dir, $new_pathname ); // @codingStandardsIgnoreLine
219
+        $new_pathname = dirname($dir).'/'.$new_name;
220
+        $renamed      = @rename($dir, $new_pathname); // @codingStandardsIgnoreLine
221 221
 
222 222
         // When renamed, re-create the default cache directory back so it's
223 223
         // available again...
224
-        if ( $renamed ) {
224
+        if ($renamed) {
225 225
             $ok = self::cacheavail();
226 226
         }
227 227
 
@@ -235,7 +235,7 @@  discard block
 block discarded – undo
235 235
      */
236 236
     public static function advanced_cache_clear_enabled()
237 237
     {
238
-        return apply_filters( 'autoptimize_filter_cache_clear_advanced', false );
238
+        return apply_filters('autoptimize_filter_cache_clear_advanced', false);
239 239
     }
240 240
 
241 241
     /**
@@ -246,7 +246,7 @@  discard block
 block discarded – undo
246 246
     protected static function get_unique_name()
247 247
     {
248 248
         $prefix   = self::get_advanced_cache_clear_prefix();
249
-        $new_name = uniqid( $prefix, true );
249
+        $new_name = uniqid($prefix, true);
250 250
 
251 251
         return $new_name;
252 252
     }
@@ -259,8 +259,8 @@  discard block
 block discarded – undo
259 259
     protected static function get_advanced_cache_clear_prefix()
260 260
     {
261 261
         $pathname = self::get_pathname_base();
262
-        $basename = basename( $pathname );
263
-        $prefix   = $basename . '-';
262
+        $basename = basename($pathname);
263
+        $prefix   = $basename.'-';
264 264
 
265 265
         return $prefix;
266 266
     }
@@ -273,9 +273,9 @@  discard block
 block discarded – undo
273 273
      *
274 274
      * @return array
275 275
      */
276
-    protected static function get_dir_contents( $pathname )
276
+    protected static function get_dir_contents($pathname)
277 277
     {
278
-        return array_slice( scandir( $pathname ), 2 );
278
+        return array_slice(scandir($pathname), 2);
279 279
     }
280 280
 
281 281
     /**
@@ -289,18 +289,18 @@  discard block
 block discarded – undo
289 289
     {
290 290
         $dir    = self::get_pathname_base();
291 291
         $prefix = self::get_advanced_cache_clear_prefix();
292
-        $parent = dirname( $dir );
292
+        $parent = dirname($dir);
293 293
         $ok     = false;
294 294
 
295 295
         // Returns the list of files without '.' and '..' elements.
296
-        $files = self::get_dir_contents( $parent );
297
-        if ( is_array( $files ) && ! empty( $files ) ) {
298
-            foreach ( $files as $file ) {
299
-                $path     = $parent . '/' . $file;
300
-                $prefixed = ( false !== strpos( $path, $prefix ) );
296
+        $files = self::get_dir_contents($parent);
297
+        if (is_array($files) && !empty($files)) {
298
+            foreach ($files as $file) {
299
+                $path     = $parent.'/'.$file;
300
+                $prefixed = (false !== strpos($path, $prefix));
301 301
                 // Removing only our own (prefixed) directories...
302
-                if ( is_dir( $path ) && $prefixed ) {
303
-                    $ok = self::rmdir( $path );
302
+                if (is_dir($path) && $prefixed) {
303
+                    $ok = self::rmdir($path);
304 304
                 }
305 305
             }
306 306
         }
@@ -320,9 +320,9 @@  discard block
 block discarded – undo
320 320
     {
321 321
         $pathname = self::get_pathname_base();
322 322
 
323
-        if ( is_multisite() && apply_filters( 'autoptimize_separate_blog_caches', true ) ) {
323
+        if (is_multisite() && apply_filters('autoptimize_separate_blog_caches', true)) {
324 324
             $blog_id   = get_current_blog_id();
325
-            $pathname .= $blog_id . '/';
325
+            $pathname .= $blog_id.'/';
326 326
         }
327 327
 
328 328
         return $pathname;
@@ -335,7 +335,7 @@  discard block
 block discarded – undo
335 335
      */
336 336
     protected static function get_pathname_base()
337 337
     {
338
-        $pathname = WP_CONTENT_DIR . AUTOPTIMIZE_CACHE_CHILD_DIR;
338
+        $pathname = WP_CONTENT_DIR.AUTOPTIMIZE_CACHE_CHILD_DIR;
339 339
 
340 340
         return $pathname;
341 341
     }
@@ -347,39 +347,39 @@  discard block
 block discarded – undo
347 347
      *
348 348
      * @return bool
349 349
      */
350
-    public static function clearall( $propagate = true )
350
+    public static function clearall($propagate = true)
351 351
     {
352
-        if ( ! self::cacheavail() ) {
352
+        if (!self::cacheavail()) {
353 353
             return false;
354 354
         }
355 355
 
356 356
         // TODO/FIXME: If cache is big, switch to advanced/new cache clearing automatically?
357
-        if ( self::advanced_cache_clear_enabled() ) {
357
+        if (self::advanced_cache_clear_enabled()) {
358 358
             self::clear_cache_via_rename();
359 359
         } else {
360 360
             self::clear_cache_classic();
361 361
         }
362 362
 
363 363
         // Remove the transient so it gets regenerated...
364
-        delete_transient( 'autoptimize_stats' );
364
+        delete_transient('autoptimize_stats');
365 365
 
366 366
         // Cache was just purged, clear page cache and allow others to hook into our purging...
367
-        if ( true === $propagate ) {
368
-            if ( ! function_exists( 'autoptimize_do_cachepurged_action' ) ) {
367
+        if (true === $propagate) {
368
+            if (!function_exists('autoptimize_do_cachepurged_action')) {
369 369
                 function autoptimize_do_cachepurged_action() {
370
-                    do_action( 'autoptimize_action_cachepurged' );
370
+                    do_action('autoptimize_action_cachepurged');
371 371
                 }
372 372
             }
373
-            add_action( 'shutdown', 'autoptimize_do_cachepurged_action', 11 );
374
-            add_action( 'autoptimize_action_cachepurged', array( 'autoptimizeCache', 'flushPageCache' ), 10, 0 );
373
+            add_action('shutdown', 'autoptimize_do_cachepurged_action', 11);
374
+            add_action('autoptimize_action_cachepurged', array('autoptimizeCache', 'flushPageCache'), 10, 0);
375 375
         }
376 376
 
377 377
         // Warm cache (part of speedupper)!
378
-        if ( apply_filters( 'autoptimize_filter_speedupper', true ) && false == get_transient( 'autoptimize_cache_warmer_protector' ) ) {
379
-            set_transient( 'autoptimize_cache_warmer_protector', 'I shall not warm cache for another 10 minutes.', 60 * 10 );
380
-            $url   = site_url() . '/?ao_speedup_cachebuster=' . rand( 1, 100000 );
381
-            $cache = @wp_remote_get( $url ); // @codingStandardsIgnoreLine
382
-            unset( $cache );
378
+        if (apply_filters('autoptimize_filter_speedupper', true) && false == get_transient('autoptimize_cache_warmer_protector')) {
379
+            set_transient('autoptimize_cache_warmer_protector', 'I shall not warm cache for another 10 minutes.', 60*10);
380
+            $url   = site_url().'/?ao_speedup_cachebuster='.rand(1, 100000);
381
+            $cache = @wp_remote_get($url); // @codingStandardsIgnoreLine
382
+            unset($cache);
383 383
         }
384 384
 
385 385
         return true;
@@ -394,7 +394,7 @@  discard block
 block discarded – undo
394 394
      */
395 395
     public static function clearall_actionless()
396 396
     {
397
-        return self::clearall( false );
397
+        return self::clearall(false);
398 398
     }
399 399
 
400 400
     /**
@@ -406,8 +406,8 @@  discard block
 block discarded – undo
406 406
     {
407 407
         $contents = array();
408 408
 
409
-        foreach ( array( '', 'js', 'css' ) as $dir ) {
410
-            $contents[ $dir ] = scandir( AUTOPTIMIZE_CACHE_DIR . $dir );
409
+        foreach (array('', 'js', 'css') as $dir) {
410
+            $contents[$dir] = scandir(AUTOPTIMIZE_CACHE_DIR.$dir);
411 411
         }
412 412
 
413 413
         return $contents;
@@ -420,21 +420,21 @@  discard block
 block discarded – undo
420 420
      */
421 421
     public static function stats()
422 422
     {
423
-        $stats = get_transient( 'autoptimize_stats' );
423
+        $stats = get_transient('autoptimize_stats');
424 424
 
425 425
         // If no transient, do the actual scan!
426
-        if ( ! is_array( $stats ) ) {
427
-            if ( ! self::cacheavail() ) {
426
+        if (!is_array($stats)) {
427
+            if (!self::cacheavail()) {
428 428
                 return 0;
429 429
             }
430 430
             $stats = self::stats_scan();
431 431
             $count = $stats[0];
432
-            if ( $count > 100 ) {
432
+            if ($count > 100) {
433 433
                 // Store results in transient.
434 434
                 set_transient(
435 435
                     'autoptimize_stats',
436 436
                     $stats,
437
-                    apply_filters( 'autoptimize_filter_cache_statsexpiry', HOUR_IN_SECONDS )
437
+                    apply_filters('autoptimize_filter_cache_statsexpiry', HOUR_IN_SECONDS)
438 438
                 );
439 439
             }
440 440
         }
@@ -457,30 +457,30 @@  discard block
 block discarded – undo
457 457
         $size  = 0;
458 458
 
459 459
         // Scan everything in our cache directories.
460
-        foreach ( self::get_cache_contents() as $name => $files ) {
461
-            $dir = rtrim( AUTOPTIMIZE_CACHE_DIR . $name, '/' ) . '/';
462
-            foreach ( $files as $file ) {
463
-                if ( self::is_valid_cache_file( $dir, $file ) ) {
464
-                    if ( AUTOPTIMIZE_CACHE_NOGZIP &&
460
+        foreach (self::get_cache_contents() as $name => $files) {
461
+            $dir = rtrim(AUTOPTIMIZE_CACHE_DIR.$name, '/').'/';
462
+            foreach ($files as $file) {
463
+                if (self::is_valid_cache_file($dir, $file)) {
464
+                    if (AUTOPTIMIZE_CACHE_NOGZIP &&
465 465
                         (
466
-                            false !== strpos( $file, '.js' ) ||
467
-                            false !== strpos( $file, '.css' ) ||
468
-                            false !== strpos( $file, '.img' ) ||
469
-                            false !== strpos( $file, '.txt' )
466
+                            false !== strpos($file, '.js') ||
467
+                            false !== strpos($file, '.css') ||
468
+                            false !== strpos($file, '.img') ||
469
+                            false !== strpos($file, '.txt')
470 470
                         )
471 471
                     ) {
472 472
                         // Web server is gzipping, we count .js|.css|.img|.txt files.
473 473
                         $count++;
474
-                    } elseif ( ! AUTOPTIMIZE_CACHE_NOGZIP && false !== strpos( $file, '.none' ) ) {
474
+                    } elseif (!AUTOPTIMIZE_CACHE_NOGZIP && false !== strpos($file, '.none')) {
475 475
                         // We are gzipping ourselves via php, counting only .none files.
476 476
                         $count++;
477 477
                     }
478
-                    $size += filesize( $dir . $file );
478
+                    $size += filesize($dir.$file);
479 479
                 }
480 480
             }
481 481
         }
482 482
 
483
-        $stats = array( $count, $size, time() );
483
+        $stats = array($count, $size, time());
484 484
 
485 485
         return $stats;
486 486
     }
@@ -494,22 +494,22 @@  discard block
 block discarded – undo
494 494
      */
495 495
     public static function cacheavail()
496 496
     {
497
-        if ( false === autoptimizeCache::check_and_create_dirs() ) {
497
+        if (false === autoptimizeCache::check_and_create_dirs()) {
498 498
             return false;
499 499
         }
500 500
 
501 501
         // Using .htaccess inside our cache folder to overrule wp-super-cache.
502
-        $htaccess = AUTOPTIMIZE_CACHE_DIR . '/.htaccess';
503
-        if ( ! is_file( $htaccess ) ) {
502
+        $htaccess = AUTOPTIMIZE_CACHE_DIR.'/.htaccess';
503
+        if (!is_file($htaccess)) {
504 504
             /**
505 505
              * Create `wp-content/AO_htaccess_tmpl` file with
506 506
              * whatever htaccess rules you might need
507 507
              * if you want to override default AO htaccess
508 508
              */
509
-            $htaccess_tmpl = WP_CONTENT_DIR . '/AO_htaccess_tmpl';
510
-            if ( is_file( $htaccess_tmpl ) ) {
511
-                $content = file_get_contents( $htaccess_tmpl );
512
-            } elseif ( is_multisite() || ! AUTOPTIMIZE_CACHE_NOGZIP ) {
509
+            $htaccess_tmpl = WP_CONTENT_DIR.'/AO_htaccess_tmpl';
510
+            if (is_file($htaccess_tmpl)) {
511
+                $content = file_get_contents($htaccess_tmpl);
512
+            } elseif (is_multisite() || !AUTOPTIMIZE_CACHE_NOGZIP) {
513 513
                 $content = '<IfModule mod_expires.c>
514 514
         ExpiresActive On
515 515
         ExpiresByType text/css A30672000
@@ -562,7 +562,7 @@  discard block
 block discarded – undo
562 562
     </Files>
563 563
 </IfModule>';
564 564
             }
565
-            @file_put_contents( $htaccess, $content ); // @codingStandardsIgnoreLine
565
+            @file_put_contents($htaccess, $content); // @codingStandardsIgnoreLine
566 566
         }
567 567
 
568 568
         // All OK!
@@ -576,13 +576,13 @@  discard block
 block discarded – undo
576 576
      * @return bool
577 577
      */
578 578
     public static function check_and_create_dirs() {
579
-        if ( ! defined( 'AUTOPTIMIZE_CACHE_DIR' ) ) {
579
+        if (!defined('AUTOPTIMIZE_CACHE_DIR')) {
580 580
             // We didn't set a cache.
581 581
             return false;
582 582
         }
583 583
 
584
-        foreach ( array( '', 'js', 'css' ) as $dir ) {
585
-            if ( ! self::check_cache_dir( AUTOPTIMIZE_CACHE_DIR . $dir ) ) {
584
+        foreach (array('', 'js', 'css') as $dir) {
585
+            if (!self::check_cache_dir(AUTOPTIMIZE_CACHE_DIR.$dir)) {
586 586
                 return false;
587 587
             }
588 588
         }
@@ -597,25 +597,25 @@  discard block
 block discarded – undo
597 597
      *
598 598
      * @return bool
599 599
      */
600
-    protected static function check_cache_dir( $dir )
600
+    protected static function check_cache_dir($dir)
601 601
     {
602 602
         // Try creating the dir if it doesn't exist.
603
-        if ( ! file_exists( $dir ) ) {
604
-            @mkdir( $dir, 0775, true ); // @codingStandardsIgnoreLine
605
-            if ( ! file_exists( $dir ) ) {
603
+        if (!file_exists($dir)) {
604
+            @mkdir($dir, 0775, true); // @codingStandardsIgnoreLine
605
+            if (!file_exists($dir)) {
606 606
                 return false;
607 607
             }
608 608
         }
609 609
 
610 610
         // If we still cannot write, bail.
611
-        if ( ! is_writable( $dir ) ) {
611
+        if (!is_writable($dir)) {
612 612
             return false;
613 613
         }
614 614
 
615 615
         // Create an index.html in there to avoid prying eyes!
616
-        $idx_file = rtrim( $dir, '/\\' ) . '/index.html';
617
-        if ( ! is_file( $idx_file ) ) {
618
-            @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
616
+        $idx_file = rtrim($dir, '/\\').'/index.html';
617
+        if (!is_file($idx_file)) {
618
+            @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
619 619
         }
620 620
 
621 621
         return true;
@@ -629,59 +629,59 @@  discard block
 block discarded – undo
629 629
     // @codingStandardsIgnoreStart
630 630
     public static function flushPageCache()
631 631
     {
632
-        if ( function_exists( 'wp_cache_clear_cache' ) ) {
633
-            if ( is_multisite() ) {
632
+        if (function_exists('wp_cache_clear_cache')) {
633
+            if (is_multisite()) {
634 634
                 $blog_id = get_current_blog_id();
635
-                wp_cache_clear_cache( $blog_id );
635
+                wp_cache_clear_cache($blog_id);
636 636
             } else {
637 637
                 wp_cache_clear_cache();
638 638
             }
639
-        } elseif ( has_action( 'cachify_flush_cache' ) ) {
640
-            do_action( 'cachify_flush_cache' );
641
-        } elseif ( function_exists( 'w3tc_pgcache_flush' ) ) {
639
+        } elseif (has_action('cachify_flush_cache')) {
640
+            do_action('cachify_flush_cache');
641
+        } elseif (function_exists('w3tc_pgcache_flush')) {
642 642
             w3tc_pgcache_flush();
643
-        } elseif ( function_exists( 'wp_fast_cache_bulk_delete_all' ) ) {
643
+        } elseif (function_exists('wp_fast_cache_bulk_delete_all')) {
644 644
             wp_fast_cache_bulk_delete_all();
645
-        } elseif ( class_exists( 'WpFastestCache' ) ) {
645
+        } elseif (class_exists('WpFastestCache')) {
646 646
             $wpfc = new WpFastestCache();
647 647
             $wpfc->deleteCache();
648
-        } elseif ( class_exists( 'c_ws_plugin__qcache_purging_routines' ) ) {
648
+        } elseif (class_exists('c_ws_plugin__qcache_purging_routines')) {
649 649
             c_ws_plugin__qcache_purging_routines::purge_cache_dir(); // quick cache
650
-        } elseif ( class_exists( 'zencache' ) ) {
650
+        } elseif (class_exists('zencache')) {
651 651
             zencache::clear();
652
-        } elseif ( class_exists( 'comet_cache' ) ) {
652
+        } elseif (class_exists('comet_cache')) {
653 653
             comet_cache::clear();
654
-        } elseif ( class_exists( 'WpeCommon' ) ) {
654
+        } elseif (class_exists('WpeCommon')) {
655 655
             // WPEngine cache purge/flush methods to call by default
656 656
             $wpe_methods = array(
657 657
                 'purge_varnish_cache',
658 658
             );
659 659
 
660 660
             // More agressive clear/flush/purge behind a filter
661
-            if ( apply_filters( 'autoptimize_flush_wpengine_aggressive', false ) ) {
662
-                $wpe_methods = array_merge( $wpe_methods, array( 'purge_memcached', 'clear_maxcdn_cache' ) );
661
+            if (apply_filters('autoptimize_flush_wpengine_aggressive', false)) {
662
+                $wpe_methods = array_merge($wpe_methods, array('purge_memcached', 'clear_maxcdn_cache'));
663 663
             }
664 664
 
665 665
             // Filtering the entire list of WpeCommon methods to be called (for advanced usage + easier testing)
666
-            $wpe_methods = apply_filters( 'autoptimize_flush_wpengine_methods', $wpe_methods );
666
+            $wpe_methods = apply_filters('autoptimize_flush_wpengine_methods', $wpe_methods);
667 667
 
668
-            foreach ( $wpe_methods as $wpe_method ) {
669
-                if ( method_exists( 'WpeCommon', $wpe_method ) ) {
668
+            foreach ($wpe_methods as $wpe_method) {
669
+                if (method_exists('WpeCommon', $wpe_method)) {
670 670
                     WpeCommon::$wpe_method();
671 671
                 }
672 672
             }
673
-        } elseif ( function_exists( 'sg_cachepress_purge_cache' ) ) {
673
+        } elseif (function_exists('sg_cachepress_purge_cache')) {
674 674
             sg_cachepress_purge_cache();
675
-        } elseif ( file_exists( WP_CONTENT_DIR . '/wp-cache-config.php' ) && function_exists( 'prune_super_cache' ) ) {
675
+        } elseif (file_exists(WP_CONTENT_DIR.'/wp-cache-config.php') && function_exists('prune_super_cache')) {
676 676
             // fallback for WP-Super-Cache
677 677
             global $cache_path;
678
-            if ( is_multisite() ) {
678
+            if (is_multisite()) {
679 679
                 $blog_id = get_current_blog_id();
680
-                prune_super_cache( get_supercache_dir( $blog_id ), true );
681
-                prune_super_cache( $cache_path . 'blogs/', true );
680
+                prune_super_cache(get_supercache_dir($blog_id), true);
681
+                prune_super_cache($cache_path.'blogs/', true);
682 682
             } else {
683
-                prune_super_cache( $cache_path . 'supercache/', true );
684
-                prune_super_cache( $cache_path, true );
683
+                prune_super_cache($cache_path.'supercache/', true);
684
+                prune_super_cache($cache_path, true);
685 685
             }
686 686
         }
687 687
     }
Please login to merge, or discard this patch.
classes/autoptimizeToolbar.php 1 patch
Spacing   +49 added lines, -49 removed lines patch added patch discarded remove patch
@@ -3,7 +3,7 @@  discard block
 block discarded – undo
3 3
  * Handles toolbar-related stuff.
4 4
  */
5 5
 
6
-if ( ! defined( 'ABSPATH' ) ) {
6
+if (!defined('ABSPATH')) {
7 7
     exit;
8 8
 }
9 9
 
@@ -12,32 +12,32 @@  discard block
 block discarded – undo
12 12
     public function __construct()
13 13
     {
14 14
         // If Cache is not available we don't add the toolbar.
15
-        if ( ! autoptimizeCache::cacheavail() ) {
15
+        if (!autoptimizeCache::cacheavail()) {
16 16
             return;
17 17
         }
18 18
 
19 19
         // Load admin toolbar feature once WordPress, all plugins, and the theme are fully loaded and instantiated.
20
-        add_action( 'wp_loaded', array( $this, 'load_toolbar' ) );
20
+        add_action('wp_loaded', array($this, 'load_toolbar'));
21 21
     }
22 22
 
23 23
     public function load_toolbar()
24 24
     {
25 25
         // Check permissions and that toolbar is not hidden via filter.
26
-        if ( current_user_can( 'manage_options' ) && apply_filters( 'autoptimize_filter_toolbar_show', true ) ) {
26
+        if (current_user_can('manage_options') && apply_filters('autoptimize_filter_toolbar_show', true)) {
27 27
 
28 28
             // Create a handler for the AJAX toolbar requests.
29
-            add_action( 'wp_ajax_autoptimize_delete_cache', array( $this, 'delete_cache' ) );
29
+            add_action('wp_ajax_autoptimize_delete_cache', array($this, 'delete_cache'));
30 30
 
31 31
             // Load custom styles, scripts and menu only when needed.
32
-            if ( is_admin_bar_showing() ) {
33
-                if ( is_admin() ) {
34
-                    add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ) );
32
+            if (is_admin_bar_showing()) {
33
+                if (is_admin()) {
34
+                    add_action('admin_enqueue_scripts', array($this, 'enqueue_scripts'));
35 35
                 } else {
36
-                    add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ) );
36
+                    add_action('wp_enqueue_scripts', array($this, 'enqueue_scripts'));
37 37
                 }
38 38
 
39 39
                 // Add the Autoptimize Toolbar to the Admin bar.
40
-                add_action( 'admin_bar_menu', array( $this, 'add_toolbar' ), 100 );
40
+                add_action('admin_bar_menu', array($this, 'add_toolbar'), 100);
41 41
             }
42 42
         }
43 43
     }
@@ -50,17 +50,17 @@  discard block
 block discarded – undo
50 50
         $stats = autoptimizeCache::stats();
51 51
 
52 52
         // Set the Max Size recommended for cache files.
53
-        $max_size = apply_filters( 'autoptimize_filter_cachecheck_maxsize', 512 * 1024 * 1024 );
53
+        $max_size = apply_filters('autoptimize_filter_cachecheck_maxsize', 512*1024*1024);
54 54
 
55 55
         // Retrieve the current Total Files in cache.
56 56
         $files = $stats[0];
57 57
         // Retrieve the current Total Size of the cache.
58 58
         $bytes = $stats[1];
59
-        $size  = $this->format_filesize( $bytes );
59
+        $size  = $this->format_filesize($bytes);
60 60
 
61 61
         // Calculate the percentage of cache used.
62
-        $percentage = ceil( $bytes / $max_size * 100 );
63
-        if ( $percentage > 100 ) {
62
+        $percentage = ceil($bytes/$max_size*100);
63
+        if ($percentage > 100) {
64 64
             $percentage = 100;
65 65
         }
66 66
 
@@ -70,82 +70,82 @@  discard block
 block discarded – undo
70 70
          * - "orange" if over 80%.
71 71
          * - "red" if over 100%.
72 72
          */
73
-        $color = ( 100 == $percentage ) ? 'red' : ( ( $percentage > 80 ) ? 'orange' : 'green' );
73
+        $color = (100 == $percentage) ? 'red' : (($percentage > 80) ? 'orange' : 'green');
74 74
 
75 75
         // Create or add new items into the Admin Toolbar.
76 76
         // Main "Autoptimize" node.
77
-        $wp_admin_bar->add_node( array(
77
+        $wp_admin_bar->add_node(array(
78 78
             'id'    => 'autoptimize',
79
-            'title' => '<span class="ab-icon"></span><span class="ab-label">' . __( 'Autoptimize', 'autoptimize' ) . '</span>',
80
-            'href'  => admin_url( 'options-general.php?page=autoptimize' ),
81
-            'meta'  => array( 'class' => 'bullet-' . $color ),
79
+            'title' => '<span class="ab-icon"></span><span class="ab-label">'.__('Autoptimize', 'autoptimize').'</span>',
80
+            'href'  => admin_url('options-general.php?page=autoptimize'),
81
+            'meta'  => array('class' => 'bullet-'.$color),
82 82
         ));
83 83
 
84 84
         // "Cache Info" node.
85
-        $wp_admin_bar->add_node( array(
85
+        $wp_admin_bar->add_node(array(
86 86
             'id'     => 'autoptimize-cache-info',
87
-            'title'  => '<p>' . __( 'Cache Info', 'autoptimize' ) . '</p>' .
88
-                        '<div class="autoptimize-radial-bar" percentage="' . $percentage . '">' .
89
-                        '<div class="autoptimize-circle">' .
90
-                        '<div class="mask full"><div class="fill bg-' . $color . '"></div></div>' .
91
-                        '<div class="mask half"><div class="fill bg-' . $color . '"></div></div>' .
92
-                        '<div class="shadow"></div>' .
93
-                        '</div>' .
94
-                        '<div class="inset"><div class="percentage"><div class="numbers ' . $color . '">' . $percentage . '%</div></div></div>' .
95
-                        '</div>' .
96
-                        '<table>' .
97
-                        '<tr><td>' . __( 'Size', 'autoptimize' ) . ':</td><td class="size ' . $color . '">' . $size . '</td></tr>' .
98
-                        '<tr><td>' . __( 'Files', 'autoptimize' ) . ':</td><td class="files white">' . $files . '</td></tr>' .
87
+            'title'  => '<p>'.__('Cache Info', 'autoptimize').'</p>'.
88
+                        '<div class="autoptimize-radial-bar" percentage="'.$percentage.'">'.
89
+                        '<div class="autoptimize-circle">'.
90
+                        '<div class="mask full"><div class="fill bg-'.$color.'"></div></div>'.
91
+                        '<div class="mask half"><div class="fill bg-'.$color.'"></div></div>'.
92
+                        '<div class="shadow"></div>'.
93
+                        '</div>'.
94
+                        '<div class="inset"><div class="percentage"><div class="numbers '.$color.'">'.$percentage.'%</div></div></div>'.
95
+                        '</div>'.
96
+                        '<table>'.
97
+                        '<tr><td>'.__('Size', 'autoptimize').':</td><td class="size '.$color.'">'.$size.'</td></tr>'.
98
+                        '<tr><td>'.__('Files', 'autoptimize').':</td><td class="files white">'.$files.'</td></tr>'.
99 99
                         '</table>',
100 100
             'parent' => 'autoptimize',
101 101
         ));
102 102
 
103 103
         // "Delete Cache" node.
104
-        $wp_admin_bar->add_node( array(
104
+        $wp_admin_bar->add_node(array(
105 105
             'id'     => 'autoptimize-delete-cache',
106
-            'title'  => __( 'Delete Cache', 'autoptimize' ),
106
+            'title'  => __('Delete Cache', 'autoptimize'),
107 107
             'parent' => 'autoptimize',
108 108
         ));
109 109
     }
110 110
 
111 111
     public function delete_cache()
112 112
     {
113
-        check_ajax_referer( 'ao_delcache_nonce', 'nonce' );
113
+        check_ajax_referer('ao_delcache_nonce', 'nonce');
114 114
 
115 115
         $result = false;
116
-        if ( current_user_can( 'manage_options' ) ) {
116
+        if (current_user_can('manage_options')) {
117 117
             // We call the function for cleaning the Autoptimize cache.
118 118
             $result = autoptimizeCache::clearall();
119 119
         }
120 120
 
121
-        wp_send_json( $result );
121
+        wp_send_json($result);
122 122
     }
123 123
 
124 124
     public function enqueue_scripts()
125 125
     {
126 126
         // Autoptimize Toolbar Styles.
127
-        wp_enqueue_style( 'autoptimize-toolbar', plugins_url( '/static/toolbar.css', __FILE__ ), array(), AUTOPTIMIZE_PLUGIN_VERSION, 'all' );
127
+        wp_enqueue_style('autoptimize-toolbar', plugins_url('/static/toolbar.css', __FILE__), array(), AUTOPTIMIZE_PLUGIN_VERSION, 'all');
128 128
 
129 129
         // Autoptimize Toolbar Javascript.
130
-        wp_enqueue_script( 'autoptimize-toolbar', plugins_url( '/static/toolbar.js', __FILE__ ), array( 'jquery' ), AUTOPTIMIZE_PLUGIN_VERSION, true );
130
+        wp_enqueue_script('autoptimize-toolbar', plugins_url('/static/toolbar.js', __FILE__), array('jquery'), AUTOPTIMIZE_PLUGIN_VERSION, true);
131 131
 
132 132
         // Localizes a registered script with data for a JavaScript variable.
133 133
         // Needed for the AJAX to work properly on the frontend.
134
-        wp_localize_script( 'autoptimize-toolbar', 'autoptimize_ajax_object', array(
135
-            'ajaxurl'     => admin_url( 'admin-ajax.php' ),
134
+        wp_localize_script('autoptimize-toolbar', 'autoptimize_ajax_object', array(
135
+            'ajaxurl'     => admin_url('admin-ajax.php'),
136 136
             // translators: links to the Autoptimize settings page.
137
-            'error_msg'   => sprintf( __( 'Your Autoptimize cache might not have been purged successfully, please check on the <a href="%s">Autoptimize settings page</a>.', 'autoptimize' ), admin_url( 'options-general.php?page=autoptimize' ) . ' style="white-space:nowrap;"' ),
138
-            'dismiss_msg' => __( 'Dismiss this notice.' ),
139
-            'nonce'       => wp_create_nonce( 'ao_delcache_nonce' ),
140
-        ) );
137
+            'error_msg'   => sprintf(__('Your Autoptimize cache might not have been purged successfully, please check on the <a href="%s">Autoptimize settings page</a>.', 'autoptimize'), admin_url('options-general.php?page=autoptimize').' style="white-space:nowrap;"'),
138
+            'dismiss_msg' => __('Dismiss this notice.'),
139
+            'nonce'       => wp_create_nonce('ao_delcache_nonce'),
140
+        ));
141 141
     }
142 142
 
143
-    public function format_filesize( $bytes, $decimals = 2 )
143
+    public function format_filesize($bytes, $decimals = 2)
144 144
     {
145
-        $units = array( 'B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB' );
145
+        $units = array('B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB');
146 146
 
147
-        for ( $i = 0; ( $bytes / 1024) > 0.9; $i++, $bytes /= 1024 ) {} // @codingStandardsIgnoreLine
147
+        for ($i = 0; ($bytes/1024) > 0.9; $i++, $bytes /= 1024) {} // @codingStandardsIgnoreLine
148 148
 
149
-        return sprintf( "%1.{$decimals}f %s", round( $bytes, $decimals ), $units[ $i ] );
149
+        return sprintf("%1.{$decimals}f %s", round($bytes, $decimals), $units[$i]);
150 150
     }
151 151
 }
Please login to merge, or discard this patch.
autoptimize.php 1 patch
Spacing   +33 added lines, -33 removed lines patch added patch discarded remove patch
@@ -16,66 +16,66 @@  discard block
 block discarded – undo
16 16
  */
17 17
 
18 18
 
19
-if ( ! defined( 'ABSPATH' ) ) {
19
+if (!defined('ABSPATH')) {
20 20
     exit;
21 21
 }
22 22
 
23
-define( 'AUTOPTIMIZE_PLUGIN_VERSION', '2.5.0' );
23
+define('AUTOPTIMIZE_PLUGIN_VERSION', '2.5.0');
24 24
 
25 25
 // plugin_dir_path() returns the trailing slash!
26
-define( 'AUTOPTIMIZE_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
27
-define( 'AUTOPTIMIZE_PLUGIN_FILE', __FILE__ );
26
+define('AUTOPTIMIZE_PLUGIN_DIR', plugin_dir_path(__FILE__));
27
+define('AUTOPTIMIZE_PLUGIN_FILE', __FILE__);
28 28
 
29 29
 // Bail early if attempting to run on non-supported php versions.
30
-if ( version_compare( PHP_VERSION, '5.3', '<' ) ) {
30
+if (version_compare(PHP_VERSION, '5.3', '<')) {
31 31
     function autoptimize_incompatible_admin_notice() {
32
-        echo '<div class="error"><p>' . __( 'Autoptimize requires PHP 5.3 (or higher) to function properly. Please upgrade PHP. The Plugin has been auto-deactivated.', 'autoptimize' ) . '</p></div>';
33
-        if ( isset( $_GET['activate'] ) ) {
34
-            unset( $_GET['activate'] );
32
+        echo '<div class="error"><p>'.__('Autoptimize requires PHP 5.3 (or higher) to function properly. Please upgrade PHP. The Plugin has been auto-deactivated.', 'autoptimize').'</p></div>';
33
+        if (isset($_GET['activate'])) {
34
+            unset($_GET['activate']);
35 35
         }
36 36
     }
37 37
     function autoptimize_deactivate_self() {
38
-        deactivate_plugins( plugin_basename( AUTOPTIMIZE_PLUGIN_FILE ) );
38
+        deactivate_plugins(plugin_basename(AUTOPTIMIZE_PLUGIN_FILE));
39 39
     }
40
-    add_action( 'admin_notices', 'autoptimize_incompatible_admin_notice' );
41
-    add_action( 'admin_init', 'autoptimize_deactivate_self' );
40
+    add_action('admin_notices', 'autoptimize_incompatible_admin_notice');
41
+    add_action('admin_init', 'autoptimize_deactivate_self');
42 42
     return;
43 43
 }
44 44
 
45
-function autoptimize_autoload( $class_name ) {
46
-    if ( in_array( $class_name, array( 'Minify_HTML', 'JSMin' ) ) ) {
47
-        $file     = strtolower( $class_name );
48
-        $file     = str_replace( '_', '-', $file );
49
-        $path     = dirname( __FILE__ ) . '/classes/external/php/';
50
-        $filepath = $path . $file . '.php';
51
-    } elseif ( false !== strpos( $class_name, 'Autoptimize\\tubalmartin\\CssMin' ) ) {
52
-        $file     = str_replace( 'Autoptimize\\tubalmartin\\CssMin\\', '', $class_name );
53
-        $path     = dirname( __FILE__ ) . '/classes/external/php/yui-php-cssmin-bundled/';
54
-        $filepath = $path . $file . '.php';
55
-    } elseif ( 'autoptimize' === substr( $class_name, 0, 11 ) ) {
45
+function autoptimize_autoload($class_name) {
46
+    if (in_array($class_name, array('Minify_HTML', 'JSMin'))) {
47
+        $file     = strtolower($class_name);
48
+        $file     = str_replace('_', '-', $file);
49
+        $path     = dirname(__FILE__).'/classes/external/php/';
50
+        $filepath = $path.$file.'.php';
51
+    } elseif (false !== strpos($class_name, 'Autoptimize\\tubalmartin\\CssMin')) {
52
+        $file     = str_replace('Autoptimize\\tubalmartin\\CssMin\\', '', $class_name);
53
+        $path     = dirname(__FILE__).'/classes/external/php/yui-php-cssmin-bundled/';
54
+        $filepath = $path.$file.'.php';
55
+    } elseif ('autoptimize' === substr($class_name, 0, 11)) {
56 56
         // One of our "old" classes.
57 57
         $file     = $class_name;
58
-        $path     = dirname( __FILE__ ) . '/classes/';
59
-        $filepath = $path . $file . '.php';
60
-    } elseif ( 'PAnD' === $class_name ) {
58
+        $path     = dirname(__FILE__).'/classes/';
59
+        $filepath = $path.$file.'.php';
60
+    } elseif ('PAnD' === $class_name) {
61 61
         $file     = 'persist-admin-notices-dismissal';
62
-        $path     = dirname( __FILE__ ) . '/classes/external/php/persist-admin-notices-dismissal/';
63
-        $filepath = $path . $file . '.php';
62
+        $path     = dirname(__FILE__).'/classes/external/php/persist-admin-notices-dismissal/';
63
+        $filepath = $path.$file.'.php';
64 64
     }
65 65
 
66 66
     // If we didn't match one of our rules, bail!
67
-    if ( ! isset( $filepath ) ) {
67
+    if (!isset($filepath)) {
68 68
         return;
69 69
     }
70 70
 
71 71
     require $filepath;
72 72
 }
73 73
 
74
-spl_autoload_register( 'autoptimize_autoload' );
74
+spl_autoload_register('autoptimize_autoload');
75 75
 
76 76
 // Load WP CLI command(s) on demand.
77
-if ( defined( 'WP_CLI' ) && WP_CLI ) {
78
-    require AUTOPTIMIZE_PLUGIN_DIR . 'classes/autoptimizeCLI.php';
77
+if (defined('WP_CLI') && WP_CLI) {
78
+    require AUTOPTIMIZE_PLUGIN_DIR.'classes/autoptimizeCLI.php';
79 79
 }
80 80
 
81 81
 /**
@@ -86,8 +86,8 @@  discard block
 block discarded – undo
86 86
 function autoptimize() {
87 87
     static $plugin = null;
88 88
 
89
-    if ( null === $plugin ) {
90
-        $plugin = new autoptimizeMain( AUTOPTIMIZE_PLUGIN_VERSION, AUTOPTIMIZE_PLUGIN_FILE );
89
+    if (null === $plugin) {
90
+        $plugin = new autoptimizeMain(AUTOPTIMIZE_PLUGIN_VERSION, AUTOPTIMIZE_PLUGIN_FILE);
91 91
     }
92 92
 
93 93
     return $plugin;
Please login to merge, or discard this patch.
classes/autoptimizeBase.php 1 patch
Spacing   +151 added lines, -151 removed lines patch added patch discarded remove patch
@@ -3,7 +3,7 @@  discard block
 block discarded – undo
3 3
  * Base class other (more-specific) classes inherit from.
4 4
  */
5 5
 
6
-if ( ! defined( 'ABSPATH' ) ) {
6
+if (!defined('ABSPATH')) {
7 7
     exit;
8 8
 }
9 9
 
@@ -26,7 +26,7 @@  discard block
 block discarded – undo
26 26
     /** @var string */
27 27
     public $cdn_url = '';
28 28
 
29
-    public function __construct( $content )
29
+    public function __construct($content)
30 30
     {
31 31
         $this->content = $content;
32 32
     }
@@ -38,7 +38,7 @@  discard block
 block discarded – undo
38 38
      *
39 39
      * @return bool
40 40
      */
41
-    abstract public function read( $options );
41
+    abstract public function read($options);
42 42
 
43 43
     /**
44 44
      * Joins and optimizes collected things.
@@ -69,40 +69,40 @@  discard block
 block discarded – undo
69 69
      *
70 70
      * @return bool|string
71 71
      */
72
-    public function getpath( $url )
72
+    public function getpath($url)
73 73
     {
74
-        $url = apply_filters( 'autoptimize_filter_cssjs_alter_url', $url );
74
+        $url = apply_filters('autoptimize_filter_cssjs_alter_url', $url);
75 75
 
76
-        if ( false !== strpos( $url, '%' ) ) {
77
-            $url = urldecode( $url );
76
+        if (false !== strpos($url, '%')) {
77
+            $url = urldecode($url);
78 78
         }
79 79
 
80
-        $site_host    = parse_url( AUTOPTIMIZE_WP_SITE_URL, PHP_URL_HOST );
81
-        $content_host = parse_url( AUTOPTIMIZE_WP_ROOT_URL, PHP_URL_HOST );
80
+        $site_host    = parse_url(AUTOPTIMIZE_WP_SITE_URL, PHP_URL_HOST);
81
+        $content_host = parse_url(AUTOPTIMIZE_WP_ROOT_URL, PHP_URL_HOST);
82 82
 
83 83
         // Normalizing attempts...
84
-        $double_slash_position = strpos( $url, '//' );
85
-        if ( 0 === $double_slash_position ) {
86
-            if ( is_ssl() ) {
87
-                $url = 'https:' . $url;
84
+        $double_slash_position = strpos($url, '//');
85
+        if (0 === $double_slash_position) {
86
+            if (is_ssl()) {
87
+                $url = 'https:'.$url;
88 88
             } else {
89
-                $url = 'http:' . $url;
89
+                $url = 'http:'.$url;
90 90
             }
91
-        } elseif ( ( false === $double_slash_position ) && ( false === strpos( $url, $site_host ) ) ) {
92
-            if ( AUTOPTIMIZE_WP_SITE_URL === $site_host ) {
93
-                $url = AUTOPTIMIZE_WP_SITE_URL . $url;
91
+        } elseif ((false === $double_slash_position) && (false === strpos($url, $site_host))) {
92
+            if (AUTOPTIMIZE_WP_SITE_URL === $site_host) {
93
+                $url = AUTOPTIMIZE_WP_SITE_URL.$url;
94 94
             } else {
95
-                $url = AUTOPTIMIZE_WP_SITE_URL . autoptimizeUtils::path_canonicalize( $url );
95
+                $url = AUTOPTIMIZE_WP_SITE_URL.autoptimizeUtils::path_canonicalize($url);
96 96
             }
97 97
         }
98 98
 
99
-        if ( $site_host !== $content_host ) {
100
-            $url = str_replace( AUTOPTIMIZE_WP_CONTENT_URL, AUTOPTIMIZE_WP_SITE_URL . AUTOPTIMIZE_WP_CONTENT_NAME, $url );
99
+        if ($site_host !== $content_host) {
100
+            $url = str_replace(AUTOPTIMIZE_WP_CONTENT_URL, AUTOPTIMIZE_WP_SITE_URL.AUTOPTIMIZE_WP_CONTENT_NAME, $url);
101 101
         }
102 102
 
103 103
         // First check; hostname wp site should be hostname of url!
104
-        $url_host = @parse_url( $url, PHP_URL_HOST ); // @codingStandardsIgnoreLine
105
-        if ( $url_host !== $site_host ) {
104
+        $url_host = @parse_url($url, PHP_URL_HOST); // @codingStandardsIgnoreLine
105
+        if ($url_host !== $site_host) {
106 106
             /**
107 107
              * First try to get all domains from WPML (if available)
108 108
              * then explicitely declare $this->cdn_url as OK as well
@@ -111,20 +111,20 @@  discard block
 block discarded – undo
111 111
              */
112 112
             $multidomains = array();
113 113
 
114
-            $multidomains_wpml = apply_filters( 'wpml_setting', array(), 'language_domains' );
115
-            if ( ! empty( $multidomains_wpml ) ) {
116
-                $multidomains = array_map( array( $this, 'get_url_hostname' ), $multidomains_wpml );
114
+            $multidomains_wpml = apply_filters('wpml_setting', array(), 'language_domains');
115
+            if (!empty($multidomains_wpml)) {
116
+                $multidomains = array_map(array($this, 'get_url_hostname'), $multidomains_wpml);
117 117
             }
118 118
 
119
-            if ( ! empty( $this->cdn_url ) ) {
120
-                $multidomains[] = parse_url( $this->cdn_url, PHP_URL_HOST );
119
+            if (!empty($this->cdn_url)) {
120
+                $multidomains[] = parse_url($this->cdn_url, PHP_URL_HOST);
121 121
             }
122 122
 
123
-            $multidomains = apply_filters( 'autoptimize_filter_cssjs_multidomain', $multidomains );
123
+            $multidomains = apply_filters('autoptimize_filter_cssjs_multidomain', $multidomains);
124 124
 
125
-            if ( ! empty( $multidomains ) ) {
126
-                if ( in_array( $url_host, $multidomains ) ) {
127
-                    $url = str_replace( $url_host, $site_host, $url );
125
+            if (!empty($multidomains)) {
126
+                if (in_array($url_host, $multidomains)) {
127
+                    $url = str_replace($url_host, $site_host, $url);
128 128
                 } else {
129 129
                     return false;
130 130
                 }
@@ -134,28 +134,28 @@  discard block
 block discarded – undo
134 134
         }
135 135
 
136 136
         // Try to remove "wp root url" from url while not minding http<>https.
137
-        $tmp_ao_root = preg_replace( '/https?:/', '', AUTOPTIMIZE_WP_ROOT_URL );
137
+        $tmp_ao_root = preg_replace('/https?:/', '', AUTOPTIMIZE_WP_ROOT_URL);
138 138
 
139
-        if ( $site_host !== $content_host ) {
139
+        if ($site_host !== $content_host) {
140 140
             // As we replaced the content-domain with the site-domain, we should match against that.
141
-            $tmp_ao_root = preg_replace( '/https?:/', '', AUTOPTIMIZE_WP_SITE_URL );
141
+            $tmp_ao_root = preg_replace('/https?:/', '', AUTOPTIMIZE_WP_SITE_URL);
142 142
         }
143 143
 
144
-        $tmp_url = preg_replace( '/https?:/', '', $url );
145
-        $path    = str_replace( $tmp_ao_root, '', $tmp_url );
144
+        $tmp_url = preg_replace('/https?:/', '', $url);
145
+        $path    = str_replace($tmp_ao_root, '', $tmp_url);
146 146
 
147 147
         // If path starts with :// or //, this is not a URL in the WP context and
148 148
         // we have to assume we can't aggregate.
149
-        if ( preg_match( '#^:?//#', $path ) ) {
149
+        if (preg_match('#^:?//#', $path)) {
150 150
             // External script/css (adsense, etc).
151 151
             return false;
152 152
         }
153 153
 
154 154
         // Prepend with WP_ROOT_DIR to have full path to file.
155
-        $path = str_replace( '//', '/', WP_ROOT_DIR . $path );
155
+        $path = str_replace('//', '/', WP_ROOT_DIR.$path);
156 156
 
157 157
         // Final check: does file exist and is it readable?
158
-        if ( file_exists( $path ) && is_file( $path ) && is_readable( $path ) ) {
158
+        if (file_exists($path) && is_file($path) && is_readable($path)) {
159 159
             return $path;
160 160
         } else {
161 161
             return false;
@@ -172,18 +172,18 @@  discard block
 block discarded – undo
172 172
      *
173 173
      * @return string
174 174
      */
175
-    protected function get_url_hostname( $url )
175
+    protected function get_url_hostname($url)
176 176
     {
177 177
         // Checking that the url starts with something vaguely resembling a protocol.
178
-        if ( ( 0 !== strpos( $url, 'http' ) ) && ( 0 !== strpos( $url, '//' ) ) ) {
179
-            $url = 'http://' . $url;
178
+        if ((0 !== strpos($url, 'http')) && (0 !== strpos($url, '//'))) {
179
+            $url = 'http://'.$url;
180 180
         }
181 181
 
182 182
         // Grab the hostname.
183
-        $hostname = parse_url( $url, PHP_URL_HOST );
183
+        $hostname = parse_url($url, PHP_URL_HOST);
184 184
 
185 185
         // Fallback when parse_url() fails.
186
-        if ( empty( $hostname ) ) {
186
+        if (empty($hostname)) {
187 187
             $hostname = $url;
188 188
         }
189 189
 
@@ -197,7 +197,7 @@  discard block
 block discarded – undo
197 197
      *
198 198
      * @return string
199 199
      */
200
-    protected function hide_noptimize( $markup )
200
+    protected function hide_noptimize($markup)
201 201
     {
202 202
         return $this->replace_contents_with_marker_if_exists(
203 203
             'NOPTIMIZE',
@@ -214,9 +214,9 @@  discard block
 block discarded – undo
214 214
      *
215 215
      * @return string
216 216
      */
217
-    protected function restore_noptimize( $markup )
217
+    protected function restore_noptimize($markup)
218 218
     {
219
-        return $this->restore_marked_content( 'NOPTIMIZE', $markup );
219
+        return $this->restore_marked_content('NOPTIMIZE', $markup);
220 220
     }
221 221
 
222 222
     /**
@@ -226,7 +226,7 @@  discard block
 block discarded – undo
226 226
      *
227 227
      * @return string
228 228
      */
229
-    protected function hide_iehacks( $markup )
229
+    protected function hide_iehacks($markup)
230 230
     {
231 231
         return $this->replace_contents_with_marker_if_exists(
232 232
             'IEHACK', // Marker name...
@@ -243,9 +243,9 @@  discard block
 block discarded – undo
243 243
      *
244 244
      * @return string
245 245
      */
246
-    protected function restore_iehacks( $markup )
246
+    protected function restore_iehacks($markup)
247 247
     {
248
-        return $this->restore_marked_content( 'IEHACK', $markup );
248
+        return $this->restore_marked_content('IEHACK', $markup);
249 249
     }
250 250
 
251 251
     /**
@@ -257,7 +257,7 @@  discard block
 block discarded – undo
257 257
      *
258 258
      * @return string
259 259
      */
260
-    protected function hide_comments( $markup )
260
+    protected function hide_comments($markup)
261 261
     {
262 262
         return $this->replace_contents_with_marker_if_exists(
263 263
             'COMMENTS',
@@ -275,9 +275,9 @@  discard block
 block discarded – undo
275 275
      *
276 276
      * @return string
277 277
      */
278
-    protected function restore_comments( $markup )
278
+    protected function restore_comments($markup)
279 279
     {
280
-        return $this->restore_marked_content( 'COMMENTS', $markup );
280
+        return $this->restore_marked_content('COMMENTS', $markup);
281 281
     }
282 282
 
283 283
     /**
@@ -288,44 +288,44 @@  discard block
 block discarded – undo
288 288
      *
289 289
      * @return string
290 290
      */
291
-    public function url_replace_cdn( $url )
291
+    public function url_replace_cdn($url)
292 292
     {
293 293
         // For 2.3 back-compat in which cdn-ing appeared to be automatically
294 294
         // including WP subfolder/subdirectory into account as part of cdn-ing,
295 295
         // even though it might've caused serious troubles in certain edge-cases.
296
-        $cdn_url = autoptimizeUtils::tweak_cdn_url_if_needed( $this->cdn_url );
296
+        $cdn_url = autoptimizeUtils::tweak_cdn_url_if_needed($this->cdn_url);
297 297
 
298 298
         // Allows API/filter to further tweak the cdn url...
299
-        $cdn_url = apply_filters( 'autoptimize_filter_base_cdnurl', $cdn_url );
300
-        if ( ! empty( $cdn_url ) ) {
301
-            $this->debug_log( 'before=' . $url );
299
+        $cdn_url = apply_filters('autoptimize_filter_base_cdnurl', $cdn_url);
300
+        if (!empty($cdn_url)) {
301
+            $this->debug_log('before='.$url);
302 302
 
303 303
             // Simple str_replace-based approach fails when $url is protocol-or-host-relative.
304
-            $is_protocol_relative = autoptimizeUtils::is_protocol_relative( $url );
305
-            $is_host_relative     = ( ! $is_protocol_relative && ( '/' === $url{0} ) );
306
-            $cdn_url              = rtrim( $cdn_url, '/' );
304
+            $is_protocol_relative = autoptimizeUtils::is_protocol_relative($url);
305
+            $is_host_relative     = (!$is_protocol_relative && ('/' === $url{0} ));
306
+            $cdn_url              = rtrim($cdn_url, '/');
307 307
 
308
-            if ( $is_host_relative ) {
308
+            if ($is_host_relative) {
309 309
                 // Prepending host-relative urls with the cdn url.
310
-                $url = $cdn_url . $url;
310
+                $url = $cdn_url.$url;
311 311
             } else {
312 312
                 // Either a protocol-relative or "regular" url, replacing it either way.
313
-                if ( $is_protocol_relative ) {
313
+                if ($is_protocol_relative) {
314 314
                     // Massage $site_url so that simple str_replace() still "works" by
315 315
                     // searching for the protocol-relative version of AUTOPTIMIZE_WP_SITE_URL.
316
-                    $site_url = str_replace( array( 'http:', 'https:' ), '', AUTOPTIMIZE_WP_SITE_URL );
316
+                    $site_url = str_replace(array('http:', 'https:'), '', AUTOPTIMIZE_WP_SITE_URL);
317 317
                 } else {
318 318
                     $site_url = AUTOPTIMIZE_WP_SITE_URL;
319 319
                 }
320
-                $this->debug_log( '`' . $site_url . '` -> `' . $cdn_url . '` in `' . $url . '`' );
321
-                $url = str_replace( $site_url, $cdn_url, $url );
320
+                $this->debug_log('`'.$site_url.'` -> `'.$cdn_url.'` in `'.$url.'`');
321
+                $url = str_replace($site_url, $cdn_url, $url);
322 322
             }
323 323
 
324
-            $this->debug_log( 'after=' . $url );
324
+            $this->debug_log('after='.$url);
325 325
         }
326 326
 
327 327
         // Allow API filter to take further care of CDN replacement.
328
-        $url = apply_filters( 'autoptimize_filter_base_replace_cdn', $url );
328
+        $url = apply_filters('autoptimize_filter_base_replace_cdn', $url);
329 329
 
330 330
         return $url;
331 331
     }
@@ -343,18 +343,18 @@  discard block
 block discarded – undo
343 343
      *
344 344
      * @return void
345 345
      */
346
-    protected function inject_in_html( $payload, $where )
346
+    protected function inject_in_html($payload, $where)
347 347
     {
348 348
         $warned   = false;
349
-        $position = autoptimizeUtils::strpos( $this->content, $where[0] );
350
-        if ( false !== $position ) {
349
+        $position = autoptimizeUtils::strpos($this->content, $where[0]);
350
+        if (false !== $position) {
351 351
             // Found the tag, setup content/injection as specified.
352
-            if ( 'after' === $where[1] ) {
353
-                $content = $where[0] . $payload;
354
-            } elseif ( 'replace' === $where[1] ) {
352
+            if ('after' === $where[1]) {
353
+                $content = $where[0].$payload;
354
+            } elseif ('replace' === $where[1]) {
355 355
                 $content = $payload;
356 356
             } else {
357
-                $content = $payload . $where[0];
357
+                $content = $payload.$where[0];
358 358
             }
359 359
             // Place where specified.
360 360
             $this->content = autoptimizeUtils::substr_replace(
@@ -363,14 +363,14 @@  discard block
 block discarded – undo
363 363
                 $position,
364 364
                 // Using plain strlen() should be safe here for now, since
365 365
                 // we're not searching for multibyte chars here still...
366
-                strlen( $where[0] )
366
+                strlen($where[0])
367 367
             );
368 368
         } else {
369 369
             // Couldn't find what was specified, just append and add a warning.
370 370
             $this->content .= $payload;
371
-            if ( ! $warned ) {
372
-                $tag_display    = str_replace( array( '<', '>' ), '', $where[0] );
373
-                $this->content .= '<!--noptimize--><!-- Autoptimize found a problem with the HTML in your Theme, tag `' . $tag_display . '` missing --><!--/noptimize-->';
371
+            if (!$warned) {
372
+                $tag_display    = str_replace(array('<', '>'), '', $where[0]);
373
+                $this->content .= '<!--noptimize--><!-- Autoptimize found a problem with the HTML in your Theme, tag `'.$tag_display.'` missing --><!--/noptimize-->';
374 374
                 $warned         = true;
375 375
             }
376 376
         }
@@ -384,10 +384,10 @@  discard block
 block discarded – undo
384 384
      *
385 385
      * @return bool
386 386
      */
387
-    protected function isremovable( $tag, $removables )
387
+    protected function isremovable($tag, $removables)
388 388
     {
389
-        foreach ( $removables as $match ) {
390
-            if ( false !== strpos( $tag, $match ) ) {
389
+        foreach ($removables as $match) {
390
+            if (false !== strpos($tag, $match)) {
391 391
                 return true;
392 392
             }
393 393
         }
@@ -402,10 +402,10 @@  discard block
 block discarded – undo
402 402
      *
403 403
      * @return string
404 404
      */
405
-    public function inject_minified_callback( $matches )
405
+    public function inject_minified_callback($matches)
406 406
     {
407 407
         static $conf = null;
408
-        if ( null === $conf ) {
408
+        if (null === $conf) {
409 409
             $conf = autoptimizeConfig::instance();
410 410
         }
411 411
 
@@ -420,62 +420,62 @@  discard block
 block discarded – undo
420 420
         $filehash = null;
421 421
 
422 422
         // Grab the parts we need.
423
-        $parts = explode( '|', $matches[1] );
424
-        if ( ! empty( $parts ) ) {
425
-            $filepath = isset( $parts[0] ) ? base64_decode( $parts[0] ) : null;
426
-            $filehash = isset( $parts[1] ) ? $parts[1] : null;
423
+        $parts = explode('|', $matches[1]);
424
+        if (!empty($parts)) {
425
+            $filepath = isset($parts[0]) ? base64_decode($parts[0]) : null;
426
+            $filehash = isset($parts[1]) ? $parts[1] : null;
427 427
         }
428 428
 
429 429
         // Bail early if something's not right...
430
-        if ( ! $filepath || ! $filehash ) {
430
+        if (!$filepath || !$filehash) {
431 431
             return "\n";
432 432
         }
433 433
 
434
-        $filecontent = file_get_contents( $filepath );
434
+        $filecontent = file_get_contents($filepath);
435 435
 
436 436
         // Some things are differently handled for css/js...
437
-        $is_js_file = ( '.js' === substr( $filepath, -3, 3 ) );
437
+        $is_js_file = ('.js' === substr($filepath, -3, 3));
438 438
 
439 439
         $is_css_file = false;
440
-        if ( ! $is_js_file ) {
441
-            $is_css_file = ( '.css' === substr( $filepath, -4, 4 ) );
440
+        if (!$is_js_file) {
441
+            $is_css_file = ('.css' === substr($filepath, -4, 4));
442 442
         }
443 443
 
444 444
         // BOMs being nuked here unconditionally (regardless of where they are)!
445
-        $filecontent = preg_replace( "#\x{EF}\x{BB}\x{BF}#", '', $filecontent );
445
+        $filecontent = preg_replace("#\x{EF}\x{BB}\x{BF}#", '', $filecontent);
446 446
 
447 447
         // Remove comments and blank lines.
448
-        if ( $is_js_file ) {
449
-            $filecontent = preg_replace( '#^\s*\/\/.*$#Um', '', $filecontent );
448
+        if ($is_js_file) {
449
+            $filecontent = preg_replace('#^\s*\/\/.*$#Um', '', $filecontent);
450 450
         }
451 451
 
452 452
         // Nuke un-important comments.
453
-        $filecontent = preg_replace( '#^\s*\/\*[^!].*\*\/\s?#Um', '', $filecontent );
453
+        $filecontent = preg_replace('#^\s*\/\*[^!].*\*\/\s?#Um', '', $filecontent);
454 454
 
455 455
         // Normalize newlines.
456
-        $filecontent = preg_replace( '#(^[\r\n]*|[\r\n]+)[\s\t]*[\r\n]+#', "\n", $filecontent );
456
+        $filecontent = preg_replace('#(^[\r\n]*|[\r\n]+)[\s\t]*[\r\n]+#', "\n", $filecontent);
457 457
 
458 458
         // JS specifics.
459
-        if ( $is_js_file ) {
459
+        if ($is_js_file) {
460 460
             // Append a semicolon at the end of js files if it's missing.
461
-            $last_char = substr( $filecontent, -1, 1 );
462
-            if ( ';' !== $last_char && '}' !== $last_char ) {
461
+            $last_char = substr($filecontent, -1, 1);
462
+            if (';' !== $last_char && '}' !== $last_char) {
463 463
                 $filecontent .= ';';
464 464
             }
465 465
             // Check if try/catch should be used.
466
-            $opt_js_try_catch = $conf->get( 'autoptimize_js_trycatch' );
467
-            if ( 'on' === $opt_js_try_catch ) {
466
+            $opt_js_try_catch = $conf->get('autoptimize_js_trycatch');
467
+            if ('on' === $opt_js_try_catch) {
468 468
                 // It should, wrap in try/catch.
469
-                $filecontent = 'try{' . $filecontent . '}catch(e){}';
469
+                $filecontent = 'try{'.$filecontent.'}catch(e){}';
470 470
             }
471
-        } elseif ( $is_css_file ) {
472
-            $filecontent = autoptimizeStyles::fixurls( $filepath, $filecontent );
471
+        } elseif ($is_css_file) {
472
+            $filecontent = autoptimizeStyles::fixurls($filepath, $filecontent);
473 473
         } else {
474 474
             $filecontent = '';
475 475
         }
476 476
 
477 477
         // Return modified (or empty!) code/content.
478
-        return "\n" . $filecontent;
478
+        return "\n".$filecontent;
479 479
     }
480 480
 
481 481
     /**
@@ -485,13 +485,13 @@  discard block
 block discarded – undo
485 485
      *
486 486
      * @return string
487 487
      */
488
-    protected function inject_minified( $in )
488
+    protected function inject_minified($in)
489 489
     {
490 490
         $out = $in;
491
-        if ( false !== strpos( $in, '%%INJECTLATER%%' ) ) {
491
+        if (false !== strpos($in, '%%INJECTLATER%%')) {
492 492
             $out = preg_replace_callback(
493
-                '#\/\*\!%%INJECTLATER' . AUTOPTIMIZE_HASH . '%%(.*?)%%INJECTLATER%%\*\/#is',
494
-                array( $this, 'inject_minified_callback' ),
493
+                '#\/\*\!%%INJECTLATER'.AUTOPTIMIZE_HASH.'%%(.*?)%%INJECTLATER%%\*\/#is',
494
+                array($this, 'inject_minified_callback'),
495 495
                 $in
496 496
             );
497 497
         }
@@ -511,9 +511,9 @@  discard block
 block discarded – undo
511 511
      *
512 512
      * @return string
513 513
      */
514
-    public static function build_injectlater_marker( $filepath, $hash )
514
+    public static function build_injectlater_marker($filepath, $hash)
515 515
     {
516
-        $contents = '/*!' . self::build_marker( 'INJECTLATER', $filepath, $hash ) . '*/';
516
+        $contents = '/*!'.self::build_marker('INJECTLATER', $filepath, $hash).'*/';
517 517
 
518 518
         return $contents;
519 519
     }
@@ -531,18 +531,18 @@  discard block
 block discarded – undo
531 531
      *
532 532
      * @return string
533 533
      */
534
-    public static function build_marker( $name, $data, $hash = null )
534
+    public static function build_marker($name, $data, $hash = null)
535 535
     {
536 536
         // Start the marker, add the data.
537
-        $marker = '%%' . $name . AUTOPTIMIZE_HASH . '%%' . base64_encode( $data );
537
+        $marker = '%%'.$name.AUTOPTIMIZE_HASH.'%%'.base64_encode($data);
538 538
 
539 539
         // Add the hash if provided.
540
-        if ( null !== $hash ) {
541
-            $marker .= '|' . $hash;
540
+        if (null !== $hash) {
541
+            $marker .= '|'.$hash;
542 542
         }
543 543
 
544 544
         // Close the marker.
545
-        $marker .= '%%' . $name . '%%';
545
+        $marker .= '%%'.$name.'%%';
546 546
 
547 547
         return $marker;
548 548
     }
@@ -562,22 +562,22 @@  discard block
 block discarded – undo
562 562
      *
563 563
      * @return string
564 564
      */
565
-    public static function replace_contents_with_marker_if_exists( $marker, $search, $re_replace_pattern, $content )
565
+    public static function replace_contents_with_marker_if_exists($marker, $search, $re_replace_pattern, $content)
566 566
     {
567 567
         $found = false;
568 568
 
569
-        $is_regex = autoptimizeUtils::str_is_valid_regex( $search );
570
-        if ( $is_regex ) {
571
-            $found = preg_match( $search, $content );
569
+        $is_regex = autoptimizeUtils::str_is_valid_regex($search);
570
+        if ($is_regex) {
571
+            $found = preg_match($search, $content);
572 572
         } else {
573
-            $found = ( false !== strpos( $content, $search ) );
573
+            $found = (false !== strpos($content, $search));
574 574
         }
575 575
 
576
-        if ( $found ) {
576
+        if ($found) {
577 577
             $content = preg_replace_callback(
578 578
                 $re_replace_pattern,
579
-                function( $matches ) use ( $marker ) {
580
-                    return autoptimizeBase::build_marker( $marker, $matches[0] );
579
+                function($matches) use ($marker) {
580
+                    return autoptimizeBase::build_marker($marker, $matches[0]);
581 581
                 },
582 582
                 $content
583 583
             );
@@ -594,13 +594,13 @@  discard block
 block discarded – undo
594 594
      *
595 595
      * @return string
596 596
      */
597
-    public static function restore_marked_content( $marker, $content )
597
+    public static function restore_marked_content($marker, $content)
598 598
     {
599
-        if ( false !== strpos( $content, $marker ) ) {
599
+        if (false !== strpos($content, $marker)) {
600 600
             $content = preg_replace_callback(
601
-                '#%%' . $marker . AUTOPTIMIZE_HASH . '%%(.*?)%%' . $marker . '%%#is',
602
-                function ( $matches ) {
603
-                    return base64_decode( $matches[1] );
601
+                '#%%'.$marker.AUTOPTIMIZE_HASH.'%%(.*?)%%'.$marker.'%%#is',
602
+                function($matches) {
603
+                    return base64_decode($matches[1]);
604 604
                 },
605 605
                 $content
606 606
             );
@@ -616,17 +616,17 @@  discard block
 block discarded – undo
616 616
      *
617 617
      * @return void
618 618
      */
619
-    protected function debug_log( $data )
619
+    protected function debug_log($data)
620 620
     {
621
-        if ( ! isset( $this->debug_log ) || ! $this->debug_log ) {
621
+        if (!isset($this->debug_log) || !$this->debug_log) {
622 622
             return;
623 623
         }
624 624
 
625
-        if ( ! is_string( $data ) && ! is_resource( $data ) ) {
626
-            $data = var_export( $data, true );
625
+        if (!is_string($data) && !is_resource($data)) {
626
+            $data = var_export($data, true);
627 627
         }
628 628
 
629
-        error_log( $data );
629
+        error_log($data);
630 630
     }
631 631
 
632 632
     /**
@@ -636,12 +636,12 @@  discard block
 block discarded – undo
636 636
      *
637 637
      * @return bool|string to be minified code or false.
638 638
      */
639
-    protected function prepare_minify_single( $filepath )
639
+    protected function prepare_minify_single($filepath)
640 640
     {
641 641
         // Decide what we're dealing with, return false if we don't know.
642
-        if ( $this->str_ends_in( $filepath, '.js' ) ) {
642
+        if ($this->str_ends_in($filepath, '.js')) {
643 643
             $type = 'js';
644
-        } elseif ( $this->str_ends_in( $filepath, '.css' ) ) {
644
+        } elseif ($this->str_ends_in($filepath, '.css')) {
645 645
             $type = 'css';
646 646
         } else {
647 647
             return false;
@@ -650,18 +650,18 @@  discard block
 block discarded – undo
650 650
         // Bail if it looks like its already minifed (by having -min or .min
651 651
         // in filename) or if it looks like WP jquery.js (which is minified).
652 652
         $minified_variants = array(
653
-            '-min.' . $type,
654
-            '.min.' . $type,
653
+            '-min.'.$type,
654
+            '.min.'.$type,
655 655
             'js/jquery/jquery.js',
656 656
         );
657
-        foreach ( $minified_variants as $ending ) {
658
-            if ( $this->str_ends_in( $filepath, $ending ) ) {
657
+        foreach ($minified_variants as $ending) {
658
+            if ($this->str_ends_in($filepath, $ending)) {
659 659
                 return false;
660 660
             }
661 661
         }
662 662
 
663 663
         // Get file contents, bail if empty.
664
-        $contents = file_get_contents( $filepath );
664
+        $contents = file_get_contents($filepath);
665 665
 
666 666
         return $contents;
667 667
     }
@@ -674,12 +674,12 @@  discard block
 block discarded – undo
674 674
      *
675 675
      * @return string
676 676
      */
677
-    protected function build_minify_single_url( autoptimizeCache $cache )
677
+    protected function build_minify_single_url(autoptimizeCache $cache)
678 678
     {
679
-        $url = AUTOPTIMIZE_CACHE_URL . $cache->getname();
679
+        $url = AUTOPTIMIZE_CACHE_URL.$cache->getname();
680 680
 
681 681
         // CDN-replace the resulting URL if needed...
682
-        $url = $this->url_replace_cdn( $url );
682
+        $url = $this->url_replace_cdn($url);
683 683
 
684 684
         return $url;
685 685
     }
@@ -692,15 +692,15 @@  discard block
 block discarded – undo
692 692
      *
693 693
      * @return bool
694 694
      */
695
-    protected function str_ends_in( $str, $test )
695
+    protected function str_ends_in($str, $test)
696 696
     {
697 697
         // @codingStandardsIgnoreStart
698 698
         // substr_compare() is bugged on 5.5.11: https://3v4l.org/qGYBH
699 699
         // return ( 0 === substr_compare( $str, $test, -strlen( $test ) ) );
700 700
         // @codingStandardsIgnoreEnd
701 701
 
702
-        $length = strlen( $test );
702
+        $length = strlen($test);
703 703
 
704
-        return ( substr( $str, -$length, $length ) === $test );
704
+        return (substr($str, -$length, $length) === $test);
705 705
     }
706 706
 }
Please login to merge, or discard this patch.
classes/autoptimizeScripts.php 1 patch
Spacing   +154 added lines, -154 removed lines patch added patch discarded remove patch
@@ -1,6 +1,6 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 
3
-if ( ! defined( 'ABSPATH' ) ) {
3
+if (!defined('ABSPATH')) {
4 4
     exit;
5 5
 }
6 6
 
@@ -13,18 +13,18 @@  discard block
 block discarded – undo
13 13
     );
14 14
 
15 15
     private $dontmove = array(
16
-        'document.write','html5.js','show_ads.js','google_ad','histats.com/js','statcounter.com/counter/counter.js',
17
-        'ws.amazon.com/widgets','media.fastclick.net','/ads/','comment-form-quicktags/quicktags.php','edToolbar',
18
-        'intensedebate.com','scripts.chitika.net/','_gaq.push','jotform.com/','admin-bar.min.js','GoogleAnalyticsObject',
19
-        'plupload.full.min.js','syntaxhighlighter','adsbygoogle','gist.github.com','_stq','nonce','post_id','data-noptimize'
16
+        'document.write', 'html5.js', 'show_ads.js', 'google_ad', 'histats.com/js', 'statcounter.com/counter/counter.js',
17
+        'ws.amazon.com/widgets', 'media.fastclick.net', '/ads/', 'comment-form-quicktags/quicktags.php', 'edToolbar',
18
+        'intensedebate.com', 'scripts.chitika.net/', '_gaq.push', 'jotform.com/', 'admin-bar.min.js', 'GoogleAnalyticsObject',
19
+        'plupload.full.min.js', 'syntaxhighlighter', 'adsbygoogle', 'gist.github.com', '_stq', 'nonce', 'post_id', 'data-noptimize'
20 20
         ,'logHuman'
21 21
     );
22 22
     private $domove     = array(
23
-        'gaJsHost','load_cmc','jd.gallery.transitions.js','swfobject.embedSWF(','tiny_mce.js','tinyMCEPreInit.go'
23
+        'gaJsHost', 'load_cmc', 'jd.gallery.transitions.js', 'swfobject.embedSWF(', 'tiny_mce.js', 'tinyMCEPreInit.go'
24 24
     );
25 25
     private $domovelast = array(
26
-        'addthis.com','/afsonline/show_afs_search.js','disqus.js','networkedblogs.com/getnetworkwidget','infolinks.com/js/',
27
-        'jd.gallery.js.php','jd.gallery.transitions.js','swfobject.embedSWF(','linkwithin.com/widget.js','tiny_mce.js','tinyMCEPreInit.go'
26
+        'addthis.com', '/afsonline/show_afs_search.js', 'disqus.js', 'networkedblogs.com/getnetworkwidget', 'infolinks.com/js/',
27
+        'jd.gallery.js.php', 'jd.gallery.transitions.js', 'swfobject.embedSWF(', 'linkwithin.com/widget.js', 'tiny_mce.js', 'tinyMCEPreInit.go'
28 28
     );
29 29
     public $cdn_url = '';
30 30
 
@@ -45,89 +45,89 @@  discard block
 block discarded – undo
45 45
     // Reads the page and collects script tags.
46 46
     public function read($options)
47 47
     {
48
-        $noptimizeJS = apply_filters( 'autoptimize_filter_js_noptimize', false, $this->content );
49
-        if ( $noptimizeJS ) {
48
+        $noptimizeJS = apply_filters('autoptimize_filter_js_noptimize', false, $this->content);
49
+        if ($noptimizeJS) {
50 50
             return false;
51 51
         }
52 52
 
53 53
         // only optimize known good JS?
54
-        $whitelistJS = apply_filters( 'autoptimize_filter_js_whitelist', '', $this->content );
55
-        if ( ! empty( $whitelistJS ) ) {
56
-            $this->whitelist = array_filter( array_map( 'trim', explode( ',', $whitelistJS ) ) );
54
+        $whitelistJS = apply_filters('autoptimize_filter_js_whitelist', '', $this->content);
55
+        if (!empty($whitelistJS)) {
56
+            $this->whitelist = array_filter(array_map('trim', explode(',', $whitelistJS)));
57 57
         }
58 58
 
59 59
         // is there JS we should simply remove?
60
-        $removableJS = apply_filters( 'autoptimize_filter_js_removables', '', $this->content );
60
+        $removableJS = apply_filters('autoptimize_filter_js_removables', '', $this->content);
61 61
         if (!empty($removableJS)) {
62
-            $this->jsremovables = array_filter( array_map( 'trim', explode( ',', $removableJS ) ) );
62
+            $this->jsremovables = array_filter(array_map('trim', explode(',', $removableJS)));
63 63
         }
64 64
 
65 65
         // only header?
66
-        if ( apply_filters( 'autoptimize_filter_js_justhead', $options['justhead'] ) ) {
67
-            $content             = explode( '</head>', $this->content, 2 );
68
-            $this->content       = $content[0] . '</head>';
66
+        if (apply_filters('autoptimize_filter_js_justhead', $options['justhead'])) {
67
+            $content             = explode('</head>', $this->content, 2);
68
+            $this->content       = $content[0].'</head>';
69 69
             $this->restofcontent = $content[1];
70 70
         }
71 71
 
72 72
         // Determine whether we're doing JS-files aggregation or not.
73
-        if ( ! $options['aggregate'] ) {
73
+        if (!$options['aggregate']) {
74 74
             $this->aggregate = false;
75 75
         }
76 76
         // Returning true for "dontaggregate" turns off aggregation.
77
-        if ( $this->aggregate && apply_filters( 'autoptimize_filter_js_dontaggregate', false ) ) {
77
+        if ($this->aggregate && apply_filters('autoptimize_filter_js_dontaggregate', false)) {
78 78
             $this->aggregate = false;
79 79
         }
80 80
 
81 81
         // include inline?
82
-        if ( apply_filters( 'autoptimize_js_include_inline', $options['include_inline'] ) ) {
82
+        if (apply_filters('autoptimize_js_include_inline', $options['include_inline'])) {
83 83
             $this->include_inline = true;
84 84
         }
85 85
 
86 86
         // filter to "late inject minified JS", default to true for now (it is faster).
87
-        $this->inject_min_late = apply_filters( 'autoptimize_filter_js_inject_min_late', true );
87
+        $this->inject_min_late = apply_filters('autoptimize_filter_js_inject_min_late', true);
88 88
 
89 89
         // filters to override hardcoded do(nt)move(last) array contents (array in, array out!).
90
-        $this->dontmove = apply_filters( 'autoptimize_filter_js_dontmove', $this->dontmove );
91
-        $this->domovelast = apply_filters( 'autoptimize_filter_js_movelast', $this->domovelast );
92
-        $this->domove = apply_filters( 'autoptimize_filter_js_domove', $this->domove );
90
+        $this->dontmove = apply_filters('autoptimize_filter_js_dontmove', $this->dontmove);
91
+        $this->domovelast = apply_filters('autoptimize_filter_js_movelast', $this->domovelast);
92
+        $this->domove = apply_filters('autoptimize_filter_js_domove', $this->domove);
93 93
 
94 94
         // Determine whether excluded files should be minified if not yet so.
95
-        if ( ! $options['minify_excluded'] && $options['aggregate'] ) {
95
+        if (!$options['minify_excluded'] && $options['aggregate']) {
96 96
             $this->minify_excluded = false;
97 97
         }
98 98
 
99 99
         // get extra exclusions settings or filter.
100 100
         $excludeJS = $options['js_exclude'];
101
-        $excludeJS = apply_filters( 'autoptimize_filter_js_exclude', $excludeJS, $this->content );
101
+        $excludeJS = apply_filters('autoptimize_filter_js_exclude', $excludeJS, $this->content);
102 102
 
103
-        if ( '' !== $excludeJS ) {
104
-            if ( is_array( $excludeJS ) ) {
105
-                if ( ( $removeKeys = array_keys( $excludeJS, 'remove' ) ) !== false ) {
106
-                    foreach ( $removeKeys as $removeKey ) {
107
-                        unset( $excludeJS[$removeKey] );
103
+        if ('' !== $excludeJS) {
104
+            if (is_array($excludeJS)) {
105
+                if (($removeKeys = array_keys($excludeJS, 'remove')) !== false) {
106
+                    foreach ($removeKeys as $removeKey) {
107
+                        unset($excludeJS[$removeKey]);
108 108
                         $this->jsremovables[] = $removeKey;
109 109
                     }
110 110
                 }
111
-                $exclJSArr = array_keys( $excludeJS );
111
+                $exclJSArr = array_keys($excludeJS);
112 112
             } else {
113
-                $exclJSArr = array_filter( array_map( 'trim', explode( ',', $excludeJS ) ) );
113
+                $exclJSArr = array_filter(array_map('trim', explode(',', $excludeJS)));
114 114
             }
115
-            $this->dontmove = array_merge( $exclJSArr, $this->dontmove );
115
+            $this->dontmove = array_merge($exclJSArr, $this->dontmove);
116 116
         }
117 117
 
118 118
         // Should we add try-catch?
119
-        if ( $options['trycatch'] ) {
119
+        if ($options['trycatch']) {
120 120
             $this->trycatch = true;
121 121
         }
122 122
 
123 123
         // force js in head?
124
-        if ( $options['forcehead'] ) {
124
+        if ($options['forcehead']) {
125 125
             $this->forcehead = true;
126 126
         } else {
127 127
             $this->forcehead = false;
128 128
         }
129 129
 
130
-        $this->forcehead = apply_filters( 'autoptimize_filter_js_forcehead', $this->forcehead );
130
+        $this->forcehead = apply_filters('autoptimize_filter_js_forcehead', $this->forcehead);
131 131
 
132 132
         // get cdn url.
133 133
         $this->cdn_url = $options['cdn_url'];
@@ -142,26 +142,26 @@  discard block
 block discarded – undo
142 142
         $this->content = $this->hide_comments($this->content);
143 143
 
144 144
         // Get script files.
145
-        if ( preg_match_all( '#<script.*</script>#Usmi', $this->content, $matches ) ) {
146
-            foreach( $matches[0] as $tag ) {
145
+        if (preg_match_all('#<script.*</script>#Usmi', $this->content, $matches)) {
146
+            foreach ($matches[0] as $tag) {
147 147
                 // only consider script aggregation for types whitelisted in should_aggregate-function.
148 148
                 $should_aggregate = $this->should_aggregate($tag);
149
-                if ( ! $should_aggregate ) {
149
+                if (!$should_aggregate) {
150 150
                     $tag = '';
151 151
                     continue;
152 152
                 }
153 153
 
154
-                if ( preg_match( '#<script[^>]*src=("|\')([^>]*)("|\')#Usmi', $tag, $source ) ) {
154
+                if (preg_match('#<script[^>]*src=("|\')([^>]*)("|\')#Usmi', $tag, $source)) {
155 155
                     // non-inline script.
156
-                    if ( $this->isremovable($tag, $this->jsremovables) ) {
157
-                        $this->content = str_replace( $tag, '', $this->content );
156
+                    if ($this->isremovable($tag, $this->jsremovables)) {
157
+                        $this->content = str_replace($tag, '', $this->content);
158 158
                         continue;
159 159
                     }
160 160
 
161 161
                     $origTag = null;
162
-                    $url = current( explode( '?', $source[2], 2 ) );
162
+                    $url = current(explode('?', $source[2], 2));
163 163
                     $path = $this->getpath($url);
164
-                    if ( false !== $path && preg_match( '#\.js$#', $path ) && $this->ismergeable($tag) ) {
164
+                    if (false !== $path && preg_match('#\.js$#', $path) && $this->ismergeable($tag)) {
165 165
                         // ok to optimize, add to array.
166 166
                         $this->scripts[] = $path;
167 167
                     } else {
@@ -169,11 +169,11 @@  discard block
 block discarded – undo
169 169
                         $newTag  = $tag;
170 170
 
171 171
                         // non-mergeable script (excluded or dynamic or external).
172
-                        if ( is_array( $excludeJS ) ) {
172
+                        if (is_array($excludeJS)) {
173 173
                             // should we add flags?
174
-                            foreach ( $excludeJS as $exclTag => $exclFlags) {
175
-                                if ( false !== strpos( $origTag, $exclTag ) && in_array( $exclFlags, array( 'async', 'defer' ) ) ) {
176
-                                    $newTag = str_replace( '<script ', '<script ' . $exclFlags . ' ', $newTag );
174
+                            foreach ($excludeJS as $exclTag => $exclFlags) {
175
+                                if (false !== strpos($origTag, $exclTag) && in_array($exclFlags, array('async', 'defer'))) {
176
+                                    $newTag = str_replace('<script ', '<script '.$exclFlags.' ', $newTag);
177 177
                                 }
178 178
                             }
179 179
                         }
@@ -181,28 +181,28 @@  discard block
 block discarded – undo
181 181
                         // Should we minify the non-aggregated script?
182 182
                         // -> if aggregate is on and exclude minify is on
183 183
                         // -> if aggregate is off and the file is not in dontmove.
184
-                        if ( $path && ( $this->minify_excluded || apply_filters( 'autoptimize_filter_js_minify_excluded', false, $url ) ) ) {
185
-                            $consider_minified_array = apply_filters( 'autoptimize_filter_js_consider_minified', false );
186
-                            if ( ( false === $this->aggregate && str_replace( $this->dontmove, '', $path ) === $path ) || ( true === $this->aggregate && ( false === $consider_minified_array || str_replace( $consider_minified_array, '', $path ) === $path ) ) ) {
187
-                                $minified_url = $this->minify_single( $path );
184
+                        if ($path && ($this->minify_excluded || apply_filters('autoptimize_filter_js_minify_excluded', false, $url))) {
185
+                            $consider_minified_array = apply_filters('autoptimize_filter_js_consider_minified', false);
186
+                            if ((false === $this->aggregate && str_replace($this->dontmove, '', $path) === $path) || (true === $this->aggregate && (false === $consider_minified_array || str_replace($consider_minified_array, '', $path) === $path))) {
187
+                                $minified_url = $this->minify_single($path);
188 188
                                 // replace orig URL with minified URL from cache if so.
189
-                                if ( ! empty( $minified_url ) ) {
190
-                                    $newTag = str_replace( $url, $minified_url, $newTag );
189
+                                if (!empty($minified_url)) {
190
+                                    $newTag = str_replace($url, $minified_url, $newTag);
191 191
                                 }
192 192
                             }
193 193
                         }
194 194
 
195
-                        if ( $this->ismovable($newTag) ) {
195
+                        if ($this->ismovable($newTag)) {
196 196
                             // can be moved, flags and all.
197
-                            if ( $this->movetolast($newTag) )  {
197
+                            if ($this->movetolast($newTag)) {
198 198
                                 $this->move['last'][] = $newTag;
199 199
                             } else {
200 200
                                 $this->move['first'][] = $newTag;
201 201
                             }
202 202
                         } else {
203 203
                             // cannot be moved, so if flag was added re-inject altered tag immediately.
204
-                            if ( $origTag !== $newTag ) {
205
-                                $this->content = str_replace( $origTag, $newTag, $this->content );
204
+                            if ($origTag !== $newTag) {
205
+                                $this->content = str_replace($origTag, $newTag, $this->content);
206 206
                                 $origTag = '';
207 207
                             }
208 208
                             // and forget about the $tag (not to be touched any more).
@@ -211,23 +211,23 @@  discard block
 block discarded – undo
211 211
                     }
212 212
                 } else {
213 213
                     // Inline script.
214
-                    if ( $this->isremovable($tag, $this->jsremovables) ) {
215
-                        $this->content = str_replace( $tag, '', $this->content );
214
+                    if ($this->isremovable($tag, $this->jsremovables)) {
215
+                        $this->content = str_replace($tag, '', $this->content);
216 216
                         continue;
217 217
                     }
218 218
 
219 219
                     // unhide comments, as javascript may be wrapped in comment-tags for old times' sake.
220 220
                     $tag = $this->restore_comments($tag);
221
-                    if ( $this->ismergeable($tag) && $this->include_inline ) {
222
-                        preg_match( '#<script.*>(.*)</script>#Usmi', $tag , $code );
223
-                        $code = preg_replace('#.*<!\[CDATA\[(?:\s*\*/)?(.*)(?://|/\*)\s*?\]\]>.*#sm', '$1', $code[1] );
224
-                        $code = preg_replace('/(?:^\\s*<!--\\s*|\\s*(?:\\/\\/)?\\s*-->\\s*$)/', '', $code );
225
-                        $this->scripts[] = 'INLINE;' . $code;
221
+                    if ($this->ismergeable($tag) && $this->include_inline) {
222
+                        preg_match('#<script.*>(.*)</script>#Usmi', $tag, $code);
223
+                        $code = preg_replace('#.*<!\[CDATA\[(?:\s*\*/)?(.*)(?://|/\*)\s*?\]\]>.*#sm', '$1', $code[1]);
224
+                        $code = preg_replace('/(?:^\\s*<!--\\s*|\\s*(?:\\/\\/)?\\s*-->\\s*$)/', '', $code);
225
+                        $this->scripts[] = 'INLINE;'.$code;
226 226
                     } else {
227 227
                         // Can we move this?
228
-                        $autoptimize_js_moveable = apply_filters( 'autoptimize_js_moveable', '', $tag );
229
-                        if ( $this->ismovable($tag) || '' !== $autoptimize_js_moveable ) {
230
-                            if ( $this->movetolast($tag) || 'last' === $autoptimize_js_moveable ) {
228
+                        $autoptimize_js_moveable = apply_filters('autoptimize_js_moveable', '', $tag);
229
+                        if ($this->ismovable($tag) || '' !== $autoptimize_js_moveable) {
230
+                            if ($this->movetolast($tag) || 'last' === $autoptimize_js_moveable) {
231 231
                                 $this->move['last'][] = $tag;
232 232
                             } else {
233 233
                                 $this->move['first'][] = $tag;
@@ -242,7 +242,7 @@  discard block
 block discarded – undo
242 242
                 }
243 243
 
244 244
                 //Remove the original script tag.
245
-                $this->content = str_replace( $tag, '', $this->content );
245
+                $this->content = str_replace($tag, '', $this->content);
246 246
             }
247 247
 
248 248
             return true;
@@ -272,21 +272,21 @@  discard block
 block discarded – undo
272 272
         // We're only interested in the type attribute of the <script> tag itself, not any possible
273 273
         // inline code that might just contain the 'type=' string...
274 274
         $tag_parts = array();
275
-        preg_match( '#<(script[^>]*)>#i', $tag, $tag_parts);
275
+        preg_match('#<(script[^>]*)>#i', $tag, $tag_parts);
276 276
         $tag_without_contents = null;
277
-        if ( ! empty( $tag_parts[1] ) ) {
277
+        if (!empty($tag_parts[1])) {
278 278
             $tag_without_contents = $tag_parts[1];
279 279
         }
280 280
 
281
-        $has_type = ( strpos( $tag_without_contents, 'type' ) !== false );
281
+        $has_type = (strpos($tag_without_contents, 'type') !== false);
282 282
 
283 283
         $type_valid = false;
284
-        if ( $has_type ) {
285
-            $type_valid = (bool) preg_match( '/type\s*=\s*[\'"]?(?:text|application)\/(?:javascript|ecmascript)[\'"]?/i', $tag_without_contents );
284
+        if ($has_type) {
285
+            $type_valid = (bool) preg_match('/type\s*=\s*[\'"]?(?:text|application)\/(?:javascript|ecmascript)[\'"]?/i', $tag_without_contents);
286 286
         }
287 287
 
288 288
         $should_aggregate = false;
289
-        if ( ! $has_type || $type_valid ) {
289
+        if (!$has_type || $type_valid) {
290 290
             $should_aggregate = true;
291 291
         }
292 292
 
@@ -296,40 +296,40 @@  discard block
 block discarded – undo
296 296
     //Joins and optimizes JS
297 297
     public function minify()
298 298
     {
299
-        foreach ( $this->scripts as $script ) {
299
+        foreach ($this->scripts as $script) {
300 300
             // TODO/FIXME: some duplicate code here, can be reduced/simplified
301
-            if ( preg_match( '#^INLINE;#', $script ) ) {
301
+            if (preg_match('#^INLINE;#', $script)) {
302 302
                 // Inline script
303
-                $script = preg_replace( '#^INLINE;#', '', $script );
304
-                $script = rtrim( $script, ";\n\t\r" ) . ';';
303
+                $script = preg_replace('#^INLINE;#', '', $script);
304
+                $script = rtrim($script, ";\n\t\r").';';
305 305
                 // Add try-catch?
306
-                if ( $this->trycatch ) {
307
-                    $script = 'try{' . $script . '}catch(e){}';
306
+                if ($this->trycatch) {
307
+                    $script = 'try{'.$script.'}catch(e){}';
308 308
                 }
309
-                $tmpscript = apply_filters( 'autoptimize_js_individual_script', $script, '' );
310
-                if ( has_filter( 'autoptimize_js_individual_script' ) && ! empty( $tmpscript ) ) {
309
+                $tmpscript = apply_filters('autoptimize_js_individual_script', $script, '');
310
+                if (has_filter('autoptimize_js_individual_script') && !empty($tmpscript)) {
311 311
                     $script = $tmpscript;
312 312
                     $this->alreadyminified = true;
313 313
                 }
314
-                $this->jscode .= "\n" . $script;
314
+                $this->jscode .= "\n".$script;
315 315
             } else {
316 316
                 // External script
317
-                if ( false !== $script && file_exists( $script ) && is_readable( $script ) ) {
318
-                    $scriptsrc = file_get_contents( $script );
319
-                    $scriptsrc = preg_replace( '/\x{EF}\x{BB}\x{BF}/', '', $scriptsrc );
320
-                    $scriptsrc = rtrim( $scriptsrc, ";\n\t\r" ) . ';';
317
+                if (false !== $script && file_exists($script) && is_readable($script)) {
318
+                    $scriptsrc = file_get_contents($script);
319
+                    $scriptsrc = preg_replace('/\x{EF}\x{BB}\x{BF}/', '', $scriptsrc);
320
+                    $scriptsrc = rtrim($scriptsrc, ";\n\t\r").';';
321 321
                     // Add try-catch?
322
-                    if ( $this->trycatch ) {
323
-                        $scriptsrc = 'try{' . $scriptsrc . '}catch(e){}';
322
+                    if ($this->trycatch) {
323
+                        $scriptsrc = 'try{'.$scriptsrc.'}catch(e){}';
324 324
                     }
325
-                    $tmpscriptsrc = apply_filters( 'autoptimize_js_individual_script', $scriptsrc, $script );
326
-                    if ( has_filter( 'autoptimize_js_individual_script' ) && ! empty( $tmpscriptsrc ) ) {
325
+                    $tmpscriptsrc = apply_filters('autoptimize_js_individual_script', $scriptsrc, $script);
326
+                    if (has_filter('autoptimize_js_individual_script') && !empty($tmpscriptsrc)) {
327 327
                         $scriptsrc = $tmpscriptsrc;
328 328
                         $this->alreadyminified = true;
329
-                    } else if ( $this->can_inject_late($script) ) {
329
+                    } else if ($this->can_inject_late($script)) {
330 330
                         $scriptsrc = self::build_injectlater_marker($script, md5($scriptsrc));
331 331
                     }
332
-                    $this->jscode .= "\n" . $scriptsrc;
332
+                    $this->jscode .= "\n".$scriptsrc;
333 333
                 }/*else{
334 334
                     //Couldn't read JS. Maybe getpath isn't working?
335 335
                 }*/
@@ -337,32 +337,32 @@  discard block
 block discarded – undo
337 337
         }
338 338
 
339 339
         // Check for already-minified code
340
-        $this->md5hash = md5( $this->jscode );
340
+        $this->md5hash = md5($this->jscode);
341 341
         $ccheck = new autoptimizeCache($this->md5hash, 'js');
342
-        if ( $ccheck->check() ) {
342
+        if ($ccheck->check()) {
343 343
             $this->jscode = $ccheck->retrieve();
344 344
             return true;
345 345
         }
346
-        unset( $ccheck );
346
+        unset($ccheck);
347 347
 
348 348
         // $this->jscode has all the uncompressed code now.
349
-        if ( true !== $this->alreadyminified ) {
350
-            if ( apply_filters( 'autoptimize_js_do_minify', true ) ) {
351
-                $tmp_jscode = trim( JSMin::minify( $this->jscode ) );
352
-                if ( ! empty( $tmp_jscode ) ) {
349
+        if (true !== $this->alreadyminified) {
350
+            if (apply_filters('autoptimize_js_do_minify', true)) {
351
+                $tmp_jscode = trim(JSMin::minify($this->jscode));
352
+                if (!empty($tmp_jscode)) {
353 353
                     $this->jscode = $tmp_jscode;
354
-                    unset( $tmp_jscode );
354
+                    unset($tmp_jscode);
355 355
                 }
356
-                $this->jscode = $this->inject_minified( $this->jscode );
357
-                $this->jscode = apply_filters( 'autoptimize_js_after_minify', $this->jscode );
356
+                $this->jscode = $this->inject_minified($this->jscode);
357
+                $this->jscode = apply_filters('autoptimize_js_after_minify', $this->jscode);
358 358
                 return true;
359 359
             } else {
360
-                $this->jscode = $this->inject_minified( $this->jscode );
360
+                $this->jscode = $this->inject_minified($this->jscode);
361 361
                 return false;
362 362
             }
363 363
         }
364 364
 
365
-        $this->jscode = apply_filters( 'autoptimize_js_after_minify', $this->jscode );
365
+        $this->jscode = apply_filters('autoptimize_js_after_minify', $this->jscode);
366 366
         return true;
367 367
     }
368 368
 
@@ -370,11 +370,11 @@  discard block
 block discarded – undo
370 370
     public function cache()
371 371
     {
372 372
         $cache = new autoptimizeCache($this->md5hash, 'js');
373
-        if ( ! $cache->check() ) {
373
+        if (!$cache->check()) {
374 374
             // Cache our code
375 375
             $cache->cache($this->jscode, 'text/javascript');
376 376
         }
377
-        $this->url = AUTOPTIMIZE_CACHE_URL . $cache->getname();
377
+        $this->url = AUTOPTIMIZE_CACHE_URL.$cache->getname();
378 378
         $this->url = $this->url_replace_cdn($this->url);
379 379
     }
380 380
 
@@ -382,43 +382,43 @@  discard block
 block discarded – undo
382 382
     public function getcontent()
383 383
     {
384 384
         // Restore the full content
385
-        if ( ! empty( $this->restofcontent ) ) {
385
+        if (!empty($this->restofcontent)) {
386 386
             $this->content .= $this->restofcontent;
387 387
             $this->restofcontent = '';
388 388
         }
389 389
 
390 390
         // Add the scripts taking forcehead/ deferred (default) into account
391
-        if ( $this->forcehead ) {
392
-            $replaceTag = array( '</head>', 'before' );
391
+        if ($this->forcehead) {
392
+            $replaceTag = array('</head>', 'before');
393 393
             $defer = '';
394 394
         } else {
395
-            $replaceTag = array( '</body>', 'before' );
395
+            $replaceTag = array('</body>', 'before');
396 396
             $defer = 'defer ';
397 397
         }
398 398
 
399
-        $defer = apply_filters( 'autoptimize_filter_js_defer', $defer );
399
+        $defer = apply_filters('autoptimize_filter_js_defer', $defer);
400 400
 
401
-        $bodyreplacementpayload = '<script type="text/javascript" ' . $defer . 'src="' . $this->url . '"></script>';
402
-        $bodyreplacementpayload = apply_filters( 'autoptimize_filter_js_bodyreplacementpayload', $bodyreplacementpayload );
401
+        $bodyreplacementpayload = '<script type="text/javascript" '.$defer.'src="'.$this->url.'"></script>';
402
+        $bodyreplacementpayload = apply_filters('autoptimize_filter_js_bodyreplacementpayload', $bodyreplacementpayload);
403 403
 
404
-        $bodyreplacement = implode( '', $this->move['first'] );
404
+        $bodyreplacement = implode('', $this->move['first']);
405 405
         $bodyreplacement .= $bodyreplacementpayload;
406
-        $bodyreplacement .= implode( '', $this->move['last'] );
406
+        $bodyreplacement .= implode('', $this->move['last']);
407 407
 
408
-        $replaceTag = apply_filters( 'autoptimize_filter_js_replacetag', $replaceTag );
408
+        $replaceTag = apply_filters('autoptimize_filter_js_replacetag', $replaceTag);
409 409
 
410
-        if ( strlen( $this->jscode ) > 0 ) {
411
-            $this->inject_in_html( $bodyreplacement, $replaceTag );
410
+        if (strlen($this->jscode) > 0) {
411
+            $this->inject_in_html($bodyreplacement, $replaceTag);
412 412
         }
413 413
 
414 414
         // Restore comments.
415
-        $this->content = $this->restore_comments( $this->content );
415
+        $this->content = $this->restore_comments($this->content);
416 416
 
417 417
         // Restore IE hacks.
418
-        $this->content = $this->restore_iehacks( $this->content );
418
+        $this->content = $this->restore_iehacks($this->content);
419 419
 
420 420
         // Restore noptimize.
421
-        $this->content = $this->restore_noptimize( $this->content );
421
+        $this->content = $this->restore_noptimize($this->content);
422 422
 
423 423
         // Return the modified HTML.
424 424
         return $this->content;
@@ -427,32 +427,32 @@  discard block
 block discarded – undo
427 427
     // Checks against the white- and blacklists
428 428
     private function ismergeable($tag)
429 429
     {
430
-        if ( ! $this->aggregate ) {
430
+        if (!$this->aggregate) {
431 431
             return false;
432 432
         }
433 433
 
434
-        if ( ! empty( $this->whitelist ) ) {
435
-            foreach ( $this->whitelist as $match ) {
436
-                if (false !== strpos( $tag, $match ) ) {
434
+        if (!empty($this->whitelist)) {
435
+            foreach ($this->whitelist as $match) {
436
+                if (false !== strpos($tag, $match)) {
437 437
                     return true;
438 438
                 }
439 439
             }
440 440
             // no match with whitelist
441 441
             return false;
442 442
         } else {
443
-            foreach($this->domove as $match) {
444
-                if ( false !== strpos( $tag, $match ) ) {
443
+            foreach ($this->domove as $match) {
444
+                if (false !== strpos($tag, $match)) {
445 445
                     // Matched something
446 446
                     return false;
447 447
                 }
448 448
             }
449 449
 
450
-            if ( $this->movetolast($tag) ) {
450
+            if ($this->movetolast($tag)) {
451 451
                 return false;
452 452
             }
453 453
 
454
-            foreach( $this->dontmove as $match ) {
455
-                if ( false !== strpos( $tag, $match ) ) {
454
+            foreach ($this->dontmove as $match) {
455
+                if (false !== strpos($tag, $match)) {
456 456
                     // Matched something
457 457
                     return false;
458 458
                 }
@@ -466,23 +466,23 @@  discard block
 block discarded – undo
466 466
     // Checks agains the blacklist
467 467
     private function ismovable($tag)
468 468
     {
469
-        if ( true !== $this->include_inline || apply_filters( 'autoptimize_filter_js_unmovable', true ) ) {
469
+        if (true !== $this->include_inline || apply_filters('autoptimize_filter_js_unmovable', true)) {
470 470
             return false;
471 471
         }
472 472
 
473
-        foreach ( $this->domove as $match ) {
474
-            if ( false !== strpos( $tag, $match ) ) {
473
+        foreach ($this->domove as $match) {
474
+            if (false !== strpos($tag, $match)) {
475 475
                 // Matched something
476 476
                 return true;
477 477
             }
478 478
         }
479 479
 
480
-        if ( $this->movetolast($tag) ) {
480
+        if ($this->movetolast($tag)) {
481 481
             return true;
482 482
         }
483 483
 
484
-        foreach ( $this->dontmove as $match ) {
485
-            if ( false !== strpos( $tag, $match ) ) {
484
+        foreach ($this->dontmove as $match) {
485
+            if (false !== strpos($tag, $match)) {
486 486
                 // Matched something
487 487
                 return false;
488 488
             }
@@ -494,8 +494,8 @@  discard block
 block discarded – undo
494 494
 
495 495
     private function movetolast($tag)
496 496
     {
497
-        foreach ( $this->domovelast as $match ) {
498
-            if ( false !== strpos( $tag, $match ) ) {
497
+        foreach ($this->domovelast as $match) {
498
+            if (false !== strpos($tag, $match)) {
499 499
                 // Matched, return true
500 500
                 return true;
501 501
             }
@@ -516,11 +516,11 @@  discard block
 block discarded – undo
516 516
      * @return bool
517 517
      */
518 518
     private function can_inject_late($jsPath) {
519
-        $consider_minified_array = apply_filters( 'autoptimize_filter_js_consider_minified', false );
520
-        if ( true !== $this->inject_min_late ) {
519
+        $consider_minified_array = apply_filters('autoptimize_filter_js_consider_minified', false);
520
+        if (true !== $this->inject_min_late) {
521 521
             // late-inject turned off
522 522
             return false;
523
-        } else if ( ( false === strpos( $jsPath, 'min.js' ) ) && ( false === strpos( $jsPath, 'wp-includes/js/jquery/jquery.js' ) ) && ( str_replace( $consider_minified_array, '', $jsPath ) === $jsPath ) ) {
523
+        } else if ((false === strpos($jsPath, 'min.js')) && (false === strpos($jsPath, 'wp-includes/js/jquery/jquery.js')) && (str_replace($consider_minified_array, '', $jsPath) === $jsPath)) {
524 524
             // file not minified based on filename & filter
525 525
             return false;
526 526
         } else {
@@ -547,26 +547,26 @@  discard block
 block discarded – undo
547 547
      *
548 548
      * @return bool|string Url pointing to the minified js file or false.
549 549
      */
550
-    public function minify_single( $filepath, $cache_miss = false )
550
+    public function minify_single($filepath, $cache_miss = false)
551 551
     {
552
-        $contents = $this->prepare_minify_single( $filepath );
552
+        $contents = $this->prepare_minify_single($filepath);
553 553
 
554
-        if ( empty( $contents ) ) {
554
+        if (empty($contents)) {
555 555
             return false;
556 556
         }
557 557
 
558 558
         // Check cache.
559
-        $hash  = 'single_' . md5( $contents );
560
-        $cache = new autoptimizeCache( $hash, 'js' );
559
+        $hash  = 'single_'.md5($contents);
560
+        $cache = new autoptimizeCache($hash, 'js');
561 561
 
562 562
         // If not in cache already, minify...
563
-        if ( ! $cache->check() || $cache_miss ) {
564
-            $contents = trim( JSMin::minify( $contents ) );
563
+        if (!$cache->check() || $cache_miss) {
564
+            $contents = trim(JSMin::minify($contents));
565 565
             // Store in cache.
566
-            $cache->cache( $contents, 'text/javascript' );
566
+            $cache->cache($contents, 'text/javascript');
567 567
         }
568 568
 
569
-        $url = $this->build_minify_single_url( $cache );
569
+        $url = $this->build_minify_single_url($cache);
570 570
 
571 571
         return $url;
572 572
     }
Please login to merge, or discard this patch.
tests/test-ao.php 1 patch
Spacing   +425 added lines, -425 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,14 +47,14 @@  discard block
 block discarded – undo
47 47
         $conf = autoptimizeConfig::instance();
48 48
 
49 49
         return [
50
-            'aggregate'       => $conf->get( 'autoptimize_js_aggregate' ),
51
-            'justhead'        => $conf->get( 'autoptimize_js_justhead' ),
52
-            'forcehead'       => $conf->get( 'autoptimize_js_forcehead' ),
53
-            'trycatch'        => $conf->get( 'autoptimize_js_trycatch' ),
54
-            'js_exclude'      => $conf->get( 'autoptimize_js_exclude' ),
55
-            'cdn_url'         => $conf->get( 'autoptimize_cdn_url' ),
56
-            'include_inline'  => $conf->get( 'autoptimize_js_include_inline' ),
57
-            'minify_excluded' => $conf->get( 'autoptimize_minify_excluded' ),
50
+            'aggregate'       => $conf->get('autoptimize_js_aggregate'),
51
+            'justhead'        => $conf->get('autoptimize_js_justhead'),
52
+            'forcehead'       => $conf->get('autoptimize_js_forcehead'),
53
+            'trycatch'        => $conf->get('autoptimize_js_trycatch'),
54
+            'js_exclude'      => $conf->get('autoptimize_js_exclude'),
55
+            'cdn_url'         => $conf->get('autoptimize_cdn_url'),
56
+            'include_inline'  => $conf->get('autoptimize_js_include_inline'),
57
+            'minify_excluded' => $conf->get('autoptimize_minify_excluded'),
58 58
         ];
59 59
     }
60 60
 
@@ -64,35 +64,35 @@  discard block
 block discarded – undo
64 64
     protected function get_urls()
65 65
     {
66 66
         static $site_url = null;
67
-        if ( null === $site_url ) {
67
+        if (null === $site_url) {
68 68
             $site_url = site_url();
69 69
         }
70 70
 
71 71
         static $cdn_url = null;
72
-        if ( null === $cdn_url ) {
73
-            $cdn_url = get_option( 'autoptimize_cdn_url' );
72
+        if (null === $cdn_url) {
73
+            $cdn_url = get_option('autoptimize_cdn_url');
74 74
         }
75 75
 
76 76
         static $imgopt_host = null;
77
-        if ( null === $imgopt_host ) {
77
+        if (null === $imgopt_host) {
78 78
             $optimizer   = new autoptimizeImages();
79
-            $imgopt_host = rtrim( $optimizer->get_imgopt_host(), '/' );
79
+            $imgopt_host = rtrim($optimizer->get_imgopt_host(), '/');
80 80
         }
81 81
 
82 82
         static $urls = [];
83 83
 
84
-        if ( empty( $urls ) ) {
84
+        if (empty($urls)) {
85 85
             $parts = autoptimizeUtils::get_ao_wp_site_url_parts();
86 86
             $urls  = [
87 87
                 'siteurl'    => $site_url,
88
-                'prsiteurl'  => '//' . str_replace( array( 'http://', 'https://' ), '', $site_url ),
89
-                'wwwsiteurl' => $parts['scheme'] . '://www.' . str_replace( 'www.', '', $parts['host'] ),
88
+                'prsiteurl'  => '//'.str_replace(array('http://', 'https://'), '', $site_url),
89
+                'wwwsiteurl' => $parts['scheme'].'://www.'.str_replace('www.', '', $parts['host']),
90 90
                 'cdnurl'     => $cdn_url,
91 91
                 'imgopthost' => $imgopt_host,
92 92
                 'subfolder'  => '',
93 93
             ];
94 94
 
95
-            if ( AO_TEST_SUBFOLDER_INSTALL ) {
95
+            if (AO_TEST_SUBFOLDER_INSTALL) {
96 96
                 $urls['subfolder'] = 'wordpress/';
97 97
             }
98 98
         }
@@ -105,7 +105,7 @@  discard block
 block discarded – undo
105 105
      */
106 106
     public function setUp()
107 107
     {
108
-        $this->ao = new autoptimizeMain( AUTOPTIMIZE_PLUGIN_VERSION, AUTOPTIMIZE_PLUGIN_FILE );
108
+        $this->ao = new autoptimizeMain(AUTOPTIMIZE_PLUGIN_VERSION, AUTOPTIMIZE_PLUGIN_FILE);
109 109
 
110 110
         parent::setUp();
111 111
     }
@@ -124,8 +124,8 @@  discard block
 block discarded – undo
124 124
             'autoptimize_filter_css_inlinesize',
125 125
             'autoptimize_filter_css_fonts_cdn',
126 126
         );
127
-        foreach ( $filter_tags as $filter_tag ) {
128
-            remove_all_filters( $filter_tag );
127
+        foreach ($filter_tags as $filter_tag) {
128
+            remove_all_filters($filter_tag);
129 129
         }
130 130
 
131 131
         parent::tearDown();
@@ -249,15 +249,15 @@  discard block
 block discarded – undo
249 249
     protected function get_test_markup_output()
250 250
     {
251 251
         $key = 'default';
252
-        if ( defined( 'CUSTOM_CONSTANTS_USED' ) && CUSTOM_CONSTANTS_USED ) {
252
+        if (defined('CUSTOM_CONSTANTS_USED') && CUSTOM_CONSTANTS_USED) {
253 253
             $key = 'custom';
254 254
         }
255 255
 
256
-        $csspart = self::$flexible_url_parts_css[ $key ];
257
-        $jspart  = self::$flexible_url_parts_js[ $key ];
256
+        $csspart = self::$flexible_url_parts_css[$key];
257
+        $jspart  = self::$flexible_url_parts_js[$key];
258 258
 
259 259
         $csshash = '863f587e89f100b0223ddccc0dabc57a';
260
-        if ( AO_TEST_SUBFOLDER_INSTALL ) {
260
+        if (AO_TEST_SUBFOLDER_INSTALL) {
261 261
             $csshash = '56398de576d59887e88e3011715250e0';
262 262
         }
263 263
 
@@ -316,15 +316,15 @@  discard block
 block discarded – undo
316 316
     protected function get_test_markup_output_ms()
317 317
     {
318 318
         $key = 'multisite';
319
-        if ( defined( 'CUSTOM_CONSTANTS_USED' ) && CUSTOM_CONSTANTS_USED ) {
319
+        if (defined('CUSTOM_CONSTANTS_USED') && CUSTOM_CONSTANTS_USED) {
320 320
             $key = 'multisite_custom';
321 321
         }
322 322
 
323
-        $csspart = self::$flexible_url_parts_css[ $key ];
324
-        $jspart  = self::$flexible_url_parts_js[ $key ];
323
+        $csspart = self::$flexible_url_parts_css[$key];
324
+        $jspart  = self::$flexible_url_parts_js[$key];
325 325
 
326 326
         $csshash = '863f587e89f100b0223ddccc0dabc57a';
327
-        if ( AO_TEST_SUBFOLDER_INSTALL ) {
327
+        if (AO_TEST_SUBFOLDER_INSTALL) {
328 328
             $csshash = '56398de576d59887e88e3011715250e0';
329 329
         }
330 330
 
@@ -383,15 +383,15 @@  discard block
 block discarded – undo
383 383
     protected function get_test_markup_output_inline_defer()
384 384
     {
385 385
         $key = 'default';
386
-        if ( defined( 'CUSTOM_CONSTANTS_USED' ) && CUSTOM_CONSTANTS_USED ) {
386
+        if (defined('CUSTOM_CONSTANTS_USED') && CUSTOM_CONSTANTS_USED) {
387 387
             $key = 'custom';
388 388
         }
389 389
 
390
-        $csspart = self::$flexible_url_parts_css[ $key ];
391
-        $jspart  = self::$flexible_url_parts_js[ $key ];
390
+        $csspart = self::$flexible_url_parts_css[$key];
391
+        $jspart  = self::$flexible_url_parts_js[$key];
392 392
 
393 393
         $csshash = '863f587e89f100b0223ddccc0dabc57a';
394
-        if ( AO_TEST_SUBFOLDER_INSTALL ) {
394
+        if (AO_TEST_SUBFOLDER_INSTALL) {
395 395
             $csshash = '56398de576d59887e88e3011715250e0';
396 396
         }
397 397
 
@@ -450,15 +450,15 @@  discard block
 block discarded – undo
450 450
     protected function get_test_markup_output_inline_defer_ms()
451 451
     {
452 452
         $key = 'multisite';
453
-        if ( defined( 'CUSTOM_CONSTANTS_USED' ) && CUSTOM_CONSTANTS_USED ) {
453
+        if (defined('CUSTOM_CONSTANTS_USED') && CUSTOM_CONSTANTS_USED) {
454 454
             $key = 'multisite_custom';
455 455
         }
456 456
 
457
-        $csspart = self::$flexible_url_parts_css[ $key ];
458
-        $jspart  = self::$flexible_url_parts_js[ $key ];
457
+        $csspart = self::$flexible_url_parts_css[$key];
458
+        $jspart  = self::$flexible_url_parts_js[$key];
459 459
 
460 460
         $csshash = '863f587e89f100b0223ddccc0dabc57a';
461
-        if ( AO_TEST_SUBFOLDER_INSTALL ) {
461
+        if (AO_TEST_SUBFOLDER_INSTALL) {
462 462
             $csshash = '56398de576d59887e88e3011715250e0';
463 463
         }
464 464
 
@@ -517,11 +517,11 @@  discard block
 block discarded – undo
517 517
     /**
518 518
      * @dataProvider provider_test_rewrite_markup_with_cdn
519 519
      */
520
-    function test_rewrite_markup_with_cdn( $input, $expected )
520
+    function test_rewrite_markup_with_cdn($input, $expected)
521 521
     {
522
-        $actual = $this->ao->end_buffering( $input );
522
+        $actual = $this->ao->end_buffering($input);
523 523
 
524
-        $this->assertEquals( $expected, $actual );
524
+        $this->assertEquals($expected, $actual);
525 525
     }
526 526
 
527 527
     public function provider_test_rewrite_markup_with_cdn()
@@ -533,7 +533,7 @@  discard block
 block discarded – undo
533 533
                 $this->get_test_markup(),
534 534
                 // Expected output.
535 535
                 // TODO/FIXME: This seemed like the fastest way to get MS crude test to pass...
536
-                ( is_multisite() ? $this->get_test_markup_output_ms() : $this->get_test_markup_output() ),
536
+                (is_multisite() ? $this->get_test_markup_output_ms() : $this->get_test_markup_output()),
537 537
             ),
538 538
 
539 539
         );
@@ -593,12 +593,12 @@  discard block
 block discarded – undo
593 593
 }
594 594
 CSS;
595 595
 
596
-        $instance = new autoptimizeStyles( $css_in );
597
-        $instance->setOption( 'cdn_url', $cdnurl );
596
+        $instance = new autoptimizeStyles($css_in);
597
+        $instance->setOption('cdn_url', $cdnurl);
598 598
 
599
-        $css_actual = $instance->rewrite_assets( $css_in );
599
+        $css_actual = $instance->rewrite_assets($css_in);
600 600
 
601
-        $this->assertEquals( $css_expected, $css_actual );
601
+        $this->assertEquals($css_expected, $css_actual);
602 602
     }
603 603
 
604 604
     public function test_default_cssmin_minifier()
@@ -632,21 +632,21 @@  discard block
 block discarded – undo
632 632
 .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')}
633 633
 CSS;
634 634
 
635
-        $instance = new autoptimizeStyles( $css );
636
-        $minified = $instance->run_minifier_on( $css );
635
+        $instance = new autoptimizeStyles($css);
636
+        $minified = $instance->run_minifier_on($css);
637 637
 
638
-        $this->assertEquals( $expected, $minified );
638
+        $this->assertEquals($expected, $minified);
639 639
     }
640 640
 
641 641
     /**
642 642
      * @dataProvider provider_test_should_aggregate_script_types
643 643
      */
644
-    public function test_should_aggregate_script_types( $input, $expected )
644
+    public function test_should_aggregate_script_types($input, $expected)
645 645
     {
646
-        $instance = new autoptimizeScripts( '' );
647
-        $actual   = $instance->should_aggregate( $input );
646
+        $instance = new autoptimizeScripts('');
647
+        $actual   = $instance->should_aggregate($input);
648 648
 
649
-        $this->assertEquals( $expected, $actual );
649
+        $this->assertEquals($expected, $actual);
650 650
     }
651 651
 
652 652
     public function provider_test_should_aggregate_script_types()
@@ -708,11 +708,11 @@  discard block
 block discarded – undo
708 708
     /**
709 709
      * @dataProvider provider_is_valid_buffer
710 710
      */
711
-    public function test_valid_buffers( $input, $expected )
711
+    public function test_valid_buffers($input, $expected)
712 712
     {
713
-        $actual = $this->ao->is_valid_buffer( $input );
713
+        $actual = $this->ao->is_valid_buffer($input);
714 714
 
715
-        $this->assertEquals( $expected, $actual );
715
+        $this->assertEquals($expected, $actual);
716 716
     }
717 717
 
718 718
     public function provider_is_valid_buffer()
@@ -774,11 +774,11 @@  discard block
 block discarded – undo
774 774
     /**
775 775
      * @dataProvider provider_is_amp_markup
776 776
      */
777
-    public function test_autoptimize_is_amp_markup( $input, $expected )
777
+    public function test_autoptimize_is_amp_markup($input, $expected)
778 778
     {
779
-        $actual = autoptimizeMain::is_amp_markup( $input );
779
+        $actual = autoptimizeMain::is_amp_markup($input);
780 780
 
781
-        $this->assertEquals( $expected, $actual );
781
+        $this->assertEquals($expected, $actual);
782 782
     }
783 783
 
784 784
     public function provider_is_amp_markup()
@@ -809,31 +809,31 @@  discard block
 block discarded – undo
809 809
     public function test_skips_buffering_when_ao_noptimize_filter_is_true()
810 810
     {
811 811
         // True => disable autoptimize.
812
-        add_filter( 'autoptimize_filter_noptimize', '__return_true' );
812
+        add_filter('autoptimize_filter_noptimize', '__return_true');
813 813
 
814 814
         // Buffering should not run due to the above filter.
815 815
         $expected = false;
816
-        $actual   = $this->ao->should_buffer( $doing_tests = true );
816
+        $actual   = $this->ao->should_buffer($doing_tests = true);
817 817
 
818
-        $this->assertEquals( $expected, $actual );
818
+        $this->assertEquals($expected, $actual);
819 819
     }
820 820
 
821 821
     public function test_does_buffering_when_ao_noptimize_filter_is_false()
822 822
     {
823 823
         // False => disable noptimize, aka, run normally (weird, yes...).
824
-        add_filter( 'autoptimize_filter_noptimize', '__return_false' );
824
+        add_filter('autoptimize_filter_noptimize', '__return_false');
825 825
 
826 826
         // Buffering should run because of above.
827 827
         $expected = true;
828
-        $actual   = $this->ao->should_buffer( $doing_tests = true );
828
+        $actual   = $this->ao->should_buffer($doing_tests = true);
829 829
 
830
-        $this->assertEquals( $expected, $actual );
830
+        $this->assertEquals($expected, $actual);
831 831
     }
832 832
 
833 833
     public function test_ignores_ao_noptimize_qs_when_instructed()
834 834
     {
835 835
         // Should skip checking for the qs completely due to filter.
836
-        add_filter( 'autoptimize_filter_honor_qs_noptimize', '__return_false' );
836
+        add_filter('autoptimize_filter_honor_qs_noptimize', '__return_false');
837 837
 
838 838
         /**
839 839
          * The above should then result in the "current" value being `false`
@@ -844,23 +844,23 @@  discard block
 block discarded – undo
844 844
          */
845 845
 
846 846
         $that = $this; // Makes it work on php 5.3!
847
-        add_filter( 'autoptimize_filter_noptimize', function ( $current_value ) use ( $that ) {
847
+        add_filter('autoptimize_filter_noptimize', function($current_value) use ($that) {
848 848
             $expected = false;
849
-            if ( defined( 'DONOTMINIFY' ) && DONOTMINIFY ) {
849
+            if (defined('DONOTMINIFY') && DONOTMINIFY) {
850 850
                 $expected = true;
851 851
             }
852 852
 
853
-            $that->assertEquals( $expected, $current_value );
853
+            $that->assertEquals($expected, $current_value);
854 854
         });
855 855
 
856
-        $this->ao->should_buffer( $doing_tests = true );
856
+        $this->ao->should_buffer($doing_tests = true);
857 857
     }
858 858
 
859 859
     public function test_wpengine_cache_flush()
860 860
     {
861 861
         // Creating a mock so that we can get past class_exists() and method_exists() checks present
862 862
         // in `autoptimizeCache::flushPageCache()`...
863
-        $stub = $this->getMockBuilder( 'WpeCommon' )->disableAutoload()
863
+        $stub = $this->getMockBuilder('WpeCommon')->disableAutoload()
864 864
                 ->disableOriginalConstructor()->setMethods(
865 865
                     array(
866 866
                         'purge_varnish_cache',
@@ -869,9 +869,9 @@  discard block
 block discarded – undo
869 869
                 ->getMock();
870 870
 
871 871
         $that = $this;
872
-        add_filter( 'autoptimize_flush_wpengine_methods', function( $methods ) use ( $that ) {
873
-            $expected_methods = array( 'purge_varnish_cache' );
874
-            $that->assertEquals( $methods, $expected_methods );
872
+        add_filter('autoptimize_flush_wpengine_methods', function($methods) use ($that) {
873
+            $expected_methods = array('purge_varnish_cache');
874
+            $that->assertEquals($methods, $expected_methods);
875 875
 
876 876
             return $methods;
877 877
         });
@@ -885,7 +885,7 @@  discard block
 block discarded – undo
885 885
     public function test_wpengine_cache_flush_agressive()
886 886
     {
887 887
         // Creating a mock so that we can get past class_exists() and method_exists() checks `autoptimize_flush_pagecache()`...
888
-        $stub = $this->getMockBuilder( 'WpeCommon' )->disableAutoload()
888
+        $stub = $this->getMockBuilder('WpeCommon')->disableAutoload()
889 889
                 ->disableOriginalConstructor()->setMethods(
890 890
                     array(
891 891
                         'purge_varnish_cache',
@@ -895,19 +895,19 @@  discard block
 block discarded – undo
895 895
                 )
896 896
                 ->getMock();
897 897
 
898
-        add_filter( 'autoptimize_flush_wpengine_aggressive', function() {
898
+        add_filter('autoptimize_flush_wpengine_aggressive', function() {
899 899
             return true;
900 900
         });
901 901
 
902 902
         $that = $this;
903
-        add_filter( 'autoptimize_flush_wpengine_methods', function( $methods ) use ( $that ) {
903
+        add_filter('autoptimize_flush_wpengine_methods', function($methods) use ($that) {
904 904
             $expected_methods = array(
905 905
                 'purge_varnish_cache',
906 906
                 'purge_memcached',
907 907
                 'clear_maxcdn_cache',
908 908
             );
909 909
 
910
-            $that->assertEquals( $methods, $expected_methods );
910
+            $that->assertEquals($methods, $expected_methods);
911 911
 
912 912
             return $methods;
913 913
         });
@@ -918,15 +918,15 @@  discard block
 block discarded – undo
918 918
     /**
919 919
      * @dataProvider provider_test_url_replace_cdn
920 920
      */
921
-    public function test_url_replace_cdn( $cdn_url, $input, $expected )
921
+    public function test_url_replace_cdn($cdn_url, $input, $expected)
922 922
     {
923
-        $mock = $this->getMockBuilder( 'autoptimizeBase' )
923
+        $mock = $this->getMockBuilder('autoptimizeBase')
924 924
                 ->disableOriginalConstructor()
925 925
                 ->getMockForAbstractClass();
926 926
 
927 927
         $mock->cdn_url = $cdn_url;
928
-        $actual        = $mock->url_replace_cdn( $input );
929
-        $this->assertEquals( $expected, $actual );
928
+        $actual        = $mock->url_replace_cdn($input);
929
+        $this->assertEquals($expected, $actual);
930 930
     }
931 931
 
932 932
     public function provider_test_url_replace_cdn()
@@ -943,13 +943,13 @@  discard block
 block discarded – undo
943 943
                 // CDN base url, url, expected result...
944 944
                 'http://cdn-test.example.org',
945 945
                 '/a.jpg',
946
-                'http://cdn-test.example.org/' . $subfolder . 'a.jpg',
946
+                'http://cdn-test.example.org/'.$subfolder.'a.jpg',
947 947
             ),
948 948
             // Full link with a matching AUTOPTIMIZE_WP_SITE_URL gets properly replaced...
949 949
             array(
950 950
                 'http://cdn-test.example.org',
951
-                $siteurl . '/wp-content/themes/something/example.svg',
952
-                'http://cdn-test.example.org/' . $subfolder . 'wp-content/themes/something/example.svg',
951
+                $siteurl.'/wp-content/themes/something/example.svg',
952
+                'http://cdn-test.example.org/'.$subfolder.'wp-content/themes/something/example.svg',
953 953
             ),
954 954
             // Protocol-relative url with a "local" hostname that doesn't match example.org (AUTOPTIMIZE_WP_SITE_URL)...
955 955
             array(
@@ -960,59 +960,59 @@  discard block
 block discarded – undo
960 960
             // www.example.org does not match example.org (AUTOPTIMIZE_WP_SITE_URL) so it's left alone...
961 961
             array(
962 962
                 'http://cdn-test.example.org',
963
-                $wwwsiteurl . '/wp-content/themes/something/example.svg',
964
-                $wwwsiteurl . '/wp-content/themes/something/example.svg',
963
+                $wwwsiteurl.'/wp-content/themes/something/example.svg',
964
+                $wwwsiteurl.'/wp-content/themes/something/example.svg',
965 965
             ),
966 966
             // SSL cdn url + host-relative link...
967 967
             array(
968 968
                 'https://cdn.example.org',
969 969
                 '/a.jpg',
970
-                'https://cdn.example.org/' . $subfolder . 'a.jpg',
970
+                'https://cdn.example.org/'.$subfolder.'a.jpg',
971 971
             ),
972 972
             // SSL cdn url + http site url that matches AUTOPTIMIZE_WP_SITE_URL is properly replaced...
973 973
             array(
974 974
                 'https://cdn.example.org',
975
-                $siteurl . '/wp-content/themes/something/example.svg',
976
-                'https://cdn.example.org/' . $subfolder . 'wp-content/themes/something/example.svg',
975
+                $siteurl.'/wp-content/themes/something/example.svg',
976
+                'https://cdn.example.org/'.$subfolder.'wp-content/themes/something/example.svg',
977 977
             ),
978 978
             // Protocol-relative cdn url given with protocol relative link that matches AUTOPTIMIZE_WP_SITE_URL host...
979 979
             array(
980 980
                 '//cdn.example.org',
981
-                $protorelativesiteurl . '/something.jpg',
982
-                '//cdn.example.org/' . $subfolder . 'something.jpg',
981
+                $protorelativesiteurl.'/something.jpg',
982
+                '//cdn.example.org/'.$subfolder.'something.jpg',
983 983
             ),
984 984
             // Protocol-relative cdn url given a http link that matches AUTOPTIMIZE_WP_SITE_URL host...
985 985
             array(
986 986
                 '//cdn.example.org',
987
-                $siteurl . '/something.png',
988
-                '//cdn.example.org/' . $subfolder . 'something.png',
987
+                $siteurl.'/something.png',
988
+                '//cdn.example.org/'.$subfolder.'something.png',
989 989
             ),
990 990
             // Protocol-relative cdn url with a host-relative link...
991 991
             array(
992 992
                 '//cdn.example.org',
993 993
                 '/a.jpg',
994
-                '//cdn.example.org/' . $subfolder . 'a.jpg',
994
+                '//cdn.example.org/'.$subfolder.'a.jpg',
995 995
             ),
996 996
             // Testing cdn urls with an explicit port number...
997 997
             array(
998 998
                 'http://cdn.com:8080',
999 999
                 '/a.jpg',
1000
-                'http://cdn.com:8080/' . $subfolder . 'a.jpg',
1000
+                'http://cdn.com:8080/'.$subfolder.'a.jpg',
1001 1001
             ),
1002 1002
             array(
1003 1003
                 '//cdn.com:4433',
1004 1004
                 '/a.jpg',
1005
-                '//cdn.com:4433/' . $subfolder . 'a.jpg',
1005
+                '//cdn.com:4433/'.$subfolder.'a.jpg',
1006 1006
             ),
1007 1007
             array(
1008 1008
                 '//cdn.com:4433',
1009
-                $siteurl . '/something.jpg',
1010
-                '//cdn.com:4433/' . $subfolder . 'something.jpg',
1009
+                $siteurl.'/something.jpg',
1010
+                '//cdn.com:4433/'.$subfolder.'something.jpg',
1011 1011
             ),
1012 1012
             array(
1013 1013
                 '//cdn.com:1234',
1014
-                $protorelativesiteurl . '/something.jpg',
1015
-                '//cdn.com:1234/' . $subfolder . 'something.jpg',
1014
+                $protorelativesiteurl.'/something.jpg',
1015
+                '//cdn.com:1234/'.$subfolder.'something.jpg',
1016 1016
             ),
1017 1017
             // Relative links should not be touched by url_replace_cdn()...
1018 1018
             array(
@@ -1037,8 +1037,8 @@  discard block
 block discarded – undo
1037 1037
             // even though they are really strange...
1038 1038
             array(
1039 1039
                 $siteurl, // example.org or http://localhost or http://localhost/wordpress
1040
-                $siteurl . '/something.jpg',
1041
-                $siteurl . '/something.jpg',
1040
+                $siteurl.'/something.jpg',
1041
+                $siteurl.'/something.jpg',
1042 1042
             ),
1043 1043
             // These shouldn't really be changed, or even if replacements do
1044 1044
             // happen, they shouldn't be destructive...
@@ -1077,31 +1077,31 @@  discard block
 block discarded – undo
1077 1077
         $test_link = '/a.jpg';
1078 1078
         $cdn_url   = '//cdn.example.org';
1079 1079
 
1080
-        $with_ssl = function( $cdn ) {
1080
+        $with_ssl = function($cdn) {
1081 1081
             return '';
1082 1082
         };
1083 1083
         $expected_with_ssl = '/a.jpg';
1084 1084
 
1085
-        $without_ssl = function( $cdn ) {
1085
+        $without_ssl = function($cdn) {
1086 1086
             return $cdn;
1087 1087
         };
1088
-        $expected_without_ssl = '//cdn.example.org/' . $sub . 'a.jpg';
1088
+        $expected_without_ssl = '//cdn.example.org/'.$sub.'a.jpg';
1089 1089
 
1090 1090
         // With a filter that returns something considered "empty", cdn replacement shouldn't occur...
1091
-        add_filter( 'autoptimize_filter_base_cdnurl', $with_ssl );
1092
-        $mock = $this->getMockBuilder( 'autoptimizeBase' )
1091
+        add_filter('autoptimize_filter_base_cdnurl', $with_ssl);
1092
+        $mock = $this->getMockBuilder('autoptimizeBase')
1093 1093
                 ->disableOriginalConstructor()
1094 1094
                 ->getMockForAbstractClass();
1095 1095
 
1096 1096
         $mock->cdn_url   = $cdn_url;
1097
-        $actual_with_ssl = $mock->url_replace_cdn( $test_link );
1098
-        $this->assertEquals( $expected_with_ssl, $actual_with_ssl );
1099
-        remove_filter( 'autoptimize_filter_base_cdnurl', $with_ssl );
1097
+        $actual_with_ssl = $mock->url_replace_cdn($test_link);
1098
+        $this->assertEquals($expected_with_ssl, $actual_with_ssl);
1099
+        remove_filter('autoptimize_filter_base_cdnurl', $with_ssl);
1100 1100
 
1101 1101
         // With a filter that returns an actual cdn url, cdn replacement should occur.
1102
-        add_filter( 'autoptimize_filter_base_cdnurl', $without_ssl );
1103
-        $actual_without_ssl = $mock->url_replace_cdn( $test_link );
1104
-        $this->assertEquals( $expected_without_ssl, $actual_without_ssl );
1102
+        add_filter('autoptimize_filter_base_cdnurl', $without_ssl);
1103
+        $actual_without_ssl = $mock->url_replace_cdn($test_link);
1104
+        $this->assertEquals($expected_without_ssl, $actual_without_ssl);
1105 1105
     }
1106 1106
 
1107 1107
     public function provider_cssmin_issues()
@@ -1140,11 +1140,11 @@  discard block
 block discarded – undo
1140 1140
     /**
1141 1141
      * @dataProvider provider_cssmin_issues
1142 1142
      */
1143
-    public function test_cssmin_issues( $input, $expected )
1143
+    public function test_cssmin_issues($input, $expected)
1144 1144
     {
1145
-        $minifier = new autoptimizeCSSmin( false ); // No need to raise limits for now.
1146
-        $actual   = $minifier->run( $input );
1147
-        $this->assertEquals( $expected, $actual );
1145
+        $minifier = new autoptimizeCSSmin(false); // No need to raise limits for now.
1146
+        $actual   = $minifier->run($input);
1147
+        $this->assertEquals($expected, $actual);
1148 1148
     }
1149 1149
 
1150 1150
     public function provider_getpath()
@@ -1169,7 +1169,7 @@  discard block
 block discarded – undo
1169 1169
             // This file comes with core, so should exist...
1170 1170
             array(
1171 1171
                 '/wp-includes/js/jquery/jquery.js',
1172
-                WP_ROOT_DIR . '/wp-includes/js/jquery/jquery.js',
1172
+                WP_ROOT_DIR.'/wp-includes/js/jquery/jquery.js',
1173 1173
             ),
1174 1174
             // Empty $url should return false.
1175 1175
             array(
@@ -1194,12 +1194,12 @@  discard block
 block discarded – undo
1194 1194
     /**
1195 1195
      * @dataProvider provider_getpath
1196 1196
      */
1197
-    public function test_getpath( $input, $expected )
1197
+    public function test_getpath($input, $expected)
1198 1198
     {
1199
-        $mock = $this->getMockBuilder( 'autoptimizeBase' )->disableOriginalConstructor()->getMockForAbstractClass();
1199
+        $mock = $this->getMockBuilder('autoptimizeBase')->disableOriginalConstructor()->getMockForAbstractClass();
1200 1200
 
1201
-        $actual = $mock->getpath( $input );
1202
-        $this->assertEquals( $expected, $actual );
1201
+        $actual = $mock->getpath($input);
1202
+        $this->assertEquals($expected, $actual);
1203 1203
     }
1204 1204
 
1205 1205
     /**
@@ -1213,7 +1213,7 @@  discard block
 block discarded – undo
1213 1213
 
1214 1214
         $protorelativesiteurl = $urls['prsiteurl'];
1215 1215
 
1216
-        $css_orig     = <<<CSS
1216
+        $css_orig = <<<CSS
1217 1217
 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")}
1218 1218
 section.clipped.clippedTop {clip-path:url("#clipPolygonTop")}
1219 1219
 section.clipped.clippedBottom {clip-path:url("#clipPolygonBottom")}
@@ -1226,13 +1226,13 @@  discard block
 block discarded – undo
1226 1226
 .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);}
1227 1227
 CSS;
1228 1228
 
1229
-        $fixurls_result = autoptimizeStyles::fixurls( ABSPATH . 'wp-content/themes/my-theme/style.css', $css_orig );
1230
-        $this->assertEquals( $css_expected, $fixurls_result );
1229
+        $fixurls_result = autoptimizeStyles::fixurls(ABSPATH.'wp-content/themes/my-theme/style.css', $css_orig);
1230
+        $this->assertEquals($css_expected, $fixurls_result);
1231 1231
     }
1232 1232
 
1233 1233
     public function test_background_datauri_sprites_with_fixurls()
1234 1234
     {
1235
-        $css_orig     = <<<CSS
1235
+        $css_orig = <<<CSS
1236 1236
 .shadow { background:url(img/1x1.png) top center; }
1237 1237
 .shadow1 { background-image:url(img/1x1.png) 0 -767px repeat-x; }
1238 1238
 .shadow2 {background:url(img/1x1.png) top center}
@@ -1284,27 +1284,27 @@  discard block
 block discarded – undo
1284 1284
 CSS;
1285 1285
 
1286 1286
         // For test purposes, ALL images in the css are being inline with a 1x1 trans png string/datauri.
1287
-        add_filter( 'autoptimize_filter_css_is_datauri_candidate', function( $is_candidate, $path ) {
1287
+        add_filter('autoptimize_filter_css_is_datauri_candidate', function($is_candidate, $path) {
1288 1288
             return true;
1289
-        }, 10, 2 );
1289
+        }, 10, 2);
1290 1290
 
1291 1291
         // For test purposes, ALL images in the css are being inline with a 1x1 trans png string/datauri.
1292
-        add_filter( 'autoptimize_filter_css_datauri_image', function( $base64array, $path ) {
1292
+        add_filter('autoptimize_filter_css_datauri_image', function($base64array, $path) {
1293 1293
             $head = 'data:image/png;base64,';
1294 1294
             $data = 'iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=';
1295 1295
 
1296
-            $result['full']       = $head . $data;
1296
+            $result['full']       = $head.$data;
1297 1297
             $result['base64data'] = $data;
1298 1298
             return $result;
1299
-        }, 10, 2 );
1299
+        }, 10, 2);
1300 1300
 
1301
-        $instance = new autoptimizeStyles( $css_orig );
1302
-        $instance->setOption( 'datauris', true );
1301
+        $instance = new autoptimizeStyles($css_orig);
1302
+        $instance->setOption('datauris', true);
1303 1303
 
1304
-        $fixurls_result = autoptimizeStyles::fixurls( ABSPATH . 'wp-content/themes/my-theme/style.css', $css_orig );
1305
-        $css_actual     = $instance->rewrite_assets( $fixurls_result );
1304
+        $fixurls_result = autoptimizeStyles::fixurls(ABSPATH.'wp-content/themes/my-theme/style.css', $css_orig);
1305
+        $css_actual     = $instance->rewrite_assets($fixurls_result);
1306 1306
 
1307
-        $this->assertEquals( $css_expected, $css_actual );
1307
+        $this->assertEquals($css_expected, $css_actual);
1308 1308
     }
1309 1309
 
1310 1310
     /**
@@ -1324,7 +1324,7 @@  discard block
 block discarded – undo
1324 1324
      */
1325 1325
     public function test_background_datauri_sprites_without_fixurls()
1326 1326
     {
1327
-        $css_orig     = <<<CSS
1327
+        $css_orig = <<<CSS
1328 1328
 .shadow { background:url(img/1x1.png) top center; }
1329 1329
 .shadow1 { background-image:url(img/1x1.png) 0 -767px repeat-x; }
1330 1330
 .shadow2 {background:url(img/1x1.png) top center}
@@ -1368,24 +1368,24 @@  discard block
 block discarded – undo
1368 1368
 CSS;
1369 1369
 
1370 1370
         // For test purposes, ALL images in the css are being inlined with a 1x1 trans png string/datauri.
1371
-        add_filter( 'autoptimize_filter_css_is_datauri_candidate', function( $is_candidate, $path ) {
1371
+        add_filter('autoptimize_filter_css_is_datauri_candidate', function($is_candidate, $path) {
1372 1372
             return true;
1373
-        }, 10, 2 );
1373
+        }, 10, 2);
1374 1374
 
1375 1375
         // For test purposes, ALL images in the css are being inlined with a 1x1 trans png string/datauri.
1376
-        add_filter( 'autoptimize_filter_css_datauri_image', function( $base64array, $path ) {
1376
+        add_filter('autoptimize_filter_css_datauri_image', function($base64array, $path) {
1377 1377
             $head = 'data:image/png;base64,';
1378 1378
             $data = 'iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=';
1379 1379
 
1380
-            $result['full']       = $head . $data;
1380
+            $result['full']       = $head.$data;
1381 1381
             $result['base64data'] = $data;
1382 1382
             return $result;
1383
-        }, 10, 2 );
1383
+        }, 10, 2);
1384 1384
 
1385
-        $instance = new autoptimizeStyles( $css_orig );
1386
-        $instance->setOption( 'datauris', true );
1387
-        $css_actual = $instance->rewrite_assets( $css_orig );
1388
-        $this->assertEquals( $css_expected, $css_actual );
1385
+        $instance = new autoptimizeStyles($css_orig);
1386
+        $instance->setOption('datauris', true);
1387
+        $css_actual = $instance->rewrite_assets($css_orig);
1388
+        $this->assertEquals($css_expected, $css_actual);
1389 1389
     }
1390 1390
 
1391 1391
     /**
@@ -1505,12 +1505,12 @@  discard block
 block discarded – undo
1505 1505
 CSS;
1506 1506
 
1507 1507
         // Test with fonts pointed to the CDN + cdn option is set.
1508
-        add_filter( 'autoptimize_filter_css_fonts_cdn', '__return_true' );
1509
-        $instance = new autoptimizeStyles( $css_in );
1510
-        $instance->setOption( 'cdn_url', $cdnurl );
1511
-        $css_actual_fonts_cdn = $instance->rewrite_assets( $css_in );
1508
+        add_filter('autoptimize_filter_css_fonts_cdn', '__return_true');
1509
+        $instance = new autoptimizeStyles($css_in);
1510
+        $instance->setOption('cdn_url', $cdnurl);
1511
+        $css_actual_fonts_cdn = $instance->rewrite_assets($css_in);
1512 1512
 
1513
-        $this->assertEquals( $css_expected_fonts_cdn, $css_actual_fonts_cdn );
1513
+        $this->assertEquals($css_expected_fonts_cdn, $css_actual_fonts_cdn);
1514 1514
     }
1515 1515
 
1516 1516
     /**
@@ -1626,10 +1626,10 @@  discard block
 block discarded – undo
1626 1626
 }
1627 1627
 CSS;
1628 1628
         // Test without moving fonts to CDN, but cdn option is set.
1629
-        $instance = new autoptimizeStyles( $css_in );
1630
-        $instance->setOption( 'cdn_url', $urls['cdnurl'] );
1631
-        $css_actual = $instance->rewrite_assets( $css_in );
1632
-        $this->assertEquals( $css_expected, $css_actual );
1629
+        $instance = new autoptimizeStyles($css_in);
1630
+        $instance->setOption('cdn_url', $urls['cdnurl']);
1631
+        $css_actual = $instance->rewrite_assets($css_in);
1632
+        $this->assertEquals($css_expected, $css_actual);
1633 1633
     }
1634 1634
 
1635 1635
     public function test_assets_regex_replaces_multi_bg_images()
@@ -1650,16 +1650,16 @@  discard block
 block discarded – undo
1650 1650
 }
1651 1651
 CSS;
1652 1652
 
1653
-        $instance = new autoptimizeStyles( $in );
1654
-        $instance->setOption( 'cdn_url', $cdnurl );
1655
-        $actual = $instance->rewrite_assets( $in );
1653
+        $instance = new autoptimizeStyles($in);
1654
+        $instance->setOption('cdn_url', $cdnurl);
1655
+        $actual = $instance->rewrite_assets($in);
1656 1656
 
1657
-        $this->assertEquals( $expected, $actual );
1657
+        $this->assertEquals($expected, $actual);
1658 1658
     }
1659 1659
 
1660 1660
     public function test_at_supports_spacing_issue_110()
1661 1661
     {
1662
-        $in       = <<<CSS
1662
+        $in = <<<CSS
1663 1663
 @supports (-webkit-filter: blur(3px)) or (filter: blur(3px)) {
1664 1664
     .blur {
1665 1665
         filter:blur(3px);
@@ -1673,10 +1673,10 @@  discard block
 block discarded – undo
1673 1673
 @supports (-webkit-filter:blur(3px)) or (filter:blur(3px)){.blur{filter:blur(3px)}}@supports((position:-webkit-sticky) or (position:sticky)){.sticky{position:sticky}}
1674 1674
 CSS;
1675 1675
 
1676
-        $instance = new autoptimizeStyles( $in );
1677
-        $actual   = $instance->run_minifier_on( $in );
1676
+        $instance = new autoptimizeStyles($in);
1677
+        $actual   = $instance->run_minifier_on($in);
1678 1678
 
1679
-        $this->assertEquals( $expected, $actual );
1679
+        $this->assertEquals($expected, $actual);
1680 1680
     }
1681 1681
 
1682 1682
     public function test_css_import_semicolon_url_issue_122()
@@ -1692,18 +1692,18 @@  discard block
 block discarded – undo
1692 1692
 </style>
1693 1693
 HTML;
1694 1694
 
1695
-        $expected = '<style type="text/css" 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-->';
1695
+        $expected = '<style type="text/css" 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-->';
1696 1696
 
1697 1697
         $options = [
1698 1698
             'autoptimizeStyles' => $this->getAoStylesDefaultOptions(),
1699 1699
         ];
1700 1700
 
1701
-        $instance = new autoptimizeStyles( $in );
1702
-        $instance->read( $options['autoptimizeStyles'] );
1701
+        $instance = new autoptimizeStyles($in);
1702
+        $instance->read($options['autoptimizeStyles']);
1703 1703
         $instance->minify();
1704 1704
         $instance->cache();
1705 1705
         $actual = $instance->getcontent();
1706
-        $this->assertEquals( $expected, $actual );
1706
+        $this->assertEquals($expected, $actual);
1707 1707
     }
1708 1708
 
1709 1709
     public function test_fixurls_with_at_imports_and_media_queries()
@@ -1713,10 +1713,10 @@  discard block
 block discarded – undo
1713 1713
         $subfolder = $urls['subfolder'];
1714 1714
 
1715 1715
         $in  = '@import "foo.css"; @import "bar.css" (orientation:landscape);';
1716
-        $exp = '@import url(' . $prsiteurl . '/wp-content/themes/my-theme/foo.css); @import url(' . $prsiteurl . '/wp-content/themes/my-theme/bar.css) (orientation:landscape);';
1716
+        $exp = '@import url('.$prsiteurl.'/wp-content/themes/my-theme/foo.css); @import url('.$prsiteurl.'/wp-content/themes/my-theme/bar.css) (orientation:landscape);';
1717 1717
 
1718
-        $actual = autoptimizeStyles::fixurls( ABSPATH . 'wp-content/themes/my-theme/style.css', $in );
1719
-        $this->assertEquals( $exp, $actual );
1718
+        $actual = autoptimizeStyles::fixurls(ABSPATH.'wp-content/themes/my-theme/style.css', $in);
1719
+        $this->assertEquals($exp, $actual);
1720 1720
     }
1721 1721
 
1722 1722
     public function test_aostyles_at_imports_with_media_queries()
@@ -1731,43 +1731,43 @@  discard block
 block discarded – undo
1731 1731
 </style>
1732 1732
 HTML;
1733 1733
 
1734
-        $expected = '<style type="text/css" 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-->';
1734
+        $expected = '<style type="text/css" 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-->';
1735 1735
 
1736 1736
         $options = [
1737 1737
             'autoptimizeStyles' => $this->getAoStylesDefaultOptions(),
1738 1738
         ];
1739 1739
 
1740
-        $instance = new autoptimizeStyles( $in );
1741
-        $instance->read( $options['autoptimizeStyles'] );
1740
+        $instance = new autoptimizeStyles($in);
1741
+        $instance->read($options['autoptimizeStyles']);
1742 1742
         $instance->minify();
1743 1743
         $instance->cache();
1744 1744
 
1745 1745
         $actual = $instance->getcontent();
1746
-        $this->assertEquals( $expected, $actual );
1746
+        $this->assertEquals($expected, $actual);
1747 1747
     }
1748 1748
 
1749 1749
     public function test_cache_size_checker_hooked_by_default()
1750 1750
     {
1751
-        $this->assertNotEmpty( autoptimizeCacheChecker::SCHEDULE_HOOK );
1751
+        $this->assertNotEmpty(autoptimizeCacheChecker::SCHEDULE_HOOK);
1752 1752
 
1753 1753
         // No schedule, because it's only added when is_admin() is true.
1754
-        $this->assertEquals( false, wp_get_schedule( autoptimizeCacheChecker::SCHEDULE_HOOK ) );
1754
+        $this->assertEquals(false, wp_get_schedule(autoptimizeCacheChecker::SCHEDULE_HOOK));
1755 1755
 
1756 1756
         // Proving that setup() sets the schedule as needed.
1757 1757
         $checker = new autoptimizeCacheChecker();
1758 1758
         $checker->setup();
1759
-        $this->assertEquals( 'twicedaily', wp_get_schedule( autoptimizeCacheChecker::SCHEDULE_HOOK ) );
1759
+        $this->assertEquals('twicedaily', wp_get_schedule(autoptimizeCacheChecker::SCHEDULE_HOOK));
1760 1760
     }
1761 1761
 
1762 1762
     public function test_cache_size_checker_disabled_with_filter()
1763 1763
     {
1764
-        add_filter( 'autoptimize_filter_cachecheck_do', '__return_false' );
1764
+        add_filter('autoptimize_filter_cachecheck_do', '__return_false');
1765 1765
 
1766 1766
         $checker = new autoptimizeCacheChecker();
1767 1767
         $checker->setup();
1768
-        $this->assertEquals( false, wp_get_schedule( autoptimizeCacheChecker::SCHEDULE_HOOK ) );
1768
+        $this->assertEquals(false, wp_get_schedule(autoptimizeCacheChecker::SCHEDULE_HOOK));
1769 1769
 
1770
-        remove_all_filters( 'autoptimize_filter_cachecheck_do' );
1770
+        remove_all_filters('autoptimize_filter_cachecheck_do');
1771 1771
     }
1772 1772
 
1773 1773
     public function test_is_start_buffering_hooked_properly()
@@ -1780,12 +1780,12 @@  discard block
 block discarded – undo
1780 1780
          * https://www.theaveragedev.com/mocking-constants-in-tests/.
1781 1781
          */
1782 1782
 
1783
-        if ( defined( 'AUTOPTIMIZE_INIT_EARLIER' ) ) {
1783
+        if (defined('AUTOPTIMIZE_INIT_EARLIER')) {
1784 1784
             $this->assertEquals(
1785 1785
                 autoptimizeMain::INIT_EARLIER_PRIORITY,
1786
-                has_action( 'init', array( $instance, 'start_buffering' ) )
1786
+                has_action('init', array($instance, 'start_buffering'))
1787 1787
             );
1788
-            $this->assertTrue( ! defined( 'AUTOPTIMIZE_HOOK_INTO' ) );
1788
+            $this->assertTrue(!defined('AUTOPTIMIZE_HOOK_INTO'));
1789 1789
         }
1790 1790
 
1791 1791
         /*
@@ -1802,18 +1802,18 @@  discard block
 block discarded – undo
1802 1802
 
1803 1803
     public function test_inline_and_defer_markup()
1804 1804
     {
1805
-        add_filter( 'autoptimize_filter_css_defer', '__return_true' );
1806
-        add_filter( 'autoptimize_filter_css_defer_inline', '__return_true' );
1805
+        add_filter('autoptimize_filter_css_defer', '__return_true');
1806
+        add_filter('autoptimize_filter_css_defer_inline', '__return_true');
1807 1807
 
1808
-        $actual = $this->ao->end_buffering( $this->get_test_markup() );
1809
-        if ( is_multisite() ) {
1810
-            $this->assertEquals( $this->get_test_markup_output_inline_defer_ms(), $actual );
1808
+        $actual = $this->ao->end_buffering($this->get_test_markup());
1809
+        if (is_multisite()) {
1810
+            $this->assertEquals($this->get_test_markup_output_inline_defer_ms(), $actual);
1811 1811
         } else {
1812
-            $this->assertEquals( $this->get_test_markup_output_inline_defer(), $actual );
1812
+            $this->assertEquals($this->get_test_markup_output_inline_defer(), $actual);
1813 1813
         }
1814 1814
 
1815
-        remove_all_filters( 'autoptimize_filter_css_defer' );
1816
-        remove_all_filters( 'autoptimize_filter_css_defer_inline' );
1815
+        remove_all_filters('autoptimize_filter_css_defer');
1816
+        remove_all_filters('autoptimize_filter_css_defer_inline');
1817 1817
     }
1818 1818
 
1819 1819
     public function test_js_aggregation_decision_and_dontaggregate_filter()
@@ -1821,47 +1821,47 @@  discard block
 block discarded – undo
1821 1821
         $opts = $this->getAoScriptsDefaultOptions();
1822 1822
 
1823 1823
         // Aggregating: true by default.
1824
-        $scripts = new autoptimizeScripts( '' );
1825
-        $scripts->read( $opts );
1826
-        $this->assertTrue( $scripts->aggregating() );
1824
+        $scripts = new autoptimizeScripts('');
1825
+        $scripts->read($opts);
1826
+        $this->assertTrue($scripts->aggregating());
1827 1827
 
1828 1828
         // Aggregating: option=true (dontaggregate=false by default).
1829 1829
         $opts['aggregate'] = true;
1830
-        $scripts           = new autoptimizeScripts( '' );
1831
-        $scripts->read( $opts );
1832
-        $this->assertTrue( $scripts->aggregating() );
1830
+        $scripts           = new autoptimizeScripts('');
1831
+        $scripts->read($opts);
1832
+        $this->assertTrue($scripts->aggregating());
1833 1833
 
1834 1834
         // Aggregating: option=true, dontaggregate=false explicit.
1835 1835
         $opts['aggregate'] = true;
1836
-        add_filter( 'autoptimize_filter_js_dontaggregate', '__return_false' );
1837
-        $scripts = new autoptimizeScripts( '' );
1838
-        $scripts->read( $opts );
1839
-        $this->assertTrue( $scripts->aggregating() );
1840
-        remove_all_filters( 'autoptimize_filter_js_dontaggregate' );
1836
+        add_filter('autoptimize_filter_js_dontaggregate', '__return_false');
1837
+        $scripts = new autoptimizeScripts('');
1838
+        $scripts->read($opts);
1839
+        $this->assertTrue($scripts->aggregating());
1840
+        remove_all_filters('autoptimize_filter_js_dontaggregate');
1841 1841
 
1842 1842
         // Not aggregating: option=true, dontaggregate=true.
1843 1843
         $opts['aggregate'] = true;
1844
-        add_filter( 'autoptimize_filter_js_dontaggregate', '__return_true' );
1845
-        $scripts = new autoptimizeScripts( '' );
1846
-        $scripts->read( $opts );
1847
-        $this->assertFalse( $scripts->aggregating() );
1848
-        remove_all_filters( 'autoptimize_filter_js_dontaggregate' );
1844
+        add_filter('autoptimize_filter_js_dontaggregate', '__return_true');
1845
+        $scripts = new autoptimizeScripts('');
1846
+        $scripts->read($opts);
1847
+        $this->assertFalse($scripts->aggregating());
1848
+        remove_all_filters('autoptimize_filter_js_dontaggregate');
1849 1849
 
1850 1850
         // Not aggregating: option=false, dontaggregate=false.
1851 1851
         $opts['aggregate'] = false;
1852
-        add_filter( 'autoptimize_filter_js_dontaggregate', '__return_false' );
1853
-        $scripts = new autoptimizeScripts( '' );
1854
-        $scripts->read( $opts );
1855
-        $this->assertFalse( $scripts->aggregating() );
1856
-        remove_all_filters( 'autoptimize_filter_js_dontaggregate' );
1852
+        add_filter('autoptimize_filter_js_dontaggregate', '__return_false');
1853
+        $scripts = new autoptimizeScripts('');
1854
+        $scripts->read($opts);
1855
+        $this->assertFalse($scripts->aggregating());
1856
+        remove_all_filters('autoptimize_filter_js_dontaggregate');
1857 1857
 
1858 1858
         // Not aggregating: option=false, dontaggregate=true.
1859 1859
         $opts['aggregate'] = false;
1860
-        add_filter( 'autoptimize_filter_js_dontaggregate', '__return_true' );
1861
-        $scripts = new autoptimizeScripts( '' );
1862
-        $scripts->read( $opts );
1863
-        $this->assertFalse( $scripts->aggregating() );
1864
-        remove_all_filters( 'autoptimize_filter_js_dontaggregate' );
1860
+        add_filter('autoptimize_filter_js_dontaggregate', '__return_true');
1861
+        $scripts = new autoptimizeScripts('');
1862
+        $scripts->read($opts);
1863
+        $this->assertFalse($scripts->aggregating());
1864
+        remove_all_filters('autoptimize_filter_js_dontaggregate');
1865 1865
     }
1866 1866
 
1867 1867
     public function test_css_aggregation_decision_and_dontaggregate_filter()
@@ -1869,78 +1869,78 @@  discard block
 block discarded – undo
1869 1869
         $opts = $this->getAoStylesDefaultOptions();
1870 1870
 
1871 1871
         // Aggregating: true by default.
1872
-        $styles = new autoptimizeStyles( '' );
1873
-        $this->assertTrue( $styles->aggregating() );
1872
+        $styles = new autoptimizeStyles('');
1873
+        $this->assertTrue($styles->aggregating());
1874 1874
 
1875 1875
         // Aggregating: option=true (dontaggregate=false by default).
1876 1876
         $opts['aggregate'] = true;
1877
-        $styles            = new autoptimizeStyles( '' );
1878
-        $styles->read( $opts );
1879
-        $this->assertTrue( $styles->aggregating() );
1877
+        $styles            = new autoptimizeStyles('');
1878
+        $styles->read($opts);
1879
+        $this->assertTrue($styles->aggregating());
1880 1880
 
1881 1881
         // Aggregating: option=true, dontaggregate=false explicit.
1882 1882
         $opts['aggregate'] = true;
1883
-        add_filter( 'autoptimize_filter_css_dontaggregate', '__return_false' );
1884
-        $styles = new autoptimizeStyles( '' );
1885
-        $styles->read( $opts );
1886
-        $this->assertTrue( $styles->aggregating() );
1887
-        remove_all_filters( 'autoptimize_filter_css_dontaggregate' );
1883
+        add_filter('autoptimize_filter_css_dontaggregate', '__return_false');
1884
+        $styles = new autoptimizeStyles('');
1885
+        $styles->read($opts);
1886
+        $this->assertTrue($styles->aggregating());
1887
+        remove_all_filters('autoptimize_filter_css_dontaggregate');
1888 1888
 
1889 1889
         // Not aggregating: option=true, dontaggregate=true.
1890 1890
         $opts['aggregate'] = true;
1891
-        add_filter( 'autoptimize_filter_css_dontaggregate', '__return_true' );
1892
-        $styles = new autoptimizeStyles( '' );
1893
-        $styles->read( $opts );
1894
-        $this->assertFalse( $styles->aggregating() );
1895
-        remove_all_filters( 'autoptimize_filter_css_dontaggregate' );
1891
+        add_filter('autoptimize_filter_css_dontaggregate', '__return_true');
1892
+        $styles = new autoptimizeStyles('');
1893
+        $styles->read($opts);
1894
+        $this->assertFalse($styles->aggregating());
1895
+        remove_all_filters('autoptimize_filter_css_dontaggregate');
1896 1896
 
1897 1897
         // Not aggregating: option=false, dontaggregate=false.
1898 1898
         $opts['aggregate'] = false;
1899
-        add_filter( 'autoptimize_filter_css_dontaggregate', '__return_false' );
1900
-        $styles = new autoptimizeStyles( '' );
1901
-        $styles->read( $opts );
1902
-        $this->assertFalse( $styles->aggregating() );
1903
-        remove_all_filters( 'autoptimize_filter_css_dontaggregate' );
1899
+        add_filter('autoptimize_filter_css_dontaggregate', '__return_false');
1900
+        $styles = new autoptimizeStyles('');
1901
+        $styles->read($opts);
1902
+        $this->assertFalse($styles->aggregating());
1903
+        remove_all_filters('autoptimize_filter_css_dontaggregate');
1904 1904
 
1905 1905
         // Not aggregating: option=false, dontaggregate=true.
1906 1906
         $opts['aggregate'] = false;
1907
-        add_filter( 'autoptimize_filter_css_dontaggregate', '__return_true' );
1908
-        $styles = new autoptimizeStyles( '' );
1909
-        $styles->read( $opts );
1910
-        $this->assertFalse( $styles->aggregating() );
1911
-        remove_all_filters( 'autoptimize_filter_css_dontaggregate' );
1907
+        add_filter('autoptimize_filter_css_dontaggregate', '__return_true');
1908
+        $styles = new autoptimizeStyles('');
1909
+        $styles->read($opts);
1910
+        $this->assertFalse($styles->aggregating());
1911
+        remove_all_filters('autoptimize_filter_css_dontaggregate');
1912 1912
     }
1913 1913
 
1914 1914
     public function test_css_minify_single_with_cdning()
1915 1915
     {
1916
-        $pathname = dirname( __FILE__ ) . '/fixtures/minify-single.css';
1916
+        $pathname = dirname(__FILE__).'/fixtures/minify-single.css';
1917 1917
         $opts     = $this->getAoStylesDefaultOptions();
1918
-        $styles   = new autoptimizeStyles( '' );
1919
-        $styles->read( $opts );
1918
+        $styles   = new autoptimizeStyles('');
1919
+        $styles->read($opts);
1920 1920
 
1921
-        $url = $styles->minify_single( $pathname, $cache_miss = true );
1921
+        $url = $styles->minify_single($pathname, $cache_miss = true);
1922 1922
 
1923 1923
         // Minified url filename + its pointed to cdn.
1924
-        $this->assertContains( AUTOPTIMIZE_CACHE_CHILD_DIR, $url );
1925
-        $this->assertContains( '/autoptimize_single_', $url );
1926
-        $this->assertContains( $styles->cdn_url, $url );
1924
+        $this->assertContains(AUTOPTIMIZE_CACHE_CHILD_DIR, $url);
1925
+        $this->assertContains('/autoptimize_single_', $url);
1926
+        $this->assertContains($styles->cdn_url, $url);
1927 1927
 
1928 1928
         // Actual minified css contents are minified and cdn-ed.
1929
-        $path     = $styles->getpath( $url );
1930
-        $contents = file_get_contents( $path );
1931
-        $this->assertContains( $styles->cdn_url, $contents );
1932
-        $this->assertContains( '.bg{background:url(' . $styles->cdn_url, $contents );
1929
+        $path     = $styles->getpath($url);
1930
+        $contents = file_get_contents($path);
1931
+        $this->assertContains($styles->cdn_url, $contents);
1932
+        $this->assertContains('.bg{background:url('.$styles->cdn_url, $contents);
1933 1933
     }
1934 1934
 
1935 1935
     public function test_ao_partners_instantiation_without_explicit_include()
1936 1936
     {
1937 1937
         $partners = new autoptimizePartners();
1938
-        $this->assertTrue( $partners instanceof autoptimizePartners );
1938
+        $this->assertTrue($partners instanceof autoptimizePartners);
1939 1939
     }
1940 1940
 
1941 1941
     public function test_html_minify_keep_html_comments_inside_script_blocks()
1942 1942
     {
1943
-        $markup   = <<<MARKUP
1943
+        $markup = <<<MARKUP
1944 1944
 <script>
1945 1945
 <!-- End Support AJAX add to cart -->
1946 1946
 var a = "b";
@@ -1970,23 +1970,23 @@  discard block
 block discarded – undo
1970 1970
             ],
1971 1971
         ];
1972 1972
 
1973
-        $instance = new autoptimizeHTML( $markup );
1974
-        $instance->read( $options['autoptimizeHTML'] );
1973
+        $instance = new autoptimizeHTML($markup);
1974
+        $instance->read($options['autoptimizeHTML']);
1975 1975
         $instance->minify();
1976 1976
         $actual = $instance->getcontent();
1977
-        $this->assertEquals( $expected, $actual );
1977
+        $this->assertEquals($expected, $actual);
1978 1978
 
1979
-        $instance = new autoptimizeHTML( $markup2 );
1980
-        $instance->read( $options['autoptimizeHTML'] );
1979
+        $instance = new autoptimizeHTML($markup2);
1980
+        $instance->read($options['autoptimizeHTML']);
1981 1981
         $instance->minify();
1982 1982
         $actual2 = $instance->getcontent();
1983
-        $this->assertEquals( $expected2, $actual2 );
1983
+        $this->assertEquals($expected2, $actual2);
1984 1984
     }
1985 1985
 
1986 1986
     public function test_html_minify_remove_html_comments_inside_script_blocks()
1987 1987
     {
1988 1988
         // Default case, html comments removed (keepcomments = false).
1989
-        $markup1   = <<<MARKUP
1989
+        $markup1 = <<<MARKUP
1990 1990
 <script>
1991 1991
 var a = "b";
1992 1992
 <!-- End Support AJAX add to cart -->
@@ -1997,7 +1997,7 @@  discard block
 block discarded – undo
1997 1997
 <!-- End Support AJAX add to cart</script>
1998 1998
 MARKUP;
1999 1999
 
2000
-        $markup2   = <<<MARKUP
2000
+        $markup2 = <<<MARKUP
2001 2001
 <script>
2002 2002
 <!-- End Support AJAX add to cart -->
2003 2003
 var a = "b";
@@ -2014,17 +2014,17 @@  discard block
 block discarded – undo
2014 2014
             ],
2015 2015
         ];
2016 2016
 
2017
-        $instance = new autoptimizeHTML( $markup1 );
2018
-        $instance->read( $options['autoptimizeHTML'] );
2017
+        $instance = new autoptimizeHTML($markup1);
2018
+        $instance->read($options['autoptimizeHTML']);
2019 2019
         $instance->minify();
2020 2020
         $actual = $instance->getcontent();
2021
-        $this->assertEquals( $expected1, $actual );
2021
+        $this->assertEquals($expected1, $actual);
2022 2022
 
2023
-        $instance = new autoptimizeHTML( $markup2 );
2024
-        $instance->read( $options['autoptimizeHTML'] );
2023
+        $instance = new autoptimizeHTML($markup2);
2024
+        $instance->read($options['autoptimizeHTML']);
2025 2025
         $instance->minify();
2026 2026
         $actual2 = $instance->getcontent();
2027
-        $this->assertEquals( $expected2, $actual2 );
2027
+        $this->assertEquals($expected2, $actual2);
2028 2028
     }
2029 2029
 
2030 2030
     public function test_html_minify_html_comments_inside_script_blocks_old_school_pattern()
@@ -2048,11 +2048,11 @@  discard block
 block discarded – undo
2048 2048
             ],
2049 2049
         ];
2050 2050
 
2051
-        $instance = new autoptimizeHTML( $markup );
2052
-        $instance->read( $options['autoptimizeHTML'] );
2051
+        $instance = new autoptimizeHTML($markup);
2052
+        $instance->read($options['autoptimizeHTML']);
2053 2053
         $instance->minify();
2054 2054
         $actual = $instance->getcontent();
2055
-        $this->assertEquals( $expected, $actual );
2055
+        $this->assertEquals($expected, $actual);
2056 2056
     }
2057 2057
 
2058 2058
     public function test_html_minify_html_comments_inside_script_blocks_old_school_pattern_untouched()
@@ -2077,49 +2077,49 @@  discard block
 block discarded – undo
2077 2077
             ],
2078 2078
         ];
2079 2079
 
2080
-        $instance = new autoptimizeHTML( $markup );
2081
-        $instance->read( $options['autoptimizeHTML'] );
2080
+        $instance = new autoptimizeHTML($markup);
2081
+        $instance->read($options['autoptimizeHTML']);
2082 2082
         $instance->minify();
2083 2083
         $actual = $instance->getcontent();
2084
-        $this->assertEquals( $expected, $actual );
2084
+        $this->assertEquals($expected, $actual);
2085 2085
     }
2086 2086
 
2087 2087
     public function test_utils_mbstring_availabilty_overriding()
2088 2088
     {
2089 2089
         $orig     = autoptimizeUtils::mbstring_available();
2090
-        $opposite = ! $orig;
2090
+        $opposite = !$orig;
2091 2091
 
2092
-        $this->assertSame( $orig, autoptimizeUtils::mbstring_available() );
2092
+        $this->assertSame($orig, autoptimizeUtils::mbstring_available());
2093 2093
         // Override works...
2094
-        $this->assertSame( $opposite, autoptimizeUtils::mbstring_available( $opposite ) );
2094
+        $this->assertSame($opposite, autoptimizeUtils::mbstring_available($opposite));
2095 2095
         // And override remains cached as the last version.
2096
-        $this->assertSame( $opposite, autoptimizeUtils::mbstring_available() );
2096
+        $this->assertSame($opposite, autoptimizeUtils::mbstring_available());
2097 2097
     }
2098 2098
 
2099 2099
     public function test_utils_mbstring_basics()
2100 2100
     {
2101 2101
         // Turn on mbstring usage.
2102
-        autoptimizeUtils::mbstring_available( true );
2102
+        autoptimizeUtils::mbstring_available(true);
2103 2103
 
2104
-        $this->assertSame( 2, autoptimizeUtils::strlen( "\x00\xFF", 'ASCII' ) );
2105
-        $this->assertSame( 2, autoptimizeUtils::strlen( "\x00\xFF", 'CP850' ) );
2106
-        $this->assertSame( 3, autoptimizeUtils::strlen( '한국어' ) );
2104
+        $this->assertSame(2, autoptimizeUtils::strlen("\x00\xFF", 'ASCII'));
2105
+        $this->assertSame(2, autoptimizeUtils::strlen("\x00\xFF", 'CP850'));
2106
+        $this->assertSame(3, autoptimizeUtils::strlen('한국어'));
2107 2107
 
2108
-        $this->assertFalse( @autoptimizeUtils::strpos( 'abc', '' ) );
2109
-        $this->assertFalse( @autoptimizeUtils::strpos( 'abc', 'a', -1 ) );
2110
-        $this->assertFalse( autoptimizeUtils::strpos( 'abc', 'd' ) );
2111
-        $this->assertFalse( autoptimizeUtils::strpos( 'abc', 'a', 3 ) );
2112
-        $this->assertSame( 1, autoptimizeUtils::strpos( '한국어', '국' ) );
2108
+        $this->assertFalse(@autoptimizeUtils::strpos('abc', ''));
2109
+        $this->assertFalse(@autoptimizeUtils::strpos('abc', 'a', -1));
2110
+        $this->assertFalse(autoptimizeUtils::strpos('abc', 'd'));
2111
+        $this->assertFalse(autoptimizeUtils::strpos('abc', 'a', 3));
2112
+        $this->assertSame(1, autoptimizeUtils::strpos('한국어', '국'));
2113 2113
     }
2114 2114
 
2115 2115
     /**
2116 2116
      * @dataProvider provider_utils_substr_replace
2117 2117
      */
2118
-    function test_utils_substr_replace_basics_mbstring( $s, $repl, $start, $len, $expected )
2118
+    function test_utils_substr_replace_basics_mbstring($s, $repl, $start, $len, $expected)
2119 2119
     {
2120 2120
         // Force mbstring code path...
2121
-        autoptimizeUtils::mbstring_available( true );
2122
-        $this->assertEquals( $expected, autoptimizeUtils::substr_replace( $s, $repl, $start, $len ) );
2121
+        autoptimizeUtils::mbstring_available(true);
2122
+        $this->assertEquals($expected, autoptimizeUtils::substr_replace($s, $repl, $start, $len));
2123 2123
     }
2124 2124
 
2125 2125
     public function provider_utils_substr_replace()
@@ -2161,48 +2161,48 @@  discard block
 block discarded – undo
2161 2161
 
2162 2162
     function test_mb_substr_replace_with_ascii_input_string()
2163 2163
     {
2164
-        autoptimizeUtils::mbstring_available( false );
2164
+        autoptimizeUtils::mbstring_available(false);
2165 2165
 
2166 2166
         $str = 'Ascii';
2167 2167
 
2168
-        $this->assertSame( 'Añ', autoptimizeUtils::substr_replace( $str, 'ñ', 1 ) );
2169
-        $this->assertSame( 'ñcii', autoptimizeUtils::substr_replace( $str, 'ñ', 0, 2 ) );
2170
-        $this->assertSame( 'Asñx', autoptimizeUtils::substr_replace( $str, 'ñx', 2, 3 ) );
2171
-        $this->assertSame( 'Asz', autoptimizeUtils::substr_replace( $str, 'z', 2, 10 ) );
2172
-        $this->assertSame( 'Añii', autoptimizeUtils::substr_replace( $str, 'ñ', 1, 2 ) );
2168
+        $this->assertSame('Añ', autoptimizeUtils::substr_replace($str, 'ñ', 1));
2169
+        $this->assertSame('ñcii', autoptimizeUtils::substr_replace($str, 'ñ', 0, 2));
2170
+        $this->assertSame('Asñx', autoptimizeUtils::substr_replace($str, 'ñx', 2, 3));
2171
+        $this->assertSame('Asz', autoptimizeUtils::substr_replace($str, 'z', 2, 10));
2172
+        $this->assertSame('Añii', autoptimizeUtils::substr_replace($str, 'ñ', 1, 2));
2173 2173
     }
2174 2174
 
2175 2175
     function test_mb_substr_replace_with_utf8_input_string()
2176 2176
     {
2177
-        autoptimizeUtils::mbstring_available( true );
2177
+        autoptimizeUtils::mbstring_available(true);
2178 2178
 
2179 2179
         $str = 'âønæë';
2180 2180
 
2181
-        $this->assertSame( 'âñ', autoptimizeUtils::substr_replace( $str, 'ñ', 1 ) ); // No length.
2182
-        $this->assertSame( 'ñnæë', autoptimizeUtils::substr_replace( $str, 'ñ', 0, 2 ) );
2183
-        $this->assertSame( 'âøñx', autoptimizeUtils::substr_replace( $str, 'ñx', 2, 3 ) );
2184
-        $this->assertSame( 'âøz', autoptimizeUtils::substr_replace( $str, 'z', 2, 10 ) ); // Length larger than possible...
2185
-        $this->assertSame( 'âñæë', autoptimizeUtils::substr_replace( $str, 'ñ', 1, 2 ) );
2181
+        $this->assertSame('âñ', autoptimizeUtils::substr_replace($str, 'ñ', 1)); // No length.
2182
+        $this->assertSame('ñnæë', autoptimizeUtils::substr_replace($str, 'ñ', 0, 2));
2183
+        $this->assertSame('âøñx', autoptimizeUtils::substr_replace($str, 'ñx', 2, 3));
2184
+        $this->assertSame('âøz', autoptimizeUtils::substr_replace($str, 'z', 2, 10)); // Length larger than possible...
2185
+        $this->assertSame('âñæë', autoptimizeUtils::substr_replace($str, 'ñ', 1, 2));
2186 2186
     }
2187 2187
 
2188 2188
     function test_default_substr_replace_with_ascii_input_string()
2189 2189
     {
2190 2190
         // Disable mbstring which should fall ack to substr_replace...
2191
-        autoptimizeUtils::mbstring_available( false );
2191
+        autoptimizeUtils::mbstring_available(false);
2192 2192
 
2193 2193
         $str = 'Ascii';
2194 2194
 
2195
-        $this->assertSame( 'Añ', autoptimizeUtils::substr_replace( $str, 'ñ', 1 ) );
2196
-        $this->assertSame( 'ñcii', autoptimizeUtils::substr_replace( $str, 'ñ', 0, 2 ) );
2197
-        $this->assertSame( 'Asñx', autoptimizeUtils::substr_replace( $str, 'ñx', 2, 3 ) );
2198
-        $this->assertSame( 'Asz', autoptimizeUtils::substr_replace( $str, 'z', 2, 10 ) );
2199
-        $this->assertSame( 'Añii', autoptimizeUtils::substr_replace( $str, 'ñ', 1, 2 ) );
2195
+        $this->assertSame('Añ', autoptimizeUtils::substr_replace($str, 'ñ', 1));
2196
+        $this->assertSame('ñcii', autoptimizeUtils::substr_replace($str, 'ñ', 0, 2));
2197
+        $this->assertSame('Asñx', autoptimizeUtils::substr_replace($str, 'ñx', 2, 3));
2198
+        $this->assertSame('Asz', autoptimizeUtils::substr_replace($str, 'z', 2, 10));
2199
+        $this->assertSame('Añii', autoptimizeUtils::substr_replace($str, 'ñ', 1, 2));
2200 2200
     }
2201 2201
 
2202 2202
     function test_default_substr_replace_with_utf8_input_string()
2203 2203
     {
2204 2204
         // Disabling mbstring, falling back to substr_replace...
2205
-        autoptimizeUtils::mbstring_available( false );
2205
+        autoptimizeUtils::mbstring_available(false);
2206 2206
 
2207 2207
         // This is really impossible to make work properly, since
2208 2208
         // any start/len parameters we give are working with bytes instead
@@ -2211,55 +2211,55 @@  discard block
 block discarded – undo
2211 2211
 
2212 2212
         // $this->assertSame( '�ñ', autoptimizeUtils::substr_replace( $str, 'ñ', 1 ) ); // No length.
2213 2213
         // $this->assertSame( 'ñ�næë', autoptimizeUtils::substr_replace( $str, 'ñ', 1, 2 ) );
2214
-        $this->assertSame( 'ñønæë', autoptimizeUtils::substr_replace( $str, 'ñ', 0, 2 ) );
2215
-        $this->assertSame( 'âñxæë', autoptimizeUtils::substr_replace( $str, 'ñx', 2, 3 ) );
2216
-        $this->assertSame( 'âz', autoptimizeUtils::substr_replace( $str, 'z', 2, 10 ) ); // Length larger than possible...
2214
+        $this->assertSame('ñønæë', autoptimizeUtils::substr_replace($str, 'ñ', 0, 2));
2215
+        $this->assertSame('âñxæë', autoptimizeUtils::substr_replace($str, 'ñx', 2, 3));
2216
+        $this->assertSame('âz', autoptimizeUtils::substr_replace($str, 'z', 2, 10)); // Length larger than possible...
2217 2217
     }
2218 2218
 
2219 2219
     public function test_cache_fast_delete()
2220 2220
     {
2221
-        add_filter( 'autoptimize_filter_cache_clear_advanced', '__return_true' );
2221
+        add_filter('autoptimize_filter_cache_clear_advanced', '__return_true');
2222 2222
 
2223 2223
         autoptimizeCache::clearall_actionless();
2224 2224
 
2225
-        remove_all_filters( 'autoptimize_filter_cache_clear_advanced' );
2225
+        remove_all_filters('autoptimize_filter_cache_clear_advanced');
2226 2226
     }
2227 2227
 
2228 2228
     public function test_delete_advanced_cache_clear_artifacts()
2229 2229
     {
2230
-        $this->assertTrue( autoptimizeCache::delete_advanced_cache_clear_artifacts() );
2230
+        $this->assertTrue(autoptimizeCache::delete_advanced_cache_clear_artifacts());
2231 2231
     }
2232 2232
 
2233 2233
     public function provider_canonicalization()
2234 2234
     {
2235 2235
         return array(
2236
-            array( '../common', 'common' ),
2237
-            array( '../what-does-this-mean/really?/', 'what-does-this-mean/really?/' ),
2238
-            array( '../../what/where/how', 'what/where/how' ),
2239
-            array( '/../more.dots.please/', '/more.dots.please/' ),
2240
-            array( '/../../what/where/how', '/what/where/how' ),
2241
-            array( '/a/b/c/../../../d/e/file.txt', '/d/e/file.txt' ),
2242
-            array( 'a/b/../c', 'a/c' ),
2243
-            array( './../../etc/passwd', './etc/passwd' ),
2244
-            array( '/var/.////./user/./././..//.//../////../././.././test/////', '/test/' ),
2245
-            array( '/var/user/./././.././../.././././test/', '/test/' ),
2246
-            array( '/hello/0//how/../are/../you', '/hello/0/you' ),
2247
-            array( '', '' ),
2248
-            array( '.', '.' ),
2249
-            array( '..', '..' ),
2250
-            array( './..', './..' ),
2251
-            array( '../.', '.' ),
2236
+            array('../common', 'common'),
2237
+            array('../what-does-this-mean/really?/', 'what-does-this-mean/really?/'),
2238
+            array('../../what/where/how', 'what/where/how'),
2239
+            array('/../more.dots.please/', '/more.dots.please/'),
2240
+            array('/../../what/where/how', '/what/where/how'),
2241
+            array('/a/b/c/../../../d/e/file.txt', '/d/e/file.txt'),
2242
+            array('a/b/../c', 'a/c'),
2243
+            array('./../../etc/passwd', './etc/passwd'),
2244
+            array('/var/.////./user/./././..//.//../////../././.././test/////', '/test/'),
2245
+            array('/var/user/./././.././../.././././test/', '/test/'),
2246
+            array('/hello/0//how/../are/../you', '/hello/0/you'),
2247
+            array('', ''),
2248
+            array('.', '.'),
2249
+            array('..', '..'),
2250
+            array('./..', './..'),
2251
+            array('../.', '.'),
2252 2252
             // This might be debatable...
2253
-            array( '../..', '..' ),
2253
+            array('../..', '..'),
2254 2254
         );
2255 2255
     }
2256 2256
 
2257 2257
     /**
2258 2258
      * @dataProvider provider_canonicalization
2259 2259
      */
2260
-    public function test_path_canonicalize( $path, $canonicalized )
2260
+    public function test_path_canonicalize($path, $canonicalized)
2261 2261
     {
2262
-        $this->assertSame( $canonicalized, autoptimizeUtils::path_canonicalize( $path ) );
2262
+        $this->assertSame($canonicalized, autoptimizeUtils::path_canonicalize($path));
2263 2263
     }
2264 2264
 
2265 2265
     /**
@@ -2273,16 +2273,16 @@  discard block
 block discarded – undo
2273 2273
     public function test_autoptimize_filter_cdn_magic_path_check()
2274 2274
     {
2275 2275
         $cdnurl = 'http://cdn.example.org';
2276
-        add_filter( 'autoptimize_filter_cdn_magic_path_check', '__return_false', 10, 2 );
2276
+        add_filter('autoptimize_filter_cdn_magic_path_check', '__return_false', 10, 2);
2277 2277
 
2278 2278
         // Even when site is in a subfolder, the resulting cdn-rewritten url
2279 2279
         // should not magically include it, due to the above filter.
2280 2280
         // The second parameter is here to force a cache miss and re-run
2281 2281
         // the filter since we're using the same cdn url all over the place,
2282 2282
         // but want to prove different things with it.
2283
-        $this->assertSame( $cdnurl, autoptimizeUtils::tweak_cdn_url_if_needed( $cdnurl, true ) );
2283
+        $this->assertSame($cdnurl, autoptimizeUtils::tweak_cdn_url_if_needed($cdnurl, true));
2284 2284
 
2285
-        remove_all_filters( 'autoptimize_filter_cdn_magic_path_check' );
2285
+        remove_all_filters('autoptimize_filter_cdn_magic_path_check');
2286 2286
     }
2287 2287
 
2288 2288
     /**
@@ -2307,9 +2307,9 @@  discard block
 block discarded – undo
2307 2307
 <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" />
2308 2308
 MARKUP;
2309 2309
         $instance = autoptimizeImages::instance();
2310
-        $instance->set_options( $opts );
2311
-        $actual = $instance->filter_optimize_images( $markup );
2312
-        $this->assertEquals( $expected, $actual );
2310
+        $instance->set_options($opts);
2311
+        $actual = $instance->filter_optimize_images($markup);
2312
+        $this->assertEquals($expected, $actual);
2313 2313
     }
2314 2314
 
2315 2315
     /**
@@ -2334,9 +2334,9 @@  discard block
 block discarded – undo
2334 2334
 <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>
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
     /**
@@ -2361,9 +2361,9 @@  discard block
 block discarded – undo
2361 2361
 <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="https://cdn.shortpixel.ai/client/q_glossy,ret_img/$siteurl/wp-content/image.jpg"/></picture>
2362 2362
 MARKUP;
2363 2363
         $instance = autoptimizeImages::instance();
2364
-        $instance->set_options( $opts );
2365
-        $actual = $instance->filter_optimize_images( $markup );
2366
-        $this->assertEquals( $expected, $actual );
2364
+        $instance->set_options($opts);
2365
+        $actual = $instance->filter_optimize_images($markup);
2366
+        $this->assertEquals($expected, $actual);
2367 2367
     }
2368 2368
 
2369 2369
     /**
@@ -2389,9 +2389,9 @@  discard block
 block discarded – undo
2389 2389
 MARKUP;
2390 2390
 
2391 2391
         $instance = autoptimizeImages::instance();
2392
-        $instance->set_options( $opts );
2393
-        $actual = $instance->filter_optimize_images( $markup );
2394
-        $this->assertEquals( $expected, $actual );
2392
+        $instance->set_options($opts);
2393
+        $actual = $instance->filter_optimize_images($markup);
2394
+        $this->assertEquals($expected, $actual);
2395 2395
     }
2396 2396
 
2397 2397
     /**
@@ -2417,9 +2417,9 @@  discard block
 block discarded – undo
2417 2417
 MARKUP;
2418 2418
 
2419 2419
         $instance = autoptimizeImages::instance();
2420
-        $instance->set_options( $opts );
2421
-        $actual = $instance->filter_optimize_images( $markup );
2422
-        $this->assertEquals( $expected, $actual );
2420
+        $instance->set_options($opts);
2421
+        $actual = $instance->filter_optimize_images($markup);
2422
+        $this->assertEquals($expected, $actual);
2423 2423
     }
2424 2424
 
2425 2425
     /**
@@ -2444,9 +2444,9 @@  discard block
 block discarded – undo
2444 2444
 MARKUP;
2445 2445
 
2446 2446
         $instance = autoptimizeImages::instance();
2447
-        $instance->set_options( $opts );
2448
-        $actual = $instance->filter_lazyload_images( $markup );
2449
-        $this->assertEquals( $expected, $actual );
2447
+        $instance->set_options($opts);
2448
+        $actual = $instance->filter_lazyload_images($markup);
2449
+        $this->assertEquals($expected, $actual);
2450 2450
     }
2451 2451
 
2452 2452
     /**
@@ -2471,9 +2471,9 @@  discard block
 block discarded – undo
2471 2471
 MARKUP;
2472 2472
 
2473 2473
         $instance = autoptimizeImages::instance();
2474
-        $instance->set_options( $opts );
2475
-        $actual = $instance->filter_lazyload_images( $markup );
2476
-        $this->assertEquals( $expected, $actual );
2474
+        $instance->set_options($opts);
2475
+        $actual = $instance->filter_lazyload_images($markup);
2476
+        $this->assertEquals($expected, $actual);
2477 2477
     }
2478 2478
 
2479 2479
     /**
@@ -2492,11 +2492,11 @@  discard block
 block discarded – undo
2492 2492
 MARKUP;
2493 2493
 
2494 2494
         $instance = autoptimizeImages::instance();
2495
-        $instance->set_options( $opts );
2496
-        $actual = $instance->filter_optimize_images( $markup );
2495
+        $instance->set_options($opts);
2496
+        $actual = $instance->filter_optimize_images($markup);
2497 2497
 
2498 2498
         // Expecting $markup since replacement should not happen.
2499
-        $this->assertEquals( $markup, $actual );
2499
+        $this->assertEquals($markup, $actual);
2500 2500
     }
2501 2501
 
2502 2502
     /**
@@ -2522,10 +2522,10 @@  discard block
 block discarded – undo
2522 2522
 MARKUP;
2523 2523
 
2524 2524
         $instance = autoptimizeImages::instance();
2525
-        $instance->set_options( $opts );
2526
-        $actual = $instance->filter_optimize_images( $markup );
2525
+        $instance->set_options($opts);
2526
+        $actual = $instance->filter_optimize_images($markup);
2527 2527
 
2528
-        $this->assertEquals( $expected, $actual );
2528
+        $this->assertEquals($expected, $actual);
2529 2529
     }
2530 2530
 
2531 2531
     /**
@@ -2535,8 +2535,8 @@  discard block
 block discarded – undo
2535 2535
     {
2536 2536
         $urls                                        = $this->get_urls();
2537 2537
         $siteurl                                     = $urls['siteurl'];
2538
-        $siteurlparsed                               = parse_url( $siteurl );
2539
-        $sitedomain                                  = $siteurlparsed['scheme'] . '://' . $siteurlparsed['host'];
2538
+        $siteurlparsed                               = parse_url($siteurl);
2539
+        $sitedomain                                  = $siteurlparsed['scheme'].'://'.$siteurlparsed['host'];
2540 2540
         $imgopthost                                  = $urls['imgopthost'];
2541 2541
         $opts                                        = autoptimizeImages::fetch_options();
2542 2542
         $opts['autoptimize_imgopt_checkbox_field_1'] = '1';
@@ -2551,10 +2551,10 @@  discard block
 block discarded – undo
2551 2551
 MARKUP;
2552 2552
 
2553 2553
         $instance = autoptimizeImages::instance();
2554
-        $instance->set_options( $opts );
2555
-        $actual = $instance->filter_optimize_images( $markup );
2554
+        $instance->set_options($opts);
2555
+        $actual = $instance->filter_optimize_images($markup);
2556 2556
 
2557
-        $this->assertEquals( $expected, $actual );
2557
+        $this->assertEquals($expected, $actual);
2558 2558
     }
2559 2559
 
2560 2560
     /**
@@ -2579,53 +2579,53 @@  discard block
 block discarded – undo
2579 2579
 MARKUP;
2580 2580
 
2581 2581
         $instance = autoptimizeImages::instance();
2582
-        $instance->set_options( $opts );
2583
-        $actual = $instance->filter_optimize_images( $markup );
2582
+        $instance->set_options($opts);
2583
+        $actual = $instance->filter_optimize_images($markup);
2584 2584
 
2585
-        $this->assertEquals( $expected, $actual );
2585
+        $this->assertEquals($expected, $actual);
2586 2586
     }
2587 2587
 
2588 2588
     /**
2589 2589
      * @dataProvider provider_str_is_valid_regex
2590 2590
      */
2591
-    public function test_str_is_valid_regex( $str, $expected )
2591
+    public function test_str_is_valid_regex($str, $expected)
2592 2592
     {
2593
-        $actual = autoptimizeUtils::str_is_valid_regex( $str );
2593
+        $actual = autoptimizeUtils::str_is_valid_regex($str);
2594 2594
 
2595
-        $this->assertEquals( $expected, $actual );
2595
+        $this->assertEquals($expected, $actual);
2596 2596
     }
2597 2597
 
2598 2598
     public function provider_str_is_valid_regex()
2599 2599
     {
2600 2600
         return [
2601
-            [ '<!--[if', false ],
2602
-            [ '&lt;--[if', false ],
2603
-            [ '/booya/i', true ],
2604
-            [ '~Valid(Regular)Expression~', true ],
2601
+            ['<!--[if', false],
2602
+            ['&lt;--[if', false],
2603
+            ['/booya/i', true],
2604
+            ['~Valid(Regular)Expression~', true],
2605 2605
         ];
2606 2606
     }
2607 2607
 
2608 2608
     /**
2609 2609
      * @dataProvider provider_protocol_relative_tests
2610 2610
      */
2611
-    public function test_is_protocol_relative( $str, $expected )
2611
+    public function test_is_protocol_relative($str, $expected)
2612 2612
     {
2613
-        $actual = autoptimizeUtils::is_protocol_relative( $str );
2613
+        $actual = autoptimizeUtils::is_protocol_relative($str);
2614 2614
 
2615
-        $this->assertEquals( $expected, $actual );
2615
+        $this->assertEquals($expected, $actual);
2616 2616
     }
2617 2617
 
2618 2618
     public function provider_protocol_relative_tests()
2619 2619
     {
2620 2620
         return [
2621
-            [ '//something-that-might-be-an-url-but-isnt-really', true ],
2622
-            [ '', false ],
2623
-            [ null, false ],
2624
-            [ 'booya/i', false ],
2625
-            [ '/root-relative', false ],
2626
-            [ 'http://what.ever/', false ],
2627
-            [ 'https://booya.kasha', false ],
2628
-            [ '1/', false ],
2621
+            ['//something-that-might-be-an-url-but-isnt-really', true],
2622
+            ['', false],
2623
+            [null, false],
2624
+            ['booya/i', false],
2625
+            ['/root-relative', false],
2626
+            ['http://what.ever/', false],
2627
+            ['https://booya.kasha', false],
2628
+            ['1/', false],
2629 2629
         ];
2630 2630
     }
2631 2631
 
@@ -2640,38 +2640,38 @@  discard block
 block discarded – undo
2640 2640
 
2641 2641
         $expected = 'img.centered,.aligncenter{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}';
2642 2642
 
2643
-        $instance = new autoptimizeStyles( $css );
2644
-        $minified = $instance->run_minifier_on( $css );
2643
+        $instance = new autoptimizeStyles($css);
2644
+        $minified = $instance->run_minifier_on($css);
2645 2645
 
2646
-        $this->assertEquals( $expected, $minified );
2646
+        $this->assertEquals($expected, $minified);
2647 2647
     }
2648 2648
 
2649 2649
     public function test_css_font_names_mangling()
2650 2650
     {
2651 2651
         // Properly quoted font names dont get mangled.
2652 2652
         $css      = 'h2{font-family:"Archivo Black"}';
2653
-        $instance = new autoptimizeStyles( $css );
2654
-        $actual   = $instance->run_minifier_on( $css );
2655
-        $this->assertEquals( $css, $actual );
2653
+        $instance = new autoptimizeStyles($css);
2654
+        $actual   = $instance->run_minifier_on($css);
2655
+        $this->assertEquals($css, $actual);
2656 2656
 
2657 2657
         // When not quoted, 'Black' used to become '#000', but not anymore... :)
2658 2658
         $css_unquoted = 'h2{font-family:Archivo Black;}';
2659 2659
         $expected     = 'h2{font-family:Archivo Black}';
2660
-        $instance     = new autoptimizeStyles( $css_unquoted );
2661
-        $actual       = $instance->run_minifier_on( $css_unquoted );
2662
-        $this->assertEquals( $expected, $actual );
2660
+        $instance     = new autoptimizeStyles($css_unquoted);
2661
+        $actual       = $instance->run_minifier_on($css_unquoted);
2662
+        $this->assertEquals($expected, $actual);
2663 2663
 
2664 2664
         $css_unquoted = 'h1{font:italic 1.2em Fira White,serif}';
2665
-        $instance     = new autoptimizeStyles( $css_unquoted );
2666
-        $actual       = $instance->run_minifier_on( $css_unquoted );
2667
-        $this->assertEquals( $css_unquoted, $actual );
2665
+        $instance     = new autoptimizeStyles($css_unquoted);
2666
+        $actual       = $instance->run_minifier_on($css_unquoted);
2667
+        $this->assertEquals($css_unquoted, $actual);
2668 2668
     }
2669 2669
 
2670 2670
     public function test_is_plugin_active_utils_wrapper()
2671 2671
     {
2672 2672
         // Our plugin is loaded via "muplugins_loaded" filter in tests/bootstrap.php
2673
-        $this->assertFalse( autoptimizeUtils::is_plugin_active( 'autoptimize/autoptimize.php' ) );
2674
-        $this->assertFalse( autoptimizeUtils::is_plugin_active( 'async-javascript/async-javascript.php' ) );
2673
+        $this->assertFalse(autoptimizeUtils::is_plugin_active('autoptimize/autoptimize.php'));
2674
+        $this->assertFalse(autoptimizeUtils::is_plugin_active('async-javascript/async-javascript.php'));
2675 2675
     }
2676 2676
 
2677 2677
     public function test_jsminphp_string_literal_minification()
@@ -2685,7 +2685,7 @@  discard block
 block discarded – undo
2685 2685
         $expected = '`line
2686 2686
 break`+`he  llo`;foo`hel( \'\');lo`;`he\nl\`lo`;(`he${one + two}`)';
2687 2687
 
2688
-        $actual = JSMin::minify( $js );
2689
-        $this->assertEquals( $expected, $actual );
2688
+        $actual = JSMin::minify($js);
2689
+        $this->assertEquals($expected, $actual);
2690 2690
     }
2691 2691
 }
Please login to merge, or discard this patch.
classes/autoptimizeMain.php 1 patch
Spacing   +152 added lines, -152 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,98 +50,98 @@  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' ) );
63
-        add_action( 'autoptimize_setup_done', array( $this, 'maybe_run_partners_tab' ) );
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'));
63
+        add_action('autoptimize_setup_done', array($this, 'maybe_run_partners_tab'));
64 64
 
65
-        add_action( 'init', array( $this, 'load_textdomain' ) );
66
-        add_action( 'admin_init', array( 'PAnD', 'init' ) );
65
+        add_action('init', array($this, 'load_textdomain'));
66
+        add_action('admin_init', array('PAnD', 'init'));
67 67
 
68
-        register_activation_hook( $this->filepath, array( $this, 'on_activate' ) );
68
+        register_activation_hook($this->filepath, array($this, 'on_activate'));
69 69
     }
70 70
 
71 71
     public function on_activate()
72 72
     {
73
-        register_uninstall_hook( $this->filepath, 'autoptimizeMain::on_uninstall' );
73
+        register_uninstall_hook($this->filepath, 'autoptimizeMain::on_uninstall');
74 74
     }
75 75
 
76 76
     public function load_textdomain()
77 77
     {
78
-        load_plugin_textdomain( 'autoptimize' );
78
+        load_plugin_textdomain('autoptimize');
79 79
     }
80 80
 
81 81
     public function setup()
82 82
     {
83 83
         // Do we gzip in php when caching or is the webserver doing it?
84
-        define( 'AUTOPTIMIZE_CACHE_NOGZIP', (bool) autoptimizeOption::get_option( 'autoptimize_cache_nogzip' ) );
84
+        define('AUTOPTIMIZE_CACHE_NOGZIP', (bool) autoptimizeOption::get_option('autoptimize_cache_nogzip'));
85 85
 
86 86
         // These can be overridden by specifying them in wp-config.php or such.
87
-        if ( ! defined( 'AUTOPTIMIZE_WP_CONTENT_NAME' ) ) {
88
-            define( 'AUTOPTIMIZE_WP_CONTENT_NAME', '/' . wp_basename( WP_CONTENT_DIR ) );
87
+        if (!defined('AUTOPTIMIZE_WP_CONTENT_NAME')) {
88
+            define('AUTOPTIMIZE_WP_CONTENT_NAME', '/'.wp_basename(WP_CONTENT_DIR));
89 89
         }
90
-        if ( ! defined( 'AUTOPTIMIZE_CACHE_CHILD_DIR' ) ) {
91
-            define( 'AUTOPTIMIZE_CACHE_CHILD_DIR', '/cache/autoptimize/' );
90
+        if (!defined('AUTOPTIMIZE_CACHE_CHILD_DIR')) {
91
+            define('AUTOPTIMIZE_CACHE_CHILD_DIR', '/cache/autoptimize/');
92 92
         }
93
-        if ( ! defined( 'AUTOPTIMIZE_CACHEFILE_PREFIX' ) ) {
94
-            define( 'AUTOPTIMIZE_CACHEFILE_PREFIX', 'autoptimize_' );
93
+        if (!defined('AUTOPTIMIZE_CACHEFILE_PREFIX')) {
94
+            define('AUTOPTIMIZE_CACHEFILE_PREFIX', 'autoptimize_');
95 95
         }
96 96
         // Note: trailing slash is not optional!
97
-        if ( ! defined( 'AUTOPTIMIZE_CACHE_DIR' ) ) {
98
-            define( 'AUTOPTIMIZE_CACHE_DIR', autoptimizeCache::get_pathname() );
97
+        if (!defined('AUTOPTIMIZE_CACHE_DIR')) {
98
+            define('AUTOPTIMIZE_CACHE_DIR', autoptimizeCache::get_pathname());
99 99
         }
100 100
 
101
-        define( 'WP_ROOT_DIR', substr( WP_CONTENT_DIR, 0, strlen( WP_CONTENT_DIR ) - strlen( AUTOPTIMIZE_WP_CONTENT_NAME ) ) );
101
+        define('WP_ROOT_DIR', substr(WP_CONTENT_DIR, 0, strlen(WP_CONTENT_DIR) - strlen(AUTOPTIMIZE_WP_CONTENT_NAME)));
102 102
 
103
-        if ( ! defined( 'AUTOPTIMIZE_WP_SITE_URL' ) ) {
104
-            if ( function_exists( 'domain_mapping_siteurl' ) ) {
105
-                define( 'AUTOPTIMIZE_WP_SITE_URL', domain_mapping_siteurl( get_current_blog_id() ) );
103
+        if (!defined('AUTOPTIMIZE_WP_SITE_URL')) {
104
+            if (function_exists('domain_mapping_siteurl')) {
105
+                define('AUTOPTIMIZE_WP_SITE_URL', domain_mapping_siteurl(get_current_blog_id()));
106 106
             } else {
107
-                define( 'AUTOPTIMIZE_WP_SITE_URL', site_url() );
107
+                define('AUTOPTIMIZE_WP_SITE_URL', site_url());
108 108
             }
109 109
         }
110
-        if ( ! defined( 'AUTOPTIMIZE_WP_CONTENT_URL' ) ) {
111
-            if ( function_exists( 'get_original_url' ) ) {
112
-                define( 'AUTOPTIMIZE_WP_CONTENT_URL', str_replace( get_original_url( AUTOPTIMIZE_WP_SITE_URL ), AUTOPTIMIZE_WP_SITE_URL, content_url() ) );
110
+        if (!defined('AUTOPTIMIZE_WP_CONTENT_URL')) {
111
+            if (function_exists('get_original_url')) {
112
+                define('AUTOPTIMIZE_WP_CONTENT_URL', str_replace(get_original_url(AUTOPTIMIZE_WP_SITE_URL), AUTOPTIMIZE_WP_SITE_URL, content_url()));
113 113
             } else {
114
-                define( 'AUTOPTIMIZE_WP_CONTENT_URL', content_url() );
114
+                define('AUTOPTIMIZE_WP_CONTENT_URL', content_url());
115 115
             }
116 116
         }
117
-        if ( ! defined( 'AUTOPTIMIZE_CACHE_URL' ) ) {
118
-            if ( is_multisite() && apply_filters( 'autoptimize_separate_blog_caches', true ) ) {
117
+        if (!defined('AUTOPTIMIZE_CACHE_URL')) {
118
+            if (is_multisite() && apply_filters('autoptimize_separate_blog_caches', true)) {
119 119
                 $blog_id = get_current_blog_id();
120
-                define( 'AUTOPTIMIZE_CACHE_URL', AUTOPTIMIZE_WP_CONTENT_URL . AUTOPTIMIZE_CACHE_CHILD_DIR . $blog_id . '/' );
120
+                define('AUTOPTIMIZE_CACHE_URL', AUTOPTIMIZE_WP_CONTENT_URL.AUTOPTIMIZE_CACHE_CHILD_DIR.$blog_id.'/');
121 121
             } else {
122
-                define( 'AUTOPTIMIZE_CACHE_URL', AUTOPTIMIZE_WP_CONTENT_URL . AUTOPTIMIZE_CACHE_CHILD_DIR );
122
+                define('AUTOPTIMIZE_CACHE_URL', AUTOPTIMIZE_WP_CONTENT_URL.AUTOPTIMIZE_CACHE_CHILD_DIR);
123 123
             }
124 124
         }
125
-        if ( ! defined( 'AUTOPTIMIZE_WP_ROOT_URL' ) ) {
126
-            define( 'AUTOPTIMIZE_WP_ROOT_URL', str_replace( AUTOPTIMIZE_WP_CONTENT_NAME, '', AUTOPTIMIZE_WP_CONTENT_URL ) );
125
+        if (!defined('AUTOPTIMIZE_WP_ROOT_URL')) {
126
+            define('AUTOPTIMIZE_WP_ROOT_URL', str_replace(AUTOPTIMIZE_WP_CONTENT_NAME, '', AUTOPTIMIZE_WP_CONTENT_URL));
127 127
         }
128
-        if ( ! defined( 'AUTOPTIMIZE_HASH' ) ) {
129
-            define( 'AUTOPTIMIZE_HASH', wp_hash( AUTOPTIMIZE_CACHE_URL ) );
128
+        if (!defined('AUTOPTIMIZE_HASH')) {
129
+            define('AUTOPTIMIZE_HASH', wp_hash(AUTOPTIMIZE_CACHE_URL));
130 130
         }
131
-        if ( ! defined( 'AUTOPTIMIZE_SITE_DOMAIN' ) ) {
132
-            define( 'AUTOPTIMIZE_SITE_DOMAIN', parse_url( AUTOPTIMIZE_WP_SITE_URL, PHP_URL_HOST ) );
131
+        if (!defined('AUTOPTIMIZE_SITE_DOMAIN')) {
132
+            define('AUTOPTIMIZE_SITE_DOMAIN', parse_url(AUTOPTIMIZE_WP_SITE_URL, PHP_URL_HOST));
133 133
         }
134 134
 
135 135
         // Multibyte-capable string replacements are available with a filter.
136 136
         // Also requires 'mbstring' extension.
137
-        $with_mbstring = apply_filters( 'autoptimize_filter_main_use_mbstring', false );
138
-        if ( $with_mbstring ) {
139
-            autoptimizeUtils::mbstring_available( \extension_loaded( 'mbstring' ) );
137
+        $with_mbstring = apply_filters('autoptimize_filter_main_use_mbstring', false);
138
+        if ($with_mbstring) {
139
+            autoptimizeUtils::mbstring_available(\extension_loaded('mbstring'));
140 140
         } else {
141
-            autoptimizeUtils::mbstring_available( false );
141
+            autoptimizeUtils::mbstring_available(false);
142 142
         }
143 143
 
144
-        do_action( 'autoptimize_setup_done' );
144
+        do_action('autoptimize_setup_done');
145 145
     }
146 146
 
147 147
     /**
@@ -151,59 +151,59 @@  discard block
 block discarded – undo
151 151
      */
152 152
     public function version_upgrades_check()
153 153
     {
154
-        autoptimizeVersionUpdatesHandler::check_installed_and_update( $this->version );
154
+        autoptimizeVersionUpdatesHandler::check_installed_and_update($this->version);
155 155
     }
156 156
 
157 157
     public function check_cache_and_run()
158 158
     {
159
-        if ( autoptimizeCache::cacheavail() ) {
159
+        if (autoptimizeCache::cacheavail()) {
160 160
             $conf = autoptimizeConfig::instance();
161
-            if ( $conf->get( 'autoptimize_html' ) || $conf->get( 'autoptimize_js' ) || $conf->get( 'autoptimize_css' ) || autoptimizeImages::imgopt_active() || autoptimizeImages::should_lazyload_wrapper() ) {
161
+            if ($conf->get('autoptimize_html') || $conf->get('autoptimize_js') || $conf->get('autoptimize_css') || autoptimizeImages::imgopt_active() || autoptimizeImages::should_lazyload_wrapper()) {
162 162
                 // Hook into WordPress frontend.
163
-                if ( defined( 'AUTOPTIMIZE_INIT_EARLIER' ) ) {
163
+                if (defined('AUTOPTIMIZE_INIT_EARLIER')) {
164 164
                     add_action(
165 165
                         'init',
166
-                        array( $this, 'start_buffering' ),
166
+                        array($this, 'start_buffering'),
167 167
                         self::INIT_EARLIER_PRIORITY
168 168
                     );
169 169
                 } else {
170
-                    if ( ! defined( 'AUTOPTIMIZE_HOOK_INTO' ) ) {
171
-                        define( 'AUTOPTIMIZE_HOOK_INTO', 'template_redirect' );
170
+                    if (!defined('AUTOPTIMIZE_HOOK_INTO')) {
171
+                        define('AUTOPTIMIZE_HOOK_INTO', 'template_redirect');
172 172
                     }
173 173
                     add_action(
174
-                        constant( 'AUTOPTIMIZE_HOOK_INTO' ),
175
-                        array( $this, 'start_buffering' ),
174
+                        constant('AUTOPTIMIZE_HOOK_INTO'),
175
+                        array($this, 'start_buffering'),
176 176
                         self::DEFAULT_HOOK_PRIORITY
177 177
                     );
178 178
                 }
179 179
 
180 180
                 // And disable Jetpack's site accelerator if JS or CSS opt. are active.
181
-                if ( class_exists( 'Jetpack' ) && apply_filters( 'autoptimize_filter_main_disable_jetpack_cdn', true ) && ( $conf->get( 'autoptimize_js' ) || $conf->get( 'autoptimize_css' ) ) ) {
182
-                    add_filter( 'jetpack_force_disable_site_accelerator', '__return_true' );
181
+                if (class_exists('Jetpack') && apply_filters('autoptimize_filter_main_disable_jetpack_cdn', true) && ($conf->get('autoptimize_js') || $conf->get('autoptimize_css'))) {
182
+                    add_filter('jetpack_force_disable_site_accelerator', '__return_true');
183 183
                 }
184 184
             }
185 185
         } else {
186
-            add_action( 'admin_notices', 'autoptimizeMain::notice_cache_unavailable' );
186
+            add_action('admin_notices', 'autoptimizeMain::notice_cache_unavailable');
187 187
         }
188 188
     }
189 189
 
190 190
     public function maybe_run_ao_extra()
191 191
     {
192
-        if ( apply_filters( 'autoptimize_filter_extra_activate', true ) ) {
192
+        if (apply_filters('autoptimize_filter_extra_activate', true)) {
193 193
             $ao_imgopt = new autoptimizeImages();
194 194
             $ao_imgopt->run();
195 195
             $ao_extra = new autoptimizeExtra();
196 196
             $ao_extra->run();
197 197
 
198 198
             // And show the imgopt notice.
199
-            add_action( 'admin_notices', 'autoptimizeMain::notice_plug_imgopt' );
199
+            add_action('admin_notices', 'autoptimizeMain::notice_plug_imgopt');
200 200
         }
201 201
     }
202 202
 
203 203
     public function maybe_run_partners_tab()
204 204
     {
205 205
         // Loads partners tab code if in admin (and not in admin-ajax.php)!
206
-        if ( autoptimizeConfig::is_admin_and_not_ajax() ) {
206
+        if (autoptimizeConfig::is_admin_and_not_ajax()) {
207 207
             new autoptimizePartners();
208 208
         }
209 209
     }
@@ -211,7 +211,7 @@  discard block
 block discarded – undo
211 211
     public function hook_page_cache_purge()
212 212
     {
213 213
         // hook into a collection of page cache purge actions if filter allows.
214
-        if ( apply_filters( 'autoptimize_filter_main_hookpagecachepurge', true ) ) {
214
+        if (apply_filters('autoptimize_filter_main_hookpagecachepurge', true)) {
215 215
             $page_cache_purge_actions = array(
216 216
                 'after_rocket_clean_domain', // exists.
217 217
                 'hyper_cache_purged', // Stefano confirmed this will be added.
@@ -223,9 +223,9 @@  discard block
 block discarded – undo
223 223
                 'wpfc_delete_cache', // Emre confirmed this will be added this.
224 224
                 'swift_performance_after_clear_all_cache', // swift perf. yeah!
225 225
             );
226
-            $page_cache_purge_actions = apply_filters( 'autoptimize_filter_main_pagecachepurgeactions', $page_cache_purge_actions );
227
-            foreach ( $page_cache_purge_actions as $purge_action ) {
228
-                add_action( $purge_action, 'autoptimizeCache::clearall_actionless' );
226
+            $page_cache_purge_actions = apply_filters('autoptimize_filter_main_pagecachepurgeactions', $page_cache_purge_actions);
227
+            foreach ($page_cache_purge_actions as $purge_action) {
228
+                add_action($purge_action, 'autoptimizeCache::clearall_actionless');
229 229
             }
230 230
         }
231 231
     }
@@ -237,38 +237,38 @@  discard block
 block discarded – undo
237 237
      */
238 238
     public function start_buffering()
239 239
     {
240
-        if ( $this->should_buffer() ) {
240
+        if ($this->should_buffer()) {
241 241
 
242 242
             // Load speedupper conditionally (true by default).
243
-            if ( apply_filters( 'autoptimize_filter_speedupper', true ) ) {
243
+            if (apply_filters('autoptimize_filter_speedupper', true)) {
244 244
                 $ao_speedupper = new autoptimizeSpeedupper();
245 245
             }
246 246
 
247 247
             $conf = autoptimizeConfig::instance();
248 248
 
249
-            if ( $conf->get( 'autoptimize_js' ) ) {
250
-                if ( ! defined( 'CONCATENATE_SCRIPTS' ) ) {
251
-                    define( 'CONCATENATE_SCRIPTS', false );
249
+            if ($conf->get('autoptimize_js')) {
250
+                if (!defined('CONCATENATE_SCRIPTS')) {
251
+                    define('CONCATENATE_SCRIPTS', false);
252 252
                 }
253
-                if ( ! defined( 'COMPRESS_SCRIPTS' ) ) {
254
-                    define( 'COMPRESS_SCRIPTS', false );
253
+                if (!defined('COMPRESS_SCRIPTS')) {
254
+                    define('COMPRESS_SCRIPTS', false);
255 255
                 }
256 256
             }
257 257
 
258
-            if ( $conf->get( 'autoptimize_css' ) ) {
259
-                if ( ! defined( 'COMPRESS_CSS' ) ) {
260
-                    define( 'COMPRESS_CSS', false );
258
+            if ($conf->get('autoptimize_css')) {
259
+                if (!defined('COMPRESS_CSS')) {
260
+                    define('COMPRESS_CSS', false);
261 261
                 }
262 262
             }
263 263
 
264
-            if ( apply_filters( 'autoptimize_filter_obkiller', false ) ) {
265
-                while ( ob_get_level() > 0 ) {
264
+            if (apply_filters('autoptimize_filter_obkiller', false)) {
265
+                while (ob_get_level() > 0) {
266 266
                     ob_end_clean();
267 267
                 }
268 268
             }
269 269
 
270 270
             // Now, start the real thing!
271
-            ob_start( array( $this, 'end_buffering' ) );
271
+            ob_start(array($this, 'end_buffering'));
272 272
         }
273 273
     }
274 274
 
@@ -279,31 +279,31 @@  discard block
 block discarded – undo
279 279
      *                          deciding once per request (for use in tests).
280 280
      * @return bool
281 281
      */
282
-    public function should_buffer( $doing_tests = false )
282
+    public function should_buffer($doing_tests = false)
283 283
     {
284 284
         static $do_buffering = null;
285 285
 
286 286
         // Only check once in case we're called multiple times by others but
287 287
         // still allows multiple calls when doing tests.
288
-        if ( null === $do_buffering || $doing_tests ) {
288
+        if (null === $do_buffering || $doing_tests) {
289 289
 
290 290
             $ao_noptimize = false;
291 291
 
292 292
             // Checking for DONOTMINIFY constant as used by e.g. WooCommerce POS.
293
-            if ( defined( 'DONOTMINIFY' ) && ( constant( 'DONOTMINIFY' ) === true || constant( 'DONOTMINIFY' ) === 'true' ) ) {
293
+            if (defined('DONOTMINIFY') && (constant('DONOTMINIFY') === true || constant('DONOTMINIFY') === 'true')) {
294 294
                 $ao_noptimize = true;
295 295
             }
296 296
 
297 297
             // Skip checking query strings if they're disabled.
298
-            if ( apply_filters( 'autoptimize_filter_honor_qs_noptimize', true ) ) {
298
+            if (apply_filters('autoptimize_filter_honor_qs_noptimize', true)) {
299 299
                 // Check for `ao_noptimize` (and other) keys in the query string
300 300
                 // to get non-optimized page for debugging.
301 301
                 $keys = array(
302 302
                     'ao_noptimize',
303 303
                     'ao_noptirocket',
304 304
                 );
305
-                foreach ( $keys as $key ) {
306
-                    if ( array_key_exists( $key, $_GET ) && '1' === $_GET[ $key ] ) {
305
+                foreach ($keys as $key) {
306
+                    if (array_key_exists($key, $_GET) && '1' === $_GET[$key]) {
307 307
                         $ao_noptimize = true;
308 308
                         break;
309 309
                     }
@@ -311,15 +311,15 @@  discard block
 block discarded – undo
311 311
             }
312 312
 
313 313
             // If setting says not to optimize logged in user and user is logged in...
314
-            if ( 'on' !== autoptimizeOption::get_option( 'autoptimize_optimize_logged', 'on' ) && is_user_logged_in() && current_user_can( 'edit_posts' ) ) {
314
+            if ('on' !== autoptimizeOption::get_option('autoptimize_optimize_logged', 'on') && is_user_logged_in() && current_user_can('edit_posts')) {
315 315
                 $ao_noptimize = true;
316 316
             }
317 317
 
318 318
             // If setting says not to optimize cart/checkout.
319
-            if ( 'on' !== autoptimizeOption::get_option( 'autoptimize_optimize_checkout', 'on' ) ) {
319
+            if ('on' !== autoptimizeOption::get_option('autoptimize_optimize_checkout', 'on')) {
320 320
                 // Checking for woocommerce, easy digital downloads and wp ecommerce...
321
-                foreach ( array( 'is_checkout', 'is_cart', 'edd_is_checkout', 'wpsc_is_cart', 'wpsc_is_checkout' ) as $func ) {
322
-                    if ( function_exists( $func ) && $func() ) {
321
+                foreach (array('is_checkout', 'is_cart', 'edd_is_checkout', 'wpsc_is_cart', 'wpsc_is_checkout') as $func) {
322
+                    if (function_exists($func) && $func()) {
323 323
                         $ao_noptimize = true;
324 324
                         break;
325 325
                     }
@@ -327,11 +327,11 @@  discard block
 block discarded – undo
327 327
             }
328 328
 
329 329
             // Allows blocking of autoptimization on your own terms regardless of above decisions.
330
-            $ao_noptimize = (bool) apply_filters( 'autoptimize_filter_noptimize', $ao_noptimize );
330
+            $ao_noptimize = (bool) apply_filters('autoptimize_filter_noptimize', $ao_noptimize);
331 331
 
332 332
             // Check for site being previewed in the Customizer (available since WP 4.0).
333 333
             $is_customize_preview = false;
334
-            if ( function_exists( 'is_customize_preview' ) && is_customize_preview() ) {
334
+            if (function_exists('is_customize_preview') && is_customize_preview()) {
335 335
                 $is_customize_preview = is_customize_preview();
336 336
             }
337 337
 
@@ -342,7 +342,7 @@  discard block
 block discarded – undo
342 342
              * while the main query hasn't been ran yet. Thats why we use
343 343
              * AUTOPTIMIZE_INIT_EARLIER in tests.
344 344
              */
345
-            $do_buffering = ( ! is_admin() && ! is_feed() && ! $ao_noptimize && ! $is_customize_preview );
345
+            $do_buffering = (!is_admin() && !is_feed() && !$ao_noptimize && !$is_customize_preview);
346 346
         }
347 347
 
348 348
         return $do_buffering;
@@ -355,24 +355,24 @@  discard block
 block discarded – undo
355 355
      *
356 356
      * @return bool
357 357
      */
358
-    public function is_valid_buffer( $content )
358
+    public function is_valid_buffer($content)
359 359
     {
360 360
         // Defaults to true.
361 361
         $valid = true;
362 362
 
363
-        $has_no_html_tag    = ( false === stripos( $content, '<html' ) );
364
-        $has_xsl_stylesheet = ( false !== stripos( $content, '<xsl:stylesheet' ) );
365
-        $has_html5_doctype  = ( preg_match( '/^<!DOCTYPE.+html>/i', ltrim( $content ) ) > 0 );
363
+        $has_no_html_tag    = (false === stripos($content, '<html'));
364
+        $has_xsl_stylesheet = (false !== stripos($content, '<xsl:stylesheet'));
365
+        $has_html5_doctype  = (preg_match('/^<!DOCTYPE.+html>/i', ltrim($content)) > 0);
366 366
 
367
-        if ( $has_no_html_tag ) {
367
+        if ($has_no_html_tag) {
368 368
             // Can't be valid amp markup without an html tag preceding it.
369 369
             $is_amp_markup = false;
370 370
         } else {
371
-            $is_amp_markup = self::is_amp_markup( $content );
371
+            $is_amp_markup = self::is_amp_markup($content);
372 372
         }
373 373
 
374 374
         // If it's not html, or if it's amp or contains xsl stylesheets we don't touch it.
375
-        if ( $has_no_html_tag && ! $has_html5_doctype || $is_amp_markup || $has_xsl_stylesheet ) {
375
+        if ($has_no_html_tag && !$has_html5_doctype || $is_amp_markup || $has_xsl_stylesheet) {
376 376
             $valid = false;
377 377
         }
378 378
 
@@ -387,14 +387,14 @@  discard block
 block discarded – undo
387 387
      *
388 388
      * @return bool
389 389
      */
390
-    public static function is_amp_markup( $content )
390
+    public static function is_amp_markup($content)
391 391
     {
392 392
         // Short-circuit when a function is available to determine whether the response is (or will be) an AMP page.
393
-        if ( function_exists( 'is_amp_endpoint' ) ) {
393
+        if (function_exists('is_amp_endpoint')) {
394 394
             return is_amp_endpoint();
395 395
         }
396 396
 
397
-        $is_amp_markup = preg_match( '/<html[^>]*(?:amp|⚡)/i', $content );
397
+        $is_amp_markup = preg_match('/<html[^>]*(?:amp|⚡)/i', $content);
398 398
 
399 399
         return (bool) $is_amp_markup;
400 400
     }
@@ -407,10 +407,10 @@  discard block
 block discarded – undo
407 407
      *
408 408
      * @return string
409 409
      */
410
-    public function end_buffering( $content )
410
+    public function end_buffering($content)
411 411
     {
412 412
         // Bail early without modifying anything if we can't handle the content.
413
-        if ( ! $this->is_valid_buffer( $content ) ) {
413
+        if (!$this->is_valid_buffer($content)) {
414 414
             return $content;
415 415
         }
416 416
 
@@ -418,59 +418,59 @@  discard block
 block discarded – undo
418 418
 
419 419
         // Determine what needs to be ran.
420 420
         $classes = array();
421
-        if ( $conf->get( 'autoptimize_js' ) ) {
421
+        if ($conf->get('autoptimize_js')) {
422 422
             $classes[] = 'autoptimizeScripts';
423 423
         }
424
-        if ( $conf->get( 'autoptimize_css' ) ) {
424
+        if ($conf->get('autoptimize_css')) {
425 425
             $classes[] = 'autoptimizeStyles';
426 426
         }
427
-        if ( $conf->get( 'autoptimize_html' ) ) {
427
+        if ($conf->get('autoptimize_html')) {
428 428
             $classes[] = 'autoptimizeHTML';
429 429
         }
430 430
 
431 431
         $classoptions = array(
432 432
             'autoptimizeScripts' => array(
433
-                'aggregate'       => $conf->get( 'autoptimize_js_aggregate' ),
434
-                'justhead'        => $conf->get( 'autoptimize_js_justhead' ),
435
-                'forcehead'       => $conf->get( 'autoptimize_js_forcehead' ),
436
-                'trycatch'        => $conf->get( 'autoptimize_js_trycatch' ),
437
-                'js_exclude'      => $conf->get( 'autoptimize_js_exclude' ),
438
-                'cdn_url'         => $conf->get( 'autoptimize_cdn_url' ),
439
-                'include_inline'  => $conf->get( 'autoptimize_js_include_inline' ),
440
-                'minify_excluded' => $conf->get( 'autoptimize_minify_excluded' ),
433
+                'aggregate'       => $conf->get('autoptimize_js_aggregate'),
434
+                'justhead'        => $conf->get('autoptimize_js_justhead'),
435
+                'forcehead'       => $conf->get('autoptimize_js_forcehead'),
436
+                'trycatch'        => $conf->get('autoptimize_js_trycatch'),
437
+                'js_exclude'      => $conf->get('autoptimize_js_exclude'),
438
+                'cdn_url'         => $conf->get('autoptimize_cdn_url'),
439
+                'include_inline'  => $conf->get('autoptimize_js_include_inline'),
440
+                'minify_excluded' => $conf->get('autoptimize_minify_excluded'),
441 441
             ),
442 442
             'autoptimizeStyles'  => array(
443
-                'aggregate'       => $conf->get( 'autoptimize_css_aggregate' ),
444
-                'justhead'        => $conf->get( 'autoptimize_css_justhead' ),
445
-                'datauris'        => $conf->get( 'autoptimize_css_datauris' ),
446
-                'defer'           => $conf->get( 'autoptimize_css_defer' ),
447
-                'defer_inline'    => $conf->get( 'autoptimize_css_defer_inline' ),
448
-                'inline'          => $conf->get( 'autoptimize_css_inline' ),
449
-                'css_exclude'     => $conf->get( 'autoptimize_css_exclude' ),
450
-                'cdn_url'         => $conf->get( 'autoptimize_cdn_url' ),
451
-                'include_inline'  => $conf->get( 'autoptimize_css_include_inline' ),
452
-                'nogooglefont'    => $conf->get( 'autoptimize_css_nogooglefont' ),
453
-                'minify_excluded' => $conf->get( 'autoptimize_minify_excluded' ),
443
+                'aggregate'       => $conf->get('autoptimize_css_aggregate'),
444
+                'justhead'        => $conf->get('autoptimize_css_justhead'),
445
+                'datauris'        => $conf->get('autoptimize_css_datauris'),
446
+                'defer'           => $conf->get('autoptimize_css_defer'),
447
+                'defer_inline'    => $conf->get('autoptimize_css_defer_inline'),
448
+                'inline'          => $conf->get('autoptimize_css_inline'),
449
+                'css_exclude'     => $conf->get('autoptimize_css_exclude'),
450
+                'cdn_url'         => $conf->get('autoptimize_cdn_url'),
451
+                'include_inline'  => $conf->get('autoptimize_css_include_inline'),
452
+                'nogooglefont'    => $conf->get('autoptimize_css_nogooglefont'),
453
+                'minify_excluded' => $conf->get('autoptimize_minify_excluded'),
454 454
             ),
455 455
             'autoptimizeHTML'    => array(
456
-                'keepcomments' => $conf->get( 'autoptimize_html_keepcomments' ),
456
+                'keepcomments' => $conf->get('autoptimize_html_keepcomments'),
457 457
             ),
458 458
         );
459 459
 
460
-        $content = apply_filters( 'autoptimize_filter_html_before_minify', $content );
460
+        $content = apply_filters('autoptimize_filter_html_before_minify', $content);
461 461
 
462 462
         // Run the classes!
463
-        foreach ( $classes as $name ) {
464
-            $instance = new $name( $content );
465
-            if ( $instance->read( $classoptions[ $name ] ) ) {
463
+        foreach ($classes as $name) {
464
+            $instance = new $name($content);
465
+            if ($instance->read($classoptions[$name])) {
466 466
                 $instance->minify();
467 467
                 $instance->cache();
468 468
                 $content = $instance->getcontent();
469 469
             }
470
-            unset( $instance );
470
+            unset($instance);
471 471
         }
472 472
 
473
-        $content = apply_filters( 'autoptimize_html_after_minify', $content );
473
+        $content = apply_filters('autoptimize_html_after_minify', $content);
474 474
 
475 475
         return $content;
476 476
     }
@@ -514,25 +514,25 @@  discard block
 block discarded – undo
514 514
             'autoptimize_minify_excluded',
515 515
         );
516 516
 
517
-        if ( ! is_multisite() ) {
518
-            foreach ( $delete_options as $del_opt ) {
519
-                delete_option( $del_opt );
517
+        if (!is_multisite()) {
518
+            foreach ($delete_options as $del_opt) {
519
+                delete_option($del_opt);
520 520
             }
521 521
         } else {
522 522
             global $wpdb;
523
-            $blog_ids         = $wpdb->get_col( "SELECT blog_id FROM $wpdb->blogs" );
523
+            $blog_ids         = $wpdb->get_col("SELECT blog_id FROM $wpdb->blogs");
524 524
             $original_blog_id = get_current_blog_id();
525
-            foreach ( $blog_ids as $blog_id ) {
526
-                switch_to_blog( $blog_id );
527
-                foreach ( $delete_options as $del_opt ) {
528
-                    delete_option( $del_opt );
525
+            foreach ($blog_ids as $blog_id) {
526
+                switch_to_blog($blog_id);
527
+                foreach ($delete_options as $del_opt) {
528
+                    delete_option($del_opt);
529 529
                 }
530 530
             }
531
-            switch_to_blog( $original_blog_id );
531
+            switch_to_blog($original_blog_id);
532 532
         }
533 533
 
534
-        if ( wp_get_schedule( 'ao_cachechecker' ) ) {
535
-            wp_clear_scheduled_hook( 'ao_cachechecker' );
534
+        if (wp_get_schedule('ao_cachechecker')) {
535
+            wp_clear_scheduled_hook('ao_cachechecker');
536 536
         }
537 537
     }
538 538
 
@@ -540,35 +540,35 @@  discard block
 block discarded – undo
540 540
     {
541 541
         echo '<div class="error"><p>';
542 542
         // Translators: %s is the cache directory location.
543
-        printf( __( 'Autoptimize cannot write to the cache directory (%s), please fix to enable CSS/ JS optimization!', 'autoptimize' ), AUTOPTIMIZE_CACHE_DIR );
543
+        printf(__('Autoptimize cannot write to the cache directory (%s), please fix to enable CSS/ JS optimization!', 'autoptimize'), AUTOPTIMIZE_CACHE_DIR);
544 544
         echo '</p></div>';
545 545
     }
546 546
 
547 547
     public static function notice_installed()
548 548
     {
549 549
         echo '<div class="updated"><p>';
550
-        _e( 'Thank you for installing and activating Autoptimize. Please configure it under "Settings" -> "Autoptimize" to start improving your site\'s performance.', 'autoptimize' );
550
+        _e('Thank you for installing and activating Autoptimize. Please configure it under "Settings" -> "Autoptimize" to start improving your site\'s performance.', 'autoptimize');
551 551
         echo '</p></div>';
552 552
     }
553 553
 
554 554
     public static function notice_updated()
555 555
     {
556 556
         echo '<div class="updated"><p>';
557
-        _e( 'Autoptimize has just been updated. Please <strong>test your site now</strong> and adapt Autoptimize config if needed.', 'autoptimize' );
557
+        _e('Autoptimize has just been updated. Please <strong>test your site now</strong> and adapt Autoptimize config if needed.', 'autoptimize');
558 558
         echo '</p></div>';
559 559
     }
560 560
 
561 561
     public static function notice_plug_imgopt()
562 562
     {
563 563
         // Translators: the URL added points to the Autopmize Extra settings.
564
-        $_ao_imgopt_plug_notice      = sprintf( __( 'Did you know Autoptimize includes on-the-fly image optimization (with support for WebP) 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>' );
565
-        $_ao_imgopt_plug_notice      = apply_filters( 'autoptimize_filter_main_imgopt_plug_notice', $_ao_imgopt_plug_notice );
564
+        $_ao_imgopt_plug_notice      = sprintf(__('Did you know Autoptimize includes on-the-fly image optimization (with support for WebP) 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>');
565
+        $_ao_imgopt_plug_notice      = apply_filters('autoptimize_filter_main_imgopt_plug_notice', $_ao_imgopt_plug_notice);
566 566
         $_ao_imgopt_launch_ok        = autoptimizeImages::launch_ok_wrapper();
567 567
         $_ao_imgopt_plug_dismissible = 'ao-img-opt-plug-123';
568 568
         $_ao_imgopt_active           = autoptimizeImages::imgopt_active();
569 569
 
570
-        if ( current_user_can( 'manage_options' ) && '' !== $_ao_imgopt_plug_notice && ! $_ao_imgopt_active && $_ao_imgopt_launch_ok && PAnD::is_admin_notice_active( $_ao_imgopt_plug_dismissible ) ) {
571
-            echo '<div class="notice notice-info is-dismissible" data-dismissible="' . $_ao_imgopt_plug_dismissible . '"><p>';
570
+        if (current_user_can('manage_options') && '' !== $_ao_imgopt_plug_notice && !$_ao_imgopt_active && $_ao_imgopt_launch_ok && PAnD::is_admin_notice_active($_ao_imgopt_plug_dismissible)) {
571
+            echo '<div class="notice notice-info is-dismissible" data-dismissible="'.$_ao_imgopt_plug_dismissible.'"><p>';
572 572
             echo $_ao_imgopt_plug_notice;
573 573
             echo '</p></div>';
574 574
         }
Please login to merge, or discard this patch.