Slimstat Analytics - Version 3.9.2

Version Description

  • [New] Welcome our recommended partner, ManageWP. You will get a 10% discount on their products using our affiliation link.
  • [Fix] XSS Vulnerability introduced by the new Save Filters functionality (thank you, Ryan)
Download this release

Release Info

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

Code changes from version 3.9.1 to 3.9.2

admin/css/slimstat.css CHANGED
@@ -129,7 +129,7 @@
129
  /* Single Report */
130
  .wrap.slimstat .postbox{
131
  float: left;
132
- height: 285px;
133
  margin-right: .5%;
134
  min-width: 32.5%;
135
  overflow: hidden;
129
  /* Single Report */
130
  .wrap.slimstat .postbox{
131
  float: left;
132
+ height: 282px;
133
  margin-right: .5%;
134
  min-width: 32.5%;
135
  overflow: hidden;
admin/view/index.php CHANGED
@@ -182,6 +182,9 @@
182
  case 'slim_p1_15':
183
  wp_slimstat_reports::report_header($a_box_id, 'normal', __("Slimstat retrieves live information from Alexa, Facebook and Google, to measures your site's rankings. Values are updated every 12 hours. Filters set above don't apply to this report.",'wp-slimstat'));
184
  break;
 
 
 
185
  case 'slim_p2_01':
186
  wp_slimstat_reports::report_header($a_box_id, 'wide chart', wp_slimstat_reports::$chart_tooltip, wp_slimstat_reports::chart_title(__('Human Visits', 'wp-slimstat')));
187
  break;
@@ -226,50 +229,8 @@
226
  case 'slim_p4_25':
227
  wp_slimstat_reports::report_header($a_box_id, 'wide');
228
  break;
229
- case 'slim_p1_02':
230
- case 'slim_p1_03':
231
- case 'slim_p1_08':
232
- case 'slim_p1_10':
233
- case 'slim_p1_11':
234
- case 'slim_p1_12':
235
- case 'slim_p1_13':
236
- case 'slim_p1_17':
237
- case 'slim_p2_02':
238
- case 'slim_p2_03':
239
- case 'slim_p2_04':
240
- case 'slim_p2_06':
241
- case 'slim_p2_07':
242
- case 'slim_p2_09':
243
- case 'slim_p2_12':
244
- case 'slim_p2_13':
245
- case 'slim_p2_14':
246
- case 'slim_p2_15':
247
- case 'slim_p2_16':
248
- case 'slim_p2_17':
249
- case 'slim_p2_20':
250
- case 'slim_p2_21':
251
- case 'slim_p3_02':
252
- case 'slim_p3_03':
253
- case 'slim_p3_04':
254
- case 'slim_p3_05':
255
- case 'slim_p3_06':
256
- case 'slim_p3_10':
257
- case 'slim_p3_11':
258
- case 'slim_p4_04':
259
- case 'slim_p4_07':
260
- case 'slim_p4_11':
261
- case 'slim_p4_12':
262
- case 'slim_p4_13':
263
- case 'slim_p4_14':
264
- case 'slim_p4_15':
265
- case 'slim_p4_16':
266
- case 'slim_p4_17':
267
- case 'slim_p4_18':
268
- case 'slim_p4_19':
269
- case 'slim_p4_21':
270
- wp_slimstat_reports::report_header($a_box_id);
271
- break;
272
  default:
 
273
  break;
274
  }
275
  wp_slimstat_reports::show_report_wrapper($a_box_id);
182
  case 'slim_p1_15':
183
  wp_slimstat_reports::report_header($a_box_id, 'normal', __("Slimstat retrieves live information from Alexa, Facebook and Google, to measures your site's rankings. Values are updated every 12 hours. Filters set above don't apply to this report.",'wp-slimstat'));
184
  break;
185
+ case 'slim_p1_18':
186
+ wp_slimstat_reports::report_header($a_box_id, 'normal', '', wp_slimstat_reports::$all_reports_titles[$a_box_id], false);
187
+ break;
188
  case 'slim_p2_01':
189
  wp_slimstat_reports::report_header($a_box_id, 'wide chart', wp_slimstat_reports::$chart_tooltip, wp_slimstat_reports::chart_title(__('Human Visits', 'wp-slimstat')));
190
  break;
229
  case 'slim_p4_25':
230
  wp_slimstat_reports::report_header($a_box_id, 'wide');
231
  break;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
232
  default:
233
+ wp_slimstat_reports::report_header($a_box_id);
234
  break;
235
  }
