Completed
Push — master ( d6880f...7ccded )
by frank
02:36
created
classes/autoptimizeBase.php 1 patch
Spacing   +80 added lines, -80 removed lines patch added patch discarded remove patch
@@ -1,5 +1,5 @@  discard block
 block discarded – undo
1 1
 <?php
2
-if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
2
+if (!defined('ABSPATH')) exit; // Exit if accessed directly
3 3
 
4 4
 abstract class autoptimizeBase {
5 5
     protected $content = '';
@@ -23,37 +23,37 @@  discard block
 block discarded – undo
23 23
     
24 24
     //Converts an URL to a full path
25 25
     protected function getpath($url) {
26
-        $url=apply_filters( 'autoptimize_filter_cssjs_alter_url', $url);
26
+        $url = apply_filters('autoptimize_filter_cssjs_alter_url', $url);
27 27
         
28
-        if (strpos($url,'%')!==false) {
29
-            $url=urldecode($url);
28
+        if (strpos($url, '%') !== false) {
29
+            $url = urldecode($url);
30 30
         }
31 31
 
32
-        $siteHost=parse_url(AUTOPTIMIZE_WP_SITE_URL,PHP_URL_HOST);
33
-        $contentHost=parse_url(AUTOPTIMIZE_WP_ROOT_URL,PHP_URL_HOST);
32
+        $siteHost = parse_url(AUTOPTIMIZE_WP_SITE_URL, PHP_URL_HOST);
33
+        $contentHost = parse_url(AUTOPTIMIZE_WP_ROOT_URL, PHP_URL_HOST);
34 34
         
35 35
         // normalize
36
-        if (strpos($url,'//')===0) {
36
+        if (strpos($url, '//') === 0) {
37 37
             if (is_ssl()) {
38 38
                 $url = "https:".$url;
39 39
             } else {
40 40
                 $url = "http:".$url;
41 41
             }
42
-        } else if ((strpos($url,'//')===false) && (strpos($url,$siteHost)===false)) {
42
+        } else if ((strpos($url, '//') === false) && (strpos($url, $siteHost) === false)) {
43 43
             if (AUTOPTIMIZE_WP_SITE_URL === $siteHost) {
44 44
                 $url = AUTOPTIMIZE_WP_SITE_URL.$url;
45 45
             } else {
46
-                $subdir_levels=substr_count(preg_replace("/https?:\/\//","",AUTOPTIMIZE_WP_SITE_URL),"/");
47
-                $url = AUTOPTIMIZE_WP_SITE_URL.str_repeat("/..",$subdir_levels).$url;
46
+                $subdir_levels = substr_count(preg_replace("/https?:\/\//", "", AUTOPTIMIZE_WP_SITE_URL), "/");
47
+                $url = AUTOPTIMIZE_WP_SITE_URL.str_repeat("/..", $subdir_levels).$url;
48 48
             }
49 49
         }
50 50
         
51 51
         if ($siteHost !== $contentHost) {
52
-            $url=str_replace(AUTOPTIMIZE_WP_CONTENT_URL,AUTOPTIMIZE_WP_SITE_URL.AUTOPTIMIZE_WP_CONTENT_NAME,$url);
52
+            $url = str_replace(AUTOPTIMIZE_WP_CONTENT_URL, AUTOPTIMIZE_WP_SITE_URL.AUTOPTIMIZE_WP_CONTENT_NAME, $url);
53 53
         }
54 54
 
55 55
         // first check; hostname wp site should be hostname of url
56
-        $thisHost=@parse_url($url,PHP_URL_HOST);
56
+        $thisHost = @parse_url($url, PHP_URL_HOST);
57 57
         if ($thisHost !== $siteHost) {
58 58
             /* 
59 59
             * first try to get all domains from WPML (if available)
@@ -65,18 +65,18 @@  discard block
 block discarded – undo
65 65
             
66 66
             $multidomainsWPML = apply_filters('wpml_setting', array(), 'language_domains');
67 67
             if (!empty($multidomainsWPML)) {
68
-                $multidomains = array_map(array($this,"ao_getDomain"),$multidomainsWPML);
68
+                $multidomains = array_map(array($this, "ao_getDomain"), $multidomainsWPML);
69 69
             }
70 70
             
71 71
             if (!empty($this->cdn_url)) {
72
-                $multidomains[]=parse_url($this->cdn_url,PHP_URL_HOST);
72
+                $multidomains[] = parse_url($this->cdn_url, PHP_URL_HOST);
73 73
             }
74 74
             
75 75
             $multidomains = apply_filters('autoptimize_filter_cssjs_multidomain', $multidomains);
76 76
             
77 77
             if (!empty($multidomains)) {
78
-                if (in_array($thisHost,$multidomains)) {
79
-                    $url=str_replace($thisHost, parse_url(AUTOPTIMIZE_WP_SITE_URL,PHP_URL_HOST), $url);
78
+                if (in_array($thisHost, $multidomains)) {
79
+                    $url = str_replace($thisHost, parse_url(AUTOPTIMIZE_WP_SITE_URL, PHP_URL_HOST), $url);
80 80
                 } else {
81 81
                     return false;
82 82
                 }
@@ -86,22 +86,22 @@  discard block
 block discarded – undo
86 86
         }
87 87
         
88 88
         // try to remove "wp root url" from url while not minding http<>https
89
-        $tmp_ao_root = preg_replace('/https?:/','',AUTOPTIMIZE_WP_ROOT_URL);
89
+        $tmp_ao_root = preg_replace('/https?:/', '', AUTOPTIMIZE_WP_ROOT_URL);
90 90
         if ($siteHost !== $contentHost) {
91 91
             // as we replaced the content-domain with the site-domain, we should match against that 
92
-            $tmp_ao_root = preg_replace('/https?:/','',AUTOPTIMIZE_WP_SITE_URL);
92
+            $tmp_ao_root = preg_replace('/https?:/', '', AUTOPTIMIZE_WP_SITE_URL);
93 93
         }
94
-        $tmp_url = preg_replace('/https?:/','',$url);
95
-        $path = str_replace($tmp_ao_root,'',$tmp_url);
94
+        $tmp_url = preg_replace('/https?:/', '', $url);
95
+        $path = str_replace($tmp_ao_root, '', $tmp_url);
96 96
         
97 97
         // if path starts with :// or //, this is not a URL in the WP context and we have to assume we can't aggregate
98
-        if (preg_match('#^:?//#',$path)) {
98
+        if (preg_match('#^:?//#', $path)) {
99 99
             /** External script/css (adsense, etc) */
100 100
             return false;
101 101
         }
102 102
 
103 103
         // prepend with WP_ROOT_DIR to have full path to file
104
-        $path = str_replace('//','/',WP_ROOT_DIR.$path);
104
+        $path = str_replace('//', '/', WP_ROOT_DIR.$path);
105 105
         
106 106
         // final check: does file exist and is it readable
107 107
         if (file_exists($path) && is_file($path) && is_readable($path)) {
@@ -114,25 +114,25 @@  discard block
 block discarded – undo
114 114
     // needed for WPML-filter
115 115
     protected function ao_getDomain($in) {
116 116
         // make sure the url starts with something vaguely resembling a protocol
117
-        if ((strpos($in,"http")!==0) && (strpos($in,"//")!==0)) {
118
-            $in="http://".$in;
117
+        if ((strpos($in, "http") !== 0) && (strpos($in, "//") !== 0)) {
118
+            $in = "http://".$in;
119 119
         }
120 120
         
121 121
         // do the actual parse_url
122
-        $out = parse_url($in,PHP_URL_HOST);
122
+        $out = parse_url($in, PHP_URL_HOST);
123 123
         
124 124
         // fallback if parse_url does not understand the url is in fact a url
125
-        if (empty($out)) $out=$in;
125
+        if (empty($out)) $out = $in;
126 126
         
127 127
         return $out;
128 128
     }
129 129
 
130 130
 
131 131
     // logger
132
-    protected function ao_logger($logmsg,$appendHTML=true) {
132
+    protected function ao_logger($logmsg, $appendHTML = true) {
133 133
         if ($appendHTML) {
134
-            $logmsg="<!--noptimize--><!-- ".$logmsg." --><!--/noptimize-->";
135
-            $this->content.=$logmsg;
134
+            $logmsg = "<!--noptimize--><!-- ".$logmsg." --><!--/noptimize-->";
135
+            $this->content .= $logmsg;
136 136
         } else {
137 137
             error_log("Autoptimize: ".$logmsg);
138 138
         }
@@ -140,7 +140,7 @@  discard block
 block discarded – undo
140 140
 
141 141
     // hide everything between noptimize-comment tags
142 142
     protected function hide_noptimize($noptimize_in) {
143
-        if ( preg_match( '/<!--\s?noptimize\s?-->/', $noptimize_in ) ) { 
143
+        if (preg_match('/<!--\s?noptimize\s?-->/', $noptimize_in)) { 
144 144
             $noptimize_out = preg_replace_callback(
145 145
                 '#<!--\s?noptimize\s?-->.*?<!--\s?/\s?noptimize\s?-->#is',
146 146
                 create_function(
@@ -157,7 +157,7 @@  discard block
 block discarded – undo
157 157
     
158 158
     // unhide noptimize-tags
159 159
     protected function restore_noptimize($noptimize_in) {
160
-        if ( strpos( $noptimize_in, '%%NOPTIMIZE%%' ) !== false ) { 
160
+        if (strpos($noptimize_in, '%%NOPTIMIZE%%') !== false) { 
161 161
             $noptimize_out = preg_replace_callback(
162 162
                 '#%%NOPTIMIZE%%(.*?)%%NOPTIMIZE%%#is',
163 163
                 create_function(
@@ -173,7 +173,7 @@  discard block
 block discarded – undo
173 173
     }
174 174
 
175 175
     protected function hide_iehacks($iehacks_in) {
176
-        if ( strpos( $iehacks_in, '<!--[if' ) !== false ) { 
176
+        if (strpos($iehacks_in, '<!--[if') !== false) { 
177 177
             $iehacks_out = preg_replace_callback(
178 178
                 '#<!--\[if.*?\[endif\]-->#is',
179 179
                 create_function(
@@ -189,7 +189,7 @@  discard block
 block discarded – undo
189 189
     }
190 190
 
191 191
     protected function restore_iehacks($iehacks_in) {
192
-        if ( strpos( $iehacks_in, '%%IEHACK%%' ) !== false ) { 
192
+        if (strpos($iehacks_in, '%%IEHACK%%') !== false) { 
193 193
             $iehacks_out = preg_replace_callback(
194 194
                 '#%%IEHACK%%(.*?)%%IEHACK%%#is',
195 195
                 create_function(
@@ -199,13 +199,13 @@  discard block
 block discarded – undo
199 199
                 $iehacks_in
200 200
             );
201 201
         } else {
202
-            $iehacks_out=$iehacks_in;
202
+            $iehacks_out = $iehacks_in;
203 203
         }
204 204
         return $iehacks_out;
205 205
     }
206 206
 
207 207
     protected function hide_comments($comments_in) {
208
-        if ( strpos( $comments_in, '<!--' ) !== false ) {
208
+        if (strpos($comments_in, '<!--') !== false) {
209 209
             $comments_out = preg_replace_callback(
210 210
                 '#<!--.*?-->#is',
211 211
                 create_function(
@@ -221,7 +221,7 @@  discard block
 block discarded – undo
221 221
     }
222 222
 
223 223
     protected function restore_comments($comments_in) {
224
-        if ( strpos( $comments_in, '%%COMMENTS%%' ) !== false ) {
224
+        if (strpos($comments_in, '%%COMMENTS%%') !== false) {
225 225
             $comments_out = preg_replace_callback(
226 226
                 '#%%COMMENTS%%(.*?)%%COMMENTS%%#is',
227 227
                 create_function(
@@ -231,31 +231,31 @@  discard block
 block discarded – undo
231 231
                 $comments_in
232 232
             );
233 233
         } else {
234
-            $comments_out=$comments_in;
234
+            $comments_out = $comments_in;
235 235
         }
236 236
         return $comments_out;
237 237
     }
238 238
 
239
-    protected function url_replace_cdn( $url ) {
239
+    protected function url_replace_cdn($url) {
240 240
         // API filter to change base CDN URL
241
-        $cdn_url = apply_filters( 'autoptimize_filter_base_cdnurl', $this->cdn_url );
241
+        $cdn_url = apply_filters('autoptimize_filter_base_cdnurl', $this->cdn_url);
242 242
 
243
-        if ( !empty($cdn_url) )  {
243
+        if (!empty($cdn_url)) {
244 244
             // prepend domain-less absolute URL's
245
-            if ( ( substr( $url, 0, 1 ) === '/' ) && ( substr( $url, 1, 1 ) !== '/' ) ) {
246
-                $url = rtrim( $cdn_url, '/' ) . $url;
245
+            if ((substr($url, 0, 1) === '/') && (substr($url, 1, 1) !== '/')) {
246
+                $url = rtrim($cdn_url, '/').$url;
247 247
             } else {
248 248
                 // get wordpress base URL
249
-                $WPSiteBreakdown = parse_url( AUTOPTIMIZE_WP_SITE_URL );
250
-                $WPBaseUrl       = $WPSiteBreakdown['scheme'] . '://' . $WPSiteBreakdown['host'];
251
-                if ( ! empty( $WPSiteBreakdown['port'] ) ) {
252
-                    $WPBaseUrl .= ":" . $WPSiteBreakdown['port'];
249
+                $WPSiteBreakdown = parse_url(AUTOPTIMIZE_WP_SITE_URL);
250
+                $WPBaseUrl       = $WPSiteBreakdown['scheme'].'://'.$WPSiteBreakdown['host'];
251
+                if (!empty($WPSiteBreakdown['port'])) {
252
+                    $WPBaseUrl .= ":".$WPSiteBreakdown['port'];
253 253
                 }
254 254
                 // replace full url's with scheme
255
-                $tmp_url = str_replace( $WPBaseUrl, rtrim( $cdn_url, '/' ), $url );
256
-                if ( $tmp_url === $url ) {
255
+                $tmp_url = str_replace($WPBaseUrl, rtrim($cdn_url, '/'), $url);
256
+                if ($tmp_url === $url) {
257 257
                     // last attempt; replace scheme-less URL's
258
-                    $url = str_replace( preg_replace( '/https?:/', '', $WPBaseUrl ), rtrim( $cdn_url, '/' ), $url );
258
+                    $url = str_replace(preg_replace('/https?:/', '', $WPBaseUrl), rtrim($cdn_url, '/'), $url);
259 259
                 } else {
260 260
                     $url = $tmp_url;
261 261
                 }
@@ -263,32 +263,32 @@  discard block
 block discarded – undo
263 263
         }
264 264
 
265 265
         // allow API filter to alter URL after CDN replacement
266
-        $url = apply_filters( 'autoptimize_filter_base_replace_cdn', $url );
266
+        $url = apply_filters('autoptimize_filter_base_replace_cdn', $url);
267 267
         return $url;
268 268
     }
269 269
 
270
-    protected function inject_in_html($payload,$replaceTag) {
271
-        if (strpos($this->content,$replaceTag[0])!== false) {
272
-            if ($replaceTag[1]==="after") {
273
-                $replaceBlock=$replaceTag[0].$payload;
274
-            } else if ($replaceTag[1]==="replace"){
275
-                $replaceBlock=$payload;
270
+    protected function inject_in_html($payload, $replaceTag) {
271
+        if (strpos($this->content, $replaceTag[0]) !== false) {
272
+            if ($replaceTag[1] === "after") {
273
+                $replaceBlock = $replaceTag[0].$payload;
274
+            } else if ($replaceTag[1] === "replace") {
275
+                $replaceBlock = $payload;
276 276
             } else {
277
-                $replaceBlock=$payload.$replaceTag[0];
277
+                $replaceBlock = $payload.$replaceTag[0];
278 278
             }
279
-            $this->content = substr_replace($this->content,$replaceBlock,strpos($this->content,$replaceTag[0]),strlen($replaceTag[0]));
279
+            $this->content = substr_replace($this->content, $replaceBlock, strpos($this->content, $replaceTag[0]), strlen($replaceTag[0]));
280 280
         } else {
281 281
             $this->content .= $payload;
282 282
             if (!$this->tagWarning) {
283
-                $this->content .= "<!--noptimize--><!-- Autoptimize found a problem with the HTML in your Theme, tag \"".str_replace(array("<",">"),"",$replaceTag[0])."\" missing --><!--/noptimize-->";
284
-                $this->tagWarning=true;
283
+                $this->content .= "<!--noptimize--><!-- Autoptimize found a problem with the HTML in your Theme, tag \"".str_replace(array("<", ">"), "", $replaceTag[0])."\" missing --><!--/noptimize-->";
284
+                $this->tagWarning = true;
285 285
             }
286 286
         }
287 287
     }
288 288
     
289 289
     protected function isremovable($tag, $removables) {
290 290
         foreach ($removables as $match) {
291
-            if (strpos($tag,$match)!==false) {
291
+            if (strpos($tag, $match) !== false) {
292 292
                 return true;
293 293
             }
294 294
         }
@@ -297,7 +297,7 @@  discard block
 block discarded – undo
297 297
     
298 298
     // inject already minified code in optimized JS/CSS
299 299
     protected function inject_minified($in) {
300
-        if ( strpos( $in, '%%INJECTLATER%%' ) !== false ) {
300
+        if (strpos($in, '%%INJECTLATER%%') !== false) {
301 301
             $out = preg_replace_callback(
302 302
                 '#\/\*\!%%INJECTLATER%%(.*?)%%INJECTLATER%%\*\/#is',
303 303
                 create_function(
@@ -342,47 +342,47 @@  discard block
 block discarded – undo
342 342
     
343 343
     protected function minify_single($pathIn) {
344 344
 		// determine JS or CSS and set var (also mimetype), return false if neither
345
-		if ( $this->str_ends_in($pathIn,".js") === true ) {
346
-			$codeType="js";
347
-			$codeMime="text/javascript";
348
-		} else if ( $this->str_ends_in($pathIn,".css") === true ) {
349
-			$codeType="css";
350
-			$codeMime="text/css";			
345
+		if ($this->str_ends_in($pathIn, ".js") === true) {
346
+			$codeType = "js";
347
+			$codeMime = "text/javascript";
348
+		} else if ($this->str_ends_in($pathIn, ".css") === true) {
349
+			$codeType = "css";
350
+			$codeMime = "text/css";			
351 351
 		} else {
352 352
 			return false;
353 353
 		}
354 354
 		
355 355
 		// if min.js or min.css return false
356
-		if (( $this->str_ends_in($pathIn,"-min.".$codeType) === true ) || ( $this->str_ends_in($pathIn,".min.".$codeType) === true ) || ( $this->str_ends_in($pathIn,"js/jquery/jquery.js") === true ) ) {
356
+		if (($this->str_ends_in($pathIn, "-min.".$codeType) === true) || ($this->str_ends_in($pathIn, ".min.".$codeType) === true) || ($this->str_ends_in($pathIn, "js/jquery/jquery.js") === true)) {
357 357
 			return false;
358 358
 		}
359 359
 		
360 360
 		// read file, return false if empty
361 361
 		$_toMinify = file_get_contents($pathIn);
362
-		if ( empty($_toMinify) ) return false;
362
+		if (empty($_toMinify)) return false;
363 363
 		
364 364
 		// check cache
365 365
 		$_md5hash = "single_".md5($_toMinify);
366
-		$_cache = new autoptimizeCache($_md5hash,$codeType);
367
-		if ($_cache->check() ) {
366
+		$_cache = new autoptimizeCache($_md5hash, $codeType);
367
+		if ($_cache->check()) {
368 368
 			$_CachedMinifiedUrl = AUTOPTIMIZE_CACHE_URL.$_cache->getname();
369 369
 		} else {
370 370
 			// if not in cache first minify
371 371
 			$_Minified = $_toMinify;
372 372
 			if ($codeType === "js") {
373
-				if (class_exists('JSMin') && apply_filters( 'autoptimize_js_do_minify' , true)) {
374
-					if (@is_callable(array("JSMin","minify"))) {
373
+				if (class_exists('JSMin') && apply_filters('autoptimize_js_do_minify', true)) {
374
+					if (@is_callable(array("JSMin", "minify"))) {
375 375
 						$tmp_code = trim(JSMin::minify($_toMinify));
376 376
 					}
377 377
 				}
378 378
 			} else if ($codeType === "css") {
379 379
                 if (class_exists('Minify_CSS_Compressor')) {
380 380
 					$tmp_code = trim(Minify_CSS_Compressor::process($_toMinify));
381
-                } else if(class_exists('CSSmin')) {
381
+                } else if (class_exists('CSSmin')) {
382 382
                     $cssmin = new CSSmin();
383
-                    if (method_exists($cssmin,"run")) {
383
+                    if (method_exists($cssmin, "run")) {
384 384
                         $tmp_code = trim($cssmin->run($_toMinify));
385
-                    } elseif (@is_callable(array($cssmin,"minify"))) {
385
+                    } elseif (@is_callable(array($cssmin, "minify"))) {
386 386
                         $tmp_code = trim(CssMin::minify($_toMinify));
387 387
                     }
388 388
                 }
@@ -392,7 +392,7 @@  discard block
 block discarded – undo
392 392
 				unset($tmp_code);
393 393
 			}
394 394
 			// and then cache
395
-			$_cache->cache($_Minified,$codeMime);
395
+			$_cache->cache($_Minified, $codeMime);
396 396
 			$_CachedMinifiedUrl = AUTOPTIMIZE_CACHE_URL.$_cache->getname();
397 397
 		}
398 398
 		unset($_cache);
@@ -403,10 +403,10 @@  discard block
 block discarded – undo
403 403
 		return $_CachedMinifiedUrl;
404 404
 	}
405 405
 	
406
-	protected function str_ends_in($haystack,$needle) {
406
+	protected function str_ends_in($haystack, $needle) {
407 407
 		$needleLength = strlen($needle);
408 408
 		$haystackLength = strlen($haystack);
409
-		$lastPos=strrpos($haystack,$needle);
409
+		$lastPos = strrpos($haystack, $needle);
410 410
 		if ($lastPos === $haystackLength - $needleLength) {
411 411
 			return true;
412 412
 		} else {
Please login to merge, or discard this patch.
classes/external/php/yui-php-cssmin-2.4.8-p10/cssmin.php 1 patch
Spacing   +73 added lines, -73 removed lines patch added patch discarded remove patch
@@ -49,13 +49,13 @@  discard block
 block discarded – undo
49 49
      */
50 50
     public function __construct($raisePhpLimits = true)
51 51
     {
52
-        $this->memoryLimit = 128 * 1048576; // 128MB in bytes
53
-        $this->pcreBacktrackLimit = 1000 * 1000;
54
-        $this->pcreRecursionLimit = 500 * 1000;
52
+        $this->memoryLimit = 128*1048576; // 128MB in bytes
53
+        $this->pcreBacktrackLimit = 1000*1000;
54
+        $this->pcreRecursionLimit = 500*1000;
55 55
 
56 56
         $this->raisePhpLimits = (bool) $raisePhpLimits;
57 57
 
58
-        $this->numRegex = '(?:\+|-)?\d*\.?\d+' . $this->unitsGroupRegex .'?';
58
+        $this->numRegex = '(?:\+|-)?\d*\.?\d+'.$this->unitsGroupRegex.'?';
59 59
     }
60 60
 
61 61
     /**
@@ -134,14 +134,14 @@  discard block
 block discarded – undo
134 134
             $cssChunks[$i] = $this->minify($cssChunks[$i], $linebreakPos);
135 135
             // Keep the first @charset at-rule found
136 136
             if (empty($charset) && preg_match($charsetRegexp, $cssChunks[$i], $matches)) {
137
-                $charset = strtolower($matches[1]) . $matches[2];
137
+                $charset = strtolower($matches[1]).$matches[2];
138 138
             }
139 139
             // Delete all @charset at-rules
140 140
             $cssChunks[$i] = preg_replace($charsetRegexp, '', $cssChunks[$i]);
141 141
         }
142 142
 
143 143
         // Update the first chunk and push the charset to the top of the file.
144
-        $cssChunks[0] = $charset . $cssChunks[0];
144
+        $cssChunks[0] = $charset.$cssChunks[0];
145 145
 
146 146
         return trim(implode('', $cssChunks));
147 147
     }
@@ -235,7 +235,7 @@  discard block
 block discarded – undo
235 235
     private function registerPreservedToken($token)
236 236
     {
237 237
         $this->preservedTokens[] = $token;
238
-        return self::TOKEN . (count($this->preservedTokens) - 1) .'___';
238
+        return self::TOKEN.(count($this->preservedTokens) - 1).'___';
239 239
     }
240 240
 
241 241
     /**
@@ -245,7 +245,7 @@  discard block
 block discarded – undo
245 245
      */
246 246
     private function getPreservedTokenPlaceholderRegexById($id)
247 247
     {
248
-        return '/'. self::TOKEN . $id .'___/';
248
+        return '/'.self::TOKEN.$id.'___/';
249 249
     }
250 250
 
251 251
     /**
@@ -256,7 +256,7 @@  discard block
 block discarded – undo
256 256
     private function registerComment($comment)
257 257
     {
258 258
         $this->comments[] = $comment;
259
-        return '/*'. self::COMMENT . (count($this->comments) - 1) .'___*/';
259
+        return '/*'.self::COMMENT.(count($this->comments) - 1).'___*/';
260 260
     }
261 261
 
262 262
     /**
@@ -266,7 +266,7 @@  discard block
 block discarded – undo
266 266
      */
267 267
     private function getCommentPlaceholderById($id)
268 268
     {
269
-        return self::COMMENT . $id .'___';
269
+        return self::COMMENT.$id.'___';
270 270
     }
271 271
 
272 272
     /**
@@ -276,7 +276,7 @@  discard block
 block discarded – undo
276 276
      */
277 277
     private function getCommentPlaceholderRegexById($id)
278 278
     {
279
-        return '/'. $this->getCommentPlaceholderById($id) .'/';
279
+        return '/'.$this->getCommentPlaceholderById($id).'/';
280 280
     }
281 281
 
282 282
     /**
@@ -287,7 +287,7 @@  discard block
 block discarded – undo
287 287
     private function registerAtRuleBlock($block)
288 288
     {
289 289
         $this->atRuleBlocks[] = $block;
290
-        return self::AT_RULE_BLOCK . (count($this->atRuleBlocks) - 1) .'___';
290
+        return self::AT_RULE_BLOCK.(count($this->atRuleBlocks) - 1).'___';
291 291
     }
292 292
 
293 293
     /**
@@ -297,7 +297,7 @@  discard block
 block discarded – undo
297 297
      */
298 298
     private function getAtRuleBlockPlaceholderRegexById($id)
299 299
     {
300
-        return '/'. self::AT_RULE_BLOCK . $id .'___/';
300
+        return '/'.self::AT_RULE_BLOCK.$id.'___/';
301 301
     }
302 302
 
303 303
     /**
@@ -330,8 +330,8 @@  discard block
 block discarded – undo
330 330
                 $preservedTokenPlaceholder = $this->registerPreservedToken($comment);
331 331
                 $css = preg_replace($commentPlaceholderRegex, $preservedTokenPlaceholder, $css, 1);
332 332
                 // Preserve new lines for /*! important comments
333
-                $css = preg_replace('/\R+\s*(\/\*'. $preservedTokenPlaceholder .')/', self::NL.'$1', $css);
334
-                $css = preg_replace('/('. $preservedTokenPlaceholder .'\*\/)\s*\R+/', '$1'.self::NL, $css);
333
+                $css = preg_replace('/\R+\s*(\/\*'.$preservedTokenPlaceholder.')/', self::NL.'$1', $css);
334
+                $css = preg_replace('/('.$preservedTokenPlaceholder.'\*\/)\s*\R+/', '$1'.self::NL, $css);
335 335
                 continue;
336 336
             }
337 337
 
@@ -360,14 +360,14 @@  discard block
 block discarded – undo
360 360
             }
361 361
 
362 362
             // in all other cases kill the comment
363
-            $css = preg_replace('/\/\*' . $commentPlaceholder . '\*\//', '', $css, 1);
363
+            $css = preg_replace('/\/\*'.$commentPlaceholder.'\*\//', '', $css, 1);
364 364
         }
365 365
 
366 366
         // Normalize all whitespace strings to single spaces. Easier to work with that way.
367 367
         $css = preg_replace('/\s+/', ' ', $css);
368 368
 
369 369
         // Remove spaces before & after newlines
370
-        $css = preg_replace('/\s*'. self::NL .'\s*/', self::NL, $css);
370
+        $css = preg_replace('/\s*'.self::NL.'\s*/', self::NL, $css);
371 371
 
372 372
         // Fix IE7 issue on matrix filters which browser accept whitespaces between Matrix parameters
373 373
         $css = preg_replace_callback(
@@ -409,7 +409,7 @@  discard block
 block discarded – undo
409 409
         $css = preg_replace('/!important/i', ' !important', $css);
410 410
 
411 411
         // bring back the colon
412
-        $css = preg_replace('/'. self::CLASSCOLON .'/', ':', $css);
412
+        $css = preg_replace('/'.self::CLASSCOLON.'/', ':', $css);
413 413
 
414 414
         // retain space for special IE6 cases
415 415
         $css = preg_replace_callback('/:first-(line|letter)(\{|,)/i', array($this, 'lowercasePseudoFirst'), $css);
@@ -419,7 +419,7 @@  discard block
 block discarded – undo
419 419
 
420 420
         // lowercase some popular @directives
421 421
         $css = preg_replace_callback(
422
-            '/@(document|font-face|import|(?:-(?:atsc|khtml|moz|ms|o|wap|webkit)-)?keyframes|media|namespace|page|' .
422
+            '/@(document|font-face|import|(?:-(?:atsc|khtml|moz|ms|o|wap|webkit)-)?keyframes|media|namespace|page|'.
423 423
             'supports|viewport)/i',
424 424
             array($this, 'lowercaseDirectives'),
425 425
             $css
@@ -427,7 +427,7 @@  discard block
 block discarded – undo
427 427
 
428 428
         // lowercase some more common pseudo-elements
429 429
         $css = preg_replace_callback(
430
-            '/:(active|after|before|checked|disabled|empty|enabled|first-(?:child|of-type)|focus|hover|' .
430
+            '/:(active|after|before|checked|disabled|empty|enabled|first-(?:child|of-type)|focus|hover|'.
431 431
             'last-(?:child|of-type)|link|only-(?:child|of-type)|root|:selection|target|visited)/i',
432 432
             array($this, 'lowercasePseudoElements'),
433 433
             $css
@@ -443,7 +443,7 @@  discard block
 block discarded – undo
443 443
         // lower case some common function that can be values
444 444
         // NOTE: rgb() isn't useful as we replace with #hex later, as well as and() is already done for us
445 445
         $css = preg_replace_callback(
446
-            '/([:,( ]\s*)(attr|color-stop|from|rgba|to|url|-webkit-gradient|' .
446
+            '/([:,( ]\s*)(attr|color-stop|from|rgba|to|url|-webkit-gradient|'.
447 447
             '(?:-(?:atsc|khtml|moz|ms|o|wap|webkit)-)?(?:calc|max|min|(?:repeating-)?(?:linear|radial)-gradient))/iS',
448 448
             array($this, 'lowercaseCommonFunctionsValues'),
449 449
             $css
@@ -500,19 +500,19 @@  discard block
 block discarded – undo
500 500
 
501 501
         // Find a fraction that is used for Opera's -o-device-pixel-ratio query
502 502
         // Add token to add the "\" back in later
503
-        $css = preg_replace('/\(([a-z\-]+):([0-9]+)\/([0-9]+)\)/i', '($1:$2'. self::QUERY_FRACTION .'$3)', $css);
503
+        $css = preg_replace('/\(([a-z\-]+):([0-9]+)\/([0-9]+)\)/i', '($1:$2'.self::QUERY_FRACTION.'$3)', $css);
504 504
 
505 505
         // Patch new lines to avoid being removed when followed by empty rules cases
506
-        $css = preg_replace('/'. self::NL .'/', self::NL .'}', $css);
506
+        $css = preg_replace('/'.self::NL.'/', self::NL.'}', $css);
507 507
 
508 508
         // Remove empty rules.
509 509
         $css = preg_replace('/[^{};\/]+\{\}/S', '', $css);
510 510
 
511 511
         // Restore new lines for /*! important comments
512
-        $css = preg_replace('/'. self::NL .'}/', "\n", $css);
512
+        $css = preg_replace('/'.self::NL.'}/', "\n", $css);
513 513
 
514 514
         // Add "/" back to fix Opera -o-device-pixel-ratio query
515
-        $css = preg_replace('/'. self::QUERY_FRACTION .'/', '/', $css);
515
+        $css = preg_replace('/'.self::QUERY_FRACTION.'/', '/', $css);
516 516
 
517 517
         // Replace multiple semi-colons in a row by a single one
518 518
         // See SF bug #1980989
@@ -528,7 +528,7 @@  discard block
 block discarded – undo
528 528
             $linebreakPos = (int) $linebreakPos;
529 529
             for ($startIndex = $i = 1, $l = strlen($css); $i < $l; $i++) {
530 530
                 if ($css[$i - 1] === '}' && $i - $startIndex > $linebreakPos) {
531
-                    $css = $this->strSlice($css, 0, $i) . "\n" . $this->strSlice($css, $i);
531
+                    $css = $this->strSlice($css, 0, $i)."\n".$this->strSlice($css, $i);
532 532
                     $l = strlen($css);
533 533
                     $startIndex = $i;
534 534
                 }
@@ -581,7 +581,7 @@  discard block
 block discarded – undo
581 581
                 $terminator = ')';
582 582
             }
583 583
 
584
-            while ($terminatorFound === false && $endIndex+1 <= $maxIndex) {
584
+            while ($terminatorFound === false && $endIndex + 1 <= $maxIndex) {
585 585
                 $endIndex = $this->indexOf($css, $terminator, $endIndex + 1);
586 586
                 // endIndex == 0 doesn't really apply here
587 587
                 if ($endIndex > 0 && substr($css, $endIndex - 1, 1) !== '\\') {
@@ -604,7 +604,7 @@  discard block
 block discarded – undo
604 604
                     trim($token)
605 605
                 );
606 606
                 $preservedTokenPlaceholder = $this->registerPreservedToken($token);
607
-                $sb[] = 'url('. $preservedTokenPlaceholder .')';
607
+                $sb[] = 'url('.$preservedTokenPlaceholder.')';
608 608
                 $appenIndex = $endIndex + 1;
609 609
             } else {
610 610
                 // No end terminator found, re-add the whole match. Should we throw/warn here?
@@ -630,7 +630,7 @@  discard block
 block discarded – undo
630 630
     private function shortenZeroValues($css)
631 631
     {
632 632
         $unitsGroupReg = $this->unitsGroupRegex;
633
-        $numOrPosReg = '('. $this->numRegex .'|top|left|bottom|right|center)';
633
+        $numOrPosReg = '('.$this->numRegex.'|top|left|bottom|right|center)';
634 634
         $oneZeroSafeProperties = array(
635 635
             '(?:line-)?height',
636 636
             '(?:(?:min|max)-)?width',
@@ -656,17 +656,17 @@  discard block
 block discarded – undo
656 656
         $regEnd = '/i';
657 657
 
658 658
         // First zero regex start
659
-        $oneZeroRegStart = $regStart .'('. implode('|', $oneZeroSafeProperties) .'):';
659
+        $oneZeroRegStart = $regStart.'('.implode('|', $oneZeroSafeProperties).'):';
660 660
 
661 661
         // Multiple zeros regex start
662
-        $nZerosRegStart = $regStart .'('. implode('|', $nZeroSafeProperties) .'):';
662
+        $nZerosRegStart = $regStart.'('.implode('|', $nZeroSafeProperties).'):';
663 663
 
664 664
         $css = preg_replace(
665 665
             array(
666
-                $oneZeroRegStart .'0'. $unitsGroupReg . $regEnd,
667
-                $nZerosRegStart . $numOrPosReg .' 0'. $unitsGroupReg . $regEnd,
668
-                $nZerosRegStart . $numOrPosReg .' '. $numOrPosReg .' 0'. $unitsGroupReg . $regEnd,
669
-                $nZerosRegStart . $numOrPosReg .' '. $numOrPosReg .' '. $numOrPosReg .' 0'. $unitsGroupReg . $regEnd
666
+                $oneZeroRegStart.'0'.$unitsGroupReg.$regEnd,
667
+                $nZerosRegStart.$numOrPosReg.' 0'.$unitsGroupReg.$regEnd,
668
+                $nZerosRegStart.$numOrPosReg.' '.$numOrPosReg.' 0'.$unitsGroupReg.$regEnd,
669
+                $nZerosRegStart.$numOrPosReg.' '.$numOrPosReg.' '.$numOrPosReg.' 0'.$unitsGroupReg.$regEnd
670 670
             ),
671 671
             array(
672 672
                 '$1$2:0',
@@ -682,13 +682,13 @@  discard block
 block discarded – undo
682 682
 
683 683
         // Replace 0 0; or 0 0 0; or 0 0 0 0; with 0 for safe properties only.
684 684
         $css = preg_replace(
685
-            '/('. implode('|', $nZeroSafeProperties) .'):0(?: 0){1,3}(;|\}| !)'. $regEnd,
685
+            '/('.implode('|', $nZeroSafeProperties).'):0(?: 0){1,3}(;|\}| !)'.$regEnd,
686 686
             '$1:0$2',
687 687
             $css
688 688
         );
689 689
 
690 690
         // Replace 0 0 0; or 0 0 0 0; with 0 0 for background-position property.
691
-        $css = preg_replace('/(background-position):0(?: 0){2,3}(;|\}| !)'. $regEnd, '$1:0 0$2', $css);
691
+        $css = preg_replace('/(background-position):0(?: 0){2,3}(;|\}| !)'.$regEnd, '$1:0 0$2', $css);
692 692
 
693 693
         return $css;
694 694
     }
@@ -712,12 +712,12 @@  discard block
 block discarded – undo
712 712
             '(?:text|box)-shadow'
713 713
         );
714 714
 
715
-        $regStart = '/(;|\{)('. implode('|', $propertiesWithColors) .'):([^;}]*)\b';
715
+        $regStart = '/(;|\{)('.implode('|', $propertiesWithColors).'):([^;}]*)\b';
716 716
         $regEnd = '\b/iS';
717 717
 
718 718
         foreach ($longNamedColors as $colorName => $colorCode) {
719
-            $patterns[] = $regStart . $colorName . $regEnd;
720
-            $replacements[] = '$1$2:$3'. $colorCode;
719
+            $patterns[] = $regStart.$colorName.$regEnd;
720
+            $replacements[] = '$1$2:$3'.$colorCode;
721 721
         }
722 722
 
723 723
         // Run at least 4 times to cover most cases (same color used several times for the same property)
@@ -762,16 +762,16 @@  discard block
 block discarded – undo
762 762
 
763 763
             if ($isFilter) {
764 764
                 // Restore, maintain case, otherwise filter will break
765
-                $sb[] = $m[1] .'#'. $m[2] . $m[3] . $m[4] . $m[5] . $m[6] . $m[7];
765
+                $sb[] = $m[1].'#'.$m[2].$m[3].$m[4].$m[5].$m[6].$m[7];
766 766
             } else {
767 767
                 if (strtolower($m[2]) == strtolower($m[3]) &&
768 768
                     strtolower($m[4]) == strtolower($m[5]) &&
769 769
                     strtolower($m[6]) == strtolower($m[7])) {
770 770
                     // Compress.
771
-                    $hex = '#'. strtolower($m[3] . $m[5] . $m[7]);
771
+                    $hex = '#'.strtolower($m[3].$m[5].$m[7]);
772 772
                 } else {
773 773
                     // Non compressible color, restore but lower case.
774
-                    $hex = '#'. strtolower($m[2] . $m[3] . $m[4] . $m[5] . $m[6] . $m[7]);
774
+                    $hex = '#'.strtolower($m[2].$m[3].$m[4].$m[5].$m[6].$m[7]);
775 775
                 }
776 776
                 // replace Hex colors with shorter color names
777 777
                 $sb[] = array_key_exists($hex, $longHexColors) ? $longHexColors[$hex] : $hex;
@@ -818,7 +818,7 @@  discard block
 block discarded – undo
818 818
         $match = preg_replace('/progid:DXImageTransform\.Microsoft\.Alpha\(Opacity=/i', 'alpha(opacity=', $match);
819 819
 
820 820
         $preservedTokenPlaceholder = $this->registerPreservedToken($match);
821
-        return $quote . $preservedTokenPlaceholder . $quote;
821
+        return $quote.$preservedTokenPlaceholder.$quote;
822 822
     }
823 823
 
824 824
     private function processAtRuleBlocks($matches)
@@ -838,13 +838,13 @@  discard block
 block discarded – undo
838 838
             )
839 839
         );
840 840
         $preservedTokenPlaceholder = $this->registerPreservedToken($token);
841
-        return 'calc('. $preservedTokenPlaceholder .')';
841
+        return 'calc('.$preservedTokenPlaceholder.')';
842 842
     }
843 843
 
844 844
     private function processOldIeSpecificMatrixDefinition($matches)
845 845
     {
846 846
         $preservedTokenPlaceholder = $this->registerPreservedToken($matches[1]);
847
-        return 'filter:progid:DXImageTransform.Microsoft.Matrix('. $preservedTokenPlaceholder .')';
847
+        return 'filter:progid:DXImageTransform.Microsoft.Matrix('.$preservedTokenPlaceholder.')';
848 848
     }
849 849
 
850 850
     private function processColon($matches)
@@ -869,10 +869,10 @@  discard block
 block discarded – undo
869 869
 
870 870
         // Fix for issue #2528093
871 871
         if (!preg_match('/[\s,);}]/', $matches[2])) {
872
-            $matches[2] = ' '. $matches[2];
872
+            $matches[2] = ' '.$matches[2];
873 873
         }
874 874
 
875
-        return '#'. implode('', $hexColors) . $matches[2];
875
+        return '#'.implode('', $hexColors).$matches[2];
876 876
     }
877 877
 
878 878
     private function hslToHex($matches)
@@ -886,37 +886,37 @@  discard block
 block discarded – undo
886 886
 
887 887
     private function processAtRulesOperators($matches)
888 888
     {
889
-        return $matches[1] . strtolower($matches[2]) .' (';
889
+        return $matches[1].strtolower($matches[2]).' (';
890 890
     }
891 891
 
892 892
     private function lowercasePseudoFirst($matches)
893 893
     {
894
-        return ':first-'. strtolower($matches[1]) .' '. $matches[2];
894
+        return ':first-'.strtolower($matches[1]).' '.$matches[2];
895 895
     }
896 896
 
897 897
     private function lowercaseDirectives($matches)
898 898
     {
899
-        return '@'. strtolower($matches[1]);
899
+        return '@'.strtolower($matches[1]);
900 900
     }
901 901
 
902 902
     private function lowercasePseudoElements($matches)
903 903
     {
904
-        return ':'. strtolower($matches[1]);
904
+        return ':'.strtolower($matches[1]);
905 905
     }
906 906
 
907 907
     private function lowercaseCommonFunctions($matches)
908 908
     {
909
-        return ':'. strtolower($matches[1]) .'(';
909
+        return ':'.strtolower($matches[1]).'(';
910 910
     }
911 911
 
912 912
     private function lowercaseCommonFunctionsValues($matches)
913 913
     {
914
-        return $matches[1] . strtolower($matches[2]);
914
+        return $matches[1].strtolower($matches[2]);
915 915
     }
916 916
 
917 917
     private function lowercaseProperties($matches)
918 918
     {
919
-        return $matches[1] . strtolower($matches[2]) . $matches[3];
919
+        return $matches[1].strtolower($matches[2]).$matches[3];
920 920
     }
921 921
 
922 922
     // ---------------------------------------------------------------------------------------------
@@ -967,18 +967,18 @@  discard block
 block discarded – undo
967 967
         $l = floatval(str_replace('%', '', $hslValues[2]));
968 968
 
969 969
         // Wrap and clamp, then fraction!
970
-        $h = ((($h % 360) + 360) % 360) / 360;
971
-        $s = $this->clampNumber($s, 0, 100) / 100;
972
-        $l = $this->clampNumber($l, 0, 100) / 100;
970
+        $h = ((($h%360) + 360)%360)/360;
971
+        $s = $this->clampNumber($s, 0, 100)/100;
972
+        $l = $this->clampNumber($l, 0, 100)/100;
973 973
 
974 974
         if ($s == 0) {
975
-            $r = $g = $b = $this->roundNumber(255 * $l);
975
+            $r = $g = $b = $this->roundNumber(255*$l);
976 976
         } else {
977
-            $v2 = $l < 0.5 ? $l * (1 + $s) : ($l + $s) - ($s * $l);
978
-            $v1 = (2 * $l) - $v2;
979
-            $r = $this->roundNumber(255 * $this->hueToRgb($v1, $v2, $h + (1/3)));
980
-            $g = $this->roundNumber(255 * $this->hueToRgb($v1, $v2, $h));
981
-            $b = $this->roundNumber(255 * $this->hueToRgb($v1, $v2, $h - (1/3)));
977
+            $v2 = $l < 0.5 ? $l*(1 + $s) : ($l + $s) - ($s*$l);
978
+            $v1 = (2*$l) - $v2;
979
+            $r = $this->roundNumber(255*$this->hueToRgb($v1, $v2, $h + (1/3)));
980
+            $g = $this->roundNumber(255*$this->hueToRgb($v1, $v2, $h));
981
+            $b = $this->roundNumber(255*$this->hueToRgb($v1, $v2, $h - (1/3)));
982 982
         }
983 983
 
984 984
         return array($r, $g, $b);
@@ -995,16 +995,16 @@  discard block
 block discarded – undo
995 995
     {
996 996
         $vh = $vh < 0 ? $vh + 1 : ($vh > 1 ? $vh - 1 : $vh);
997 997
 
998
-        if ($vh * 6 < 1) {
999
-            return $v1 + ($v2 - $v1) * 6 * $vh;
998
+        if ($vh*6 < 1) {
999
+            return $v1 + ($v2 - $v1)*6*$vh;
1000 1000
         }
1001 1001
 
1002
-        if ($vh * 2 < 1) {
1002
+        if ($vh*2 < 1) {
1003 1003
             return $v2;
1004 1004
         }
1005 1005
 
1006
-        if ($vh * 3 < 2) {
1007
-            return $v1 + ($v2 - $v1) * ((2 / 3) - $vh) * 6;
1006
+        if ($vh*3 < 2) {
1007
+            return $v1 + ($v2 - $v1)*((2/3) - $vh)*6;
1008 1008
         }
1009 1009
 
1010 1010
         return $v1;
@@ -1039,13 +1039,13 @@  discard block
 block discarded – undo
1039 1039
             switch ($letter) {
1040 1040
                 case 'M':
1041 1041
                 case 'm':
1042
-                    return (int) $size * 1048576;
1042
+                    return (int) $size*1048576;
1043 1043
                 case 'K':
1044 1044
                 case 'k':
1045
-                    return (int) $size * 1024;
1045
+                    return (int) $size*1024;
1046 1046
                 case 'G':
1047 1047
                 case 'g':
1048
-                    return (int) $size * 1073741824;
1048
+                    return (int) $size*1073741824;
1049 1049
             }
1050 1050
         }
1051 1051
         return (int) $size;
@@ -1059,7 +1059,7 @@  discard block
 block discarded – undo
1059 1059
     private function rgbPercentageToRgbInteger($rgbPercentage)
1060 1060
     {
1061 1061
         if (strpos($rgbPercentage, '%') !== false) {
1062
-            $rgbPercentage = $this->roundNumber(floatval(str_replace('%', '', $rgbPercentage)) * 2.55);
1062
+            $rgbPercentage = $this->roundNumber(floatval(str_replace('%', '', $rgbPercentage))*2.55);
1063 1063
         }
1064 1064
 
1065 1065
         return intval($rgbPercentage, 10);
Please login to merge, or discard this patch.
classes/external/php/minify-html.php 1 patch
Spacing   +6 added lines, -6 removed lines patch added patch discarded remove patch
@@ -70,7 +70,7 @@  discard block
 block discarded – undo
70 70
     {
71 71
         $this->_html = str_replace("\r\n", "\n", trim($html));
72 72
         if (isset($options['xhtml'])) {
73
-            $this->_isXhtml = (bool)$options['xhtml'];
73
+            $this->_isXhtml = (bool) $options['xhtml'];
74 74
         }
75 75
         if (isset($options['cssMinifier'])) {
76 76
             $this->_cssMinifier = $options['cssMinifier'];
@@ -95,7 +95,7 @@  discard block
 block discarded – undo
95 95
             $this->_isXhtml = (false !== strpos($this->_html, '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML'));
96 96
         }
97 97
         
98
-        $this->_replacementHash = 'MINIFYHTML' . md5($_SERVER['REQUEST_TIME']);
98
+        $this->_replacementHash = 'MINIFYHTML'.md5($_SERVER['REQUEST_TIME']);
99 99
         $this->_placeholders = array();
100 100
         
101 101
         // replace SCRIPTs (and minify) with placeholders
@@ -111,7 +111,7 @@  discard block
 block discarded – undo
111 111
             ,$this->_html);
112 112
         
113 113
         // remove HTML comments (not containing IE conditional comments).
114
-		if  ($this->_keepComments == false) {
114
+		if ($this->_keepComments == false) {
115 115
 			$this->_html = preg_replace_callback(
116 116
 				'/<!--([\\s\\S]*?)-->/'
117 117
 				,array($this, '_commentCB')
@@ -173,7 +173,7 @@  discard block
 block discarded – undo
173 173
     
174 174
     protected function _reservePlace($content)
175 175
     {
176
-        $placeholder = '%' . $this->_replacementHash . count($this->_placeholders) . '%';
176
+        $placeholder = '%'.$this->_replacementHash.count($this->_placeholders).'%';
177 177
         $this->_placeholders[$placeholder] = $content;
178 178
         return $placeholder;
179 179
     }
@@ -187,7 +187,7 @@  discard block
 block discarded – undo
187 187
 
188 188
     protected function _outsideTagCB($m)
189 189
     {
190
-        return '>' . preg_replace('/^\\s+|\\s+$/', ' ', $m[1]) . '<';
190
+        return '>'.preg_replace('/^\\s+|\\s+$/', ' ', $m[1]).'<';
191 191
     }
192 192
     
193 193
     protected function _removePreCB($m)
@@ -257,7 +257,7 @@  discard block
 block discarded – undo
257 257
     protected function _removeCdata($str)
258 258
     {
259 259
         return (false !== strpos($str, '<![CDATA['))
260
-            ? str_replace(array('/* <![CDATA[ */','/* ]]> */','/*<![CDATA[*/','/*]]>*/','<![CDATA[', ']]>'), '', $str)
260
+            ? str_replace(array('/* <![CDATA[ */', '/* ]]> */', '/*<![CDATA[*/', '/*]]>*/', '<![CDATA[', ']]>'), '', $str)
261 261
             : $str;
262 262
     }
263 263
     
Please login to merge, or discard this patch.
classes/autoptimizeHTML.php 1 patch
Spacing   +19 added lines, -19 removed lines patch added patch discarded remove patch
@@ -1,5 +1,5 @@  discard block
 block discarded – undo
1 1
 <?php
2
-if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
2
+if (!defined('ABSPATH')) exit; // Exit if accessed directly
3 3
 
4 4
 class autoptimizeHTML extends autoptimizeBase {
5 5
     private $keepcomments = false;
@@ -10,13 +10,13 @@  discard block
 block discarded – undo
10 10
         $this->keepcomments = (bool) $options['keepcomments'];
11 11
         
12 12
         // filter to force xhtml
13
-        $this->forcexhtml = (bool) apply_filters( 'autoptimize_filter_html_forcexhtml', false );
13
+        $this->forcexhtml = (bool) apply_filters('autoptimize_filter_html_forcexhtml', false);
14 14
         
15 15
         // filter to add strings to be excluded from HTML minification
16
-        $excludeHTML = apply_filters( 'autoptimize_filter_html_exclude','' );
17
-        if ($excludeHTML!=="") {
18
-            $exclHTMLArr = array_filter(array_map('trim',explode(",",$excludeHTML)));
19
-            $this->exclude = array_merge($exclHTMLArr,$this->exclude);
16
+        $excludeHTML = apply_filters('autoptimize_filter_html_exclude', '');
17
+        if ($excludeHTML !== "") {
18
+            $exclHTMLArr = array_filter(array_map('trim', explode(",", $excludeHTML)));
19
+            $this->exclude = array_merge($exclHTMLArr, $this->exclude);
20 20
         }
21 21
         
22 22
         // Nothing else for HTML
@@ -25,16 +25,16 @@  discard block
 block discarded – undo
25 25
     
26 26
     //Joins and optimizes CSS
27 27
     public function minify() {
28
-        $noptimizeHTML = apply_filters( 'autoptimize_filter_html_noptimize', false, $this->content );
28
+        $noptimizeHTML = apply_filters('autoptimize_filter_html_noptimize', false, $this->content);
29 29
         if ($noptimizeHTML)
30 30
             return false;
31 31
         
32
-        if(class_exists('Minify_HTML')) {
32
+        if (class_exists('Minify_HTML')) {
33 33
             // wrap the to-be-excluded strings in noptimize tags
34 34
             foreach ($this->exclude as $exclString) {
35
-                if (strpos($this->content,$exclString)!==false) {
36
-                    $replString="<!--noptimize-->".$exclString."<!--/noptimize-->";
37
-                    $this->content=str_replace($exclString,$replString,$this->content);
35
+                if (strpos($this->content, $exclString) !== false) {
36
+                    $replString = "<!--noptimize-->".$exclString."<!--/noptimize-->";
37
+                    $this->content = str_replace($exclString, $replString, $this->content);
38 38
                 }
39 39
             }
40 40
 
@@ -47,8 +47,8 @@  discard block
 block discarded – undo
47 47
                 $options['xhtml'] = true;
48 48
             }
49 49
 
50
-            if (@is_callable(array("Minify_HTML","minify"))) {
51
-                $tmp_content = Minify_HTML::minify($this->content,$options);
50
+            if (@is_callable(array("Minify_HTML", "minify"))) {
51
+                $tmp_content = Minify_HTML::minify($this->content, $options);
52 52
                 if (!empty($tmp_content)) {
53 53
                     $this->content = $tmp_content;
54 54
                     unset($tmp_content);
@@ -60,16 +60,16 @@  discard block
 block discarded – undo
60 60
             
61 61
             // remove the noptimize-wrapper from around the excluded strings
62 62
             foreach ($this->exclude as $exclString) {
63
-                $replString="<!--noptimize-->".$exclString."<!--/noptimize-->";
64
-                if (strpos($this->content,$replString)!==false) {
65
-                    $this->content=str_replace($replString,$exclString,$this->content);
63
+                $replString = "<!--noptimize-->".$exclString."<!--/noptimize-->";
64
+                if (strpos($this->content, $replString) !== false) {
65
+                    $this->content = str_replace($replString, $exclString, $this->content);
66 66
                 }
67 67
             }
68 68
 
69 69
 			// revslider data attribs somehow suffer from HTML optimization, this fixes that
70
-            if ( class_exists('RevSlider') || apply_filters('autoptimize_filter_html_dataattrib_cleanup', false) ) {
71
-				$this->content = preg_replace('#\n(data-.*$)\n#Um',' $1 ', $this->content);
72
-				$this->content = preg_replace('#(=\"[^"]*\")(\w)#','$1 $2', $this->content);
70
+            if (class_exists('RevSlider') || apply_filters('autoptimize_filter_html_dataattrib_cleanup', false)) {
71
+				$this->content = preg_replace('#\n(data-.*$)\n#Um', ' $1 ', $this->content);
72
+				$this->content = preg_replace('#(=\"[^"]*\")(\w)#', '$1 $2', $this->content);
73 73
 			}
74 74
 
75 75
             return true;
Please login to merge, or discard this patch.
autoptimize.php 1 patch
Spacing   +70 added lines, -70 removed lines patch added patch discarded remove patch
@@ -12,15 +12,15 @@  discard block
 block discarded – undo
12 12
 http://www.gnu.org/licenses/gpl.txt
13 13
 */
14 14
 
15
-if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
15
+if (!defined('ABSPATH')) exit; // Exit if accessed directly
16 16
 
17
-define('AUTOPTIMIZE_PLUGIN_DIR',plugin_dir_path(__FILE__));
17
+define('AUTOPTIMIZE_PLUGIN_DIR', plugin_dir_path(__FILE__));
18 18
 
19 19
 // Load config class
20 20
 include(AUTOPTIMIZE_PLUGIN_DIR.'classes/autoptimizeConfig.php');
21 21
 
22 22
 // Load toolbar class
23
-include( AUTOPTIMIZE_PLUGIN_DIR.'classes/autoptimizeToolbar.php' );
23
+include(AUTOPTIMIZE_PLUGIN_DIR.'classes/autoptimizeToolbar.php');
24 24
 
25 25
 // Load partners tab if admin
26 26
 if (is_admin()) {
@@ -28,25 +28,25 @@  discard block
 block discarded – undo
28 28
 }
29 29
 
30 30
 // Do we gzip when caching (needed early to load autoptimizeCache.php)
31
-define('AUTOPTIMIZE_CACHE_NOGZIP',(bool) get_option('autoptimize_cache_nogzip'));
31
+define('AUTOPTIMIZE_CACHE_NOGZIP', (bool) get_option('autoptimize_cache_nogzip'));
32 32
 
33 33
 // Load cache class
34 34
 include(AUTOPTIMIZE_PLUGIN_DIR.'classes/autoptimizeCache.php');
35 35
 
36 36
 // wp-content dir name (automagically set, should not be needed), dirname of AO cache dir and AO-prefix can be overridden in wp-config.php
37
-if (!defined('AUTOPTIMIZE_WP_CONTENT_NAME')) { define('AUTOPTIMIZE_WP_CONTENT_NAME','/'.wp_basename( WP_CONTENT_DIR )); }
38
-if (!defined('AUTOPTIMIZE_CACHE_CHILD_DIR')) { define('AUTOPTIMIZE_CACHE_CHILD_DIR','/cache/autoptimize/'); }
37
+if (!defined('AUTOPTIMIZE_WP_CONTENT_NAME')) { define('AUTOPTIMIZE_WP_CONTENT_NAME', '/'.wp_basename(WP_CONTENT_DIR)); }
38
+if (!defined('AUTOPTIMIZE_CACHE_CHILD_DIR')) { define('AUTOPTIMIZE_CACHE_CHILD_DIR', '/cache/autoptimize/'); }
39 39
 if (!defined('AUTOPTIMIZE_CACHEFILE_PREFIX')) { define('AUTOPTIMIZE_CACHEFILE_PREFIX', 'autoptimize_'); }
40 40
 
41 41
 // Plugin dir constants (plugin url's defined later to accomodate domain mapped sites)
42
-if (is_multisite() && apply_filters( 'autoptimize_separate_blog_caches' , true )) {
42
+if (is_multisite() && apply_filters('autoptimize_separate_blog_caches', true)) {
43 43
     $blog_id = get_current_blog_id();
44
-    define('AUTOPTIMIZE_CACHE_DIR', WP_CONTENT_DIR.AUTOPTIMIZE_CACHE_CHILD_DIR.$blog_id.'/' );
44
+    define('AUTOPTIMIZE_CACHE_DIR', WP_CONTENT_DIR.AUTOPTIMIZE_CACHE_CHILD_DIR.$blog_id.'/');
45 45
 } else {
46 46
     define('AUTOPTIMIZE_CACHE_DIR', WP_CONTENT_DIR.AUTOPTIMIZE_CACHE_CHILD_DIR);
47 47
 }
48
-define('AUTOPTIMIZE_CACHE_DELAY',true);
49
-define('WP_ROOT_DIR',str_replace(AUTOPTIMIZE_WP_CONTENT_NAME,'',WP_CONTENT_DIR));
48
+define('AUTOPTIMIZE_CACHE_DELAY', true);
49
+define('WP_ROOT_DIR', str_replace(AUTOPTIMIZE_WP_CONTENT_NAME, '', WP_CONTENT_DIR));
50 50
 
51 51
 // Initialize the cache at least once
52 52
 $conf = autoptimizeConfig::instance();
@@ -54,65 +54,65 @@  discard block
 block discarded – undo
54 54
 /* Check if we're updating, in which case we might need to do stuff and flush the cache
55 55
 to avoid old versions of aggregated files lingering around */
56 56
 
57
-$autoptimize_version="2.1.99";
58
-$autoptimize_db_version=get_option('autoptimize_version','none');
57
+$autoptimize_version = "2.1.99";
58
+$autoptimize_db_version = get_option('autoptimize_version', 'none');
59 59
 
60 60
 if ($autoptimize_db_version !== $autoptimize_version) {
61
-    if ($autoptimize_db_version==="none") {
61
+    if ($autoptimize_db_version === "none") {
62 62
         add_action('admin_notices', 'autoptimize_install_config_notice');
63 63
     } else {
64 64
         // updating, include the update-code
65 65
         include(AUTOPTIMIZE_PLUGIN_DIR.'classlesses/autoptimizeUpdateCode.php');
66 66
     }
67 67
 
68
-    update_option('autoptimize_version',$autoptimize_version);
69
-    $autoptimize_db_version=$autoptimize_version;
68
+    update_option('autoptimize_version', $autoptimize_version);
69
+    $autoptimize_db_version = $autoptimize_version;
70 70
 }
71 71
 
72 72
 // Load translations
73 73
 function autoptimize_load_plugin_textdomain() {
74
-    load_plugin_textdomain('autoptimize',false,plugin_basename(dirname( __FILE__ )).'/localization');
74
+    load_plugin_textdomain('autoptimize', false, plugin_basename(dirname(__FILE__)).'/localization');
75 75
 }
76
-add_action( 'init', 'autoptimize_load_plugin_textdomain' );
76
+add_action('init', 'autoptimize_load_plugin_textdomain');
77 77
 
78
-function autoptimize_uninstall(){
78
+function autoptimize_uninstall() {
79 79
     autoptimizeCache::clearall();
80 80
 
81
-    $delete_options=array("autoptimize_cache_clean", "autoptimize_cache_nogzip", "autoptimize_css", "autoptimize_css_datauris", "autoptimize_css_justhead", "autoptimize_css_defer", "autoptimize_css_defer_inline", "autoptimize_css_inline", "autoptimize_css_exclude", "autoptimize_html", "autoptimize_html_keepcomments", "autoptimize_js", "autoptimize_js_exclude", "autoptimize_js_forcehead", "autoptimize_js_justhead", "autoptimize_js_trycatch", "autoptimize_version", "autoptimize_show_adv", "autoptimize_cdn_url", "autoptimize_cachesize_notice","autoptimize_css_include_inline","autoptimize_js_include_inline","autoptimize_css_nogooglefont","autoptimize_optimize_logged");
81
+    $delete_options = array("autoptimize_cache_clean", "autoptimize_cache_nogzip", "autoptimize_css", "autoptimize_css_datauris", "autoptimize_css_justhead", "autoptimize_css_defer", "autoptimize_css_defer_inline", "autoptimize_css_inline", "autoptimize_css_exclude", "autoptimize_html", "autoptimize_html_keepcomments", "autoptimize_js", "autoptimize_js_exclude", "autoptimize_js_forcehead", "autoptimize_js_justhead", "autoptimize_js_trycatch", "autoptimize_version", "autoptimize_show_adv", "autoptimize_cdn_url", "autoptimize_cachesize_notice", "autoptimize_css_include_inline", "autoptimize_js_include_inline", "autoptimize_css_nogooglefont", "autoptimize_optimize_logged");
82 82
 
83
-    if ( !is_multisite() ) {
84
-        foreach ($delete_options as $del_opt) {    delete_option( $del_opt ); }
83
+    if (!is_multisite()) {
84
+        foreach ($delete_options as $del_opt) {    delete_option($del_opt); }
85 85
     } else {
86 86
         global $wpdb;
87
-        $blog_ids = $wpdb->get_col( "SELECT blog_id FROM $wpdb->blogs" );
87
+        $blog_ids = $wpdb->get_col("SELECT blog_id FROM $wpdb->blogs");
88 88
         $original_blog_id = get_current_blog_id();
89
-        foreach ( $blog_ids as $blog_id ) {
90
-            switch_to_blog( $blog_id );
91
-            foreach ($delete_options as $del_opt) {    delete_option( $del_opt ); }
89
+        foreach ($blog_ids as $blog_id) {
90
+            switch_to_blog($blog_id);
91
+            foreach ($delete_options as $del_opt) {    delete_option($del_opt); }
92 92
         }
93
-        switch_to_blog( $original_blog_id );
93
+        switch_to_blog($original_blog_id);
94 94
     }
95 95
 
96
-    if ( wp_get_schedule( 'ao_cachechecker' ) ) {
97
-        wp_clear_scheduled_hook( 'ao_cachechecker' );
96
+    if (wp_get_schedule('ao_cachechecker')) {
97
+        wp_clear_scheduled_hook('ao_cachechecker');
98 98
     }
99 99
 }
100 100
 
101 101
 function autoptimize_install_config_notice() {
102 102
     echo '<div class="updated"><p>';
103
-    _e('Thank you for installing and activating Autoptimize. Please configure it under "Settings" -> "Autoptimize" to start improving your site\'s performance.', 'autoptimize' );
103
+    _e('Thank you for installing and activating Autoptimize. Please configure it under "Settings" -> "Autoptimize" to start improving your site\'s performance.', 'autoptimize');
104 104
     echo '</p></div>';
105 105
 }
106 106
 
107 107
 function autoptimize_update_config_notice() {
108 108
     echo '<div class="updated"><p>';
109
-    _e('Autoptimize has just been updated. Please <strong>test your site now</strong> and adapt Autoptimize config if needed.', 'autoptimize' );
109
+    _e('Autoptimize has just been updated. Please <strong>test your site now</strong> and adapt Autoptimize config if needed.', 'autoptimize');
110 110
     echo '</p></div>';
111 111
 }
112 112
 
113 113
 function autoptimize_cache_unavailable_notice() {
114 114
     echo '<div class="error"><p>';
115
-    printf( __( 'Autoptimize cannot write to the cache directory (%s), please fix to enable CSS/ JS optimization!', 'autoptimize' ), AUTOPTIMIZE_CACHE_DIR );
115
+    printf(__('Autoptimize cannot write to the cache directory (%s), please fix to enable CSS/ JS optimization!', 'autoptimize'), AUTOPTIMIZE_CACHE_DIR);
116 116
     echo '</p></div>';
117 117
 }
118 118
 
@@ -121,28 +121,28 @@  discard block
 block discarded – undo
121 121
     $ao_noptimize = false;
122 122
 
123 123
     // noptimize in qs to get non-optimized page for debugging
124
-    if (array_key_exists("ao_noptimize",$_GET)) {
125
-        if ( ($_GET["ao_noptimize"]==="1") && (apply_filters('autoptimize_filter_honor_qs_noptimize',true)) ) {
124
+    if (array_key_exists("ao_noptimize", $_GET)) {
125
+        if (($_GET["ao_noptimize"] === "1") && (apply_filters('autoptimize_filter_honor_qs_noptimize', true))) {
126 126
             $ao_noptimize = true;
127 127
         }
128 128
     }
129 129
 
130 130
     // check for DONOTMINIFY constant as used by e.g. WooCommerce POS
131
-    if (defined('DONOTMINIFY') && (constant('DONOTMINIFY')===true || constant('DONOTMINIFY')==="true")) {
131
+    if (defined('DONOTMINIFY') && (constant('DONOTMINIFY') === true || constant('DONOTMINIFY') === "true")) {
132 132
         $ao_noptimize = true;
133 133
     }
134 134
 
135 135
 	// if setting says not to optimize logged in user and user is logged in
136
-	if (get_option('autoptimize_optimize_logged','on') !== 'on' && is_user_logged_in()) {
136
+	if (get_option('autoptimize_optimize_logged', 'on') !== 'on' && is_user_logged_in()) {
137 137
 		$ao_noptimize = true;
138 138
 	}
139 139
 
140 140
     // filter you can use to block autoptimization on your own terms
141
-    $ao_noptimize = (bool) apply_filters( 'autoptimize_filter_noptimize', $ao_noptimize );
141
+    $ao_noptimize = (bool) apply_filters('autoptimize_filter_noptimize', $ao_noptimize);
142 142
 
143
-    if (!is_feed() && !$ao_noptimize && !is_admin() && ( !function_exists('is_customize_preview') || !is_customize_preview() ) ) {
143
+    if (!is_feed() && !$ao_noptimize && !is_admin() && (!function_exists('is_customize_preview') || !is_customize_preview())) {
144 144
         // load speedupper conditionally (true by default?)
145
-        if ( apply_filters('autoptimize_filter_speedupper', true) ) {
145
+        if (apply_filters('autoptimize_filter_speedupper', true)) {
146 146
             include(AUTOPTIMIZE_PLUGIN_DIR.'classlesses/autoptimizeSpeedupper.php');
147 147
         }
148 148
 
@@ -153,7 +153,7 @@  discard block
 block discarded – undo
153 153
         include(AUTOPTIMIZE_PLUGIN_DIR.'classes/autoptimizeBase.php');
154 154
 
155 155
         // Load extra classes and set some vars
156
-        if($conf->get('autoptimize_html')) {
156
+        if ($conf->get('autoptimize_html')) {
157 157
             include(AUTOPTIMIZE_PLUGIN_DIR.'classes/autoptimizeHTML.php');
158 158
             // BUG: new minify-html does not support keeping HTML comments, skipping for now
159 159
             // if (defined('AUTOPTIMIZE_LEGACY_MINIFIERS')) {
@@ -163,7 +163,7 @@  discard block
 block discarded – undo
163 163
             // }
164 164
         }
165 165
 
166
-        if($conf->get('autoptimize_js')) {
166
+        if ($conf->get('autoptimize_js')) {
167 167
             include(AUTOPTIMIZE_PLUGIN_DIR.'classes/autoptimizeScripts.php');
168 168
             if (!class_exists('JSMin')) {
169 169
                 if (defined('AUTOPTIMIZE_LEGACY_MINIFIERS')) {
@@ -172,15 +172,15 @@  discard block
 block discarded – undo
172 172
                     @include(AUTOPTIMIZE_PLUGIN_DIR.'classes/external/php/minify-2.3.1-jsmin.php');
173 173
                 }
174 174
             }
175
-            if ( ! defined( 'CONCATENATE_SCRIPTS' )) {
176
-                define('CONCATENATE_SCRIPTS',false);
175
+            if (!defined('CONCATENATE_SCRIPTS')) {
176
+                define('CONCATENATE_SCRIPTS', false);
177 177
             }
178
-            if ( ! defined( 'COMPRESS_SCRIPTS' )) {
179
-                define('COMPRESS_SCRIPTS',false);
178
+            if (!defined('COMPRESS_SCRIPTS')) {
179
+                define('COMPRESS_SCRIPTS', false);
180 180
             }
181 181
         }
182 182
 
183
-        if($conf->get('autoptimize_css')) {
183
+        if ($conf->get('autoptimize_css')) {
184 184
             include(AUTOPTIMIZE_PLUGIN_DIR.'classes/autoptimizeStyles.php');
185 185
             if (defined('AUTOPTIMIZE_LEGACY_MINIFIERS')) {
186 186
                 if (!class_exists('Minify_CSS_Compressor')) {
@@ -191,13 +191,13 @@  discard block
 block discarded – undo
191 191
                     @include(AUTOPTIMIZE_PLUGIN_DIR.'classes/external/php/yui-php-cssmin-2.4.8-p10/cssmin.php');
192 192
                 }
193 193
             }
194
-            if ( ! defined( 'COMPRESS_CSS' )) {
195
-                define('COMPRESS_CSS',false);
194
+            if (!defined('COMPRESS_CSS')) {
195
+                define('COMPRESS_CSS', false);
196 196
             }
197 197
         }
198 198
 
199 199
         // filter to be used with care, kills all output buffers when true. use with extreme caution. you have been warned!
200
-        if (apply_filters('autoptimize_filter_obkiller',false)) {
200
+        if (apply_filters('autoptimize_filter_obkiller', false)) {
201 201
             while (ob_get_level() > 0) {
202 202
                 ob_end_clean();
203 203
             }
@@ -209,35 +209,35 @@  discard block
 block discarded – undo
209 209
 
210 210
 // Action on end, this is where the magic happens
211 211
 function autoptimize_end_buffering($content) {
212
-    if ( ((stripos($content,"<html") === false) && (stripos($content,"<!DOCTYPE html") === false)) || preg_match('/<html[^>]*(?:amp|⚡)/',$content) === 1 || stripos($content,"<xsl:stylesheet") !== false ) { return $content; }
212
+    if (((stripos($content, "<html") === false) && (stripos($content, "<!DOCTYPE html") === false)) || preg_match('/<html[^>]*(?:amp|⚡)/', $content) === 1 || stripos($content, "<xsl:stylesheet") !== false) { return $content; }
213 213
     
214 214
     // load URL constants as late as possible to allow domain mapper to kick in
215 215
     if (function_exists("domain_mapping_siteurl")) {
216
-        define('AUTOPTIMIZE_WP_SITE_URL',domain_mapping_siteurl(get_current_blog_id()));
217
-        define('AUTOPTIMIZE_WP_CONTENT_URL',str_replace(get_original_url(AUTOPTIMIZE_WP_SITE_URL),AUTOPTIMIZE_WP_SITE_URL,content_url()));
216
+        define('AUTOPTIMIZE_WP_SITE_URL', domain_mapping_siteurl(get_current_blog_id()));
217
+        define('AUTOPTIMIZE_WP_CONTENT_URL', str_replace(get_original_url(AUTOPTIMIZE_WP_SITE_URL), AUTOPTIMIZE_WP_SITE_URL, content_url()));
218 218
     } else {
219
-        define('AUTOPTIMIZE_WP_SITE_URL',site_url());
220
-        define('AUTOPTIMIZE_WP_CONTENT_URL',content_url());
219
+        define('AUTOPTIMIZE_WP_SITE_URL', site_url());
220
+        define('AUTOPTIMIZE_WP_CONTENT_URL', content_url());
221 221
     }
222 222
 
223
-    if ( is_multisite() && apply_filters( 'autoptimize_separate_blog_caches' , true ) ) {
223
+    if (is_multisite() && apply_filters('autoptimize_separate_blog_caches', true)) {
224 224
         $blog_id = get_current_blog_id();
225
-        define('AUTOPTIMIZE_CACHE_URL',AUTOPTIMIZE_WP_CONTENT_URL.AUTOPTIMIZE_CACHE_CHILD_DIR.$blog_id.'/' );
225
+        define('AUTOPTIMIZE_CACHE_URL', AUTOPTIMIZE_WP_CONTENT_URL.AUTOPTIMIZE_CACHE_CHILD_DIR.$blog_id.'/');
226 226
     } else {
227
-        define('AUTOPTIMIZE_CACHE_URL',AUTOPTIMIZE_WP_CONTENT_URL.AUTOPTIMIZE_CACHE_CHILD_DIR);
227
+        define('AUTOPTIMIZE_CACHE_URL', AUTOPTIMIZE_WP_CONTENT_URL.AUTOPTIMIZE_CACHE_CHILD_DIR);
228 228
     }
229
-    define('AUTOPTIMIZE_WP_ROOT_URL',str_replace(AUTOPTIMIZE_WP_CONTENT_NAME,'',AUTOPTIMIZE_WP_CONTENT_URL));
229
+    define('AUTOPTIMIZE_WP_ROOT_URL', str_replace(AUTOPTIMIZE_WP_CONTENT_NAME, '', AUTOPTIMIZE_WP_CONTENT_URL));
230 230
 
231 231
     // Config element
232 232
     $conf = autoptimizeConfig::instance();
233 233
 
234 234
     // Choose the classes
235 235
     $classes = array();
236
-    if($conf->get('autoptimize_js'))
236
+    if ($conf->get('autoptimize_js'))
237 237
         $classes[] = 'autoptimizeScripts';
238
-    if($conf->get('autoptimize_css'))
238
+    if ($conf->get('autoptimize_css'))
239 239
         $classes[] = 'autoptimizeStyles';
240
-    if($conf->get('autoptimize_html'))
240
+    if ($conf->get('autoptimize_html'))
241 241
         $classes[] = 'autoptimizeHTML';
242 242
 
243 243
     // Set some options
@@ -266,12 +266,12 @@  discard block
 block discarded – undo
266 266
         )
267 267
     );
268 268
 
269
-    $content = apply_filters( 'autoptimize_filter_html_before_minify', $content );
269
+    $content = apply_filters('autoptimize_filter_html_before_minify', $content);
270 270
 
271 271
     // Run the classes
272
-    foreach($classes as $name) {
272
+    foreach ($classes as $name) {
273 273
         $instance = new $name($content);
274
-        if($instance->read($classoptions[$name])) {
274
+        if ($instance->read($classoptions[$name])) {
275 275
             $instance->minify();
276 276
             $instance->cache();
277 277
             $content = $instance->getcontent();
@@ -279,19 +279,19 @@  discard block
 block discarded – undo
279 279
         unset($instance);
280 280
     }
281 281
     
282
-    $content = apply_filters( 'autoptimize_html_after_minify', $content );
282
+    $content = apply_filters('autoptimize_html_after_minify', $content);
283 283
     return $content;
284 284
 }
285 285
 
286
-if ( autoptimizeCache::cacheavail() ) {
286
+if (autoptimizeCache::cacheavail()) {
287 287
     $conf = autoptimizeConfig::instance();
288
-    if( $conf->get('autoptimize_html') || $conf->get('autoptimize_js') || $conf->get('autoptimize_css') ) {
288
+    if ($conf->get('autoptimize_html') || $conf->get('autoptimize_js') || $conf->get('autoptimize_css')) {
289 289
         // Hook to wordpress
290 290
         if (defined('AUTOPTIMIZE_INIT_EARLIER')) {
291
-            add_action('init','autoptimize_start_buffering',-1);
291
+            add_action('init', 'autoptimize_start_buffering', -1);
292 292
         } else {
293 293
             if (!defined('AUTOPTIMIZE_HOOK_INTO')) { define('AUTOPTIMIZE_HOOK_INTO', 'template_redirect'); }
294
-            add_action(constant("AUTOPTIMIZE_HOOK_INTO"),'autoptimize_start_buffering',2);
294
+            add_action(constant("AUTOPTIMIZE_HOOK_INTO"), 'autoptimize_start_buffering', 2);
295 295
         }
296 296
     }
297 297
 } else {
@@ -299,9 +299,9 @@  discard block
 block discarded – undo
299 299
 }
300 300
 
301 301
 function autoptimize_activate() {
302
-    register_uninstall_hook( __FILE__, 'autoptimize_uninstall' );
302
+    register_uninstall_hook(__FILE__, 'autoptimize_uninstall');
303 303
 }
304
-register_activation_hook( __FILE__, 'autoptimize_activate' );
304
+register_activation_hook(__FILE__, 'autoptimize_activate');
305 305
 
306 306
 include_once('classlesses/autoptimizeCacheChecker.php');
307 307
 
Please login to merge, or discard this patch.
classes/autoptimizeStyles.php 1 patch
Spacing   +180 added lines, -180 removed lines patch added patch discarded remove patch
@@ -1,5 +1,5 @@  discard block
 block discarded – undo
1 1
 <?php
2
-if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
2
+if (!defined('ABSPATH')) exit; // Exit if accessed directly
3 3
 
4 4
 class autoptimizeStyles extends autoptimizeBase {
5 5
 
@@ -23,12 +23,12 @@  discard block
 block discarded – undo
23 23
 
24 24
     //Reads the page and collects style tags
25 25
     public function read($options) {
26
-        $noptimizeCSS = apply_filters( 'autoptimize_filter_css_noptimize', false, $this->content );
26
+        $noptimizeCSS = apply_filters('autoptimize_filter_css_noptimize', false, $this->content);
27 27
         if ($noptimizeCSS) return false;
28 28
 
29
-        $whitelistCSS = apply_filters( 'autoptimize_filter_css_whitelist', '', $this->content );
29
+        $whitelistCSS = apply_filters('autoptimize_filter_css_whitelist', '', $this->content);
30 30
         if (!empty($whitelistCSS)) {
31
-            $this->whitelist = array_filter(array_map('trim',explode(",",$whitelistCSS)));
31
+            $this->whitelist = array_filter(array_map('trim', explode(",", $whitelistCSS)));
32 32
         }
33 33
         
34 34
         if ($options['nogooglefont'] == true) {
@@ -36,33 +36,33 @@  discard block
 block discarded – undo
36 36
         } else {
37 37
             $removableCSS = "";
38 38
         }
39
-        $removableCSS = apply_filters( 'autoptimize_filter_css_removables', $removableCSS);
39
+        $removableCSS = apply_filters('autoptimize_filter_css_removables', $removableCSS);
40 40
         if (!empty($removableCSS)) {
41
-            $this->cssremovables = array_filter(array_map('trim',explode(",",$removableCSS)));
41
+            $this->cssremovables = array_filter(array_map('trim', explode(",", $removableCSS)));
42 42
         }
43 43
 
44
-        $this->cssinlinesize = apply_filters('autoptimize_filter_css_inlinesize',256);
44
+        $this->cssinlinesize = apply_filters('autoptimize_filter_css_inlinesize', 256);
45 45
 
46 46
         // filter to "late inject minified CSS", default to true for now (it is faster)
47
-        $this->inject_min_late = apply_filters('autoptimize_filter_css_inject_min_late',true);
47
+        $this->inject_min_late = apply_filters('autoptimize_filter_css_inject_min_late', true);
48 48
 
49 49
         // Remove everything that's not the header
50
-        if ( apply_filters('autoptimize_filter_css_justhead',$options['justhead']) == true ) {
51
-            $content = explode('</head>',$this->content,2);
50
+        if (apply_filters('autoptimize_filter_css_justhead', $options['justhead']) == true) {
51
+            $content = explode('</head>', $this->content, 2);
52 52
             $this->content = $content[0].'</head>';
53 53
             $this->restofcontent = $content[1];
54 54
         }
55 55
 
56 56
         // include inline?
57
-        if( apply_filters('autoptimize_css_include_inline',$options['include_inline']) == true ) {
57
+        if (apply_filters('autoptimize_css_include_inline', $options['include_inline']) == true) {
58 58
             $this->include_inline = true;
59 59
         }
60 60
         
61 61
         // what CSS shouldn't be autoptimized
62 62
         $excludeCSS = $options['css_exclude'];
63
-        $excludeCSS = apply_filters( 'autoptimize_filter_css_exclude', $excludeCSS, $this->content );
64
-        if ($excludeCSS!=="") {
65
-            $this->dontmove = array_filter(array_map('trim',explode(",",$excludeCSS)));
63
+        $excludeCSS = apply_filters('autoptimize_filter_css_exclude', $excludeCSS, $this->content);
64
+        if ($excludeCSS !== "") {
65
+            $this->dontmove = array_filter(array_map('trim', explode(",", $excludeCSS)));
66 66
         } else {
67 67
             $this->dontmove = "";
68 68
         }
@@ -70,17 +70,17 @@  discard block
 block discarded – undo
70 70
         // should we defer css?
71 71
         // value: true/ false
72 72
         $this->defer = $options['defer'];
73
-        $this->defer = apply_filters( 'autoptimize_filter_css_defer', $this->defer, $this->content );
73
+        $this->defer = apply_filters('autoptimize_filter_css_defer', $this->defer, $this->content);
74 74
 
75 75
         // should we inline while deferring?
76 76
         // value: inlined CSS
77 77
         $this->defer_inline = $options['defer_inline'];
78
-        $this->defer_inline = apply_filters( 'autoptimize_filter_css_defer_inline', $this->defer_inline, $this->content );
78
+        $this->defer_inline = apply_filters('autoptimize_filter_css_defer_inline', $this->defer_inline, $this->content);
79 79
 
80 80
         // should we inline?
81 81
         // value: true/ false
82 82
         $this->inline = $options['inline'];
83
-        $this->inline = apply_filters( 'autoptimize_filter_css_inline', $this->inline, $this->content );
83
+        $this->inline = apply_filters('autoptimize_filter_css_inline', $this->inline, $this->content);
84 84
         
85 85
         // get cdn url
86 86
         $this->cdn_url = $options['cdn_url'];
@@ -92,7 +92,7 @@  discard block
 block discarded – undo
92 92
         $this->content = $this->hide_noptimize($this->content);
93 93
         
94 94
         // exclude (no)script, as those may contain CSS which should be left as is
95
-        if ( strpos( $this->content, '<script' ) !== false ) { 
95
+        if (strpos($this->content, '<script') !== false) { 
96 96
             $this->content = preg_replace_callback(
97 97
                 '#<(?:no)?script.*?<\/(?:no)?script>#is',
98 98
                 create_function(
@@ -110,65 +110,65 @@  discard block
 block discarded – undo
110 110
         $this->content = $this->hide_comments($this->content);
111 111
         
112 112
         // Get <style> and <link>
113
-        if(preg_match_all('#(<style[^>]*>.*</style>)|(<link[^>]*stylesheet[^>]*>)#Usmi',$this->content,$matches)) {
114
-            foreach($matches[0] as $tag) {
115
-                if ($this->isremovable($tag,$this->cssremovables)) {
116
-                    $this->content = str_replace($tag,'',$this->content);
113
+        if (preg_match_all('#(<style[^>]*>.*</style>)|(<link[^>]*stylesheet[^>]*>)#Usmi', $this->content, $matches)) {
114
+            foreach ($matches[0] as $tag) {
115
+                if ($this->isremovable($tag, $this->cssremovables)) {
116
+                    $this->content = str_replace($tag, '', $this->content);
117 117
                 } else if ($this->ismovable($tag)) {
118 118
                     // Get the media
119
-                    if(strpos($tag,'media=')!==false) {
120
-                        preg_match('#media=(?:"|\')([^>]*)(?:"|\')#Ui',$tag,$medias);
121
-                        $medias = explode(',',$medias[1]);
119
+                    if (strpos($tag, 'media=') !== false) {
120
+                        preg_match('#media=(?:"|\')([^>]*)(?:"|\')#Ui', $tag, $medias);
121
+                        $medias = explode(',', $medias[1]);
122 122
                         $media = array();
123
-                        foreach($medias as $elem) {
124
-                            if (empty($elem)) { $elem="all"; }
123
+                        foreach ($medias as $elem) {
124
+                            if (empty($elem)) { $elem = "all"; }
125 125
                             $media[] = $elem;
126 126
                         }
127 127
                     } else {
128 128
                         // No media specified - applies to all
129 129
                         $media = array('all');
130 130
                     }
131
-                    $media = apply_filters( 'autoptimize_filter_css_tagmedia',$media,$tag );
131
+                    $media = apply_filters('autoptimize_filter_css_tagmedia', $media, $tag);
132 132
                 
133
-                    if(preg_match('#<link.*href=("|\')(.*)("|\')#Usmi',$tag,$source)) {
133
+                    if (preg_match('#<link.*href=("|\')(.*)("|\')#Usmi', $tag, $source)) {
134 134
                         // <link>
135
-                        $explUrl = explode('?',$source[2],2);
135
+                        $explUrl = explode('?', $source[2], 2);
136 136
                         $url = $explUrl[0];
137 137
                         $path = $this->getpath($url);
138 138
                         
139
-                        if($path!==false && preg_match('#\.css$#',$path)) {
139
+                        if ($path !== false && preg_match('#\.css$#', $path)) {
140 140
                             // Good link
141
-                            $this->css[] = array($media,$path);
142
-                        }else{
141
+                            $this->css[] = array($media, $path);
142
+                        } else {
143 143
                             // Link is dynamic (.php etc)
144 144
                             $tag = '';
145 145
                         }
146 146
                     } else {
147 147
                         // inline css in style tags can be wrapped in comment tags, so restore comments
148 148
                         $tag = $this->restore_comments($tag);
149
-                        preg_match('#<style.*>(.*)</style>#Usmi',$tag,$code);
149
+                        preg_match('#<style.*>(.*)</style>#Usmi', $tag, $code);
150 150
 
151 151
                         // and re-hide them to be able to to the removal based on tag
152 152
                         $tag = $this->hide_comments($tag);
153 153
 
154
-                        if ( $this->include_inline ) {
155
-                            $code = preg_replace('#^.*<!\[CDATA\[(?:\s*\*/)?(.*)(?://|/\*)\s*?\]\]>.*$#sm','$1',$code[1]);
156
-                            $this->css[] = array($media,'INLINE;'.$code);
154
+                        if ($this->include_inline) {
155
+                            $code = preg_replace('#^.*<!\[CDATA\[(?:\s*\*/)?(.*)(?://|/\*)\s*?\]\]>.*$#sm', '$1', $code[1]);
156
+                            $this->css[] = array($media, 'INLINE;'.$code);
157 157
                         } else {
158 158
                             $tag = '';
159 159
                         }
160 160
                     }
161 161
                     
162 162
                     // Remove the original style tag
163
-                    $this->content = str_replace($tag,'',$this->content);
163
+                    $this->content = str_replace($tag, '', $this->content);
164 164
                 } else {
165 165
 					// excluded CSS, minify if getpath 
166
-					if (preg_match('#<link.*href=("|\')(.*)("|\')#Usmi',$tag,$source)) {
167
-						$explUrl = explode('?',$source[2],2);
166
+					if (preg_match('#<link.*href=("|\')(.*)("|\')#Usmi', $tag, $source)) {
167
+						$explUrl = explode('?', $source[2], 2);
168 168
                         $url = $explUrl[0];
169 169
                         $path = $this->getpath($url);
170 170
  					
171
-						if ($path && apply_filters('autoptimize_filter_css_minify_excluded',false)) {
171
+						if ($path && apply_filters('autoptimize_filter_css_minify_excluded', false)) {
172 172
 							$_CachedMinifiedUrl = $this->minify_single($path);
173 173
 
174 174
 							if (!empty($_CachedMinifiedUrl)) {
@@ -179,12 +179,12 @@  discard block
 block discarded – undo
179 179
 							}
180 180
 							
181 181
 							// remove querystring from URL
182
-							if ( !empty($explUrl[1]) ) {
183
-								$newTag = str_replace("?".$explUrl[1],"",$newTag);
182
+							if (!empty($explUrl[1])) {
183
+								$newTag = str_replace("?".$explUrl[1], "", $newTag);
184 184
 							}
185 185
 
186 186
 							// and replace
187
-							$this->content = str_replace($tag,$newTag,$this->content);
187
+							$this->content = str_replace($tag, $newTag, $this->content);
188 188
 						}
189 189
 					}					
190 190
 				}
@@ -197,29 +197,29 @@  discard block
 block discarded – undo
197 197
     
198 198
     // Joins and optimizes CSS
199 199
     public function minify() {
200
-        foreach($this->css as $group) {
201
-            list($media,$css) = $group;
202
-            if(preg_match('#^INLINE;#',$css)) {
200
+        foreach ($this->css as $group) {
201
+            list($media, $css) = $group;
202
+            if (preg_match('#^INLINE;#', $css)) {
203 203
                 // <style>
204
-                $css = preg_replace('#^INLINE;#','',$css);
205
-                $css = $this->fixurls(ABSPATH.'/index.php',$css);
206
-                $tmpstyle = apply_filters( 'autoptimize_css_individual_style', $css, "" );
207
-                if ( has_filter('autoptimize_css_individual_style') && !empty($tmpstyle) ) {
208
-                    $css=$tmpstyle;
209
-                    $this->alreadyminified=true;
204
+                $css = preg_replace('#^INLINE;#', '', $css);
205
+                $css = $this->fixurls(ABSPATH.'/index.php', $css);
206
+                $tmpstyle = apply_filters('autoptimize_css_individual_style', $css, "");
207
+                if (has_filter('autoptimize_css_individual_style') && !empty($tmpstyle)) {
208
+                    $css = $tmpstyle;
209
+                    $this->alreadyminified = true;
210 210
                 }
211 211
             } else {
212 212
                 //<link>
213
-                if($css !== false && file_exists($css) && is_readable($css)) {
213
+                if ($css !== false && file_exists($css) && is_readable($css)) {
214 214
                     $cssPath = $css;
215
-                    $css = $this->fixurls($cssPath,file_get_contents($cssPath));
216
-                    $css = preg_replace('/\x{EF}\x{BB}\x{BF}/','',$css);
217
-                    $tmpstyle = apply_filters( 'autoptimize_css_individual_style', $css, $cssPath );
215
+                    $css = $this->fixurls($cssPath, file_get_contents($cssPath));
216
+                    $css = preg_replace('/\x{EF}\x{BB}\x{BF}/', '', $css);
217
+                    $tmpstyle = apply_filters('autoptimize_css_individual_style', $css, $cssPath);
218 218
                     if (has_filter('autoptimize_css_individual_style') && !empty($tmpstyle)) {
219
-                        $css=$tmpstyle;
220
-                        $this->alreadyminified=true;
221
-                    } else if ($this->can_inject_late($cssPath,$css)) {
222
-                        $css="/*!%%INJECTLATER%%".base64_encode($cssPath)."|".md5($css)."%%INJECTLATER%%*/";
219
+                        $css = $tmpstyle;
220
+                        $this->alreadyminified = true;
221
+                    } else if ($this->can_inject_late($cssPath, $css)) {
222
+                        $css = "/*!%%INJECTLATER%%".base64_encode($cssPath)."|".md5($css)."%%INJECTLATER%%*/";
223 223
                     }
224 224
                 } else {
225 225
                     // Couldn't read CSS. Maybe getpath isn't working?
@@ -227,8 +227,8 @@  discard block
 block discarded – undo
227 227
                 }
228 228
             }
229 229
             
230
-            foreach($media as $elem) {
231
-                if(!isset($this->csscode[$elem]))
230
+            foreach ($media as $elem) {
231
+                if (!isset($this->csscode[$elem]))
232 232
                     $this->csscode[$elem] = '';
233 233
                 $this->csscode[$elem] .= "\n/*FILESTART*/".$css;
234 234
             }
@@ -237,12 +237,12 @@  discard block
 block discarded – undo
237 237
         // Check for duplicate code
238 238
         $md5list = array();
239 239
         $tmpcss = $this->csscode;
240
-        foreach($tmpcss as $media => $code) {
240
+        foreach ($tmpcss as $media => $code) {
241 241
             $md5sum = md5($code);
242 242
             $medianame = $media;
243
-            foreach($md5list as $med => $sum) {
243
+            foreach ($md5list as $med => $sum) {
244 244
                 // If same code
245
-                if($sum === $md5sum) {
245
+                if ($sum === $md5sum) {
246 246
                     //Add the merged code
247 247
                     $medianame = $med.', '.$media;
248 248
                     $this->csscode[$medianame] = $code;
@@ -262,30 +262,30 @@  discard block
 block discarded – undo
262 262
             $external_imports = "";
263 263
 
264 264
             // remove comments to avoid importing commented-out imports
265
-            $thiscss_nocomments = preg_replace('#/\*.*\*/#Us','',$thiscss);
265
+            $thiscss_nocomments = preg_replace('#/\*.*\*/#Us', '', $thiscss);
266 266
 
267
-            while(preg_match_all('#@import.*(?:;|$)#Um',$thiscss_nocomments,$matches)) {
268
-                foreach($matches[0] as $import)    {
269
-                    if ($this->isremovable($import,$this->cssremovables)) {
270
-                        $thiscss = str_replace($import,'',$thiscss);
267
+            while (preg_match_all('#@import.*(?:;|$)#Um', $thiscss_nocomments, $matches)) {
268
+                foreach ($matches[0] as $import) {
269
+                    if ($this->isremovable($import, $this->cssremovables)) {
270
+                        $thiscss = str_replace($import, '', $thiscss);
271 271
                         $import_ok = true;
272 272
                     } else {
273
-                        $url = trim(preg_replace('#^.*((?:https?:|ftp:)?//.*\.css).*$#','$1',trim($import))," \t\n\r\0\x0B\"'");
273
+                        $url = trim(preg_replace('#^.*((?:https?:|ftp:)?//.*\.css).*$#', '$1', trim($import)), " \t\n\r\0\x0B\"'");
274 274
                         $path = $this->getpath($url);
275 275
                         $import_ok = false;
276 276
                         if (file_exists($path) && is_readable($path)) {
277
-                            $code = addcslashes($this->fixurls($path,file_get_contents($path)),"\\");
278
-                            $code = preg_replace('/\x{EF}\x{BB}\x{BF}/','',$code);
279
-                            $tmpstyle = apply_filters( 'autoptimize_css_individual_style', $code, "" );
280
-                            if ( has_filter('autoptimize_css_individual_style') && !empty($tmpstyle)) {
281
-                                $code=$tmpstyle;
282
-                                $this->alreadyminified=true;
283
-                            } else if ($this->can_inject_late($path,$code)) {
284
-                                $code="/*!%%INJECTLATER%%".base64_encode($path)."|".md5($code)."%%INJECTLATER%%*/";
277
+                            $code = addcslashes($this->fixurls($path, file_get_contents($path)), "\\");
278
+                            $code = preg_replace('/\x{EF}\x{BB}\x{BF}/', '', $code);
279
+                            $tmpstyle = apply_filters('autoptimize_css_individual_style', $code, "");
280
+                            if (has_filter('autoptimize_css_individual_style') && !empty($tmpstyle)) {
281
+                                $code = $tmpstyle;
282
+                                $this->alreadyminified = true;
283
+                            } else if ($this->can_inject_late($path, $code)) {
284
+                                $code = "/*!%%INJECTLATER%%".base64_encode($path)."|".md5($code)."%%INJECTLATER%%*/";
285 285
                             }
286 286
                             
287
-                            if(!empty($code)) {
288
-                                $tmp_thiscss = preg_replace('#(/\*FILESTART\*/.*)'.preg_quote($import,'#').'#Us','/*FILESTART2*/'.$code.'$1',$thiscss);
287
+                            if (!empty($code)) {
288
+                                $tmp_thiscss = preg_replace('#(/\*FILESTART\*/.*)'.preg_quote($import, '#').'#Us', '/*FILESTART2*/'.$code.'$1', $thiscss);
289 289
                                 if (!empty($tmp_thiscss)) {
290 290
                                     $thiscss = $tmp_thiscss;
291 291
                                     $import_ok = true;
@@ -299,31 +299,31 @@  discard block
 block discarded – undo
299 299
                     if (!$import_ok) {
300 300
                         // external imports and general fall-back
301 301
                         $external_imports .= $import;
302
-                        $thiscss = str_replace($import,'',$thiscss);
302
+                        $thiscss = str_replace($import, '', $thiscss);
303 303
                         $fiximports = true;
304 304
                     }
305 305
                 }
306
-                $thiscss = preg_replace('#/\*FILESTART\*/#','',$thiscss);
307
-                $thiscss = preg_replace('#/\*FILESTART2\*/#','/*FILESTART*/',$thiscss);
306
+                $thiscss = preg_replace('#/\*FILESTART\*/#', '', $thiscss);
307
+                $thiscss = preg_replace('#/\*FILESTART2\*/#', '/*FILESTART*/', $thiscss);
308 308
                 
309 309
                 // and update $thiscss_nocomments before going into next iteration in while loop
310
-                $thiscss_nocomments=preg_replace('#/\*.*\*/#Us','',$thiscss);
310
+                $thiscss_nocomments = preg_replace('#/\*.*\*/#Us', '', $thiscss);
311 311
             }
312 312
             unset($thiscss_nocomments);
313 313
             
314 314
             // add external imports to top of aggregated CSS
315
-            if($fiximports) {
316
-                $thiscss=$external_imports.$thiscss;
315
+            if ($fiximports) {
316
+                $thiscss = $external_imports.$thiscss;
317 317
             }
318 318
         }
319 319
         unset($thiscss);
320 320
         
321 321
         // $this->csscode has all the uncompressed code now. 
322
-        foreach($this->csscode as &$code) {
322
+        foreach ($this->csscode as &$code) {
323 323
             // Check for already-minified code
324 324
             $hash = md5($code);
325
-            $ccheck = new autoptimizeCache($hash,'css');
326
-            if($ccheck->check()) {
325
+            $ccheck = new autoptimizeCache($hash, 'css');
326
+            if ($ccheck->check()) {
327 327
                 $code = $ccheck->retrieve();
328 328
                 $this->hashmap[md5($code)] = $hash;
329 329
                 continue;
@@ -332,44 +332,44 @@  discard block
 block discarded – undo
332 332
 
333 333
             // Do the imaging!
334 334
             $imgreplace = array();
335
-            preg_match_all( self::ASSETS_REGEX, $code, $matches );
335
+            preg_match_all(self::ASSETS_REGEX, $code, $matches);
336 336
 
337
-            if ( ($this->datauris == true) && (function_exists('base64_encode')) && (is_array($matches)) ) {
338
-                foreach($matches[1] as $count => $quotedurl) {
339
-                    $iurl = trim($quotedurl," \t\n\r\0\x0B\"'");
337
+            if (($this->datauris == true) && (function_exists('base64_encode')) && (is_array($matches))) {
338
+                foreach ($matches[1] as $count => $quotedurl) {
339
+                    $iurl = trim($quotedurl, " \t\n\r\0\x0B\"'");
340 340
 
341 341
                     // if querystring, remove it from url
342
-                    if (strpos($iurl,'?') !== false) { $iurl = strtok($iurl,'?'); }
342
+                    if (strpos($iurl, '?') !== false) { $iurl = strtok($iurl, '?'); }
343 343
                     
344 344
                     $ipath = $this->getpath($iurl);
345 345
 
346 346
                     $datauri_max_size = 4096;
347
-                    $datauri_max_size = (int) apply_filters( 'autoptimize_filter_css_datauri_maxsize', $datauri_max_size );
348
-                    $datauri_exclude = apply_filters( 'autoptimize_filter_css_datauri_exclude', "");
347
+                    $datauri_max_size = (int) apply_filters('autoptimize_filter_css_datauri_maxsize', $datauri_max_size);
348
+                    $datauri_exclude = apply_filters('autoptimize_filter_css_datauri_exclude', "");
349 349
                     if (!empty($datauri_exclude)) {
350
-                        $no_datauris=array_filter(array_map('trim',explode(",",$datauri_exclude)));
350
+                        $no_datauris = array_filter(array_map('trim', explode(",", $datauri_exclude)));
351 351
                         foreach ($no_datauris as $no_datauri) {
352
-                            if (strpos($iurl,$no_datauri)!==false) {
353
-                                $ipath=false;
352
+                            if (strpos($iurl, $no_datauri) !== false) {
353
+                                $ipath = false;
354 354
                                 break;
355 355
                             }
356 356
                         }
357 357
                     }
358 358
 
359
-                    if($ipath != false && preg_match('#\.(jpe?g|png|gif|bmp)$#i',$ipath) && file_exists($ipath) && is_readable($ipath) && filesize($ipath) <= $datauri_max_size) {
360
-                        $ihash=md5($ipath);
361
-                        $icheck = new autoptimizeCache($ihash,'img');
362
-                        if($icheck->check()) {
359
+                    if ($ipath != false && preg_match('#\.(jpe?g|png|gif|bmp)$#i', $ipath) && file_exists($ipath) && is_readable($ipath) && filesize($ipath) <= $datauri_max_size) {
360
+                        $ihash = md5($ipath);
361
+                        $icheck = new autoptimizeCache($ihash, 'img');
362
+                        if ($icheck->check()) {
363 363
                             // we have the base64 image in cache
364
-                            $headAndData=$icheck->retrieve();
365
-                            $_base64data=explode(";base64,",$headAndData);
366
-                            $base64data=$_base64data[1];
364
+                            $headAndData = $icheck->retrieve();
365
+                            $_base64data = explode(";base64,", $headAndData);
366
+                            $base64data = $_base64data[1];
367 367
                         } else {
368 368
                             // It's an image and we don't have it in cache, get the type
369
-                            $explA=explode('.',$ipath);
370
-                            $type=end($explA);
369
+                            $explA = explode('.', $ipath);
370
+                            $type = end($explA);
371 371
 
372
-                            switch($type) {
372
+                            switch ($type) {
373 373
                                 case 'jpeg':
374 374
                                     $dataurihead = 'data:image/jpeg;base64,';
375 375
                                     break;
@@ -391,42 +391,42 @@  discard block
 block discarded – undo
391 391
                         
392 392
                             // Encode the data
393 393
                             $base64data = base64_encode(file_get_contents($ipath));
394
-                            $headAndData=$dataurihead.$base64data;
394
+                            $headAndData = $dataurihead.$base64data;
395 395
 
396 396
                             // Save in cache
397
-                            $icheck->cache($headAndData,"text/plain");
397
+                            $icheck->cache($headAndData, "text/plain");
398 398
                         }
399 399
                         unset($icheck);
400 400
 
401 401
                         // Add it to the list for replacement
402
-                        $imgreplace[$matches[0][$count]] = str_replace($quotedurl,$headAndData,$matches[0][$count]);
402
+                        $imgreplace[$matches[0][$count]] = str_replace($quotedurl, $headAndData, $matches[0][$count]);
403 403
                     } else {
404 404
                         // just cdn the URL if applicable
405 405
                         if (!empty($this->cdn_url)) {
406
-                            $imgreplace[$matches[0][$count]] = str_replace($quotedurl,$this->maybe_cdn_urls($quotedurl),$matches[0][$count]);
406
+                            $imgreplace[$matches[0][$count]] = str_replace($quotedurl, $this->maybe_cdn_urls($quotedurl), $matches[0][$count]);
407 407
 						}
408 408
                     }
409 409
                 }
410 410
             } else if ((is_array($matches)) && (!empty($this->cdn_url))) {
411 411
                 // change urls to cdn-url
412
-                foreach($matches[1] as $count => $quotedurl) {
413
-                    $imgreplace[$matches[0][$count]] = str_replace($quotedurl,$this->maybe_cdn_urls($quotedurl),$matches[0][$count]);
412
+                foreach ($matches[1] as $count => $quotedurl) {
413
+                    $imgreplace[$matches[0][$count]] = str_replace($quotedurl, $this->maybe_cdn_urls($quotedurl), $matches[0][$count]);
414 414
                 }
415 415
             }
416 416
             
417
-            if(!empty($imgreplace)) {
418
-                $code = str_replace(array_keys($imgreplace),array_values($imgreplace),$code);
417
+            if (!empty($imgreplace)) {
418
+                $code = str_replace(array_keys($imgreplace), array_values($imgreplace), $code);
419 419
             }
420 420
             
421 421
             // Minify
422
-            if (($this->alreadyminified!==true) && (apply_filters( "autoptimize_css_do_minify", true))) {
422
+            if (($this->alreadyminified !== true) && (apply_filters("autoptimize_css_do_minify", true))) {
423 423
                 if (class_exists('Minify_CSS_Compressor')) {
424 424
                     $tmp_code = trim(Minify_CSS_Compressor::process($code));
425
-                } else if(class_exists('CSSmin')) {
425
+                } else if (class_exists('CSSmin')) {
426 426
                     $cssmin = new CSSmin();
427
-                    if (method_exists($cssmin,"run")) {
427
+                    if (method_exists($cssmin, "run")) {
428 428
                         $tmp_code = trim($cssmin->run($code));
429
-                    } elseif (@is_callable(array($cssmin,"minify"))) {
429
+                    } elseif (@is_callable(array($cssmin, "minify"))) {
430 430
                         $tmp_code = trim(CssMin::minify($code));
431 431
                     }
432 432
                 }
@@ -438,7 +438,7 @@  discard block
 block discarded – undo
438 438
             
439 439
             $code = $this->inject_minified($code);
440 440
             
441
-            $tmp_code = apply_filters( 'autoptimize_css_after_minify', $code );
441
+            $tmp_code = apply_filters('autoptimize_css_after_minify', $code);
442 442
             if (!empty($tmp_code)) {
443 443
                 $code = $tmp_code;
444 444
                 unset($tmp_code);
@@ -453,13 +453,13 @@  discard block
 block discarded – undo
453 453
     //Caches the CSS in uncompressed, deflated and gzipped form.
454 454
     public function cache() {
455 455
         // CSS cache
456
-        foreach($this->csscode as $media => $code) {
456
+        foreach ($this->csscode as $media => $code) {
457 457
             $md5 = $this->hashmap[md5($code)];
458 458
                 
459
-            $cache = new autoptimizeCache($md5,'css');
460
-            if(!$cache->check()) {
459
+            $cache = new autoptimizeCache($md5, 'css');
460
+            if (!$cache->check()) {
461 461
                 // Cache our code
462
-                $cache->cache($code,'text/css');
462
+                $cache->cache($code, 'text/css');
463 463
             }
464 464
             $this->url[$media] = AUTOPTIMIZE_CACHE_URL.$cache->getname();
465 465
         }
@@ -474,7 +474,7 @@  discard block
 block discarded – undo
474 474
         $this->content = $this->restore_comments($this->content);
475 475
         
476 476
         // restore (no)script
477
-        if ( strpos( $this->content, '%%SCRIPT%%' ) !== false ) { 
477
+        if (strpos($this->content, '%%SCRIPT%%') !== false) { 
478 478
             $this->content = preg_replace_callback(
479 479
                 '#%%SCRIPT%%(.*?)%%SCRIPT%%#is',
480 480
                 create_function(
@@ -489,74 +489,74 @@  discard block
 block discarded – undo
489 489
         $this->content = $this->restore_noptimize($this->content);
490 490
         
491 491
         //Restore the full content
492
-        if(!empty($this->restofcontent)) {
492
+        if (!empty($this->restofcontent)) {
493 493
             $this->content .= $this->restofcontent;
494 494
             $this->restofcontent = '';
495 495
         }
496 496
         
497 497
         // Inject the new stylesheets
498
-        $replaceTag = array("<title","before");
499
-        $replaceTag = apply_filters( 'autoptimize_filter_css_replacetag', $replaceTag, $this->content );
498
+        $replaceTag = array("<title", "before");
499
+        $replaceTag = apply_filters('autoptimize_filter_css_replacetag', $replaceTag, $this->content);
500 500
 
501 501
         if ($this->inline == true) {
502
-            foreach($this->csscode as $media => $code) {
503
-                $this->inject_in_html('<style type="text/css" media="'.$media.'">'.$code.'</style>',$replaceTag);
502
+            foreach ($this->csscode as $media => $code) {
503
+                $this->inject_in_html('<style type="text/css" media="'.$media.'">'.$code.'</style>', $replaceTag);
504 504
             }
505 505
         } else {
506 506
             if ($this->defer == true) {
507 507
                 $preloadCssBlock = "";
508 508
                 $noScriptCssBlock = "<noscript id=\"aonoscrcss\">";
509
-                $defer_inline_code=$this->defer_inline;
510
-                if(!empty($defer_inline_code)){
511
-                    if ( apply_filters( 'autoptimize_filter_css_critcss_minify', true ) ) {
509
+                $defer_inline_code = $this->defer_inline;
510
+                if (!empty($defer_inline_code)) {
511
+                    if (apply_filters('autoptimize_filter_css_critcss_minify', true)) {
512 512
                         $iCssHash = md5($defer_inline_code);
513
-                        $iCssCache = new autoptimizeCache($iCssHash,'css');
514
-                        if($iCssCache->check()) { 
513
+                        $iCssCache = new autoptimizeCache($iCssHash, 'css');
514
+                        if ($iCssCache->check()) { 
515 515
                             // we have the optimized inline CSS in cache
516
-                            $defer_inline_code=$iCssCache->retrieve();
516
+                            $defer_inline_code = $iCssCache->retrieve();
517 517
                         } else {
518 518
                             if (class_exists('Minify_CSS_Compressor')) {
519 519
                                 $tmp_code = trim(Minify_CSS_Compressor::process($defer_inline_code));
520
-                            } else if(class_exists('CSSmin')) {
520
+                            } else if (class_exists('CSSmin')) {
521 521
                                 $cssmin = new CSSmin();
522 522
                                 $tmp_code = trim($cssmin->run($defer_inline_code));
523 523
                             }
524 524
                             if (!empty($tmp_code)) {
525 525
                                 $defer_inline_code = $tmp_code;
526
-                                $iCssCache->cache($defer_inline_code,"text/css");
526
+                                $iCssCache->cache($defer_inline_code, "text/css");
527 527
                                 unset($tmp_code);
528 528
                             }
529 529
                         }
530 530
                     }
531
-                    $code_out='<style type="text/css" id="aoatfcss" media="all">'.$defer_inline_code.'</style>';
532
-                    $this->inject_in_html($code_out,$replaceTag);
531
+                    $code_out = '<style type="text/css" id="aoatfcss" media="all">'.$defer_inline_code.'</style>';
532
+                    $this->inject_in_html($code_out, $replaceTag);
533 533
                 }
534 534
             }
535 535
 
536
-            foreach($this->url as $media => $url) {
536
+            foreach ($this->url as $media => $url) {
537 537
                 $url = $this->url_replace_cdn($url);
538 538
                 
539 539
                 //Add the stylesheet either deferred (import at bottom) or normal links in head
540
-                if($this->defer == true) {
540
+                if ($this->defer == true) {
541 541
                     $preloadCssBlock .= '<link rel="preload" as="style" media="'.$media.'" href="'.$url.'" onload="this.rel=\'stylesheet\'" />';
542 542
                     $noScriptCssBlock .= '<link type="text/css" media="'.$media.'" href="'.$url.'" rel="stylesheet" />';
543 543
                 } else {
544 544
                     if (strlen($this->csscode[$media]) > $this->cssinlinesize) {
545
-                        $this->inject_in_html('<link type="text/css" media="'.$media.'" href="'.$url.'" rel="stylesheet" />',$replaceTag);
546
-                    } else if (strlen($this->csscode[$media])>0) {
547
-                        $this->inject_in_html('<style type="text/css" media="'.$media.'">'.$this->csscode[$media].'</style>',$replaceTag);
545
+                        $this->inject_in_html('<link type="text/css" media="'.$media.'" href="'.$url.'" rel="stylesheet" />', $replaceTag);
546
+                    } else if (strlen($this->csscode[$media]) > 0) {
547
+                        $this->inject_in_html('<style type="text/css" media="'.$media.'">'.$this->csscode[$media].'</style>', $replaceTag);
548 548
                     }
549 549
                 }
550 550
             }
551 551
             
552
-            if($this->defer == true) {
552
+            if ($this->defer == true) {
553 553
                 $preloadPolyfill = '<script data-cfasync=\'false\'>/*! loadCSS. [c]2017 Filament Group, Inc. MIT License */
554 554
 !function(a){"use strict";var b=function(b,c,d){function e(a){return h.body?a():void setTimeout(function(){e(a)})}function f(){i.addEventListener&&i.removeEventListener("load",f),i.media=d||"all"}var g,h=a.document,i=h.createElement("link");if(c)g=c;else{var j=(h.body||h.getElementsByTagName("head")[0]).childNodes;g=j[j.length-1]}var k=h.styleSheets;i.rel="stylesheet",i.href=b,i.media="only x",e(function(){g.parentNode.insertBefore(i,c?g:g.nextSibling)});var l=function(a){for(var b=i.href,c=k.length;c--;)if(k[c].href===b)return a();setTimeout(function(){l(a)})};return i.addEventListener&&i.addEventListener("load",f),i.onloadcssdefined=l,l(f),i};"undefined"!=typeof exports?exports.loadCSS=b:a.loadCSS=b}("undefined"!=typeof global?global:this);
555 555
 /*! loadCSS rel=preload polyfill. [c]2017 Filament Group, Inc. MIT License */
556 556
 !function(a){if(a.loadCSS){var b=loadCSS.relpreload={};if(b.support=function(){try{return a.document.createElement("link").relList.supports("preload")}catch(b){return!1}},b.poly=function(){for(var b=a.document.getElementsByTagName("link"),c=0;c<b.length;c++){var d=b[c];"preload"===d.rel&&"style"===d.getAttribute("as")&&(a.loadCSS(d.href,d,d.getAttribute("media")),d.rel=null)}},!b.support()){b.poly();var c=a.setInterval(b.poly,300);a.addEventListener&&a.addEventListener("load",function(){b.poly(),a.clearInterval(c)}),a.attachEvent&&a.attachEvent("onload",function(){a.clearInterval(c)})}}}(this);</script>';
557 557
                 $noScriptCssBlock .= "</noscript>";
558
-                $this->inject_in_html($preloadCssBlock.$noScriptCssBlock,$replaceTag);
559
-                $this->inject_in_html($preloadPolyfill,array('</body>','before'));
558
+                $this->inject_in_html($preloadCssBlock.$noScriptCssBlock, $replaceTag);
559
+                $this->inject_in_html($preloadPolyfill, array('</body>', 'before'));
560 560
             }
561 561
         }
562 562
 
@@ -564,38 +564,38 @@  discard block
 block discarded – undo
564 564
         return $this->content;
565 565
     }
566 566
     
567
-    static function fixurls($file,$code) {
568
-        $file = str_replace(WP_ROOT_DIR,'',$file);
569
-        $file = str_replace(AUTOPTIMIZE_WP_CONTENT_NAME,'',$file);
567
+    static function fixurls($file, $code) {
568
+        $file = str_replace(WP_ROOT_DIR, '', $file);
569
+        $file = str_replace(AUTOPTIMIZE_WP_CONTENT_NAME, '', $file);
570 570
         $dir = dirname($file); // Like /themes/expound/css
571 571
 
572 572
         // switch all imports to the url() syntax
573
-        $code=preg_replace('#@import ("|\')(.+?)\.css.*("|\')#','@import url("${2}.css")',$code);
573
+        $code = preg_replace('#@import ("|\')(.+?)\.css.*("|\')#', '@import url("${2}.css")', $code);
574 574
 
575
-        if( preg_match_all( self::ASSETS_REGEX, $code, $matches ) ) {
575
+        if (preg_match_all(self::ASSETS_REGEX, $code, $matches)) {
576 576
             $replace = array();
577
-            foreach($matches[1] as $k => $url) {
577
+            foreach ($matches[1] as $k => $url) {
578 578
                 // Remove quotes
579
-                $url = trim($url," \t\n\r\0\x0B\"'");
580
-                $noQurl = trim($url,"\"'");
579
+                $url = trim($url, " \t\n\r\0\x0B\"'");
580
+                $noQurl = trim($url, "\"'");
581 581
                 
582 582
                 if ($noQurl === '') { continue; }
583 583
                 
584
-                if ($url!==$noQurl) {
585
-                    $removedQuotes=true;
584
+                if ($url !== $noQurl) {
585
+                    $removedQuotes = true;
586 586
                 } else {
587
-                    $removedQuotes=false;
587
+                    $removedQuotes = false;
588 588
                 }
589
-                $url=$noQurl;
590
-                if(substr($url,0,1)=='/' || preg_match('#^(https?://|ftp://|data:)#i',$url)) {
589
+                $url = $noQurl;
590
+                if (substr($url, 0, 1) == '/' || preg_match('#^(https?://|ftp://|data:)#i', $url)) {
591 591
                     //URL is absolute
592 592
                     continue;
593 593
                 } else {
594 594
                     // relative URL
595
-                    $newurl = preg_replace('/https?:/','',str_replace(" ","%20",AUTOPTIMIZE_WP_CONTENT_URL.str_replace('//','/',$dir.'/'.$url)));
595
+                    $newurl = preg_replace('/https?:/', '', str_replace(" ", "%20", AUTOPTIMIZE_WP_CONTENT_URL.str_replace('//', '/', $dir.'/'.$url)));
596 596
 
597 597
                     $hash = md5($url);
598
-                    $code = str_replace($matches[0][$k],$hash,$code);
598
+                    $code = str_replace($matches[0][$k], $hash, $code);
599 599
 
600 600
                     if (!empty($removedQuotes)) {
601 601
                         $replace[$hash] = 'url(\''.$newurl.'\')'.$matches[2][$k];
@@ -605,17 +605,17 @@  discard block
 block discarded – undo
605 605
                 }
606 606
             }    
607 607
             //Do the replacing here to avoid breaking URLs
608
-            $code = str_replace(array_keys($replace),array_values($replace),$code);
608
+            $code = str_replace(array_keys($replace), array_values($replace), $code);
609 609
         }    
610 610
         return $code;
611 611
     }
612 612
     
613 613
     private function ismovable($tag) {
614
-		if ( apply_filters('autoptimize_filter_css_dontaggregate', false) ) {
614
+		if (apply_filters('autoptimize_filter_css_dontaggregate', false)) {
615 615
 			return false;
616 616
         } else if (!empty($this->whitelist)) {
617 617
             foreach ($this->whitelist as $match) {
618
-                if(strpos($tag,$match)!==false) {
618
+                if (strpos($tag, $match) !== false) {
619 619
                     return true;
620 620
                 }
621 621
             }
@@ -623,8 +623,8 @@  discard block
 block discarded – undo
623 623
             return false;
624 624
         } else {
625 625
             if (is_array($this->dontmove)) {
626
-                foreach($this->dontmove as $match) {
627
-                    if(strpos($tag,$match)!==false) {
626
+                foreach ($this->dontmove as $match) {
627
+                    if (strpos($tag, $match) !== false) {
628 628
                         //Matched something
629 629
                         return false;
630 630
                     }
@@ -636,21 +636,21 @@  discard block
 block discarded – undo
636 636
         }
637 637
     }
638 638
     
639
-    private function can_inject_late($cssPath,$css) {
639
+    private function can_inject_late($cssPath, $css) {
640 640
 		$consider_minified_array = apply_filters('autoptimize_filter_css_consider_minified', false, $cssPath);
641
-        if ( $this->inject_min_late !== true ) {
641
+        if ($this->inject_min_late !== true) {
642 642
             // late-inject turned off
643 643
             return false;
644
-        } else if ( (strpos($cssPath,"min.css") === false) && ( str_replace($consider_minified_array, '', $cssPath) === $cssPath ) ) {
644
+        } else if ((strpos($cssPath, "min.css") === false) && (str_replace($consider_minified_array, '', $cssPath) === $cssPath)) {
645 645
 			// file not minified based on filename & filter
646 646
 			return false;
647
-        } else if ( strpos($css,"@import") !== false ) {
647
+        } else if (strpos($css, "@import") !== false) {
648 648
             // can't late-inject files with imports as those need to be aggregated 
649 649
             return false;
650
-        } else if ( (strpos($css,"@font-face")!==false ) && ( apply_filters("autoptimize_filter_css_fonts_cdn",false)===true) && (!empty($this->cdn_url)) ) {
650
+        } else if ((strpos($css, "@font-face") !== false) && (apply_filters("autoptimize_filter_css_fonts_cdn", false) === true) && (!empty($this->cdn_url))) {
651 651
             // don't late-inject CSS with font-src's if fonts are set to be CDN'ed
652 652
             return false;
653
-        } else if ( (($this->datauris == true) || (!empty($this->cdn_url))) && preg_match("#background[^;}]*url\(#Ui",$css) ) {
653
+        } else if ((($this->datauris == true) || (!empty($this->cdn_url))) && preg_match("#background[^;}]*url\(#Ui", $css)) {
654 654
             // don't late-inject CSS with images if CDN is set OR is image inlining is on
655 655
             return false;
656 656
         } else {
@@ -660,9 +660,9 @@  discard block
 block discarded – undo
660 660
     }
661 661
     
662 662
     private function maybe_cdn_urls($inUrl) {
663
-        $url = trim($inUrl," \t\n\r\0\x0B\"'");
663
+        $url = trim($inUrl, " \t\n\r\0\x0B\"'");
664 664
         // exclude fonts from CDN except if filter returns true
665
-        if ( !preg_match('#\.(woff2?|eot|ttf|otf)$#i',$url) || apply_filters('autoptimize_filter_css_fonts_cdn',false) ) {
665
+        if (!preg_match('#\.(woff2?|eot|ttf|otf)$#i', $url) || apply_filters('autoptimize_filter_css_fonts_cdn', false)) {
666 666
             $cdn_url = $this->url_replace_cdn($url);
667 667
         } else {
668 668
             $cdn_url = $url;
Please login to merge, or discard this patch.
classes/autoptimizeCache.php 1 patch
Spacing   +61 added lines, -61 removed lines patch added patch discarded remove patch
@@ -1,5 +1,5 @@  discard block
 block discarded – undo
1 1
 <?php
2
-if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
2
+if (!defined('ABSPATH')) exit; // Exit if accessed directly
3 3
 
4 4
 class autoptimizeCache {
5 5
     private $filename;
@@ -7,14 +7,14 @@  discard block
 block discarded – undo
7 7
     private $cachedir;
8 8
     private $delayed;
9 9
     
10
-    public function __construct($md5,$ext='php') {
10
+    public function __construct($md5, $ext = 'php') {
11 11
         $this->cachedir = AUTOPTIMIZE_CACHE_DIR;
12 12
         $this->delayed = AUTOPTIMIZE_CACHE_DELAY;
13 13
         $this->nogzip = AUTOPTIMIZE_CACHE_NOGZIP;
14
-        if($this->nogzip == false) {
14
+        if ($this->nogzip == false) {
15 15
             $this->filename = AUTOPTIMIZE_CACHEFILE_PREFIX.$md5.'.php';
16 16
         } else {
17
-            if (in_array($ext, array("js","css")))     {
17
+            if (in_array($ext, array("js", "css"))) {
18 18
                 $this->filename = $ext.'/'.AUTOPTIMIZE_CACHEFILE_PREFIX.$md5.'.'.$ext;
19 19
             } else {
20 20
                 $this->filename = AUTOPTIMIZE_CACHEFILE_PREFIX.$md5.'.'.$ext;
@@ -23,7 +23,7 @@  discard block
 block discarded – undo
23 23
     }
24 24
     
25 25
     public function check() {
26
-        if(!file_exists($this->cachedir.$this->filename)) {
26
+        if (!file_exists($this->cachedir.$this->filename)) {
27 27
             // No cached file, sorry
28 28
             return false;
29 29
         }
@@ -32,8 +32,8 @@  discard block
 block discarded – undo
32 32
     }
33 33
     
34 34
     public function retrieve() {
35
-        if($this->check()) {
36
-            if($this->nogzip == false) {
35
+        if ($this->check()) {
36
+            if ($this->nogzip == false) {
37 37
                 return file_get_contents($this->cachedir.$this->filename.'.none');
38 38
             } else {
39 39
                 return file_get_contents($this->cachedir.$this->filename);
@@ -42,48 +42,48 @@  discard block
 block discarded – undo
42 42
         return false;
43 43
     }
44 44
     
45
-    public function cache($code,$mime) {
46
-        if($this->nogzip == false) {
45
+    public function cache($code, $mime) {
46
+        if ($this->nogzip == false) {
47 47
             $file = ($this->delayed ? 'delayed.php' : 'default.php');
48 48
             $phpcode = file_get_contents(AUTOPTIMIZE_PLUGIN_DIR.'/config/'.$file);
49
-            $phpcode = str_replace(array('%%CONTENT%%','exit;'),array($mime,''),$phpcode);
50
-            file_put_contents($this->cachedir.$this->filename,$phpcode, LOCK_EX);
51
-            file_put_contents($this->cachedir.$this->filename.'.none',$code, LOCK_EX);
52
-            if(!$this->delayed) {
49
+            $phpcode = str_replace(array('%%CONTENT%%', 'exit;'), array($mime, ''), $phpcode);
50
+            file_put_contents($this->cachedir.$this->filename, $phpcode, LOCK_EX);
51
+            file_put_contents($this->cachedir.$this->filename.'.none', $code, LOCK_EX);
52
+            if (!$this->delayed) {
53 53
                 // Compress now!
54
-                file_put_contents($this->cachedir.$this->filename.'.deflate',gzencode($code,9,FORCE_DEFLATE), LOCK_EX);
55
-                file_put_contents($this->cachedir.$this->filename.'.gzip',gzencode($code,9,FORCE_GZIP), LOCK_EX);
54
+                file_put_contents($this->cachedir.$this->filename.'.deflate', gzencode($code, 9, FORCE_DEFLATE), LOCK_EX);
55
+                file_put_contents($this->cachedir.$this->filename.'.gzip', gzencode($code, 9, FORCE_GZIP), LOCK_EX);
56 56
             }
57 57
         } else {
58 58
             // Write code to cache without doing anything else
59
-            file_put_contents($this->cachedir.$this->filename,$code, LOCK_EX);
59
+            file_put_contents($this->cachedir.$this->filename, $code, LOCK_EX);
60 60
             if (apply_filters('autoptimize_filter_cache_create_static_gzip', false)) {
61 61
                 // Create an additional cached gzip file
62
-                file_put_contents($this->cachedir.$this->filename.'.gz', gzencode($code,9,FORCE_GZIP), LOCK_EX);
62
+                file_put_contents($this->cachedir.$this->filename.'.gz', gzencode($code, 9, FORCE_GZIP), LOCK_EX);
63 63
             }
64 64
         }
65 65
     }
66 66
     
67 67
     public function getname() {
68
-        apply_filters('autoptimize_filter_cache_getname',AUTOPTIMIZE_CACHE_URL.$this->filename);
68
+        apply_filters('autoptimize_filter_cache_getname', AUTOPTIMIZE_CACHE_URL.$this->filename);
69 69
         return $this->filename;
70 70
     }
71 71
     
72 72
     static function clearall() {
73
-        if(!autoptimizeCache::cacheavail()) {
73
+        if (!autoptimizeCache::cacheavail()) {
74 74
             return false;
75 75
         }
76 76
     
77 77
         // scan the cachedirs        
78
-        foreach (array("","js","css") as $scandirName) {
78
+        foreach (array("", "js", "css") as $scandirName) {
79 79
             $scan[$scandirName] = scandir(AUTOPTIMIZE_CACHE_DIR.$scandirName);
80 80
         }
81 81
         
82 82
         // clear the cachedirs
83 83
         foreach ($scan as $scandirName=>$scanneddir) {
84
-            $thisAoCacheDir=rtrim(AUTOPTIMIZE_CACHE_DIR.$scandirName,"/")."/";
85
-            foreach($scanneddir as $file) {
86
-                if(!in_array($file,array('.','..')) && strpos($file,AUTOPTIMIZE_CACHEFILE_PREFIX) !== false && is_file($thisAoCacheDir.$file)) {
84
+            $thisAoCacheDir = rtrim(AUTOPTIMIZE_CACHE_DIR.$scandirName, "/")."/";
85
+            foreach ($scanneddir as $file) {
86
+                if (!in_array($file, array('.', '..')) && strpos($file, AUTOPTIMIZE_CACHEFILE_PREFIX) !== false && is_file($thisAoCacheDir.$file)) {
87 87
                     @unlink($thisAoCacheDir.$file);
88 88
                 }
89 89
             }
@@ -98,15 +98,15 @@  discard block
 block discarded – undo
98 98
                 do_action("autoptimize_action_cachepurged");
99 99
             }
100 100
         }
101
-        add_action("shutdown","autoptimize_do_cachepurged_action",11);
101
+        add_action("shutdown", "autoptimize_do_cachepurged_action", 11);
102 102
         
103 103
         // try to purge caching plugins cache-files?
104 104
         include_once(AUTOPTIMIZE_PLUGIN_DIR.'classlesses/autoptimizePageCacheFlush.php');
105
-        add_action("autoptimize_action_cachepurged","autoptimize_flush_pagecache",10,0);
105
+        add_action("autoptimize_action_cachepurged", "autoptimize_flush_pagecache", 10, 0);
106 106
 
107 107
         // warm cache (part of speedupper)?
108
-        if ( apply_filters('autoptimize_filter_speedupper', true) ) {
109
-            $warmCacheUrl = site_url()."/?ao_speedup_cachebuster=".rand(1,100000);
108
+        if (apply_filters('autoptimize_filter_speedupper', true)) {
109
+            $warmCacheUrl = site_url()."/?ao_speedup_cachebuster=".rand(1, 100000);
110 110
             $warmCache = @wp_remote_get($warmCacheUrl);
111 111
             unset($warmCache);
112 112
         }
@@ -114,12 +114,12 @@  discard block
 block discarded – undo
114 114
         return true;
115 115
     }
116 116
 
117
-    static function stats()    {
118
-        $AOstats=get_transient("autoptimize_stats");
117
+    static function stats() {
118
+        $AOstats = get_transient("autoptimize_stats");
119 119
 
120 120
         if (empty($AOstats)) {
121 121
             // Cache not available :(
122
-            if(!autoptimizeCache::cacheavail()) {
122
+            if (!autoptimizeCache::cacheavail()) {
123 123
                 return 0;
124 124
             }
125 125
             
@@ -128,28 +128,28 @@  discard block
 block discarded – undo
128 128
             $size = 0;
129 129
             
130 130
             // scan the cachedirs        
131
-            foreach (array("","js","css") as $scandirName) {
131
+            foreach (array("", "js", "css") as $scandirName) {
132 132
                 $scan[$scandirName] = scandir(AUTOPTIMIZE_CACHE_DIR.$scandirName);
133 133
             }
134 134
             
135 135
             foreach ($scan as $scandirName=>$scanneddir) {
136
-                $thisAoCacheDir=rtrim(AUTOPTIMIZE_CACHE_DIR.$scandirName,"/")."/";
137
-                foreach($scanneddir as $file) {
138
-                    if(!in_array($file,array('.','..')) && strpos($file,AUTOPTIMIZE_CACHEFILE_PREFIX) !== false) {
139
-                        if(is_file($thisAoCacheDir.$file)) {
140
-                            if(AUTOPTIMIZE_CACHE_NOGZIP && (strpos($file,'.js') !== false || strpos($file,'.css') !== false || strpos($file,'.img') !== false || strpos($file,'.txt') !== false )) {
136
+                $thisAoCacheDir = rtrim(AUTOPTIMIZE_CACHE_DIR.$scandirName, "/")."/";
137
+                foreach ($scanneddir as $file) {
138
+                    if (!in_array($file, array('.', '..')) && strpos($file, AUTOPTIMIZE_CACHEFILE_PREFIX) !== false) {
139
+                        if (is_file($thisAoCacheDir.$file)) {
140
+                            if (AUTOPTIMIZE_CACHE_NOGZIP && (strpos($file, '.js') !== false || strpos($file, '.css') !== false || strpos($file, '.img') !== false || strpos($file, '.txt') !== false)) {
141 141
                                 $count++;
142
-                            } elseif(!AUTOPTIMIZE_CACHE_NOGZIP && strpos($file,'.none') !== false) {
142
+                            } elseif (!AUTOPTIMIZE_CACHE_NOGZIP && strpos($file, '.none') !== false) {
143 143
                                 $count++;
144 144
                             }
145
-                            $size+=filesize($thisAoCacheDir.$file);
145
+                            $size += filesize($thisAoCacheDir.$file);
146 146
                         }
147 147
                     }
148 148
                 }
149 149
             }
150
-            $AOstats=array($count,$size,time());
151
-            if ($count>100) {
152
-                set_transient("autoptimize_stats",$AOstats,HOUR_IN_SECONDS);
150
+            $AOstats = array($count, $size, time());
151
+            if ($count > 100) {
152
+                set_transient("autoptimize_stats", $AOstats, HOUR_IN_SECONDS);
153 153
             }
154 154
         }
155 155
         // print the number of instances
@@ -157,36 +157,36 @@  discard block
 block discarded – undo
157 157
     }    
158 158
 
159 159
     static function cacheavail() {
160
-        if(!defined('AUTOPTIMIZE_CACHE_DIR')) {
160
+        if (!defined('AUTOPTIMIZE_CACHE_DIR')) {
161 161
             // We didn't set a cache
162 162
             return false;
163 163
         }
164 164
         
165
-        foreach (array("","js","css") as $checkDir) {
166
-            if(!autoptimizeCache::checkCacheDir(AUTOPTIMIZE_CACHE_DIR.$checkDir)) {
165
+        foreach (array("", "js", "css") as $checkDir) {
166
+            if (!autoptimizeCache::checkCacheDir(AUTOPTIMIZE_CACHE_DIR.$checkDir)) {
167 167
                 return false;
168 168
             }
169 169
         }
170 170
         
171 171
         /** write index.html here to avoid prying eyes */
172
-        $indexFile=AUTOPTIMIZE_CACHE_DIR.'/index.html';
173
-        if(!is_file($indexFile)) {
174
-            @file_put_contents($indexFile,'<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>');
172
+        $indexFile = AUTOPTIMIZE_CACHE_DIR.'/index.html';
173
+        if (!is_file($indexFile)) {
174
+            @file_put_contents($indexFile, '<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>');
175 175
         }
176 176
 
177 177
         /** write .htaccess here to overrule wp_super_cache */
178
-        $htAccess=AUTOPTIMIZE_CACHE_DIR.'/.htaccess';
179
-        if(!is_file($htAccess)) {
178
+        $htAccess = AUTOPTIMIZE_CACHE_DIR.'/.htaccess';
179
+        if (!is_file($htAccess)) {
180 180
             /** 
181 181
              * create wp-content/AO_htaccess_tmpl with 
182 182
              * whatever htaccess rules you might need
183 183
              * if you want to override default AO htaccess
184 184
              */
185
-            $htaccess_tmpl=WP_CONTENT_DIR."/AO_htaccess_tmpl";
185
+            $htaccess_tmpl = WP_CONTENT_DIR."/AO_htaccess_tmpl";
186 186
             if (is_file($htaccess_tmpl)) { 
187
-                $htAccessContent=file_get_contents($htaccess_tmpl);
187
+                $htAccessContent = file_get_contents($htaccess_tmpl);
188 188
             } else if (is_multisite() || AUTOPTIMIZE_CACHE_NOGZIP == false) {
189
-                $htAccessContent='<IfModule mod_expires.c>
189
+                $htAccessContent = '<IfModule mod_expires.c>
190 190
         ExpiresActive On
191 191
         ExpiresByType text/css A30672000
192 192
         ExpiresByType text/javascript A30672000
@@ -209,7 +209,7 @@  discard block
 block discarded – undo
209 209
     </Files>
210 210
 </IfModule>';
211 211
             } else {
212
-                $htAccessContent='<IfModule mod_expires.c>
212
+                $htAccessContent = '<IfModule mod_expires.c>
213 213
         ExpiresActive On
214 214
         ExpiresByType text/css A30672000
215 215
         ExpiresByType text/javascript A30672000
@@ -232,7 +232,7 @@  discard block
 block discarded – undo
232 232
     </Files>
233 233
 </IfModule>';
234 234
             }
235
-            @file_put_contents($htAccess,$htAccessContent);
235
+            @file_put_contents($htAccess, $htAccessContent);
236 236
         }
237 237
 
238 238
         // All OK
@@ -241,22 +241,22 @@  discard block
 block discarded – undo
241 241
 
242 242
     static function checkCacheDir($dir) {
243 243
         // Check and create if not exists
244
-        if(!file_exists($dir))    {
245
-            @mkdir($dir,0775,true);
246
-            if(!file_exists($dir))    {
244
+        if (!file_exists($dir)) {
245
+            @mkdir($dir, 0775, true);
246
+            if (!file_exists($dir)) {
247 247
                 return false;
248 248
             }
249 249
         }
250 250
 
251 251
         // check if we can now write
252
-        if(!is_writable($dir))    {
252
+        if (!is_writable($dir)) {
253 253
             return false;
254 254
         }
255 255
 
256 256
         // and write index.html here to avoid prying eyes
257
-        $indexFile=$dir.'/index.html';
258
-        if(!is_file($indexFile)) {
259
-            @file_put_contents($indexFile,'<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>');
257
+        $indexFile = $dir.'/index.html';
258
+        if (!is_file($indexFile)) {
259
+            @file_put_contents($indexFile, '<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>');
260 260
         }
261 261
         
262 262
         return true;
Please login to merge, or discard this patch.
classes/autoptimizeScripts.php 1 patch
Spacing   +115 added lines, -115 removed lines patch added patch discarded remove patch
@@ -1,11 +1,11 @@  discard block
 block discarded – undo
1 1
 <?php
2
-if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
2
+if (!defined('ABSPATH')) exit; // Exit if accessed directly
3 3
 
4 4
 class autoptimizeScripts extends autoptimizeBase {
5 5
     private $scripts = array();
6
-    private $dontmove = array('document.write','html5.js','show_ads.js','google_ad','blogcatalog.com/w','tweetmeme.com/i','mybloglog.com/','histats.com/js','ads.smowtion.com/ad.js','statcounter.com/counter/counter.js','widgets.amung.us','ws.amazon.com/widgets','media.fastclick.net','/ads/','comment-form-quicktags/quicktags.php','edToolbar','intensedebate.com','scripts.chitika.net/','_gaq.push','jotform.com/','admin-bar.min.js','GoogleAnalyticsObject','plupload.full.min.js','syntaxhighlighter','adsbygoogle','gist.github.com','_stq','nonce','post_id','data-noptimize');
7
-    private $domove = array('gaJsHost','load_cmc','jd.gallery.transitions.js','swfobject.embedSWF(','tiny_mce.js','tinyMCEPreInit.go');
8
-    private $domovelast = array('addthis.com','/afsonline/show_afs_search.js','disqus.js','networkedblogs.com/getnetworkwidget','infolinks.com/js/','jd.gallery.js.php','jd.gallery.transitions.js','swfobject.embedSWF(','linkwithin.com/widget.js','tiny_mce.js','tinyMCEPreInit.go');
6
+    private $dontmove = array('document.write', 'html5.js', 'show_ads.js', 'google_ad', 'blogcatalog.com/w', 'tweetmeme.com/i', 'mybloglog.com/', 'histats.com/js', 'ads.smowtion.com/ad.js', 'statcounter.com/counter/counter.js', 'widgets.amung.us', 'ws.amazon.com/widgets', 'media.fastclick.net', '/ads/', 'comment-form-quicktags/quicktags.php', 'edToolbar', 'intensedebate.com', 'scripts.chitika.net/', '_gaq.push', 'jotform.com/', 'admin-bar.min.js', 'GoogleAnalyticsObject', 'plupload.full.min.js', 'syntaxhighlighter', 'adsbygoogle', 'gist.github.com', '_stq', 'nonce', 'post_id', 'data-noptimize');
7
+    private $domove = array('gaJsHost', 'load_cmc', 'jd.gallery.transitions.js', 'swfobject.embedSWF(', 'tiny_mce.js', 'tinyMCEPreInit.go');
8
+    private $domovelast = array('addthis.com', '/afsonline/show_afs_search.js', 'disqus.js', 'networkedblogs.com/getnetworkwidget', 'infolinks.com/js/', 'jd.gallery.js.php', 'jd.gallery.transitions.js', 'swfobject.embedSWF(', 'linkwithin.com/widget.js', 'tiny_mce.js', 'tinyMCEPreInit.go');
9 9
     private $trycatch = false;
10 10
     private $alreadyminified = false;
11 11
     private $forcehead = true;
@@ -21,70 +21,70 @@  discard block
 block discarded – undo
21 21
     
22 22
     //Reads the page and collects script tags
23 23
     public function read($options) {
24
-        $noptimizeJS = apply_filters( 'autoptimize_filter_js_noptimize', false, $this->content );
24
+        $noptimizeJS = apply_filters('autoptimize_filter_js_noptimize', false, $this->content);
25 25
         if ($noptimizeJS) return false;
26 26
 
27 27
         // only optimize known good JS?
28
-        $whitelistJS = apply_filters( 'autoptimize_filter_js_whitelist', '', $this->content );
28
+        $whitelistJS = apply_filters('autoptimize_filter_js_whitelist', '', $this->content);
29 29
         if (!empty($whitelistJS)) {
30
-            $this->whitelist = array_filter(array_map('trim',explode(",",$whitelistJS)));
30
+            $this->whitelist = array_filter(array_map('trim', explode(",", $whitelistJS)));
31 31
         }
32 32
 
33 33
         // is there JS we should simply remove
34
-        $removableJS = apply_filters( 'autoptimize_filter_js_removables', '', $this->content );
34
+        $removableJS = apply_filters('autoptimize_filter_js_removables', '', $this->content);
35 35
         if (!empty($removableJS)) {
36
-            $this->jsremovables = array_filter(array_map('trim',explode(",",$removableJS)));
36
+            $this->jsremovables = array_filter(array_map('trim', explode(",", $removableJS)));
37 37
         }
38 38
 
39 39
         // only header?
40
-        if( apply_filters('autoptimize_filter_js_justhead', $options['justhead']) == true ) {
41
-            $content = explode('</head>',$this->content,2);
40
+        if (apply_filters('autoptimize_filter_js_justhead', $options['justhead']) == true) {
41
+            $content = explode('</head>', $this->content, 2);
42 42
             $this->content = $content[0].'</head>';
43 43
             $this->restofcontent = $content[1];
44 44
         }
45 45
         
46 46
         // include inline?
47
-        if( apply_filters('autoptimize_js_include_inline', $options['include_inline']) == true ) {
47
+        if (apply_filters('autoptimize_js_include_inline', $options['include_inline']) == true) {
48 48
             $this->include_inline = true;
49 49
         }
50 50
 
51 51
         // filter to "late inject minified JS", default to true for now (it is faster)
52
-        $this->inject_min_late = apply_filters('autoptimize_filter_js_inject_min_late',true);
52
+        $this->inject_min_late = apply_filters('autoptimize_filter_js_inject_min_late', true);
53 53
 
54 54
         // filters to override hardcoded do(nt)move(last) array contents (array in, array out!)
55
-        $this->dontmove = apply_filters( 'autoptimize_filter_js_dontmove', $this->dontmove );        
56
-        $this->domovelast = apply_filters( 'autoptimize_filter_js_movelast', $this->domovelast );
57
-        $this->domove = apply_filters( 'autoptimize_filter_js_domove', $this->domove );
55
+        $this->dontmove = apply_filters('autoptimize_filter_js_dontmove', $this->dontmove);        
56
+        $this->domovelast = apply_filters('autoptimize_filter_js_movelast', $this->domovelast);
57
+        $this->domove = apply_filters('autoptimize_filter_js_domove', $this->domove);
58 58
 
59 59
         // get extra exclusions settings or filter
60 60
         $excludeJS = $options['js_exclude'];
61
-        $excludeJS = apply_filters( 'autoptimize_filter_js_exclude', $excludeJS, $this->content );
62
-        if ($excludeJS!=="") {
61
+        $excludeJS = apply_filters('autoptimize_filter_js_exclude', $excludeJS, $this->content);
62
+        if ($excludeJS !== "") {
63 63
             if (is_array($excludeJS)) {
64
-                if(($removeKeys = array_keys($excludeJS,"remove")) !== false) {
64
+                if (($removeKeys = array_keys($excludeJS, "remove")) !== false) {
65 65
                     foreach ($removeKeys as $removeKey) {
66 66
                         unset($excludeJS[$removeKey]);
67
-                        $this->jsremovables[]=$removeKey;
67
+                        $this->jsremovables[] = $removeKey;
68 68
                     }
69 69
                 }
70 70
                 $exclJSArr = array_keys($excludeJS);
71 71
             } else {
72
-                $exclJSArr = array_filter(array_map('trim',explode(",",$excludeJS)));
72
+                $exclJSArr = array_filter(array_map('trim', explode(",", $excludeJS)));
73 73
             }
74
-            $this->dontmove = array_merge($exclJSArr,$this->dontmove);
74
+            $this->dontmove = array_merge($exclJSArr, $this->dontmove);
75 75
         }
76 76
 
77 77
         //Should we add try-catch?
78
-        if($options['trycatch'] == true)
78
+        if ($options['trycatch'] == true)
79 79
             $this->trycatch = true;
80 80
 
81 81
         // force js in head?    
82
-        if($options['forcehead'] == true) {
82
+        if ($options['forcehead'] == true) {
83 83
             $this->forcehead = true;
84 84
         } else {
85 85
             $this->forcehead = false;
86 86
         }
87
-        $this->forcehead = apply_filters( 'autoptimize_filter_js_forcehead', $this->forcehead );
87
+        $this->forcehead = apply_filters('autoptimize_filter_js_forcehead', $this->forcehead);
88 88
 
89 89
         // get cdn url
90 90
         $this->cdn_url = $options['cdn_url'];
@@ -99,24 +99,24 @@  discard block
 block discarded – undo
99 99
         $this->content = $this->hide_comments($this->content);
100 100
 
101 101
         // Get script files
102
-        if (preg_match_all('#<script.*</script>#Usmi',$this->content,$matches)) {
103
-            foreach($matches[0] as $tag) {
102
+        if (preg_match_all('#<script.*</script>#Usmi', $this->content, $matches)) {
103
+            foreach ($matches[0] as $tag) {
104 104
                 // only consider script aggregation for types whitelisted in should_aggregate-function
105
-                if( !$this->should_aggregate($tag) ) {
106
-                    $tag='';
105
+                if (!$this->should_aggregate($tag)) {
106
+                    $tag = '';
107 107
                     continue;
108 108
                 }
109 109
 
110
-                if (preg_match('#<script[^>]*src=("|\')([^>]*)("|\')#Usmi',$tag,$source)) {
110
+                if (preg_match('#<script[^>]*src=("|\')([^>]*)("|\')#Usmi', $tag, $source)) {
111 111
                     // non-inline script
112
-                    if ($this->isremovable($tag,$this->jsremovables)) {
113
-                        $this->content = str_replace($tag,'',$this->content);
112
+                    if ($this->isremovable($tag, $this->jsremovables)) {
113
+                        $this->content = str_replace($tag, '', $this->content);
114 114
                         continue;
115 115
                     }
116
-                    $explUrl = explode('?',$source[2],2);
116
+                    $explUrl = explode('?', $source[2], 2);
117 117
                     $url = $explUrl[0];
118 118
                     $path = $this->getpath($url);
119
-                    if($path !== false && preg_match('#\.js$#',$path) && $this->ismergeable($tag)) {
119
+                    if ($path !== false && preg_match('#\.js$#', $path) && $this->ismergeable($tag)) {
120 120
                         // ok to optimize, add to array
121 121
                         $this->scripts[] = $path;
122 122
                     } else {
@@ -127,14 +127,14 @@  discard block
 block discarded – undo
127 127
                         if (is_array($excludeJS)) {
128 128
                             // should we add flags?
129 129
                             foreach ($excludeJS as $exclTag => $exclFlags) {
130
-                                if ( strpos($origTag,$exclTag)!==false && in_array($exclFlags,array("async","defer")) ) {
131
-                                   $newTag = str_replace('<script ','<script '.$exclFlags.' ',$newTag);
130
+                                if (strpos($origTag, $exclTag) !== false && in_array($exclFlags, array("async", "defer"))) {
131
+                                   $newTag = str_replace('<script ', '<script '.$exclFlags.' ', $newTag);
132 132
                                 }
133 133
                             }
134 134
                         }
135 135
                         
136 136
    						// should we minify the non-aggregated script?
137
-						if ($path && apply_filters('autoptimize_filter_js_minify_excluded',false)) {
137
+						if ($path && apply_filters('autoptimize_filter_js_minify_excluded', false)) {
138 138
 							$_CachedMinifiedUrl = $this->minify_single($path);
139 139
 
140 140
 							// replace orig URL with minified URL from cache if so
@@ -143,23 +143,23 @@  discard block
 block discarded – undo
143 143
 							}
144 144
 							
145 145
 							// remove querystring from URL in newTag
146
-							if ( !empty($explUrl[1]) ) {
147
-								$newTag = str_replace("?".$explUrl[1],"",$newTag);
146
+							if (!empty($explUrl[1])) {
147
+								$newTag = str_replace("?".$explUrl[1], "", $newTag);
148 148
 							}
149 149
 						}
150 150
 
151 151
 						// should we move the non-aggregated script?
152
-                        if( $this->ismovable($newTag) ) {
152
+                        if ($this->ismovable($newTag)) {
153 153
                             // can be moved, flags and all
154
-                            if( $this->movetolast($newTag) )    {
154
+                            if ($this->movetolast($newTag)) {
155 155
                                 $this->move['last'][] = $newTag;
156 156
                             } else {
157 157
                                 $this->move['first'][] = $newTag;
158 158
                             }
159 159
                         } else {
160 160
                             // cannot be moved, so if flag was added re-inject altered tag immediately
161
-                            if ( $origTag !== $newTag ) {
162
-                                $this->content = str_replace($origTag,$newTag,$this->content);
161
+                            if ($origTag !== $newTag) {
162
+                                $this->content = str_replace($origTag, $newTag, $this->content);
163 163
                                 $origTag = '';
164 164
                             }
165 165
                             // and forget about the $tag (not to be touched any more)
@@ -168,23 +168,23 @@  discard block
 block discarded – undo
168 168
                     }
169 169
                 } else {
170 170
                     // Inline script
171
-                    if ($this->isremovable($tag,$this->jsremovables)) {
172
-                        $this->content = str_replace($tag,'',$this->content);
171
+                    if ($this->isremovable($tag, $this->jsremovables)) {
172
+                        $this->content = str_replace($tag, '', $this->content);
173 173
                         continue;
174 174
                     }
175 175
                     
176 176
                     // unhide comments, as javascript may be wrapped in comment-tags for old times' sake
177 177
                     $tag = $this->restore_comments($tag);
178
-                    if($this->ismergeable($tag) && ( $this->include_inline )) {
179
-                        preg_match('#<script.*>(.*)</script>#Usmi',$tag,$code);
180
-                        $code = preg_replace('#.*<!\[CDATA\[(?:\s*\*/)?(.*)(?://|/\*)\s*?\]\]>.*#sm','$1',$code[1]);
181
-                        $code = preg_replace('/(?:^\\s*<!--\\s*|\\s*(?:\\/\\/)?\\s*-->\\s*$)/','',$code);
178
+                    if ($this->ismergeable($tag) && ($this->include_inline)) {
179
+                        preg_match('#<script.*>(.*)</script>#Usmi', $tag, $code);
180
+                        $code = preg_replace('#.*<!\[CDATA\[(?:\s*\*/)?(.*)(?://|/\*)\s*?\]\]>.*#sm', '$1', $code[1]);
181
+                        $code = preg_replace('/(?:^\\s*<!--\\s*|\\s*(?:\\/\\/)?\\s*-->\\s*$)/', '', $code);
182 182
                         $this->scripts[] = 'INLINE;'.$code;
183 183
                     } else {
184 184
                         // Can we move this?
185
-                        $autoptimize_js_moveable = apply_filters( 'autoptimize_js_moveable', '', $tag );
186
-                        if( $this->ismovable($tag) || $autoptimize_js_moveable !== '' ) {
187
-                            if( $this->movetolast($tag) || $autoptimize_js_moveable === 'last' ) {
185
+                        $autoptimize_js_moveable = apply_filters('autoptimize_js_moveable', '', $tag);
186
+                        if ($this->ismovable($tag) || $autoptimize_js_moveable !== '') {
187
+                            if ($this->movetolast($tag) || $autoptimize_js_moveable === 'last') {
188 188
                                 $this->move['last'][] = $tag;
189 189
                             } else {
190 190
                                 $this->move['first'][] = $tag;
@@ -199,7 +199,7 @@  discard block
 block discarded – undo
199 199
                 }
200 200
                 
201 201
                 //Remove the original script tag
202
-                $this->content = str_replace($tag,'',$this->content);
202
+                $this->content = str_replace($tag, '', $this->content);
203 203
             }
204 204
             
205 205
             return true;
@@ -211,37 +211,37 @@  discard block
 block discarded – undo
211 211
     
212 212
     //Joins and optimizes JS
213 213
     public function minify() {
214
-        foreach($this->scripts as $script) {
215
-            if(preg_match('#^INLINE;#',$script)) {
214
+        foreach ($this->scripts as $script) {
215
+            if (preg_match('#^INLINE;#', $script)) {
216 216
                 //Inline script
217
-                $script = preg_replace('#^INLINE;#','',$script);
218
-                $script = rtrim( $script, ";\n\t\r" ) . ';';
217
+                $script = preg_replace('#^INLINE;#', '', $script);
218
+                $script = rtrim($script, ";\n\t\r").';';
219 219
                 //Add try-catch?
220
-                if($this->trycatch) {
220
+                if ($this->trycatch) {
221 221
                     $script = 'try{'.$script.'}catch(e){}';
222 222
                 }
223
-                $tmpscript = apply_filters( 'autoptimize_js_individual_script', $script, '' );
224
-                if ( has_filter('autoptimize_js_individual_script') && !empty($tmpscript) ) {
225
-                    $script=$tmpscript;
226
-                    $this->alreadyminified=true;
223
+                $tmpscript = apply_filters('autoptimize_js_individual_script', $script, '');
224
+                if (has_filter('autoptimize_js_individual_script') && !empty($tmpscript)) {
225
+                    $script = $tmpscript;
226
+                    $this->alreadyminified = true;
227 227
                 }
228
-                $this->jscode .= "\n" . $script;
228
+                $this->jscode .= "\n".$script;
229 229
             } else {
230 230
                 //External script
231
-                if($script !== false && file_exists($script) && is_readable($script)) {
231
+                if ($script !== false && file_exists($script) && is_readable($script)) {
232 232
                     $scriptsrc = file_get_contents($script);
233
-                    $scriptsrc = preg_replace('/\x{EF}\x{BB}\x{BF}/','',$scriptsrc);
234
-                    $scriptsrc = rtrim($scriptsrc,";\n\t\r").';';
233
+                    $scriptsrc = preg_replace('/\x{EF}\x{BB}\x{BF}/', '', $scriptsrc);
234
+                    $scriptsrc = rtrim($scriptsrc, ";\n\t\r").';';
235 235
                     //Add try-catch?
236
-                    if($this->trycatch) {
236
+                    if ($this->trycatch) {
237 237
                         $scriptsrc = 'try{'.$scriptsrc.'}catch(e){}';
238 238
                     }
239
-                    $tmpscriptsrc = apply_filters( 'autoptimize_js_individual_script', $scriptsrc, $script );
240
-                    if ( has_filter('autoptimize_js_individual_script') && !empty($tmpscriptsrc) ) {
241
-                        $scriptsrc=$tmpscriptsrc;
242
-                        $this->alreadyminified=true;
239
+                    $tmpscriptsrc = apply_filters('autoptimize_js_individual_script', $scriptsrc, $script);
240
+                    if (has_filter('autoptimize_js_individual_script') && !empty($tmpscriptsrc)) {
241
+                        $scriptsrc = $tmpscriptsrc;
242
+                        $this->alreadyminified = true;
243 243
                     } else if ($this->can_inject_late($script)) {
244
-                        $scriptsrc="/*!%%INJECTLATER%%".base64_encode($script)."|".md5($scriptsrc)."%%INJECTLATER%%*/";
244
+                        $scriptsrc = "/*!%%INJECTLATER%%".base64_encode($script)."|".md5($scriptsrc)."%%INJECTLATER%%*/";
245 245
                     }
246 246
                     $this->jscode .= "\n".$scriptsrc;
247 247
                 }/*else{
@@ -252,24 +252,24 @@  discard block
 block discarded – undo
252 252
 
253 253
         //Check for already-minified code
254 254
         $this->md5hash = md5($this->jscode);
255
-        $ccheck = new autoptimizeCache($this->md5hash,'js');
256
-        if($ccheck->check()) {
255
+        $ccheck = new autoptimizeCache($this->md5hash, 'js');
256
+        if ($ccheck->check()) {
257 257
             $this->jscode = $ccheck->retrieve();
258 258
             return true;
259 259
         }
260 260
         unset($ccheck);
261 261
         
262 262
         //$this->jscode has all the uncompressed code now.
263
-        if ($this->alreadyminified!==true) {
264
-          if (class_exists('JSMin') && apply_filters( 'autoptimize_js_do_minify' , true)) {
265
-            if (@is_callable(array("JSMin","minify"))) {
263
+        if ($this->alreadyminified !== true) {
264
+          if (class_exists('JSMin') && apply_filters('autoptimize_js_do_minify', true)) {
265
+            if (@is_callable(array("JSMin", "minify"))) {
266 266
                 $tmp_jscode = trim(JSMin::minify($this->jscode));
267 267
                 if (!empty($tmp_jscode)) {
268 268
                     $this->jscode = $tmp_jscode;
269 269
                     unset($tmp_jscode);
270 270
                 }
271 271
                 $this->jscode = $this->inject_minified($this->jscode);
272
-                $this->jscode = apply_filters( 'autoptimize_js_after_minify', $this->jscode );
272
+                $this->jscode = apply_filters('autoptimize_js_after_minify', $this->jscode);
273 273
                 return true;
274 274
             } else {
275 275
                 $this->jscode = $this->inject_minified($this->jscode);
@@ -280,16 +280,16 @@  discard block
 block discarded – undo
280 280
               return false;
281 281
           }
282 282
         }
283
-        $this->jscode = apply_filters( 'autoptimize_js_after_minify', $this->jscode );
283
+        $this->jscode = apply_filters('autoptimize_js_after_minify', $this->jscode);
284 284
         return true;
285 285
     }
286 286
     
287 287
     //Caches the JS in uncompressed, deflated and gzipped form.
288
-    public function cache()    {
289
-        $cache = new autoptimizeCache($this->md5hash,'js');
290
-        if(!$cache->check()) {
288
+    public function cache() {
289
+        $cache = new autoptimizeCache($this->md5hash, 'js');
290
+        if (!$cache->check()) {
291 291
             //Cache our code
292
-            $cache->cache($this->jscode,'text/javascript');
292
+            $cache->cache($this->jscode, 'text/javascript');
293 293
         }
294 294
         $this->url = AUTOPTIMIZE_CACHE_URL.$cache->getname();
295 295
         $this->url = $this->url_replace_cdn($this->url);
@@ -298,32 +298,32 @@  discard block
 block discarded – undo
298 298
     // Returns the content
299 299
     public function getcontent() {
300 300
         // Restore the full content
301
-        if(!empty($this->restofcontent)) {
301
+        if (!empty($this->restofcontent)) {
302 302
             $this->content .= $this->restofcontent;
303 303
             $this->restofcontent = '';
304 304
         }
305 305
         
306 306
         // Add the scripts taking forcehead/ deferred (default) into account
307
-        if($this->forcehead == true) {
308
-            $replaceTag=array("</head>","before");
309
-            $defer="";
307
+        if ($this->forcehead == true) {
308
+            $replaceTag = array("</head>", "before");
309
+            $defer = "";
310 310
         } else {
311
-            $replaceTag=array("</body>","before");
312
-            $defer="defer ";
311
+            $replaceTag = array("</body>", "before");
312
+            $defer = "defer ";
313 313
         }
314 314
         
315
-        $defer = apply_filters( 'autoptimize_filter_js_defer', $defer );
315
+        $defer = apply_filters('autoptimize_filter_js_defer', $defer);
316 316
         $bodyreplacementpayload = '<script type="text/javascript" '.$defer.'src="'.$this->url.'"></script>';
317
-        $bodyreplacementpayload = apply_filters('autoptimize_filter_js_bodyreplacementpayload',$bodyreplacementpayload);
317
+        $bodyreplacementpayload = apply_filters('autoptimize_filter_js_bodyreplacementpayload', $bodyreplacementpayload);
318 318
 
319
-        $bodyreplacement = implode('',$this->move['first']);
319
+        $bodyreplacement = implode('', $this->move['first']);
320 320
         $bodyreplacement .= $bodyreplacementpayload;
321
-        $bodyreplacement .= implode('',$this->move['last']);
321
+        $bodyreplacement .= implode('', $this->move['last']);
322 322
 
323
-        $replaceTag = apply_filters( 'autoptimize_filter_js_replacetag', $replaceTag );
323
+        $replaceTag = apply_filters('autoptimize_filter_js_replacetag', $replaceTag);
324 324
 
325
-        if (strlen($this->jscode)>0) {
326
-            $this->inject_in_html($bodyreplacement,$replaceTag);
325
+        if (strlen($this->jscode) > 0) {
326
+            $this->inject_in_html($bodyreplacement, $replaceTag);
327 327
         }
328 328
         
329 329
         // restore comments
@@ -341,19 +341,19 @@  discard block
 block discarded – undo
341 341
     
342 342
     // Checks against the white- and blacklists
343 343
     private function ismergeable($tag) {
344
-		if (apply_filters('autoptimize_filter_js_dontaggregate',false)) {
344
+		if (apply_filters('autoptimize_filter_js_dontaggregate', false)) {
345 345
 			return false;
346 346
         } else if (!empty($this->whitelist)) {
347 347
             foreach ($this->whitelist as $match) {
348
-                if(strpos($tag,$match)!==false) {
348
+                if (strpos($tag, $match) !== false) {
349 349
                     return true;
350 350
                 }
351 351
             }
352 352
             // no match with whitelist
353 353
             return false;
354 354
         } else {
355
-            foreach($this->domove as $match) {
356
-                if(strpos($tag,$match)!==false)    {
355
+            foreach ($this->domove as $match) {
356
+                if (strpos($tag, $match) !== false) {
357 357
                     // Matched something
358 358
                     return false;
359 359
                 }
@@ -363,8 +363,8 @@  discard block
 block discarded – undo
363 363
                 return false;
364 364
             }
365 365
             
366
-            foreach($this->dontmove as $match) {
367
-                if(strpos($tag,$match)!==false)    {
366
+            foreach ($this->dontmove as $match) {
367
+                if (strpos($tag, $match) !== false) {
368 368
                     //Matched something
369 369
                     return false;
370 370
                 }
@@ -377,12 +377,12 @@  discard block
 block discarded – undo
377 377
     
378 378
     // Checks againstt the blacklist
379 379
     private function ismovable($tag) {
380
-        if ($this->include_inline !== true || apply_filters('autoptimize_filter_js_unmovable',true)) {
380
+        if ($this->include_inline !== true || apply_filters('autoptimize_filter_js_unmovable', true)) {
381 381
             return false;
382 382
         }
383 383
         
384
-        foreach($this->domove as $match) {
385
-            if(strpos($tag,$match)!==false)    {
384
+        foreach ($this->domove as $match) {
385
+            if (strpos($tag, $match) !== false) {
386 386
                 // Matched something
387 387
                 return true;
388 388
             }
@@ -392,8 +392,8 @@  discard block
 block discarded – undo
392 392
             return true;
393 393
         }
394 394
         
395
-        foreach($this->dontmove as $match) {
396
-            if(strpos($tag,$match)!==false) {
395
+        foreach ($this->dontmove as $match) {
396
+            if (strpos($tag, $match) !== false) {
397 397
                 // Matched something
398 398
                 return false;
399 399
             }
@@ -404,8 +404,8 @@  discard block
 block discarded – undo
404 404
     }
405 405
     
406 406
     private function movetolast($tag) {
407
-        foreach($this->domovelast as $match) {
408
-            if(strpos($tag,$match)!==false)    {
407
+        foreach ($this->domovelast as $match) {
408
+            if (strpos($tag, $match) !== false) {
409 409
                 // Matched, return true
410 410
                 return true;
411 411
             }
@@ -431,10 +431,10 @@  discard block
 block discarded – undo
431 431
      * original function by https://github.com/zytzagoo/ on his AO fork, thanks Tomas!
432 432
      */
433 433
     public function should_aggregate($tag) {
434
-        preg_match('#<(script[^>]*)>#i',$tag,$scripttag);
435
-        if ( strpos($scripttag[1], 'type')===false ) {
434
+        preg_match('#<(script[^>]*)>#i', $tag, $scripttag);
435
+        if (strpos($scripttag[1], 'type') === false) {
436 436
             return true;
437
-        } else if ( preg_match('/type\s*=\s*["\']?(?:text|application)\/(?:javascript|ecmascript)["\']?/i', $scripttag[1]) ) {
437
+        } else if (preg_match('/type\s*=\s*["\']?(?:text|application)\/(?:javascript|ecmascript)["\']?/i', $scripttag[1])) {
438 438
             return true;
439 439
         } else {
440 440
             return false;
@@ -452,11 +452,11 @@  discard block
 block discarded – undo
452 452
      * @return bool
453 453
 	 */
454 454
 	private function can_inject_late($jsPath) {
455
-		$consider_minified_array = apply_filters('autoptimize_filter_js_consider_minified',false);
456
-        if ( $this->inject_min_late !== true ) {
455
+		$consider_minified_array = apply_filters('autoptimize_filter_js_consider_minified', false);
456
+        if ($this->inject_min_late !== true) {
457 457
             // late-inject turned off
458 458
             return false;
459
-        } else if ( (strpos($jsPath,"min.js") === false) && ( strpos($jsPath,"wp-includes/js/jquery/jquery.js") === false ) && ( str_replace($consider_minified_array, '', $jsPath) === $jsPath ) ) {
459
+        } else if ((strpos($jsPath, "min.js") === false) && (strpos($jsPath, "wp-includes/js/jquery/jquery.js") === false) && (str_replace($consider_minified_array, '', $jsPath) === $jsPath)) {
460 460
 			// file not minified based on filename & filter
461 461
 			return false;
462 462
         } else {
Please login to merge, or discard this patch.
classes/autoptimizeConfig.php 1 patch
Spacing   +179 added lines, -179 removed lines patch added patch discarded remove patch
@@ -1,5 +1,5 @@  discard block
 block discarded – undo
1 1
 <?php
2
-if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
2
+if (!defined('ABSPATH')) exit; // Exit if accessed directly
3 3
 
4 4
 class autoptimizeConfig {
5 5
     private $config = null;
@@ -7,25 +7,25 @@  discard block
 block discarded – undo
7 7
 
8 8
     //Singleton: private construct
9 9
     private function __construct() {
10
-        if( is_admin() ) {
10
+        if (is_admin()) {
11 11
             //Add the admin page and settings
12
-            add_action('admin_menu',array($this,'addmenu'));
13
-            add_action('admin_init',array($this,'registersettings'));
12
+            add_action('admin_menu', array($this, 'addmenu'));
13
+            add_action('admin_init', array($this, 'registersettings'));
14 14
 
15 15
             //Set meta info
16
-            if(function_exists('plugin_row_meta')) {
16
+            if (function_exists('plugin_row_meta')) {
17 17
                 //2.8+
18
-                add_filter('plugin_row_meta',array($this,'setmeta'),10,2);
19
-            } elseif(function_exists('post_class')) {
18
+                add_filter('plugin_row_meta', array($this, 'setmeta'), 10, 2);
19
+            } elseif (function_exists('post_class')) {
20 20
                 //2.7
21 21
                 $plugin = plugin_basename(AUTOPTIMIZE_PLUGIN_DIR.'autoptimize.php');
22
-                add_filter('plugin_action_links_'.$plugin,array($this,'setmeta'));
22
+                add_filter('plugin_action_links_'.$plugin, array($this, 'setmeta'));
23 23
             }
24 24
 
25 25
             //Clean cache?
26
-            if(get_option('autoptimize_cache_clean')) {
26
+            if (get_option('autoptimize_cache_clean')) {
27 27
                 autoptimizeCache::clearall();
28
-                update_option('autoptimize_cache_clean',0);
28
+                update_option('autoptimize_cache_clean', 0);
29 29
             }
30 30
         }
31 31
 
@@ -159,27 +159,27 @@  discard block
 block discarded – undo
159 159
 <div class="wrap">
160 160
 
161 161
 <?php if (version_compare(PHP_VERSION, '5.3.0') < 0) { ?>
162
-<div class="notice-error notice"><?php echo '<p>' . sprintf( __('<strong>You are using a very old version of PHP</strong> (5.2.x or older) which has <a href=%s>serious security and performance issues</a>. Support for PHP 5.5 and below will be removed in one of the next AO released, please ask your hoster to provide you with an upgrade path to 7.x.','autoptimize'), '"http://blog.futtta.be/2016/03/15/why-would-you-still-be-on-php-5-2/" target="_blank"') . '</p>'; ?></div>
162
+<div class="notice-error notice"><?php echo '<p>'.sprintf(__('<strong>You are using a very old version of PHP</strong> (5.2.x or older) which has <a href=%s>serious security and performance issues</a>. Support for PHP 5.5 and below will be removed in one of the next AO released, please ask your hoster to provide you with an upgrade path to 7.x.', 'autoptimize'), '"http://blog.futtta.be/2016/03/15/why-would-you-still-be-on-php-5-2/" target="_blank"').'</p>'; ?></div>
163 163
 <?php } ?>
164 164
 
165 165
 <div id="autoptimize_main">
166 166
 <div id="ao_title_and_button">
167
-    <h1 id="ao_title"><?php _e('Autoptimize Settings','autoptimize'); ?>
167
+    <h1 id="ao_title"><?php _e('Autoptimize Settings', 'autoptimize'); ?>
168 168
     <span id="ao_adv_button">
169 169
     <?php 
170
-    if (get_option('autoptimize_show_adv','0')=='1') {
170
+    if (get_option('autoptimize_show_adv', '0') == '1') {
171 171
         ?>
172
-        <a href="javascript:void(0);" id="ao_show_adv" class="button" style="display:none;"><span><?php _e("Show advanced settings","autoptimize") ?></span></a>
173
-        <a href="javascript:void(0);" id="ao_hide_adv" class="button"><span><?php _e("Hide advanced settings","autoptimize") ?></span></a>
172
+        <a href="javascript:void(0);" id="ao_show_adv" class="button" style="display:none;"><span><?php _e("Show advanced settings", "autoptimize") ?></span></a>
173
+        <a href="javascript:void(0);" id="ao_hide_adv" class="button"><span><?php _e("Hide advanced settings", "autoptimize") ?></span></a>
174 174
         <style>tr.ao_adv{display:table-row;} li.ao_adv{display:list-item;}</style>
175 175
         <?php
176
-        $hiddenClass="";
176
+        $hiddenClass = "";
177 177
     } else {
178 178
         ?>
179
-        <a href="javascript:void(0);" id="ao_show_adv" class="button"><span><?php _e("Show advanced settings","autoptimize") ?></span></a>
180
-        <a href="javascript:void(0);" id="ao_hide_adv" class="button" style="display:none;"><span><?php _e("Hide advanced settings","autoptimize") ?></span></a>
179
+        <a href="javascript:void(0);" id="ao_show_adv" class="button"><span><?php _e("Show advanced settings", "autoptimize") ?></span></a>
180
+        <a href="javascript:void(0);" id="ao_hide_adv" class="button" style="display:none;"><span><?php _e("Hide advanced settings", "autoptimize") ?></span></a>
181 181
         <?php
182
-        $hiddenClass="hidden ";
182
+        $hiddenClass = "hidden ";
183 183
     }
184 184
     ?>
185 185
     </span>
@@ -194,154 +194,154 @@  discard block
 block discarded – undo
194 194
 <ul>
195 195
 
196 196
 <li class="itemDetail">
197
-<h2 class="itemTitle"><?php _e('HTML Options','autoptimize'); ?></h2>
197
+<h2 class="itemTitle"><?php _e('HTML Options', 'autoptimize'); ?></h2>
198 198
 <table class="form-table">
199 199
 <tr valign="top">
200
-<th scope="row"><?php _e('Optimize HTML Code?','autoptimize'); ?></th>
201
-<td><input type="checkbox" id="autoptimize_html" name="autoptimize_html" <?php echo get_option('autoptimize_html')?'checked="checked" ':''; ?>/></td>
200
+<th scope="row"><?php _e('Optimize HTML Code?', 'autoptimize'); ?></th>
201
+<td><input type="checkbox" id="autoptimize_html" name="autoptimize_html" <?php echo get_option('autoptimize_html') ? 'checked="checked" ' : ''; ?>/></td>
202 202
 </tr>
203
-<tr class="<?php echo $hiddenClass;?>html_sub ao_adv" valign="top">
204
-<th scope="row"><?php _e('Keep HTML comments?','autoptimize'); ?></th>
205
-<td><label class="cb_label"><input type="checkbox" name="autoptimize_html_keepcomments" <?php echo get_option('autoptimize_html_keepcomments')?'checked="checked" ':''; ?>/>
206
-<?php _e('Enable this if you want HTML comments to remain in the page.','autoptimize'); ?></label></td>
203
+<tr class="<?php echo $hiddenClass; ?>html_sub ao_adv" valign="top">
204
+<th scope="row"><?php _e('Keep HTML comments?', 'autoptimize'); ?></th>
205
+<td><label class="cb_label"><input type="checkbox" name="autoptimize_html_keepcomments" <?php echo get_option('autoptimize_html_keepcomments') ? 'checked="checked" ' : ''; ?>/>
206
+<?php _e('Enable this if you want HTML comments to remain in the page.', 'autoptimize'); ?></label></td>
207 207
 </tr>
208 208
 </table>
209 209
 </li>
210 210
 
211 211
 <li class="itemDetail">
212
-<h2 class="itemTitle"><?php _e('JavaScript Options','autoptimize'); ?></h2>
212
+<h2 class="itemTitle"><?php _e('JavaScript Options', 'autoptimize'); ?></h2>
213 213
 <table class="form-table"> 
214 214
 <tr valign="top">
215
-<th scope="row"><?php _e('Optimize JavaScript Code?','autoptimize'); ?></th>
216
-<td><input type="checkbox" id="autoptimize_js" name="autoptimize_js" <?php echo get_option('autoptimize_js')?'checked="checked" ':''; ?>/></td>
215
+<th scope="row"><?php _e('Optimize JavaScript Code?', 'autoptimize'); ?></th>
216
+<td><input type="checkbox" id="autoptimize_js" name="autoptimize_js" <?php echo get_option('autoptimize_js') ? 'checked="checked" ' : ''; ?>/></td>
217 217
 </tr>
218
-<tr valign="top" class="<?php echo $hiddenClass;?>js_sub ao_adv">
219
-<th scope="row"><?php _e('Force JavaScript in &lt;head&gt;?','autoptimize'); ?></th>
220
-<td><label class="cb_label"><input type="checkbox" name="autoptimize_js_forcehead" <?php echo get_option('autoptimize_js_forcehead')?'checked="checked" ':''; ?>/>
221
-<?php _e('Load JavaScript early, this can potentially fix some JS-errors, but makes the JS render blocking.','autoptimize'); ?></label></td>
218
+<tr valign="top" class="<?php echo $hiddenClass; ?>js_sub ao_adv">
219
+<th scope="row"><?php _e('Force JavaScript in &lt;head&gt;?', 'autoptimize'); ?></th>
220
+<td><label class="cb_label"><input type="checkbox" name="autoptimize_js_forcehead" <?php echo get_option('autoptimize_js_forcehead') ? 'checked="checked" ' : ''; ?>/>
221
+<?php _e('Load JavaScript early, this can potentially fix some JS-errors, but makes the JS render blocking.', 'autoptimize'); ?></label></td>
222 222
 </tr>
223 223
 <?php if (get_option('autoptimize_js_justhead')) { ?>
224
-<tr valign="top" class="<?php echo $hiddenClass;?>js_sub ao_adv">
225
-<th scope="row"><?php _e('Look for scripts only in &lt;head&gt;?','autoptimize'); echo ' <i>'. __('(deprecated)','autoptimize') . '</i>'; ?></th>
226
-<td><label class="cb_label"><input type="checkbox" name="autoptimize_js_justhead" <?php echo get_option('autoptimize_js_justhead')?'checked="checked" ':''; ?>/>
227
-<?php _e('Mostly useful in combination with previous option when using jQuery-based templates, but might help keeping cache size under control.','autoptimize'); ?></label></td>
224
+<tr valign="top" class="<?php echo $hiddenClass; ?>js_sub ao_adv">
225
+<th scope="row"><?php _e('Look for scripts only in &lt;head&gt;?', 'autoptimize'); echo ' <i>'.__('(deprecated)', 'autoptimize').'</i>'; ?></th>
226
+<td><label class="cb_label"><input type="checkbox" name="autoptimize_js_justhead" <?php echo get_option('autoptimize_js_justhead') ? 'checked="checked" ' : ''; ?>/>
227
+<?php _e('Mostly useful in combination with previous option when using jQuery-based templates, but might help keeping cache size under control.', 'autoptimize'); ?></label></td>
228 228
 </tr>
229 229
 <?php } ?>
230
-<tr valign="top" class="<?php echo $hiddenClass;?>js_sub ao_adv">
231
-<th scope="row"><?php _e('Also aggregate inline JS?','autoptimize'); ?></th>
232
-<td><label class="cb_label"><input type="checkbox" name="autoptimize_js_include_inline" <?php echo get_option('autoptimize_js_include_inline')?'checked="checked" ':''; ?>/>
233
-<?php _e('Let Autoptimize also extract JS from the HTML. <strong>Warning</strong>: this can make Autoptimize\'s cache size grow quickly, so only enable this if you know what you\'re doing.','autoptimize'); ?></label></td>
230
+<tr valign="top" class="<?php echo $hiddenClass; ?>js_sub ao_adv">
231
+<th scope="row"><?php _e('Also aggregate inline JS?', 'autoptimize'); ?></th>
232
+<td><label class="cb_label"><input type="checkbox" name="autoptimize_js_include_inline" <?php echo get_option('autoptimize_js_include_inline') ? 'checked="checked" ' : ''; ?>/>
233
+<?php _e('Let Autoptimize also extract JS from the HTML. <strong>Warning</strong>: this can make Autoptimize\'s cache size grow quickly, so only enable this if you know what you\'re doing.', 'autoptimize'); ?></label></td>
234 234
 </tr>
235
-<tr valign="top" class="<?php echo $hiddenClass;?>js_sub ao_adv">
236
-<th scope="row"><?php _e('Exclude scripts from Autoptimize:','autoptimize'); ?></th>
237
-<td><label><input type="text" style="width:100%;" name="autoptimize_js_exclude" value="<?php echo get_option('autoptimize_js_exclude',"seal.js, js/jquery/jquery.js"); ?>"/><br />
238
-<?php _e('A comma-separated list of scripts you want to exclude from being optimized, for example \'whatever.js, another.js\' (without the quotes) to exclude those scripts from being aggregated and minimized by Autoptimize.','autoptimize'); ?></label></td>
235
+<tr valign="top" class="<?php echo $hiddenClass; ?>js_sub ao_adv">
236
+<th scope="row"><?php _e('Exclude scripts from Autoptimize:', 'autoptimize'); ?></th>
237
+<td><label><input type="text" style="width:100%;" name="autoptimize_js_exclude" value="<?php echo get_option('autoptimize_js_exclude', "seal.js, js/jquery/jquery.js"); ?>"/><br />
238
+<?php _e('A comma-separated list of scripts you want to exclude from being optimized, for example \'whatever.js, another.js\' (without the quotes) to exclude those scripts from being aggregated and minimized by Autoptimize.', 'autoptimize'); ?></label></td>
239 239
 </tr>
240
-<tr valign="top" class="<?php echo $hiddenClass;?>js_sub ao_adv">
241
-<th scope="row"><?php _e('Add try-catch wrapping?','autoptimize'); ?></th>
242
-<td><label class="cb_label"><input type="checkbox" name="autoptimize_js_trycatch" <?php echo get_option('autoptimize_js_trycatch')?'checked="checked" ':''; ?>/>
243
-<?php _e('If your scripts break because of a JS-error, you might want to try this.','autoptimize'); ?></label></td>
240
+<tr valign="top" class="<?php echo $hiddenClass; ?>js_sub ao_adv">
241
+<th scope="row"><?php _e('Add try-catch wrapping?', 'autoptimize'); ?></th>
242
+<td><label class="cb_label"><input type="checkbox" name="autoptimize_js_trycatch" <?php echo get_option('autoptimize_js_trycatch') ? 'checked="checked" ' : ''; ?>/>
243
+<?php _e('If your scripts break because of a JS-error, you might want to try this.', 'autoptimize'); ?></label></td>
244 244
 </tr>
245 245
 </table>
246 246
 </li>
247 247
 
248 248
 <li class="itemDetail">
249
-<h2 class="itemTitle"><?php _e('CSS Options','autoptimize'); ?></h2>
249
+<h2 class="itemTitle"><?php _e('CSS Options', 'autoptimize'); ?></h2>
250 250
 <table class="form-table"> 
251 251
 <tr valign="top">
252
-<th scope="row"><?php _e('Optimize CSS Code?','autoptimize'); ?></th>
253
-<td><input type="checkbox" id="autoptimize_css" name="autoptimize_css" <?php echo get_option('autoptimize_css')?'checked="checked" ':''; ?>/></td>
252
+<th scope="row"><?php _e('Optimize CSS Code?', 'autoptimize'); ?></th>
253
+<td><input type="checkbox" id="autoptimize_css" name="autoptimize_css" <?php echo get_option('autoptimize_css') ? 'checked="checked" ' : ''; ?>/></td>
254 254
 </tr>
255
-<tr class="<?php echo $hiddenClass;?>css_sub ao_adv" valign="top">
256
-<th scope="row"><?php _e('Generate data: URIs for images?','autoptimize'); ?></th>
257
-<td><label class="cb_label"><input type="checkbox" name="autoptimize_css_datauris" <?php echo get_option('autoptimize_css_datauris')?'checked="checked" ':''; ?>/>
258
-<?php _e('Enable this to include small background-images in the CSS itself instead of as separate downloads.','autoptimize'); ?></label></td>
255
+<tr class="<?php echo $hiddenClass; ?>css_sub ao_adv" valign="top">
256
+<th scope="row"><?php _e('Generate data: URIs for images?', 'autoptimize'); ?></th>
257
+<td><label class="cb_label"><input type="checkbox" name="autoptimize_css_datauris" <?php echo get_option('autoptimize_css_datauris') ? 'checked="checked" ' : ''; ?>/>
258
+<?php _e('Enable this to include small background-images in the CSS itself instead of as separate downloads.', 'autoptimize'); ?></label></td>
259 259
 </tr>
260
-<tr class="<?php echo $hiddenClass;?>css_sub ao_adv" valign="top">
261
-<th scope="row"><?php _e('Remove Google Fonts?','autoptimize'); ?></th>
262
-<td><label class="cb_label"><input type="checkbox" name="autoptimize_css_nogooglefont" <?php echo get_option('autoptimize_css_nogooglefont')?'checked="checked" ':''; ?>/>
263
-<?php _e('Check this if you don\'t need or want Google Fonts being loaded.','autoptimize'); ?></label></td>
260
+<tr class="<?php echo $hiddenClass; ?>css_sub ao_adv" valign="top">
261
+<th scope="row"><?php _e('Remove Google Fonts?', 'autoptimize'); ?></th>
262
+<td><label class="cb_label"><input type="checkbox" name="autoptimize_css_nogooglefont" <?php echo get_option('autoptimize_css_nogooglefont') ? 'checked="checked" ' : ''; ?>/>
263
+<?php _e('Check this if you don\'t need or want Google Fonts being loaded.', 'autoptimize'); ?></label></td>
264 264
 </tr>
265 265
 <?php if (get_option('autoptimize_css_justhead')) { ?>
266
-<tr valign="top" class="<?php echo $hiddenClass;?>css_sub ao_adv">
267
-<th scope="row"><?php _e('Look for styles only in &lt;head&gt;?','autoptimize'); echo ' <i>'. __('(deprecated)','autoptimize') . '</i>'; ?></th>
268
-<td><label class="cb_label"><input type="checkbox" name="autoptimize_css_justhead" <?php echo get_option('autoptimize_css_justhead')?'checked="checked" ':''; ?>/>
269
-<?php _e('Don\'t autoptimize CSS outside the head-section. If the cache gets big, you might want to enable this.','autoptimize'); ?></label></td>
266
+<tr valign="top" class="<?php echo $hiddenClass; ?>css_sub ao_adv">
267
+<th scope="row"><?php _e('Look for styles only in &lt;head&gt;?', 'autoptimize'); echo ' <i>'.__('(deprecated)', 'autoptimize').'</i>'; ?></th>
268
+<td><label class="cb_label"><input type="checkbox" name="autoptimize_css_justhead" <?php echo get_option('autoptimize_css_justhead') ? 'checked="checked" ' : ''; ?>/>
269
+<?php _e('Don\'t autoptimize CSS outside the head-section. If the cache gets big, you might want to enable this.', 'autoptimize'); ?></label></td>
270 270
 </tr>
271 271
 <?php } ?>
272
-<tr valign="top" class="<?php echo $hiddenClass;?>css_sub ao_adv">
273
-<th scope="row"><?php _e('Also aggregate inline CSS?','autoptimize'); ?></th>
274
-<td><label class="cb_label"><input type="checkbox" name="autoptimize_css_include_inline" <?php echo get_option('autoptimize_css_include_inline','1')?'checked="checked" ':''; ?>/>
275
-<?php _e('Check this option for Autoptimize to also aggregate CSS in the HTML.','autoptimize'); ?></label></td>
272
+<tr valign="top" class="<?php echo $hiddenClass; ?>css_sub ao_adv">
273
+<th scope="row"><?php _e('Also aggregate inline CSS?', 'autoptimize'); ?></th>
274
+<td><label class="cb_label"><input type="checkbox" name="autoptimize_css_include_inline" <?php echo get_option('autoptimize_css_include_inline', '1') ? 'checked="checked" ' : ''; ?>/>
275
+<?php _e('Check this option for Autoptimize to also aggregate CSS in the HTML.', 'autoptimize'); ?></label></td>
276 276
 </tr>
277
-<tr valign="top" class="<?php echo $hiddenClass;?>css_sub ao_adv">
278
-<th scope="row"><?php _e('Inline and Defer CSS?','autoptimize'); ?></th>
279
-<td><label class="cb_label"><input type="checkbox" name="autoptimize_css_defer" id="autoptimize_css_defer" <?php echo get_option('autoptimize_css_defer')?'checked="checked" ':''; ?>/>
280
-<?php _e('Inline "above the fold CSS" while loading the main autoptimized CSS only after page load. <a href="http://wordpress.org/plugins/autoptimize/faq/" target="_blank">Check the FAQ</a> before activating this option!','autoptimize'); ?></label></td>
277
+<tr valign="top" class="<?php echo $hiddenClass; ?>css_sub ao_adv">
278
+<th scope="row"><?php _e('Inline and Defer CSS?', 'autoptimize'); ?></th>
279
+<td><label class="cb_label"><input type="checkbox" name="autoptimize_css_defer" id="autoptimize_css_defer" <?php echo get_option('autoptimize_css_defer') ? 'checked="checked" ' : ''; ?>/>
280
+<?php _e('Inline "above the fold CSS" while loading the main autoptimized CSS only after page load. <a href="http://wordpress.org/plugins/autoptimize/faq/" target="_blank">Check the FAQ</a> before activating this option!', 'autoptimize'); ?></label></td>
281 281
 </tr>
282
-<tr valign="top" class="<?php echo $hiddenClass;?>css_sub ao_adv" id="autoptimize_css_defer_inline">
282
+<tr valign="top" class="<?php echo $hiddenClass; ?>css_sub ao_adv" id="autoptimize_css_defer_inline">
283 283
 <th scope="row"></th>
284
-<td><label><textarea rows="10" cols="10" style="width:100%;" placeholder="<?php _e('Paste the above the fold CSS here.','autoptimize'); ?>" name="autoptimize_css_defer_inline"><?php echo get_option('autoptimize_css_defer_inline'); ?></textarea></label></td>
284
+<td><label><textarea rows="10" cols="10" style="width:100%;" placeholder="<?php _e('Paste the above the fold CSS here.', 'autoptimize'); ?>" name="autoptimize_css_defer_inline"><?php echo get_option('autoptimize_css_defer_inline'); ?></textarea></label></td>
285 285
 </tr>
286
-<tr valign="top" class="<?php echo $hiddenClass;?>ao_adv css_sub">
287
-<th scope="row"><?php _e('Inline all CSS?','autoptimize'); ?></th>
288
-<td><label class="cb_label"><input type="checkbox" id="autoptimize_css_inline" name="autoptimize_css_inline" <?php echo get_option('autoptimize_css_inline')?'checked="checked" ':''; ?>/>
289
-<?php _e('Inlining all CSS can improve performance for sites with a low pageviews/ visitor-rate, but may slow down performance otherwise.','autoptimize'); ?></label></td>
286
+<tr valign="top" class="<?php echo $hiddenClass; ?>ao_adv css_sub">
287
+<th scope="row"><?php _e('Inline all CSS?', 'autoptimize'); ?></th>
288
+<td><label class="cb_label"><input type="checkbox" id="autoptimize_css_inline" name="autoptimize_css_inline" <?php echo get_option('autoptimize_css_inline') ? 'checked="checked" ' : ''; ?>/>
289
+<?php _e('Inlining all CSS can improve performance for sites with a low pageviews/ visitor-rate, but may slow down performance otherwise.', 'autoptimize'); ?></label></td>
290 290
 </tr>
291
-<tr valign="top" class="<?php echo $hiddenClass;?>ao_adv css_sub">
292
-<th scope="row"><?php _e('Exclude CSS from Autoptimize:','autoptimize'); ?></th>
293
-<td><label><input type="text" style="width:100%;" name="autoptimize_css_exclude" value="<?php echo get_option('autoptimize_css_exclude','admin-bar.min.css, dashicons.min.css'); ?>"/><br />
294
-<?php _e('A comma-separated list of CSS you want to exclude from being optimized.','autoptimize'); ?></label></td>
291
+<tr valign="top" class="<?php echo $hiddenClass; ?>ao_adv css_sub">
292
+<th scope="row"><?php _e('Exclude CSS from Autoptimize:', 'autoptimize'); ?></th>
293
+<td><label><input type="text" style="width:100%;" name="autoptimize_css_exclude" value="<?php echo get_option('autoptimize_css_exclude', 'admin-bar.min.css, dashicons.min.css'); ?>"/><br />
294
+<?php _e('A comma-separated list of CSS you want to exclude from being optimized.', 'autoptimize'); ?></label></td>
295 295
 </tr>
296 296
 </table>
297 297
 </li>
298 298
 
299 299
 <li class="itemDetail">
300
-<h2 class="itemTitle"><?php _e('CDN Options','autoptimize'); ?></h2>
300
+<h2 class="itemTitle"><?php _e('CDN Options', 'autoptimize'); ?></h2>
301 301
 <table class="form-table"> 
302 302
 <tr valign="top">
303
-<th scope="row"><?php _e('CDN Base URL','autoptimize'); ?></th>
304
-<td><label><input id="cdn_url" type="text" name="autoptimize_cdn_url" pattern="^(https?:)?\/\/([\da-z\.-]+)\.([\da-z\.]{2,6})([\/\w \.-]*)*(:\d{2,5})?\/?$" style="width:100%" value="<?php echo esc_url(get_option('autoptimize_cdn_url',''),array("http","https")); ?>" /><br />
305
-<?php _e('Enter your CDN root URL to enable CDN for Autoptimized files. The URL can be http, https or protocol-relative (e.g. <code>//cdn.example.com/</code>). This is not needed for Cloudflare.','autoptimize'); ?></label></td>
303
+<th scope="row"><?php _e('CDN Base URL', 'autoptimize'); ?></th>
304
+<td><label><input id="cdn_url" type="text" name="autoptimize_cdn_url" pattern="^(https?:)?\/\/([\da-z\.-]+)\.([\da-z\.]{2,6})([\/\w \.-]*)*(:\d{2,5})?\/?$" style="width:100%" value="<?php echo esc_url(get_option('autoptimize_cdn_url', ''), array("http", "https")); ?>" /><br />
305
+<?php _e('Enter your CDN root URL to enable CDN for Autoptimized files. The URL can be http, https or protocol-relative (e.g. <code>//cdn.example.com/</code>). This is not needed for Cloudflare.', 'autoptimize'); ?></label></td>
306 306
 </tr>
307 307
 </table>
308 308
 </li>
309 309
 
310
-<li class="<?php echo $hiddenClass;?>itemDetail ao_adv">
311
-<h2 class="itemTitle"><?php _e('Cache Info','autoptimize'); ?></h2>
310
+<li class="<?php echo $hiddenClass; ?>itemDetail ao_adv">
311
+<h2 class="itemTitle"><?php _e('Cache Info', 'autoptimize'); ?></h2>
312 312
 <table class="form-table" > 
313
-<tr valign="top" class="<?php echo $hiddenClass;?>ao_adv">
314
-<th scope="row"><?php _e('Cache folder','autoptimize'); ?></th>
313
+<tr valign="top" class="<?php echo $hiddenClass; ?>ao_adv">
314
+<th scope="row"><?php _e('Cache folder', 'autoptimize'); ?></th>
315 315
 <td><?php echo htmlentities(AUTOPTIMIZE_CACHE_DIR); ?></td>
316 316
 </tr>
317
-<tr valign="top" class="<?php echo $hiddenClass;?>ao_adv">
318
-<th scope="row"><?php _e('Can we write?','autoptimize'); ?></th>
319
-<td><?php echo (autoptimizeCache::cacheavail() ? __('Yes','autoptimize') : __('No','autoptimize')); ?></td>
317
+<tr valign="top" class="<?php echo $hiddenClass; ?>ao_adv">
318
+<th scope="row"><?php _e('Can we write?', 'autoptimize'); ?></th>
319
+<td><?php echo (autoptimizeCache::cacheavail() ? __('Yes', 'autoptimize') : __('No', 'autoptimize')); ?></td>
320 320
 </tr>
321
-<tr valign="top" class="<?php echo $hiddenClass;?>ao_adv">
322
-<th scope="row"><?php _e('Cached styles and scripts','autoptimize'); ?></th>
321
+<tr valign="top" class="<?php echo $hiddenClass; ?>ao_adv">
322
+<th scope="row"><?php _e('Cached styles and scripts', 'autoptimize'); ?></th>
323 323
 <td><?php
324
-    $AOstatArr=autoptimizeCache::stats(); 
325
-    $AOcacheSize=round($AOstatArr[1]/1024);
326
-    printf( __( '%1$s files, totalling %2$s Kbytes (calculated at %3$s)', 'autoptimize'), $AOstatArr[0], $AOcacheSize, date("H:i e", $AOstatArr[2]) );
324
+    $AOstatArr = autoptimizeCache::stats(); 
325
+    $AOcacheSize = round($AOstatArr[1]/1024);
326
+    printf(__('%1$s files, totalling %2$s Kbytes (calculated at %3$s)', 'autoptimize'), $AOstatArr[0], $AOcacheSize, date("H:i e", $AOstatArr[2]));
327 327
 ?></td>
328 328
 </tr>
329 329
 </table>
330 330
 </li>
331 331
 
332
-<li class="<?php echo $hiddenClass;?>itemDetail ao_adv">
333
-<h2 class="itemTitle"><?php _e('Misc Options','autoptimize'); ?></h2>
332
+<li class="<?php echo $hiddenClass; ?>itemDetail ao_adv">
333
+<h2 class="itemTitle"><?php _e('Misc Options', 'autoptimize'); ?></h2>
334 334
 <table class="form-table"> 
335
-	<tr valign="top" class="<?php echo $hiddenClass;?>ao_adv">
336
-		<th scope="row"><?php _e('Save aggregated script/css as static files?','autoptimize'); ?></th>
337
-		<td><label class="cb_label"><input type="checkbox" name="autoptimize_cache_nogzip" <?php echo get_option('autoptimize_cache_nogzip','1')?'checked="checked" ':''; ?>/>
338
-			<?php _e('By default files saved are static css/js, uncheck this option if your webserver doesn\'t properly handle the compression and expiry.','autoptimize'); ?></label>
335
+	<tr valign="top" class="<?php echo $hiddenClass; ?>ao_adv">
336
+		<th scope="row"><?php _e('Save aggregated script/css as static files?', 'autoptimize'); ?></th>
337
+		<td><label class="cb_label"><input type="checkbox" name="autoptimize_cache_nogzip" <?php echo get_option('autoptimize_cache_nogzip', '1') ? 'checked="checked" ' : ''; ?>/>
338
+			<?php _e('By default files saved are static css/js, uncheck this option if your webserver doesn\'t properly handle the compression and expiry.', 'autoptimize'); ?></label>
339 339
 		</td>
340 340
 	</tr>
341
-	<tr valign="top" class="<?php echo $hiddenClass;?>ao_adv">
342
-		<th scope="row"><?php _e('Also optimize for logged in users?','autoptimize'); ?></th>
343
-		<td><label class="cb_label"><input type="checkbox" name="autoptimize_optimize_logged" <?php echo get_option('autoptimize_optimize_logged','1')?'checked="checked" ':''; ?>/>
344
-			<?php _e('By default Autoptimize is also active for logged on users, uncheck not to optimize when logged in e.g. to use a pagebuilder.','autoptimize'); ?></label>
341
+	<tr valign="top" class="<?php echo $hiddenClass; ?>ao_adv">
342
+		<th scope="row"><?php _e('Also optimize for logged in users?', 'autoptimize'); ?></th>
343
+		<td><label class="cb_label"><input type="checkbox" name="autoptimize_optimize_logged" <?php echo get_option('autoptimize_optimize_logged', '1') ? 'checked="checked" ' : ''; ?>/>
344
+			<?php _e('By default Autoptimize is also active for logged on users, uncheck not to optimize when logged in e.g. to use a pagebuilder.', 'autoptimize'); ?></label>
345 345
 		</td>
346 346
 	</tr>
347 347
 </table>
@@ -349,11 +349,11 @@  discard block
 block discarded – undo
349 349
 
350 350
 </ul>
351 351
 
352
-<input type="hidden" id="autoptimize_show_adv" name="autoptimize_show_adv" value="<?php echo get_option('autoptimize_show_adv','0'); ?>">
352
+<input type="hidden" id="autoptimize_show_adv" name="autoptimize_show_adv" value="<?php echo get_option('autoptimize_show_adv', '0'); ?>">
353 353
 
354 354
 <p class="submit">
355
-<input type="submit" class="button-secondary" value="<?php _e('Save Changes','autoptimize') ?>" />
356
-<input type="submit" class="button-primary" name="autoptimize_cache_clean" value="<?php _e('Save Changes and Empty Cache','autoptimize') ?>" />
355
+<input type="submit" class="button-secondary" value="<?php _e('Save Changes', 'autoptimize') ?>" />
356
+<input type="submit" class="button-primary" name="autoptimize_cache_clean" value="<?php _e('Save Changes and Empty Cache', 'autoptimize') ?>" />
357 357
 </p>
358 358
 
359 359
 </form>
@@ -362,31 +362,31 @@  discard block
 block discarded – undo
362 362
     <div class="autoptimize_banner hidden">
363 363
         <ul>
364 364
         <?php
365
-        if (apply_filters('autoptimize_settingsscreen_remotehttp',true)) {
366
-            $AO_banner=get_transient("autoptimize_banner");
365
+        if (apply_filters('autoptimize_settingsscreen_remotehttp', true)) {
366
+            $AO_banner = get_transient("autoptimize_banner");
367 367
             if (empty($AO_banner)) {
368 368
                 $banner_resp = wp_remote_get("http://misc.optimizingmatters.com/autoptimize_news.html");
369 369
                 if (!is_wp_error($banner_resp)) {
370
-                    if (wp_remote_retrieve_response_code($banner_resp)=="200") {
370
+                    if (wp_remote_retrieve_response_code($banner_resp) == "200") {
371 371
                         $AO_banner = wp_kses_post(wp_remote_retrieve_body($banner_resp));
372
-                        set_transient("autoptimize_banner",$AO_banner,DAY_IN_SECONDS);
372
+                        set_transient("autoptimize_banner", $AO_banner, DAY_IN_SECONDS);
373 373
                     }
374 374
                 }
375 375
             }
376 376
             echo $AO_banner;
377 377
         }
378 378
         ?>
379
-        <li><?php _e("Need help? <a href='https://wordpress.org/plugins/autoptimize/faq/'>Check out the FAQ here</a>.","autoptimize"); ?></li>
380
-        <li><?php _e("Happy with Autoptimize?","autoptimize"); ?><br /><a href="<?php echo network_admin_url(); ?>plugin-install.php?tab=search&type=author&s=optimizingmatters"><?php _e("Try my other plugins!","autoptimize"); ?></a></li>
379
+        <li><?php _e("Need help? <a href='https://wordpress.org/plugins/autoptimize/faq/'>Check out the FAQ here</a>.", "autoptimize"); ?></li>
380
+        <li><?php _e("Happy with Autoptimize?", "autoptimize"); ?><br /><a href="<?php echo network_admin_url(); ?>plugin-install.php?tab=search&type=author&s=optimizingmatters"><?php _e("Try my other plugins!", "autoptimize"); ?></a></li>
381 381
         </ul>
382 382
     </div>
383 383
     <div style="margin-left:10px;margin-top:-5px;">
384 384
         <h2>
385
-            <?php _e("futtta about","autoptimize") ?>
385
+            <?php _e("futtta about", "autoptimize") ?>
386 386
             <select id="feed_dropdown" >
387
-                <option value="1"><?php _e("Autoptimize","autoptimize") ?></option>
388
-                <option value="2"><?php _e("WordPress","autoptimize") ?></option>
389
-                <option value="3"><?php _e("Web Technology","autoptimize") ?></option>
387
+                <option value="1"><?php _e("Autoptimize", "autoptimize") ?></option>
388
+                <option value="2"><?php _e("WordPress", "autoptimize") ?></option>
389
+                <option value="3"><?php _e("Web Technology", "autoptimize") ?></option>
390 390
             </select>
391 391
         </h2>
392 392
         <div id="futtta_feed">
@@ -401,7 +401,7 @@  discard block
 block discarded – undo
401 401
             </div>
402 402
         </div>
403 403
     </div>
404
-    <div style="float:right;margin:50px 15px;"><a href="http://blog.futtta.be/2013/10/21/do-not-donate-to-me/" target="_blank"><img width="100px" height="85px" src="<?php echo plugins_url().'/'.plugin_basename(dirname(__FILE__)).'/external/do_not_donate_smallest.png'; ?>" title="<?php _e("Do not donate for this plugin!","autoptimize"); ?>"></a></div>
404
+    <div style="float:right;margin:50px 15px;"><a href="http://blog.futtta.be/2013/10/21/do-not-donate-to-me/" target="_blank"><img width="100px" height="85px" src="<?php echo plugins_url().'/'.plugin_basename(dirname(__FILE__)).'/external/do_not_donate_smallest.png'; ?>" title="<?php _e("Do not donate for this plugin!", "autoptimize"); ?>"></a></div>
405 405
 </div>
406 406
 
407 407
 <script type="text/javascript">
@@ -540,14 +540,14 @@  discard block
 block discarded – undo
540 540
     }
541 541
 
542 542
     public function addmenu() {
543
-        $hook=add_options_page(__('Autoptimize Options','autoptimize'),'Autoptimize','manage_options','autoptimize',array($this,'show'));
544
-        add_action( 'admin_print_scripts-'.$hook,array($this,'autoptimize_admin_scripts'));
545
-        add_action( 'admin_print_styles-'.$hook,array($this,'autoptimize_admin_styles'));
543
+        $hook = add_options_page(__('Autoptimize Options', 'autoptimize'), 'Autoptimize', 'manage_options', 'autoptimize', array($this, 'show'));
544
+        add_action('admin_print_scripts-'.$hook, array($this, 'autoptimize_admin_scripts'));
545
+        add_action('admin_print_styles-'.$hook, array($this, 'autoptimize_admin_styles'));
546 546
     }
547 547
 
548 548
     public function autoptimize_admin_scripts() {
549
-        wp_enqueue_script('jqcookie', plugins_url('/external/js/jquery.cookie.min.js', __FILE__), array('jquery'),null,true);
550
-        wp_enqueue_script('unslider', plugins_url('/external/js/unslider-min.js', __FILE__), array('jquery'),null,true);
549
+        wp_enqueue_script('jqcookie', plugins_url('/external/js/jquery.cookie.min.js', __FILE__), array('jquery'), null, true);
550
+        wp_enqueue_script('unslider', plugins_url('/external/js/unslider-min.js', __FILE__), array('jquery'), null, true);
551 551
     }
552 552
 
553 553
     public function autoptimize_admin_styles() {
@@ -556,47 +556,47 @@  discard block
 block discarded – undo
556 556
     }
557 557
 
558 558
     public function registersettings() {
559
-        register_setting('autoptimize','autoptimize_html');
560
-        register_setting('autoptimize','autoptimize_html_keepcomments');
561
-        register_setting('autoptimize','autoptimize_js');
562
-        register_setting('autoptimize','autoptimize_js_exclude');
563
-        register_setting('autoptimize','autoptimize_js_trycatch');
564
-        register_setting('autoptimize','autoptimize_js_justhead');
565
-        register_setting('autoptimize','autoptimize_js_forcehead');
566
-        register_setting('autoptimize','autoptimize_js_include_inline');
567
-        register_setting('autoptimize','autoptimize_css');
568
-        register_setting('autoptimize','autoptimize_css_exclude');
569
-        register_setting('autoptimize','autoptimize_css_justhead');
570
-        register_setting('autoptimize','autoptimize_css_datauris');
571
-        register_setting('autoptimize','autoptimize_css_defer');
572
-        register_setting('autoptimize','autoptimize_css_defer_inline');
573
-        register_setting('autoptimize','autoptimize_css_inline');
574
-        register_setting('autoptimize','autoptimize_css_include_inline');
575
-        register_setting('autoptimize','autoptimize_css_nogooglefont');
576
-        register_setting('autoptimize','autoptimize_cdn_url');
577
-        register_setting('autoptimize','autoptimize_cache_clean');
578
-        register_setting('autoptimize','autoptimize_cache_nogzip');
579
-        register_setting('autoptimize','autoptimize_show_adv');
580
-        register_setting('autoptimize','autoptimize_optimize_logged');
559
+        register_setting('autoptimize', 'autoptimize_html');
560
+        register_setting('autoptimize', 'autoptimize_html_keepcomments');
561
+        register_setting('autoptimize', 'autoptimize_js');
562
+        register_setting('autoptimize', 'autoptimize_js_exclude');
563
+        register_setting('autoptimize', 'autoptimize_js_trycatch');
564
+        register_setting('autoptimize', 'autoptimize_js_justhead');
565
+        register_setting('autoptimize', 'autoptimize_js_forcehead');
566
+        register_setting('autoptimize', 'autoptimize_js_include_inline');
567
+        register_setting('autoptimize', 'autoptimize_css');
568
+        register_setting('autoptimize', 'autoptimize_css_exclude');
569
+        register_setting('autoptimize', 'autoptimize_css_justhead');
570
+        register_setting('autoptimize', 'autoptimize_css_datauris');
571
+        register_setting('autoptimize', 'autoptimize_css_defer');
572
+        register_setting('autoptimize', 'autoptimize_css_defer_inline');
573
+        register_setting('autoptimize', 'autoptimize_css_inline');
574
+        register_setting('autoptimize', 'autoptimize_css_include_inline');
575
+        register_setting('autoptimize', 'autoptimize_css_nogooglefont');
576
+        register_setting('autoptimize', 'autoptimize_cdn_url');
577
+        register_setting('autoptimize', 'autoptimize_cache_clean');
578
+        register_setting('autoptimize', 'autoptimize_cache_nogzip');
579
+        register_setting('autoptimize', 'autoptimize_show_adv');
580
+        register_setting('autoptimize', 'autoptimize_optimize_logged');
581 581
     }
582 582
 
583
-    public function setmeta($links,$file=null) {
583
+    public function setmeta($links, $file = null) {
584 584
         //Inspired on http://wpengineer.com/meta-links-for-wordpress-plugins/
585 585
         //Do it only once - saves time
586 586
         static $plugin;
587
-        if(empty($plugin))
587
+        if (empty($plugin))
588 588
             $plugin = plugin_basename(AUTOPTIMIZE_PLUGIN_DIR.'autoptimize.php');
589 589
         
590
-        if($file===null) {
590
+        if ($file === null) {
591 591
             //2.7
592 592
             $settings_link = sprintf('<a href="options-general.php?page=autoptimize">%s</a>', __('Settings'));
593
-            array_unshift($links,$settings_link);
593
+            array_unshift($links, $settings_link);
594 594
         } else {
595 595
             //2.8
596 596
             //If it's us, add the link
597
-            if($file === $plugin) {
598
-                $newlink = array(sprintf('<a href="options-general.php?page=autoptimize">%s</a>',__('Settings')));
599
-                $links = array_merge($links,$newlink);
597
+            if ($file === $plugin) {
598
+                $newlink = array(sprintf('<a href="options-general.php?page=autoptimize">%s</a>', __('Settings')));
599
+                $links = array_merge($links, $newlink);
600 600
             }
601 601
         }
602 602
 
@@ -604,7 +604,7 @@  discard block
 block discarded – undo
604 604
     }
605 605
 
606 606
     public function get($key) {        
607
-        if(!is_array($this->config)) {
607
+        if (!is_array($this->config)) {
608 608
             //Default config
609 609
             $config = array('autoptimize_html' => 0,
610 610
                 'autoptimize_html_keepcomments' => 0,
@@ -630,9 +630,9 @@  discard block
 block discarded – undo
630 630
                 );
631 631
 
632 632
             //Override with user settings
633
-            foreach(array_keys($config) as $name) {
633
+            foreach (array_keys($config) as $name) {
634 634
                 $conf = get_option($name);
635
-                if($conf!==false) {
635
+                if ($conf !== false) {
636 636
                     //It was set before!
637 637
                     $config[$name] = $conf;
638 638
                 }
@@ -642,31 +642,31 @@  discard block
 block discarded – undo
642 642
             $this->config = $config;
643 643
         }
644 644
 
645
-        if(isset($this->config[$key]))
645
+        if (isset($this->config[$key]))
646 646
             return $this->config[$key];
647 647
 
648 648
         return false;
649 649
     }
650 650
 
651 651
     private function getFutttaFeeds($url) {
652
-        if (apply_filters('autoptimize_settingsscreen_remotehttp',true)) {
653
-            $rss = fetch_feed( $url );
652
+        if (apply_filters('autoptimize_settingsscreen_remotehttp', true)) {
653
+            $rss = fetch_feed($url);
654 654
             $maxitems = 0;
655 655
 
656
-            if ( ! is_wp_error( $rss ) ) {
657
-                $maxitems = $rss->get_item_quantity( 7 ); 
658
-                $rss_items = $rss->get_items( 0, $maxitems );
656
+            if (!is_wp_error($rss)) {
657
+                $maxitems = $rss->get_item_quantity(7); 
658
+                $rss_items = $rss->get_items(0, $maxitems);
659 659
             }
660 660
             ?>
661 661
             <ul>
662
-                <?php if ( $maxitems == 0 ) : ?>
663
-                    <li><?php _e( 'No items', 'autoptimize' ); ?></li>
662
+                <?php if ($maxitems == 0) : ?>
663
+                    <li><?php _e('No items', 'autoptimize'); ?></li>
664 664
                 <?php else : ?>
665
-                    <?php foreach ( $rss_items as $item ) : ?>
665
+                    <?php foreach ($rss_items as $item) : ?>
666 666
                         <li>
667
-                            <a href="<?php echo esc_url( $item->get_permalink() ); ?>"
668
-                                title="<?php printf( __( 'Posted %s', 'autoptimize' ), $item->get_date('j F Y | g:i a') ); ?>">
669
-                                <?php echo esc_html( $item->get_title() ); ?>
667
+                            <a href="<?php echo esc_url($item->get_permalink()); ?>"
668
+                                title="<?php printf(__('Posted %s', 'autoptimize'), $item->get_date('j F Y | g:i a')); ?>">
669
+                                <?php echo esc_html($item->get_title()); ?>
670 670
                             </a>
671 671
                         </li>
672 672
                     <?php endforeach; ?>
@@ -677,20 +677,20 @@  discard block
 block discarded – undo
677 677
     }
678 678
 
679 679
     // based on http://wordpress.stackexchange.com/a/58826
680
-    static function ao_admin_tabs(){
681
-        $tabs = apply_filters('autoptimize_filter_settingsscreen_tabs',array('autoptimize' => __('Main','autoptimize')));
682
-        $tabContent="";
683
-        if (count($tabs)>1) {
684
-            if(isset($_GET['page'])){
680
+    static function ao_admin_tabs() {
681
+        $tabs = apply_filters('autoptimize_filter_settingsscreen_tabs', array('autoptimize' => __('Main', 'autoptimize')));
682
+        $tabContent = "";
683
+        if (count($tabs) > 1) {
684
+            if (isset($_GET['page'])) {
685 685
                 $currentId = $_GET['page'];
686 686
             } else {
687 687
                 $currentId = "autoptimize";
688 688
             }
689 689
             $tabContent .= "<h2 class=\"nav-tab-wrapper\">";
690
-            foreach($tabs as $tabId => $tabName){
691
-                if($currentId == $tabId){
690
+            foreach ($tabs as $tabId => $tabName) {
691
+                if ($currentId == $tabId) {
692 692
                     $class = " nav-tab-active";
693
-                } else{
693
+                } else {
694 694
                     $class = "";
695 695
                 }
696 696
                 $tabContent .= '<a class="nav-tab'.$class.'" href="?page='.$tabId.'">'.$tabName.'</a>';
Please login to merge, or discard this patch.