Completed
Push — master ( 97f9b5...6065f1 )
by frank
01:40
created
php/persist-admin-notices-dismissal/persist-admin-notices-dismissal.php 1 patch
Spacing   +30 added lines, -30 removed lines patch added patch discarded remove patch
@@ -28,11 +28,11 @@  discard block
 block discarded – undo
28 28
 /**
29 29
  * Exit if called directly.
30 30
  */
31
-if ( ! defined( 'ABSPATH' ) ) {
31
+if (!defined('ABSPATH')) {
32 32
 	die;
33 33
 }
34 34
 
35
-if ( ! class_exists( 'PAnD' ) ) {
35
+if (!class_exists('PAnD')) {
36 36
 
37 37
 	/**
38 38
 	 * Class PAnD
@@ -43,8 +43,8 @@  discard block
 block discarded – undo
43 43
 		 * Init hooks.
44 44
 		 */
45 45
 		public static function init() {
46
-			add_action( 'admin_enqueue_scripts', array( __CLASS__, 'load_script' ) );
47
-			add_action( 'wp_ajax_dismiss_admin_notice', array( __CLASS__, 'dismiss_admin_notice' ) );
46
+			add_action('admin_enqueue_scripts', array(__CLASS__, 'load_script'));
47
+			add_action('wp_ajax_dismiss_admin_notice', array(__CLASS__, 'dismiss_admin_notice'));
48 48
 		}
49 49
 
50 50
 		/**
@@ -52,14 +52,14 @@  discard block
 block discarded – undo
52 52
 		 */
53 53
 		public static function load_script() {
54 54
 
55
-			if ( is_customize_preview() ) {
55
+			if (is_customize_preview()) {
56 56
 				return;
57 57
 			}
58 58
 
59 59
 			wp_enqueue_script(
60 60
 				'dismissible-notices',
61
-				plugins_url( 'dismiss-notice.js', __FILE__ ),
62
-				array( 'jquery', 'common' ),
61
+				plugins_url('dismiss-notice.js', __FILE__),
62
+				array('jquery', 'common'),
63 63
 				false,
64 64
 				true
65 65
 			);
@@ -68,7 +68,7 @@  discard block
 block discarded – undo
68 68
 				'dismissible-notices',
69 69
 				'dismissible_notice',
70 70
 				array(
71
-					'nonce' => wp_create_nonce( 'dismissible-notice' ),
71
+					'nonce' => wp_create_nonce('dismissible-notice'),
72 72
 				)
73 73
 			);
74 74
 		}
@@ -78,17 +78,17 @@  discard block
 block discarded – undo
78 78
 		 * Uses check_ajax_referer to verify nonce.
79 79
 		 */
80 80
 		public static function dismiss_admin_notice() {
81
-			$option_name        = sanitize_text_field( $_POST['option_name'] );
82
-			$dismissible_length = sanitize_text_field( $_POST['dismissible_length'] );
81
+			$option_name        = sanitize_text_field($_POST['option_name']);
82
+			$dismissible_length = sanitize_text_field($_POST['dismissible_length']);
83 83
 
84
-			if ( 'forever' != $dismissible_length ) {
84
+			if ('forever' != $dismissible_length) {
85 85
 				// If $dismissible_length is not an integer default to 1
86
-				$dismissible_length = ( 0 == absint( $dismissible_length ) ) ? 1 : $dismissible_length;
87
-				$dismissible_length = strtotime( absint( $dismissible_length ) . ' days' );
86
+				$dismissible_length = (0 == absint($dismissible_length)) ? 1 : $dismissible_length;
87
+				$dismissible_length = strtotime(absint($dismissible_length).' days');
88 88
 			}
89 89
 
90
-			check_ajax_referer( 'dismissible-notice', 'nonce' );
91
-			self::set_admin_notice_cache( $option_name, $dismissible_length );
90
+			check_ajax_referer('dismissible-notice', 'nonce');
91
+			self::set_admin_notice_cache($option_name, $dismissible_length);
92 92
 			wp_die();
93 93
 		}
94 94
 
@@ -99,14 +99,14 @@  discard block
 block discarded – undo
99 99
 		 *
100 100
 		 * @return bool
101 101
 		 */
102
-		public static function is_admin_notice_active( $arg ) {
103
-			$array       = explode( '-', $arg );
104
-			$length      = array_pop( $array );
105
-			$option_name = implode( '-', $array );
106
-			$db_record   = self::get_admin_notice_cache( $option_name );
107
-			if ( 'forever' == $db_record ) {
102
+		public static function is_admin_notice_active($arg) {
103
+			$array       = explode('-', $arg);
104
+			$length      = array_pop($array);
105
+			$option_name = implode('-', $array);
106
+			$db_record   = self::get_admin_notice_cache($option_name);
107
+			if ('forever' == $db_record) {
108 108
 				return false;
109
-			} elseif ( absint( $db_record ) >= time() ) {
109
+			} elseif (absint($db_record) >= time()) {
110 110
 				return false;
111 111
 			} else {
112 112
 				return true;
@@ -122,15 +122,15 @@  discard block
 block discarded – undo
122 122
 		 *
123 123
 		 * @return array|bool The timeout. False if expired.
124 124
 		 */
125
-		public static function get_admin_notice_cache( $id = false ) {
126
-			if ( ! $id ) {
125
+		public static function get_admin_notice_cache($id = false) {
126
+			if (!$id) {
127 127
 				return false;
128 128
 			}
129
-			$cache_key = 'pand-' . md5( $id );
130
-			$timeout   = get_site_option( $cache_key );
129
+			$cache_key = 'pand-'.md5($id);
130
+			$timeout   = get_site_option($cache_key);
131 131
 			$timeout   = 'forever' === $timeout ? time() + 60 : $timeout;
132 132
 
133
-			if ( empty( $timeout ) || time() > $timeout ) {
133
+			if (empty($timeout) || time() > $timeout) {
134 134
 				return false;
135 135
 			}
136 136
 
@@ -147,9 +147,9 @@  discard block
 block discarded – undo
147 147
 		 *
148 148
 		 * @return bool
149 149
 		 */
150
-		public static function set_admin_notice_cache( $id, $timeout ) {
151
-			$cache_key = 'pand-' . md5( $id );
152
-			update_site_option( $cache_key, $timeout );
150
+		public static function set_admin_notice_cache($id, $timeout) {
151
+			$cache_key = 'pand-'.md5($id);
152
+			update_site_option($cache_key, $timeout);
153 153
 
154 154
 			return true;
155 155
 		}
Please login to merge, or discard this patch.
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/autoptimizeCacheChecker.php 1 patch
Spacing   +38 added lines, -38 removed lines patch added patch discarded remove patch
@@ -6,7 +6,7 @@  discard block
 block discarded – undo
6 6
  * Checks if cachesize is > 0.5GB (size is filterable), if so, an option is set which controls showing an admin notice.
7 7
  */
8 8
 
9
-if ( ! defined( 'ABSPATH' ) ) {
9
+if (!defined('ABSPATH')) {
10 10
     exit;
11 11
 }
12 12
 
@@ -25,51 +25,51 @@  discard block
 block discarded – undo
25 25
 
26 26
     public function add_hooks()
27 27
     {
28
-        if ( is_admin() ) {
29
-            add_action( 'plugins_loaded', array( $this, 'setup' ) );
28
+        if (is_admin()) {
29
+            add_action('plugins_loaded', array($this, 'setup'));
30 30
         }
31
-        add_action( self::SCHEDULE_HOOK, array( $this, 'cronjob' ) );
32
-        add_action( 'admin_notices', array( $this, 'show_admin_notice' ) );
31
+        add_action(self::SCHEDULE_HOOK, array($this, 'cronjob'));
32
+        add_action('admin_notices', array($this, 'show_admin_notice'));
33 33
     }
34 34
 
35 35
     public function setup()
36 36
     {
37
-        $do_cache_check = (bool) apply_filters( 'autoptimize_filter_cachecheck_do', true );
38
-        $schedule       = wp_get_schedule( self::SCHEDULE_HOOK );
39
-        $frequency      = apply_filters( 'autoptimize_filter_cachecheck_frequency', 'twicedaily' );
40
-        if ( ! in_array( $frequency, array( 'hourly', 'twicedaily', 'daily', 'weekly', 'monthly' ) ) ) {
37
+        $do_cache_check = (bool) apply_filters('autoptimize_filter_cachecheck_do', true);
38
+        $schedule       = wp_get_schedule(self::SCHEDULE_HOOK);
39
+        $frequency      = apply_filters('autoptimize_filter_cachecheck_frequency', 'twicedaily');
40
+        if (!in_array($frequency, array('hourly', 'twicedaily', 'daily', 'weekly', 'monthly'))) {
41 41
             $frequency = 'twicedaily';
42 42
         }
43
-        if ( $do_cache_check && ( ! $schedule || $schedule !== $frequency ) ) {
44
-            if ( $schedule ) {
45
-                wp_clear_scheduled_hook( self::SCHEDULE_HOOK );
43
+        if ($do_cache_check && (!$schedule || $schedule !== $frequency)) {
44
+            if ($schedule) {
45
+                wp_clear_scheduled_hook(self::SCHEDULE_HOOK);
46 46
             }
47
-            wp_schedule_event( time(), $frequency, self::SCHEDULE_HOOK );
48
-        } elseif ( $schedule && ! $do_cache_check ) {
49
-            wp_clear_scheduled_hook( self::SCHEDULE_HOOK );
47
+            wp_schedule_event(time(), $frequency, self::SCHEDULE_HOOK);
48
+        } elseif ($schedule && !$do_cache_check) {
49
+            wp_clear_scheduled_hook(self::SCHEDULE_HOOK);
50 50
         }
51 51
     }
52 52
 
53 53
     public function cronjob()
54 54
     {
55 55
         // Check cachesize and act accordingly.
56
-        $max_size       = (int) apply_filters( 'autoptimize_filter_cachecheck_maxsize', 536870912 );
57
-        $do_cache_check = (bool) apply_filters( 'autoptimize_filter_cachecheck_do', true );
56
+        $max_size       = (int) apply_filters('autoptimize_filter_cachecheck_maxsize', 536870912);
57
+        $do_cache_check = (bool) apply_filters('autoptimize_filter_cachecheck_do', true);
58 58
         $stat_array     = autoptimizeCache::stats();
59
-        $cache_size     = round( $stat_array[1] );
60
-        if ( ( $cache_size > $max_size ) && ( $do_cache_check ) ) {
61
-            update_option( 'autoptimize_cachesize_notice', true );
62
-            if ( apply_filters( 'autoptimize_filter_cachecheck_sendmail', true ) ) {
63
-                $home_url  = esc_url( home_url() );
64
-                $ao_mailto = apply_filters( 'autoptimize_filter_cachecheck_mailto', get_option( 'admin_email', '' ) );
65
-
66
-                $ao_mailsubject = __( 'Autoptimize cache size warning', 'autoptimize' ) . ' (' . $home_url . ')';
67
-                $ao_mailbody    = __( 'Autoptimize\'s cache size is getting big, consider purging the cache. Have a look at https://wordpress.org/plugins/autoptimize/faq/ to see how you can keep the cache size under control.', 'autoptimize' ) . ' (site: ' . $home_url . ')';
68
-
69
-                if ( ! empty( $ao_mailto ) ) {
70
-                    $ao_mailresult = wp_mail( $ao_mailto, $ao_mailsubject, $ao_mailbody );
71
-                    if ( ! $ao_mailresult ) {
72
-                        error_log( 'Autoptimize could not send cache size warning mail.' );
59
+        $cache_size     = round($stat_array[1]);
60
+        if (($cache_size > $max_size) && ($do_cache_check)) {
61
+            update_option('autoptimize_cachesize_notice', true);
62
+            if (apply_filters('autoptimize_filter_cachecheck_sendmail', true)) {
63
+                $home_url  = esc_url(home_url());
64
+                $ao_mailto = apply_filters('autoptimize_filter_cachecheck_mailto', get_option('admin_email', ''));
65
+
66
+                $ao_mailsubject = __('Autoptimize cache size warning', 'autoptimize').' ('.$home_url.')';
67
+                $ao_mailbody    = __('Autoptimize\'s cache size is getting big, consider purging the cache. Have a look at https://wordpress.org/plugins/autoptimize/faq/ to see how you can keep the cache size under control.', 'autoptimize').' (site: '.$home_url.')';
68
+
69
+                if (!empty($ao_mailto)) {
70
+                    $ao_mailresult = wp_mail($ao_mailto, $ao_mailsubject, $ao_mailbody);
71
+                    if (!$ao_mailresult) {
72
+                        error_log('Autoptimize could not send cache size warning mail.');
73 73
                     }
74 74
                 }
75 75
             }
@@ -87,16 +87,16 @@  discard block
 block discarded – undo
87 87
 
88 88
     public function show_admin_notice()
89 89
     {
90
-        if ( (bool) get_option( 'autoptimize_cachesize_notice', false ) && current_user_can( 'manage_options' ) ) {
90
+        if ((bool) get_option('autoptimize_cachesize_notice', false) && current_user_can('manage_options')) {
91 91
             echo '<div class="notice notice-warning"><p>';
92
-            _e( '<strong>Autoptimize\'s cache size is getting big</strong>, consider purging the cache. Have a look at <a href="https://wordpress.org/plugins/autoptimize/faq/" target="_blank" rel="noopener noreferrer">the Autoptimize FAQ</a> to see how you can keep the cache size under control.', 'autoptimize' );
92
+            _e('<strong>Autoptimize\'s cache size is getting big</strong>, consider purging the cache. Have a look at <a href="https://wordpress.org/plugins/autoptimize/faq/" target="_blank" rel="noopener noreferrer">the Autoptimize FAQ</a> to see how you can keep the cache size under control.', 'autoptimize');
93 93
             echo '</p></div>';
94
-            update_option( 'autoptimize_cachesize_notice', false );
94
+            update_option('autoptimize_cachesize_notice', false);
95 95
         }
96 96
 
97 97
         // Notice for image proxy usage.
98 98
         $_imgopt_notice = autoptimizeImages::instance()->get_status_notice();
99
-        if ( current_user_can( 'manage_options' ) && is_array( $_imgopt_notice ) && array_key_exists( 'status', $_imgopt_notice ) && in_array( $_imgopt_notice['status'], array( 1, -1, -2 ) ) ) {
99
+        if (current_user_can('manage_options') && is_array($_imgopt_notice) && array_key_exists('status', $_imgopt_notice) && in_array($_imgopt_notice['status'], array(1, -1, -2))) {
100 100
             $_dismissible = 'ao-img-opt-notice-';
101 101
             $_hide_notice = '7';
102 102
 
@@ -104,10 +104,10 @@  discard block
 block discarded – undo
104 104
                 $_hide_notice = '1';
105 105
             }
106 106
 
107
-            $_imgopt_notice_dismissible = apply_filters( 'autoptimize_filter_imgopt_notice_dismissable', $_dismissible . $_hide_notice );
107
+            $_imgopt_notice_dismissible = apply_filters('autoptimize_filter_imgopt_notice_dismissable', $_dismissible.$_hide_notice);
108 108
 
109
-            if ( $_imgopt_notice && PAnD::is_admin_notice_active( $_imgopt_notice_dismissible ) ) {
110
-                echo '<div class="notice notice-warning is-dismissible" data-dismissible="' . $_imgopt_notice_dismissible . '"><p>' . $_imgopt_notice['notice'] . '</p></div>';
109
+            if ($_imgopt_notice && PAnD::is_admin_notice_active($_imgopt_notice_dismissible)) {
110
+                echo '<div class="notice notice-warning is-dismissible" data-dismissible="'.$_imgopt_notice_dismissible.'"><p>'.$_imgopt_notice['notice'].'</p></div>';
111 111
             }
112 112
         }
113 113
     }
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.
classes/autoptimizeExtra.php 1 patch
Spacing   +159 added lines, -159 removed lines patch added patch discarded remove patch
@@ -3,7 +3,7 @@  discard block
 block discarded – undo
3 3
  * Handles autoptimizeExtra frontend features + admin options page
4 4
  */
5 5
 
6
-if ( ! defined( 'ABSPATH' ) ) {
6
+if (!defined('ABSPATH')) {
7 7
     exit;
8 8
 }
9 9
 
@@ -21,9 +21,9 @@  discard block
 block discarded – undo
21 21
      *
22 22
      * @param array $options Optional. Allows overriding options without having to specify them via admin options page.
23 23
      */
24
-    public function __construct( $options = array() )
24
+    public function __construct($options = array())
25 25
     {
26
-        if ( empty( $options ) ) {
26
+        if (empty($options)) {
27 27
             $options = self::fetch_options();
28 28
         }
29 29
 
@@ -32,9 +32,9 @@  discard block
 block discarded – undo
32 32
 
33 33
     public function run()
34 34
     {
35
-        if ( is_admin() ) {
36
-            add_action( 'admin_menu', array( $this, 'admin_menu' ) );
37
-            add_filter( 'autoptimize_filter_settingsscreen_tabs', array( $this, 'add_extra_tab' ) );
35
+        if (is_admin()) {
36
+            add_action('admin_menu', array($this, 'admin_menu'));
37
+            add_filter('autoptimize_filter_settingsscreen_tabs', array($this, 'add_extra_tab'));
38 38
         } else {
39 39
             $this->run_on_frontend();
40 40
         }
@@ -42,8 +42,8 @@  discard block
 block discarded – undo
42 42
 
43 43
     public static function fetch_options()
44 44
     {
45
-        $value = get_option( 'autoptimize_extra_settings' );
46
-        if ( empty( $value ) ) {
45
+        $value = get_option('autoptimize_extra_settings');
46
+        if (empty($value)) {
47 47
             // Fallback to returning defaults when no stored option exists yet.
48 48
             $value = autoptimizeConfig::get_ao_extra_default_options();
49 49
         }
@@ -54,55 +54,55 @@  discard block
 block discarded – undo
54 54
     public function disable_emojis()
55 55
     {
56 56
         // Removing all actions related to emojis!
57
-        remove_action( 'admin_print_styles', 'print_emoji_styles' );
58
-        remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
59
-        remove_action( 'admin_print_scripts', 'print_emoji_detection_script' );
60
-        remove_action( 'wp_print_styles', 'print_emoji_styles' );
61
-        remove_filter( 'wp_mail', 'wp_staticize_emoji_for_email' );
62
-        remove_filter( 'the_content_feed', 'wp_staticize_emoji' );
63
-        remove_filter( 'comment_text_rss', 'wp_staticize_emoji' );
57
+        remove_action('admin_print_styles', 'print_emoji_styles');
58
+        remove_action('wp_head', 'print_emoji_detection_script', 7);
59
+        remove_action('admin_print_scripts', 'print_emoji_detection_script');
60
+        remove_action('wp_print_styles', 'print_emoji_styles');
61
+        remove_filter('wp_mail', 'wp_staticize_emoji_for_email');
62
+        remove_filter('the_content_feed', 'wp_staticize_emoji');
63
+        remove_filter('comment_text_rss', 'wp_staticize_emoji');
64 64
 
65 65
         // Removes TinyMCE emojis.
66
-        add_filter( 'tiny_mce_plugins', array( $this, 'filter_disable_emojis_tinymce' ) );
66
+        add_filter('tiny_mce_plugins', array($this, 'filter_disable_emojis_tinymce'));
67 67
 
68 68
         // Removes emoji dns-preftech.
69
-        add_filter( 'wp_resource_hints', array( $this, 'filter_remove_emoji_dns_prefetch' ), 10, 2 );
69
+        add_filter('wp_resource_hints', array($this, 'filter_remove_emoji_dns_prefetch'), 10, 2);
70 70
     }
71 71
 
72
-    public function filter_disable_emojis_tinymce( $plugins )
72
+    public function filter_disable_emojis_tinymce($plugins)
73 73
     {
74
-        if ( is_array( $plugins ) ) {
75
-            return array_diff( $plugins, array( 'wpemoji' ) );
74
+        if (is_array($plugins)) {
75
+            return array_diff($plugins, array('wpemoji'));
76 76
         } else {
77 77
             return array();
78 78
         }
79 79
     }
80 80
 
81
-    public function filter_remove_qs( $src )
81
+    public function filter_remove_qs($src)
82 82
     {
83
-        if ( strpos( $src, '?ver=' ) ) {
84
-            $src = remove_query_arg( 'ver', $src );
83
+        if (strpos($src, '?ver=')) {
84
+            $src = remove_query_arg('ver', $src);
85 85
         }
86 86
 
87 87
         return $src;
88 88
     }
89 89
 
90
-    public function extra_async_js( $in )
90
+    public function extra_async_js($in)
91 91
     {
92 92
         $exclusions = array();
93
-        if ( ! empty( $in ) ) {
94
-            $exclusions = array_fill_keys( array_filter( array_map( 'trim', explode( ',', $in ) ) ), '' );
93
+        if (!empty($in)) {
94
+            $exclusions = array_fill_keys(array_filter(array_map('trim', explode(',', $in))), '');
95 95
         }
96 96
 
97 97
         $settings = $this->options['autoptimize_extra_text_field_3'];
98
-        $async    = array_fill_keys( array_filter( array_map( 'trim', explode( ',', $settings ) ) ), '' );
99
-        $attr     = apply_filters( 'autoptimize_filter_extra_async', 'async' );
100
-        foreach ( $async as $k => $v ) {
101
-            $async[ $k ] = $attr;
98
+        $async    = array_fill_keys(array_filter(array_map('trim', explode(',', $settings))), '');
99
+        $attr     = apply_filters('autoptimize_filter_extra_async', 'async');
100
+        foreach ($async as $k => $v) {
101
+            $async[$k] = $attr;
102 102
         }
103 103
 
104 104
         // Merge exclusions & asyncs in one array and return to AO API.
105
-        $merged = array_merge( $exclusions, $async );
105
+        $merged = array_merge($exclusions, $async);
106 106
 
107 107
         return $merged;
108 108
     }
@@ -112,54 +112,54 @@  discard block
 block discarded – undo
112 112
         $options = $this->options;
113 113
 
114 114
         // Disable emojis if specified.
115
-        if ( ! empty( $options['autoptimize_extra_checkbox_field_1'] ) ) {
115
+        if (!empty($options['autoptimize_extra_checkbox_field_1'])) {
116 116
             $this->disable_emojis();
117 117
         }
118 118
 
119 119
         // Remove version query parameters.
120
-        if ( ! empty( $options['autoptimize_extra_checkbox_field_0'] ) ) {
121
-            add_filter( 'script_loader_src', array( $this, 'filter_remove_qs' ), 15, 1 );
122
-            add_filter( 'style_loader_src', array( $this, 'filter_remove_qs' ), 15, 1 );
120
+        if (!empty($options['autoptimize_extra_checkbox_field_0'])) {
121
+            add_filter('script_loader_src', array($this, 'filter_remove_qs'), 15, 1);
122
+            add_filter('style_loader_src', array($this, 'filter_remove_qs'), 15, 1);
123 123
         }
124 124
 
125 125
         // Avoiding conflicts of interest when async-javascript plugin is active!
126
-        $async_js_plugin_active = autoptimizeUtils::is_plugin_active( 'async-javascript/async-javascript.php' );
127
-        if ( ! empty( $options['autoptimize_extra_text_field_3'] ) && ! $async_js_plugin_active ) {
128
-            add_filter( 'autoptimize_filter_js_exclude', array( $this, 'extra_async_js' ), 10, 1 );
126
+        $async_js_plugin_active = autoptimizeUtils::is_plugin_active('async-javascript/async-javascript.php');
127
+        if (!empty($options['autoptimize_extra_text_field_3']) && !$async_js_plugin_active) {
128
+            add_filter('autoptimize_filter_js_exclude', array($this, 'extra_async_js'), 10, 1);
129 129
         }
130 130
 
131 131
         // Optimize google fonts!
132
-        if ( ! empty( $options['autoptimize_extra_radio_field_4'] ) && ( '1' !== $options['autoptimize_extra_radio_field_4'] ) ) {
133
-            add_filter( 'wp_resource_hints', array( $this, 'filter_remove_gfonts_dnsprefetch' ), 10, 2 );
134
-            add_filter( 'autoptimize_html_after_minify', array( $this, 'filter_optimize_google_fonts' ), 10, 1 );
135
-            add_filter( 'autoptimize_extra_filter_tobepreconn', array( $this, 'filter_preconnect_google_fonts' ), 10, 1 );
132
+        if (!empty($options['autoptimize_extra_radio_field_4']) && ('1' !== $options['autoptimize_extra_radio_field_4'])) {
133
+            add_filter('wp_resource_hints', array($this, 'filter_remove_gfonts_dnsprefetch'), 10, 2);
134
+            add_filter('autoptimize_html_after_minify', array($this, 'filter_optimize_google_fonts'), 10, 1);
135
+            add_filter('autoptimize_extra_filter_tobepreconn', array($this, 'filter_preconnect_google_fonts'), 10, 1);
136 136
         }
137 137
 
138 138
         // Preconnect!
139
-        if ( ! empty( $options['autoptimize_extra_text_field_2'] ) || has_filter( 'autoptimize_extra_filter_tobepreconn' ) ) {
140
-            add_filter( 'wp_resource_hints', array( $this, 'filter_preconnect' ), 10, 2 );
139
+        if (!empty($options['autoptimize_extra_text_field_2']) || has_filter('autoptimize_extra_filter_tobepreconn')) {
140
+            add_filter('wp_resource_hints', array($this, 'filter_preconnect'), 10, 2);
141 141
         }
142 142
     }
143 143
 
144
-    public function filter_remove_emoji_dns_prefetch( $urls, $relation_type )
144
+    public function filter_remove_emoji_dns_prefetch($urls, $relation_type)
145 145
     {
146
-        $emoji_svg_url = apply_filters( 'emoji_svg_url', 'https://s.w.org/images/core/emoji/' );
146
+        $emoji_svg_url = apply_filters('emoji_svg_url', 'https://s.w.org/images/core/emoji/');
147 147
 
148
-        return $this->filter_remove_dns_prefetch( $urls, $relation_type, $emoji_svg_url );
148
+        return $this->filter_remove_dns_prefetch($urls, $relation_type, $emoji_svg_url);
149 149
     }
150 150
 
151
-    public function filter_remove_gfonts_dnsprefetch( $urls, $relation_type )
151
+    public function filter_remove_gfonts_dnsprefetch($urls, $relation_type)
152 152
     {
153
-        return $this->filter_remove_dns_prefetch( $urls, $relation_type, 'fonts.googleapis.com' );
153
+        return $this->filter_remove_dns_prefetch($urls, $relation_type, 'fonts.googleapis.com');
154 154
     }
155 155
 
156
-    public function filter_remove_dns_prefetch( $urls, $relation_type, $url_to_remove )
156
+    public function filter_remove_dns_prefetch($urls, $relation_type, $url_to_remove)
157 157
     {
158
-        if ( 'dns-prefetch' === $relation_type ) {
158
+        if ('dns-prefetch' === $relation_type) {
159 159
             $cnt = 0;
160
-            foreach ( $urls as $url ) {
161
-                if ( false !== strpos( $url, $url_to_remove ) ) {
162
-                    unset( $urls[ $cnt ] );
160
+            foreach ($urls as $url) {
161
+                if (false !== strpos($url, $url_to_remove)) {
162
+                    unset($urls[$cnt]);
163 163
                 }
164 164
                 $cnt++;
165 165
             }
@@ -168,131 +168,131 @@  discard block
 block discarded – undo
168 168
         return $urls;
169 169
     }
170 170
 
171
-    public function filter_optimize_google_fonts( $in )
171
+    public function filter_optimize_google_fonts($in)
172 172
     {
173 173
         // Extract fonts, partly based on wp rocket's extraction code.
174
-        $markup = preg_replace( '/<!--(.*)-->/Uis', '', $in );
175
-        preg_match_all( '#<link(?:\s+(?:(?!href\s*=\s*)[^>])+)?(?:\s+href\s*=\s*([\'"])((?:https?:)?\/\/fonts\.googleapis\.com\/css(?:(?!\1).)+)\1)(?:\s+[^>]*)?>#iU', $markup, $matches );
174
+        $markup = preg_replace('/<!--(.*)-->/Uis', '', $in);
175
+        preg_match_all('#<link(?:\s+(?:(?!href\s*=\s*)[^>])+)?(?:\s+href\s*=\s*([\'"])((?:https?:)?\/\/fonts\.googleapis\.com\/css(?:(?!\1).)+)\1)(?:\s+[^>]*)?>#iU', $markup, $matches);
176 176
 
177 177
         $fonts_collection = array();
178
-        if ( ! $matches[2] ) {
178
+        if (!$matches[2]) {
179 179
             return $in;
180 180
         }
181 181
 
182 182
         // Store them in $fonts array.
183 183
         $i = 0;
184
-        foreach ( $matches[2] as $font ) {
185
-            if ( ! preg_match( '/rel=["\']dns-prefetch["\']/', $matches[0][ $i ] ) ) {
184
+        foreach ($matches[2] as $font) {
185
+            if (!preg_match('/rel=["\']dns-prefetch["\']/', $matches[0][$i])) {
186 186
                 // Get fonts name.
187
-                $font = str_replace( array( '%7C', '%7c' ), '|', $font );
188
-                $font = explode( 'family=', $font );
189
-                $font = ( isset( $font[1] ) ) ? explode( '&', $font[1] ) : array();
187
+                $font = str_replace(array('%7C', '%7c'), '|', $font);
188
+                $font = explode('family=', $font);
189
+                $font = (isset($font[1])) ? explode('&', $font[1]) : array();
190 190
                 // Add font to $fonts[$i] but make sure not to pollute with an empty family!
191
-                $_thisfont = array_values( array_filter( explode( '|', reset( $font ) ) ) );
192
-                if ( ! empty( $_thisfont ) ) {
193
-                    $fonts_collection[ $i ]['fonts'] = $_thisfont;
191
+                $_thisfont = array_values(array_filter(explode('|', reset($font))));
192
+                if (!empty($_thisfont)) {
193
+                    $fonts_collection[$i]['fonts'] = $_thisfont;
194 194
                     // And add subset if any!
195
-                    $subset = ( is_array( $font ) ) ? end( $font ) : '';
196
-                    if ( false !== strpos( $subset, 'subset=' ) ) {
197
-                        $subset                            = str_replace( array( '%2C', '%2c' ), ',', $subset );
198
-                        $subset                            = explode( 'subset=', $subset );
199
-                        $fonts_collection[ $i ]['subsets'] = explode( ',', $subset[1] );
195
+                    $subset = (is_array($font)) ? end($font) : '';
196
+                    if (false !== strpos($subset, 'subset=')) {
197
+                        $subset                            = str_replace(array('%2C', '%2c'), ',', $subset);
198
+                        $subset                            = explode('subset=', $subset);
199
+                        $fonts_collection[$i]['subsets'] = explode(',', $subset[1]);
200 200
                     }
201 201
                 }
202 202
                 // And remove Google Fonts.
203
-                $in = str_replace( $matches[0][ $i ], '', $in );
203
+                $in = str_replace($matches[0][$i], '', $in);
204 204
             }
205 205
             $i++;
206 206
         }
207 207
 
208 208
         $options      = $this->options;
209 209
         $fonts_markup = '';
210
-        if ( '2' === $options['autoptimize_extra_radio_field_4'] ) {
210
+        if ('2' === $options['autoptimize_extra_radio_field_4']) {
211 211
             // Remove Google Fonts.
212
-            unset( $fonts_collection );
212
+            unset($fonts_collection);
213 213
             return $in;
214
-        } elseif ( '3' === $options['autoptimize_extra_radio_field_4'] || '5' === $options['autoptimize_extra_radio_field_4'] ) {
214
+        } elseif ('3' === $options['autoptimize_extra_radio_field_4'] || '5' === $options['autoptimize_extra_radio_field_4']) {
215 215
             // Aggregate & link!
216 216
             $fonts_string  = '';
217 217
             $subset_string = '';
218
-            foreach ( $fonts_collection as $font ) {
219
-                $fonts_string .= '|' . trim( implode( '|', $font['fonts'] ), '|' );
220
-                if ( ! empty( $font['subsets'] ) ) {
221
-                    $subset_string .= ',' . trim( implode( ',', $font['subsets'] ), ',' );
218
+            foreach ($fonts_collection as $font) {
219
+                $fonts_string .= '|'.trim(implode('|', $font['fonts']), '|');
220
+                if (!empty($font['subsets'])) {
221
+                    $subset_string .= ','.trim(implode(',', $font['subsets']), ',');
222 222
                 }
223 223
             }
224 224
 
225
-            if ( ! empty( $subset_string ) ) {
226
-                $subset_string = str_replace( ',', '%2C', ltrim( $subset_string, ',' ) );
227
-                $fonts_string  = $fonts_string . '&#038;subset=' . $subset_string;
225
+            if (!empty($subset_string)) {
226
+                $subset_string = str_replace(',', '%2C', ltrim($subset_string, ','));
227
+                $fonts_string  = $fonts_string.'&#038;subset='.$subset_string;
228 228
             }
229 229
 
230
-            $fonts_string = str_replace( '|', '%7C', ltrim( $fonts_string, '|' ) );
230
+            $fonts_string = str_replace('|', '%7C', ltrim($fonts_string, '|'));
231 231
 
232
-            if ( ! empty( $fonts_string ) ) {
233
-                if ( '5' === $options['autoptimize_extra_radio_field_4'] ) {
234
-                    $rel_string = 'rel="preload" as="style" onload="' . autoptimizeConfig::get_ao_css_preload_onload() . '"';
232
+            if (!empty($fonts_string)) {
233
+                if ('5' === $options['autoptimize_extra_radio_field_4']) {
234
+                    $rel_string = 'rel="preload" as="style" onload="'.autoptimizeConfig::get_ao_css_preload_onload().'"';
235 235
                 } else {
236 236
                     $rel_string = 'rel="stylesheet"';
237 237
                 }
238
-                $fonts_markup = '<link ' . $rel_string . ' id="ao_optimized_gfonts" href="https://fonts.googleapis.com/css?family=' . $fonts_string . '" />';
238
+                $fonts_markup = '<link '.$rel_string.' id="ao_optimized_gfonts" href="https://fonts.googleapis.com/css?family='.$fonts_string.'" />';
239 239
             }
240
-        } elseif ( '4' === $options['autoptimize_extra_radio_field_4'] ) {
240
+        } elseif ('4' === $options['autoptimize_extra_radio_field_4']) {
241 241
             // Aggregate & load async (webfont.js impl.)!
242 242
             $fonts_array = array();
243
-            foreach ( $fonts_collection as $_fonts ) {
244
-                if ( ! empty( $_fonts['subsets'] ) ) {
245
-                    $_subset = implode( ',', $_fonts['subsets'] );
246
-                    foreach ( $_fonts['fonts'] as $key => $_one_font ) {
247
-                        $_one_font               = $_one_font . ':' . $_subset;
248
-                        $_fonts['fonts'][ $key ] = $_one_font;
243
+            foreach ($fonts_collection as $_fonts) {
244
+                if (!empty($_fonts['subsets'])) {
245
+                    $_subset = implode(',', $_fonts['subsets']);
246
+                    foreach ($_fonts['fonts'] as $key => $_one_font) {
247
+                        $_one_font               = $_one_font.':'.$_subset;
248
+                        $_fonts['fonts'][$key] = $_one_font;
249 249
                     }
250 250
                 }
251
-                $fonts_array = array_merge( $fonts_array, $_fonts['fonts'] );
251
+                $fonts_array = array_merge($fonts_array, $_fonts['fonts']);
252 252
             }
253 253
 
254
-            $fonts_array          = array_map( 'urldecode', $fonts_array );
255
-            $fonts_markup         = '<script data-cfasync="false" id="ao_optimized_gfonts_config" type="text/javascript">WebFontConfig={google:{families:' . wp_json_encode( $fonts_array ) . ' },classes:false, events:false, timeout:1500};</script>';
254
+            $fonts_array          = array_map('urldecode', $fonts_array);
255
+            $fonts_markup         = '<script data-cfasync="false" id="ao_optimized_gfonts_config" type="text/javascript">WebFontConfig={google:{families:'.wp_json_encode($fonts_array).' },classes:false, events:false, timeout:1500};</script>';
256 256
             $fonts_library_markup = '<script data-cfasync="false" id="ao_optimized_gfonts_webfontloader" type="text/javascript">(function() {var wf = document.createElement(\'script\');wf.src=\'https://ajax.googleapis.com/ajax/libs/webfont/1/webfont.js\';wf.type=\'text/javascript\';wf.async=\'true\';var s=document.getElementsByTagName(\'script\')[0];s.parentNode.insertBefore(wf, s);})();</script>';
257
-            $in                   = substr_replace( $in, $fonts_library_markup . '</head>', strpos( $in, '</head>' ), strlen( '</head>' ) );
257
+            $in                   = substr_replace($in, $fonts_library_markup.'</head>', strpos($in, '</head>'), strlen('</head>'));
258 258
         }
259 259
 
260 260
         // Replace back in markup.
261
-        $inject_point = apply_filters( 'autoptimize_filter_extra_gfont_injectpoint', '<link' );
262
-        $out          = substr_replace( $in, $fonts_markup . $inject_point, strpos( $in, $inject_point ), strlen( $inject_point ) );
263
-        unset( $fonts_collection );
261
+        $inject_point = apply_filters('autoptimize_filter_extra_gfont_injectpoint', '<link');
262
+        $out          = substr_replace($in, $fonts_markup.$inject_point, strpos($in, $inject_point), strlen($inject_point));
263
+        unset($fonts_collection);
264 264
 
265 265
         // and insert preload polyfill if "link preload" and if the polyfill isn't there yet (courtesy of inline&defer).
266 266
         $preload_polyfill = autoptimizeConfig::get_ao_css_preload_polyfill();
267
-        if ( '5' === $options['autoptimize_extra_radio_field_4'] && strpos( $out, $preload_polyfill ) === false ) {
268
-            $out = str_replace( '</body>', $preload_polyfill . '</body>', $out );
267
+        if ('5' === $options['autoptimize_extra_radio_field_4'] && strpos($out, $preload_polyfill) === false) {
268
+            $out = str_replace('</body>', $preload_polyfill.'</body>', $out);
269 269
         }
270 270
         return $out;
271 271
     }
272 272
 
273
-    public function filter_preconnect( $hints, $relation_type )
273
+    public function filter_preconnect($hints, $relation_type)
274 274
     {
275 275
         $options = $this->options;
276 276
 
277 277
         // Get settings and store in array.
278
-        $preconns = array_filter( array_map( 'trim', explode( ',', $options['autoptimize_extra_text_field_2'] ) ) );
279
-        $preconns = apply_filters( 'autoptimize_extra_filter_tobepreconn', $preconns );
278
+        $preconns = array_filter(array_map('trim', explode(',', $options['autoptimize_extra_text_field_2'])));
279
+        $preconns = apply_filters('autoptimize_extra_filter_tobepreconn', $preconns);
280 280
 
281 281
         // Walk array, extract domain and add to new array with crossorigin attribute.
282
-        foreach ( $preconns as $preconn ) {
283
-            $parsed = parse_url( $preconn );
284
-            if ( is_array( $parsed ) && empty( $parsed['scheme'] ) ) {
285
-                $domain = '//' . $parsed['host'];
286
-            } elseif ( is_array( $parsed ) ) {
287
-                $domain = $parsed['scheme'] . '://' . $parsed['host'];
282
+        foreach ($preconns as $preconn) {
283
+            $parsed = parse_url($preconn);
284
+            if (is_array($parsed) && empty($parsed['scheme'])) {
285
+                $domain = '//'.$parsed['host'];
286
+            } elseif (is_array($parsed)) {
287
+                $domain = $parsed['scheme'].'://'.$parsed['host'];
288 288
             }
289 289
 
290
-            if ( ! empty( $domain ) ) {
291
-                $hint = array( 'href' => $domain );
290
+            if (!empty($domain)) {
291
+                $hint = array('href' => $domain);
292 292
                 // Fonts don't get preconnected unless crossorigin flag is set, non-fonts don't get preconnected if origin flag is set
293 293
                 // so hardcode fonts.gstatic.com to come with crossorigin and have filter to add other domains if needed.
294
-                $crossorigins = apply_filters( 'autoptimize_extra_filter_preconn_crossorigin', array( 'https://fonts.gstatic.com' ) );
295
-                if ( in_array( $domain, $crossorigins ) ) {
294
+                $crossorigins = apply_filters('autoptimize_extra_filter_preconn_crossorigin', array('https://fonts.gstatic.com'));
295
+                if (in_array($domain, $crossorigins)) {
296 296
                     $hint['crossorigin'] = 'anonymous';
297 297
                 }
298 298
                 $new_hints[] = $hint;
@@ -300,21 +300,21 @@  discard block
 block discarded – undo
300 300
         }
301 301
 
302 302
         // Merge in WP's preconnect hints.
303
-        if ( 'preconnect' === $relation_type && ! empty( $new_hints ) ) {
304
-            $hints = array_merge( $hints, $new_hints );
303
+        if ('preconnect' === $relation_type && !empty($new_hints)) {
304
+            $hints = array_merge($hints, $new_hints);
305 305
         }
306 306
 
307 307
         return $hints;
308 308
     }
309 309
 
310
-    public function filter_preconnect_google_fonts( $in )
310
+    public function filter_preconnect_google_fonts($in)
311 311
     {
312
-        if ( '2' !== $this->options['autoptimize_extra_radio_field_4'] ) {
312
+        if ('2' !== $this->options['autoptimize_extra_radio_field_4']) {
313 313
             // Preconnect to fonts.gstatic.com unless we remove gfonts.
314 314
             $in[] = 'https://fonts.gstatic.com';
315 315
         }
316 316
 
317
-        if ( '4' === $this->options['autoptimize_extra_radio_field_4'] ) {
317
+        if ('4' === $this->options['autoptimize_extra_radio_field_4']) {
318 318
             // Preconnect even more hosts for webfont.js!
319 319
             $in[] = 'https://ajax.googleapis.com';
320 320
             $in[] = 'https://fonts.googleapis.com';
@@ -331,14 +331,14 @@  discard block
 block discarded – undo
331 331
             'autoptimize_extra',
332 332
             'manage_options',
333 333
             'autoptimize_extra',
334
-            array( $this, 'options_page' )
334
+            array($this, 'options_page')
335 335
         );
336
-        register_setting( 'autoptimize_extra_settings', 'autoptimize_extra_settings' );
336
+        register_setting('autoptimize_extra_settings', 'autoptimize_extra_settings');
337 337
     }
338 338
 
339
-    public function add_extra_tab( $in )
339
+    public function add_extra_tab($in)
340 340
     {
341
-        $in = array_merge( $in, array( 'autoptimize_extra' => __( 'Extra', 'autoptimize' ) ) );
341
+        $in = array_merge($in, array('autoptimize_extra' => __('Extra', 'autoptimize')));
342 342
 
343 343
         return $in;
344 344
     }
@@ -358,87 +358,87 @@  discard block
 block discarded – undo
358 358
         #autoptimize_extra_descr{font-size: 120%;}
359 359
     </style>
360 360
     <div class="wrap">
361
-    <h1><?php _e( 'Autoptimize Settings', 'autoptimize' ); ?></h1>
361
+    <h1><?php _e('Autoptimize Settings', 'autoptimize'); ?></h1>
362 362
         <?php echo autoptimizeConfig::ao_admin_tabs(); ?>
363
-        <?php if ( 'on' !== get_option( 'autoptimize_js' ) && 'on' !== get_option( 'autoptimize_css' ) && 'on' !== get_option( 'autoptimize_html' ) && ! autoptimizeImages::imgopt_active() ) { ?>
363
+        <?php if ('on' !== get_option('autoptimize_js') && 'on' !== get_option('autoptimize_css') && 'on' !== get_option('autoptimize_html') && !autoptimizeImages::imgopt_active()) { ?>
364 364
             <div class="notice-warning notice"><p>
365
-            <?php _e( 'Most of below Extra optimizations require at least one of HTML, JS, CSS or Image autoptimizations being active.', 'autoptimize' ); ?>
365
+            <?php _e('Most of below Extra optimizations require at least one of HTML, JS, CSS or Image autoptimizations being active.', 'autoptimize'); ?>
366 366
             </p></div>
367 367
         <?php } ?>
368 368
 
369 369
     <form id='ao_settings_form' action='options.php' method='post'>
370
-        <?php settings_fields( 'autoptimize_extra_settings' ); ?>
371
-        <h2><?php _e( 'Extra Auto-Optimizations', 'autoptimize' ); ?></h2>
372
-        <span id='autoptimize_extra_descr'><?php _e( 'The following settings can improve your site\'s performance even more.', 'autoptimize' ); ?></span>
370
+        <?php settings_fields('autoptimize_extra_settings'); ?>
371
+        <h2><?php _e('Extra Auto-Optimizations', 'autoptimize'); ?></h2>
372
+        <span id='autoptimize_extra_descr'><?php _e('The following settings can improve your site\'s performance even more.', 'autoptimize'); ?></span>
373 373
         <table class="form-table">
374 374
             <tr>
375
-                <th scope="row"><?php _e( 'Google Fonts', 'autoptimize' ); ?></th>
375
+                <th scope="row"><?php _e('Google Fonts', 'autoptimize'); ?></th>
376 376
                 <td>
377
-                    <input type="radio" name="autoptimize_extra_settings[autoptimize_extra_radio_field_4]" value="1" <?php if ( ! in_array( $gfonts, array( 2, 3, 4, 5 ) ) ) { echo 'checked'; } ?> ><?php _e( 'Leave as is', 'autoptimize' ); ?><br/>
378
-                    <input type="radio" name="autoptimize_extra_settings[autoptimize_extra_radio_field_4]" value="2" <?php checked( 2, $gfonts, true ); ?> ><?php _e( 'Remove Google Fonts', 'autoptimize' ); ?><br/>
379
-                    <input type="radio" name="autoptimize_extra_settings[autoptimize_extra_radio_field_4]" value="3" <?php checked( 3, $gfonts, true ); ?> ><?php _e( 'Combine and link in head (fonts load fast but are render-blocking)', 'autoptimize' ); ?><br/>
380
-                    <input type="radio" name="autoptimize_extra_settings[autoptimize_extra_radio_field_4]" value="5" <?php checked( 5, $gfonts, true ); ?> ><?php _e( 'Combine and preload in head (fonts load late, but are not render-blocking)', 'autoptimize' ); ?><br/>
381
-                    <input type="radio" name="autoptimize_extra_settings[autoptimize_extra_radio_field_4]" value="4" <?php checked( 4, $gfonts, true ); ?> ><?php _e( 'Combine and load fonts asynchronously with <a href="https://github.com/typekit/webfontloader#readme" target="_blank">webfont.js</a>', 'autoptimize' ); ?><br/>
377
+                    <input type="radio" name="autoptimize_extra_settings[autoptimize_extra_radio_field_4]" value="1" <?php if (!in_array($gfonts, array(2, 3, 4, 5))) { echo 'checked'; } ?> ><?php _e('Leave as is', 'autoptimize'); ?><br/>
378
+                    <input type="radio" name="autoptimize_extra_settings[autoptimize_extra_radio_field_4]" value="2" <?php checked(2, $gfonts, true); ?> ><?php _e('Remove Google Fonts', 'autoptimize'); ?><br/>
379
+                    <input type="radio" name="autoptimize_extra_settings[autoptimize_extra_radio_field_4]" value="3" <?php checked(3, $gfonts, true); ?> ><?php _e('Combine and link in head (fonts load fast but are render-blocking)', 'autoptimize'); ?><br/>
380
+                    <input type="radio" name="autoptimize_extra_settings[autoptimize_extra_radio_field_4]" value="5" <?php checked(5, $gfonts, true); ?> ><?php _e('Combine and preload in head (fonts load late, but are not render-blocking)', 'autoptimize'); ?><br/>
381
+                    <input type="radio" name="autoptimize_extra_settings[autoptimize_extra_radio_field_4]" value="4" <?php checked(4, $gfonts, true); ?> ><?php _e('Combine and load fonts asynchronously with <a href="https://github.com/typekit/webfontloader#readme" target="_blank">webfont.js</a>', 'autoptimize'); ?><br/>
382 382
                 </td>
383 383
             </tr>
384 384
             <tr>
385
-                <th scope="row"><?php _e( 'Remove emojis', 'autoptimize' ); ?></th>
385
+                <th scope="row"><?php _e('Remove emojis', 'autoptimize'); ?></th>
386 386
                 <td>
387
-                    <label><input type='checkbox' name='autoptimize_extra_settings[autoptimize_extra_checkbox_field_1]' <?php if ( ! empty( $options['autoptimize_extra_checkbox_field_1'] ) && '1' === $options['autoptimize_extra_checkbox_field_1'] ) { echo 'checked="checked"'; } ?> value='1'><?php _e( 'Removes WordPress\' core emojis\' inline CSS, inline JavaScript, and an otherwise un-autoptimized JavaScript file.', 'autoptimize' ); ?></label>
387
+                    <label><input type='checkbox' name='autoptimize_extra_settings[autoptimize_extra_checkbox_field_1]' <?php if (!empty($options['autoptimize_extra_checkbox_field_1']) && '1' === $options['autoptimize_extra_checkbox_field_1']) { echo 'checked="checked"'; } ?> value='1'><?php _e('Removes WordPress\' core emojis\' inline CSS, inline JavaScript, and an otherwise un-autoptimized JavaScript file.', 'autoptimize'); ?></label>
388 388
                 </td>
389 389
             </tr>
390 390
             <tr>
391
-                <th scope="row"><?php _e( 'Remove query strings from static resources', 'autoptimize' ); ?></th>
391
+                <th scope="row"><?php _e('Remove query strings from static resources', 'autoptimize'); ?></th>
392 392
                 <td>
393
-                    <label><input type='checkbox' name='autoptimize_extra_settings[autoptimize_extra_checkbox_field_0]' <?php if ( ! empty( $options['autoptimize_extra_checkbox_field_0'] ) && '1' === $options['autoptimize_extra_checkbox_field_0'] ) { echo 'checked="checked"'; } ?> value='1'><?php _e( 'Removing query strings (or more specifically the <code>ver</code> parameter) will not improve load time, but might improve performance scores.', 'autoptimize' ); ?></label>
393
+                    <label><input type='checkbox' name='autoptimize_extra_settings[autoptimize_extra_checkbox_field_0]' <?php if (!empty($options['autoptimize_extra_checkbox_field_0']) && '1' === $options['autoptimize_extra_checkbox_field_0']) { echo 'checked="checked"'; } ?> value='1'><?php _e('Removing query strings (or more specifically the <code>ver</code> parameter) will not improve load time, but might improve performance scores.', 'autoptimize'); ?></label>
394 394
                 </td>
395 395
             </tr>
396 396
             <tr>
397
-                <th scope="row"><?php _e( 'Preconnect to 3rd party domains <em>(advanced users)</em>', 'autoptimize' ); ?></th>
397
+                <th scope="row"><?php _e('Preconnect to 3rd party domains <em>(advanced users)</em>', 'autoptimize'); ?></th>
398 398
                 <td>
399
-                    <label><input type='text' style='width:80%' name='autoptimize_extra_settings[autoptimize_extra_text_field_2]' value='<?php if ( array_key_exists( 'autoptimize_extra_text_field_2', $options ) ) { echo esc_attr( $options['autoptimize_extra_text_field_2'] ); } ?>'><br /><?php _e( 'Add 3rd party domains you want the browser to <a href="https://www.keycdn.com/support/preconnect/#primary" target="_blank">preconnect</a> to, separated by comma\'s. Make sure to include the correct protocol (HTTP or HTTPS).', 'autoptimize' ); ?></label>
399
+                    <label><input type='text' style='width:80%' name='autoptimize_extra_settings[autoptimize_extra_text_field_2]' value='<?php if (array_key_exists('autoptimize_extra_text_field_2', $options)) { echo esc_attr($options['autoptimize_extra_text_field_2']); } ?>'><br /><?php _e('Add 3rd party domains you want the browser to <a href="https://www.keycdn.com/support/preconnect/#primary" target="_blank">preconnect</a> to, separated by comma\'s. Make sure to include the correct protocol (HTTP or HTTPS).', 'autoptimize'); ?></label>
400 400
                 </td>
401 401
             </tr>
402 402
             <tr>
403
-                <th scope="row"><?php _e( 'Async Javascript-files <em>(advanced users)</em>', 'autoptimize' ); ?></th>
403
+                <th scope="row"><?php _e('Async Javascript-files <em>(advanced users)</em>', 'autoptimize'); ?></th>
404 404
                 <td>
405 405
                     <?php
406
-                    if ( autoptimizeUtils::is_plugin_active( 'async-javascript/async-javascript.php' ) ) {
406
+                    if (autoptimizeUtils::is_plugin_active('async-javascript/async-javascript.php')) {
407 407
                         // translators: link points Async Javascript settings page.
408
-                        printf( __( 'You have "Async JavaScript" installed, %1$sconfiguration of async javascript is best done there%2$s.', 'autoptimize' ), '<a href="' . 'options-general.php?page=async-javascript' . '">', '</a>' );
408
+                        printf(__('You have "Async JavaScript" installed, %1$sconfiguration of async javascript is best done there%2$s.', 'autoptimize'), '<a href="'.'options-general.php?page=async-javascript'.'">', '</a>');
409 409
                     } else {
410 410
                     ?>
411
-                        <input type='text' style='width:80%' name='autoptimize_extra_settings[autoptimize_extra_text_field_3]' value='<?php if ( array_key_exists( 'autoptimize_extra_text_field_3', $options ) ) { echo esc_attr( $options['autoptimize_extra_text_field_3'] ); } ?>'>
411
+                        <input type='text' style='width:80%' name='autoptimize_extra_settings[autoptimize_extra_text_field_3]' value='<?php if (array_key_exists('autoptimize_extra_text_field_3', $options)) { echo esc_attr($options['autoptimize_extra_text_field_3']); } ?>'>
412 412
                         <br />
413 413
                         <?php
414
-                            _e( 'Comma-separated list of local or 3rd party JS-files that should loaded with the <code>async</code> flag. JS-files from your own site will be automatically excluded if added here. ', 'autoptimize' );
414
+                            _e('Comma-separated list of local or 3rd party JS-files that should loaded with the <code>async</code> flag. JS-files from your own site will be automatically excluded if added here. ', 'autoptimize');
415 415
                             // translators: %s will be replaced by a link to the "async javascript" plugin.
416
-                            echo sprintf( __( 'Configuration of async javascript is easier and more flexible using the %s plugin.', 'autoptimize' ), '"<a href="https://wordpress.org/plugins/async-javascript" target="_blank">Async Javascript</a>"' );
417
-                            $asj_install_url = network_admin_url() . 'plugin-install.php?s=async+javascript&tab=search&type=term';
418
-                            echo sprintf( ' <a href="' . $asj_install_url . '">%s</a>', __( 'Click here to install and activate it.', 'autoptimize' ) );
416
+                            echo sprintf(__('Configuration of async javascript is easier and more flexible using the %s plugin.', 'autoptimize'), '"<a href="https://wordpress.org/plugins/async-javascript" target="_blank">Async Javascript</a>"');
417
+                            $asj_install_url = network_admin_url().'plugin-install.php?s=async+javascript&tab=search&type=term';
418
+                            echo sprintf(' <a href="'.$asj_install_url.'">%s</a>', __('Click here to install and activate it.', 'autoptimize'));
419 419
                     }
420 420
                     ?>
421 421
                 </td>
422 422
             </tr>
423 423
             <tr>
424
-                <th scope="row"><?php _e( 'Optimize YouTube videos', 'autoptimize' ); ?></th>
424
+                <th scope="row"><?php _e('Optimize YouTube videos', 'autoptimize'); ?></th>
425 425
                 <td>
426 426
                     <?php
427
-                    if ( autoptimizeUtils::is_plugin_active( 'wp-youtube-lyte/wp-youtube-lyte.php' ) ) {
428
-                        _e( 'Great, you have WP YouTube Lyte installed.', 'autoptimize' );
427
+                    if (autoptimizeUtils::is_plugin_active('wp-youtube-lyte/wp-youtube-lyte.php')) {
428
+                        _e('Great, you have WP YouTube Lyte installed.', 'autoptimize');
429 429
                         $lyte_config_url = 'options-general.php?page=lyte_settings_page';
430
-                        echo sprintf( ' <a href="' . $lyte_config_url . '">%s</a>', __( 'Click here to configure it.', 'autoptimize' ) );
430
+                        echo sprintf(' <a href="'.$lyte_config_url.'">%s</a>', __('Click here to configure it.', 'autoptimize'));
431 431
                     } else {
432 432
                         // translators: %s will be replaced by a link to "wp youtube lyte" plugin.
433
-                        echo sprintf( __( '%s allows you to “lazy load” your videos, by inserting responsive “Lite YouTube Embeds". ', 'autoptimize' ), '<a href="https://wordpress.org/plugins/wp-youtube-lyte" target="_blank">WP YouTube Lyte</a>' );
434
-                        $lyte_install_url = network_admin_url() . 'plugin-install.php?s=lyte&tab=search&type=term';
435
-                        echo sprintf( ' <a href="' . $lyte_install_url . '">%s</a>', __( 'Click here to install and activate it.', 'autoptimize' ) );
433
+                        echo sprintf(__('%s allows you to “lazy load” your videos, by inserting responsive “Lite YouTube Embeds". ', 'autoptimize'), '<a href="https://wordpress.org/plugins/wp-youtube-lyte" target="_blank">WP YouTube Lyte</a>');
434
+                        $lyte_install_url = network_admin_url().'plugin-install.php?s=lyte&tab=search&type=term';
435
+                        echo sprintf(' <a href="'.$lyte_install_url.'">%s</a>', __('Click here to install and activate it.', 'autoptimize'));
436 436
                     }
437 437
                     ?>
438 438
                 </td>
439 439
             </tr>
440 440
         </table>
441
-        <p class="submit"><input type="submit" name="submit" id="submit" class="button button-primary" value="<?php _e( 'Save Changes', 'autoptimize' ); ?>" /></p>
441
+        <p class="submit"><input type="submit" name="submit" id="submit" class="button button-primary" value="<?php _e('Save Changes', 'autoptimize'); ?>" /></p>
442 442
     </form>
443 443
         <?php
444 444
     }
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.
tests/test-ao.php 1 patch
Spacing   +414 added lines, -414 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
     /**
@@ -2335,9 +2335,9 @@  discard block
 block discarded – undo
2335 2335
 MARKUP;
2336 2336
 
2337 2337
         $instance = autoptimizeImages::instance();
2338
-        $instance->set_options( $opts );
2339
-        $actual = $instance->filter_optimize_images( $markup );
2340
-        $this->assertEquals( $expected, $actual );
2338
+        $instance->set_options($opts);
2339
+        $actual = $instance->filter_optimize_images($markup);
2340
+        $this->assertEquals($expected, $actual);
2341 2341
     }
2342 2342
 
2343 2343
     /**
@@ -2363,9 +2363,9 @@  discard block
 block discarded – undo
2363 2363
 MARKUP;
2364 2364
 
2365 2365
         $instance = autoptimizeImages::instance();
2366
-        $instance->set_options( $opts );
2367
-        $actual = $instance->filter_optimize_images( $markup );
2368
-        $this->assertEquals( $expected, $actual );
2366
+        $instance->set_options($opts);
2367
+        $actual = $instance->filter_optimize_images($markup);
2368
+        $this->assertEquals($expected, $actual);
2369 2369
     }
2370 2370
 
2371 2371
     /**
@@ -2390,9 +2390,9 @@  discard block
 block discarded – undo
2390 2390
 MARKUP;
2391 2391
 
2392 2392
         $instance = autoptimizeImages::instance();
2393
-        $instance->set_options( $opts );
2394
-        $actual = $instance->filter_lazyload_images( $markup );
2395
-        $this->assertEquals( $expected, $actual );
2393
+        $instance->set_options($opts);
2394
+        $actual = $instance->filter_lazyload_images($markup);
2395
+        $this->assertEquals($expected, $actual);
2396 2396
     }
2397 2397
 
2398 2398
     /**
@@ -2411,11 +2411,11 @@  discard block
 block discarded – undo
2411 2411
 MARKUP;
2412 2412
 
2413 2413
         $instance = autoptimizeImages::instance();
2414
-        $instance->set_options( $opts );
2415
-        $actual = $instance->filter_optimize_images( $markup );
2414
+        $instance->set_options($opts);
2415
+        $actual = $instance->filter_optimize_images($markup);
2416 2416
 
2417 2417
         // Expecting $markup since replacement should not happen.
2418
-        $this->assertEquals( $markup, $actual );
2418
+        $this->assertEquals($markup, $actual);
2419 2419
     }
2420 2420
 
2421 2421
     /**
@@ -2441,10 +2441,10 @@  discard block
 block discarded – undo
2441 2441
 MARKUP;
2442 2442
 
2443 2443
         $instance = autoptimizeImages::instance();
2444
-        $instance->set_options( $opts );
2445
-        $actual = $instance->filter_optimize_images( $markup );
2444
+        $instance->set_options($opts);
2445
+        $actual = $instance->filter_optimize_images($markup);
2446 2446
 
2447
-        $this->assertEquals( $expected, $actual );
2447
+        $this->assertEquals($expected, $actual);
2448 2448
     }
2449 2449
 
2450 2450
     /**
@@ -2468,10 +2468,10 @@  discard block
 block discarded – undo
2468 2468
 MARKUP;
2469 2469
 
2470 2470
         $instance = autoptimizeImages::instance();
2471
-        $instance->set_options( $opts );
2472
-        $actual = $instance->filter_optimize_images( $markup );
2471
+        $instance->set_options($opts);
2472
+        $actual = $instance->filter_optimize_images($markup);
2473 2473
 
2474
-        $this->assertEquals( $expected, $actual );
2474
+        $this->assertEquals($expected, $actual);
2475 2475
     }
2476 2476
 
2477 2477
     /**
@@ -2496,53 +2496,53 @@  discard block
 block discarded – undo
2496 2496
 MARKUP;
2497 2497
 
2498 2498
         $instance = autoptimizeImages::instance();
2499
-        $instance->set_options( $opts );
2500
-        $actual = $instance->filter_optimize_images( $markup );
2499
+        $instance->set_options($opts);
2500
+        $actual = $instance->filter_optimize_images($markup);
2501 2501
 
2502
-        $this->assertEquals( $expected, $actual );
2502
+        $this->assertEquals($expected, $actual);
2503 2503
     }
2504 2504
 
2505 2505
     /**
2506 2506
      * @dataProvider provider_str_is_valid_regex
2507 2507
      */
2508
-    public function test_str_is_valid_regex( $str, $expected )
2508
+    public function test_str_is_valid_regex($str, $expected)
2509 2509
     {
2510
-        $actual = autoptimizeUtils::str_is_valid_regex( $str );
2510
+        $actual = autoptimizeUtils::str_is_valid_regex($str);
2511 2511
 
2512
-        $this->assertEquals( $expected, $actual );
2512
+        $this->assertEquals($expected, $actual);
2513 2513
     }
2514 2514
 
2515 2515
     public function provider_str_is_valid_regex()
2516 2516
     {
2517 2517
         return [
2518
-            [ '<!--[if', false ],
2519
-            [ '&lt;--[if', false ],
2520
-            [ '/booya/i', true ],
2521
-            [ '~Valid(Regular)Expression~', true ],
2518
+            ['<!--[if', false],
2519
+            ['&lt;--[if', false],
2520
+            ['/booya/i', true],
2521
+            ['~Valid(Regular)Expression~', true],
2522 2522
         ];
2523 2523
     }
2524 2524
 
2525 2525
     /**
2526 2526
      * @dataProvider provider_protocol_relative_tests
2527 2527
      */
2528
-    public function test_is_protocol_relative( $str, $expected )
2528
+    public function test_is_protocol_relative($str, $expected)
2529 2529
     {
2530
-        $actual = autoptimizeUtils::is_protocol_relative( $str );
2530
+        $actual = autoptimizeUtils::is_protocol_relative($str);
2531 2531
 
2532
-        $this->assertEquals( $expected, $actual );
2532
+        $this->assertEquals($expected, $actual);
2533 2533
     }
2534 2534
 
2535 2535
     public function provider_protocol_relative_tests()
2536 2536
     {
2537 2537
         return [
2538
-            [ '//something-that-might-be-an-url-but-isnt-really', true ],
2539
-            [ '', false ],
2540
-            [ null, false ],
2541
-            [ 'booya/i', false ],
2542
-            [ '/root-relative', false ],
2543
-            [ 'http://what.ever/', false ],
2544
-            [ 'https://booya.kasha', false ],
2545
-            [ '1/', false ],
2538
+            ['//something-that-might-be-an-url-but-isnt-really', true],
2539
+            ['', false],
2540
+            [null, false],
2541
+            ['booya/i', false],
2542
+            ['/root-relative', false],
2543
+            ['http://what.ever/', false],
2544
+            ['https://booya.kasha', false],
2545
+            ['1/', false],
2546 2546
         ];
2547 2547
     }
2548 2548
 
@@ -2557,38 +2557,38 @@  discard block
 block discarded – undo
2557 2557
 
2558 2558
         $expected = 'img.centered,.aligncenter{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}';
2559 2559
 
2560
-        $instance = new autoptimizeStyles( $css );
2561
-        $minified = $instance->run_minifier_on( $css );
2560
+        $instance = new autoptimizeStyles($css);
2561
+        $minified = $instance->run_minifier_on($css);
2562 2562
 
2563
-        $this->assertEquals( $expected, $minified );
2563
+        $this->assertEquals($expected, $minified);
2564 2564
     }
2565 2565
 
2566 2566
     public function test_css_font_names_mangling()
2567 2567
     {
2568 2568
         // Properly quoted font names dont get mangled.
2569 2569
         $css      = 'h2{font-family:"Archivo Black"}';
2570
-        $instance = new autoptimizeStyles( $css );
2571
-        $actual   = $instance->run_minifier_on( $css );
2572
-        $this->assertEquals( $css, $actual );
2570
+        $instance = new autoptimizeStyles($css);
2571
+        $actual   = $instance->run_minifier_on($css);
2572
+        $this->assertEquals($css, $actual);
2573 2573
 
2574 2574
         // When not quoted, 'Black' used to become '#000', but not anymore... :)
2575 2575
         $css_unquoted = 'h2{font-family:Archivo Black;}';
2576 2576
         $expected     = 'h2{font-family:Archivo Black}';
2577
-        $instance     = new autoptimizeStyles( $css_unquoted );
2578
-        $actual       = $instance->run_minifier_on( $css_unquoted );
2579
-        $this->assertEquals( $expected, $actual );
2577
+        $instance     = new autoptimizeStyles($css_unquoted);
2578
+        $actual       = $instance->run_minifier_on($css_unquoted);
2579
+        $this->assertEquals($expected, $actual);
2580 2580
 
2581 2581
         $css_unquoted = 'h1{font:italic 1.2em Fira White,serif}';
2582
-        $instance     = new autoptimizeStyles( $css_unquoted );
2583
-        $actual       = $instance->run_minifier_on( $css_unquoted );
2584
-        $this->assertEquals( $css_unquoted, $actual );
2582
+        $instance     = new autoptimizeStyles($css_unquoted);
2583
+        $actual       = $instance->run_minifier_on($css_unquoted);
2584
+        $this->assertEquals($css_unquoted, $actual);
2585 2585
     }
2586 2586
 
2587 2587
     public function test_is_plugin_active_utils_wrapper()
2588 2588
     {
2589 2589
         // Our plugin is loaded via "muplugins_loaded" filter in tests/bootstrap.php
2590
-        $this->assertFalse( autoptimizeUtils::is_plugin_active( 'autoptimize/autoptimize.php' ) );
2591
-        $this->assertFalse( autoptimizeUtils::is_plugin_active( 'async-javascript/async-javascript.php' ) );
2590
+        $this->assertFalse(autoptimizeUtils::is_plugin_active('autoptimize/autoptimize.php'));
2591
+        $this->assertFalse(autoptimizeUtils::is_plugin_active('async-javascript/async-javascript.php'));
2592 2592
     }
2593 2593
 
2594 2594
     public function test_jsminphp_string_literal_minification()
@@ -2602,7 +2602,7 @@  discard block
 block discarded – undo
2602 2602
         $expected = '`line
2603 2603
 break`+`he  llo`;foo`hel( \'\');lo`;`he\nl\`lo`;(`he${one + two}`)';
2604 2604
 
2605
-        $actual = JSMin::minify( $js );
2606
-        $this->assertEquals( $expected, $actual );
2605
+        $actual = JSMin::minify($js);
2606
+        $this->assertEquals($expected, $actual);
2607 2607
     }
2608 2608
 }
Please login to merge, or discard this patch.