Slimstat Analytics - Version 4.7.6.1

Version Description

  • [Fix] The new Javascript library was interfering with the dropdown menus on the WordPress Dashboard. Thanks to all of those who helped us troubleshoot the issue.
Download this release

Release Info

Developer coolmann
Plugin Icon 128x128 Slimstat Analytics
Version 4.7.6.1
Comparing to
See all releases

Code changes from version 4.7.6 to 4.7.6.1

README.md CHANGED
@@ -5,7 +5,7 @@
5
  Text Domain: wp-slimstat
6
  **Requires at least:** 3.8
7
  **Tested up to:** 4.9
8
- **Stable tag:** 4.7.6
9
 
10
 
11
  ## Description
@@ -95,6 +95,10 @@ Our knowledge base is available on our [support center](http://docs.wp-slimstat.
95
 
96
  ## Changelog
97
 
 
 
 
 
98
  ### 4.7.6
99
  * [Note] As we mentioned earlier, we've been working on streamlining and cleaning up our source code. It's incredible how layers of code can deposit on top of each other, until they form a thick layer that prevents developers from seeing clearly what's happening. It was time to apply some virtual citric acid to descale our code. If you're using any kind of server caching functionality, please make sure to clear your cache before opening a support request. Also, do not hesitate to reach out to us if you notice any strange or unusual behaviors.
100
  * [New] You can now download the geolocation map as a PDF file or PNG image. Thank you, Steve, for suggesting this feature!
5
  Text Domain: wp-slimstat
6
  **Requires at least:** 3.8
7
  **Tested up to:** 4.9
8
+ **Stable tag:** 4.7.6.1
9
 
10
 
11
  ## Description
95
 
96
  ## Changelog
97
 
98
+ ### 4.7.6.1
99
+ * [Fix] The new Javascript library was interfering with the dropdown menus on the WordPress Dashboard. Thanks to all of those who helped us troubleshoot the issue.
100
+
101
+
102
  ### 4.7.6
103
  * [Note] As we mentioned earlier, we've been working on streamlining and cleaning up our source code. It's incredible how layers of code can deposit on top of each other, until they form a thick layer that prevents developers from seeing clearly what's happening. It was time to apply some virtual citric acid to descale our code. If you're using any kind of server caching functionality, please make sure to clear your cache before opening a support request. Also, do not hesitate to reach out to us if you notice any strange or unusual behaviors.
104
  * [New] You can now download the geolocation map as a PDF file or PNG image. Thank you, Steve, for suggesting this feature!
admin/config/index.php CHANGED
@@ -147,7 +147,7 @@ $settings = array(
147
 
148
  'filters_users_header' => array( 'description' => __( 'User Properties', 'wp-slimstat' ), 'type' => 'section_header' ),
149
  'ignore_users' => array( 'description' => __( 'Usernames', 'wp-slimstat' ), 'type' => 'textarea', 'long_description' => __( "List all the usernames you don't want to track. Please be aware that spaces are <em>not</em> ignored and that usernames are case sensitive. Wildcards: <code>*</code> matches 'any string, including the empty string', <code>!</code> matches 'any character'. For example, <code>user*</code> will match user12 and userfoo, <code>u*100</code> will match user100 and uber100, <code>user!0</code> will match user10 and user90.", 'wp-slimstat' ) ),
150
- 'ignore_ip' => array( 'description' => __( 'IP Addresses', 'wp-slimstat' ), 'type' => 'textarea', 'long_description' => __( "List all the IP addresses you don't want to track. Each subnet <strong>must</strong> be defined using the <a href='https://www.iplocation.net/subnet-mask' target='_blank'>CIDR notation</a> (i.e. <em>192.168.0.0/24</em>). This filter applies both to the public IP and the originating IP, if available. Feel free to use an online <a href='https://www.iplocation.net/subnet-calculator' target='_blank'>subnet calculator</a> to help you determine the mask you need.", 'wp-slimstat' ) ),
151
  'ignore_countries' => array( 'description' => __( 'Countries', 'wp-slimstat' ), 'type' => 'textarea', 'long_description' => __( "Country codes (i.e.: <code>en-us, it, es</code>) that you don't want to track.", 'wp-slimstat' ) ),
152
  'ignore_browsers' => array('description' => __( 'User Agents', 'wp-slimstat' ), 'type' => 'textarea', 'long_description' => __( "Browsers (user agents) you don't want to track. You can specify the browser's version adding a slash after the name (i.e. <em>Firefox/3.6</em>). Wildcards: <code>*</code> matches 'any string, including the empty string', <code>!</code> matches 'any character'. For example, <code>Chr*</code> will match Chrome and Chromium, <code>IE/!.0</code> will match IE/7.0 and IE/8.0. Strings are case-insensitive.", 'wp-slimstat' ) ),
153
  'ignore_platforms' => array( 'description' => __( 'Operating Systems', 'wp-slimstat' ), 'type' => 'textarea', 'long_description' => __( "Operating system codes you don't want to track. Please refer to <a href='https://slimstat.freshdesk.com/solution/articles/12000031504-what-are-the-operating-system-codes-used-by-slimstat-' target='_blank'>this page</a> in our knowledge base to learn more about what codes you can use. Usual rules for using wildcards apply (see fields here above).", 'wp-slimstat' ) ),
147
 
148
  'filters_users_header' => array( 'description' => __( 'User Properties', 'wp-slimstat' ), 'type' => 'section_header' ),
149
  'ignore_users' => array( 'description' => __( 'Usernames', 'wp-slimstat' ), 'type' => 'textarea', 'long_description' => __( "List all the usernames you don't want to track. Please be aware that spaces are <em>not</em> ignored and that usernames are case sensitive. Wildcards: <code>*</code> matches 'any string, including the empty string', <code>!</code> matches 'any character'. For example, <code>user*</code> will match user12 and userfoo, <code>u*100</code> will match user100 and uber100, <code>user!0</code> will match user10 and user90.", 'wp-slimstat' ) ),
150
+ 'ignore_ip' => array( 'description' => __( 'IP Addresses', 'wp-slimstat' ), 'type' => 'textarea', 'long_description' => __( "List all the IP addresses you don't want to track. Each subnet <strong>must</strong> be defined using the <a href='https://www.iplocation.net/subnet-mask' target='_blank'>CIDR notation</a> (i.e. <em>192.168.0.0/24</em>). This filter applies both to the public IP and the originating IP, if available. Using the CIDR notation, you will use octets to determine the subnet, so for example 54.0.0.0/8 means that the first number is represented by 8 bits, hence 8 after the slash. Then the second number would be another 8 bits, so you would write 54.12.0.0/16 (16 = 8 + 8), and you could do the same for the third number, for example 54.12.34.0/24 (24 = 8 + 8 + 8).", 'wp-slimstat' ) ),
151
  'ignore_countries' => array( 'description' => __( 'Countries', 'wp-slimstat' ), 'type' => 'textarea', 'long_description' => __( "Country codes (i.e.: <code>en-us, it, es</code>) that you don't want to track.", 'wp-slimstat' ) ),
152
  'ignore_browsers' => array('description' => __( 'User Agents', 'wp-slimstat' ), 'type' => 'textarea', 'long_description' => __( "Browsers (user agents) you don't want to track. You can specify the browser's version adding a slash after the name (i.e. <em>Firefox/3.6</em>). Wildcards: <code>*</code> matches 'any string, including the empty string', <code>!</code> matches 'any character'. For example, <code>Chr*</code> will match Chrome and Chromium, <code>IE/!.0</code> will match IE/7.0 and IE/8.0. Strings are case-insensitive.", 'wp-slimstat' ) ),
153
  'ignore_platforms' => array( 'description' => __( 'Operating Systems', 'wp-slimstat' ), 'type' => 'textarea', 'long_description' => __( "Operating system codes you don't want to track. Please refer to <a href='https://slimstat.freshdesk.com/solution/articles/12000031504-what-are-the-operating-system-codes-used-by-slimstat-' target='_blank'>this page</a> in our knowledge base to learn more about what codes you can use. Usual rules for using wildcards apply (see fields here above).", 'wp-slimstat' ) ),
admin/js/slimstat.admin.js CHANGED
@@ -162,34 +162,31 @@ jQuery( function() {
162
  } );
163
  } );
