Async JavaScript - Version 2.21.06.29

Version Description

  • fix for an authenticated stored XSS vulnerability, credits to m0ze for discovering
  • confirmed working with WordPress 5.8 (beta)
Download this release

Release Info

Developer futtta
Plugin Icon 128x128 Async JavaScript
Version 2.21.06.29
Comparing to
See all releases

Code changes from version 2.20.12.09 to 2.21.06.29

async-javascript.php CHANGED
@@ -3,7 +3,7 @@
3
  * Plugin Name: Async JavaScript
4
  * Plugin URI: https://autoptimize.com/
5
  * Description: Async JavaScript gives you full control of which scripts to add a 'async' or 'defer' attribute to or to exclude to help increase the performance of your WordPress website
6
- * Version: 2.20.12.09
7
  * Author: Frank Goossens (futtta)
8
  * Author URI: https://autoptimize.com/
9
  * Text Domain: async-javascript
3
  * Plugin Name: Async JavaScript
4
  * Plugin URI: https://autoptimize.com/
5
  * Description: Async JavaScript gives you full control of which scripts to add a 'async' or 'defer' attribute to or to exclude to help increase the performance of your WordPress website
6
+ * Version: 2.21.06.29
7
  * Author: Frank Goossens (futtta)
8
  * Author URI: https://autoptimize.com/
9
  * Text Domain: async-javascript
