Version Description
- [Update] Async mode will now serialize concurrent requests to the backend to optimize performance and reduce server load.
- [Fix] Addressed a remote XSS vulnerability disclosed by Sucuri/GoDaddy.
- [Fix] Charts were displaying the wrong label for certain values (thank you, Alex).
Download this release
Release Info
Developer | coolmann |
Plugin | Slimstat Analytics |
Version | 4.8.1 |
Comparing to | |
See all releases |
Code changes from version 4.8 to 4.8.1
- README.md +29 -1
- admin/js/slimstat.admin.js +46 -29
- admin/view/right-now.php +4 -4
- admin/view/wp-slimstat-reports.php +3 -3
- admin/wp-slimstat-admin.php +3 -5
- readme.txt +6 -1
- wp-slimstat.js +3 -3
- wp-slimstat.php +2 -2
README.md
CHANGED
@@ -6,13 +6,17 @@ Text Domain: wp-slimstat
|
|
6 |
**Requires at least:** 3.8
|
7 |
Requires PHP: 5.2
|
8 |
**Tested up to:** 5.1
|
9 |
-
**Stable tag:** 4.8
|
10 |
|
11 |
|
12 |
## Description
|
13 |
The leading web analytics plugin for WordPress. Track returning customers and registered users, monitor Javascript events, detect intrusions, analyze email campaigns. Thousands of WordPress sites are already using it.
|
14 |
|
15 |
|
|
|
|
|
|
|
|
|
16 |
### Main features
|
17 |
* Get access to real-time access log, measure server latency, track page events, keep an eye on your bounce rate and much more.
|
18 |
* Add shortcodes to your website to display reports in widgets or directly in posts and pages.
|
@@ -75,8 +79,32 @@ Slimstat is available in multiple languages: English, Belarusian (UStarCash), Ch
|
|
75 |
Our knowledge base is available on our [support center](https://docs.wp-slimstat.com/) website.
|
76 |
|
77 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
78 |
## Changelog
|
79 |
|
|
|
|
|
|
|
|
|
|
|
|
|
80 |
### 4.8
|
81 |
* [Note] Now that we have a cleaner foundation to build on, it's time to start introducing new reports and new ways to segment your audience and the traffic they generate. While our users test the latest changes and updates (to confirm that the foundation is indeed solid and bug-free), we are hard at work implementing the first batch of new reports. Some of them will be made available in the free version, while others will be added to our premium add-on, [User Overview](http://www.wp-slimstat.com/downloads/user-overview/). And we need your help! If you think that a specific report should be added to Slimstat, please do not hesitate to let us know!
|
82 |
* [Note] Worried about the recent [news regarding jQuery vulnerabilities](https://www.zdnet.com/article/popular-jquery-javascript-library-impacted-by-prototype-pollution-flaw/)? Slimstat doesn't use jQuery as a dependency, so you can sleep tight knowing that your website will not be affected.
|
6 |
**Requires at least:** 3.8
|
7 |
Requires PHP: 5.2
|
8 |
**Tested up to:** 5.1
|
9 |
+
**Stable tag:** 4.8.1
|
10 |
|
11 |
|
12 |
## Description
|
13 |
The leading web analytics plugin for WordPress. Track returning customers and registered users, monitor Javascript events, detect intrusions, analyze email campaigns. Thousands of WordPress sites are already using it.
|
14 |
|
15 |
|
16 |
+
### Feature Spotlight
|
17 |
+
[youtube https://www.youtube.com/watch?v=zEKP9yC8x6g]
|
18 |
+
|
19 |
+
|
20 |
### Main features
|
21 |
* Get access to real-time access log, measure server latency, track page events, keep an eye on your bounce rate and much more.
|
22 |
* Add shortcodes to your website to display reports in widgets or directly in posts and pages.
|
79 |
Our knowledge base is available on our [support center](https://docs.wp-slimstat.com/) website.
|
80 |
|
81 |
|
82 |
+
## Screenshots
|
83 |
+
### 1. **Overview** - Your website traffic at a glance
|
84 |
+
[missing image]
|
85 |
+
|
86 |
+
### 2. **Activity Log** - A real-time view of your visitors' whereabouts
|
87 |
+
[missing image]
|
88 |
+
|
89 |
+
### 3. **Settings** - Plenty of options to customize the plugin's behavior
|
90 |
+
[missing image]
|
91 |
+
|
92 |
+
### 4. **Interactive World Map** - See where your visitors are coming from
|
93 |
+
[missing image]
|
94 |
+
|
95 |
+
### 5. **Responsive layout** - Keep an eye on your reports on the go
|
96 |
+
[missing image]
|
97 |
+
|
98 |
+
|
99 |
+
|
100 |
## Changelog
|
101 |
|
102 |
+
### 4.8.1
|
103 |
+
* [Update] Async mode will now serialize concurrent requests to the backend to optimize performance and reduce server load.
|
104 |
+
* [Fix] Addressed a remote XSS vulnerability disclosed by Sucuri/GoDaddy.
|
105 |
+
* [Fix] Charts were displaying the wrong label for certain values (thank you, Alex).
|
106 |
+
|
107 |
+
|
108 |
### 4.8
|
109 |
* [Note] Now that we have a cleaner foundation to build on, it's time to start introducing new reports and new ways to segment your audience and the traffic they generate. While our users test the latest changes and updates (to confirm that the foundation is indeed solid and bug-free), we are hard at work implementing the first batch of new reports. Some of them will be made available in the free version, while others will be added to our premium add-on, [User Overview](http://www.wp-slimstat.com/downloads/user-overview/). And we need your help! If you think that a specific report should be added to Slimstat, please do not hesitate to let us know!
|
110 |
* [Note] Worried about the recent [news regarding jQuery vulnerabilities](https://www.zdnet.com/article/popular-jquery-javascript-library-impacted-by-prototype-pollution-flaw/)? Slimstat doesn't use jQuery as a dependency, so you can sleep tight knowing that your website will not be affected.
|
admin/js/slimstat.admin.js
CHANGED
@@ -26,7 +26,8 @@ jQuery( function() {
|
|
26 |
// Reload a report's data if it is (re)activated via the checkbox under Screen Options
|
27 |
jQuery( 'input.hide-postbox-tog[id^=slim_p]' ).on( 'click.postboxes', function () {
|
28 |
if ( jQuery( this ).prop( "checked" ) && jQuery( '#' + jQuery( this ).val() ).length ) {
|
29 |
-
SlimStatAdmin.refresh_report( jQuery( this ).val() );
|
|
|
30 |
}
|
31 |
});
|
32 |
|
@@ -44,7 +45,8 @@ jQuery( function() {
|
|
44 |
}
|
45 |
}
|
46 |
|
47 |
-
SlimStatAdmin.refresh_report( id );
|
|
|
48 |
|
49 |
// Remove any temporary filters set here above
|
50 |
jQuery( '.slimstat-temp-filter' ).remove();
|
@@ -57,8 +59,10 @@ jQuery( function() {
|
|
57 |
|
58 |
// Asynchronous reports are loaded dynamically after the page loads
|
59 |
if ( SlimStatAdminParams.async_load == 'on' ) {
|
|
|
60 |
jQuery( 'div[id^=slim_]' ).each( function() {
|
61 |
-
|
|
|
62 |
} );
|
63 |
}
|
64 |
|
@@ -408,37 +412,50 @@ var SlimStatAdmin = {
|
|
408 |
window.setTimeout( "SlimStatAdmin.refresh_countdown();", 1000 );
|
409 |
}
|
410 |
},
|
411 |
-
|
412 |
-
refresh_report: function( id ) {
|
413 |
-
var inner_content = '#' + id + ' .inside';
|
414 |
-
jQuery( inner_content ).html( '<p class="loading"><i class="slimstat-font-spin4 animate-spin"></i></p>' );
|
415 |
-
data = {
|
416 |
-
action: 'slimstat_load_report',
|
417 |
-
security: jQuery( '#meta-box-order-nonce' ).val(),
|
418 |
-
page: SlimStatAdmin.get_current_tab(),
|
419 |
-
report_id: id
|
420 |
-
};
|
421 |
|
422 |
-
|
423 |
-
|
424 |
-
|
425 |
-
|
426 |
-
}
|
427 |
|
428 |
-
|
429 |
-
|
430 |
-
if ( id.indexOf( '_01' ) > 0 ) {
|
431 |
-
jQuery( inner_content ).html( response );
|
432 |
}
|
433 |
-
else{
|
434 |
-
jQuery( inner_content ).fadeOut( 500, function() { jQuery( this ).html( response ).fadeIn( 500 ); } );
|
435 |
|
436 |
-
|
437 |
-
|
438 |
-
|
439 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
440 |
}
|
441 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
442 |
},
|
443 |
|
444 |
get_query_string_filters: function( url ) {
|
26 |
// Reload a report's data if it is (re)activated via the checkbox under Screen Options
|
27 |
jQuery( 'input.hide-postbox-tog[id^=slim_p]' ).on( 'click.postboxes', function () {
|
28 |
if ( jQuery( this ).prop( "checked" ) && jQuery( '#' + jQuery( this ).val() ).length ) {
|
29 |
+
refresh = SlimStatAdmin.refresh_report( jQuery( this ).val(), true );
|
30 |
+
refresh();
|
31 |
}
|
32 |
});
|
33 |
|
45 |
}
|
46 |
}
|
47 |
|
48 |
+
refresh = SlimStatAdmin.refresh_report( id, true );
|
49 |
+
refresh();
|
50 |
|
51 |
// Remove any temporary filters set here above
|
52 |
jQuery( '.slimstat-temp-filter' ).remove();
|
59 |
|
60 |
// Asynchronous reports are loaded dynamically after the page loads
|
61 |
if ( SlimStatAdminParams.async_load == 'on' ) {
|
62 |
+
var base = jQuery.when({});
|
63 |
jQuery( 'div[id^=slim_]' ).each( function() {
|
64 |
+
jQuery( '#' + jQuery( this ).attr( 'id' ) + ' .inside' ).html( '<p class="loading"><i class="slimstat-font-spin4 animate-spin"></i></p>' );
|
65 |
+
base = base.then( SlimStatAdmin.refresh_report( jQuery( this ).attr( 'id' ), true ) );
|
66 |
} );
|
67 |
}
|
68 |
|
412 |
window.setTimeout( "SlimStatAdmin.refresh_countdown();", 1000 );
|
413 |
}
|
414 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
415 |
|
416 |
+
refresh_report: function( id, show_wheel ) {
|
417 |
+
return function() {
|
418 |
+
var inner_content = '#' + id + ' .inside';
|
419 |
+
var defer = jQuery.Deferred();
|
|
|
420 |
|
421 |
+
if ( show_wheel ) {
|
422 |
+
jQuery( '#' + id + ' .inside' ).html( '<p class="loading"><i class="slimstat-font-spin4 animate-spin"></i></p>' );
|
|
|
|
|
423 |
}
|
|
|
|
|
424 |
|
425 |
+
data = {
|
426 |
+
action: 'slimstat_load_report',
|
427 |
+
security: jQuery( '#meta-box-order-nonce' ).val(),
|
428 |
+
page: SlimStatAdmin.get_current_tab(),
|
429 |
+
report_id: id
|
430 |
+
};
|
431 |
+
|
432 |
+
// Append the data from the hidden form
|
433 |
+
filters_input = jQuery( '#slimstat-filters-form .slimstat-post-filter' ).toArray();
|
434 |
+
for ( i in filters_input ) {
|
435 |
+
data[ filters_input[ i ][ 'name' ] ] = filters_input[ i ][ 'value' ];
|
436 |
}
|
437 |
+
|
438 |
+
jQuery.ajax( { method: 'POST', url: ajaxurl, data: data } )
|
439 |
+
.done( function( response ) {
|
440 |
+
// Charts don't play nice with the "fade" animation we have for the other reports
|
441 |
+
if ( id.indexOf( '_01' ) > 0 ) {
|
442 |
+
jQuery( inner_content ).html( response );
|
443 |
+
}
|
444 |
+
else{
|
445 |
+
jQuery( inner_content ).fadeOut( 500, function() { jQuery( this ).html( response ).fadeIn( 500 ); } );
|
446 |
+
|
447 |
+
// If we are refreshing the Activity Log, let's reset the countdown timer
|
448 |
+
if ( id == 'slim_p7_02' ) {
|
449 |
+
SlimStatAdmin._refresh_timer = SlimStatAdminParams.refresh_interval;
|
450 |
+
}
|
451 |
+
}
|
452 |
+
} )
|
453 |
+
.complete( function() {
|
454 |
+
defer.resolve();
|
455 |
+
} );
|
456 |
+
|
457 |
+
return defer.promise();
|
458 |
+
}
|
459 |
},
|
460 |
|
461 |
get_query_string_filters: function( url ) {
|
admin/view/right-now.php
CHANGED
@@ -186,10 +186,10 @@ for ( $i=0; $i < $count_page_results; $i++ ) {
|
|
186 |
|
187 |
// Plugins
|
188 |
$plugins = '';
|
189 |
-
if (!empty($results[$i]['plugins'])){
|
190 |
-
$results[$i]['plugins'] = explode(',', $results[$i]['plugins']);
|
191 |
-
foreach($results[$i]['plugins'] as $a_plugin){
|
192 |
-
$a_plugin = trim($a_plugin);
|
193 |
$plugins .= "<a class='slimstat-filter-link inline-icon' href='" . wp_slimstat_reports::fs_url( 'plugins contains ' . $a_plugin ) . "'><img class='slimstat-tooltip-trigger' src='$plugin_url/images/plugins/$a_plugin.png' width='16' height='16' title='" . __( $a_plugin, 'wp-slimstat' ) . "'></a> ";
|
194 |
}
|
195 |
}
|
186 |
|
187 |
// Plugins
|
188 |
$plugins = '';
|
189 |
+
if ( !empty( $results[ $i ][ 'plugins' ] ) ) {
|
190 |
+
$results[ $i ][ 'plugins' ] = explode( ',', $results[ $i ][ 'plugins' ] );
|
191 |
+
foreach( $results[ $i ][ 'plugins' ] as $a_plugin ) {
|
192 |
+
$a_plugin = str_replace( array( "'", '"' ), '', trim( $a_plugin ) );
|
193 |
$plugins .= "<a class='slimstat-filter-link inline-icon' href='" . wp_slimstat_reports::fs_url( 'plugins contains ' . $a_plugin ) . "'><img class='slimstat-tooltip-trigger' src='$plugin_url/images/plugins/$a_plugin.png' width='16' height='16' title='" . __( $a_plugin, 'wp-slimstat' ) . "'></a> ";
|
194 |
}
|
195 |
}
|
admin/view/wp-slimstat-reports.php
CHANGED
@@ -1299,7 +1299,7 @@ class wp_slimstat_reports {
|
|
1299 |
series2.dataFields.valueY = "v2";
|
1300 |
series2.dataFields.categoryX = "v1_label";
|
1301 |
series2.strokeWidth = 2;
|
1302 |
-
series2.tooltipText = "{name} {
|
1303 |
series2.tensionX = 0.9;
|
1304 |
|
1305 |
<?php if ( wp_slimstat::$settings[ 'comparison_chart' ] == 'on' ): ?>
|
@@ -1308,7 +1308,7 @@ class wp_slimstat_reports {
|
|
1308 |
series3.dataFields.valueY = "v3";
|
1309 |
series3.dataFields.categoryX = "v1_label";
|
1310 |
series3.strokeWidth = 2;
|
1311 |
-
series3.tooltipText = "
|
1312 |
series3.tensionX = 0.9;
|
1313 |
|
1314 |
var series4 = chart_<?php echo $_args[ 'id' ]; ?>.series.push(new am4charts.LineSeries());
|
@@ -1316,7 +1316,7 @@ class wp_slimstat_reports {
|
|
1316 |
series4.dataFields.valueY = "v4";
|
1317 |
series4.dataFields.categoryX = "v1_label";
|
1318 |
series4.strokeWidth = 2;
|
1319 |
-
series4.tooltipText = "
|
1320 |
series4.tensionX = 0.9;
|
1321 |
<?php endif; ?>
|
1322 |
// Export
|
1299 |
series2.dataFields.valueY = "v2";
|
1300 |
series2.dataFields.categoryX = "v1_label";
|
1301 |
series2.strokeWidth = 2;
|
1302 |
+
series2.tooltipText = "{name} {v1_label}: [bold]{valueY}[/]";
|
1303 |
series2.tensionX = 0.9;
|
1304 |
|
1305 |
<?php if ( wp_slimstat::$settings[ 'comparison_chart' ] == 'on' ): ?>
|
1308 |
series3.dataFields.valueY = "v3";
|
1309 |
series3.dataFields.categoryX = "v1_label";
|
1310 |
series3.strokeWidth = 2;
|
1311 |
+
series3.tooltipText = "<?php echo htmlspecialchars( $_args[ 'chart_labels' ][ 0 ], ENT_QUOTES, 'UTF-8' ); ?> {v3_label}: [bold]{valueY}[/]";
|
1312 |
series3.tensionX = 0.9;
|
1313 |
|
1314 |
var series4 = chart_<?php echo $_args[ 'id' ]; ?>.series.push(new am4charts.LineSeries());
|
1316 |
series4.dataFields.valueY = "v4";
|
1317 |
series4.dataFields.categoryX = "v1_label";
|
1318 |
series4.strokeWidth = 2;
|
1319 |
+
series4.tooltipText = "<?php echo htmlspecialchars( $_args[ 'chart_labels' ][ 1 ], ENT_QUOTES, 'UTF-8' ); ?> {v3_label}: [bold]{valueY}[/]";
|
1320 |
series4.tensionX = 0.9;
|
1321 |
<?php endif; ?>
|
1322 |
// Export
|
admin/wp-slimstat-admin.php
CHANGED
@@ -11,9 +11,8 @@ class wp_slimstat_admin {
|
|
11 |
* Init -- Sets things up.
|
12 |
*/
|
13 |
public static function init() {
|
14 |
-
self::$admin_notice = "Now that we finally have a cleaner code foundation to build on, it's time to start introducing new reports and new ways to segment your audience and the traffic they generate. While our users test the latest changes and updates (to confirm that the foundation is indeed solid and bug-free), we are hard at work implementing the first batch of new reports. Some of them will be made available in the free version, while others will be added to our premium add-on, <a href='https://www.wp-slimstat.com/downloads/user-overview/' target='_blank'>User Overview</a>. And we need your help! If you think that a specific report should be added to Slimstat, please do not hesitate <a href='https://support.wp-slimstat.com' target='_blank'>to let us know</a>.";
|
15 |
-
|
16 |
-
self::$admin_notice .= '<br/><br/><a id="slimstat-hide-admin-notice" href="#" class="button-secondary">Got it, thanks</a>';
|
17 |
|
18 |
// Load language files
|
19 |
load_plugin_textdomain( 'wp-slimstat', WP_PLUGIN_DIR .'/wp-slimstat/languages', '/wp-slimstat/languages' );
|
@@ -150,7 +149,7 @@ class wp_slimstat_admin {
|
|
150 |
$report_id = sanitize_title( $_POST[ 'report_id' ], 'slim_p0_00' );
|
151 |
|
152 |
if ( !empty( wp_slimstat_reports::$reports_info[ $report_id ] ) ) {
|
153 |
-
add_action('wp_ajax_slimstat_load_report', array( 'wp_slimstat_reports', 'callback_wrapper' ), 10, 2 );
|
154 |
}
|
155 |
}
|
156 |
}
|
@@ -512,7 +511,6 @@ class wp_slimstat_admin {
|
|
512 |
wp_enqueue_script( 'dashboard' );
|
513 |
wp_enqueue_script( 'jquery-ui-datepicker' );
|
514 |
wp_enqueue_script( 'slimstat_admin', plugins_url( '/admin/js/slimstat.admin.js', dirname( __FILE__ ) ), array( 'jquery-ui-dialog' ), null, false );
|
515 |
-
// wp_enqueue_script( 'slimstat_chart', plugins_url( '/admin/js/slimstat.chart.js', dirname( __FILE__ ) ), array( 'jquery' ), null, false );
|
516 |
|
517 |
// Pass some information to Javascript
|
518 |
$params = array(
|
11 |
* Init -- Sets things up.
|
12 |
*/
|
13 |
public static function init() {
|
14 |
+
// self::$admin_notice = "Now that we finally have a cleaner code foundation to build on, it's time to start introducing new reports and new ways to segment your audience and the traffic they generate. While our users test the latest changes and updates (to confirm that the foundation is indeed solid and bug-free), we are hard at work implementing the first batch of new reports. Some of them will be made available in the free version, while others will be added to our premium add-on, <a href='https://www.wp-slimstat.com/downloads/user-overview/' target='_blank'>User Overview</a>. And we need your help! If you think that a specific report should be added to Slimstat, please do not hesitate <a href='https://support.wp-slimstat.com' target='_blank'>to let us know</a>.";
|
15 |
+
// self::$admin_notice .= '<br/><br/><a id="slimstat-hide-admin-notice" href="#" class="button-secondary">Got it, thanks</a>';
|
|
|
16 |
|
17 |
// Load language files
|
18 |
load_plugin_textdomain( 'wp-slimstat', WP_PLUGIN_DIR .'/wp-slimstat/languages', '/wp-slimstat/languages' );
|
149 |
$report_id = sanitize_title( $_POST[ 'report_id' ], 'slim_p0_00' );
|
150 |
|
151 |
if ( !empty( wp_slimstat_reports::$reports_info[ $report_id ] ) ) {
|
152 |
+
add_action( 'wp_ajax_slimstat_load_report', array( 'wp_slimstat_reports', 'callback_wrapper' ), 10, 2 );
|
153 |
}
|
154 |
}
|
155 |
}
|
511 |
wp_enqueue_script( 'dashboard' );
|
512 |
wp_enqueue_script( 'jquery-ui-datepicker' );
|
513 |
wp_enqueue_script( 'slimstat_admin', plugins_url( '/admin/js/slimstat.admin.js', dirname( __FILE__ ) ), array( 'jquery-ui-dialog' ), null, false );
|
|
|
514 |
|
515 |
// Pass some information to Javascript
|
516 |
$params = array(
|
readme.txt
CHANGED
@@ -6,7 +6,7 @@ Text Domain: wp-slimstat
|
|
6 |
Requires at least: 3.8
|
7 |
Requires PHP: 5.2
|
8 |
Tested up to: 5.1
|
9 |
-
Stable tag: 4.8
|
10 |
|
11 |
== Description ==
|
12 |
The leading web analytics plugin for WordPress. Track returning customers and registered users, monitor Javascript events, detect intrusions, analyze email campaigns. Thousands of WordPress sites are already using it.
|
@@ -75,6 +75,11 @@ Our knowledge base is available on our [support center](https://docs.wp-slimstat
|
|
75 |
5. **Responsive layout** - Keep an eye on your reports on the go
|
76 |
|
77 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
78 |
= 4.8 =
|
79 |
* [Note] Now that we have a cleaner foundation to build on, it's time to start introducing new reports and new ways to segment your audience and the traffic they generate. While our users test the latest changes and updates (to confirm that the foundation is indeed solid and bug-free), we are hard at work implementing the first batch of new reports. Some of them will be made available in the free version, while others will be added to our premium add-on, [User Overview](http://www.wp-slimstat.com/downloads/user-overview/). And we need your help! If you think that a specific report should be added to Slimstat, please do not hesitate to let us know!
|
80 |
* [Note] Worried about the recent [news regarding jQuery vulnerabilities](https://www.zdnet.com/article/popular-jquery-javascript-library-impacted-by-prototype-pollution-flaw/)? Slimstat doesn't use jQuery as a dependency, so you can sleep tight knowing that your website will not be affected.
|
6 |
Requires at least: 3.8
|
7 |
Requires PHP: 5.2
|
8 |
Tested up to: 5.1
|
9 |
+
Stable tag: 4.8.1
|
10 |
|
11 |
== Description ==
|
12 |
The leading web analytics plugin for WordPress. Track returning customers and registered users, monitor Javascript events, detect intrusions, analyze email campaigns. Thousands of WordPress sites are already using it.
|
75 |
5. **Responsive layout** - Keep an eye on your reports on the go
|
76 |
|
77 |
== Changelog ==
|
78 |
+
= 4.8.1 =
|
79 |
+
* [Update] Async mode will now serialize concurrent requests to the backend to optimize performance and reduce server load.
|
80 |
+
* [Fix] Addressed a remote XSS vulnerability disclosed by Sucuri/GoDaddy.
|
81 |
+
* [Fix] Charts were displaying the wrong label for certain values (thank you, Alex).
|
82 |
+
|
83 |
= 4.8 =
|
84 |
* [Note] Now that we have a cleaner foundation to build on, it's time to start introducing new reports and new ways to segment your audience and the traffic they generate. While our users test the latest changes and updates (to confirm that the foundation is indeed solid and bug-free), we are hard at work implementing the first batch of new reports. Some of them will be made available in the free version, while others will be added to our premium add-on, [User Overview](http://www.wp-slimstat.com/downloads/user-overview/). And we need your help! If you think that a specific report should be added to Slimstat, please do not hesitate to let us know!
|
85 |
* [Note] Worried about the recent [news regarding jQuery vulnerabilities](https://www.zdnet.com/article/popular-jquery-javascript-library-impacted-by-prototype-pollution-flaw/)? Slimstat doesn't use jQuery as a dependency, so you can sleep tight knowing that your website will not be affected.
|
wp-slimstat.js
CHANGED
@@ -128,8 +128,8 @@ var SlimStat = {
|
|
128 |
detect_plugins : function() {
|
129 |
var a_plugin, plugins = [];
|
130 |
|
131 |
-
for (a_plugin in SlimStat._plugins) {
|
132 |
-
if (SlimStat._detect_single_plugin(a_plugin)) {
|
133 |
plugins.push( a_plugin );
|
134 |
}
|
135 |
}
|
@@ -139,7 +139,7 @@ var SlimStat = {
|
|
139 |
plugins.push( 'java' );
|
140 |
}
|
141 |
|
142 |
-
return plugins.join(
|
143 |
},
|
144 |
|
145 |
get_page_performance : function() {
|
128 |
detect_plugins : function() {
|
129 |
var a_plugin, plugins = [];
|
130 |
|
131 |
+
for ( a_plugin in SlimStat._plugins ) {
|
132 |
+
if ( SlimStat._detect_single_plugin( a_plugin ) ) {
|
133 |
plugins.push( a_plugin );
|
134 |
}
|
135 |
}
|
139 |
plugins.push( 'java' );
|
140 |
}
|
141 |
|
142 |
+
return plugins.join( ',' );
|
143 |
},
|
144 |
|
145 |
get_page_performance : function() {
|
wp-slimstat.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: Slimstat Analytics
|
4 |
Plugin URI: https://wordpress.org/plugins/wp-slimstat/
|
5 |
Description: The leading web analytics plugin for WordPress
|
6 |
-
Version: 4.8
|
7 |
Author: Jason Crouse
|
8 |
Author URI: https://www.wp-slimstat.com/
|
9 |
Text Domain: wp-slimstat
|
@@ -15,7 +15,7 @@ if ( !empty( wp_slimstat::$settings ) ) {
|
|
15 |
}
|
16 |
|
17 |
class wp_slimstat {
|
18 |
-
public static $version = '4.8';
|
19 |
public static $settings = array();
|
20 |
|
21 |
public static $wpdb = '';
|
3 |
Plugin Name: Slimstat Analytics
|
4 |
Plugin URI: https://wordpress.org/plugins/wp-slimstat/
|
5 |
Description: The leading web analytics plugin for WordPress
|
6 |
+
Version: 4.8.1
|
7 |
Author: Jason Crouse
|
8 |
Author URI: https://www.wp-slimstat.com/
|
9 |
Text Domain: wp-slimstat
|
15 |
}
|
16 |
|
17 |
class wp_slimstat {
|
18 |
+
public static $version = '4.8.1';
|
19 |
public static $settings = array();
|
20 |
|
21 |
public static $wpdb = '';
|