| @@ -1,10 +1,10 @@ | ||
| 1 | 1 | <?php |
| 2 | 2 | /* |
| 3 | 3 | Plugin Name: Autoptimize |
| 4 | -Plugin URI: http://autoptimize.com/ | |
| 4 | +Plugin URI: http://blog.futtta.be/autoptimize | |
| 5 | 5 | Description: Optimizes your website, concatenating the CSS and JavaScript code, and compressing it. |
| 6 | -Version: 2.2.2 | |
| 6 | +Version: 2.1.2 | |
| 7 | 7 | Author: Frank Goossens (futtta) |
| 8 | 8 | Author URI: http://blog.futtta.be/ |
| 9 | 9 | Domain Path: localization/ |
| 10 | 10 | Text Domain: autoptimize |
| @@ -53,9 +53,9 @@ | ||
| 53 | 53 | |
| 54 | 54 | /* Check if we're updating, in which case we might need to do stuff and flush the cache |
| 55 | 55 | to avoid old versions of aggregated files lingering around */ |
| 56 | 56 | |
| 57 | -$autoptimize_version="2.2.0"; | |
| 57 | +$autoptimize_version="2.1.0"; | |
| 58 | 58 | $autoptimize_db_version=get_option('autoptimize_version','none'); |
| 59 | 59 | |
| 60 | 60 | if ($autoptimize_db_version !== $autoptimize_version) { |
| 61 | 61 | if ($autoptimize_db_version==="none") { |
| @@ -77,12 +77,12 @@ | ||
| 77 | 77 | |
| 78 | 78 | function autoptimize_uninstall(){ |
| 79 | 79 | autoptimizeCache::clearall(); |
| 80 | 80 | |
| 81 | - $delete_options=array("autoptimize_cache_clean", "autoptimize_cache_nogzip", "autoptimize_css", "autoptimize_css_datauris", "autoptimize_css_justhead", "autoptimize_css_defer", "autoptimize_css_defer_inline", "autoptimize_css_inline", "autoptimize_css_exclude", "autoptimize_html", "autoptimize_html_keepcomments", "autoptimize_js", "autoptimize_js_exclude", "autoptimize_js_forcehead", "autoptimize_js_justhead", "autoptimize_js_trycatch", "autoptimize_version", "autoptimize_show_adv", "autoptimize_cdn_url", "autoptimize_cachesize_notice","autoptimize_css_include_inline","autoptimize_js_include_inline","autoptimize_css_nogooglefont","autoptimize_optimize_logged","autoptimize_optimize_checkout"); | |
| 81 | + $delete_options=array("autoptimize_cache_clean", "autoptimize_cache_nogzip", "autoptimize_css", "autoptimize_css_datauris", "autoptimize_css_justhead", "autoptimize_css_defer", "autoptimize_css_defer_inline", "autoptimize_css_inline", "autoptimize_css_exclude", "autoptimize_html", "autoptimize_html_keepcomments", "autoptimize_js", "autoptimize_js_exclude", "autoptimize_js_forcehead", "autoptimize_js_justhead", "autoptimize_js_trycatch", "autoptimize_version", "autoptimize_show_adv", "autoptimize_cdn_url", "autoptimize_cachesize_notice","autoptimize_css_include_inline","autoptimize_js_include_inline","autoptimize_css_nogooglefont"); | |
| 82 | 82 | |
| 83 | 83 | if ( !is_multisite() ) { |
| 84 | - foreach ($delete_options as $del_opt) { delete_option( $del_opt ); } | |
| 84 | + foreach ($delete_options as $del_opt) { delete_option( $del_opt ); } | |
| 85 | 85 | } else { |
| 86 | 86 | global $wpdb; |
| 87 | 87 | $blog_ids = $wpdb->get_col( "SELECT blog_id FROM $wpdb->blogs" ); |
| 88 | 88 | $original_blog_id = get_current_blog_id(); |
| @@ -87,9 +87,9 @@ | ||
| 87 | 87 | $blog_ids = $wpdb->get_col( "SELECT blog_id FROM $wpdb->blogs" ); |
| 88 | 88 | $original_blog_id = get_current_blog_id(); |
| 89 | 89 | foreach ( $blog_ids as $blog_id ) { |
| 90 | 90 | switch_to_blog( $blog_id ); |
| 91 | - foreach ($delete_options as $del_opt) { delete_option( $del_opt ); } | |
| 91 | + foreach ($delete_options as $del_opt) { delete_option( $del_opt ); } | |
| 92 | 92 | } |
| 93 | 93 | switch_to_blog( $original_blog_id ); |
| 94 | 94 | } |
| 95 | 95 | |
| @@ -111,9 +111,9 @@ | ||
| 111 | 111 | } |
| 112 | 112 | |
| 113 | 113 | function autoptimize_cache_unavailable_notice() { |
| 114 | 114 | echo '<div class="error"><p>'; |
| 115 | - printf( __( 'Autoptimize cannot write to the cache directory (%s), please fix to enable CSS/ JS optimization!', 'autoptimize' ), AUTOPTIMIZE_CACHE_DIR ); | |
| 115 | + _e('Autoptimize cannot write to the cache directory (default: /wp-content/cache/autoptimize), please fix to enable CSS/ JS optimization!', 'autoptimize' ); | |
| 116 | 116 | echo '</p></div>'; |
| 117 | 117 | } |
| 118 | 118 | |
| 119 | 119 | // Set up the buffering |
| @@ -120,10 +120,10 @@ | ||
| 120 | 120 | function autoptimize_start_buffering() { |
| 121 | 121 | $ao_noptimize = false; |
| 122 | 122 | |
| 123 | 123 | // noptimize in qs to get non-optimized page for debugging |
| 124 | - if (array_key_exists("ao_noptimize",$_GET) || array_key_exists("ao_noptirocket",$_GET)) { | |
| 125 | - if ( ( ($_GET["ao_noptimize"]==="1") || ($_GET["ao_noptirocket"]==="1") ) && (apply_filters('autoptimize_filter_honor_qs_noptimize',true)) ) { | |
| 124 | + if (array_key_exists("ao_noptimize",$_GET)) { | |
| 125 | + if ( ($_GET["ao_noptimize"]==="1") && (apply_filters('autoptimize_filter_honor_qs_noptimize',true)) ) { | |
| 126 | 126 | $ao_noptimize = true; |
| 127 | 127 | } |
| 128 | 128 | } |
| 129 | 129 | |
| @@ -131,33 +131,12 @@ | ||
| 131 | 131 | if (defined('DONOTMINIFY') && (constant('DONOTMINIFY')===true || constant('DONOTMINIFY')==="true")) { |
| 132 | 132 | $ao_noptimize = true; |
| 133 | 133 | } |
| 134 | 134 | |
| 135 | - // if setting says not to optimize logged in user and user is logged in | |
| 136 | - if ( get_option('autoptimize_optimize_logged','on') !== 'on' && is_user_logged_in() && current_user_can('edit_posts') ) { | |
| 137 | - $ao_noptimize = true; | |
| 138 | - } | |
| 139 | - | |
| 140 | - // if setting says not to optimize cart/ checkout | |
| 141 | - if ( get_option('autoptimize_optimize_checkout','on') !== 'on' ) { | |
| 142 | - // checking for woocommerce, easy digital downloads and wp ecommerce | |
| 143 | - foreach ( array("is_checkout","is_cart","edd_is_checkout","wpsc_is_cart","wpsc_is_checkout") as $shopCond ) { | |
| 144 | - if ( function_exists($shopCond) && $shopCond() ) { | |
| 145 | - $ao_noptimize = true; | |
| 146 | - break; | |
| 147 | - } | |
| 148 | - } | |
| 149 | - } | |
| 150 | - | |
| 151 | 135 | // filter you can use to block autoptimization on your own terms |
| 152 | 136 | $ao_noptimize = (bool) apply_filters( 'autoptimize_filter_noptimize', $ao_noptimize ); |
| 153 | 137 | |
| 154 | 138 | if (!is_feed() && !$ao_noptimize && !is_admin() && ( !function_exists('is_customize_preview') || !is_customize_preview() ) ) { |
| 155 | - // load speedupper conditionally (true by default?) | |
| 156 | - if ( apply_filters('autoptimize_filter_speedupper', true) ) { | |
| 157 | - include(AUTOPTIMIZE_PLUGIN_DIR.'classlesses/autoptimizeSpeedupper.php'); | |
| 158 | - } | |
| 159 | - | |
| 160 | 139 | // Config element |
| 161 | 140 | $conf = autoptimizeConfig::instance(); |
| 162 | 141 | |
| 163 | 142 | // Load our base class |
| @@ -212,8 +191,9 @@ | ||
| 212 | 191 | while (ob_get_level() > 0) { |
| 213 | 192 | ob_end_clean(); |
| 214 | 193 | } |
| 215 | 194 | } |
| 195 | + | |
| 216 | 196 | // Now, start the real thing! |
| 217 | 197 | ob_start('autoptimize_end_buffering'); |
| 218 | 198 | } |
| 219 | 199 | } |
| @@ -220,9 +200,9 @@ | ||
| 220 | 200 | |
| 221 | 201 | // Action on end, this is where the magic happens |
| 222 | 202 | function autoptimize_end_buffering($content) { |
| 223 | 203 | if ( ((stripos($content,"<html") === false) && (stripos($content,"<!DOCTYPE html") === false)) || preg_match('/<html[^>]*(?:amp|⚡)/',$content) === 1 || stripos($content,"<xsl:stylesheet") !== false ) { return $content; } |
| 224 | - | |
| 204 | + | |
| 225 | 205 | // load URL constants as late as possible to allow domain mapper to kick in |
| 226 | 206 | if (function_exists("domain_mapping_siteurl")) { |
| 227 | 207 | define('AUTOPTIMIZE_WP_SITE_URL',domain_mapping_siteurl(get_current_blog_id())); |
| 228 | 208 | define('AUTOPTIMIZE_WP_CONTENT_URL',str_replace(get_original_url(AUTOPTIMIZE_WP_SITE_URL),AUTOPTIMIZE_WP_SITE_URL,content_url())); |
| @@ -237,9 +217,9 @@ | ||
| 237 | 217 | } else { |
| 238 | 218 | define('AUTOPTIMIZE_CACHE_URL',AUTOPTIMIZE_WP_CONTENT_URL.AUTOPTIMIZE_CACHE_CHILD_DIR); |
| 239 | 219 | } |
| 240 | 220 | define('AUTOPTIMIZE_WP_ROOT_URL',str_replace(AUTOPTIMIZE_WP_CONTENT_NAME,'',AUTOPTIMIZE_WP_CONTENT_URL)); |
| 241 | - define('AUTOPTIMIZE_HASH',wp_hash(AUTOPTIMIZE_CACHE_DIR)); | |
| 221 | + define('AUTOPTIMIZE_HASH',wp_hash(AUTOPTIMIZE_CACHE_DIR . DB_HOST . DB_USER . DB_PASSWORD)); | |
| 242 | 222 | |
| 243 | 223 | // Config element |
| 244 | 224 | $conf = autoptimizeConfig::instance(); |
| 245 | 225 | |
| @@ -301,10 +281,9 @@ | ||
| 301 | 281 | // Hook to wordpress |
| 302 | 282 | if (defined('AUTOPTIMIZE_INIT_EARLIER')) { |
| 303 | 283 | add_action('init','autoptimize_start_buffering',-1); |
| 304 | 284 | } else { |
| 305 | - if (!defined('AUTOPTIMIZE_HOOK_INTO')) { define('AUTOPTIMIZE_HOOK_INTO', 'template_redirect'); } | |
| 306 | - add_action(constant("AUTOPTIMIZE_HOOK_INTO"),'autoptimize_start_buffering',2); | |
| 285 | + add_action('template_redirect','autoptimize_start_buffering',2); | |
| 307 | 286 | } |
| 308 | 287 | } |
| 309 | 288 | } else { |
| 310 | 289 | add_action('admin_notices', 'autoptimize_cache_unavailable_notice'); |
| @@ -309,13 +288,9 @@ | ||
| 309 | 288 | } else { |
| 310 | 289 | add_action('admin_notices', 'autoptimize_cache_unavailable_notice'); |
| 311 | 290 | } |
| 312 | 291 | |
| 313 | -function autoptimize_activate() { | |
| 314 | - register_uninstall_hook( __FILE__, 'autoptimize_uninstall' ); | |
| 315 | -} | |
| 316 | -register_activation_hook( __FILE__, 'autoptimize_activate' ); | |
| 317 | - | |
| 292 | +register_uninstall_hook(__FILE__, "autoptimize_uninstall"); | |
| 318 | 293 | include_once('classlesses/autoptimizeCacheChecker.php'); |
| 319 | 294 | |
| 320 | 295 | // Do not pollute other plugins |
| 321 | 296 | unset($conf); |