Slimstat Analytics - Version 4.1.8.1

Version Description

  • [Update] Renamed and reorganized some tabs under Settings to make them easier to understand
  • [Update] Added icons for Windows 10 and Microsoft Edge 12 browser (thank you, Romain Petges)
  • [Update] Top Outbound Links and other reports can now be added to the WordPress dashboard (thank you, Cole)
  • [Fix] One metric's description was misleading: it was supposed to be Pageviews per Visit, not Pages per Visit (thank you, Bperun)
  • [Fix] Some people were having problems locating the Save button in the settings, which was also hidden when RTL was enabled.
Download this release

Release Info

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

Code changes from version 4.1.8 to 4.1.8.1

admin/config/index.php CHANGED
@@ -123,7 +123,7 @@ $current_tab = empty( $_GET[ 'tab' ] ) ? 1 : intval( $_GET[ 'tab' ] );
123
  // Define all the options
124
  $options = array(
125
  1 => array(
126
- 'title' => __( 'General', 'wp-slimstat' ),
127
  'rows' => array(
128
  'general_tracking_header' => array('description' => __('Tracker','wp-slimstat'), 'type' => 'section_header'),
129
  'is_tracking' => array( 'description' => __('Track Pageviews','wp-slimstat'), 'type' => 'yesno', 'long_description' => __('Turn the tracker on or off, while keeping the reports accessible.','wp-slimstat'), 'custom_label_yes' => __('On','wp-slimstat'), 'custom_label_no' => __('Off','wp-slimstat') ),
@@ -146,6 +146,33 @@ $options = array(
146
  ),
147
 
148
  2 => array(
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
149
  'title' => __( 'Reports', 'wp-slimstat' ),
150
  'rows' => array(
151
  'reports_basic_header' => array('description' => __('Formats and Conversions','wp-slimstat'), 'type' => 'section_header'),
@@ -160,7 +187,8 @@ $options = array(
160
  'use_slimscroll' => array('description' => __('SlimScroll','wp-slimstat'), 'type' => 'yesno', 'long_description' => __('Enable SlimScroll, a slick jQuery library that replaces the built-in browser scrollbar.','wp-slimstat')),
161
  'expand_details' => array('description' => __('Expand Details','wp-slimstat'), 'type' => 'yesno', 'long_description' => __("Expand each row's details by default, insted of on mousehover.",'wp-slimstat')),
162
  'rows_to_show' => array('description' => __('Rows to Display','wp-slimstat'), 'type' => 'integer', 'long_description' => __('Specify the number of items in each report.','wp-slimstat')),
163
- 'limit_results' => array('description' => __('Max Results','wp-slimstat'), 'type' => 'integer', 'long_description' => __('Decide how many records should be retrieved from the database in total. Depending on your server configuration, you may want to fine tune this value to avoid exceeding your PHP memory limit.','wp-slimstat')),
 
164
 
165
  'reports_right_now_header' => array('description' => __('Activity Log','wp-slimstat'), 'type' => 'section_header'),
166
  'refresh_interval' => array('description' => __('Live Stream','wp-slimstat'), 'type' => 'integer', 'long_description' => __('Enable the Live view, which refreshes the Activity Log every X seconds. Enter <strong>0</strong> (number zero) to deactivate this feature.','wp-slimstat'), 'after_input_field' => __('seconds','wp-slimstat')),
@@ -175,7 +203,7 @@ $options = array(
175
  )
176
  ),
177
 
178
- 3 => array(
179
  'title' => __( 'Filters', 'wp-slimstat' ),
180
  'rows' => array(
181
  'filters_users_header' => array('description' => __('Visitors and Known Users','wp-slimstat'), 'type' => 'section_header'),
@@ -204,7 +232,7 @@ $options = array(
204
  )
205
  ),
206
 
207
- 4 => array(
208
  'title' => __( 'Permissions', 'wp-slimstat' ),
209
  'rows' => array(
210
  'permissions_reports_header' => array('description' => __('Reports','wp-slimstat'), 'type' => 'section_header'),
@@ -218,34 +246,6 @@ $options = array(
218
  )
219
  ),
220
 
221
- 5 => array(
222
- 'title' => __( 'Advanced', 'wp-slimstat' ),
223
- 'rows' => array(
224
- 'advanced_tracker_header' => array('description' => __('Tracker','wp-slimstat'), 'type' => 'section_header'),
225
- 'session_duration' => array('description' => __('Session Duration','wp-slimstat'), 'type' => 'integer', 'long_description' => __('How many seconds should a human session last? Google Analytics sets it to 1800 seconds.','wp-slimstat'), 'after_input_field' => __('seconds','wp-slimstat')),
226
- 'extend_session' => array('description' => __('Extend Session','wp-slimstat'), 'type' => 'yesno', 'long_description' => __('Extend the duration of a session each time the user visits a new page.','wp-slimstat')),
227
- 'enable_cdn' => array('description' => __('Enable CDN','wp-slimstat'), 'type' => 'yesno', 'long_description' => __("Use <a href='http://www.jsdelivr.com/' target='_blank'>JSDelivr</a>'s CDN, by serving our tracking code from their fast and reliable network (free service).",'wp-slimstat')),
228
- 'extensions_to_track' => array('description' => __('Extensions to Track','wp-slimstat'), 'type' => 'textarea', 'long_description' => __("List all the file extensions that you want to be treated as Downloads. Please note that links pointing to external resources (i.e. PDFs on a different website) are considered Downloads and not Outbound Links (and tracked as such), if their extension matches one of the ones listed here below.",'wp-slimstat')),
229
-
230
- 'advanced_external_pages_header' => array('description' => __('Pages not belonging to this site','wp-slimstat'), 'type' => 'section_header'),
231
- 'external_pages_script' => array('type' => 'static', 'skip_update' => 'yes', 'description' => __('Add the following code to all the non-WP pages you want to track, right before the closing BODY tag','wp-slimstat'), 'long_description' => '&lt;script type="text/javascript"&gt;
232
- /* &lt;![CDATA[ */
233
- var SlimStatParams = {
234
- ajaxurl: "'.admin_url('admin-ajax.php').'",
235
- ci: "YTo0OntzOjEyOiJjb250ZW50X3R5cGUiO3M6ODoiZXh0ZXJuYWwiO3M6ODoiY2F0ZWdvcnkiO3M6MDoiIjtzOjEwOiJjb250ZW50X2lkIjtpOjA7czo2OiJhdXRob3IiO3M6MTM6ImV4dGVybmFsLXBhZ2UiO30=.' . md5('YTo0OntzOjEyOiJjb250ZW50X3R5cGUiO3M6ODoiZXh0ZXJuYWwiO3M6ODoiY2F0ZWdvcnkiO3M6MDoiIjtzOjEwOiJjb250ZW50X2lkIjtpOjA7czo2OiJhdXRob3IiO3M6MTM6ImV4dGVybmFsLXBhZ2UiO30=' . wp_slimstat::$options[ 'secret' ] ).'",
236
- extensions_to_track: "'.wp_slimstat::$options['extensions_to_track'].'"
237
- };
238
- /* ]]&gt; */
239
- &lt;/script&gt;
240
- &lt;script type="text/javascript" src="http://cdn.jsdelivr.net/wp/wp-slimstat/trunk/wp-slimstat.js"&gt;&lt;/script&gt;'),
241
- 'external_domains' => array('description' => __('Allow External Domains','wp-slimstat'), 'type' => 'textarea', 'long_description' => __("If you are getting an error saying that no 'Access-Control-Allow-Origin' header is present on the requested resource, when using the external tracking code here above, list the domains (complete with scheme, separated by commas) you would like to allow. For example: <code>http://my.domain.ext</code> (no trailing slash). Please see <a href='http://www.w3.org/TR/cors/#security' target='_blank'>this W3 resource</a> for more information on the security implications of allowing CORS requests.",'wp-slimstat')),
242
- 'advanced_misc_header' => array('description' => __('Miscellaneous','wp-slimstat'), 'type' => 'section_header'),
243
- 'show_sql_debug' => array('description' => __('Debug Mode','wp-slimstat'), 'type' => 'yesno', 'long_description' => __('Display the SQL queries used to retrieve the data.','wp-slimstat')),
244
- 'ip_lookup_service' => array('description' => __('IP Lookup','wp-slimstat'), 'type' => 'text', 'long_description' => __('Customize the Geolocation service to be used in the reports.','wp-slimstat')),
245
- 'enable_ads_network' => array('description' => __('Enable UAN','wp-slimstat'), 'type' => 'yesno', 'long_description' => __("Send anonymous data about user agents to our server for analysis. This allows us to contribute to the <a href='http://browscap.org/' target='_blank'>BrowsCap opensource project</a>, and improve the accuracy of Slimstat's browser detection functionality. It also enables our transparent ads network. No worries, your site will not be affected in any way.",'wp-slimstat'))
246
- )
247
- ),
248
-
249
  6 => array(
250
  'title' => __( 'Maintenance', 'wp-slimstat' ),
251
  'include' => dirname(__FILE__).'/maintenance.php'
123
  // Define all the options
124
  $options = array(
125
  1 => array(
126
+ 'title' => __( 'Basic', 'wp-slimstat' ),
127
  'rows' => array(
128
  'general_tracking_header' => array('description' => __('Tracker','wp-slimstat'), 'type' => 'section_header'),
129
  'is_tracking' => array( 'description' => __('Track Pageviews','wp-slimstat'), 'type' => 'yesno', 'long_description' => __('Turn the tracker on or off, while keeping the reports accessible.','wp-slimstat'), 'custom_label_yes' => __('On','wp-slimstat'), 'custom_label_no' => __('Off','wp-slimstat') ),
146
  ),
147
 
148
  2 => array(
149
+ 'title' => __( 'Tracker', 'wp-slimstat' ),
150
+ 'rows' => array(
151
+ 'advanced_tracker_header' => array('description' => __('Tracker','wp-slimstat'), 'type' => 'section_header'),
152
+ 'session_duration' => array('description' => __('Session Duration','wp-slimstat'), 'type' => 'integer', 'long_description' => __('How many seconds should a human session last? Google Analytics sets it to 1800 seconds.','wp-slimstat'), 'after_input_field' => __('seconds','wp-slimstat')),
153
+ 'extend_session' => array('description' => __('Extend Session','wp-slimstat'), 'type' => 'yesno', 'long_description' => __('Extend the duration of a session each time the user visits a new page.','wp-slimstat')),
154
+ 'enable_cdn' => array('description' => __('Enable CDN','wp-slimstat'), 'type' => 'yesno', 'long_description' => __("Use <a href='http://www.jsdelivr.com/' target='_blank'>JSDelivr</a>'s CDN, by serving our tracking code from their fast and reliable network (free service).",'wp-slimstat')),
155
+ 'extensions_to_track' => array('description' => __('Extensions to Track','wp-slimstat'), 'type' => 'textarea', 'long_description' => __("List all the file extensions that you want to be treated as Downloads. Please note that links pointing to external resources (i.e. PDFs on a different website) are considered Downloads and not Outbound Links (and tracked as such), if their extension matches one of the ones listed here below.",'wp-slimstat')),
156
+
157
+ 'advanced_external_pages_header' => array('description' => __('Pages not belonging to this site','wp-slimstat'), 'type' => 'section_header'),
158
+ 'external_pages_script' => array('type' => 'static', 'skip_update' => 'yes', 'description' => __('Add the following code to all the non-WP pages you want to track, right before the closing BODY tag','wp-slimstat'), 'long_description' => '&lt;script type="text/javascript"&gt;
159
+ /* &lt;![CDATA[ */
160
+ var SlimStatParams = {
161
+ ajaxurl: "'.admin_url('admin-ajax.php').'",
162
+ ci: "YTo0OntzOjEyOiJjb250ZW50X3R5cGUiO3M6ODoiZXh0ZXJuYWwiO3M6ODoiY2F0ZWdvcnkiO3M6MDoiIjtzOjEwOiJjb250ZW50X2lkIjtpOjA7czo2OiJhdXRob3IiO3M6MTM6ImV4dGVybmFsLXBhZ2UiO30=.' . md5('YTo0OntzOjEyOiJjb250ZW50X3R5cGUiO3M6ODoiZXh0ZXJuYWwiO3M6ODoiY2F0ZWdvcnkiO3M6MDoiIjtzOjEwOiJjb250ZW50X2lkIjtpOjA7czo2OiJhdXRob3IiO3M6MTM6ImV4dGVybmFsLXBhZ2UiO30=' . wp_slimstat::$options[ 'secret' ] ).'",
163
+ extensions_to_track: "'.wp_slimstat::$options['extensions_to_track'].'"
164
+ };
165
+ /* ]]&gt; */
166
+ &lt;/script&gt;
167
+ &lt;script type="text/javascript" src="http://cdn.jsdelivr.net/wp/wp-slimstat/trunk/wp-slimstat.js"&gt;&lt;/script&gt;'),
168
+ 'external_domains' => array('description' => __('Allow External Domains','wp-slimstat'), 'type' => 'textarea', 'long_description' => __("If you are getting an error saying that no 'Access-Control-Allow-Origin' header is present on the requested resource, when using the external tracking code here above, list the domains (complete with scheme, separated by commas) you would like to allow. For example: <code>http://my.domain.ext</code> (no trailing slash). Please see <a href='http://www.w3.org/TR/cors/#security' target='_blank'>this W3 resource</a> for more information on the security implications of allowing CORS requests.",'wp-slimstat')),
169
+ 'advanced_misc_header' => array('description' => __('Miscellaneous','wp-slimstat'), 'type' => 'section_header'),
170
+ 'enable_ads_network' => array('description' => __('Enable UAN','wp-slimstat'), 'type' => 'yesno', 'long_description' => __("Send anonymous data about user agents to our server for analysis. This allows us to contribute to the <a href='http://browscap.org/' target='_blank'>BrowsCap opensource project</a>, and improve the accuracy of Slimstat's browser detection functionality. It also enables our transparent ads network. No worries, your site will not be affected in any way.",'wp-slimstat'))
171
+ )
172
+ ),
173
+
174
+
175
+ 3 => array(
176
  'title' => __( 'Reports', 'wp-slimstat' ),
177
  'rows' => array(
178
  'reports_basic_header' => array('description' => __('Formats and Conversions','wp-slimstat'), 'type' => 'section_header'),
187
  'use_slimscroll' => array('description' => __('SlimScroll','wp-slimstat'), 'type' => 'yesno', 'long_description' => __('Enable SlimScroll, a slick jQuery library that replaces the built-in browser scrollbar.','wp-slimstat')),
188
  'expand_details' => array('description' => __('Expand Details','wp-slimstat'), 'type' => 'yesno', 'long_description' => __("Expand each row's details by default, insted of on mousehover.",'wp-slimstat')),
189
  'rows_to_show' => array('description' => __('Rows to Display','wp-slimstat'), 'type' => 'integer', 'long_description' => __('Specify the number of items in each report.','wp-slimstat')),
190
+ 'limit_results' => array( 'description' => __( 'Max Results','wp-slimstat' ), 'type' => 'integer', 'long_description' => __( 'Decide how many records should be retrieved from the database in total. Depending on your server configuration, you may want to fine tune this value to avoid exceeding your PHP memory limit.', 'wp-slimstat' ) ),
191
+ 'ip_lookup_service' => array('description' => __( 'IP Lookup', 'wp-slimstat' ), 'type' => 'text', 'long_description' => __( 'Customize the Geolocation service to be used in the reports.', 'wp-slimstat' ) ),
192
 
193
  'reports_right_now_header' => array('description' => __('Activity Log','wp-slimstat'), 'type' => 'section_header'),
194
  'refresh_interval' => array('description' => __('Live Stream','wp-slimstat'), 'type' => 'integer', 'long_description' => __('Enable the Live view, which refreshes the Activity Log every X seconds. Enter <strong>0</strong> (number zero) to deactivate this feature.','wp-slimstat'), 'after_input_field' => __('seconds','wp-slimstat')),
203
  )
204
  ),
205
 
206
+ 4 => array(
207
  'title' => __( 'Filters', 'wp-slimstat' ),
208
  'rows' => array(
209
  'filters_users_header' => array('description' => __('Visitors and Known Users','wp-slimstat'), 'type' => 'section_header'),
232
  )
233
  ),
234
 
235
+ 5 => array(
236
  'title' => __( 'Permissions', 'wp-slimstat' ),
237
  'rows' => array(
238
  'permissions_reports_header' => array('description' => __('Reports','wp-slimstat'), 'type' => 'section_header'),
246
  )
247
  ),
248
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
249
  6 => array(
250
  'title' => __( 'Maintenance', 'wp-slimstat' ),
251
  'include' => dirname(__FILE__).'/maintenance.php'
admin/config/maintenance.php CHANGED
@@ -16,6 +16,10 @@ if (!empty($_REQUEST['action'])){
16
  wp_slimstat_admin::show_alert_message(__('Congrats! Slimstat is now optimized for <a href="http://www.youtube.com/watch?v=ygE01sOhzz0" target="_blank">ludicrous speed</a>.','wp-slimstat'), 'wp-ui-highlight below-h2');
17
  break;
18
 
 
 
 
 
19
  case 'deactivate-indexes':
20
  wp_slimstat::$wpdb->query("ALTER TABLE {$GLOBALS['wpdb']->prefix}slim_stats DROP INDEX {$GLOBALS['wpdb']->prefix}stats_resource_idx");
21
  wp_slimstat::$wpdb->query("ALTER TABLE {$GLOBALS['wpdb']->prefix}slim_stats DROP INDEX {$GLOBALS['wpdb']->prefix}stats_browser_idx");
@@ -23,6 +27,10 @@ if (!empty($_REQUEST['action'])){
23
  wp_slimstat_admin::show_alert_message(__('Indexing has been disabled. Enjoy the extra database space!','wp-slimstat'), 'wp-ui-highlight below-h2');
24
  break;
25
 
 
 
 
 
26
  case 'delete-records':
27
  $rows_affected = 0;
28
 
@@ -221,6 +229,23 @@ $suffixes = array('bytes', 'KB', 'MB', 'GB', 'TB');
221
  <span class="description"><?php _e('The information here above is useful to troubleshoot issues with the tracker. Please include this code when sending a support request.','wp-slimstat') ?></span>
222
  </td>
223
  </tr>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
224
  <tr>
225
  <td colspan="2" class="slimstat-options-section-header"><?php _e('Layout','wp-slimstat') ?></td>
226
  </tr>
16
  wp_slimstat_admin::show_alert_message(__('Congrats! Slimstat is now optimized for <a href="http://www.youtube.com/watch?v=ygE01sOhzz0" target="_blank">ludicrous speed</a>.','wp-slimstat'), 'wp-ui-highlight below-h2');
17
  break;
18
 
19
+ case 'activate-sql-debug-mode':
20
+ wp_slimstat::$options[ 'show_sql_debug' ] = 'yes';
21
+ break;
22
+
23
  case 'deactivate-indexes':
24
  wp_slimstat::$wpdb->query("ALTER TABLE {$GLOBALS['wpdb']->prefix}slim_stats DROP INDEX {$GLOBALS['wpdb']->prefix}stats_resource_idx");
25
  wp_slimstat::$wpdb->query("ALTER TABLE {$GLOBALS['wpdb']->prefix}slim_stats DROP INDEX {$GLOBALS['wpdb']->prefix}stats_browser_idx");
27
  wp_slimstat_admin::show_alert_message(__('Indexing has been disabled. Enjoy the extra database space!','wp-slimstat'), 'wp-ui-highlight below-h2');
28
  break;
29
 
30
+ case 'deactivate-sql-debug-mode':
31
+ wp_slimstat::$options[ 'show_sql_debug' ] = 'no';
32
+ break;
33
+
34
  case 'delete-records':
35
  $rows_affected = 0;
36
 
229
  <span class="description"><?php _e('The information here above is useful to troubleshoot issues with the tracker. Please include this code when sending a support request.','wp-slimstat') ?></span>
230
  </td>
231
  </tr>
232
+ <tr class="alternate">
233
+ <?php if ( wp_slimstat::$options[ 'show_sql_debug' ] != 'yes' ): ?>
234
+ <th scope="row">
235
+ <a class="button-secondary" href="<?php echo wp_slimstat_admin::$config_url.$current_tab ?>&amp;action=activate-sql-debug-mode"><?php _e("Enable SQL Debug",'wp-slimstat'); ?></a>
236
+ </th>
237
+ <td>
238
+ <span class="description"><?php _e("Please note that you will need about 30% more DB space to store the extra information required.",'wp-slimstat') ?></span>
239
+ </td>
240
+ <?php else: ?>
241
+ <th scope="row">
242
+ <a class="button-secondary" href="<?php echo wp_slimstat_admin::$config_url.$current_tab ?>&amp;action=deactivate-sql-debug-mode"><?php _e('Disable SQL Debug','wp-slimstat'); ?></a>
243
+ </th>
244
+ <td>
245
+ <span class="description"><?php _e("Please note that by removing table indexes, Slimstat's performance will be affected.",'wp-slimstat') ?></span>
246
+ </td>
247
+ <?php endif ?>
248
+ </tr>
249
  <tr>
250
  <td colspan="2" class="slimstat-options-section-header"><?php _e('Layout','wp-slimstat') ?></td>
251
  </tr>
admin/css/slimstat.css CHANGED
@@ -439,7 +439,7 @@
439
  color: #fc0;
440
  }
441
  .nav-tabs{
442
- margin: 20px 0 0;
443
  }
444
  .nav-tab{
445
  border-width: 1px 1px 0 !important;
@@ -489,11 +489,6 @@
489
  [id^=form-slimstat-options] input[type=number].small-text{
490
  width: 85px;
491
  }
492
- .slimstat p.submit{
493
- position: fixed;
494
- right: 25px;
495
- top: 30px;
496
- }
497
 
498
  /* Add-ons Page */
499
  .wp-list-table.slimstat-addons{
439
  color: #fc0;
440
  }
441
  .nav-tabs{
442
+ margin: 20px 1px 0;
443
  }
444
  .nav-tab{
445
  border-width: 1px 1px 0 !important;
489
  [id^=form-slimstat-options] input[type=number].small-text{
490
  width: 85px;
491
  }
 
 
 
 
 
492
 
493
  /* Add-ons Page */
494
  .wp-list-table.slimstat-addons{
admin/images/browsers/edge.png ADDED
Binary file
admin/images/browsers/pingdom.png ADDED
Binary file
admin/images/platforms/win10.png ADDED
Binary file
admin/view/right-now.php CHANGED
@@ -7,8 +7,8 @@ if ( !function_exists( 'add_action' ) ) {
7
  $is_dashboard = empty( $_REQUEST[ 'page' ] ) || $_REQUEST[ 'page' ] != 'wp-slim-view-1';
8
 
9
  // Available icons
10
- $supported_browser_icons = array('Android','Anonymouse','Baiduspider','BlackBerry','BingBot','CFNetwork','Chrome','Chromium','Default Browser','Exabot/BiggerBetter','FacebookExternalHit','FeedBurner','Feedfetcher-Google','Firefox','Internet Archive','Googlebot','Google Bot','Google Feedfetcher','Google Web Preview','IE','IEMobile','iPad','iPhone','iPod Touch','Maxthon','Mediapartners-Google','Microsoft-WebDAV','msnbot','Mozilla','NewsGatorOnline','Netscape','Nokia','Opera','Opera Mini','Opera Mobi','Python','PycURL','Safari','W3C_Validator','WordPress','Yahoo! Slurp','YandexBot');
11
- $supported_os_icons = array('android','blackberry os','cellos','chromeos','ios','iphone osx','java','linux','macosx','rim os','symbianos','win7','win8','win8.1','winphone7','winphone7.5','winphone8','winphone8.1','winvista','winxp','unknown');
12
  $supported_browser_types = array(__('Human','wp-slimstat'),__('Bot/Crawler','wp-slimstat'),__('Mobile Device','wp-slimstat'),__('Syndication Reader','wp-slimstat'));
13
 
14
  $plugin_url = plugins_url('', dirname(__FILE__));
7
  $is_dashboard = empty( $_REQUEST[ 'page' ] ) || $_REQUEST[ 'page' ] != 'wp-slim-view-1';
8
 
9
  // Available icons
10
+ $supported_browser_icons = array('Android','Anonymouse','Baiduspider','BlackBerry','BingBot','CFNetwork','Chrome','Chromium','Default Browser','Edge','Exabot/BiggerBetter','FacebookExternalHit','FeedBurner','Feedfetcher-Google','Firefox','Internet Archive','Googlebot','Google Bot','Google Feedfetcher','Google Web Preview','IE','IEMobile','iPad','iPhone','iPod Touch','Maxthon','Mediapartners-Google','Microsoft-WebDAV','msnbot','Mozilla','NewsGatorOnline','Netscape','Nokia','Opera','Opera Mini','Opera Mobi','Pingdom','Python','PycURL','Safari','W3C_Validator','WordPress','Yahoo! Slurp','YandexBot');
11
+ $supported_os_icons = array('android','blackberry os','cellos','chromeos','ios','iphone osx','java','linux','macosx','rim os','symbianos','win7','win8','win8.1','win10','winphone7','winphone7.5','winphone8','winphone8.1','winvista','winxp','unknown');
12
  $supported_browser_types = array(__('Human','wp-slimstat'),__('Bot/Crawler','wp-slimstat'),__('Mobile Device','wp-slimstat'),__('Syndication Reader','wp-slimstat'));
13
 
14
  $plugin_url = plugins_url('', dirname(__FILE__));
admin/view/wp-slimstat-reports.php CHANGED
@@ -720,10 +720,11 @@ class wp_slimstat_reports {
720
  'callback_args' => array(
721
  'type' => 'top',
722
  'columns' => 'outbound_resource',
723
- 'raw' => array( 'wp_slimstat_db', 'get_top' )
 
724
  ),
725
  'classes' => array( 'normal', 'hidden' ),
726
- 'screens' => array( 'wp-slim-view-4' )
727
  ),
728
  'slim_p4_22' => array(
729
  'title' => __( 'Your Website', 'wp-slimstat' ),
@@ -759,7 +760,7 @@ class wp_slimstat_reports {
759
  'raw' => array( 'wp_slimstat_db', 'get_top_aggr' )
760
  ),
761
  'classes' => array( 'normal', 'hidden' ),
762
- 'screens' => array( 'wp-slim-view-4' )
763
  ),
764
  'slim_p4_25' => array(
765
  'title' => __( 'Top Entry Pages', 'wp-slimstat' ),
@@ -1361,7 +1362,7 @@ class wp_slimstat_reports {
1361
  $results[ 5 ][ 'metric' ] = __( 'Bots', 'wp-slimstat' );
1362
  $results[ 5 ][ 'value' ] = number_format( wp_slimstat_db::count_records( 'id', 'browser_type = 1' ), 0, '', wp_slimstat_db::$formats[ 'thousand' ] );
1363
 
1364
- $results[ 6 ][ 'metric' ] = __( 'Pages per visit', 'wp-slimstat' );
1365
  $results[ 6 ][ 'value' ] = number_format( $metrics_per_visit[ 0 ][ 'avghits' ], 2, wp_slimstat_db::$formats[ 'decimal' ], wp_slimstat_db::$formats[ 'thousand' ] );
1366
 
1367
  $results[ 7 ][ 'metric' ] = __( 'Longest visit', 'wp-slimstat' );
720
  'callback_args' => array(
721
  'type' => 'top',
722
  'columns' => 'outbound_resource',
723
+ 'raw' => array( 'wp_slimstat_db', 'get_top' ),
724
+ 'criteria' => 'swap'
725
  ),
726
  'classes' => array( 'normal', 'hidden' ),
727
+ 'screens' => array( 'wp-slim-view-4', 'dashboard' ),
728
  ),
729
  'slim_p4_22' => array(
730
  'title' => __( 'Your Website', 'wp-slimstat' ),
760
  'raw' => array( 'wp_slimstat_db', 'get_top_aggr' )
761
  ),
762
  'classes' => array( 'normal', 'hidden' ),
763
+ 'screens' => array( 'wp-slim-view-4', 'dashboard' )
764
  ),
765
  'slim_p4_25' => array(
766
  'title' => __( 'Top Entry Pages', 'wp-slimstat' ),
1362
  $results[ 5 ][ 'metric' ] = __( 'Bots', 'wp-slimstat' );
1363
  $results[ 5 ][ 'value' ] = number_format( wp_slimstat_db::count_records( 'id', 'browser_type = 1' ), 0, '', wp_slimstat_db::$formats[ 'thousand' ] );
1364
 
1365
+ $results[ 6 ][ 'metric' ] = __( 'Pageviews per visit', 'wp-slimstat' );
1366
  $results[ 6 ][ 'value' ] = number_format( $metrics_per_visit[ 0 ][ 'avghits' ], 2, wp_slimstat_db::$formats[ 'decimal' ], wp_slimstat_db::$formats[ 'thousand' ] );
1367
 
1368
  $results[ 7 ][ 'metric' ] = __( 'Longest visit', 'wp-slimstat' );
admin/wp-slimstat-admin.php CHANGED
@@ -387,7 +387,6 @@ class wp_slimstat_admin{
387
 
388
  outbound_resource VARCHAR(2048) DEFAULT NULL,
389
 
390
- dt_out INT(10) UNSIGNED DEFAULT 0,
391
  dt INT(10) UNSIGNED DEFAULT 0,
392
 
393
  CONSTRAINT PRIMARY KEY (id),
@@ -1060,7 +1059,7 @@ class wp_slimstat_admin{
1060
  }
1061
  // end contextual_help
1062
 
1063
- protected static function settings_table_row($_option_name = '', $_option_details = array(), $_alternate = false){
1064
  $_option_details = array_merge(array('description' =>'', 'type' => '', 'long_description' => '', 'before_input_field' => '', 'after_input_field' => '', 'custom_label_yes' => '', 'custom_label_no' => ''), $_option_details);
1065
 
1066
  if (!isset(wp_slimstat::$options[$_option_name])){
387
 
388
  outbound_resource VARCHAR(2048) DEFAULT NULL,
389
 
 
390
  dt INT(10) UNSIGNED DEFAULT 0,
391
 
392
  CONSTRAINT PRIMARY KEY (id),
1059
  }
1060
  // end contextual_help
1061
 
1062
+ public static function settings_table_row($_option_name = '', $_option_details = array(), $_alternate = false){
1063
  $_option_details = array_merge(array('description' =>'', 'type' => '', 'long_description' => '', 'before_input_field' => '', 'after_input_field' => '', 'custom_label_yes' => '', 'custom_label_no' => ''), $_option_details);
1064
 
1065
  if (!isset(wp_slimstat::$options[$_option_name])){
readme.txt CHANGED
@@ -5,7 +5,7 @@ Tags: analytics, tracking, reports, analyze, wassup, geolocation, online users,
5
  Text Domain: wp-slimstat
6
  Requires at least: 3.8
7
  Tested up to: 4.4
8
- Stable tag: 4.1.8
9
 
10
  == Description ==
11
  [youtube https://www.youtube.com/watch?v=iJCtjxArq4U]
@@ -60,6 +60,13 @@ Our knowledge base is available on our [support center](http://docs.wp-slimstat.
60
 
61
  == Changelog ==
62
 
 
 
 
 
 
 
 
63
  = 4.1.8 =
64
  * [New] The hover effect that revealed the details of a given row in many of our list reports has been flagged as not user-friendly by some users. A new approach using a floating tooltip has been implemented to address this issue (thank you, Romain Petges).
65
  * [New] Slimstat now differentiates between known users who are currently visiting your website, and all others users currently online (two separate reports).
@@ -194,7 +201,7 @@ Thomas Weiss,
194
  Wayne Liebman,
195
  Willow Ridge Press
196
 
197
- == Tools of the trade
198
  [Duri.Me](http://duri.me/),
199
  [Filezilla](https://filezilla-project.org/),
200
  [Fontello](http://fontello.com/),
5
  Text Domain: wp-slimstat
6
  Requires at least: 3.8
7
  Tested up to: 4.4
8
+ Stable tag: 4.1.8.1
9
 
10
  == Description ==
11
  [youtube https://www.youtube.com/watch?v=iJCtjxArq4U]
60
 
61
  == Changelog ==
62
 
63
+ = 4.1.8.1 =
64
+ * [Update] Renamed and reorganized some tabs under Settings to make them easier to understand
65
+ * [Update] Added icons for Windows 10 and Microsoft Edge 12 browser (thank you, Romain Petges)
66
+ * [Update] Top Outbound Links and other reports can now be added to the WordPress dashboard (thank you, Cole)
67
+ * [Fix] One metric's description was misleading: it was supposed to be Pageviews per Visit, not Pages per Visit (thank you, Bperun)
68
+ * [Fix] Some people were having problems locating the Save button in the settings, which was also hidden when RTL was enabled.
69
+
70
  = 4.1.8 =
71
  * [New] The hover effect that revealed the details of a given row in many of our list reports has been flagged as not user-friendly by some users. A new approach using a floating tooltip has been implemented to address this issue (thank you, Romain Petges).
72
  * [New] Slimstat now differentiates between known users who are currently visiting your website, and all others users currently online (two separate reports).
201
  Wayne Liebman,
202
  Willow Ridge Press
203
 
204
+ == Tools of the trade ==
205
  [Duri.Me](http://duri.me/),
206
  [Filezilla](https://filezilla-project.org/),
207
  [Fontello](http://fontello.com/),
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: 4.1.8
7
  Author: Camu
8
  Author URI: http://www.wp-slimstat.com/
9
  Text Domain: wp-slimstat
@@ -13,7 +13,7 @@ Domain Path: /languages
13
  if ( !empty( wp_slimstat::$options ) ) return true;
14
 
15
  class wp_slimstat {
16
- public static $version = '4.1.8';
17
  public static $options = array();
18
 
19
  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: 4.1.8.1
7
  Author: Camu
8
  Author URI: http://www.wp-slimstat.com/
9
  Text Domain: wp-slimstat
13
  if ( !empty( wp_slimstat::$options ) ) return true;
14
 
15
  class wp_slimstat {
16
+ public static $version = '4.1.8.1';
17
  public static $options = array();
18
 
19
  public static $wpdb = '';