Google Analyticator - Version 6.1.2

Version Description

  • Fixes deprecated warnings when wp_debug is enabled.
  • Fixes tracking code issues when trying to disabled certain user roles.
  • Improves plugin security.
Download this release

Release Info

Developer cavemonkey50
Plugin Icon 128x128 Google Analyticator
Version 6.1.2
Comparing to
See all releases

Code changes from version 6.1.1 to 6.1.2

Files changed (2) hide show
  1. google-analyticator.php +32 -24
  2. readme.txt +7 -2
google-analyticator.php CHANGED
@@ -1,7 +1,7 @@
1
<?php
2
/*
3
* Plugin Name: Google Analyticator
4
- * Version: 6.1.1
5
* Plugin URI: http://ronaldheft.com/code/analyticator/
6
* Description: Adds the necessary JavaScript code to enable <a href="http://www.google.com/analytics/">Google's Analytics</a>. After enabling this plugin visit <a href="options-general.php?page=google-analyticator.php">the settings page</a> and enter your Google Analytics' UID and enable logging.
7
* Author: Ronald Heft
@@ -9,7 +9,7 @@
9
* Text Domain: google-analyticator
10
*/
11
12
- define('GOOGLE_ANALYTICATOR_VERSION', '6.1.1');
13
14
// Constants for enabled/disabled state
15
define("ga_enabled", "enabled", true);
@@ -47,24 +47,24 @@ define("ga_downloads_prefix_default", "download", true);
47
define("ga_widgets_default", ga_enabled, true);
48
49
// Create the default key and status
50
- add_option(key_ga_status, ga_status_default, 'If Google Analytics logging in turned on or off.');
51
- add_option(key_ga_uid, ga_uid_default, 'Your Google Analytics UID.');
52
- add_option(key_ga_admin, ga_admin_default, 'If WordPress admins are counted in Google Analytics.');
53
add_option(key_ga_admin_disable, ga_admin_disable_default, '');
54
- add_option(key_ga_admin_role, array('administrator'), 'The level to consider a user a WordPress admin.');
55
- add_option(key_ga_dashboard_role, array('administrator'), 'The level to consider the dashboard widget available to users.');
56
add_option(key_ga_adsense, ga_adsense_default, '');
57
- add_option(key_ga_extra, ga_extra_default, 'Addition Google Analytics tracking options');
58
- add_option(key_ga_extra_after, ga_extra_after_default, 'Addition Google Analytics tracking options');
59
add_option(key_ga_event, ga_event_default, '');
60
- add_option(key_ga_outbound, ga_outbound_default, 'Add tracking of outbound links');
61
- add_option(key_ga_outbound_prefix, ga_outbound_prefix_default, 'Add tracking of outbound links');
62
- add_option(key_ga_downloads, ga_downloads_default, 'Download extensions to track with Google Analyticator');
63
- add_option(key_ga_downloads_prefix, ga_downloads_prefix_default, 'Download extensions to track with Google Analyticator');
64
- add_option('ga_profileid', '', 'The specific profile id');
65
- add_option(key_ga_widgets, ga_widgets_default, 'If the widgets are enabled or disabled');
66
- add_option('ga_google_token', '', 'The token used to authenticate with Google');
67
- add_option('ga_compatibility', 'off', 'Transport compatibility options');
68
69
# Check if we have a version of WordPress greater than 2.8
70
if ( function_exists('register_widget') ) {
@@ -102,7 +102,7 @@ add_action('init', 'ga_outgoing_links');
102
103
// Hook in the options page function
104
function add_ga_option_page() {
105
- $plugin_page = add_options_page(__('Google Analyticator Settings', 'google-analyticator'), 'Google Analytics', 8, basename(__FILE__), 'ga_options_page');
106
107
# Include javascript on the GA settings page
108
add_action('admin_head-' . $plugin_page, 'ga_admin_ajax');
@@ -165,11 +165,19 @@ function ga_options_page() {
165
update_option(key_ga_admin_disable, $ga_admin_disable);
166
167
// Update the admin level
168
- $ga_admin_role = $_POST[key_ga_admin_role];
169
update_option(key_ga_admin_role, $ga_admin_role);
170
171
// Update the dashboard level
172
- $ga_dashboard_role = $_POST[key_ga_dashboard_role];
173
update_option(key_ga_dashboard_role, $ga_dashboard_role);
174
175
// Update the extra tracking code
@@ -649,7 +657,7 @@ function ga_admin_ajax()
649
data: {
650
action: 'ga_ajax_accounts',
651
_ajax_nonce: '<?php echo wp_create_nonce("google-analyticator-accounts_get"); ?>'<?php if ( isset($_GET['token']) ) { ?>,
652
- token: '<?php echo $_GET["token"]; ?>'
653
<?php } ?>
654
},
655
success: function(html) {
@@ -784,7 +792,7 @@ function add_google_analytics()
784
if ( ( get_option(key_ga_status) != ga_disabled ) && ( $uid != "XX-XXXXX-X" ) )
785
{
786
# Determine if the user is an admin, and should see the tracking code
787
- if ( ( get_option(key_ga_admin) == ga_enabled || !ga_current_user_is(get_option(ga_admin_role)) ) && get_option(key_ga_admin_disable) == 'remove' || get_option(key_ga_admin_disable) != 'remove' )
788
{
789
# Add the notice that Google Analyticator tracking is enabled
790
echo "<!-- Google Analytics Tracking by Google Analyticator " . GOOGLE_ANALYTICATOR_VERSION . ": http://ronaldheft.com/code/analyticator/ -->\n";
@@ -831,7 +839,7 @@ function add_google_analytics()
831
echo " _gaq.push(['_trackPageview']);\n";
832
833
# Disable page tracking if admin is logged in
834
- if ( ( get_option(key_ga_admin) == ga_disabled ) && ( ga_current_user_is(get_option(ga_admin_role)) ) )
835
echo " _gaq.push(['_setVar', 'admin']);\n";
836
837
# Add any tracking code after the trackPageview
@@ -875,7 +883,7 @@ function ga_outgoing_links()
875
if ( !is_admin() )
876
{
877
# Display page tracking if user is not an admin
878
- if ( ( get_option(key_ga_admin) == ga_enabled || !ga_current_user_is(get_option(ga_admin_role)) ) && get_option(key_ga_admin_disable) == 'remove' || get_option(key_ga_admin_disable) != 'remove' )
879
{
880
add_action('wp_print_scripts', 'ga_external_tracking_js');
881
}
1
<?php
2
/*
3
* Plugin Name: Google Analyticator
4
+ * Version: 6.1.2
5
* Plugin URI: http://ronaldheft.com/code/analyticator/
6
* Description: Adds the necessary JavaScript code to enable <a href="http://www.google.com/analytics/">Google's Analytics</a>. After enabling this plugin visit <a href="options-general.php?page=google-analyticator.php">the settings page</a> and enter your Google Analytics' UID and enable logging.
7
* Author: Ronald Heft
9
* Text Domain: google-analyticator
10
*/
11
12
+ define('GOOGLE_ANALYTICATOR_VERSION', '6.1.2');
13
14
// Constants for enabled/disabled state
15
define("ga_enabled", "enabled", true);
47
define("ga_widgets_default", ga_enabled, true);
48
49
// Create the default key and status
50
+ add_option(key_ga_status, ga_status_default, '');
51
+ add_option(key_ga_uid, ga_uid_default, '');
52
+ add_option(key_ga_admin, ga_admin_default, '');
53
add_option(key_ga_admin_disable, ga_admin_disable_default, '');
54
+ add_option(key_ga_admin_role, array('administrator'), '');
55
+ add_option(key_ga_dashboard_role, array('administrator'), '');
56
add_option(key_ga_adsense, ga_adsense_default, '');
57
+ add_option(key_ga_extra, ga_extra_default, '');
58
+ add_option(key_ga_extra_after, ga_extra_after_default, '');
59
add_option(key_ga_event, ga_event_default, '');
60
+ add_option(key_ga_outbound, ga_outbound_default, '');
61
+ add_option(key_ga_outbound_prefix, ga_outbound_prefix_default, '');
62
+ add_option(key_ga_downloads, ga_downloads_default, '');
63
+ add_option(key_ga_downloads_prefix, ga_downloads_prefix_default, '');
64
+ add_option('ga_profileid', '', '');
65
+ add_option(key_ga_widgets, ga_widgets_default, '');
66
+ add_option('ga_google_token', '', '');
67
+ add_option('ga_compatibility', 'off', '');
68
69
# Check if we have a version of WordPress greater than 2.8
70
if ( function_exists('register_widget') ) {
102
103
// Hook in the options page function
104
function add_ga_option_page() {
105
+ $plugin_page = add_options_page(__('Google Analyticator Settings', 'google-analyticator'), 'Google Analytics', 'manage_options', basename(__FILE__), 'ga_options_page');
106
107
# Include javascript on the GA settings page
108
add_action('admin_head-' . $plugin_page, 'ga_admin_ajax');
165
update_option(key_ga_admin_disable, $ga_admin_disable);
166
167
// Update the admin level
168
+ if ( array_key_exists(key_ga_admin_role, $_POST) ) {
169
+ $ga_admin_role = $_POST[key_ga_admin_role];
170
+ } else {
171
+ $ga_admin_role = "";
172
+ }
173
update_option(key_ga_admin_role, $ga_admin_role);
174
175
// Update the dashboard level
176
+ if ( array_key_exists(key_ga_dashboard_role, $_POST) ) {
177
+ $ga_dashboard_role = $_POST[key_ga_dashboard_role];
178
+ } else {
179
+ $ga_dashboard_role = "";
180
+ }
181
update_option(key_ga_dashboard_role, $ga_dashboard_role);
182
183
// Update the extra tracking code
657
data: {
658
action: 'ga_ajax_accounts',
659
_ajax_nonce: '<?php echo wp_create_nonce("google-analyticator-accounts_get"); ?>'<?php if ( isset($_GET['token']) ) { ?>,
660
+ token: '<?php echo esc_js($_GET["token"]); ?>'
661
<?php } ?>
662
},
663
success: function(html) {
792
if ( ( get_option(key_ga_status) != ga_disabled ) && ( $uid != "XX-XXXXX-X" ) )
793
{
794
# Determine if the user is an admin, and should see the tracking code
795
+ if ( ( get_option(key_ga_admin) == ga_enabled || !ga_current_user_is(get_option(key_ga_admin_role)) ) && get_option(key_ga_admin_disable) == 'remove' || get_option(key_ga_admin_disable) != 'remove' )
796
{
797
# Add the notice that Google Analyticator tracking is enabled
798
echo "<!-- Google Analytics Tracking by Google Analyticator " . GOOGLE_ANALYTICATOR_VERSION . ": http://ronaldheft.com/code/analyticator/ -->\n";
839
echo " _gaq.push(['_trackPageview']);\n";
840
841
# Disable page tracking if admin is logged in
842
+ if ( ( get_option(key_ga_admin) == ga_disabled ) && ( ga_current_user_is(get_option(key_ga_admin_role)) ) )
843
echo " _gaq.push(['_setVar', 'admin']);\n";
844
845
# Add any tracking code after the trackPageview
883
if ( !is_admin() )
884
{
885
# Display page tracking if user is not an admin
886
+ if ( ( get_option(key_ga_admin) == ga_enabled || !ga_current_user_is(get_option(key_ga_admin_role)) ) && get_option(key_ga_admin_disable) == 'remove' || get_option(key_ga_admin_disable) != 'remove' )
887
{
888
add_action('wp_print_scripts', 'ga_external_tracking_js');
889
}
readme.txt CHANGED
@@ -3,8 +3,8 @@ Contributors: cavemonkey50
3
Donate link: http://ronaldheft.com/code/donate/
4
Tags: stats, statistics, google, analytics, google analytics, tracking, widget
5
Requires at least: 2.7
6
- Tested up to: 3.0
7
- Stable tag: 6.1.1
8
9
Adds the necessary JavaScript code to enable Google Analytics. Includes widgets for Analytics data display.
10
@@ -49,6 +49,11 @@ Please visit [Google Analyticator's support forum](http://forums.ronaldheft.com/
49
50
== Changelog ==
51
52
= 6.1.1 =
53
* Due to many questions about tracking code placement, [an FAQ article](http://forums.ronaldheft.com/viewtopic.php?f=5&t=967) has been written to address these placement questions. If you have any questions, this is a recommended read.
54
* Corrects issues related to selecting user roles to exclude from tracking / seeing the dashboard widget.
3
Donate link: http://ronaldheft.com/code/donate/
4
Tags: stats, statistics, google, analytics, google analytics, tracking, widget
5
Requires at least: 2.7
6
+ Tested up to: 3.1
7
+ Stable tag: 6.1.2
8
9
Adds the necessary JavaScript code to enable Google Analytics. Includes widgets for Analytics data display.
10
49
50
== Changelog ==
51
52
+ = 6.1.2 =
53
+ * Fixes deprecated warnings when wp_debug is enabled.
54
+ * Fixes tracking code issues when trying to disabled certain user roles.
55
+ * Improves plugin security.
56
+
57
= 6.1.1 =
58
* Due to many questions about tracking code placement, [an FAQ article](http://forums.ronaldheft.com/viewtopic.php?f=5&t=967) has been written to address these placement questions. If you have any questions, this is a recommended read.
59
* Corrects issues related to selecting user roles to exclude from tracking / seeing the dashboard widget.