| @@ -42,6 +42,9 @@ discard block | ||
| 42 | 42 | return false; | 
| 43 | 43 | } | 
| 44 | 44 | |
| 45 | + /** | |
| 46 | + * @param string $mime | |
| 47 | + */ | |
| 45 | 48 |      public function cache($code,$mime) { | 
| 46 | 49 |          if($this->nogzip == false) { | 
| 47 | 50 | $file = ($this->delayed ? 'delayed.php' : 'default.php'); | 
| @@ -240,6 +243,9 @@ discard block | ||
| 240 | 243 | return true; | 
| 241 | 244 | } | 
| 242 | 245 | |
| 246 | + /** | |
| 247 | + * @param string $dir | |
| 248 | + */ | |
| 243 | 249 |      static function checkCacheDir($dir) { | 
| 244 | 250 | // Check and create if not exists | 
| 245 | 251 |          if(!file_exists($dir))    { | 
| @@ -1,5 +1,8 @@ | ||
| 1 | 1 | <?php | 
| 2 | -if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly | |
| 2 | +if ( ! defined( 'ABSPATH' ) ) { | |
| 3 | + exit; | |
| 4 | +} | |
| 5 | +// Exit if accessed directly | |
| 3 | 6 | |
| 4 | 7 |  class autoptimizeCache { | 
| 5 | 8 | private $filename; | 
| @@ -1,5 +1,5 @@ discard block | ||
| 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 | ||
| 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 | ||
| 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 | ||
| 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 | ||
| 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 | ||
| 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 | ||
| 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 | ||
| 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, apply_filters( 'autoptimize_filter_cache_statsexpiry', HOUR_IN_SECONDS ) ); | |
| 150 | + $AOstats = array($count, $size, time()); | |
| 151 | +            if ($count > 100) { | |
| 152 | +                set_transient("autoptimize_stats", $AOstats, apply_filters('autoptimize_filter_cache_statsexpiry', HOUR_IN_SECONDS)); | |
| 153 | 153 | } | 
| 154 | 154 | } | 
| 155 | 155 | // print the number of instances | 
| @@ -157,36 +157,36 @@ discard block | ||
| 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 | 
| @@ -212,7 +212,7 @@ discard block | ||
| 212 | 212 | </Files> | 
| 213 | 213 | </IfModule>'; | 
| 214 | 214 |              } else { | 
| 215 | - $htAccessContent='<IfModule mod_expires.c> | |
| 215 | + $htAccessContent = '<IfModule mod_expires.c> | |
| 216 | 216 | ExpiresActive On | 
| 217 | 217 | ExpiresByType text/css A30672000 | 
| 218 | 218 | ExpiresByType text/javascript A30672000 | 
| @@ -238,7 +238,7 @@ discard block | ||
| 238 | 238 | </Files> | 
| 239 | 239 | </IfModule>'; | 
| 240 | 240 | } | 
| 241 | - @file_put_contents($htAccess,$htAccessContent); | |
| 241 | + @file_put_contents($htAccess, $htAccessContent); | |
| 242 | 242 | } | 
| 243 | 243 | |
| 244 | 244 | // All OK | 
| @@ -247,22 +247,22 @@ discard block | ||
| 247 | 247 | |
| 248 | 248 |      static function checkCacheDir($dir) { | 
| 249 | 249 | // Check and create if not exists | 
| 250 | -        if(!file_exists($dir))    { | |
| 251 | - @mkdir($dir,0775,true); | |
| 252 | -            if(!file_exists($dir))    { | |
| 250 | +        if (!file_exists($dir)) { | |
| 251 | + @mkdir($dir, 0775, true); | |
| 252 | +            if (!file_exists($dir)) { | |
| 253 | 253 | return false; | 
| 254 | 254 | } | 
| 255 | 255 | } | 
| 256 | 256 | |
| 257 | 257 | // check if we can now write | 
| 258 | -        if(!is_writable($dir))    { | |
| 258 | +        if (!is_writable($dir)) { | |
| 259 | 259 | return false; | 
| 260 | 260 | } | 
| 261 | 261 | |
| 262 | 262 | // and write index.html here to avoid prying eyes | 
| 263 | - $indexFile=$dir.'/index.html'; | |
| 264 | -        if(!is_file($indexFile)) { | |
| 265 | - @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>'); | |
| 263 | + $indexFile = $dir.'/index.html'; | |
| 264 | +        if (!is_file($indexFile)) { | |
| 265 | + @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>'); | |
| 266 | 266 | } | 
| 267 | 267 | |
| 268 | 268 | return true; | 
| @@ -625,6 +625,9 @@ | ||
| 625 | 625 | return false; | 
| 626 | 626 | } | 
| 627 | 627 | |
| 628 | + /** | |
| 629 | + * @param string $url | |
| 630 | + */ | |
| 628 | 631 |      private function getFutttaFeeds($url) { | 
| 629 | 632 |          if (apply_filters('autoptimize_settingsscreen_remotehttp',true)) { | 
| 630 | 633 | $rss = fetch_feed( $url ); | 
| @@ -345,8 +345,8 @@ discard block | ||
| 345 | 345 | </td> | 
| 346 | 346 | </tr> | 
| 347 | 347 | <?php | 
| 348 | -		if ( function_exists("is_checkout") || function_exists("is_cart") || function_exists("edd_is_checkout") || function_exists("wpsc_is_cart") || function_exists("wpsc_is_checkout") ) { | |
| 349 | - ?> | |
| 348 | +        if ( function_exists("is_checkout") || function_exists("is_cart") || function_exists("edd_is_checkout") || function_exists("wpsc_is_cart") || function_exists("wpsc_is_checkout") ) { | |
| 349 | + ?> | |
| 350 | 350 | <tr valign="top" class="<?php echo $hiddenClass;?>ao_adv"> | 
| 351 | 351 |  					<th scope="row"><?php _e('Also optimize shop cart/ checkout?','autoptimize'); ?></th> | 
| 352 | 352 |  					<td><label class="cb_label"><input type="checkbox" name="autoptimize_optimize_checkout" <?php echo get_option('autoptimize_optimize_checkout','1')?'checked="checked" ':''; ?>/> | 
| @@ -354,8 +354,8 @@ discard block | ||
| 354 | 354 | </td> | 
| 355 | 355 | </tr> | 
| 356 | 356 | <?php | 
| 357 | - } | |
| 358 | - ?> | |
| 357 | + } | |
| 358 | + ?> | |
| 359 | 359 | </table> | 
| 360 | 360 | </li> | 
| 361 | 361 | |
| @@ -1,5 +1,8 @@ discard block | ||
| 1 | 1 | <?php | 
| 2 | -if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly | |
| 2 | +if ( ! defined( 'ABSPATH' ) ) { | |
| 3 | + exit; | |
| 4 | +} | |
| 5 | +// Exit if accessed directly | |
| 3 | 6 | |
| 4 | 7 |  class autoptimizeConfig { | 
| 5 | 8 | private $config = null; | 
| @@ -597,8 +600,9 @@ discard block | ||
| 597 | 600 | //Inspired on http://wpengineer.com/meta-links-for-wordpress-plugins/ | 
| 598 | 601 | //Do it only once - saves time | 
| 599 | 602 | static $plugin; | 
| 600 | - if(empty($plugin)) | |
| 601 | - $plugin = plugin_basename(AUTOPTIMIZE_PLUGIN_DIR.'autoptimize.php'); | |
| 603 | +        if(empty($plugin)) { | |
| 604 | + $plugin = plugin_basename(AUTOPTIMIZE_PLUGIN_DIR.'autoptimize.php'); | |
| 605 | + } | |
| 602 | 606 | |
| 603 | 607 |          if($file===null) { | 
| 604 | 608 | //2.7 | 
| @@ -656,8 +660,9 @@ discard block | ||
| 656 | 660 | $this->config = apply_filters( 'autoptimize_filter_get_config', $config ); | 
| 657 | 661 | } | 
| 658 | 662 | |
| 659 | - if(isset($this->config[$key])) | |
| 660 | - return $this->config[$key]; | |
| 663 | +        if(isset($this->config[$key])) { | |
| 664 | + return $this->config[$key]; | |
| 665 | + } | |
| 661 | 666 | |
| 662 | 667 | return false; | 
| 663 | 668 | } | 
| @@ -675,10 +680,13 @@ discard block | ||
| 675 | 680 | <ul> | 
| 676 | 681 | <?php if ( $maxitems == 0 ) : ?> | 
| 677 | 682 | <li><?php _e( 'No items', 'autoptimize' ); ?></li> | 
| 678 | - <?php else : ?> | |
| 683 | +                <?php else { | |
| 684 | + : ?> | |
| 679 | 685 | <?php foreach ( $rss_items as $item ) : ?> | 
| 680 | 686 | <li> | 
| 681 | - <a href="<?php echo esc_url( $item->get_permalink() ); ?>" | |
| 687 | + <a href="<?php echo esc_url( $item->get_permalink() ); | |
| 688 | +} | |
| 689 | +?>" | |
| 682 | 690 |                                  title="<?php printf( __( 'Posted %s', 'autoptimize' ), $item->get_date('j F Y | g:i a') ); ?>"> | 
| 683 | 691 | <?php echo esc_html( $item->get_title() ); ?> | 
| 684 | 692 | </a> | 
| @@ -1,5 +1,5 @@ discard block | ||
| 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 | ||
| 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,31 +159,31 @@ discard block | ||
| 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> which will not be supported as from the upcoming Autoptimize 2.4 any more, cfr. <a href=%s>this blogpost for more info</a>. please ask your hoster to provide you with an upgrade path to 7.x.','autoptimize'), '"https://blog.futtta.be/2018/02/13/introducing-zytzagoos-major-changes-for-autoptimize-2-4/" 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> which will not be supported as from the upcoming Autoptimize 2.4 any more, cfr. <a href=%s>this blogpost for more info</a>. please ask your hoster to provide you with an upgrade path to 7.x.', 'autoptimize'), '"https://blog.futtta.be/2018/02/13/introducing-zytzagoos-major-changes-for-autoptimize-2-4/" target="_blank"').'</p>'; ?></div> | |
| 163 | 163 | <?php } ?> | 
| 164 | 164 | |
| 165 | 165 |  <?php if (defined('AUTOPTIMIZE_LEGACY_MINIFIERS')) { ?> | 
| 166 | -<div class="notice-error notice"><?php echo '<p>' . sprintf( __('You are forcing Autoptimize to use the "legacy minifiers" by setting the AUTOPTIMIZE_LEGACY_MINIFIERS constant in /wp-config.php. The "legacy minifiers" will not be supported as from the upcoming Autoptimize 2.4 any more, cfr. <a href=%s>this blogpost for more info</a>.','autoptimize'), '"https://blog.futtta.be/2018/02/13/introducing-zytzagoos-major-changes-for-autoptimize-2-4/" target="_blank"') . '</p>'; ?></div> | |
| 166 | +<div class="notice-error notice"><?php echo '<p>'.sprintf(__('You are forcing Autoptimize to use the "legacy minifiers" by setting the AUTOPTIMIZE_LEGACY_MINIFIERS constant in /wp-config.php. The "legacy minifiers" will not be supported as from the upcoming Autoptimize 2.4 any more, cfr. <a href=%s>this blogpost for more info</a>.', 'autoptimize'), '"https://blog.futtta.be/2018/02/13/introducing-zytzagoos-major-changes-for-autoptimize-2-4/" target="_blank"').'</p>'; ?></div> | |
| 167 | 167 | <?php } ?> | 
| 168 | 168 | |
| 169 | 169 | <div id="autoptimize_main"> | 
| 170 | 170 | <div id="ao_title_and_button"> | 
| 171 | -    <h1 id="ao_title"><?php _e('Autoptimize Settings','autoptimize'); ?> | |
| 171 | +    <h1 id="ao_title"><?php _e('Autoptimize Settings', 'autoptimize'); ?> | |
| 172 | 172 | <span id="ao_adv_button"> | 
| 173 | 173 | <?php | 
| 174 | -    if (get_option('autoptimize_show_adv','0')=='1') { | |
| 174 | +    if (get_option('autoptimize_show_adv', '0') == '1') { | |
| 175 | 175 | ?> | 
| 176 | -        <a href="javascript:void(0);" id="ao_show_adv" class="button" style="display:none;"><span><?php _e("Show advanced settings","autoptimize") ?></span></a> | |
| 177 | -        <a href="javascript:void(0);" id="ao_hide_adv" class="button"><span><?php _e("Hide advanced settings","autoptimize") ?></span></a> | |
| 176 | +        <a href="javascript:void(0);" id="ao_show_adv" class="button" style="display:none;"><span><?php _e("Show advanced settings", "autoptimize") ?></span></a> | |
| 177 | +        <a href="javascript:void(0);" id="ao_hide_adv" class="button"><span><?php _e("Hide advanced settings", "autoptimize") ?></span></a> | |
| 178 | 178 |          <style>tr.ao_adv{display:table-row;} li.ao_adv{display:list-item;}</style> | 
| 179 | 179 | <?php | 
| 180 | - $hiddenClass=""; | |
| 180 | + $hiddenClass = ""; | |
| 181 | 181 |      } else { | 
| 182 | 182 | ?> | 
| 183 | -        <a href="javascript:void(0);" id="ao_show_adv" class="button"><span><?php _e("Show advanced settings","autoptimize") ?></span></a> | |
| 184 | -        <a href="javascript:void(0);" id="ao_hide_adv" class="button" style="display:none;"><span><?php _e("Hide advanced settings","autoptimize") ?></span></a> | |
| 183 | +        <a href="javascript:void(0);" id="ao_show_adv" class="button"><span><?php _e("Show advanced settings", "autoptimize") ?></span></a> | |
| 184 | +        <a href="javascript:void(0);" id="ao_hide_adv" class="button" style="display:none;"><span><?php _e("Hide advanced settings", "autoptimize") ?></span></a> | |
| 185 | 185 | <?php | 
| 186 | - $hiddenClass="hidden "; | |
| 186 | + $hiddenClass = "hidden "; | |
| 187 | 187 | } | 
| 188 | 188 | ?> | 
| 189 | 189 | </span> | 
| @@ -198,158 +198,158 @@ discard block | ||
| 198 | 198 | <ul> | 
| 199 | 199 | |
| 200 | 200 | <li class="itemDetail"> | 
| 201 | -<h2 class="itemTitle"><?php _e('HTML Options','autoptimize'); ?></h2> | |
| 201 | +<h2 class="itemTitle"><?php _e('HTML Options', 'autoptimize'); ?></h2> | |
| 202 | 202 | <table class="form-table"> | 
| 203 | 203 | <tr valign="top"> | 
| 204 | -<th scope="row"><?php _e('Optimize HTML Code?','autoptimize'); ?></th> | |
| 205 | -<td><input type="checkbox" id="autoptimize_html" name="autoptimize_html" <?php echo get_option('autoptimize_html')?'checked="checked" ':''; ?>/></td> | |
| 204 | +<th scope="row"><?php _e('Optimize HTML Code?', 'autoptimize'); ?></th> | |
| 205 | +<td><input type="checkbox" id="autoptimize_html" name="autoptimize_html" <?php echo get_option('autoptimize_html') ? 'checked="checked" ' : ''; ?>/></td> | |
| 206 | 206 | </tr> | 
| 207 | -<tr class="<?php echo $hiddenClass;?>html_sub ao_adv" valign="top"> | |
| 208 | -<th scope="row"><?php _e('Keep HTML comments?','autoptimize'); ?></th> | |
| 209 | -<td><label class="cb_label"><input type="checkbox" name="autoptimize_html_keepcomments" <?php echo get_option('autoptimize_html_keepcomments')?'checked="checked" ':''; ?>/> | |
| 210 | -<?php _e('Enable this if you want HTML comments to remain in the page.','autoptimize'); ?></label></td> | |
| 207 | +<tr class="<?php echo $hiddenClass; ?>html_sub ao_adv" valign="top"> | |
| 208 | +<th scope="row"><?php _e('Keep HTML comments?', 'autoptimize'); ?></th> | |
| 209 | +<td><label class="cb_label"><input type="checkbox" name="autoptimize_html_keepcomments" <?php echo get_option('autoptimize_html_keepcomments') ? 'checked="checked" ' : ''; ?>/> | |
| 210 | +<?php _e('Enable this if you want HTML comments to remain in the page.', 'autoptimize'); ?></label></td> | |
| 211 | 211 | </tr> | 
| 212 | 212 | </table> | 
| 213 | 213 | </li> | 
| 214 | 214 | |
| 215 | 215 | <li class="itemDetail"> | 
| 216 | -<h2 class="itemTitle"><?php _e('JavaScript Options','autoptimize'); ?></h2> | |
| 216 | +<h2 class="itemTitle"><?php _e('JavaScript Options', 'autoptimize'); ?></h2> | |
| 217 | 217 | <table class="form-table"> | 
| 218 | 218 | <tr valign="top"> | 
| 219 | -<th scope="row"><?php _e('Optimize JavaScript Code?','autoptimize'); ?></th> | |
| 220 | -<td><input type="checkbox" id="autoptimize_js" name="autoptimize_js" <?php echo get_option('autoptimize_js')?'checked="checked" ':''; ?>/></td> | |
| 219 | +<th scope="row"><?php _e('Optimize JavaScript Code?', 'autoptimize'); ?></th> | |
| 220 | +<td><input type="checkbox" id="autoptimize_js" name="autoptimize_js" <?php echo get_option('autoptimize_js') ? 'checked="checked" ' : ''; ?>/></td> | |
| 221 | 221 | </tr> | 
| 222 | -<tr valign="top" class="<?php echo $hiddenClass;?>js_sub ao_adv"> | |
| 223 | -<th scope="row"><?php _e('Force JavaScript in <head>?','autoptimize'); ?></th> | |
| 224 | -<td><label class="cb_label"><input type="checkbox" name="autoptimize_js_forcehead" <?php echo get_option('autoptimize_js_forcehead')?'checked="checked" ':''; ?>/> | |
| 225 | -<?php _e('Load JavaScript early, this can potentially fix some JS-errors, but makes the JS render blocking.','autoptimize'); ?></label></td> | |
| 222 | +<tr valign="top" class="<?php echo $hiddenClass; ?>js_sub ao_adv"> | |
| 223 | +<th scope="row"><?php _e('Force JavaScript in <head>?', 'autoptimize'); ?></th> | |
| 224 | +<td><label class="cb_label"><input type="checkbox" name="autoptimize_js_forcehead" <?php echo get_option('autoptimize_js_forcehead') ? 'checked="checked" ' : ''; ?>/> | |
| 225 | +<?php _e('Load JavaScript early, this can potentially fix some JS-errors, but makes the JS render blocking.', 'autoptimize'); ?></label></td> | |
| 226 | 226 | </tr> | 
| 227 | 227 |  <?php if (get_option('autoptimize_js_justhead')) { ?> | 
| 228 | -<tr valign="top" class="<?php echo $hiddenClass;?>js_sub ao_adv"> | |
| 229 | -<th scope="row"><?php _e('Look for scripts only in <head>?','autoptimize'); echo ' <i>'. __('(deprecated)','autoptimize') . '</i>'; ?></th> | |
| 230 | -<td><label class="cb_label"><input type="checkbox" name="autoptimize_js_justhead" <?php echo get_option('autoptimize_js_justhead')?'checked="checked" ':''; ?>/> | |
| 231 | -<?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 | +<tr valign="top" class="<?php echo $hiddenClass; ?>js_sub ao_adv"> | |
| 229 | +<th scope="row"><?php _e('Look for scripts only in <head>?', 'autoptimize'); echo ' <i>'.__('(deprecated)', 'autoptimize').'</i>'; ?></th> | |
| 230 | +<td><label class="cb_label"><input type="checkbox" name="autoptimize_js_justhead" <?php echo get_option('autoptimize_js_justhead') ? 'checked="checked" ' : ''; ?>/> | |
| 231 | +<?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> | |
| 232 | 232 | </tr> | 
| 233 | 233 | <?php } ?> | 
| 234 | -<tr valign="top" class="<?php echo $hiddenClass;?>js_sub ao_adv"> | |
| 235 | -<th scope="row"><?php _e('Also aggregate inline JS?','autoptimize'); ?></th> | |
| 236 | -<td><label class="cb_label"><input type="checkbox" name="autoptimize_js_include_inline" <?php echo get_option('autoptimize_js_include_inline')?'checked="checked" ':''; ?>/> | |
| 237 | -<?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 | +<tr valign="top" class="<?php echo $hiddenClass; ?>js_sub ao_adv"> | |
| 235 | +<th scope="row"><?php _e('Also aggregate inline JS?', 'autoptimize'); ?></th> | |
| 236 | +<td><label class="cb_label"><input type="checkbox" name="autoptimize_js_include_inline" <?php echo get_option('autoptimize_js_include_inline') ? 'checked="checked" ' : ''; ?>/> | |
| 237 | +<?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> | |
| 238 | 238 | </tr> | 
| 239 | -<tr valign="top" class="<?php echo $hiddenClass;?>js_sub ao_adv"> | |
| 240 | -<th scope="row"><?php _e('Exclude scripts from Autoptimize:','autoptimize'); ?></th> | |
| 241 | -<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 /> | |
| 242 | -<?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 | +<tr valign="top" class="<?php echo $hiddenClass; ?>js_sub ao_adv"> | |
| 240 | +<th scope="row"><?php _e('Exclude scripts from Autoptimize:', 'autoptimize'); ?></th> | |
| 241 | +<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 /> | |
| 242 | +<?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> | |
| 243 | 243 | </tr> | 
| 244 | -<tr valign="top" class="<?php echo $hiddenClass;?>js_sub ao_adv"> | |
| 245 | -<th scope="row"><?php _e('Add try-catch wrapping?','autoptimize'); ?></th> | |
| 246 | -<td><label class="cb_label"><input type="checkbox" name="autoptimize_js_trycatch" <?php echo get_option('autoptimize_js_trycatch')?'checked="checked" ':''; ?>/> | |
| 247 | -<?php _e('If your scripts break because of a JS-error, you might want to try this.','autoptimize'); ?></label></td> | |
| 244 | +<tr valign="top" class="<?php echo $hiddenClass; ?>js_sub ao_adv"> | |
| 245 | +<th scope="row"><?php _e('Add try-catch wrapping?', 'autoptimize'); ?></th> | |
| 246 | +<td><label class="cb_label"><input type="checkbox" name="autoptimize_js_trycatch" <?php echo get_option('autoptimize_js_trycatch') ? 'checked="checked" ' : ''; ?>/> | |
| 247 | +<?php _e('If your scripts break because of a JS-error, you might want to try this.', 'autoptimize'); ?></label></td> | |
| 248 | 248 | </tr> | 
| 249 | 249 | </table> | 
| 250 | 250 | </li> | 
| 251 | 251 | |
| 252 | 252 | <li class="itemDetail"> | 
| 253 | -<h2 class="itemTitle"><?php _e('CSS Options','autoptimize'); ?></h2> | |
| 253 | +<h2 class="itemTitle"><?php _e('CSS Options', 'autoptimize'); ?></h2> | |
| 254 | 254 | <table class="form-table"> | 
| 255 | 255 | <tr valign="top"> | 
| 256 | -<th scope="row"><?php _e('Optimize CSS Code?','autoptimize'); ?></th> | |
| 257 | -<td><input type="checkbox" id="autoptimize_css" name="autoptimize_css" <?php echo get_option('autoptimize_css')?'checked="checked" ':''; ?>/></td> | |
| 256 | +<th scope="row"><?php _e('Optimize CSS Code?', 'autoptimize'); ?></th> | |
| 257 | +<td><input type="checkbox" id="autoptimize_css" name="autoptimize_css" <?php echo get_option('autoptimize_css') ? 'checked="checked" ' : ''; ?>/></td> | |
| 258 | 258 | </tr> | 
| 259 | -<tr class="<?php echo $hiddenClass;?>css_sub ao_adv" valign="top"> | |
| 260 | -<th scope="row"><?php _e('Generate data: URIs for images?','autoptimize'); ?></th> | |
| 261 | -<td><label class="cb_label"><input type="checkbox" name="autoptimize_css_datauris" <?php echo get_option('autoptimize_css_datauris')?'checked="checked" ':''; ?>/> | |
| 262 | -<?php _e('Enable this to include small background-images in the CSS itself instead of as separate downloads.','autoptimize'); ?></label></td> | |
| 259 | +<tr class="<?php echo $hiddenClass; ?>css_sub ao_adv" valign="top"> | |
| 260 | +<th scope="row"><?php _e('Generate data: URIs for images?', 'autoptimize'); ?></th> | |
| 261 | +<td><label class="cb_label"><input type="checkbox" name="autoptimize_css_datauris" <?php echo get_option('autoptimize_css_datauris') ? 'checked="checked" ' : ''; ?>/> | |
| 262 | +<?php _e('Enable this to include small background-images in the CSS itself instead of as separate downloads.', 'autoptimize'); ?></label></td> | |
| 263 | 263 | </tr> | 
| 264 | 264 |  <?php if (get_option('autoptimize_css_justhead')) { ?> | 
| 265 | -<tr valign="top" class="<?php echo $hiddenClass;?>css_sub ao_adv"> | |
| 266 | -<th scope="row"><?php _e('Look for styles only in <head>?','autoptimize'); echo ' <i>'. __('(deprecated)','autoptimize') . '</i>'; ?></th> | |
| 267 | -<td><label class="cb_label"><input type="checkbox" name="autoptimize_css_justhead" <?php echo get_option('autoptimize_css_justhead')?'checked="checked" ':''; ?>/> | |
| 268 | -<?php _e('Don\'t autoptimize CSS outside the head-section. If the cache gets big, you might want to enable this.','autoptimize'); ?></label></td> | |
| 265 | +<tr valign="top" class="<?php echo $hiddenClass; ?>css_sub ao_adv"> | |
| 266 | +<th scope="row"><?php _e('Look for styles only in <head>?', 'autoptimize'); echo ' <i>'.__('(deprecated)', 'autoptimize').'</i>'; ?></th> | |
| 267 | +<td><label class="cb_label"><input type="checkbox" name="autoptimize_css_justhead" <?php echo get_option('autoptimize_css_justhead') ? 'checked="checked" ' : ''; ?>/> | |
| 268 | +<?php _e('Don\'t autoptimize CSS outside the head-section. If the cache gets big, you might want to enable this.', 'autoptimize'); ?></label></td> | |
| 269 | 269 | </tr> | 
| 270 | 270 | <?php } ?> | 
| 271 | -<tr valign="top" class="<?php echo $hiddenClass;?>css_sub ao_adv"> | |
| 272 | -<th scope="row"><?php _e('Also aggregate inline CSS?','autoptimize'); ?></th> | |
| 273 | -<td><label class="cb_label"><input type="checkbox" name="autoptimize_css_include_inline" <?php echo get_option('autoptimize_css_include_inline','1')?'checked="checked" ':''; ?>/> | |
| 274 | -<?php _e('Check this option for Autoptimize to also aggregate CSS in the HTML.','autoptimize'); ?></label></td> | |
| 271 | +<tr valign="top" class="<?php echo $hiddenClass; ?>css_sub ao_adv"> | |
| 272 | +<th scope="row"><?php _e('Also aggregate inline CSS?', 'autoptimize'); ?></th> | |
| 273 | +<td><label class="cb_label"><input type="checkbox" name="autoptimize_css_include_inline" <?php echo get_option('autoptimize_css_include_inline', '1') ? 'checked="checked" ' : ''; ?>/> | |
| 274 | +<?php _e('Check this option for Autoptimize to also aggregate CSS in the HTML.', 'autoptimize'); ?></label></td> | |
| 275 | 275 | </tr> | 
| 276 | -<tr valign="top" class="<?php echo $hiddenClass;?>css_sub ao_adv"> | |
| 277 | -<th scope="row"><?php _e('Inline and Defer CSS?','autoptimize'); ?></th> | |
| 278 | -<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" ':''; ?>/> | |
| 279 | -<?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> | |
| 276 | +<tr valign="top" class="<?php echo $hiddenClass; ?>css_sub ao_adv"> | |
| 277 | +<th scope="row"><?php _e('Inline and Defer CSS?', 'autoptimize'); ?></th> | |
| 278 | +<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" ' : ''; ?>/> | |
| 279 | +<?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> | |
| 280 | 280 | </tr> | 
| 281 | -<tr valign="top" class="<?php echo $hiddenClass;?>css_sub ao_adv" id="autoptimize_css_defer_inline"> | |
| 281 | +<tr valign="top" class="<?php echo $hiddenClass; ?>css_sub ao_adv" id="autoptimize_css_defer_inline"> | |
| 282 | 282 | <th scope="row"></th> | 
| 283 | -<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> | |
| 283 | +<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 | 284 | </tr> | 
| 285 | -<tr valign="top" class="<?php echo $hiddenClass;?>ao_adv css_sub"> | |
| 286 | -<th scope="row"><?php _e('Inline all CSS?','autoptimize'); ?></th> | |
| 287 | -<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" ':''; ?>/> | |
| 288 | -<?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> | |
| 285 | +<tr valign="top" class="<?php echo $hiddenClass; ?>ao_adv css_sub"> | |
| 286 | +<th scope="row"><?php _e('Inline all CSS?', 'autoptimize'); ?></th> | |
| 287 | +<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" ' : ''; ?>/> | |
| 288 | +<?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> | |
| 289 | 289 | </tr> | 
| 290 | -<tr valign="top" class="<?php echo $hiddenClass;?>ao_adv css_sub"> | |
| 291 | -<th scope="row"><?php _e('Exclude CSS from Autoptimize:','autoptimize'); ?></th> | |
| 292 | -<td><label><input type="text" style="width:100%;" name="autoptimize_css_exclude" value="<?php echo get_option('autoptimize_css_exclude','wp-content/cache/, wp-content/uploads/, admin-bar.min.css, dashicons.min.css'); ?>"/><br /> | |
| 293 | -<?php _e('A comma-separated list of CSS you want to exclude from being optimized.','autoptimize'); ?></label></td> | |
| 290 | +<tr valign="top" class="<?php echo $hiddenClass; ?>ao_adv css_sub"> | |
| 291 | +<th scope="row"><?php _e('Exclude CSS from Autoptimize:', 'autoptimize'); ?></th> | |
| 292 | +<td><label><input type="text" style="width:100%;" name="autoptimize_css_exclude" value="<?php echo get_option('autoptimize_css_exclude', 'wp-content/cache/, wp-content/uploads/, admin-bar.min.css, dashicons.min.css'); ?>"/><br /> | |
| 293 | +<?php _e('A comma-separated list of CSS you want to exclude from being optimized.', 'autoptimize'); ?></label></td> | |
| 294 | 294 | </tr> | 
| 295 | 295 | </table> | 
| 296 | 296 | </li> | 
| 297 | 297 | |
| 298 | 298 | <li class="itemDetail"> | 
| 299 | -<h2 class="itemTitle"><?php _e('CDN Options','autoptimize'); ?></h2> | |
| 299 | +<h2 class="itemTitle"><?php _e('CDN Options', 'autoptimize'); ?></h2> | |
| 300 | 300 | <table class="form-table"> | 
| 301 | 301 | <tr valign="top"> | 
| 302 | -<th scope="row"><?php _e('CDN Base URL','autoptimize'); ?></th> | |
| 303 | -<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 /> | |
| 304 | -<?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> | |
| 302 | +<th scope="row"><?php _e('CDN Base URL', 'autoptimize'); ?></th> | |
| 303 | +<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 /> | |
| 304 | +<?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> | |
| 305 | 305 | </tr> | 
| 306 | 306 | </table> | 
| 307 | 307 | </li> | 
| 308 | 308 | |
| 309 | -<li class="<?php echo $hiddenClass;?>itemDetail ao_adv"> | |
| 310 | -<h2 class="itemTitle"><?php _e('Cache Info','autoptimize'); ?></h2> | |
| 309 | +<li class="<?php echo $hiddenClass; ?>itemDetail ao_adv"> | |
| 310 | +<h2 class="itemTitle"><?php _e('Cache Info', 'autoptimize'); ?></h2> | |
| 311 | 311 | <table class="form-table" > | 
| 312 | -<tr valign="top" class="<?php echo $hiddenClass;?>ao_adv"> | |
| 313 | -<th scope="row"><?php _e('Cache folder','autoptimize'); ?></th> | |
| 312 | +<tr valign="top" class="<?php echo $hiddenClass; ?>ao_adv"> | |
| 313 | +<th scope="row"><?php _e('Cache folder', 'autoptimize'); ?></th> | |
| 314 | 314 | <td><?php echo htmlentities(AUTOPTIMIZE_CACHE_DIR); ?></td> | 
| 315 | 315 | </tr> | 
| 316 | -<tr valign="top" class="<?php echo $hiddenClass;?>ao_adv"> | |
| 317 | -<th scope="row"><?php _e('Can we write?','autoptimize'); ?></th> | |
| 318 | -<td><?php echo (autoptimizeCache::cacheavail() ? __('Yes','autoptimize') : __('No','autoptimize')); ?></td> | |
| 316 | +<tr valign="top" class="<?php echo $hiddenClass; ?>ao_adv"> | |
| 317 | +<th scope="row"><?php _e('Can we write?', 'autoptimize'); ?></th> | |
| 318 | +<td><?php echo (autoptimizeCache::cacheavail() ? __('Yes', 'autoptimize') : __('No', 'autoptimize')); ?></td> | |
| 319 | 319 | </tr> | 
| 320 | -<tr valign="top" class="<?php echo $hiddenClass;?>ao_adv"> | |
| 321 | -<th scope="row"><?php _e('Cached styles and scripts','autoptimize'); ?></th> | |
| 320 | +<tr valign="top" class="<?php echo $hiddenClass; ?>ao_adv"> | |
| 321 | +<th scope="row"><?php _e('Cached styles and scripts', 'autoptimize'); ?></th> | |
| 322 | 322 | <td><?php | 
| 323 | - $AOstatArr=autoptimizeCache::stats(); | |
| 324 | - $AOcacheSize=round($AOstatArr[1]/1024); | |
| 325 | -    printf( __( '%1$s files, totalling %2$s Kbytes (calculated at %3$s)', 'autoptimize'), $AOstatArr[0], $AOcacheSize, date("H:i e", $AOstatArr[2]) ); | |
| 323 | + $AOstatArr = autoptimizeCache::stats(); | |
| 324 | + $AOcacheSize = round($AOstatArr[1]/1024); | |
| 325 | +    printf(__('%1$s files, totalling %2$s Kbytes (calculated at %3$s)', 'autoptimize'), $AOstatArr[0], $AOcacheSize, date("H:i e", $AOstatArr[2])); | |
| 326 | 326 | ?></td> | 
| 327 | 327 | </tr> | 
| 328 | 328 | </table> | 
| 329 | 329 | </li> | 
| 330 | 330 | |
| 331 | -<li class="<?php echo $hiddenClass;?>itemDetail ao_adv"> | |
| 332 | -<h2 class="itemTitle"><?php _e('Misc Options','autoptimize'); ?></h2> | |
| 331 | +<li class="<?php echo $hiddenClass; ?>itemDetail ao_adv"> | |
| 332 | +<h2 class="itemTitle"><?php _e('Misc Options', 'autoptimize'); ?></h2> | |
| 333 | 333 | <table class="form-table"> | 
| 334 | - <tr valign="top" class="<?php echo $hiddenClass;?>ao_adv"> | |
| 335 | -		<th scope="row"><?php _e('Save aggregated script/css as static files?','autoptimize'); ?></th> | |
| 336 | -		<td><label class="cb_label"><input type="checkbox" name="autoptimize_cache_nogzip" <?php echo get_option('autoptimize_cache_nogzip','1')?'checked="checked" ':''; ?>/> | |
| 337 | -			<?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> | |
| 334 | + <tr valign="top" class="<?php echo $hiddenClass; ?>ao_adv"> | |
| 335 | +		<th scope="row"><?php _e('Save aggregated script/css as static files?', 'autoptimize'); ?></th> | |
| 336 | +		<td><label class="cb_label"><input type="checkbox" name="autoptimize_cache_nogzip" <?php echo get_option('autoptimize_cache_nogzip', '1') ? 'checked="checked" ' : ''; ?>/> | |
| 337 | +			<?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> | |
| 338 | 338 | </td> | 
| 339 | 339 | </tr> | 
| 340 | - <tr valign="top" class="<?php echo $hiddenClass;?>ao_adv"> | |
| 341 | -		<th scope="row"><?php _e('Also optimize for logged in users?','autoptimize'); ?></th> | |
| 342 | -		<td><label class="cb_label"><input type="checkbox" name="autoptimize_optimize_logged" <?php echo get_option('autoptimize_optimize_logged','1')?'checked="checked" ':''; ?>/> | |
| 343 | -			<?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> | |
| 340 | + <tr valign="top" class="<?php echo $hiddenClass; ?>ao_adv"> | |
| 341 | +		<th scope="row"><?php _e('Also optimize for logged in users?', 'autoptimize'); ?></th> | |
| 342 | +		<td><label class="cb_label"><input type="checkbox" name="autoptimize_optimize_logged" <?php echo get_option('autoptimize_optimize_logged', '1') ? 'checked="checked" ' : ''; ?>/> | |
| 343 | +			<?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> | |
| 344 | 344 | </td> | 
| 345 | 345 | </tr> | 
| 346 | 346 | <?php | 
| 347 | -		if ( function_exists("is_checkout") || function_exists("is_cart") || function_exists("edd_is_checkout") || function_exists("wpsc_is_cart") || function_exists("wpsc_is_checkout") ) { | |
| 347 | +		if (function_exists("is_checkout") || function_exists("is_cart") || function_exists("edd_is_checkout") || function_exists("wpsc_is_cart") || function_exists("wpsc_is_checkout")) { | |
| 348 | 348 | ?> | 
| 349 | - <tr valign="top" class="<?php echo $hiddenClass;?>ao_adv"> | |
| 350 | -					<th scope="row"><?php _e('Also optimize shop cart/ checkout?','autoptimize'); ?></th> | |
| 351 | -					<td><label class="cb_label"><input type="checkbox" name="autoptimize_optimize_checkout" <?php echo get_option('autoptimize_optimize_checkout','1')?'checked="checked" ':''; ?>/> | |
| 352 | -						<?php _e('By default Autoptimize is also active on your shop\'s cart/ checkout, uncheck not to optimize those.','autoptimize'); ?></label> | |
| 349 | + <tr valign="top" class="<?php echo $hiddenClass; ?>ao_adv"> | |
| 350 | +					<th scope="row"><?php _e('Also optimize shop cart/ checkout?', 'autoptimize'); ?></th> | |
| 351 | +					<td><label class="cb_label"><input type="checkbox" name="autoptimize_optimize_checkout" <?php echo get_option('autoptimize_optimize_checkout', '1') ? 'checked="checked" ' : ''; ?>/> | |
| 352 | +						<?php _e('By default Autoptimize is also active on your shop\'s cart/ checkout, uncheck not to optimize those.', 'autoptimize'); ?></label> | |
| 353 | 353 | </td> | 
| 354 | 354 | </tr> | 
| 355 | 355 | <?php | 
| @@ -360,11 +360,11 @@ discard block | ||
| 360 | 360 | |
| 361 | 361 | </ul> | 
| 362 | 362 | |
| 363 | -<input type="hidden" id="autoptimize_show_adv" name="autoptimize_show_adv" value="<?php echo get_option('autoptimize_show_adv','0'); ?>"> | |
| 363 | +<input type="hidden" id="autoptimize_show_adv" name="autoptimize_show_adv" value="<?php echo get_option('autoptimize_show_adv', '0'); ?>"> | |
| 364 | 364 | |
| 365 | 365 | <p class="submit"> | 
| 366 | -<input type="submit" class="button-secondary" value="<?php _e('Save Changes','autoptimize') ?>" /> | |
| 367 | -<input type="submit" class="button-primary" name="autoptimize_cache_clean" value="<?php _e('Save Changes and Empty Cache','autoptimize') ?>" /> | |
| 366 | +<input type="submit" class="button-secondary" value="<?php _e('Save Changes', 'autoptimize') ?>" /> | |
| 367 | +<input type="submit" class="button-primary" name="autoptimize_cache_clean" value="<?php _e('Save Changes and Empty Cache', 'autoptimize') ?>" /> | |
| 368 | 368 | </p> | 
| 369 | 369 | |
| 370 | 370 | </form> | 
| @@ -373,31 +373,31 @@ discard block | ||
| 373 | 373 | <div class="autoptimize_banner hidden"> | 
| 374 | 374 | <ul> | 
| 375 | 375 | <?php | 
| 376 | -        if (apply_filters('autoptimize_settingsscreen_remotehttp',true)) { | |
| 377 | -            $AO_banner=get_transient("autoptimize_banner"); | |
| 376 | +        if (apply_filters('autoptimize_settingsscreen_remotehttp', true)) { | |
| 377 | +            $AO_banner = get_transient("autoptimize_banner"); | |
| 378 | 378 |              if (empty($AO_banner)) { | 
| 379 | 379 |                  $banner_resp = wp_remote_get("http://misc.optimizingmatters.com/autoptimize_news.html"); | 
| 380 | 380 |                  if (!is_wp_error($banner_resp)) { | 
| 381 | -                    if (wp_remote_retrieve_response_code($banner_resp)=="200") { | |
| 381 | +                    if (wp_remote_retrieve_response_code($banner_resp) == "200") { | |
| 382 | 382 | $AO_banner = wp_kses_post(wp_remote_retrieve_body($banner_resp)); | 
| 383 | -                        set_transient("autoptimize_banner",$AO_banner,DAY_IN_SECONDS); | |
| 383 | +                        set_transient("autoptimize_banner", $AO_banner, DAY_IN_SECONDS); | |
| 384 | 384 | } | 
| 385 | 385 | } | 
| 386 | 386 | } | 
| 387 | 387 | echo $AO_banner; | 
| 388 | 388 | } | 
| 389 | 389 | ?> | 
| 390 | -        <li><?php _e("Need help? <a href='https://wordpress.org/plugins/autoptimize/faq/'>Check out the FAQ here</a>.","autoptimize"); ?></li> | |
| 391 | -        <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> | |
| 390 | +        <li><?php _e("Need help? <a href='https://wordpress.org/plugins/autoptimize/faq/'>Check out the FAQ here</a>.", "autoptimize"); ?></li> | |
| 391 | +        <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> | |
| 392 | 392 | </ul> | 
| 393 | 393 | </div> | 
| 394 | 394 | <div style="margin-left:10px;margin-top:-5px;"> | 
| 395 | 395 | <h2> | 
| 396 | -            <?php _e("futtta about","autoptimize") ?> | |
| 396 | +            <?php _e("futtta about", "autoptimize") ?> | |
| 397 | 397 | <select id="feed_dropdown" > | 
| 398 | -                <option value="1"><?php _e("Autoptimize","autoptimize") ?></option> | |
| 399 | -                <option value="2"><?php _e("WordPress","autoptimize") ?></option> | |
| 400 | -                <option value="3"><?php _e("Web Technology","autoptimize") ?></option> | |
| 398 | +                <option value="1"><?php _e("Autoptimize", "autoptimize") ?></option> | |
| 399 | +                <option value="2"><?php _e("WordPress", "autoptimize") ?></option> | |
| 400 | +                <option value="3"><?php _e("Web Technology", "autoptimize") ?></option> | |
| 401 | 401 | </select> | 
| 402 | 402 | </h2> | 
| 403 | 403 | <div id="futtta_feed"> | 
| @@ -412,7 +412,7 @@ discard block | ||
| 412 | 412 | </div> | 
| 413 | 413 | </div> | 
| 414 | 414 | </div> | 
| 415 | -    <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> | |
| 415 | +    <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> | |
| 416 | 416 | </div> | 
| 417 | 417 | |
| 418 | 418 | <script type="text/javascript"> | 
| @@ -551,14 +551,14 @@ discard block | ||
| 551 | 551 | } | 
| 552 | 552 | |
| 553 | 553 |      public function addmenu() { | 
| 554 | -        $hook=add_options_page(__('Autoptimize Options','autoptimize'),'Autoptimize','manage_options','autoptimize',array($this,'show')); | |
| 555 | - add_action( 'admin_print_scripts-'.$hook,array($this,'autoptimize_admin_scripts')); | |
| 556 | - add_action( 'admin_print_styles-'.$hook,array($this,'autoptimize_admin_styles')); | |
| 554 | +        $hook = add_options_page(__('Autoptimize Options', 'autoptimize'), 'Autoptimize', 'manage_options', 'autoptimize', array($this, 'show')); | |
| 555 | +        add_action('admin_print_scripts-'.$hook, array($this, 'autoptimize_admin_scripts')); | |
| 556 | +        add_action('admin_print_styles-'.$hook, array($this, 'autoptimize_admin_styles')); | |
| 557 | 557 | } | 
| 558 | 558 | |
| 559 | 559 |      public function autoptimize_admin_scripts() { | 
| 560 | -        wp_enqueue_script('jqcookie', plugins_url('/external/js/jquery.cookie.min.js', __FILE__), array('jquery'),null,true); | |
| 561 | -        wp_enqueue_script('unslider', plugins_url('/external/js/unslider-min.js', __FILE__), array('jquery'),null,true); | |
| 560 | +        wp_enqueue_script('jqcookie', plugins_url('/external/js/jquery.cookie.min.js', __FILE__), array('jquery'), null, true); | |
| 561 | +        wp_enqueue_script('unslider', plugins_url('/external/js/unslider-min.js', __FILE__), array('jquery'), null, true); | |
| 562 | 562 | } | 
| 563 | 563 | |
| 564 | 564 |      public function autoptimize_admin_styles() { | 
| @@ -567,47 +567,47 @@ discard block | ||
| 567 | 567 | } | 
| 568 | 568 | |
| 569 | 569 |      public function registersettings() { | 
| 570 | -        register_setting('autoptimize','autoptimize_html'); | |
| 571 | -        register_setting('autoptimize','autoptimize_html_keepcomments'); | |
| 572 | -        register_setting('autoptimize','autoptimize_js'); | |
| 573 | -        register_setting('autoptimize','autoptimize_js_exclude'); | |
| 574 | -        register_setting('autoptimize','autoptimize_js_trycatch'); | |
| 575 | -        register_setting('autoptimize','autoptimize_js_justhead'); | |
| 576 | -        register_setting('autoptimize','autoptimize_js_forcehead'); | |
| 577 | -        register_setting('autoptimize','autoptimize_js_include_inline'); | |
| 578 | -        register_setting('autoptimize','autoptimize_css'); | |
| 579 | -        register_setting('autoptimize','autoptimize_css_exclude'); | |
| 580 | -        register_setting('autoptimize','autoptimize_css_justhead'); | |
| 581 | -        register_setting('autoptimize','autoptimize_css_datauris'); | |
| 582 | -        register_setting('autoptimize','autoptimize_css_defer'); | |
| 583 | -        register_setting('autoptimize','autoptimize_css_defer_inline'); | |
| 584 | -        register_setting('autoptimize','autoptimize_css_inline'); | |
| 585 | -        register_setting('autoptimize','autoptimize_css_include_inline'); | |
| 586 | -        register_setting('autoptimize','autoptimize_cdn_url'); | |
| 587 | -        register_setting('autoptimize','autoptimize_cache_clean'); | |
| 588 | -        register_setting('autoptimize','autoptimize_cache_nogzip'); | |
| 589 | -        register_setting('autoptimize','autoptimize_show_adv'); | |
| 590 | -        register_setting('autoptimize','autoptimize_optimize_logged'); | |
| 591 | -        register_setting('autoptimize','autoptimize_optimize_checkout'); | |
| 570 | +        register_setting('autoptimize', 'autoptimize_html'); | |
| 571 | +        register_setting('autoptimize', 'autoptimize_html_keepcomments'); | |
| 572 | +        register_setting('autoptimize', 'autoptimize_js'); | |
| 573 | +        register_setting('autoptimize', 'autoptimize_js_exclude'); | |
| 574 | +        register_setting('autoptimize', 'autoptimize_js_trycatch'); | |
| 575 | +        register_setting('autoptimize', 'autoptimize_js_justhead'); | |
| 576 | +        register_setting('autoptimize', 'autoptimize_js_forcehead'); | |
| 577 | +        register_setting('autoptimize', 'autoptimize_js_include_inline'); | |
| 578 | +        register_setting('autoptimize', 'autoptimize_css'); | |
| 579 | +        register_setting('autoptimize', 'autoptimize_css_exclude'); | |
| 580 | +        register_setting('autoptimize', 'autoptimize_css_justhead'); | |
| 581 | +        register_setting('autoptimize', 'autoptimize_css_datauris'); | |
| 582 | +        register_setting('autoptimize', 'autoptimize_css_defer'); | |
| 583 | +        register_setting('autoptimize', 'autoptimize_css_defer_inline'); | |
| 584 | +        register_setting('autoptimize', 'autoptimize_css_inline'); | |
| 585 | +        register_setting('autoptimize', 'autoptimize_css_include_inline'); | |
| 586 | +        register_setting('autoptimize', 'autoptimize_cdn_url'); | |
| 587 | +        register_setting('autoptimize', 'autoptimize_cache_clean'); | |
| 588 | +        register_setting('autoptimize', 'autoptimize_cache_nogzip'); | |
| 589 | +        register_setting('autoptimize', 'autoptimize_show_adv'); | |
| 590 | +        register_setting('autoptimize', 'autoptimize_optimize_logged'); | |
| 591 | +        register_setting('autoptimize', 'autoptimize_optimize_checkout'); | |
| 592 | 592 | } | 
| 593 | 593 | |
| 594 | -    public function setmeta($links,$file=null) { | |
| 594 | +    public function setmeta($links, $file = null) { | |
| 595 | 595 | //Inspired on http://wpengineer.com/meta-links-for-wordpress-plugins/ | 
| 596 | 596 | //Do it only once - saves time | 
| 597 | 597 | static $plugin; | 
| 598 | - if(empty($plugin)) | |
| 598 | + if (empty($plugin)) | |
| 599 | 599 | $plugin = plugin_basename(AUTOPTIMIZE_PLUGIN_DIR.'autoptimize.php'); | 
| 600 | 600 | |
| 601 | -        if($file===null) { | |
| 601 | +        if ($file === null) { | |
| 602 | 602 | //2.7 | 
| 603 | 603 |              $settings_link = sprintf('<a href="options-general.php?page=autoptimize">%s</a>', __('Settings')); | 
| 604 | - array_unshift($links,$settings_link); | |
| 604 | + array_unshift($links, $settings_link); | |
| 605 | 605 |          } else { | 
| 606 | 606 | //2.8 | 
| 607 | 607 | //If it's us, add the link | 
| 608 | -            if($file === $plugin) { | |
| 609 | -                $newlink = array(sprintf('<a href="options-general.php?page=autoptimize">%s</a>',__('Settings'))); | |
| 610 | - $links = array_merge($links,$newlink); | |
| 608 | +            if ($file === $plugin) { | |
| 609 | +                $newlink = array(sprintf('<a href="options-general.php?page=autoptimize">%s</a>', __('Settings'))); | |
| 610 | + $links = array_merge($links, $newlink); | |
| 611 | 611 | } | 
| 612 | 612 | } | 
| 613 | 613 | |
| @@ -615,7 +615,7 @@ discard block | ||
| 615 | 615 | } | 
| 616 | 616 | |
| 617 | 617 |      public function get($key) {         | 
| 618 | -        if(!is_array($this->config)) { | |
| 618 | +        if (!is_array($this->config)) { | |
| 619 | 619 | //Default config | 
| 620 | 620 |              $config = array('autoptimize_html' => 0, | 
| 621 | 621 | 'autoptimize_html_keepcomments' => 0, | 
| @@ -641,43 +641,43 @@ discard block | ||
| 641 | 641 | ); | 
| 642 | 642 | |
| 643 | 643 | //Override with user settings | 
| 644 | -            foreach(array_keys($config) as $name) { | |
| 644 | +            foreach (array_keys($config) as $name) { | |
| 645 | 645 | $conf = get_option($name); | 
| 646 | -                if($conf!==false) { | |
| 646 | +                if ($conf !== false) { | |
| 647 | 647 | //It was set before! | 
| 648 | 648 | $config[$name] = $conf; | 
| 649 | 649 | } | 
| 650 | 650 | } | 
| 651 | 651 | |
| 652 | 652 | //Save for next question | 
| 653 | - $this->config = apply_filters( 'autoptimize_filter_get_config', $config ); | |
| 653 | +            $this->config = apply_filters('autoptimize_filter_get_config', $config); | |
| 654 | 654 | } | 
| 655 | 655 | |
| 656 | - if(isset($this->config[$key])) | |
| 656 | + if (isset($this->config[$key])) | |
| 657 | 657 | return $this->config[$key]; | 
| 658 | 658 | |
| 659 | 659 | return false; | 
| 660 | 660 | } | 
| 661 | 661 | |
| 662 | 662 |      private function getFutttaFeeds($url) { | 
| 663 | -        if (apply_filters('autoptimize_settingsscreen_remotehttp',true)) { | |
| 664 | - $rss = fetch_feed( $url ); | |
| 663 | +        if (apply_filters('autoptimize_settingsscreen_remotehttp', true)) { | |
| 664 | + $rss = fetch_feed($url); | |
| 665 | 665 | $maxitems = 0; | 
| 666 | 666 | |
| 667 | -            if ( ! is_wp_error( $rss ) ) { | |
| 668 | - $maxitems = $rss->get_item_quantity( 7 ); | |
| 669 | - $rss_items = $rss->get_items( 0, $maxitems ); | |
| 667 | +            if (!is_wp_error($rss)) { | |
| 668 | + $maxitems = $rss->get_item_quantity(7); | |
| 669 | + $rss_items = $rss->get_items(0, $maxitems); | |
| 670 | 670 | } | 
| 671 | 671 | ?> | 
| 672 | 672 | <ul> | 
| 673 | - <?php if ( $maxitems == 0 ) : ?> | |
| 674 | - <li><?php _e( 'No items', 'autoptimize' ); ?></li> | |
| 673 | + <?php if ($maxitems == 0) : ?> | |
| 674 | +                    <li><?php _e('No items', 'autoptimize'); ?></li> | |
| 675 | 675 | <?php else : ?> | 
| 676 | - <?php foreach ( $rss_items as $item ) : ?> | |
| 676 | + <?php foreach ($rss_items as $item) : ?> | |
| 677 | 677 | <li> | 
| 678 | - <a href="<?php echo esc_url( $item->get_permalink() ); ?>" | |
| 679 | -                                title="<?php printf( __( 'Posted %s', 'autoptimize' ), $item->get_date('j F Y | g:i a') ); ?>"> | |
| 680 | - <?php echo esc_html( $item->get_title() ); ?> | |
| 678 | + <a href="<?php echo esc_url($item->get_permalink()); ?>" | |
| 679 | +                                title="<?php printf(__('Posted %s', 'autoptimize'), $item->get_date('j F Y | g:i a')); ?>"> | |
| 680 | + <?php echo esc_html($item->get_title()); ?> | |
| 681 | 681 | </a> | 
| 682 | 682 | </li> | 
| 683 | 683 | <?php endforeach; ?> | 
| @@ -688,20 +688,20 @@ discard block | ||
| 688 | 688 | } | 
| 689 | 689 | |
| 690 | 690 | // based on http://wordpress.stackexchange.com/a/58826 | 
| 691 | -    static function ao_admin_tabs(){ | |
| 692 | -        $tabs = apply_filters('autoptimize_filter_settingsscreen_tabs',array('autoptimize' => __('Main','autoptimize'))); | |
| 693 | - $tabContent=""; | |
| 694 | -        if (count($tabs)>1) { | |
| 695 | -            if(isset($_GET['page'])){ | |
| 691 | +    static function ao_admin_tabs() { | |
| 692 | +        $tabs = apply_filters('autoptimize_filter_settingsscreen_tabs', array('autoptimize' => __('Main', 'autoptimize'))); | |
| 693 | + $tabContent = ""; | |
| 694 | +        if (count($tabs) > 1) { | |
| 695 | +            if (isset($_GET['page'])) { | |
| 696 | 696 | $currentId = $_GET['page']; | 
| 697 | 697 |              } else { | 
| 698 | 698 | $currentId = "autoptimize"; | 
| 699 | 699 | } | 
| 700 | 700 | $tabContent .= "<h2 class=\"nav-tab-wrapper\">"; | 
| 701 | -            foreach($tabs as $tabId => $tabName){ | |
| 702 | -                if($currentId == $tabId){ | |
| 701 | +            foreach ($tabs as $tabId => $tabName) { | |
| 702 | +                if ($currentId == $tabId) { | |
| 703 | 703 | $class = " nav-tab-active"; | 
| 704 | -                } else{ | |
| 704 | +                } else { | |
| 705 | 705 | $class = ""; | 
| 706 | 706 | } | 
| 707 | 707 | $tabContent .= '<a class="nav-tab'.$class.'" href="?page='.$tabId.'">'.$tabName.'</a>'; | 
| @@ -53,7 +53,7 @@ | ||
| 53 | 53 | * | 
| 54 | 54 | * @param array $options (currently ignored) | 
| 55 | 55 | * | 
| 56 | - * @return null | |
| 56 | + * @return string | |
| 57 | 57 | */ | 
| 58 | 58 |      private function __construct($options) { | 
| 59 | 59 | $this->_options = $options; | 
| @@ -245,6 +245,6 @@ | ||
| 245 | 245 | ) | 
| 246 | 246 | \\s* | 
| 247 | 247 | /x', '$1', $m[1]); | 
| 248 | - return 'font-family:' . $m[1] . $m[2]; | |
| 248 | + return 'font-family:'.$m[1].$m[2]; | |
| 249 | 249 | } | 
| 250 | 250 | } | 
| @@ -1,10 +1,12 @@ discard block | ||
| 1 | 1 | <?php exit; | 
| 2 | 2 | |
| 3 | 3 | //Check everything exists before using it | 
| 4 | -if(!isset($_SERVER['HTTP_ACCEPT_ENCODING'])) | |
| 4 | +if(!isset($_SERVER['HTTP_ACCEPT_ENCODING'])) { | |
| 5 | 5 | $_SERVER['HTTP_ACCEPT_ENCODING'] = ''; | 
| 6 | -if(!isset($_SERVER['HTTP_USER_AGENT'])) | |
| 6 | +} | |
| 7 | +if(!isset($_SERVER['HTTP_USER_AGENT'])) { | |
| 7 | 8 | $_SERVER['HTTP_USER_AGENT'] = ''; | 
| 9 | +} | |
| 8 | 10 | |
| 9 | 11 | // Determine supported compression method | 
| 10 | 12 | $gzip = strstr($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip'); | 
| @@ -19,16 +21,19 @@ discard block | ||
| 19 | 21 |  { | 
| 20 | 22 | $version = floatval($matches[1]); | 
| 21 | 23 | |
| 22 | - if ($version < 6) | |
| 23 | - $encoding = 'none'; | |
| 24 | +	if ($version < 6) { | |
| 25 | + $encoding = 'none'; | |
| 26 | + } | |
| 24 | 27 | |
| 25 | - if ($version == 6 && !strstr($_SERVER['HTTP_USER_AGENT'], 'EV1')) | |
| 26 | - $encoding = 'none'; | |
| 27 | -} | |
| 28 | +	if ($version == 6 && !strstr($_SERVER['HTTP_USER_AGENT'], 'EV1')) { | |
| 29 | + $encoding = 'none'; | |
| 30 | + } | |
| 31 | + } | |
| 28 | 32 | |
| 29 | 33 | //Some servers compress the output of PHP - Don't break in those cases | 
| 30 | -if(ini_get('output_handler') == 'ob_gzhandler' || ini_get('zlib.output_compression') == 1) | |
| 34 | +if(ini_get('output_handler') == 'ob_gzhandler' || ini_get('zlib.output_compression') == 1) { | |
| 31 | 35 | $encoding = 'none'; | 
| 36 | +} | |
| 32 | 37 | |
| 33 | 38 | //Get data | 
| 34 | 39 | $contents = file_get_contents(__FILE__.'.'.$encoding); | 
| @@ -2,9 +2,9 @@ discard block | ||
| 2 | 2 | |
| 3 | 3 | //Check everything exists before using it | 
| 4 | 4 | if(!isset($_SERVER['HTTP_ACCEPT_ENCODING'])) | 
| 5 | - $_SERVER['HTTP_ACCEPT_ENCODING'] = ''; | |
| 5 | + $_SERVER['HTTP_ACCEPT_ENCODING'] = ''; | |
| 6 | 6 | if(!isset($_SERVER['HTTP_USER_AGENT'])) | 
| 7 | - $_SERVER['HTTP_USER_AGENT'] = ''; | |
| 7 | + $_SERVER['HTTP_USER_AGENT'] = ''; | |
| 8 | 8 | |
| 9 | 9 | // Determine supported compression method | 
| 10 | 10 | $gzip = strstr($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip'); | 
| @@ -15,20 +15,20 @@ discard block | ||
| 15 | 15 | |
| 16 | 16 | // Check for buggy versions of Internet Explorer | 
| 17 | 17 | if (!strstr($_SERVER['HTTP_USER_AGENT'], 'Opera') && | 
| 18 | -	preg_match('/^Mozilla\/4\.0 \(compatible; MSIE ([0-9]\.[0-9])/i', $_SERVER['HTTP_USER_AGENT'], $matches)) | |
| 18 | +    preg_match('/^Mozilla\/4\.0 \(compatible; MSIE ([0-9]\.[0-9])/i', $_SERVER['HTTP_USER_AGENT'], $matches)) | |
| 19 | 19 |  { | 
| 20 | - $version = floatval($matches[1]); | |
| 20 | + $version = floatval($matches[1]); | |
| 21 | 21 | |
| 22 | - if ($version < 6) | |
| 23 | - $encoding = 'none'; | |
| 22 | + if ($version < 6) | |
| 23 | + $encoding = 'none'; | |
| 24 | 24 | |
| 25 | - if ($version == 6 && !strstr($_SERVER['HTTP_USER_AGENT'], 'EV1')) | |
| 26 | - $encoding = 'none'; | |
| 25 | + if ($version == 6 && !strstr($_SERVER['HTTP_USER_AGENT'], 'EV1')) | |
| 26 | + $encoding = 'none'; | |
| 27 | 27 | } | 
| 28 | 28 | |
| 29 | 29 | //Some servers compress the output of PHP - Don't break in those cases | 
| 30 | 30 |  if(ini_get('output_handler') == 'ob_gzhandler' || ini_get('zlib.output_compression') == 1) | 
| 31 | - $encoding = 'none'; | |
| 31 | + $encoding = 'none'; | |
| 32 | 32 | |
| 33 | 33 | //Get data | 
| 34 | 34 | $contents = file_get_contents(__FILE__.'.'.$encoding); | 
| @@ -41,24 +41,24 @@ discard block | ||
| 41 | 41 | $modTimeMatch = (isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) && strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE']) === $modTime); | 
| 42 | 42 | |
| 43 | 43 |  if (($modTimeMatch)||($eTagMatch)) { | 
| 44 | -	header('HTTP/1.1 304 Not Modified'); | |
| 45 | -	header('Connection: close'); | |
| 44 | +    header('HTTP/1.1 304 Not Modified'); | |
| 45 | +    header('Connection: close'); | |
| 46 | 46 |  } else { | 
| 47 | - // send all sorts of headers | |
| 48 | - $expireTime=60*60*24*356; // 1y max according to RFC | |
| 47 | + // send all sorts of headers | |
| 48 | + $expireTime=60*60*24*356; // 1y max according to RFC | |
| 49 | 49 | |
| 50 | - if(isset($encoding) && $encoding != 'none') | |
| 51 | -	{ | |
| 52 | -		header('Content-Encoding: '.$encoding); | |
| 53 | - } | |
| 54 | -	header('Vary: Accept-Encoding'); | |
| 55 | -	header('Content-Length: '.strlen($contents)); | |
| 56 | -	header('Content-type: %%CONTENT%%; charset=utf-8'); | |
| 57 | -	header('Cache-Control: max-age='.$expireTime.', public, immutable'); | |
| 58 | -	header('Expires: '.gmdate('D, d M Y H:i:s', time() + $expireTime).' GMT'); //10 years | |
| 59 | -	header('ETag: ' . $eTag); | |
| 60 | -	header('Last-Modified: '.gmdate('D, d M Y H:i:s', $modTime).' GMT'); | |
| 50 | + if(isset($encoding) && $encoding != 'none') | |
| 51 | +    { | |
| 52 | +        header('Content-Encoding: '.$encoding); | |
| 53 | + } | |
| 54 | +    header('Vary: Accept-Encoding'); | |
| 55 | +    header('Content-Length: '.strlen($contents)); | |
| 56 | +    header('Content-type: %%CONTENT%%; charset=utf-8'); | |
| 57 | +    header('Cache-Control: max-age='.$expireTime.', public, immutable'); | |
| 58 | +    header('Expires: '.gmdate('D, d M Y H:i:s', time() + $expireTime).' GMT'); //10 years | |
| 59 | +    header('ETag: ' . $eTag); | |
| 60 | +    header('Last-Modified: '.gmdate('D, d M Y H:i:s', $modTime).' GMT'); | |
| 61 | 61 | |
| 62 | - // send output | |
| 63 | - echo $contents; | |
| 62 | + // send output | |
| 63 | + echo $contents; | |
| 64 | 64 | } | 
| @@ -1,9 +1,9 @@ discard block | ||
| 1 | 1 | <?php exit; | 
| 2 | 2 | |
| 3 | 3 | //Check everything exists before using it | 
| 4 | -if(!isset($_SERVER['HTTP_ACCEPT_ENCODING'])) | |
| 4 | +if (!isset($_SERVER['HTTP_ACCEPT_ENCODING'])) | |
| 5 | 5 | $_SERVER['HTTP_ACCEPT_ENCODING'] = ''; | 
| 6 | -if(!isset($_SERVER['HTTP_USER_AGENT'])) | |
| 6 | +if (!isset($_SERVER['HTTP_USER_AGENT'])) | |
| 7 | 7 | $_SERVER['HTTP_USER_AGENT'] = ''; | 
| 8 | 8 | |
| 9 | 9 | // Determine supported compression method | 
| @@ -27,28 +27,28 @@ discard block | ||
| 27 | 27 | } | 
| 28 | 28 | |
| 29 | 29 | //Some servers compress the output of PHP - Don't break in those cases | 
| 30 | -if(ini_get('output_handler') == 'ob_gzhandler' || ini_get('zlib.output_compression') == 1) | |
| 30 | +if (ini_get('output_handler') == 'ob_gzhandler' || ini_get('zlib.output_compression') == 1) | |
| 31 | 31 | $encoding = 'none'; | 
| 32 | 32 | |
| 33 | 33 | //Get data | 
| 34 | 34 | $contents = file_get_contents(__FILE__.'.'.$encoding); | 
| 35 | 35 | |
| 36 | 36 | // first check if we have to send 304 | 
| 37 | -$eTag=md5($contents); | |
| 38 | -$modTime=filemtime(__FILE__.'.none'); | |
| 37 | +$eTag = md5($contents); | |
| 38 | +$modTime = filemtime(__FILE__.'.none'); | |
| 39 | 39 | |
| 40 | 40 |  date_default_timezone_set("UTC"); | 
| 41 | -$eTagMatch = (isset($_SERVER['HTTP_IF_NONE_MATCH']) && strpos($_SERVER['HTTP_IF_NONE_MATCH'],$eTag)); | |
| 41 | +$eTagMatch = (isset($_SERVER['HTTP_IF_NONE_MATCH']) && strpos($_SERVER['HTTP_IF_NONE_MATCH'], $eTag)); | |
| 42 | 42 | $modTimeMatch = (isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) && strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE']) === $modTime); | 
| 43 | 43 | |
| 44 | -if (($modTimeMatch)||($eTagMatch)) { | |
| 44 | +if (($modTimeMatch) || ($eTagMatch)) { | |
| 45 | 45 |  	header('HTTP/1.1 304 Not Modified'); | 
| 46 | 46 |  	header('Connection: close'); | 
| 47 | 47 |  } else { | 
| 48 | 48 | // send all sorts of headers | 
| 49 | - $expireTime=60*60*24*356; // 1y max according to RFC | |
| 49 | + $expireTime = 60*60*24*356; // 1y max according to RFC | |
| 50 | 50 | |
| 51 | - if(isset($encoding) && $encoding != 'none') | |
| 51 | + if (isset($encoding) && $encoding != 'none') | |
| 52 | 52 |  	{ | 
| 53 | 53 |  		header('Content-Encoding: '.$encoding); | 
| 54 | 54 | } | 
| @@ -57,7 +57,7 @@ discard block | ||
| 57 | 57 |  	header('Content-type: %%CONTENT%%; charset=utf-8'); | 
| 58 | 58 |  	header('Cache-Control: max-age='.$expireTime.', public, immutable'); | 
| 59 | 59 |  	header('Expires: '.gmdate('D, d M Y H:i:s', time() + $expireTime).' GMT'); //10 years | 
| 60 | -	header('ETag: ' . $eTag); | |
| 60 | +	header('ETag: '.$eTag); | |
| 61 | 61 |  	header('Last-Modified: '.gmdate('D, d M Y H:i:s', $modTime).' GMT'); | 
| 62 | 62 | |
| 63 | 63 | // send output | 
| @@ -1,10 +1,12 @@ discard block | ||
| 1 | 1 | <?php exit; | 
| 2 | 2 | |
| 3 | 3 | //Check everything exists before using it | 
| 4 | -if(!isset($_SERVER['HTTP_ACCEPT_ENCODING'])) | |
| 4 | +if(!isset($_SERVER['HTTP_ACCEPT_ENCODING'])) { | |
| 5 | 5 | $_SERVER['HTTP_ACCEPT_ENCODING'] = ''; | 
| 6 | -if(!isset($_SERVER['HTTP_USER_AGENT'])) | |
| 6 | +} | |
| 7 | +if(!isset($_SERVER['HTTP_USER_AGENT'])) { | |
| 7 | 8 | $_SERVER['HTTP_USER_AGENT'] = ''; | 
| 9 | +} | |
| 8 | 10 | |
| 9 | 11 | // Determine supported compression method | 
| 10 | 12 | $gzip = strstr($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip'); | 
| @@ -19,16 +21,19 @@ discard block | ||
| 19 | 21 |  { | 
| 20 | 22 | $version = floatval($matches[1]); | 
| 21 | 23 | |
| 22 | - if ($version < 6) | |
| 23 | - $encoding = 'none'; | |
| 24 | +	if ($version < 6) { | |
| 25 | + $encoding = 'none'; | |
| 26 | + } | |
| 24 | 27 | |
| 25 | - if ($version == 6 && !strstr($_SERVER['HTTP_USER_AGENT'], 'EV1')) | |
| 26 | - $encoding = 'none'; | |
| 27 | -} | |
| 28 | +	if ($version == 6 && !strstr($_SERVER['HTTP_USER_AGENT'], 'EV1')) { | |
| 29 | + $encoding = 'none'; | |
| 30 | + } | |
| 31 | + } | |
| 28 | 32 | |
| 29 | 33 | //Some servers compress the output of PHP - Don't break in those cases | 
| 30 | -if(ini_get('output_handler') == 'ob_gzhandler' || ini_get('zlib.output_compression') == 1) | |
| 34 | +if(ini_get('output_handler') == 'ob_gzhandler' || ini_get('zlib.output_compression') == 1) { | |
| 31 | 35 | $encoding = 'none'; | 
| 36 | +} | |
| 32 | 37 | |
| 33 | 38 | $iscompressed = file_exists(__FILE__.'.'.$encoding); | 
| 34 | 39 | if($encoding != 'none' && $iscompressed == false) | 
| @@ -36,7 +41,7 @@ discard block | ||
| 36 | 41 | $flag = ($encoding == 'gzip' ? FORCE_GZIP : FORCE_DEFLATE); | 
| 37 | 42 | $code = file_get_contents(__FILE__.'.none'); | 
| 38 | 43 | $contents = gzencode($code,9,$flag); | 
| 39 | -}else{ | |
| 44 | +} else{ | |
| 40 | 45 | //Get data | 
| 41 | 46 | $contents = file_get_contents(__FILE__.'.'.$encoding); | 
| 42 | 47 | } | 
| @@ -2,9 +2,9 @@ discard block | ||
| 2 | 2 | |
| 3 | 3 | //Check everything exists before using it | 
| 4 | 4 | if(!isset($_SERVER['HTTP_ACCEPT_ENCODING'])) | 
| 5 | - $_SERVER['HTTP_ACCEPT_ENCODING'] = ''; | |
| 5 | + $_SERVER['HTTP_ACCEPT_ENCODING'] = ''; | |
| 6 | 6 | if(!isset($_SERVER['HTTP_USER_AGENT'])) | 
| 7 | - $_SERVER['HTTP_USER_AGENT'] = ''; | |
| 7 | + $_SERVER['HTTP_USER_AGENT'] = ''; | |
| 8 | 8 | |
| 9 | 9 | // Determine supported compression method | 
| 10 | 10 | $gzip = strstr($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip'); | 
| @@ -15,30 +15,30 @@ discard block | ||
| 15 | 15 | |
| 16 | 16 | // Check for buggy versions of Internet Explorer | 
| 17 | 17 | if (!strstr($_SERVER['HTTP_USER_AGENT'], 'Opera') && | 
| 18 | -	preg_match('/^Mozilla\/4\.0 \(compatible; MSIE ([0-9]\.[0-9])/i', $_SERVER['HTTP_USER_AGENT'], $matches)) | |
| 18 | +    preg_match('/^Mozilla\/4\.0 \(compatible; MSIE ([0-9]\.[0-9])/i', $_SERVER['HTTP_USER_AGENT'], $matches)) | |
| 19 | 19 |  { | 
| 20 | - $version = floatval($matches[1]); | |
| 20 | + $version = floatval($matches[1]); | |
| 21 | 21 | |
| 22 | - if ($version < 6) | |
| 23 | - $encoding = 'none'; | |
| 22 | + if ($version < 6) | |
| 23 | + $encoding = 'none'; | |
| 24 | 24 | |
| 25 | - if ($version == 6 && !strstr($_SERVER['HTTP_USER_AGENT'], 'EV1')) | |
| 26 | - $encoding = 'none'; | |
| 25 | + if ($version == 6 && !strstr($_SERVER['HTTP_USER_AGENT'], 'EV1')) | |
| 26 | + $encoding = 'none'; | |
| 27 | 27 | } | 
| 28 | 28 | |
| 29 | 29 | //Some servers compress the output of PHP - Don't break in those cases | 
| 30 | 30 |  if(ini_get('output_handler') == 'ob_gzhandler' || ini_get('zlib.output_compression') == 1) | 
| 31 | - $encoding = 'none'; | |
| 31 | + $encoding = 'none'; | |
| 32 | 32 | |
| 33 | 33 | $iscompressed = file_exists(__FILE__.'.'.$encoding); | 
| 34 | 34 | if($encoding != 'none' && $iscompressed == false) | 
| 35 | 35 |  { | 
| 36 | - $flag = ($encoding == 'gzip' ? FORCE_GZIP : FORCE_DEFLATE); | |
| 37 | - $code = file_get_contents(__FILE__.'.none'); | |
| 38 | - $contents = gzencode($code,9,$flag); | |
| 36 | + $flag = ($encoding == 'gzip' ? FORCE_GZIP : FORCE_DEFLATE); | |
| 37 | + $code = file_get_contents(__FILE__.'.none'); | |
| 38 | + $contents = gzencode($code,9,$flag); | |
| 39 | 39 |  }else{ | 
| 40 | - //Get data | |
| 41 | - $contents = file_get_contents(__FILE__.'.'.$encoding); | |
| 40 | + //Get data | |
| 41 | + $contents = file_get_contents(__FILE__.'.'.$encoding); | |
| 42 | 42 | } | 
| 43 | 43 | |
| 44 | 44 | // first check if we have to send 304 | 
| @@ -51,35 +51,35 @@ discard block | ||
| 51 | 51 | $modTimeMatch = (isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) && strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE']) === $modTime); | 
| 52 | 52 | |
| 53 | 53 |  if (($modTimeMatch)||($eTagMatch)) { | 
| 54 | -	header('HTTP/1.1 304 Not Modified'); | |
| 55 | -	header('Connection: close'); | |
| 54 | +    header('HTTP/1.1 304 Not Modified'); | |
| 55 | +    header('Connection: close'); | |
| 56 | 56 |  } else { | 
| 57 | - // send all sorts of headers | |
| 58 | - $expireTime=60*60*24*355; // 1y max according to RFC | |
| 59 | -	if ($encoding != 'none') { | |
| 60 | -		header('Content-Encoding: '.$encoding); | |
| 61 | - } | |
| 62 | -	header('Vary: Accept-Encoding'); | |
| 63 | -	header('Content-Length: '.strlen($contents)); | |
| 64 | -	header('Content-type: %%CONTENT%%; charset=utf-8'); | |
| 65 | -	header('Cache-Control: max-age='.$expireTime.', public, immutable'); | |
| 66 | -	header('Expires: '.gmdate('D, d M Y H:i:s', time() + $expireTime).' GMT'); | |
| 67 | -	header('ETag: ' . $eTag); | |
| 68 | -	header('Last-Modified: '.gmdate('D, d M Y H:i:s', $modTime).' GMT'); | |
| 57 | + // send all sorts of headers | |
| 58 | + $expireTime=60*60*24*355; // 1y max according to RFC | |
| 59 | +    if ($encoding != 'none') { | |
| 60 | +        header('Content-Encoding: '.$encoding); | |
| 61 | + } | |
| 62 | +    header('Vary: Accept-Encoding'); | |
| 63 | +    header('Content-Length: '.strlen($contents)); | |
| 64 | +    header('Content-type: %%CONTENT%%; charset=utf-8'); | |
| 65 | +    header('Cache-Control: max-age='.$expireTime.', public, immutable'); | |
| 66 | +    header('Expires: '.gmdate('D, d M Y H:i:s', time() + $expireTime).' GMT'); | |
| 67 | +    header('ETag: ' . $eTag); | |
| 68 | +    header('Last-Modified: '.gmdate('D, d M Y H:i:s', $modTime).' GMT'); | |
| 69 | 69 | |
| 70 | - // send output | |
| 71 | - echo $contents; | |
| 70 | + // send output | |
| 71 | + echo $contents; | |
| 72 | 72 | |
| 73 | - //And write to filesystem cache if not done yet | |
| 74 | - if($encoding != 'none' && $iscompressed == false) | |
| 75 | -	{ | |
| 76 | - //Write the content we sent | |
| 77 | - file_put_contents(__FILE__.'.'.$encoding,$contents); | |
| 73 | + //And write to filesystem cache if not done yet | |
| 74 | + if($encoding != 'none' && $iscompressed == false) | |
| 75 | +    { | |
| 76 | + //Write the content we sent | |
| 77 | + file_put_contents(__FILE__.'.'.$encoding,$contents); | |
| 78 | 78 | |
| 79 | - //And write the new content | |
| 80 | - $flag = ($encoding == 'gzip' ? FORCE_DEFLATE : FORCE_GZIP); | |
| 81 | - $ext = ($encoding == 'gzip' ? 'deflate' : 'gzip'); | |
| 82 | - $contents = gzencode($code,9,$flag); | |
| 83 | - file_put_contents(__FILE__.'.'.$ext,$contents); | |
| 84 | - } | |
| 79 | + //And write the new content | |
| 80 | + $flag = ($encoding == 'gzip' ? FORCE_DEFLATE : FORCE_GZIP); | |
| 81 | + $ext = ($encoding == 'gzip' ? 'deflate' : 'gzip'); | |
| 82 | + $contents = gzencode($code,9,$flag); | |
| 83 | + file_put_contents(__FILE__.'.'.$ext,$contents); | |
| 84 | + } | |
| 85 | 85 | } | 
| @@ -1,9 +1,9 @@ discard block | ||
| 1 | 1 | <?php exit; | 
| 2 | 2 | |
| 3 | 3 | //Check everything exists before using it | 
| 4 | -if(!isset($_SERVER['HTTP_ACCEPT_ENCODING'])) | |
| 4 | +if (!isset($_SERVER['HTTP_ACCEPT_ENCODING'])) | |
| 5 | 5 | $_SERVER['HTTP_ACCEPT_ENCODING'] = ''; | 
| 6 | -if(!isset($_SERVER['HTTP_USER_AGENT'])) | |
| 6 | +if (!isset($_SERVER['HTTP_USER_AGENT'])) | |
| 7 | 7 | $_SERVER['HTTP_USER_AGENT'] = ''; | 
| 8 | 8 | |
| 9 | 9 | // Determine supported compression method | 
| @@ -27,16 +27,16 @@ discard block | ||
| 27 | 27 | } | 
| 28 | 28 | |
| 29 | 29 | //Some servers compress the output of PHP - Don't break in those cases | 
| 30 | -if(ini_get('output_handler') == 'ob_gzhandler' || ini_get('zlib.output_compression') == 1) | |
| 30 | +if (ini_get('output_handler') == 'ob_gzhandler' || ini_get('zlib.output_compression') == 1) | |
| 31 | 31 | $encoding = 'none'; | 
| 32 | 32 | |
| 33 | 33 | $iscompressed = file_exists(__FILE__.'.'.$encoding); | 
| 34 | -if($encoding != 'none' && $iscompressed == false) | |
| 34 | +if ($encoding != 'none' && $iscompressed == false) | |
| 35 | 35 |  { | 
| 36 | 36 | $flag = ($encoding == 'gzip' ? FORCE_GZIP : FORCE_DEFLATE); | 
| 37 | 37 | $code = file_get_contents(__FILE__.'.none'); | 
| 38 | - $contents = gzencode($code,9,$flag); | |
| 39 | -}else{ | |
| 38 | + $contents = gzencode($code, 9, $flag); | |
| 39 | +} else { | |
| 40 | 40 | //Get data | 
| 41 | 41 | $contents = file_get_contents(__FILE__.'.'.$encoding); | 
| 42 | 42 | } | 
| @@ -44,19 +44,19 @@ discard block | ||
| 44 | 44 | // first check if we have to send 304 | 
| 45 | 45 | // inspired by http://www.jonasjohn.de/snippets/php/caching.htm | 
| 46 | 46 | |
| 47 | -$eTag=md5($contents); | |
| 48 | -$modTime=filemtime(__FILE__.'.none'); | |
| 47 | +$eTag = md5($contents); | |
| 48 | +$modTime = filemtime(__FILE__.'.none'); | |
| 49 | 49 | |
| 50 | 50 |  date_default_timezone_set("UTC"); | 
| 51 | -$eTagMatch = (isset($_SERVER['HTTP_IF_NONE_MATCH']) && strpos($_SERVER['HTTP_IF_NONE_MATCH'],$eTag)); | |
| 51 | +$eTagMatch = (isset($_SERVER['HTTP_IF_NONE_MATCH']) && strpos($_SERVER['HTTP_IF_NONE_MATCH'], $eTag)); | |
| 52 | 52 | $modTimeMatch = (isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) && strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE']) === $modTime); | 
| 53 | 53 | |
| 54 | -if (($modTimeMatch)||($eTagMatch)) { | |
| 54 | +if (($modTimeMatch) || ($eTagMatch)) { | |
| 55 | 55 |  	header('HTTP/1.1 304 Not Modified'); | 
| 56 | 56 |  	header('Connection: close'); | 
| 57 | 57 |  } else { | 
| 58 | 58 | // send all sorts of headers | 
| 59 | - $expireTime=60*60*24*355; // 1y max according to RFC | |
| 59 | + $expireTime = 60*60*24*355; // 1y max according to RFC | |
| 60 | 60 |  	if ($encoding != 'none') { | 
| 61 | 61 |  		header('Content-Encoding: '.$encoding); | 
| 62 | 62 | } | 
| @@ -65,22 +65,22 @@ discard block | ||
| 65 | 65 |  	header('Content-type: %%CONTENT%%; charset=utf-8'); | 
| 66 | 66 |  	header('Cache-Control: max-age='.$expireTime.', public, immutable'); | 
| 67 | 67 |  	header('Expires: '.gmdate('D, d M Y H:i:s', time() + $expireTime).' GMT'); | 
| 68 | -	header('ETag: ' . $eTag); | |
| 68 | +	header('ETag: '.$eTag); | |
| 69 | 69 |  	header('Last-Modified: '.gmdate('D, d M Y H:i:s', $modTime).' GMT'); | 
| 70 | 70 | |
| 71 | 71 | // send output | 
| 72 | 72 | echo $contents; | 
| 73 | 73 | |
| 74 | 74 | //And write to filesystem cache if not done yet | 
| 75 | - if($encoding != 'none' && $iscompressed == false) | |
| 75 | + if ($encoding != 'none' && $iscompressed == false) | |
| 76 | 76 |  	{ | 
| 77 | 77 | //Write the content we sent | 
| 78 | - file_put_contents(__FILE__.'.'.$encoding,$contents); | |
| 78 | + file_put_contents(__FILE__.'.'.$encoding, $contents); | |
| 79 | 79 | |
| 80 | 80 | //And write the new content | 
| 81 | 81 | $flag = ($encoding == 'gzip' ? FORCE_DEFLATE : FORCE_GZIP); | 
| 82 | 82 | $ext = ($encoding == 'gzip' ? 'deflate' : 'gzip'); | 
| 83 | - $contents = gzencode($code,9,$flag); | |
| 84 | - file_put_contents(__FILE__.'.'.$ext,$contents); | |
| 83 | + $contents = gzencode($code, 9, $flag); | |
| 84 | + file_put_contents(__FILE__.'.'.$ext, $contents); | |
| 85 | 85 | } | 
| 86 | 86 | } | 
| @@ -1,5 +1,8 @@ discard block | ||
| 1 | 1 | <?php | 
| 2 | -if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly | |
| 2 | +if ( ! defined( 'ABSPATH' ) ) { | |
| 3 | + exit; | |
| 4 | +} | |
| 5 | +// Exit if accessed directly | |
| 3 | 6 | |
| 4 | 7 |  class autoptimizeHTML extends autoptimizeBase { | 
| 5 | 8 | private $keepcomments = false; | 
| @@ -26,8 +29,9 @@ discard block | ||
| 26 | 29 | //Joins and optimizes CSS | 
| 27 | 30 |      public function minify() { | 
| 28 | 31 | $noptimizeHTML = apply_filters( 'autoptimize_filter_html_noptimize', false, $this->content ); | 
| 29 | - if ($noptimizeHTML) | |
| 30 | - return false; | |
| 32 | +        if ($noptimizeHTML) { | |
| 33 | + return false; | |
| 34 | + } | |
| 31 | 35 | |
| 32 | 36 |          if(class_exists('Minify_HTML')) { | 
| 33 | 37 | // wrap the to-be-excluded strings in noptimize tags | 
| @@ -1,5 +1,5 @@ discard block | ||
| 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 | ||
| 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 | ||
| 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 | ||
| 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 | ||
| 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('#<[^>]*(=\"[^"\'<>\s]*\")(\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('#<[^>]*(=\"[^"\'<>\s]*\")(\w)#', '$1 $2', $this->content); | |
| 73 | 73 | } | 
| 74 | 74 | |
| 75 | 75 | return true; | 
| @@ -273,12 +273,12 @@ discard block | ||
| 273 | 273 | return true; | 
| 274 | 274 | } | 
| 275 | 275 | |
| 276 | - // we have to check for a preceding keyword, and we don't need to pattern | |
| 277 | - // match over the whole output. | |
| 278 | - $recentOutput = substr($this->output, -10); | |
| 276 | + // we have to check for a preceding keyword, and we don't need to pattern | |
| 277 | + // match over the whole output. | |
| 278 | + $recentOutput = substr($this->output, -10); | |
| 279 | 279 | |
| 280 | - // check if return/typeof directly precede a pattern without a space | |
| 281 | -	foreach (array('return', 'typeof') as $keyword) {
 | |
| 280 | + // check if return/typeof directly precede a pattern without a space | |
| 281 | +    foreach (array('return', 'typeof') as $keyword) {
 | |
| 282 | 282 |              if ($this->a !== substr($keyword, -1)) {
 | 
| 283 | 283 | // certainly wasn't keyword | 
| 284 | 284 | continue; | 
| @@ -290,13 +290,13 @@ discard block | ||
| 290 | 290 | } | 
| 291 | 291 | } | 
| 292 | 292 | |
| 293 | - // check all keywords | |
| 294 | -	if ($this->a === ' ' || $this->a === "\n") {
 | |
| 295 | -		if (preg_match('~(^|[\\s\\S])(?:case|else|in|return|typeof)$~', $recentOutput, $m)) {
 | |
| 296 | -			if ($m[1] === '' || !$this->isAlphaNum($m[1])) {
 | |
| 297 | - return true; | |
| 298 | - } | |
| 299 | - } | |
| 293 | + // check all keywords | |
| 294 | +    if ($this->a === ' ' || $this->a === "\n") {
 | |
| 295 | +        if (preg_match('~(^|[\\s\\S])(?:case|else|in|return|typeof)$~', $recentOutput, $m)) {
 | |
| 296 | +            if ($m[1] === '' || !$this->isAlphaNum($m[1])) {
 | |
| 297 | + return true; | |
| 298 | + } | |
| 299 | + } | |
| 300 | 300 | } | 
| 301 | 301 | |
| 302 | 302 | return false; | 
| @@ -68,7 +68,7 @@ discard block | ||
| 68 | 68 | protected $inputLength = 0; | 
| 69 | 69 | protected $lookAhead = null; | 
| 70 | 70 | protected $output = ''; | 
| 71 | - protected $lastByteOut = ''; | |
| 71 | + protected $lastByteOut = ''; | |
| 72 | 72 | protected $keptComment = ''; | 
| 73 | 73 | |
| 74 | 74 | /** | 
| @@ -104,7 +104,7 @@ discard block | ||
| 104 | 104 | } | 
| 105 | 105 | |
| 106 | 106 | $mbIntEnc = null; | 
| 107 | -        if (function_exists('mb_strlen') && ((int)ini_get('mbstring.func_overload') & 2)) {
 | |
| 107 | +        if (function_exists('mb_strlen') && ((int) ini_get('mbstring.func_overload') & 2)) {
 | |
| 108 | 108 | $mbIntEnc = mb_internal_encoding(); | 
| 109 | 109 |              mb_internal_encoding('8bit');
 | 
| 110 | 110 | } | 
| @@ -121,7 +121,7 @@ discard block | ||
| 121 | 121 |                          && ($this->b === $this->lastByteOut)) {
 | 
| 122 | 122 | // Don't delete this space. If we do, the addition/subtraction | 
| 123 | 123 | // could be parsed as a post-increment | 
| 124 | -                } elseif (! $this->isAlphaNum($this->b)) {
 | |
| 124 | +                } elseif (!$this->isAlphaNum($this->b)) {
 | |
| 125 | 125 | $command = self::ACTION_DELETE_A; | 
| 126 | 126 | } | 
| 127 | 127 |              } elseif ($this->a === "\n") {
 | 
| @@ -132,10 +132,10 @@ discard block | ||
| 132 | 132 | // otherwise mb_strpos will give WARNING | 
| 133 | 133 | } elseif ($this->b === null | 
| 134 | 134 |                            || (false === strpos('{[(+-!~', $this->b)
 | 
| 135 | -                              && ! $this->isAlphaNum($this->b))) {
 | |
| 135 | +                              && !$this->isAlphaNum($this->b))) {
 | |
| 136 | 136 | $command = self::ACTION_DELETE_A; | 
| 137 | 137 | } | 
| 138 | -            } elseif (! $this->isAlphaNum($this->a)) {
 | |
| 138 | +            } elseif (!$this->isAlphaNum($this->a)) {
 | |
| 139 | 139 | if ($this->b === ' ' | 
| 140 | 140 | || ($this->b === "\n" | 
| 141 | 141 |                          && (false === strpos('}])+-"\'', $this->a)))) {
 | 
| @@ -191,7 +191,7 @@ discard block | ||
| 191 | 191 | $this->a = $this->b; | 
| 192 | 192 |                  if ($this->a === "'" || $this->a === '"') { // string literal
 | 
| 193 | 193 | $str = $this->a; // in case needed for exception | 
| 194 | -                    for(;;) {
 | |
| 194 | +                    for (;;) {
 | |
| 195 | 195 | $this->output .= $this->a; | 
| 196 | 196 | $this->lastByteOut = $this->a; | 
| 197 | 197 | |
| @@ -218,13 +218,13 @@ discard block | ||
| 218 | 218 | case self::ACTION_DELETE_A_B: // 3 | 
| 219 | 219 | $this->b = $this->next(); | 
| 220 | 220 |                  if ($this->b === '/' && $this->isRegexpLiteral()) {
 | 
| 221 | - $this->output .= $this->a . $this->b; | |
| 221 | + $this->output .= $this->a.$this->b; | |
| 222 | 222 | $pattern = '/'; // keep entire pattern in case we need to report it in the exception | 
| 223 | -                    for(;;) {
 | |
| 223 | +                    for (;;) {
 | |
| 224 | 224 | $this->a = $this->get(); | 
| 225 | 225 | $pattern .= $this->a; | 
| 226 | 226 |                          if ($this->a === '[') {
 | 
| 227 | -                            for(;;) {
 | |
| 227 | +                            for (;;) {
 | |
| 228 | 228 | $this->output .= $this->a; | 
| 229 | 229 | $this->a = $this->get(); | 
| 230 | 230 | $pattern .= $this->a; | 
| @@ -239,7 +239,7 @@ discard block | ||
| 239 | 239 |                                  if ($this->isEOF($this->a)) {
 | 
| 240 | 240 | throw new JSMin_UnterminatedRegExpException( | 
| 241 | 241 | "JSMin: Unterminated set in RegExp at byte " | 
| 242 | -                                            . $this->inputIndex .": {$pattern}");
 | |
| 242 | +                                            . $this->inputIndex.": {$pattern}");
 | |
| 243 | 243 | } | 
| 244 | 244 | } | 
| 245 | 245 | } | 
| @@ -283,7 +283,7 @@ discard block | ||
| 283 | 283 | // certainly wasn't keyword | 
| 284 | 284 | continue; | 
| 285 | 285 | } | 
| 286 | -            if (preg_match("~(^|[\\s\\S])" . substr($keyword, 0, -1) . "$~", $recentOutput, $m)) {
 | |
| 286 | +            if (preg_match("~(^|[\\s\\S])".substr($keyword, 0, -1)."$~", $recentOutput, $m)) {
 | |
| 287 | 287 |                  if ($m[1] === '' || !$this->isAlphaNum($m[1])) {
 | 
| 288 | 288 | return true; | 
| 289 | 289 | } | 
| @@ -392,7 +392,7 @@ discard block | ||
| 392 | 392 |      {
 | 
| 393 | 393 | $this->get(); | 
| 394 | 394 | $comment = ''; | 
| 395 | -        for(;;) {
 | |
| 395 | +        for (;;) {
 | |
| 396 | 396 | $get = $this->get(); | 
| 397 | 397 |              if ($get === '*') {
 | 
| 398 | 398 |                  if ($this->peek() === '/') { // end of comment reached
 | 
| @@ -403,7 +403,7 @@ discard block | ||
| 403 | 403 | // don't prepend a newline if two comments right after one another | 
| 404 | 404 | $this->keptComment = "\n"; | 
| 405 | 405 | } | 
| 406 | - $this->keptComment .= "/*!" . substr($comment, 1) . "*/\n"; | |
| 406 | + $this->keptComment .= "/*!".substr($comment, 1)."*/\n"; | |
| 407 | 407 |                      } else if (preg_match('/^@(?:cc_on|if|elif|else|end)\\b/', $comment)) {
 | 
| 408 | 408 | // IE conditional | 
| 409 | 409 |                          $this->keptComment .= "/*{$comment}*/";
 | 
| @@ -68,7 +68,7 @@ discard block | ||
| 68 | 68 | protected $inputLength = 0; | 
| 69 | 69 | protected $lookAhead = null; | 
| 70 | 70 | protected $output = ''; | 
| 71 | - protected $lastByteOut = ''; | |
| 71 | + protected $lastByteOut = ''; | |
| 72 | 72 | protected $keptComment = ''; | 
| 73 | 73 | |
| 74 | 74 | /** | 
| @@ -104,7 +104,7 @@ discard block | ||
| 104 | 104 | } | 
| 105 | 105 | |
| 106 | 106 | $mbIntEnc = null; | 
| 107 | -        if (function_exists('mb_strlen') && ((int)ini_get('mbstring.func_overload') & 2)) { | |
| 107 | +        if (function_exists('mb_strlen') && ((int) ini_get('mbstring.func_overload') & 2)) { | |
| 108 | 108 | $mbIntEnc = mb_internal_encoding(); | 
| 109 | 109 |              mb_internal_encoding('8bit'); | 
| 110 | 110 | } | 
| @@ -126,7 +126,7 @@ discard block | ||
| 126 | 126 |                          && ($this->b === $this->lastByteOut)) { | 
| 127 | 127 | // Don't delete this space. If we do, the addition/subtraction | 
| 128 | 128 | // could be parsed as a post-increment | 
| 129 | -                } elseif (! $this->isAlphaNum($this->b)) { | |
| 129 | +                } elseif (!$this->isAlphaNum($this->b)) { | |
| 130 | 130 | $command = self::ACTION_DELETE_A; | 
| 131 | 131 | } | 
| 132 | 132 |              } elseif ($this->a === "\n") { | 
| @@ -137,10 +137,10 @@ discard block | ||
| 137 | 137 | // otherwise mb_strpos will give WARNING | 
| 138 | 138 | } elseif ($this->b === null | 
| 139 | 139 |                            || (false === strpos('{[(+-!~', $this->b) | 
| 140 | -                              && ! $this->isAlphaNum($this->b))) { | |
| 140 | +                              && !$this->isAlphaNum($this->b))) { | |
| 141 | 141 | $command = self::ACTION_DELETE_A; | 
| 142 | 142 | } | 
| 143 | -            } elseif (! $this->isAlphaNum($this->a)) { | |
| 143 | +            } elseif (!$this->isAlphaNum($this->a)) { | |
| 144 | 144 | if ($this->b === ' ' | 
| 145 | 145 | || ($this->b === "\n" | 
| 146 | 146 |                          && (false === strpos('}])+-"\'', $this->a)))) { | 
| @@ -197,7 +197,7 @@ discard block | ||
| 197 | 197 |                  if ($this->a === "'" || $this->a === '"' || $this->a === '`') { // string/template literal | 
| 198 | 198 | $delimiter = $this->a; | 
| 199 | 199 | $str = $this->a; // in case needed for exception | 
| 200 | -                    for(;;) { | |
| 200 | +                    for (;;) { | |
| 201 | 201 | $this->output .= $this->a; | 
| 202 | 202 | $this->lastByteOut = $this->a; | 
| 203 | 203 | $this->a = $this->get(); | 
| @@ -225,13 +225,13 @@ discard block | ||
| 225 | 225 | case self::ACTION_DELETE_A_B: // 3 | 
| 226 | 226 | $this->b = $this->next(); | 
| 227 | 227 |                  if ($this->b === '/' && $this->isRegexpLiteral()) { | 
| 228 | - $this->output .= $this->a . $this->b; | |
| 228 | + $this->output .= $this->a.$this->b; | |
| 229 | 229 | $pattern = '/'; // keep entire pattern in case we need to report it in the exception | 
| 230 | -                    for(;;) { | |
| 230 | +                    for (;;) { | |
| 231 | 231 | $this->a = $this->get(); | 
| 232 | 232 | $pattern .= $this->a; | 
| 233 | 233 |                          if ($this->a === '[') { | 
| 234 | -                            for(;;) { | |
| 234 | +                            for (;;) { | |
| 235 | 235 | $this->output .= $this->a; | 
| 236 | 236 | $this->a = $this->get(); | 
| 237 | 237 | $pattern .= $this->a; | 
| @@ -246,7 +246,7 @@ discard block | ||
| 246 | 246 |                                  if ($this->isEOF($this->a)) { | 
| 247 | 247 | throw new JSMin_UnterminatedRegExpException( | 
| 248 | 248 | "JSMin: Unterminated set in RegExp at byte " | 
| 249 | -                                            . $this->inputIndex .": {$pattern}"); | |
| 249 | +                                            . $this->inputIndex.": {$pattern}"); | |
| 250 | 250 | } | 
| 251 | 251 | } | 
| 252 | 252 | } | 
| @@ -291,7 +291,7 @@ discard block | ||
| 291 | 291 | |
| 292 | 292 | // if the "/" follows a keyword, it must be a regexp, otherwise it's best to assume division | 
| 293 | 293 | |
| 294 | - $subject = $this->output . trim($this->a); | |
| 294 | + $subject = $this->output.trim($this->a); | |
| 295 | 295 |          if (!preg_match('/(?:case|else|in|return|typeof)$/', $subject, $m)) { | 
| 296 | 296 | // not a keyword | 
| 297 | 297 | return false; | 
| @@ -402,7 +402,7 @@ discard block | ||
| 402 | 402 |      { | 
| 403 | 403 | $this->get(); | 
| 404 | 404 | $comment = ''; | 
| 405 | -        for(;;) { | |
| 405 | +        for (;;) { | |
| 406 | 406 | $get = $this->get(); | 
| 407 | 407 |              if ($get === '*') { | 
| 408 | 408 |                  if ($this->peek() === '/') { // end of comment reached | 
| @@ -413,7 +413,7 @@ discard block | ||
| 413 | 413 | // don't prepend a newline if two comments right after one another | 
| 414 | 414 | $this->keptComment = "\n"; | 
| 415 | 415 | } | 
| 416 | - $this->keptComment .= "/*!" . substr($comment, 1) . "*/\n"; | |
| 416 | + $this->keptComment .= "/*!".substr($comment, 1)."*/\n"; | |
| 417 | 417 |                      } else if (preg_match('/^@(?:cc_on|if|elif|else|end)\\b/', $comment)) { | 
| 418 | 418 | // IE conditional | 
| 419 | 419 |                          $this->keptComment .= "/*{$comment}*/"; | 
| @@ -46,62 +46,62 @@ discard block | ||
| 46 | 46 | */ | 
| 47 | 47 | |
| 48 | 48 |  class JSMin {
 | 
| 49 | - const ORD_LF = 10; | |
| 50 | - const ORD_SPACE = 32; | |
| 49 | + const ORD_LF = 10; | |
| 50 | + const ORD_SPACE = 32; | |
| 51 | 51 | |
| 52 | - protected $a = ''; | |
| 53 | - protected $b = ''; | |
| 54 | - protected $input = ''; | |
| 55 | - protected $inputIndex = 0; | |
| 56 | - protected $inputLength = 0; | |
| 57 | - protected $lookAhead = null; | |
| 58 | - protected $output = ''; | |
| 52 | + protected $a = ''; | |
| 53 | + protected $b = ''; | |
| 54 | + protected $input = ''; | |
| 55 | + protected $inputIndex = 0; | |
| 56 | + protected $inputLength = 0; | |
| 57 | + protected $lookAhead = null; | |
| 58 | + protected $output = ''; | |
| 59 | 59 | |
| 60 | - // -- Public Static Methods -------------------------------------------------- | |
| 60 | + // -- Public Static Methods -------------------------------------------------- | |
| 61 | 61 | |
| 62 | -  public static function minify($js) {
 | |
| 62 | +    public static function minify($js) {
 | |
| 63 | 63 | $jsmin = new JSMin($js); | 
| 64 | 64 | return $jsmin->min(); | 
| 65 | - } | |
| 65 | + } | |
| 66 | 66 | |
| 67 | - // -- Public Instance Methods ------------------------------------------------ | |
| 67 | + // -- Public Instance Methods ------------------------------------------------ | |
| 68 | 68 | |
| 69 | -  public function __construct($input) {
 | |
| 69 | +    public function __construct($input) {
 | |
| 70 | 70 |      $this->input       = str_replace("\r\n", "\n", $input);
 | 
| 71 | 71 | $this->inputLength = strlen($this->input); | 
| 72 | - } | |
| 72 | + } | |
| 73 | 73 | |
| 74 | - // -- Protected Instance Methods --------------------------------------------- | |
| 74 | + // -- Protected Instance Methods --------------------------------------------- | |
| 75 | 75 | |
| 76 | -  protected function action($d) {
 | |
| 76 | +    protected function action($d) {
 | |
| 77 | 77 |      switch($d) {
 | 
| 78 | - case 1: | |
| 78 | + case 1: | |
| 79 | 79 | $this->output .= $this->a; | 
| 80 | 80 | |
| 81 | - case 2: | |
| 81 | + case 2: | |
| 82 | 82 | $this->a = $this->b; | 
| 83 | 83 | |
| 84 | 84 |          if ($this->a === "'" || $this->a === '"') {
 | 
| 85 | -          for (;;) {
 | |
| 85 | +            for (;;) {
 | |
| 86 | 86 | $this->output .= $this->a; | 
| 87 | 87 | $this->a = $this->get(); | 
| 88 | 88 | |
| 89 | 89 |              if ($this->a === $this->b) {
 | 
| 90 | - break; | |
| 90 | + break; | |
| 91 | 91 | } | 
| 92 | 92 | |
| 93 | 93 |              if (ord($this->a) <= self::ORD_LF) {
 | 
| 94 | -              throw new JSMinException('Unterminated string literal.');
 | |
| 94 | +                throw new JSMinException('Unterminated string literal.');
 | |
| 95 | 95 | } | 
| 96 | 96 | |
| 97 | 97 |              if ($this->a === '\\') {
 | 
| 98 | - $this->output .= $this->a; | |
| 99 | - $this->a = $this->get(); | |
| 98 | + $this->output .= $this->a; | |
| 99 | + $this->a = $this->get(); | |
| 100 | + } | |
| 100 | 101 | } | 
| 101 | - } | |
| 102 | 102 | } | 
| 103 | 103 | |
| 104 | - case 3: | |
| 104 | + case 3: | |
| 105 | 105 | $this->b = $this->next(); | 
| 106 | 106 | |
| 107 | 107 | if ($this->b === '/' && ( | 
| @@ -109,70 +109,70 @@ discard block | ||
| 109 | 109 | $this->a === ':' || $this->a === '[' || $this->a === '!' || | 
| 110 | 110 |              $this->a === '&' || $this->a === '|' || $this->a === '?')) {
 | 
| 111 | 111 | |
| 112 | - $this->output .= $this->a . $this->b; | |
| 112 | + $this->output .= $this->a . $this->b; | |
| 113 | 113 | |
| 114 | -          for (;;) {
 | |
| 114 | +            for (;;) {
 | |
| 115 | 115 | $this->a = $this->get(); | 
| 116 | 116 | |
| 117 | 117 |              if ($this->a === '/') {
 | 
| 118 | - break; | |
| 118 | + break; | |
| 119 | 119 |              } elseif ($this->a === '\\') {
 | 
| 120 | - $this->output .= $this->a; | |
| 121 | - $this->a = $this->get(); | |
| 120 | + $this->output .= $this->a; | |
| 121 | + $this->a = $this->get(); | |
| 122 | 122 |              } elseif (ord($this->a) <= self::ORD_LF) {
 | 
| 123 | -              throw new JSMinException('Unterminated regular expression '.
 | |
| 124 | - 'literal.'); | |
| 123 | +                throw new JSMinException('Unterminated regular expression '.
 | |
| 124 | + 'literal.'); | |
| 125 | 125 | } | 
| 126 | 126 | |
| 127 | 127 | $this->output .= $this->a; | 
| 128 | - } | |
| 128 | + } | |
| 129 | 129 | |
| 130 | - $this->b = $this->next(); | |
| 130 | + $this->b = $this->next(); | |
| 131 | 131 | } | 
| 132 | 132 | } | 
| 133 | - } | |
| 133 | + } | |
| 134 | 134 | |
| 135 | -  protected function get() {
 | |
| 135 | +    protected function get() {
 | |
| 136 | 136 | $c = $this->lookAhead; | 
| 137 | 137 | $this->lookAhead = null; | 
| 138 | 138 | |
| 139 | 139 |      if ($c === null) {
 | 
| 140 | -      if ($this->inputIndex < $this->inputLength) {
 | |
| 140 | +        if ($this->inputIndex < $this->inputLength) {
 | |
| 141 | 141 | $c = $this->input[$this->inputIndex]; | 
| 142 | 142 | $this->inputIndex += 1; | 
| 143 | -      } else {
 | |
| 143 | +        } else {
 | |
| 144 | 144 | $c = null; | 
| 145 | - } | |
| 145 | + } | |
| 146 | 146 | } | 
| 147 | 147 | |
| 148 | 148 |      if ($c === "\r") {
 | 
| 149 | - return "\n"; | |
| 149 | + return "\n"; | |
| 150 | 150 | } | 
| 151 | 151 | |
| 152 | 152 |      if ($c === null || $c === "\n" || ord($c) >= self::ORD_SPACE) {
 | 
| 153 | - return $c; | |
| 153 | + return $c; | |
| 154 | 154 | } | 
| 155 | 155 | |
| 156 | 156 | return ' '; | 
| 157 | - } | |
| 157 | + } | |
| 158 | 158 | |
| 159 | -  protected function isAlphaNum($c) {
 | |
| 159 | +    protected function isAlphaNum($c) {
 | |
| 160 | 160 |      return ord($c) > 126 || $c === '\\' || preg_match('/^[\w\$]$/', $c) === 1;
 | 
| 161 | - } | |
| 161 | + } | |
| 162 | 162 | |
| 163 | -  protected function min() {
 | |
| 163 | +    protected function min() {
 | |
| 164 | 164 | $this->a = "\n"; | 
| 165 | 165 | $this->action(3); | 
| 166 | 166 | |
| 167 | 167 |      while ($this->a !== null) {
 | 
| 168 | -      switch ($this->a) {
 | |
| 168 | +        switch ($this->a) {
 | |
| 169 | 169 | case ' ': | 
| 170 | 170 |            if ($this->isAlphaNum($this->b)) {
 | 
| 171 | 171 | $this->action(1); | 
| 172 | -          } else {
 | |
| 172 | +            } else {
 | |
| 173 | 173 | $this->action(2); | 
| 174 | - } | |
| 175 | - break; | |
| 174 | + } | |
| 175 | + break; | |
| 176 | 176 | |
| 177 | 177 | case "\n": | 
| 178 | 178 |            switch ($this->b) {
 | 
| @@ -182,21 +182,21 @@ discard block | ||
| 182 | 182 | case '+': | 
| 183 | 183 | case '-': | 
| 184 | 184 | $this->action(1); | 
| 185 | - break; | |
| 185 | + break; | |
| 186 | 186 | |
| 187 | 187 | case ' ': | 
| 188 | 188 | $this->action(3); | 
| 189 | - break; | |
| 189 | + break; | |
| 190 | 190 | |
| 191 | 191 | default: | 
| 192 | 192 |                if ($this->isAlphaNum($this->b)) {
 | 
| 193 | 193 | $this->action(1); | 
| 194 | - } | |
| 195 | -              else {
 | |
| 194 | + } | |
| 195 | +                else {
 | |
| 196 | 196 | $this->action(2); | 
| 197 | - } | |
| 198 | - } | |
| 199 | - break; | |
| 197 | + } | |
| 198 | + } | |
| 199 | + break; | |
| 200 | 200 | |
| 201 | 201 | default: | 
| 202 | 202 |            switch ($this->b) {
 | 
| @@ -204,10 +204,10 @@ discard block | ||
| 204 | 204 |                if ($this->isAlphaNum($this->a)) {
 | 
| 205 | 205 | $this->action(1); | 
| 206 | 206 | break; | 
| 207 | - } | |
| 207 | + } | |
| 208 | 208 | |
| 209 | - $this->action(3); | |
| 210 | - break; | |
| 209 | + $this->action(3); | |
| 210 | + break; | |
| 211 | 211 | |
| 212 | 212 | case "\n": | 
| 213 | 213 |                switch ($this->a) {
 | 
| @@ -219,71 +219,71 @@ discard block | ||
| 219 | 219 | case '"': | 
| 220 | 220 | case "'": | 
| 221 | 221 | $this->action(1); | 
| 222 | - break; | |
| 222 | + break; | |
| 223 | 223 | |
| 224 | 224 | default: | 
| 225 | 225 |                    if ($this->isAlphaNum($this->a)) {
 | 
| 226 | 226 | $this->action(1); | 
| 227 | - } | |
| 228 | -                  else {
 | |
| 227 | + } | |
| 228 | +                    else {
 | |
| 229 | 229 | $this->action(3); | 
| 230 | - } | |
| 231 | - } | |
| 232 | - break; | |
| 230 | + } | |
| 231 | + } | |
| 232 | + break; | |
| 233 | 233 | |
| 234 | 234 | default: | 
| 235 | 235 | $this->action(1); | 
| 236 | - break; | |
| 237 | - } | |
| 238 | - } | |
| 236 | + break; | |
| 237 | + } | |
| 238 | + } | |
| 239 | 239 | } | 
| 240 | 240 | |
| 241 | 241 | return $this->output; | 
| 242 | - } | |
| 242 | + } | |
| 243 | 243 | |
| 244 | -  protected function next() {
 | |
| 244 | +    protected function next() {
 | |
| 245 | 245 | $c = $this->get(); | 
| 246 | 246 | |
| 247 | 247 |      if ($c === '/') {
 | 
| 248 | -      switch($this->peek()) {
 | |
| 248 | +        switch($this->peek()) {
 | |
| 249 | 249 | case '/': | 
| 250 | 250 |            for (;;) {
 | 
| 251 | 251 | $c = $this->get(); | 
| 252 | 252 | |
| 253 | 253 |              if (ord($c) <= self::ORD_LF) {
 | 
| 254 | - return $c; | |
| 254 | + return $c; | |
| 255 | + } | |
| 255 | 256 | } | 
| 256 | - } | |
| 257 | 257 | |
| 258 | 258 | case '*': | 
| 259 | 259 | $this->get(); | 
| 260 | 260 | |
| 261 | -          for (;;) {
 | |
| 261 | +            for (;;) {
 | |
| 262 | 262 |              switch($this->get()) {
 | 
| 263 | - case '*': | |
| 263 | + case '*': | |
| 264 | 264 |                  if ($this->peek() === '/') {
 | 
| 265 | - $this->get(); | |
| 266 | - return ' '; | |
| 265 | + $this->get(); | |
| 266 | + return ' '; | |
| 267 | 267 | } | 
| 268 | 268 | break; | 
| 269 | 269 | |
| 270 | - case null: | |
| 270 | + case null: | |
| 271 | 271 |                  throw new JSMinException('Unterminated comment.');
 | 
| 272 | 272 | } | 
| 273 | - } | |
| 273 | + } | |
| 274 | 274 | |
| 275 | 275 | default: | 
| 276 | 276 | return $c; | 
| 277 | - } | |
| 277 | + } | |
| 278 | 278 | } | 
| 279 | 279 | |
| 280 | 280 | return $c; | 
| 281 | - } | |
| 281 | + } | |
| 282 | 282 | |
| 283 | -  protected function peek() {
 | |
| 283 | +    protected function peek() {
 | |
| 284 | 284 | $this->lookAhead = $this->get(); | 
| 285 | 285 | return $this->lookAhead; | 
| 286 | - } | |
| 286 | + } | |
| 287 | 287 | } | 
| 288 | 288 | |
| 289 | 289 | // -- Exceptions --------------------------------------------------------------- | 
| @@ -74,7 +74,7 @@ discard block | ||
| 74 | 74 | // -- Protected Instance Methods --------------------------------------------- | 
| 75 | 75 | |
| 76 | 76 |    protected function action($d) {
 | 
| 77 | -    switch($d) {
 | |
| 77 | +    switch ($d) {
 | |
| 78 | 78 | case 1: | 
| 79 | 79 | $this->output .= $this->a; | 
| 80 | 80 | |
| @@ -109,7 +109,7 @@ discard block | ||
| 109 | 109 | $this->a === ':' || $this->a === '[' || $this->a === '!' || | 
| 110 | 110 |              $this->a === '&' || $this->a === '|' || $this->a === '?')) {
 | 
| 111 | 111 | |
| 112 | - $this->output .= $this->a . $this->b; | |
| 112 | + $this->output .= $this->a.$this->b; | |
| 113 | 113 | |
| 114 | 114 |            for (;;) {
 | 
| 115 | 115 | $this->a = $this->get(); | 
| @@ -245,7 +245,7 @@ discard block | ||
| 245 | 245 | $c = $this->get(); | 
| 246 | 246 | |
| 247 | 247 |      if ($c === '/') {
 | 
| 248 | -      switch($this->peek()) {
 | |
| 248 | +      switch ($this->peek()) {
 | |
| 249 | 249 | case '/': | 
| 250 | 250 |            for (;;) {
 | 
| 251 | 251 | $c = $this->get(); | 
| @@ -259,7 +259,7 @@ discard block | ||
| 259 | 259 | $this->get(); | 
| 260 | 260 | |
| 261 | 261 |            for (;;) {
 | 
| 262 | -            switch($this->get()) {
 | |
| 262 | +            switch ($this->get()) {
 | |
| 263 | 263 | case '*': | 
| 264 | 264 |                  if ($this->peek() === '/') {
 | 
| 265 | 265 | $this->get(); | 
| @@ -191,8 +191,7 @@ discard block | ||
| 191 | 191 | default: | 
| 192 | 192 |                if ($this->isAlphaNum($this->b)) {
 | 
| 193 | 193 | $this->action(1); | 
| 194 | - } | |
| 195 | -              else {
 | |
| 194 | +              } else {
 | |
| 196 | 195 | $this->action(2); | 
| 197 | 196 | } | 
| 198 | 197 | } | 
| @@ -224,8 +223,7 @@ discard block | ||
| 224 | 223 | default: | 
| 225 | 224 |                    if ($this->isAlphaNum($this->a)) {
 | 
| 226 | 225 | $this->action(1); | 
| 227 | - } | |
| 228 | -                  else {
 | |
| 226 | +                  } else {
 | |
| 229 | 227 | $this->action(3); | 
| 230 | 228 | } | 
| 231 | 229 | } |