asyncjsBackendClass.php CHANGED
@@ -17,7 +17,7 @@ class AsyncJavaScriptBackend {
17
  define( 'AJ_ADMIN_URL', trailingslashit( admin_url() ) );
18
  define( 'AJ_PLUGIN_URL', trailingslashit( plugin_dir_url( __FILE__ ) ) );
19
  define( 'AJ_PLUGIN_DIR', trailingslashit( plugin_dir_path( __FILE__ ) ) );
20
- define( 'AJ_VERSION', '2.20.12.09' );
21
  define( 'AJ_UA', 'Async JavaScript/' . AJ_VERSION . ' (+https://autoptimize.com/)' );
22
  add_filter( 'plugin_action_links_'.plugin_basename( 'async-javascript/async-javascript.php' ), array( $this, 'setmeta' ), 10, 2 );
23
  add_action( 'plugins_loaded', array( $this, 'aj_admin_init' ) );
17
  define( 'AJ_ADMIN_URL', trailingslashit( admin_url() ) );
18
  define( 'AJ_PLUGIN_URL', trailingslashit( plugin_dir_url( __FILE__ ) ) );
19
  define( 'AJ_PLUGIN_DIR', trailingslashit( plugin_dir_path( __FILE__ ) ) );
20
+ define( 'AJ_VERSION', '2.21.06.29' );
21
  define( 'AJ_UA', 'Async JavaScript/' . AJ_VERSION . ' (+https://autoptimize.com/)' );
22
  add_filter( 'plugin_action_links_'.plugin_basename( 'async-javascript/async-javascript.php' ), array( $this, 'setmeta' ), 10, 2 );
23
  add_action( 'plugins_loaded', array( $this, 'aj_admin_init' ) );
asyncjsStatusScreens.php CHANGED
@@ -13,7 +13,11 @@ if ($aj_gtmetrix_username != '' && $aj_gtmetrix_api_key != '') {
13
  $test->api_password($aj_gtmetrix_api_key);
14
  $test->user_agent(AJ_UA);
15
  $status = $test->status();
16
- $credits = $status['api_credits'];
 
 
 
 
17
  } else {
18
  $credits = 'N/A';
19
  }
@@ -165,7 +169,7 @@ if (isset($aj_gtmetrix_results['latest'])) {
165
  <li><?php _e("If you do not already have an account with GTmetrix, go ahead and sign up (it's FREE!).", 'async-javascript'); ?></li>
166
  <li><?php _e('Log in to your GTmetrix account.', 'async-javascript'); ?></li>
167
  <li><?php _e("If you haven't yet generated your API Key, click on <strong>Generate API Key</strong>", 'async-javascript'); ?></li>
168
- <li><?php _e('Copy your Username and API Key into the fields below:', 'async-javascript'); ?><br /><input type="text" id="aj_gtmetrix_username" value="<?php echo $aj_gtmetrix_username; ?>" placeholder="GTmetrix Username"><input type="text" id="aj_gtmetrix_api_key" value="<?php echo $aj_gtmetrix_api_key; ?>" placeholder="GTmetrix API Key"></li>
169
  <li><?php _e('Select the desired server.', 'async-javascript'); ?><br />
170
  <select id="aj_gtmetrix_server">
171
  <?php
13
  $test->api_password($aj_gtmetrix_api_key);
14
  $test->user_agent(AJ_UA);
15
  $status = $test->status();
16
+ if ( is_array( $status ) ) {
17
+ $credits = $status['api_credits'];
18
+ } else {
19
+ $credits = 'unknown';
20
+ }
21
  } else {
22
  $credits = 'N/A';
23
  }
169
  <li><?php _e("If you do not already have an account with GTmetrix, go ahead and sign up (it's FREE!).", 'async-javascript'); ?></li>
170
  <li><?php _e('Log in to your GTmetrix account.', 'async-javascript'); ?></li>
171
  <li><?php _e("If you haven't yet generated your API Key, click on <strong>Generate API Key</strong>", 'async-javascript'); ?></li>
172
+ <li><?php _e('Copy your Username and API Key into the fields below:', 'async-javascript'); ?><br /><input type="text" id="aj_gtmetrix_username" value="<?php echo esc_attr( $aj_gtmetrix_username ); ?>" placeholder="GTmetrix Username"><input type="text" id="aj_gtmetrix_api_key" value="<?php echo esc_attr( $aj_gtmetrix_api_key ); ?>" placeholder="GTmetrix API Key"></li>
173
  <li><?php _e('Select the desired server.', 'async-javascript'); ?><br />
174
  <select id="aj_gtmetrix_server">
175
  <?php
asyncjsWizardScreens.php CHANGED
@@ -34,7 +34,7 @@ if ($aj_gtmetrix_username != '' && $aj_gtmetrix_api_key != '') {
34
  <li><?php _e("If you do not already have an account with GTmetrix, go ahead and sign up (it's FREE!).", 'async-javascript'); ?></li>
35
  <li><?php _e('Log in to your GTmetrix account.', 'async-javascript'); ?></li>
36
  <li><?php _e("If you haven't yet generated your API Key, click on <strong>Generate API Key</strong>", 'async-javascript'); ?></li>
37
- <li><?php _e('Copy your Username and API Key into the fields below:', 'async-javascript'); ?><br /><input type="text" id="aj_gtmetrix_username" value="<?php echo $aj_gtmetrix_username; ?>" placeholder="GTmetrix Username"><input type="text" id="aj_gtmetrix_api_key" value="<?php echo $aj_gtmetrix_api_key; ?>" placeholder="GTmetrix API Key"></li>
38
  <li><?php _e('Select the desired server.', 'async-javascript'); ?><br />
39
  <select id="aj_gtmetrix_server">
40
  <?php
34
  <li><?php _e("If you do not already have an account with GTmetrix, go ahead and sign up (it's FREE!).", 'async-javascript'); ?></li>
35
  <li><?php _e('Log in to your GTmetrix account.', 'async-javascript'); ?></li>
36
  <li><?php _e("If you haven't yet generated your API Key, click on <strong>Generate API Key</strong>", 'async-javascript'); ?></li>
37
+ <li><?php _e('Copy your Username and API Key into the fields below:', 'async-javascript'); ?><br /><input type="text" id="aj_gtmetrix_username" value="<?php echo esc_attr( $aj_gtmetrix_username ); ?>" placeholder="GTmetrix Username"><input type="text" id="aj_gtmetrix_api_key" value="<?php echo esc_attr( $aj_gtmetrix_api_key ); ?>" placeholder="GTmetrix API Key"></li>
38
  <li><?php _e('Select the desired server.', 'async-javascript'); ?><br />
39
  <select id="aj_gtmetrix_server">
40
  <?php
readme.txt CHANGED
@@ -3,8 +3,8 @@ Contributors: (cloughit), optimizingmatters, futtta, wormeyman
3
  Donate link: http://blog.futtta.be/2013/10/21/do-not-donate-to-me/
4
  Tags: async, javascript, pagespeed, performance, render blocking
5
  Requires at least: 4.6
6
- Tested up to: 5.6
7
- Stable tag: 2.20.12.09
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -57,6 +57,11 @@ We recommend using the awesome <a href="https://wordpress.org/plugins/autoptimiz
57
 
58
  == Changelog ==
59
 
 
 
 
 
 
60
  = 2.20.12.09 =
61
 
62
  * fix for some ternary operators warning in PHP 7.4 and up.
3
  Donate link: http://blog.futtta.be/2013/10/21/do-not-donate-to-me/
4
  Tags: async, javascript, pagespeed, performance, render blocking
5
  Requires at least: 4.6
6
+ Tested up to: 5.8
7
+ Stable tag: 2.21.06.29
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
57
 
58
  == Changelog ==
59
 
60
+ = 2.21.06.29 =
61
+
62
+ * fix for an authenticated stored XSS vulnerability, credits to m0ze for discovering
63
+ * confirmed working with WordPress 5.8 (beta)
64
+
65
  = 2.20.12.09 =
66
 
67
  * fix for some ternary operators warning in PHP 7.4 and up.