164
 
165
- // Certain links enable filters throughout the interface. These links trigger a form submission, where all the filters are stored.
166
- // Using a "POST" request allows us to handle much larger filter values across the various screens
167
- if ( jQuery( 'form#slimstat-filters-form' ).length ) {
168
- jQuery( document ).on( 'click', '.slimstat-filter-link, #toplevel_page_slimview1 a, #wp-admin-bar-slimstat-header li a', function( e ) {
169
- url = jQuery( this ).attr( 'href' );
170
-
171
- // If this link doesn't have a valid HREF attribute, bail
172
- if ( typeof url != 'string' ) {
173
- return true;
174
- }
175
 
176
- e.preventDefault();
177
 
178
- jQuery( 'form#slimstat-filters-form' ).attr( 'action', url.split( '?' )[ 0 ] + '?page=' + SlimStatAdmin.get_current_tab( url.split( '?' )[ 1 ] ) );
 
179
 
180
- SlimStatAdmin.add_url_filters_to_form( url, typeof jQuery( this ).attr( 'data-reset-filters' ) != 'undefined' );
 
 
 
181
 
182
- jQuery( '#slimstat-filters-form' ).submit();
183
 
184
- return false;
185
- });
186
- }
187
 
188
- // Since we handle all "filter links" as POST requests (see code here above), we need to add dummy form tag to the dashboard,
189
- // for when our reports are displayed on that page
190
- if ( !jQuery( '#slimstat-filters-form' ).length && !SlimStatAdmin.get_current_tab().match( /(slimconfig|slimaddons)/ ) ) {
191
- jQuery( '<form id="slimstat-filters-form" method="post"/>' ).appendTo('body');
192
- }
 