236
  wp_slimstat_reports::show_report_wrapper($a_box_id);
admin/view/wp-slimstat-reports.php CHANGED
@@ -54,6 +54,7 @@ class wp_slimstat_reports {
54
  'slim_p1_13' => __('Top Countries','wp-slimstat'),
55
  'slim_p1_15' => __('Rankings','wp-slimstat'),
56
  'slim_p1_17' => __('Top Language Families','wp-slimstat'),
 
57
  'slim_p2_01' => __('Human Visits (chart)','wp-slimstat'),
58
  'slim_p2_02' => __('Audience Overview','wp-slimstat'),
59
  'slim_p2_03' => __('Top Languages','wp-slimstat'),
@@ -131,7 +132,7 @@ class wp_slimstat_reports {
131
  $all_existing_reports = array(
132
  0 => array(),
133
  1 => array('slim_p7_02'),
134
- 2 => array('slim_p1_01','slim_p1_02','slim_p1_03','slim_p1_04','slim_p1_11','slim_p1_12','slim_p1_05','slim_p1_08','slim_p1_10','slim_p1_13','slim_p1_15','slim_p1_17'),
135
  3 => array('slim_p2_01','slim_p2_02','slim_p2_03','slim_p2_04','slim_p2_06','slim_p2_05','slim_p2_07','slim_p2_09','slim_p2_10','slim_p2_12','slim_p2_13','slim_p2_14','slim_p2_15','slim_p2_16','slim_p2_17','slim_p2_18','slim_p2_19','slim_p2_20','slim_p2_21'),
136
  4 => array('slim_p4_01','slim_p4_22','slim_p1_06','slim_p4_07','slim_p4_02','slim_p4_03','slim_p4_05','slim_p4_04','slim_p4_06','slim_p4_08','slim_p4_12','slim_p4_13','slim_p4_14','slim_p4_15','slim_p4_16','slim_p4_17','slim_p4_18','slim_p4_11','slim_p4_10','slim_p4_19','slim_p4_20','slim_p4_21','slim_p4_23','slim_p4_24','slim_p4_25'),
137
  5 => array('slim_p3_01','slim_p3_02','slim_p3_03','slim_p3_04','slim_p3_06','slim_p3_05','slim_p3_08','slim_p3_10','slim_p3_09','slim_p3_11'),
@@ -264,7 +265,7 @@ class wp_slimstat_reports {
264
  }
265
  }
266
  if (!empty($filters_html)){
267
- $filters_html = "<ul class='slimstat-filter-list'>$filters_html</ul><a href='#' id='slimstat-save-filter' class='slimstat-filter-action-button button-secondary' data-filter-array='".serialize($_filters_array)."'>".__('Save','wp-slimstat')."</a>";
268
  }
269
  if(count($filters_dropdown) > 1){
270
  $filters_html .= '<a href="'.self::fs_url().'" id="slimstat-remove-all-filters" class="button-secondary slimstat-filter-action-button">'.__('Reset All','wp-slimstat').'</a>';
@@ -274,8 +275,8 @@ class wp_slimstat_reports {
274
  return ($filters_html != "<span class='filters-title'>".__('Current filters:','wp-slimstat').'</span> ')?$filters_html:'';
275
  }
276
 
277
- public static function report_header($_id = 'p0', $_postbox_class = 'normal', $_tooltip = '', $_title = ''){
278
- $header_buttons = '<a class="button-ajax refresh slimstat-font-spin3" title="'.__('Refresh','wp-slimstat').'" href="'.wp_slimstat_reports::fs_url().'"></a>';
279
  $header_buttons = apply_filters('slimstat_report_header_buttons', $header_buttons, $_id);
280
  $header_buttons = '<div class="slimstat-header-buttons">'.$header_buttons.'</div>';
281
 
@@ -402,6 +403,10 @@ class wp_slimstat_reports {
402
  return $wrapped_text;
403
  }
404
 
 
 
 
 
405
  public static function show_results($_type = 'recent', $_id = 'p0', $_column = 'id', $_args = array()){
406
  // Initialize default values, if not specified
407
  $_args = array_merge(array('custom_where' => '', 'more_columns' => '', 'join_tables' => '', 'having_clause' => '', 'order_by' => '', 'total_for_percentage' => 0, 'as_column' => '', 'filter_op' => 'equals', 'use_date_filters' => true), $_args);
@@ -1213,6 +1218,9 @@ class wp_slimstat_reports {
1213
  case 'slim_p1_17':
1214
  self::show_results('popular', $_report_id, 'SUBSTRING(t1.language, 1, 2)', array('total_for_percentage' => $current_pageviews, 'as_column' => 'language', 'filter_op' => 'contains'));
1215
  break;
 
 
 
1216
  case 'slim_p2_02':
1217
  self::show_visitors_summary($_report_id, wp_slimstat_db::count_records_having('visit_id > 0', 'ip'), wp_slimstat_db::count_records('t1.visit_id > 0 AND tb.type <> 1', 'visit_id'));
1218
  break;
54
  'slim_p1_13' => __('Top Countries','wp-slimstat'),
55
  'slim_p1_15' => __('Rankings','wp-slimstat'),
56
  'slim_p1_17' => __('Top Language Families','wp-slimstat'),
57
+ 'slim_p1_18' => __('Our Team Recommends','wp-slimstat'),
58
  'slim_p2_01' => __('Human Visits (chart)','wp-slimstat'),
59
  'slim_p2_02' => __('Audience Overview','wp-slimstat'),
60
  'slim_p2_03' => __('Top Languages','wp-slimstat'),
132
  $all_existing_reports = array(
133
  0 => array(),
134
  1 => array('slim_p7_02'),
135
+ 2 => array('slim_p1_01','slim_p1_18','slim_p1_02','slim_p1_03','slim_p1_04','slim_p1_11','slim_p1_12','slim_p1_05','slim_p1_08','slim_p1_10','slim_p1_13','slim_p1_15','slim_p1_17'),
136
  3 => array('slim_p2_01','slim_p2_02','slim_p2_03','slim_p2_04','slim_p2_06','slim_p2_05','slim_p2_07','slim_p2_09','slim_p2_10','slim_p2_12','slim_p2_13','slim_p2_14','slim_p2_15','slim_p2_16','slim_p2_17','slim_p2_18','slim_p2_19','slim_p2_20','slim_p2_21'),
137
  4 => array('slim_p4_01','slim_p4_22','slim_p1_06','slim_p4_07','slim_p4_02','slim_p4_03','slim_p4_05','slim_p4_04','slim_p4_06','slim_p4_08','slim_p4_12','slim_p4_13','slim_p4_14','slim_p4_15','slim_p4_16','slim_p4_17','slim_p4_18','slim_p4_11','slim_p4_10','slim_p4_19','slim_p4_20','slim_p4_21','slim_p4_23','slim_p4_24','slim_p4_25'),
138
  5 => array('slim_p3_01','slim_p3_02','slim_p3_03','slim_p3_04','slim_p3_06','slim_p3_05','slim_p3_08','slim_p3_10','slim_p3_09','slim_p3_11'),
265
  }
266
  }
267
  if (!empty($filters_html)){
268
+ $filters_html = "<ul class='slimstat-filter-list'>$filters_html</ul><a href='#' id='slimstat-save-filter' class='slimstat-filter-action-button button-secondary' data-filter-array='".htmlentities(serialize($_filters_array), ENT_QUOTES, 'UTF-8')."'>".__('Save','wp-slimstat')."</a>";
269
  }
270
  if(count($filters_dropdown) > 1){
271
  $filters_html .= '<a href="'.self::fs_url().'" id="slimstat-remove-all-filters" class="button-secondary slimstat-filter-action-button">'.__('Reset All','wp-slimstat').'</a>';
275
  return ($filters_html != "<span class='filters-title'>".__('Current filters:','wp-slimstat').'</span> ')?$filters_html:'';
276
  }
277
 
278
+ public static function report_header($_id = 'p0', $_postbox_class = 'normal', $_tooltip = '', $_title = '', $_show_reload = true){
279
+ $header_buttons = $_show_reload?'<a class="button-ajax refresh slimstat-font-spin3" title="'.__('Refresh','wp-slimstat').'" href="'.wp_slimstat_reports::fs_url().'"></a>':'';
280
  $header_buttons = apply_filters('slimstat_report_header_buttons', $header_buttons, $_id);
281
  $header_buttons = '<div class="slimstat-header-buttons">'.$header_buttons.'</div>';
282
 
403
  return $wrapped_text;
404
  }
405
 
406
+ public static function manage_wp(){
407
+ echo '<a href="https://managewp.com/?utm_source=A&utm_medium=Banner&utm_content=mwp_banner_25_300x250&utm_campaign=A&utm_mrl=2844"><img src="https://managewp.com/banners/affiliate/mwp_banner_25_300x250.gif" style="width:100%;height:auto;"/></a>';
408
+ }
409
+
410
  public static function show_results($_type = 'recent', $_id = 'p0', $_column = 'id', $_args = array()){
411
  // Initialize default values, if not specified
412
  $_args = array_merge(array('custom_where' => '', 'more_columns' => '', 'join_tables' => '', 'having_clause' => '', 'order_by' => '', 'total_for_percentage' => 0, 'as_column' => '', 'filter_op' => 'equals', 'use_date_filters' => true), $_args);
1218
  case 'slim_p1_17':
1219
  self::show_results('popular', $_report_id, 'SUBSTRING(t1.language, 1, 2)', array('total_for_percentage' => $current_pageviews, 'as_column' => 'language', 'filter_op' => 'contains'));
1220
  break;
1221
+ case 'slim_p1_18':
1222
+ self::manage_wp();
1223
+ break;
1224
  case 'slim_p2_02':
1225
  self::show_visitors_summary($_report_id, wp_slimstat_db::count_records_having('visit_id > 0', 'ip'), wp_slimstat_db::count_records('t1.visit_id > 0 AND tb.type <> 1', 'visit_id'));
1226
  break;
admin/wp-slimstat-admin.php CHANGED
@@ -12,7 +12,7 @@ class wp_slimstat_admin{
12
  */
13
  public static function init(){
14
  if ((wp_slimstat::$options['enable_ads_network'] == 'yes' || wp_slimstat::$options['enable_ads_network'] == 'no')){
15
- self::$admin_notice = "We got lots of requests to test our heatmap add-on: thank you all for your help! In order to streamline our support service, we're migrating our ticketing system to Freshdesk (sorry, osTicket). This new site will also include searchable FAQs and much more. <a target='_blank' href='http://support.getused.to.it/'>Feel free to stop by</a> and say hello.";
16
  }
17
  else {
18
  self::$admin_notice = "
12
  */
13
  public static function init(){
14
  if ((wp_slimstat::$options['enable_ads_network'] == 'yes' || wp_slimstat::$options['enable_ads_network'] == 'no')){
15
+ self::$admin_notice = "Meet our recommended partner, <a href='https://managewp.com/?utm_source=A&utm_medium=Banner&utm_content=mwp_banner_25_300x250&utm_campaign=A&utm_mrl=2844' target='_blank'>ManageWP</a>. Their platform allows you to manage all your WordPress sites from one powerful dashboard. Our users get a 10% discount on their premium services. And if you manage less than 5 websites, you can use ManageWP free of charge!";
16
  }
17
  else {
18
  self::$admin_notice = "
readme.txt CHANGED
@@ -3,8 +3,8 @@ Contributors: coolmann
3
  Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=BNJR5EZNY3W38
4
  Tags: analytics, tracking, reports, analyze, wassup, geolocation, online users, spider, tracker, pageviews, stats, maxmind, statistics, statpress
5
  Requires at least: 3.8
6
- Tested up to: 4.0
7
- Stable tag: 3.9.1
8
 
9
  == Description ==
10
  Visit our [website](http://slimstat.getused.to.it/) for more information and to [watch our introductory videos](http://slimstat.getused.to.it/features/video-tutorials/).
@@ -63,6 +63,10 @@ Our FAQs are available on our [support center](https://slimstat.freshdesk.com/su
63
 
64
  == Changelog ==
65
 
 
 
 
 
66
  = 3.9.1 =
67
  * [New] Quickly delete single pageviews in the Real-Time Log screen
68
  * [New] Option to fix an issue occurring when the DB server and the website are in different timezones. Please disable this option if your charts seem to be off.
3
  Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=BNJR5EZNY3W38
4
  Tags: analytics, tracking, reports, analyze, wassup, geolocation, online users, spider, tracker, pageviews, stats, maxmind, statistics, statpress
5
  Requires at least: 3.8
6
+ Tested up to: 4.1
7
+ Stable tag: 3.9.2
8
 
9
  == Description ==
10
  Visit our [website](http://slimstat.getused.to.it/) for more information and to [watch our introductory videos](http://slimstat.getused.to.it/features/video-tutorials/).
63
 
64
  == Changelog ==
65
 
66
+ = 3.9.2 =
67
+ * [New] Welcome our recommended partner, [ManageWP](https://managewp.com/?utm_source=A&utm_medium=Banner&utm_content=mwp_banner_25_300x250&utm_campaign=A&utm_mrl=2844). You will get a 10% discount on their products using our affiliation link.
68
+ * [Fix] XSS Vulnerability introduced by the new Save Filters functionality (thank you, [Ryan](https://wpvulndb.com/vulnerabilities/7744))
69
+
70
  = 3.9.1 =
71
  * [New] Quickly delete single pageviews in the Real-Time Log screen
72
  * [New] Option to fix an issue occurring when the DB server and the website are in different timezones. Please disable this option if your charts seem to be off.
wp-slimstat.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: WP Slimstat
4
  Plugin URI: http://wordpress.org/plugins/wp-slimstat/
5
  Description: The leading web analytics plugin for WordPress
6
- Version: 3.9.1
7
  Author: Camu
8
  Author URI: http://slimstat.getused.to.it/
9
  */
@@ -11,7 +11,7 @@ Author URI: http://slimstat.getused.to.it/
11
  if (!empty(wp_slimstat::$options)) return true;
12
 
13
  class wp_slimstat{
14
- public static $version = '3.9.1';
15
  public static $options = array();
16
 
17
  public static $wpdb = '';
3
  Plugin Name: WP Slimstat
4
  Plugin URI: http://wordpress.org/plugins/wp-slimstat/
5
  Description: The leading web analytics plugin for WordPress
6
+ Version: 3.9.2
7
  Author: Camu
8
  Author URI: http://slimstat.getused.to.it/
9
  */
11
  if (!empty(wp_slimstat::$options)) return true;
12
 
13
  class wp_slimstat{
14
+ public static $version = '3.9.2';
15
  public static $options = array();
16
 
17
  public static $wpdb = '';