| @@ -1,12 +1,12 @@ | ||
| 1 | 1 | <?php |
| 2 | 2 | /* |
| 3 | 3 | Plugin Name: Autoptimize |
| 4 | -Plugin URI: https://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.3.0 | |
| 6 | +Version: 2.1.2 | |
| 7 | 7 | Author: Frank Goossens (futtta) |
| 8 | -Author URI: https://autoptimize.com/ | |
| 8 | +Author URI: http://blog.futtta.be/ | |
| 9 | 9 | Domain Path: localization/ |
| 10 | 10 | Text Domain: autoptimize |
| 11 | 11 | Released under the GNU General Public License (GPL) |
| 12 | 12 | http://www.gnu.org/licenses/gpl.txt |
| @@ -45,15 +45,10 @@ | ||
| 45 | 45 | } else { |
| 46 | 46 | define('AUTOPTIMIZE_CACHE_DIR', WP_CONTENT_DIR.AUTOPTIMIZE_CACHE_CHILD_DIR); |
| 47 | 47 | } |
| 48 | 48 | define('AUTOPTIMIZE_CACHE_DELAY',true); |
| 49 | -define('WP_ROOT_DIR',substr(WP_CONTENT_DIR, 0, strlen(WP_CONTENT_DIR)-strlen(AUTOPTIMIZE_WP_CONTENT_NAME))); | |
| 49 | +define('WP_ROOT_DIR',str_replace(AUTOPTIMIZE_WP_CONTENT_NAME,'',WP_CONTENT_DIR)); | |
| 50 | 50 | |
| 51 | -// WP CLI | |
| 52 | -if ( defined( 'WP_CLI' ) && WP_CLI ) { | |
| 53 | - require_once AUTOPTIMIZE_PLUGIN_DIR . 'classes/autoptimizeCLI.php'; | |
| 54 | -} | |
| 55 | - | |
| 56 | 51 | // Initialize the cache at least once |
| 57 | 52 | $conf = autoptimizeConfig::instance(); |
| 58 | 53 | |
| 59 | 54 | /* Check if we're updating, in which case we might need to do stuff and flush the cache |
| @@ -58,9 +53,9 @@ | ||
| 58 | 53 | |
| 59 | 54 | /* Check if we're updating, in which case we might need to do stuff and flush the cache |
| 60 | 55 | to avoid old versions of aggregated files lingering around */ |
| 61 | 56 | |
| 62 | -$autoptimize_version="2.3.0"; | |
| 57 | +$autoptimize_version="2.1.0"; | |
| 63 | 58 | $autoptimize_db_version=get_option('autoptimize_version','none'); |
| 64 | 59 | |
| 65 | 60 | if ($autoptimize_db_version !== $autoptimize_version) { |
| 66 | 61 | if ($autoptimize_db_version==="none") { |
| @@ -82,12 +77,12 @@ | ||
| 82 | 77 | |
| 83 | 78 | function autoptimize_uninstall(){ |
| 84 | 79 | autoptimizeCache::clearall(); |
| 85 | 80 | |
| 86 | - $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_optimize_logged","autoptimize_optimize_checkout","autoptimize_extra_settings"); | |
| 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"); | |
| 87 | 82 | |
| 88 | 83 | if ( !is_multisite() ) { |
| 89 | - foreach ($delete_options as $del_opt) { delete_option( $del_opt ); } | |
| 84 | + foreach ($delete_options as $del_opt) { delete_option( $del_opt ); } | |
| 90 | 85 | } else { |
| 91 | 86 | global $wpdb; |
| 92 | 87 | $blog_ids = $wpdb->get_col( "SELECT blog_id FROM $wpdb->blogs" ); |
| 93 | 88 | $original_blog_id = get_current_blog_id(); |
| @@ -92,9 +87,9 @@ | ||
| 92 | 87 | $blog_ids = $wpdb->get_col( "SELECT blog_id FROM $wpdb->blogs" ); |
| 93 | 88 | $original_blog_id = get_current_blog_id(); |
| 94 | 89 | foreach ( $blog_ids as $blog_id ) { |
| 95 | 90 | switch_to_blog( $blog_id ); |
| 96 | - foreach ($delete_options as $del_opt) { delete_option( $del_opt ); } | |
| 91 | + foreach ($delete_options as $del_opt) { delete_option( $del_opt ); } | |
| 97 | 92 | } |
| 98 | 93 | switch_to_blog( $original_blog_id ); |
| 99 | 94 | } |
| 100 | 95 | |
| @@ -116,9 +111,9 @@ | ||
| 116 | 111 | } |
| 117 | 112 | |
| 118 | 113 | function autoptimize_cache_unavailable_notice() { |
| 119 | 114 | echo '<div class="error"><p>'; |
| 120 | - 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' ); | |
| 121 | 116 | echo '</p></div>'; |
| 122 | 117 | } |
| 123 | 118 | |
| 124 | 119 | // Set up the buffering |
| @@ -125,10 +120,10 @@ | ||
| 125 | 120 | function autoptimize_start_buffering() { |
| 126 | 121 | $ao_noptimize = false; |
| 127 | 122 | |
| 128 | 123 | // noptimize in qs to get non-optimized page for debugging |
| 129 | - if (array_key_exists("ao_noptimize",$_GET) || array_key_exists("ao_noptirocket",$_GET)) { | |
| 130 | - 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)) ) { | |
| 131 | 126 | $ao_noptimize = true; |
| 132 | 127 | } |
| 133 | 128 | } |
| 134 | 129 | |
| @@ -136,33 +131,12 @@ | ||
| 136 | 131 | if (defined('DONOTMINIFY') && (constant('DONOTMINIFY')===true || constant('DONOTMINIFY')==="true")) { |
| 137 | 132 | $ao_noptimize = true; |
| 138 | 133 | } |
| 139 | 134 | |
| 140 | - // if setting says not to optimize logged in user and user is logged in | |
| 141 | - if ( get_option('autoptimize_optimize_logged','on') !== 'on' && is_user_logged_in() && current_user_can('edit_posts') ) { | |
| 142 | - $ao_noptimize = true; | |
| 143 | - } | |
| 144 | - | |
| 145 | - // if setting says not to optimize cart/ checkout | |
| 146 | - if ( get_option('autoptimize_optimize_checkout','on') !== 'on' ) { | |
| 147 | - // checking for woocommerce, easy digital downloads and wp ecommerce | |
| 148 | - foreach ( array("is_checkout","is_cart","edd_is_checkout","wpsc_is_cart","wpsc_is_checkout") as $shopCond ) { | |
| 149 | - if ( function_exists($shopCond) && $shopCond() ) { | |
| 150 | - $ao_noptimize = true; | |
| 151 | - break; | |
| 152 | - } | |
| 153 | - } | |
| 154 | - } | |
| 155 | - | |
| 156 | 135 | // filter you can use to block autoptimization on your own terms |
| 157 | 136 | $ao_noptimize = (bool) apply_filters( 'autoptimize_filter_noptimize', $ao_noptimize ); |
| 158 | 137 | |
| 159 | 138 | if (!is_feed() && !$ao_noptimize && !is_admin() && ( !function_exists('is_customize_preview') || !is_customize_preview() ) ) { |
| 160 | - // load speedupper conditionally (true by default?) | |
| 161 | - if ( apply_filters('autoptimize_filter_speedupper', true) ) { | |
| 162 | - include(AUTOPTIMIZE_PLUGIN_DIR.'classlesses/autoptimizeSpeedupper.php'); | |
| 163 | - } | |
| 164 | - | |
| 165 | 139 | // Config element |
| 166 | 140 | $conf = autoptimizeConfig::instance(); |
| 167 | 141 | |
| 168 | 142 | // Load our base class |
| @@ -217,8 +191,9 @@ | ||
| 217 | 191 | while (ob_get_level() > 0) { |
| 218 | 192 | ob_end_clean(); |
| 219 | 193 | } |
| 220 | 194 | } |
| 195 | + | |
| 221 | 196 | // Now, start the real thing! |
| 222 | 197 | ob_start('autoptimize_end_buffering'); |
| 223 | 198 | } |
| 224 | 199 | } |
| @@ -225,9 +200,9 @@ | ||
| 225 | 200 | |
| 226 | 201 | // Action on end, this is where the magic happens |
| 227 | 202 | function autoptimize_end_buffering($content) { |
| 228 | 203 | if ( ((stripos($content,"<html") === false) && (stripos($content,"<!DOCTYPE html") === false)) || preg_match('/<html[^>]*(?:amp|⚡)/',$content) === 1 || stripos($content,"<xsl:stylesheet") !== false ) { return $content; } |
| 229 | - | |
| 204 | + | |
| 230 | 205 | // load URL constants as late as possible to allow domain mapper to kick in |
| 231 | 206 | if (function_exists("domain_mapping_siteurl")) { |
| 232 | 207 | define('AUTOPTIMIZE_WP_SITE_URL',domain_mapping_siteurl(get_current_blog_id())); |
| 233 | 208 | define('AUTOPTIMIZE_WP_CONTENT_URL',str_replace(get_original_url(AUTOPTIMIZE_WP_SITE_URL),AUTOPTIMIZE_WP_SITE_URL,content_url())); |
| @@ -242,9 +217,9 @@ | ||
| 242 | 217 | } else { |
| 243 | 218 | define('AUTOPTIMIZE_CACHE_URL',AUTOPTIMIZE_WP_CONTENT_URL.AUTOPTIMIZE_CACHE_CHILD_DIR); |
| 244 | 219 | } |
| 245 | 220 | define('AUTOPTIMIZE_WP_ROOT_URL',str_replace(AUTOPTIMIZE_WP_CONTENT_NAME,'',AUTOPTIMIZE_WP_CONTENT_URL)); |
| 246 | - define('AUTOPTIMIZE_HASH',wp_hash(AUTOPTIMIZE_CACHE_DIR)); | |
| 221 | + define('AUTOPTIMIZE_HASH',wp_hash(AUTOPTIMIZE_CACHE_DIR . DB_HOST . DB_USER . DB_PASSWORD)); | |
| 247 | 222 | |
| 248 | 223 | // Config element |
| 249 | 224 | $conf = autoptimizeConfig::instance(); |
| 250 | 225 | |
| @@ -306,10 +281,9 @@ | ||
| 306 | 281 | // Hook to wordpress |
| 307 | 282 | if (defined('AUTOPTIMIZE_INIT_EARLIER')) { |
| 308 | 283 | add_action('init','autoptimize_start_buffering',-1); |
| 309 | 284 | } else { |
| 310 | - if (!defined('AUTOPTIMIZE_HOOK_INTO')) { define('AUTOPTIMIZE_HOOK_INTO', 'template_redirect'); } | |
| 311 | - add_action(constant("AUTOPTIMIZE_HOOK_INTO"),'autoptimize_start_buffering',2); | |
| 285 | + add_action('template_redirect','autoptimize_start_buffering',2); | |
| 312 | 286 | } |
| 313 | 287 | } |
| 314 | 288 | } else { |
| 315 | 289 | add_action('admin_notices', 'autoptimize_cache_unavailable_notice'); |
| @@ -314,20 +288,9 @@ | ||
| 314 | 288 | } else { |
| 315 | 289 | add_action('admin_notices', 'autoptimize_cache_unavailable_notice'); |
| 316 | 290 | } |
| 317 | 291 | |
| 318 | -function autoptimize_activate() { | |
| 319 | - register_uninstall_hook( __FILE__, 'autoptimize_uninstall' ); | |
| 320 | -} | |
| 321 | -register_activation_hook( __FILE__, 'autoptimize_activate' ); | |
| 322 | - | |
| 292 | +register_uninstall_hook(__FILE__, "autoptimize_uninstall"); | |
| 323 | 293 | include_once('classlesses/autoptimizeCacheChecker.php'); |
| 324 | - | |
| 325 | -add_action('plugins_loaded','includeAutoptimizeExtra'); | |
| 326 | -function includeAutoptimizeExtra() { | |
| 327 | - if ( apply_filters('autoptimize_filter_extra_activate',true) ) { | |
| 328 | - include_once('classlesses/autoptimizeExtra.php'); | |
| 329 | - } | |
| 330 | -} | |
| 331 | 294 | |
| 332 | 295 | // Do not pollute other plugins |
| 333 | 296 | unset($conf); |