PluginProbe
Autoptimize / 2.1.2
Autoptimize v2.1.2
2.2.2 2.3.0 2.3.1 2.3.2 2.3.3 2.3.4 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.5.0 2.5.1 2.6.0 2.6.1 2.6.2 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.7.6 2.7.7 2.7.8 All 107 releases
← All changes | autoptimize.php +14 -39 2.2.22.1.2 View file →
@@ -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);