Google Analyticator - Version 3.01

Version Description

Download this release

Release Info

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

Code changes from version 3.0 to 3.01

Files changed (2) hide show
  1. google-analyticator.php +88 -45
  2. readme.txt +1 -1
google-analyticator.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /*
3
  * Plugin Name: Google Analyticator
4
- * Version: 3.0
5
  * Plugin URI: http://plugins.spiralwebconsulting.com/analyticator.html
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: Spiral Web Consulting
@@ -16,6 +16,7 @@ define("ga_disabled", "disabled", true);
16
  define("key_ga_uid", "ga_uid", true);
17
  define("key_ga_status", "ga_status", true);
18
  define("key_ga_admin", "ga_admin_status", true);
 
19
  define("key_ga_admin_level", "ga_admin_level", true);
20
  define("key_ga_extra", "ga_extra", true);
21
  define("key_ga_extra_after", "ga_extra_after", true);
@@ -29,6 +30,7 @@ define("key_ga_specify_http", "ga_specify_http", true);
29
  define("ga_uid_default", "XX-XXXXX-X", true);
30
  define("ga_status_default", ga_disabled, true);
31
  define("ga_admin_default", ga_enabled, true);
 
32
  define("ga_admin_level_default", 8, true);
33
  define("ga_extra_default", "", true);
34
  define("ga_extra_after_default", "", true);
@@ -43,6 +45,7 @@ define("ga_specify_http_default", "auto", true);
43
  add_option(key_ga_status, ga_status_default, 'If Google Analytics logging in turned on or off.');
44
  add_option(key_ga_uid, ga_uid_default, 'Your Google Analytics UID.');
45
  add_option(key_ga_admin, ga_admin_default, 'If WordPress admins are counted in Google Analytics.');
 
46
  add_option(key_ga_admin_level, ga_admin_level_default, 'The level to consider a user a WordPress admin.');
47
  add_option(key_ga_extra, ga_extra_default, 'Addition Google Analytics tracking options');
48
  add_option(key_ga_extra_after, ga_extra_after_default, 'Addition Google Analytics tracking options');
@@ -64,6 +67,7 @@ function ga_admin_init() {
64
  register_setting('google-analyticator', key_ga_status, '');
65
  register_setting('google-analyticator', key_ga_uid, '');
66
  register_setting('google-analyticator', key_ga_admin, '');
 
67
  register_setting('google-analyticator', key_ga_admin_level, '');
68
  register_setting('google-analyticator', key_ga_extra, '');
69
  register_setting('google-analyticator', key_ga_extra_after, '');
@@ -108,6 +112,12 @@ function ga_options_page() {
108
  $ga_admin = ga_admin_default;
109
  update_option(key_ga_admin, $ga_admin);
110
 
 
 
 
 
 
 
111
  // Update the admin level
112
  $ga_admin_level = $_POST[key_ga_admin_level];
113
  if ( $ga_admin_level == '' )
@@ -274,6 +284,29 @@ function ga_options_page() {
274
  ?>.</p>
275
  </td>
276
  </tr>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
277
  <tr>
278
  <th width="30%" valign="top" style="padding-top: 10px;">
279
  <label for="<?php echo key_ga_footer ?>">Footer tracking code:</label>
@@ -446,58 +479,62 @@ function add_google_analytics() {
446
  // If GA is enabled and has a valid key
447
  if ( (get_option(key_ga_status) != ga_disabled ) && ( $uid != "XX-XXXXX-X" )) {
448
 
449
- echo "<!-- Google Analytics Tracking by Google Analyticator: http://plugins.spiralwebconsulting.com/analyticator.html -->\n";
450
- // Pick the HTTP connection
451
- if ( get_option(key_ga_specify_http) == 'http' ) {
452
- echo " <script type=\"text/javascript\" src=\"http://www.google-analytics.com/ga.js\"></script>\n\n";
453
- } elseif ( get_option(key_ga_specify_http) == 'https' ) {
454
- echo " <script type=\"text/javascript\" src=\"https://ssl.google-analytics.com/ga.js\"></script>\n\n";
455
- } else {
456
- echo " <script type=\"text/javascript\">\n";
457
- echo " var gaJsHost = ((\"https:\" == document.location.protocol) ? \"https://ssl.\" : \"http://www.\");\n";
458
- echo " document.write(unescape(\"%3Cscript src='\" + gaJsHost + \"google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E\"));\n";
459
- echo " </script>\n\n";
460
- }
461
 
462
- echo " <script type=\"text/javascript\">\n";
463
- echo " try {\n";
464
- echo " var pageTracker = _gat._getTracker(\"$uid\");\n";
 
 
 
 
 
 
 
 
 
465
 
466
- // Insert extra before tracker code
467
- if ( '' != $extra )
468
- echo " " . $extra . "\n";
469
 
470
- // Initialize the tracker
471
- echo " pageTracker._initData();\n";
472
- echo " pageTracker._trackPageview();\n";
473
 
474
- // Disable page tracking if admin is logged in
475
- if ( ( get_option(key_ga_admin) == ga_disabled ) && ( current_user_can('level_' . get_option(key_ga_admin_level)) ) )
476
- echo " pageTracker._setVar('admin');\n";
477
 
478
- // Insert extra after tracker code
479
- if ( '' != $extra_after )
480
- echo " " . $extra_after . "\n";
481
 
482
- echo " } catch(err) {}</script>\n";
 
 
483
 
484
- // Include the file types to track
485
- $extensions = explode(',', stripslashes(get_option(key_ga_downloads)));
486
- foreach ( $extensions AS $extension )
487
- $ext .= "'$extension',";
488
- $ext = substr($ext, 0, -1);
489
 
490
- // Include the link tracking prefixes
491
- $outbound_prefix = stripslashes(get_option(key_ga_outbound_prefix));
492
- $downloads_prefix = stripslashes(get_option(key_ga_downloads_prefix));
 
 
493
 
494
- ?>
495
- <script type="text/javascript">
496
- var fileTypes = [<?php echo $ext; ?>];
497
- var outboundPrefix = '/<?php echo $outbound_prefix; ?>/';
498
- var downloadsPrefix = '/<?php echo $downloads_prefix; ?>/';
499
- </script>
500
- <?php
 
 
 
 
 
501
  }
502
  }
503
 
@@ -512,7 +549,13 @@ function ga_outgoing_links()
512
  if ( (get_option(key_ga_status) != ga_disabled ) && ( $uid != "XX-XXXXX-X" )) {
513
  // If outbound tracking is enabled
514
  if ( get_option(key_ga_outbound) == ga_enabled ) {
515
- add_action('wp_print_scripts', 'ga_external_tracking_js');
 
 
 
 
 
 
516
  }
517
  }
518
  }
1
  <?php
2
  /*
3
  * Plugin Name: Google Analyticator
4
+ * Version: 3.01
5
  * Plugin URI: http://plugins.spiralwebconsulting.com/analyticator.html
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: Spiral Web Consulting
16
  define("key_ga_uid", "ga_uid", true);
17
  define("key_ga_status", "ga_status", true);
18
  define("key_ga_admin", "ga_admin_status", true);
19
+ define("key_ga_admin_disable", "ga_admin_disable", true);
20
  define("key_ga_admin_level", "ga_admin_level", true);
21
  define("key_ga_extra", "ga_extra", true);
22
  define("key_ga_extra_after", "ga_extra_after", true);
30
  define("ga_uid_default", "XX-XXXXX-X", true);
31
  define("ga_status_default", ga_disabled, true);
32
  define("ga_admin_default", ga_enabled, true);
33
+ define("ga_admin_disable_default", 'remove', true);
34
  define("ga_admin_level_default", 8, true);
35
  define("ga_extra_default", "", true);
36
  define("ga_extra_after_default", "", true);
45
  add_option(key_ga_status, ga_status_default, 'If Google Analytics logging in turned on or off.');
46
  add_option(key_ga_uid, ga_uid_default, 'Your Google Analytics UID.');
47
  add_option(key_ga_admin, ga_admin_default, 'If WordPress admins are counted in Google Analytics.');
48
+ add_option(key_ga_admin_disable, ga_admin_disable_default, '');
49
  add_option(key_ga_admin_level, ga_admin_level_default, 'The level to consider a user a WordPress admin.');
50
  add_option(key_ga_extra, ga_extra_default, 'Addition Google Analytics tracking options');
51
  add_option(key_ga_extra_after, ga_extra_after_default, 'Addition Google Analytics tracking options');
67
  register_setting('google-analyticator', key_ga_status, '');
68
  register_setting('google-analyticator', key_ga_uid, '');
69
  register_setting('google-analyticator', key_ga_admin, '');
70
+ register_setting('google-analyticator', key_ga_admin_disable, '');
71
  register_setting('google-analyticator', key_ga_admin_level, '');
72
  register_setting('google-analyticator', key_ga_extra, '');
73
  register_setting('google-analyticator', key_ga_extra_after, '');
112
  $ga_admin = ga_admin_default;
113
  update_option(key_ga_admin, $ga_admin);
114
 
115
+ // Update the admin disable setting
116
+ $ga_admin_disable = $_POST[key_ga_admin_disable];
117
+ if ( $ga_admin_disable == '' )
118
+ $ga_admin_disable = ga_admin_disable_default;
119
+ update_option(key_ga_admin_disable, $ga_admin_disable);
120
+
121
  // Update the admin level
122
  $ga_admin_level = $_POST[key_ga_admin_level];
123
  if ( $ga_admin_level == '' )
284
  ?>.</p>
285
  </td>
286
  </tr>
287
+ <tr>
288
+ <th width="30%" valign="top" style="padding-top: 10px;">
289
+ <label for="<?php echo key_ga_admin_disable ?>">Admin tracking disable method:</label>
290
+ </th>
291
+ <td>
292
+ <?php
293
+ echo "<select name='".key_ga_admin_disable."' id='".key_ga_admin_disable."'>\n";
294
+
295
+ echo "<option value='remove'";
296
+ if(get_option(key_ga_admin_disable) == 'remove')
297
+ echo " selected='selected'";
298
+ echo ">Remove</option>\n";
299
+
300
+ echo "<option value='admin'";
301
+ if(get_option(key_ga_admin_disable) == 'admin')
302
+ echo" selected='selected'";
303
+ echo ">Use 'admin' variable</option>\n";
304
+
305
+ echo "</select>\n";
306
+ ?>
307
+ <p style="margin: 5px 10px;" class="setting-description">Selecting the "Remove" option will physically remove the tracking code from logged in admin users. Selecting the "Use 'admin' variable" option will assign a variable called 'admin' to logged in admin users. This option will allow Google Analytics' site overlay feature to work, but you will have to manually configure Google Analytics to exclude tracking from hits with the 'admin' variable.</p>
308
+ </td>
309
+ </tr>
310
  <tr>
311
  <th width="30%" valign="top" style="padding-top: 10px;">
312
  <label for="<?php echo key_ga_footer ?>">Footer tracking code:</label>
479
  // If GA is enabled and has a valid key
480
  if ( (get_option(key_ga_status) != ga_disabled ) && ( $uid != "XX-XXXXX-X" )) {
481
 
482
+ // Display page tracking if user is not an admin
483
+ if ( ( get_option(key_ga_admin) == ga_enabled || !current_user_can('level_' . get_option(key_ga_admin_level)) ) && get_option(key_ga_admin_disable) == 'remove' || get_option(key_ga_admin_disable) != 'remove' ) {
 
 
 
 
 
 
 
 
 
 
484
 
485
+ echo "<!-- Google Analytics Tracking by Google Analyticator: http://plugins.spiralwebconsulting.com/analyticator.html -->\n";
486
+ // Pick the HTTP connection
487
+ if ( get_option(key_ga_specify_http) == 'http' ) {
488
+ echo " <script type=\"text/javascript\" src=\"http://www.google-analytics.com/ga.js\"></script>\n\n";
489
+ } elseif ( get_option(key_ga_specify_http) == 'https' ) {
490
+ echo " <script type=\"text/javascript\" src=\"https://ssl.google-analytics.com/ga.js\"></script>\n\n";
491
+ } else {
492
+ echo " <script type=\"text/javascript\">\n";
493
+ echo " var gaJsHost = ((\"https:\" == document.location.protocol) ? \"https://ssl.\" : \"http://www.\");\n";
494
+ echo " document.write(unescape(\"%3Cscript src='\" + gaJsHost + \"google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E\"));\n";
495
+ echo " </script>\n\n";
496
+ }
497
 
498
+ echo " <script type=\"text/javascript\">\n";
499
+ echo " try {\n";
500
+ echo " var pageTracker = _gat._getTracker(\"$uid\");\n";
501
 
502
+ // Insert extra before tracker code
503
+ if ( '' != $extra )
504
+ echo " " . $extra . "\n";
505
 
506
+ // Initialize the tracker
507
+ echo " pageTracker._initData();\n";
508
+ echo " pageTracker._trackPageview();\n";
509
 
510
+ // Disable page tracking if admin is logged in
511
+ if ( ( get_option(key_ga_admin) == ga_disabled ) && ( current_user_can('level_' . get_option(key_ga_admin_level)) ) )
512
+ echo " pageTracker._setVar('admin');\n";
513
 
514
+ // Insert extra after tracker code
515
+ if ( '' != $extra_after )
516
+ echo " " . $extra_after . "\n";
517
 
518
+ echo " } catch(err) {}</script>\n";
 
 
 
 
519
 
520
+ // Include the file types to track
521
+ $extensions = explode(',', stripslashes(get_option(key_ga_downloads)));
522
+ foreach ( $extensions AS $extension )
523
+ $ext .= "'$extension',";
524
+ $ext = substr($ext, 0, -1);
525
 
526
+ // Include the link tracking prefixes
527
+ $outbound_prefix = stripslashes(get_option(key_ga_outbound_prefix));
528
+ $downloads_prefix = stripslashes(get_option(key_ga_downloads_prefix));
529
+
530
+ ?>
531
+ <script type="text/javascript">
532
+ var fileTypes = [<?php echo $ext; ?>];
533
+ var outboundPrefix = '/<?php echo $outbound_prefix; ?>/';
534
+ var downloadsPrefix = '/<?php echo $downloads_prefix; ?>/';
535
+ </script>
536
+ <?php
537
+ }
538
  }
539
  }
540
 
549
  if ( (get_option(key_ga_status) != ga_disabled ) && ( $uid != "XX-XXXXX-X" )) {
550
  // If outbound tracking is enabled
551
  if ( get_option(key_ga_outbound) == ga_enabled ) {
552
+ // If this is not an admin page
553
+ if ( !is_admin() ) {
554
+ // Display page tracking if user is not an admin
555
+ if ( ( get_option(key_ga_admin) == ga_enabled || !current_user_can('level_' . get_option(key_ga_admin_level)) ) && get_option(key_ga_admin_disable) == 'remove' || get_option(key_ga_admin_disable) != 'remove' ) {
556
+ add_action('wp_print_scripts', 'ga_external_tracking_js');
557
+ }
558
+ }
559
  }
560
  }
561
  }
readme.txt CHANGED
@@ -3,7 +3,7 @@ Contributors: cavemonkey50, spiralwebconsulting
3
  Tags: stats, google, analytics, tracking
4
  Requires at least: 2.7
5
  Tested up to: 2.7
6
- Stable tag: 3.0
7
 
8
  Adds the necessary JavaScript code to enable Google Analytics.
9
 
3
  Tags: stats, google, analytics, tracking
4
  Requires at least: 2.7
5
  Tested up to: 2.7
6
+ Stable tag: 3.01
7
 
8
  Adds the necessary JavaScript code to enable Google Analytics.
9