193
 
194
  //
195
  // ----- END: FILTERS ------------------------------------------------------------
@@ -316,14 +313,14 @@ jQuery( function() {
316
 
317
  tooltip_content = jQuery( this ).find( '.slimstat-tooltip-content:not(.expanded)' );
318
 
319
- if ( typeof tooltip_content == 'undefined' || tooltip_content.length == 0 ) {
320
  tooltip_content = jQuery( this ).attr( 'title' );
321
  }
322
  else {
323
  tooltip_content = tooltip_content[ 0 ].innerHTML;
324
  }
325
 
326
- if ( tooltip_content.length ) {
327
  jQuery(this).qtip( {
328
  overwrite: false,
329
  content: {
@@ -496,7 +493,7 @@ var SlimStatAdmin = {
496
 
497
  values = regex.exec( query_string );
498
 
499
- if ( typeof values[ 2 ] == 'string' ) {
500
  return decodeURIComponent( values[ 2 ].replace( /\+/g, " " ) );
501
  }
502
 
162
  } );
163
  } );
164
 
165
+ // Since we handle all "filter links" as POST requests (see code here above), we need to add dummy form tag to the dashboard,
166
+ // for when our reports are displayed on that page
167
+ if ( !jQuery( '#slimstat-filters-form' ).length ) {
168
+ jQuery( '<form id="slimstat-filters-form" method="post"/>' ).appendTo('body');
169
+ }
 
 
 
 
 
170
 
 
171
 
172
+ jQuery( document ).on( 'click', '.slimstat-filter-link, #toplevel_page_slimview1 a, #wp-admin-bar-slimstat-header li a', function( e ) {
173
+ url = jQuery( this ).attr( 'href' );
174
 
175
+ // If this link doesn't have a valid HREF attribute, bail
176
+ if ( typeof url != 'string' ) {
177
+ return true;
178
+ }
179
 
180
+ e.preventDefault();
181
 
182
+ jQuery( 'form#slimstat-filters-form' ).attr( 'action', url.split( '?' )[ 0 ] + '?page=' + SlimStatAdmin.get_current_tab( url.split( '?' )[ 1 ] ) );
 
 
183
 
184
+ SlimStatAdmin.add_url_filters_to_form( url, typeof jQuery( this ).attr( 'data-reset-filters' ) != 'undefined' );
185
+
186
+ jQuery( '#slimstat-filters-form' ).submit();
187
+
188
+ return false;
189
+ });
190
 
191
  //
192
  // ----- END: FILTERS ------------------------------------------------------------
313
 
314
  tooltip_content = jQuery( this ).find( '.slimstat-tooltip-content:not(.expanded)' );
315
 
316
+ if ( typeof tooltip_content == 'undefined' || tooltip_content == null || tooltip_content.length == 0 ) {
317
  tooltip_content = jQuery( this ).attr( 'title' );
318
  }
319
  else {
320
  tooltip_content = tooltip_content[ 0 ].innerHTML;
321
  }
322
 
323
+ if ( typeof tooltip_content != 'undefined' && tooltip_content.length ) {
324
  jQuery(this).qtip( {
325
  overwrite: false,
326
  content: {
493
 
494
  values = regex.exec( query_string );
495
 
496
+ if ( typeof values != 'undefined' && values != null && typeof values[ 2 ] == 'string' ) {
497
  return decodeURIComponent( values[ 2 ].replace( /\+/g, " " ) );
498
  }
499
 
readme.txt CHANGED
@@ -5,7 +5,7 @@ Tags: analytics, statistics, counter, tracking, reports, wassup, geolocation, on
5
  Text Domain: wp-slimstat
6
  Requires at least: 3.8
7
  Tested up to: 4.9
8
- Stable tag: 4.7.6
9
 
10
  == Description ==
11
  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.
@@ -29,6 +29,11 @@ Visit [our website](http://www.wp-slimstat.com/addons/) for a list of available
29
  = Social Media =
30
  [Like Us](https://www.facebook.com/slimstatistics/) on Facebook and [follow us](https://twitter.com/wp_stats) on Twitter to get the latest news and updates about our plugin.
31
 
 
 
 
 
 
32
  = Translations =
33
  Slimstat is available in multiple languages: English, Belarusian (UStarCash), Chinese (沐熙工作室), Farsi, French (Michael Bastin, Jean-Michel Venet, Yves Pouplard, Henrick Kac), German (TechnoViel), Indonesian ([ChameleonJohn](https://www.chameleonjohn.com/)), Italian ([Slimstat Dev Team](https://www.wp-slimstat.com)), Japanese (h_a_l_f), Portuguese, Russian (Vitaly), Spanish ([WebHostingHub](http://www.webhostinghub.com/)), Swedish (Per Soderman) and Turkish (Seyit Mehmet Çoban). Is your language missing or incomplete? [Contact us](http://support.wp-slimstat.com/) today.
34
 
@@ -71,6 +76,9 @@ Our knowledge base is available on our [support center](http://docs.wp-slimstat.
71
  5. **Responsive layout** - Keep an eye on your reports on the go
72
 
73
  == Changelog ==
 
 
 
74
  = 4.7.6 =
75
  * [Note] As we mentioned earlier, we've been working on streamlining and cleaning up our source code. It's incredible how layers of code can deposit on top of each other, until they form a thick layer that prevents developers from seeing clearly what's happening. It was time to apply some virtual citric acid to descale our code. If you're using any kind of server caching functionality, please make sure to clear your cache before opening a support request. Also, do not hesitate to reach out to us if you notice any strange or unusual behaviors.
76
  * [New] You can now download the geolocation map as a PDF file or PNG image. Thank you, Steve, for suggesting this feature!
@@ -145,7 +153,3 @@ Our knowledge base is available on our [support center](http://docs.wp-slimstat.
145
  * [Fix] A vulnerability has been disclosed by [Pluginvulnerabilities.com](pluginvulnerabilities.com): an attacker with admin credentials could leverage the import/export mechanism for the plugin's settings to inject some malicious code. We recommend that you upgrade to the latest version of Slimstat as soon as possible.
146
  * [Fix] The new version of the [Add-on Update Checker library](https://github.com/YahnisElsts/plugin-update-checker), bundled with the previous release, was returning a fatal error under certain circumstances (thank you, Pepe).
147
 
148
- == Support Our Work ==
149
- Slimstat Analytics is an open source project, dependent in large parts on donations. [This page](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=BNJR5EZNY3W38)
150
- is for those who want to donate money - be it once, be it regularly, be it a small or a big amount. Everything is set up for an easy donation process.
151
- Try it out, you'll be amazed how good it feels! If you're on a tight budget, please consider writing [a review](https://wordpress.org/support/plugin/wp-slimstat/reviews/#new-post) for Slimstat as a token of appreciation for our hard work!
5
  Text Domain: wp-slimstat
6
  Requires at least: 3.8
7
  Tested up to: 4.9
8
+ Stable tag: 4.7.6.1
9
 
10
  == Description ==
11
  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.
29
  = Social Media =
30
  [Like Us](https://www.facebook.com/slimstatistics/) on Facebook and [follow us](https://twitter.com/wp_stats) on Twitter to get the latest news and updates about our plugin.
31
 
32
+ = Contribute =
33
+ Slimstat Analytics is an open source project, dependent in large parts on community support. You can fork our [Github repository](https://github.com/slimstat/wp-slimstat) and submit code enhancements, bugfixes or provide localization files to let our plugin speak even more languages. [This page](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=BNJR5EZNY3W38)
34
+ is for those who would like to donate money - be it once, be it regularly, be it a small or a big amount. Everything is set up for an easy donation process.
35
+ Try it out, you'll be amazed how good it feels! If you're on a tight budget, and coding is not your thing, please consider writing [a review](https://wordpress.org/support/plugin/wp-slimstat/reviews/#new-post) for Slimstat as a token of appreciation for our hard work!
36
+
37
  = Translations =
38
  Slimstat is available in multiple languages: English, Belarusian (UStarCash), Chinese (沐熙工作室), Farsi, French (Michael Bastin, Jean-Michel Venet, Yves Pouplard, Henrick Kac), German (TechnoViel), Indonesian ([ChameleonJohn](https://www.chameleonjohn.com/)), Italian ([Slimstat Dev Team](https://www.wp-slimstat.com)), Japanese (h_a_l_f), Portuguese, Russian (Vitaly), Spanish ([WebHostingHub](http://www.webhostinghub.com/)), Swedish (Per Soderman) and Turkish (Seyit Mehmet Çoban). Is your language missing or incomplete? [Contact us](http://support.wp-slimstat.com/) today.
39
 
76
  5. **Responsive layout** - Keep an eye on your reports on the go
77
 
78
  == Changelog ==
79
+ = 4.7.6.1 =
80
+ * [Fix] The new Javascript library was interfering with the dropdown menus on the WordPress Dashboard. Thanks to all of those who helped us troubleshoot the issue.
81
+
82
  = 4.7.6 =
83
  * [Note] As we mentioned earlier, we've been working on streamlining and cleaning up our source code. It's incredible how layers of code can deposit on top of each other, until they form a thick layer that prevents developers from seeing clearly what's happening. It was time to apply some virtual citric acid to descale our code. If you're using any kind of server caching functionality, please make sure to clear your cache before opening a support request. Also, do not hesitate to reach out to us if you notice any strange or unusual behaviors.
84
  * [New] You can now download the geolocation map as a PDF file or PNG image. Thank you, Steve, for suggesting this feature!
153
  * [Fix] A vulnerability has been disclosed by [Pluginvulnerabilities.com](pluginvulnerabilities.com): an attacker with admin credentials could leverage the import/export mechanism for the plugin's settings to inject some malicious code. We recommend that you upgrade to the latest version of Slimstat as soon as possible.
154
  * [Fix] The new version of the [Add-on Update Checker library](https://github.com/YahnisElsts/plugin-update-checker), bundled with the previous release, was returning a fatal error under certain circumstances (thank you, Pepe).
155
 
 
 
 
 
wp-slimstat.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: Slimstat Analytics
4
  Plugin URI: http://wordpress.org/plugins/wp-slimstat/
5
  Description: The leading web analytics plugin for WordPress
6
- Version: 4.7.6
7
  Author: Jason Crouse
8
  Author URI: http://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.7.6';
19
  public static $settings = array();
20
 
21
  public static $wpdb = '';
3
  Plugin Name: Slimstat Analytics
4
  Plugin URI: http://wordpress.org/plugins/wp-slimstat/
5
  Description: The leading web analytics plugin for WordPress
6
+ Version: 4.7.6.1
7
  Author: Jason Crouse
8
  Author URI: http://www.wp-slimstat.com/
9
  Text Domain: wp-slimstat
15
  }
16
 
17
  class wp_slimstat {
18
+ public static $version = '4.7.6.1';
19
  public static $settings = array();
20
 
21
  public static $wpdb = '';