Google Analytics for WordPress by MonsterInsights - Version 5.1

Version Description

Release Date: October 30th, 2014

  • Bugfixes:

    • Fixes a possible JavaScript conflict within the tracking code.
    • Makes sure translations are loaded correctly.
  • Enhancements:

    • Improved UX for help texts in form.
    • Added "Google Analytics by Yoast Premium" to the extensions page.
    • Makes sure the user returns to the original settings tab after saving.
    • Added a filter wp_nav_menu to enable tracking outbound links from the menu.
    • Added a filter wp_list_bookmarks to enable tracking for blogroll widgets.
Download this release

Release Info

Developer joostdevalk
Plugin Icon 128x128 Google Analytics for WordPress by MonsterInsights
Version 5.1
Comparing to
See all releases

Code changes from version 5.0.7 to 5.1

admin/class-admin-ga-js.php CHANGED
@@ -13,6 +13,4 @@ if ( ! class_exists( 'Yoast_GA_Admin_GA_JS' ) ) {
13
 
14
  }
15
 
16
- global $yoast_ga_admin_ga_js;
17
- $yoast_ga_admin_ga_js = new Yoast_GA_Admin_GA_JS;
18
  }
13
 
14
  }
15
 
 
 
16
  }
admin/class-admin.php CHANGED
@@ -35,11 +35,6 @@ if ( ! class_exists( 'Yoast_GA_Admin' ) ) {
35
  add_action( 'admin_notices', array( $this, 'config_warning' ) );
36
  }
37
 
38
- // Require analytics class
39
- if ( ! class_exists( 'Yoast_Google_Analytics' ) ) {
40
- require_once 'class-google-analytics.php';
41
- }
42
-
43
  if ( $_SERVER['REQUEST_METHOD'] == 'POST' ) {
44
 
45
  if ( ! function_exists( 'wp_verify_nonce' ) ) {
@@ -53,16 +48,14 @@ if ( ! class_exists( 'Yoast_GA_Admin' ) ) {
53
 
54
  // Post submitted and verified with our nonce
55
  $this->save_settings( $_POST );
56
-
57
- add_settings_error(
58
- 'yoast_google_analytics',
59
- 'yoast_google_analytics',
60
- __( 'Settings saved!', 'google-analytics-for-wordpress' ),
61
- 'updated'
62
- );
63
  }
64
  }
65
 
 
 
 
 
 
66
  $this->connect_with_google_analytics();
67
  }
68
 
@@ -80,7 +73,9 @@ if ( ! class_exists( 'Yoast_GA_Admin' ) ) {
80
  */
81
  public function save_settings( $data ) {
82
  foreach ( $data as $key => $value ) {
83
- $this->options[$key] = $value;
 
 
84
  }
85
 
86
  // Check checkboxes, on a uncheck they won't be posted to this function
@@ -92,11 +87,23 @@ if ( ! class_exists( 'Yoast_GA_Admin' ) ) {
92
  }
93
 
94
  if ( $this->update_option( $this->options ) ) {
95
- // Success!
 
 
 
 
 
96
  } else {
97
- // Fail..
 
 
 
 
98
  }
99
 
 
 
 
100
  }
101
 
102
  /**
@@ -106,7 +113,7 @@ if ( ! class_exists( 'Yoast_GA_Admin' ) ) {
106
  *
107
  * @return array $links
108
  */
109
- function add_action_links( $links ) {
110
  // add link to knowledgebase
111
  // @todo UTM link fix
112
  $faq_link = '<a title="Yoast Knowledge Base" href="http://kb.yoast.com/category/43-google-analytics-for-wordpress">' . __( 'FAQ', 'google-analytics-for-wordpress' ) . '</a>';
@@ -235,6 +242,8 @@ if ( ! class_exists( 'Yoast_GA_Admin' ) ) {
235
  * Add the scripts to the admin head
236
  */
237
  public function enqueue_scripts() {
 
 
238
  wp_enqueue_script( 'yoast_ga_admin', $this->plugin_url . 'js/yoast_ga_admin' . $this->file_ext( '.js' ) );
239
 
240
  // Eqneue the chosen js file
@@ -260,7 +269,8 @@ if ( ! class_exists( 'Yoast_GA_Admin' ) ) {
260
  * Load the page of a menu item in the GA plugin
261
  */
262
  public function load_page() {
263
- require_once $this->plugin_path . 'admin/class-admin-ga-js.php';
 
264
 
265
  if ( isset( $_GET['page'] ) ) {
266
  switch ( $_GET['page'] ) {
@@ -352,19 +362,30 @@ if ( ! class_exists( 'Yoast_GA_Admin' ) ) {
352
  $input .= '<label class="ga-form ga-form-' . $type . '-label" id="yoast-ga-form-label-' . $type . '-textlabel-' . $this->form_namespace . '-' . $id . '" for="yoast-ga-form-' . $type . '-' . $this->form_namespace . '-' . $id . '" />' . $text_label . '</label>';
353
  }
354
 
355
- $input .= '</div>';
356
-
357
  // If we get a description, append it to this select field in a new row
358
  if ( ! is_null( $description ) ) {
359
- $input .= '<div class="ga-form ga-form-input">';
360
- $input .= '<label class="ga-form ga-form-select-label ga-form-label-left" id="yoast-ga-form-description-select-' . $this->form_namespace . '-' . $id . '" />&nbsp;</label>';
361
- $input .= '<span class="ga-form ga-form-description">' . $description . '</span>';
362
- $input .= '</div>';
363
  }
364
 
 
 
365
  return $input;
366
  }
367
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
368
  /**
369
  * Generate a select box
370
  *
@@ -410,16 +431,13 @@ if ( ! class_exists( 'Yoast_GA_Admin' ) ) {
410
  }
411
  }
412
  $select .= '</select>';
413
- $select .= '</div>';
414
 
415
- // If we get a description, append it to this select field in a new row
416
  if ( ! is_null( $description ) ) {
417
- $select .= '<div class="ga-form ga-form-input">';
418
- $select .= '<label class="ga-form ga-form-select-label ga-form-label-left" id="yoast-ga-form-description-select-' . $this->form_namespace . '-' . $id . '" />&nbsp;</label>';
419
- $select .= '<span class="ga-form ga-form-description">' . __( $description, 'google-analytics-for-wordpress' ) . '</span>';
420
- $select .= '</div>';
421
  }
422
 
 
 
423
  return $select;
424
  }
425
 
@@ -446,16 +464,13 @@ if ( ! class_exists( 'Yoast_GA_Admin' ) ) {
446
  $text .= '<label class="ga-form ga-form-select-label ga-form-label-left" id="yoast-ga-form-label-select-' . $this->form_namespace . '-' . $id . '" />' . __( $title, 'google-analytics-for-wordpress' ) . ':</label>';
447
  }
448
  $text .= '<textarea rows="5" cols="60" name="' . $name . '" id="yoast-ga-form-textarea-' . $this->form_namespace . '-' . $id . '">' . stripslashes( $this->options[$name] ) . '</textarea>';
449
- $text .= '</div>';
450
 
451
- // If we get a description, append it to this select field in a new row
452
  if ( ! is_null( $description ) ) {
453
- $text .= '<div class="ga-form ga-form-input">';
454
- $text .= '<label class="ga-form ga-form-select-label ga-form-label-left" id="yoast-ga-form-description-select-' . $this->form_namespace . '-' . $id . '" />&nbsp;</label>';
455
- $text .= '<span class="ga-form ga-form-description">' . __( $description, 'google-analytics-for-wordpress' ) . '</span>';
456
- $text .= '</div>';
457
  }
458
 
 
 
459
  return $text;
460
  }
461
 
@@ -592,8 +607,71 @@ if ( ! class_exists( 'Yoast_GA_Admin' ) ) {
592
  require 'views/content-footer.php';
593
  }
594
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
595
  }
596
 
597
- global $yoast_ga_admin;
598
- $yoast_ga_admin = new Yoast_GA_Admin;
599
  }
35
  add_action( 'admin_notices', array( $this, 'config_warning' ) );
36
  }
37
 
 
 
 
 
 
38
  if ( $_SERVER['REQUEST_METHOD'] == 'POST' ) {
39
 
40
  if ( ! function_exists( 'wp_verify_nonce' ) ) {
48
 
49
  // Post submitted and verified with our nonce
50
  $this->save_settings( $_POST );
 
 
 
 
 
 
 
51
  }
52
  }
53
 
54
+ /**
55
+ * Show the notifications if we have one
56
+ */
57
+ $this->show_notification( 'ga_notifications' );
58
+
59
  $this->connect_with_google_analytics();
60
  }
61
 
73
  */
74
  public function save_settings( $data ) {
75
  foreach ( $data as $key => $value ) {
76
+ if ( $key != 'return_tab' ) {
77
+ $this->options[$key] = $value;
78
+ }
79
  }
80
 
81
  // Check checkboxes, on a uncheck they won't be posted to this function
87
  }
88
 
89
  if ( $this->update_option( $this->options ) ) {
90
+ // Success, add a new notification
91
+ $this->add_notification( 'ga_notifications', array(
92
+ 'type' => 'success',
93
+ 'description' => __( 'Settings saved!', 'google-analytics-for-wordpress' ),
94
+ ) );
95
+
96
  } else {
97
+ // Fail, add a new notification
98
+ $this->add_notification( 'ga_notifications', array(
99
+ 'type' => 'error',
100
+ 'description' => __( 'There where no changes to save, please try again.', 'google-analytics-for-wordpress' ),
101
+ ) );
102
  }
103
 
104
+ #redirect
105
+ wp_redirect( admin_url( 'admin.php' ) . '?page=yst_ga_settings#top#' . $data['return_tab'], 301 );
106
+ exit;
107
  }
108
 
109
  /**
113
  *
114
  * @return array $links
115
  */
116
+ public function add_action_links( $links ) {
117
  // add link to knowledgebase
118
  // @todo UTM link fix
119
  $faq_link = '<a title="Yoast Knowledge Base" href="http://kb.yoast.com/category/43-google-analytics-for-wordpress">' . __( 'FAQ', 'google-analytics-for-wordpress' ) . '</a>';
242
  * Add the scripts to the admin head
243
  */
244
  public function enqueue_scripts() {
245
+ wp_enqueue_script( 'jquery-qtip', $this->plugin_url . 'js/jquery.qtip.min.js', array( 'jquery' ), '1.0.0-RC3', true );
246
+
247
  wp_enqueue_script( 'yoast_ga_admin', $this->plugin_url . 'js/yoast_ga_admin' . $this->file_ext( '.js' ) );
248
 
249
  // Eqneue the chosen js file
269
  * Load the page of a menu item in the GA plugin
270
  */
271
  public function load_page() {
272
+ global $yoast_ga_admin_ga_js;
273
+ $yoast_ga_admin_ga_js = new Yoast_GA_Admin_GA_JS;
274
 
275
  if ( isset( $_GET['page'] ) ) {
276
  switch ( $_GET['page'] ) {
362
  $input .= '<label class="ga-form ga-form-' . $type . '-label" id="yoast-ga-form-label-' . $type . '-textlabel-' . $this->form_namespace . '-' . $id . '" for="yoast-ga-form-' . $type . '-' . $this->form_namespace . '-' . $id . '" />' . $text_label . '</label>';
363
  }
364
 
 
 
365
  // If we get a description, append it to this select field in a new row
366
  if ( ! is_null( $description ) ) {
367
+ $input .= $this->show_help( $id, $description );
 
 
 
368
  }
369
 
370
+ $input .= '</div>';
371
+
372
  return $input;
373
  }
374
 
375
+ /**
376
+ * Show a question mark with help
377
+ *
378
+ * @param string $id
379
+ * @param string $description
380
+ *
381
+ * @return string
382
+ */
383
+ private function show_help( $id, $description ) {
384
+ $help = '<img src="' . plugins_url( 'img/question-mark.png', GAWP_FILE ) . '" class="alignleft yoast_help" id="' . esc_attr( $id . 'help' ) . '" alt="' . esc_attr( $description ) . '" />';
385
+
386
+ return $help;
387
+ }
388
+
389
  /**
390
  * Generate a select box
391
  *
431
  }
432
  }
433
  $select .= '</select>';
 
434
 
 
435
  if ( ! is_null( $description ) ) {
436
+ $select .= $this->show_help( $id, $description );
 
 
 
437
  }
438
 
439
+ $select .= '</div>';
440
+
441
  return $select;
442
  }
443
 
464
  $text .= '<label class="ga-form ga-form-select-label ga-form-label-left" id="yoast-ga-form-label-select-' . $this->form_namespace . '-' . $id . '" />' . __( $title, 'google-analytics-for-wordpress' ) . ':</label>';
465
  }
466
  $text .= '<textarea rows="5" cols="60" name="' . $name . '" id="yoast-ga-form-textarea-' . $this->form_namespace . '-' . $id . '">' . stripslashes( $this->options[$name] ) . '</textarea>';
 
467
 
 
468
  if ( ! is_null( $description ) ) {
469
+ $text .= $this->show_help( $id, $description );
 
 
 
470
  }
471
 
472
+ $text .= '</div>';
473
+
474
  return $text;
475
  }
476
 
607
  require 'views/content-footer.php';
608
  }
609
 
610
+ /**
611
+ * Returns a list of all available extensions
612
+ *
613
+ * @return array
614
+ */
615
+ public function get_extensions() {
616
+ $extensions = array(
617
+ 'ga_premium' => (object) array(
618
+ 'url' => 'https://yoast.com/wordpress/plugins/google-analytics/',
619
+ 'title' => __( 'Google Analytics by Yoast Premium', 'google-analytics-for-wordpress' ),
620
+ 'desc' => __( 'The premium version of Google Analytics for WordPress with more features &amp; support.', 'google-analytics-for-wordpress' ),
621
+ 'status' => 'uninstalled',
622
+ ),
623
+ 'ecommerce' => (object) array(
624
+ 'url' => 'https://yoast.com/wordpress/plugins/google-analytics/',
625
+ 'title' => __( 'Google Analytics', 'google-analytics-for-wordpress' ) . '<br />' . __( 'E-Commerce tracking', 'google-analytics-for-wordpress' ),
626
+ 'desc' => __( 'Track your E-Commerce data and transactions with this E-Commerce extension for Google Analytics.', 'google-analytics-for-wordpress' ),
627
+ 'status' => 'uninstalled',
628
+ ),
629
+ );
630
+
631
+ $extensions = apply_filters( 'yst_ga_extension_status', $extensions );
632
+
633
+ return $extensions;
634
+ }
635
+
636
+ /**
637
+ * Add a notification to the notification transient
638
+ *
639
+ * @param $transient_name
640
+ * @param $settings
641
+ */
642
+ private function add_notification( $transient_name, $settings ) {
643
+ set_transient( $transient_name, $settings, MINUTE_IN_SECONDS );
644
+ }
645
+
646
+ /**
647
+ * Show the notification that should be set, after showing the notification this function unset the transient
648
+ *
649
+ * @param string $transient_name The name of the transient which contains the notification
650
+ */
651
+ public function show_notification( $transient_name ) {
652
+ $transient = get_transient( $transient_name );
653
+
654
+ if ( isset( $transient['type'] ) && isset( $transient['description'] ) ) {
655
+ if ( $transient['type'] == 'success' ) {
656
+ add_settings_error(
657
+ 'yoast_google_analytics',
658
+ 'yoast_google_analytics',
659
+ $transient['description'],
660
+ 'updated'
661
+ );
662
+ } else {
663
+ add_settings_error(
664
+ 'yoast_google_analytics',
665
+ 'yoast_google_analytics',
666
+ $transient['description'],
667
+ 'error'
668
+ );
669
+ }
670
+
671
+ delete_transient( $transient_name );
672
+ }
673
+ }
674
+
675
  }
676
 
 
 
677
  }
admin/pages/extensions.php CHANGED
@@ -5,16 +5,7 @@ echo $yoast_ga_admin->content_head();
5
 
6
  $has_extensions = false;
7
 
8
- $extensions = array(
9
- 'ecommerce' => (object) array(
10
- 'url' => 'https://yoast.com/wordpress/plugins/google-analytics/',
11
- 'title' => __( 'Google Analytics', 'google-analytics-for-wordpress' ) . '<br />' . __( 'E-Commerce tracking', 'google-analytics-for-wordpress' ),
12
- 'desc' => __( 'Track your E-Commerce data and transactions with this E-Commerce extension for Google Analytics.', 'google-analytics-for-wordpress' ),
13
- 'status' => 'uninstalled',
14
- ),
15
- );
16
-
17
- $extensions = apply_filters( 'yst_ga_extension_status', $extensions );
18
  ?>
19
  <h2 id="yoast_ga_title"><?php echo __( 'Yoast Google Analytics: Extensions', 'google-analytics-for-wordpress' ); ?></h2>
20
 
@@ -24,42 +15,52 @@ $extensions = apply_filters( 'yst_ga_extension_status', $extensions );
24
  </h2>
25
  <div class="tabwrapper">
26
  <div id="extensions" class="wpseotab gatab">
27
- <?php
28
- foreach ( $extensions as $name => $extension ) {
29
- if ( 'uninstalled' !== $extension->status ) {
30
- $has_extensions = true;
31
- }
32
- ?>
33
- <div class="extension <?php echo $name; ?>">
34
- <a target="_blank" href="<?php echo $extension->url; ?>#utm_medium=banner&utm_source=gawp-config&utm_campaign=extension-page-banners">
35
- <h3><?php echo $extension->title; ?></h3>
36
- </a>
37
 
38
- <p><?php echo $extension->desc; ?></p>
39
 
40
- <p>
41
- <?php if ( 'uninstalled' == $extension->status ) { ?>
42
- <a target="_blank" href="https://yoast.com/wordpress/plugins/ga-ecommerce-edd/#utm_medium=banner&utm_source=gawp-config&utm_campaign=extension-page-banners" class="button-primary">Get this extension</a>
43
- <?php } else if ( 'inactive' == $extension->status ) { ?>
 
 
 
 
 
44
  <a href="#top#licenses" class="activate-link button-primary">Activate License</a>
45
- <?php } else { ?>
 
 
46
  <button class="button-primary installed">Installed</button>
47
- <?php } ?>
48
- </p>
49
- </div>
50
- <?php
51
- }
52
- ?>
53
- </div>
54
- <div id="licenses" class="wpseotab gatab">
55
  <?php
56
- if ( ! $has_extensions ) {
57
- echo '<p>' . __( 'You have not installed any extensions for Yoast Google Analytics, so there are no licenses to activate.', 'google-analytics-for-wordpress' ) . '</p>';
58
- } else {
59
- do_action( 'yst_ga_show_license_form' );
60
  }
61
  ?>
62
  </div>
 
 
 
 
 
 
 
 
 
63
  </div>
64
  <div class="clear"></div>
65
 
5
 
6
  $has_extensions = false;
7
 
8
+ $extensions = $yoast_ga_admin->get_extensions();
 
 
 
 
 
 
 
 
 
9
  ?>
10
  <h2 id="yoast_ga_title"><?php echo __( 'Yoast Google Analytics: Extensions', 'google-analytics-for-wordpress' ); ?></h2>
11
 
15
  </h2>
16
  <div class="tabwrapper">
17
  <div id="extensions" class="wpseotab gatab">
18
+ <?php
19
+ foreach ( $extensions as $name => $extension ) {
20
+ if ( 'uninstalled' !== $extension->status ) {
21
+ $has_extensions = true;
22
+ }
23
+ ?>
24
+ <div class="extension <?php echo $name; ?>">
25
+ <a target="_blank" href="<?php echo $extension->url; ?>#utm_medium=banner&utm_source=gawp-config&utm_campaign=extension-page-banners">
26
+ <h3><?php echo $extension->title; ?></h3>
27
+ </a>
28
 
29
+ <p><?php echo $extension->desc; ?></p>
30
 
31
+ <p>
32
+ <?php
33
+ if ( 'uninstalled' == $extension->status ) {
34
+ ?>
35
+ <a target="_blank" href="https://yoast.com/wordpress/plugins/ga-ecommerce-edd/#utm_medium=banner&utm_source=gawp-config&utm_campaign=extension-page-banners" class="button-primary">Get this extension</a>
36
+ <?php
37
+ } else {
38
+ if ( 'inactive' == $extension->status ) {
39
+ ?>
40
  <a href="#top#licenses" class="activate-link button-primary">Activate License</a>
41
+ <?php
42
+ } else {
43
+ ?>
44
  <button class="button-primary installed">Installed</button>
45
+ <?php
46
+ }
47
+ }
48
+ ?>
49
+ </p>
50
+ </div>
 
 
51
  <?php
 
 
 
 
52
  }
53
  ?>
54
  </div>
55
+ <div id="licenses" class="wpseotab gatab">
56
+ <?php
57
+ if ( ! $has_extensions ) {
58
+ echo '<p>' . __( 'You have not installed any extensions for Yoast Google Analytics, so there are no licenses to activate.', 'google-analytics-for-wordpress' ) . '</p>';
59
+ } else {
60
+ do_action( 'yst_ga_show_license_form' );
61
+ }
62
+ ?>
63
+ </div>
64
  </div>
65
  <div class="clear"></div>
66
 
admin/pages/settings.php CHANGED
@@ -13,12 +13,14 @@ settings_errors( 'yoast_google_analytics' );
13
  <a class="nav-tab" id="general-tab" href="#top#general"><?php _e( 'General', 'google-analytics-for-wordpress' ); ?></a>
14
  <a class="nav-tab" id="universal-tab" href="#top#universal"><?php _e( 'Universal', 'google-analytics-for-wordpress' ); ?></a>
15
  <a class="nav-tab" id="advanced-tab" href="#top#advanced"><?php _e( 'Advanced', 'google-analytics-for-wordpress' ); ?></a>
 
16
  <a class="nav-tab" id="debugmode-tab" href="#top#debugmode"><?php _e( 'Debug mode', 'google-analytics-for-wordpress' ); ?></a>
17
  </h2>
18
 
19
  <?php
20
  echo $yoast_ga_admin->create_form( 'settings' );
21
  ?>
 
22
  <div class="tabwrapper">
23
  <div id="general" class="gatab">
24
  <?php
@@ -94,6 +96,7 @@ echo $yoast_ga_admin->create_form( 'settings' );
94
  do_action( 'yst_ga_advanced-tab' );
95
  ?>
96
  </div>
 
97
  <div id="debugmode" class="gatab">
98
  <?php
99
  echo '<h2>' . __( 'Debug settings', 'google-analytics-for-wordpress' ) . '</h2>';
13
  <a class="nav-tab" id="general-tab" href="#top#general"><?php _e( 'General', 'google-analytics-for-wordpress' ); ?></a>
14
  <a class="nav-tab" id="universal-tab" href="#top#universal"><?php _e( 'Universal', 'google-analytics-for-wordpress' ); ?></a>
15
  <a class="nav-tab" id="advanced-tab" href="#top#advanced"><?php _e( 'Advanced', 'google-analytics-for-wordpress' ); ?></a>
16
+ <?php do_action( 'yst_ga_custom_tabs-tab' ); ?>
17
  <a class="nav-tab" id="debugmode-tab" href="#top#debugmode"><?php _e( 'Debug mode', 'google-analytics-for-wordpress' ); ?></a>
18
  </h2>
19
 
20
  <?php
21
  echo $yoast_ga_admin->create_form( 'settings' );
22
  ?>
23
+ <input type="hidden" name="return_tab" id="return_tab" value="general" />
24
  <div class="tabwrapper">
25
  <div id="general" class="gatab">
26
  <?php
96
  do_action( 'yst_ga_advanced-tab' );
97
  ?>
98
  </div>
99
+ <?php do_action( 'yst_ga_custom_tabs-content' ); ?>
100
  <div id="debugmode" class="gatab">
101
  <?php
102
  echo '<h2>' . __( 'Debug settings', 'google-analytics-for-wordpress' ) . '</h2>';
admin/views/content-footer.php CHANGED
@@ -1,9 +1,9 @@
1
  </div>
2
  <div class="yoast-ga-banners">
3
  <?php foreach ( $banners as $item ): ?>
4
- <p><a href="<?php echo $item['url']; ?>" target="_blank">
5
- <img src="<?php echo $item['banner']; ?>" alt="<?php echo $item['title']; ?>" class="yoast-banner" border="0" width="250" />
6
- </a></p>
7
  <?php endforeach; ?>
8
  </div>
9
  </div>
1
  </div>
2
  <div class="yoast-ga-banners">
3
  <?php foreach ( $banners as $item ): ?>
4
+ <p><a href="<?php echo $item['url']; ?>" target="_blank">
5
+ <img src="<?php echo $item['banner']; ?>" alt="<?php echo $item['title']; ?>" class="yoast-banner" border="0" width="250" />
6
+ </a></p>
7
  <?php endforeach; ?>
8
  </div>
9
  </div>
css/yoast_ga_styles.css CHANGED
@@ -171,3 +171,7 @@ select.ga-multiple {
171
  padding-left: 16px;
172
  font-size: 14px;
173
  }
 
 
 
 
171
  padding-left: 16px;
172
  font-size: 14px;
173
  }
174
+
175
+ .yoast_help {
176
+ margin: 2px 5px 0 5px;
177
+ }
css/yoast_ga_styles.min.css CHANGED
@@ -1 +1 @@
1
- h2#yoast_ga_title{padding:9px 15px 4px 0;font-size:23px;font-weight:400;line-height:29px}.nav-tab-wrapper{margin-bottom:0}.gatab{display:none}.gatab.active{display:block;padding:.5em .9em;border:1px solid #ddd;border-radius:0 3px 3px;background-color:#fff}.tabwrapper .gatab{padding:0;border:none;background:0 0}.tabwrapper .gatab h2{padding:9px 15px 4px 0;font-size:23px;font-weight:400}.ga-form-submit{margin-top:20px}.ga-form-label-left{float:left;width:250px;margin:0 0 0 5px;font-size:14px;font-weight:700;cursor:default}.ga-form-input{margin-top:10px}#yoast-ga-wrapper{display:table;width:auto;max-width:1150px}.yoast-ga-content{display:table-cell;min-width:850px;height:500px;margin:0;padding:0;vertical-align:top}.yoast-ga-banners{display:table-cell;width:261px;height:500px;margin:0;padding:0;padding:20px;vertical-align:top}.ga-form-input{display:table;margin-bottom:20px}.ga-form-table{display:table-cell}.ga-form-description{display:block;float:right;max-width:325px;color:#999}p.ga-topdescription{max-width:600px}#ga-promote{max-width:600px;padding-left:10px;border:1px solid #ccc;background-color:#fff}#yoast-ga-form-settings input[type=text]{width:325px}#enter_ua{display:none;margin-top:10px;padding-top:10px}#yoast-ga-form-text-settings-ga_general-manual_ua_code_field{margin-top:-30px}select.ga-multiple{width:300px;height:150px!important}.wpseotab .extension{float:left;box-sizing:border-box;width:350px;height:230px;margin:10px 20px 10px 0;border:1px solid #ccc}.wpseotab .extension p{margin:0;padding:10px}.wpseotab .extension h3{box-sizing:border-box;height:110px;margin:0;padding:20px 10px 0 120px;border-bottom:1px solid #ccc;background:#fff no-repeat left 10px;background-size:130px 100px}.wpseotab .extension button.installed{border-color:#00a000;background-color:#00a000;cursor:default}.wpseotab .extension .button-primary.activate-link{border-color:#f06000;background-color:#f18500}.extension a{text-decoration:none}.ecommerce h3{background-image:url(../img/eComm_130x100.png)!important}#ga-debug-info h3{height:30px;margin-top:10px;padding-left:16px;font-size:14px}
1
+ h2#yoast_ga_title{padding:9px 15px 4px 0;font-size:23px;font-weight:400;line-height:29px}.nav-tab-wrapper{margin-bottom:0}.gatab{display:none}.gatab.active{display:block;padding:.5em .9em;border:1px solid #ddd;border-radius:0 3px 3px;background-color:#fff}.tabwrapper .gatab{padding:0;border:none;background:0 0}.tabwrapper .gatab h2{padding:9px 15px 4px 0;font-size:23px;font-weight:400}.ga-form-submit{margin-top:20px}.ga-form-label-left{float:left;width:250px;margin:0 0 0 5px;font-size:14px;font-weight:700;cursor:default}.ga-form-input{margin-top:10px}#yoast-ga-wrapper{display:table;width:auto;max-width:1150px}.yoast-ga-content{display:table-cell;min-width:850px;height:500px;margin:0;padding:0;vertical-align:top}.yoast-ga-banners{display:table-cell;width:261px;height:500px;margin:0;padding:0;padding:20px;vertical-align:top}.ga-form-input{display:table;margin-bottom:20px}.ga-form-table{display:table-cell}.ga-form-description{display:block;float:right;max-width:325px;color:#999}p.ga-topdescription{max-width:600px}#ga-promote{max-width:600px;padding-left:10px;border:1px solid #ccc;background-color:#fff}#yoast-ga-form-settings input[type=text]{width:325px}#enter_ua{display:none;margin-top:10px;padding-top:10px}#yoast-ga-form-text-settings-ga_general-manual_ua_code_field{margin-top:-30px}select.ga-multiple{width:300px;height:150px!important}.wpseotab .extension{float:left;box-sizing:border-box;width:350px;height:230px;margin:10px 20px 10px 0;border:1px solid #ccc}.wpseotab .extension p{margin:0;padding:10px}.wpseotab .extension h3{box-sizing:border-box;height:110px;margin:0;padding:20px 10px 0 120px;border-bottom:1px solid #ccc;background:#fff no-repeat left 10px;background-size:130px 100px}.wpseotab .extension button.installed{border-color:#00a000;background-color:#00a000;cursor:default}.wpseotab .extension .button-primary.activate-link{border-color:#f06000;background-color:#f18500}.extension a{text-decoration:none}.ecommerce h3{background-image:url(../img/eComm_130x100.png)!important}#ga-debug-info h3{height:30px;margin-top:10px;padding-left:16px;font-size:14px}.yoast_help{margin:2px 5px 0}
frontend/class-frontend.php CHANGED
@@ -19,9 +19,11 @@ if ( ! class_exists( 'Yoast_GA_Frontend' ) ) {
19
 
20
  // Check if the customer is running Universal or not (Enable in GA Settings -> Universal)
21
  if ( isset( $this->options['enable_universal'] ) && $this->options['enable_universal'] == 1 ) {
22
- require_once 'class-universal.php';
 
23
  } else {
24
- require_once 'class-ga-js.php';
 
25
  }
26
  }
27
 
@@ -217,6 +219,4 @@ if ( ! class_exists( 'Yoast_GA_Frontend' ) ) {
217
  }
218
  }
219
 
220
- global $yoast_ga_frontend;
221
- $yoast_ga_frontend = new Yoast_GA_Frontend;
222
  }
19
 
20
  // Check if the customer is running Universal or not (Enable in GA Settings -> Universal)
21
  if ( isset( $this->options['enable_universal'] ) && $this->options['enable_universal'] == 1 ) {
22
+ global $yoast_ga_universal;
23
+ $yoast_ga_universal = new Yoast_GA_Universal;
24
  } else {
25
+ global $yoast_ga_js;
26
+ $yoast_ga_js = new Yoast_GA_JS;
27
  }
28
  }
29
 
219
  }
220
  }
221
 
 
 
222
  }
frontend/class-ga-js.php CHANGED
@@ -9,8 +9,8 @@ if ( ! class_exists( 'Yoast_GA_JS' ) ) {
9
  public $link_regex;
10
 
11
  public function __construct() {
12
- parent::__construct();
13
 
 
14
  $this->link_regex = '/<a (.*?)href=[\'\"](.*?):\/*([^\'\"]+?)[\'\"](.*?)>(.*?)<\/a>/i';
15
 
16
  add_action( 'wp_head', array( $this, 'tracking' ), 8 );
@@ -19,6 +19,8 @@ if ( ! class_exists( 'Yoast_GA_JS' ) ) {
19
  // Check for outbound
20
  add_filter( 'the_content', array( $this, 'the_content' ), 99 );
21
  add_filter( 'widget_text', array( $this, 'widget_content' ), 99 );
 
 
22
  add_filter( 'the_excerpt', array( $this, 'the_content' ), 99 );
23
  add_filter( 'comment_text', array( $this, 'comment_text' ), 99 );
24
  }
@@ -318,6 +320,4 @@ if ( ! class_exists( 'Yoast_GA_JS' ) ) {
318
 
319
  }
320
 
321
- global $yoast_ga_js;
322
- $yoast_ga_js = new Yoast_GA_JS;
323
  }
9
  public $link_regex;
10
 
11
  public function __construct() {
 
12
 
13
+ $this->options = Yoast_GA_Options::instance()->options;
14
  $this->link_regex = '/<a (.*?)href=[\'\"](.*?):\/*([^\'\"]+?)[\'\"](.*?)>(.*?)<\/a>/i';
15
 
16
  add_action( 'wp_head', array( $this, 'tracking' ), 8 );
19
  // Check for outbound
20
  add_filter( 'the_content', array( $this, 'the_content' ), 99 );
21
  add_filter( 'widget_text', array( $this, 'widget_content' ), 99 );
22
+ add_filter( 'wp_list_bookmarks', array( $this, 'widget_content' ), 99 );
23
+ add_filter( 'wp_nav_menu', array( $this, 'widget_content' ), 99 );
24
  add_filter( 'the_excerpt', array( $this, 'the_content' ), 99 );
25
  add_filter( 'comment_text', array( $this, 'comment_text' ), 99 );
26
  }
320
 
321
  }
322
 
 
 
323
  }
frontend/class-universal.php CHANGED
@@ -9,8 +9,8 @@ if ( ! class_exists( 'Yoast_GA_Universal' ) ) {
9
  public $link_regex;
10
 
11
  public function __construct() {
12
- parent::__construct();
13
 
 
14
  $this->link_regex = '`<a (.*?)href=[\'\"](.*?):/*([^\'\"]+)[\'\"](.*?)>(.*?)</a>`i';
15
 
16
  add_action( 'wp_head', array( $this, 'tracking' ), 8 );
@@ -19,6 +19,8 @@ if ( ! class_exists( 'Yoast_GA_Universal' ) ) {
19
  // Check for outbound option
20
  add_filter( 'the_content', array( $this, 'the_content' ), 99 );
21
  add_filter( 'widget_text', array( $this, 'widget_content' ), 99 );
 
 
22
  add_filter( 'the_excerpt', array( $this, 'the_content' ), 99 );
23
  add_filter( 'comment_text', array( $this, 'comment_text' ), 99 );
24
  }
@@ -163,14 +165,14 @@ if ( ! class_exists( 'Yoast_GA_Universal' ) ) {
163
  switch ( $link['type'] ) {
164
  case 'download':
165
  if ( $this->options['track_download_as'] == 'pageview' ) {
166
- $onclick = "ga('send', 'pageview', '" . esc_attr( $full_url ) . "');";
167
  } else {
168
- $onclick = "ga('send', 'event', 'download', '" . esc_attr( $full_url ) . "');";
169
  }
170
 
171
  break;
172
  case 'email':
173
- $onclick = "ga('send', 'event', 'mailto', '" . esc_attr( $link['original_url'] ) . "');";
174
 
175
  break;
176
  case 'internal-as-outbound':
@@ -180,12 +182,12 @@ if ( ! class_exists( 'Yoast_GA_Universal' ) ) {
180
  $label = 'int';
181
  }
182
 
183
- $onclick = "ga('send', 'event', '" . esc_attr( $link['category'] ) . '-' . esc_attr( $label ) . "', '" . esc_attr( $full_url ) . "', '" . esc_attr( strip_tags( $link['link_text'] ) ) . "');";
184
 
185
  break;
186
  case 'outbound':
187
  if ( $this->options['track_outbound'] == 1 ) {
188
- $onclick = "ga('send', 'event', '" . esc_attr( $link['category'] ) . "', '" . esc_attr( $full_url ) . "', '" . esc_attr( strip_tags( $link['link_text'] ) ) . "');";
189
  }
190
 
191
  break;
@@ -314,7 +316,4 @@ if ( ! class_exists( 'Yoast_GA_Universal' ) ) {
314
  return $text;
315
  }
316
  }
317
-
318
- global $yoast_ga_universal;
319
- $yoast_ga_universal = new Yoast_GA_Universal;
320
  }
9
  public $link_regex;
10
 
11
  public function __construct() {
 
12
 
13
+ $this->options = Yoast_GA_Options::instance()->options;
14
  $this->link_regex = '`<a (.*?)href=[\'\"](.*?):/*([^\'\"]+)[\'\"](.*?)>(.*?)</a>`i';
15
 
16
  add_action( 'wp_head', array( $this, 'tracking' ), 8 );
19
  // Check for outbound option
20
  add_filter( 'the_content', array( $this, 'the_content' ), 99 );
21
  add_filter( 'widget_text', array( $this, 'widget_content' ), 99 );
22
+ add_filter( 'wp_list_bookmarks', array( $this, 'widget_content' ), 99 );
23
+ add_filter( 'wp_nav_menu', array( $this, 'widget_content' ), 99 );
24
  add_filter( 'the_excerpt', array( $this, 'the_content' ), 99 );
25
  add_filter( 'comment_text', array( $this, 'comment_text' ), 99 );
26
  }
165
  switch ( $link['type'] ) {
166
  case 'download':
167
  if ( $this->options['track_download_as'] == 'pageview' ) {
168
+ $onclick = "__gaTracker('send', 'pageview', '" . esc_attr( $full_url ) . "');";
169
  } else {
170
+ $onclick = "__gaTracker('send', 'event', 'download', '" . esc_attr( $full_url ) . "');";
171
  }
172
 
173
  break;
174
  case 'email':
175
+ $onclick = "__gaTracker('send', 'event', 'mailto', '" . esc_attr( $link['original_url'] ) . "');";
176
 
177
  break;
178
  case 'internal-as-outbound':
182
  $label = 'int';
183
  }
184
 
185
+ $onclick = "__gaTracker('send', 'event', '" . esc_attr( $link['category'] ) . '-' . esc_attr( $label ) . "', '" . esc_attr( $full_url ) . "', '" . esc_attr( strip_tags( $link['link_text'] ) ) . "');";
186
 
187
  break;
188
  case 'outbound':
189
  if ( $this->options['track_outbound'] == 1 ) {
190
+ $onclick = "__gaTracker('send', 'event', '" . esc_attr( $link['category'] ) . "', '" . esc_attr( $full_url ) . "', '" . esc_attr( strip_tags( $link['link_text'] ) ) . "');";
191
  }
192
 
193
  break;
316
  return $text;
317
  }
318
  }
 
 
 
319
  }
frontend/views/tracking-ga-js.php CHANGED
@@ -3,18 +3,18 @@
3
 
4
  var _gaq = _gaq || [];
5
  <?php
6
- // List the GA elements from the class-ga-js.php
7
- if ( count( $gaq_push ) >= 1 ) {
8
- foreach ( $gaq_push as $item ) {
9
- if ( ! is_array( $item ) ) {
10
- echo ' _gaq.push([' . $item . "]);\n";
11
- }
12
- elseif ( isset( $item['value'] ) ) {
13
- echo ' '.$item['value'] . "\n";
14
- }
15
- }
16
  }
17
- ?>
 
 
 
 
 
18
 
19
  (function () {
20
  var ga = document.createElement('script');
3
 
4
  var _gaq = _gaq || [];
5
  <?php
6
+ // List the GA elements from the class-ga-js.php
7
+ if ( count( $gaq_push ) >= 1 ) {
8
+ foreach ( $gaq_push as $item ) {
9
+ if ( ! is_array( $item ) ) {
10
+ echo ' _gaq.push([' . $item . "]);\n";
 
 
 
 
 
11
  }
12
+ elseif ( isset( $item['value'] ) ) {
13
+ echo ' '.$item['value'] . "\n";
14
+ }
15
+ }
16
+ }
17
+ ?>
18
 
19
  (function () {
20
  var ga = document.createElement('script');
frontend/views/tracking-universal.php CHANGED
@@ -3,14 +3,14 @@
3
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
4
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
5
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
6
- })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
7
 
8
  <?php
9
  // List the GA elements from the class-ga-js.php
10
  if ( count( $gaq_push ) >= 1 ) {
11
  foreach ( $gaq_push as $item ) {
12
  if ( ! is_array( $item ) ) {
13
- echo ' ga('.$item.");\n";
14
  }
15
  elseif ( isset( $item['value'] ) ) {
16
  echo ' '.$item['value'] . "\n";
3
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
4
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
5
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
6
+ })(window,document,'script','//www.google-analytics.com/analytics.js','__gaTracker');
7
 
8
  <?php
9
  // List the GA elements from the class-ga-js.php
10
  if ( count( $gaq_push ) >= 1 ) {
11
  foreach ( $gaq_push as $item ) {
12
  if ( ! is_array( $item ) ) {
13
+ echo ' __gaTracker('.$item.");\n";
14
  }
15
  elseif ( isset( $item['value'] ) ) {
16
  echo ' '.$item['value'] . "\n";
googleanalytics.php CHANGED
@@ -4,7 +4,7 @@ Plugin Name: Google Analytics by Yoast
4
  Plugin URI: https://yoast.com/wordpress/plugins/google-analytics/#utm_source=wordpress&utm_medium=plugin&utm_campaign=wpgaplugin&utm_content=v504
5
  Description: This plugin makes it simple to add Google Analytics to your WordPress blog, adding lots of features, eg. error page, search result and automatic clickout and download tracking.
6
  Author: Team Yoast
7
- Version: 5.0.7
8
  Requires at least: 3.8
9
  Author URI: https://yoast.com/
10
  License: GPL v3
@@ -30,20 +30,22 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
30
 
31
  // This plugin was originally based on Rich Boakes' Analytics plugin: http://boakes.org/analytics, but has since been rewritten and refactored multiple times.
32
 
33
- define( 'GAWP_VERSION', '5.0.7' );
34
 
35
  define( 'GAWP_FILE', __FILE__ );
36
 
37
  define( 'GAWP_URL', trailingslashit( plugin_dir_url( __FILE__ ) ) );
38
 
39
- if ( ! class_exists( 'Yoast_GA_Options' ) ) {
40
- require_once 'includes/class-options.php';
41
  }
42
 
43
  // Only require the needed classes
44
  if ( is_admin() ) {
45
- require_once 'admin/class-admin.php';
 
46
 
47
  } else {
48
- require_once 'frontend/class-frontend.php';
 
49
  }
4
  Plugin URI: https://yoast.com/wordpress/plugins/google-analytics/#utm_source=wordpress&utm_medium=plugin&utm_campaign=wpgaplugin&utm_content=v504
5
  Description: This plugin makes it simple to add Google Analytics to your WordPress blog, adding lots of features, eg. error page, search result and automatic clickout and download tracking.
6
  Author: Team Yoast
7
+ Version: 5.1
8
  Requires at least: 3.8
9
  Author URI: https://yoast.com/
10
  License: GPL v3
30
 
31
  // This plugin was originally based on Rich Boakes' Analytics plugin: http://boakes.org/analytics, but has since been rewritten and refactored multiple times.
32
 
33
+ define( 'GAWP_VERSION', '5.1' );
34
 
35
  define( 'GAWP_FILE', __FILE__ );
36
 
37
  define( 'GAWP_URL', trailingslashit( plugin_dir_url( __FILE__ ) ) );
38
 
39
+ if ( ! class_exists( 'Yoast_GA_Autoload', false ) ) {
40
+ require_once 'includes/class-autoload.php';
41
  }
42
 
43
  // Only require the needed classes
44
  if ( is_admin() ) {
45
+ global $yoast_ga_admin;
46
+ $yoast_ga_admin = new Yoast_GA_Admin;
47
 
48
  } else {
49
+ global $yoast_ga_frontend;
50
+ $yoast_ga_frontend = new Yoast_GA_Frontend;
51
  }
img/question-mark.png ADDED
Binary file
includes/class-autoload.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ if ( ! class_exists( 'Yoast_GA_Autoload' ) ) {
4
+
5
+ class Yoast_GA_Autoload {
6
+
7
+ private static $classes = null;
8
+
9
+ public static function autoload( $class ) {
10
+
11
+ $include_path = dirname( GAWP_FILE );
12
+
13
+ if ( self::$classes === null ) {
14
+
15
+ self::$classes = array(
16
+ 'yoast_ga_options' => 'includes/class-options',
17
+
18
+ // Frontend classes
19
+ 'yoast_ga_frontend' => 'frontend/class-frontend',
20
+ 'yoast_ga_universal' => 'frontend/class-universal',
21
+ 'yoast_ga_js' => 'frontend/class-ga-js',
22
+
23
+ // Admin classes
24
+ 'yoast_ga_admin' => 'admin/class-admin',
25
+ 'yoast_google_analytics' => 'admin/class-google-analytics',
26
+ 'yoast_ga_admin_ga_js' => 'admin/class-admin-ga-js',
27
+
28
+ // License manager
29
+ 'yoast_license_manager' => 'admin/license-manager/class-license-manager',
30
+ 'yoast_plugin_license_manager' => 'admin/license-manager/class-plugin-license-manager',
31
+ 'yoast_product' => 'admin/license-manager/class-product',
32
+ );
33
+ }
34
+
35
+ $class_name = strtolower( $class );
36
+ if ( isset( self::$classes[$class_name] ) ) {
37
+ require_once $include_path . '/' . self::$classes[$class_name] . '.php';
38
+ }
39
+
40
+ add_action( 'plugins_loaded', array( 'Yoast_GA_Autoload', 'yst_ga_load_textdomain' ) );
41
+
42
+ }
43
+
44
+ /**
45
+ * Load plugin textdomain
46
+ */
47
+ public static function yst_ga_load_textdomain() {
48
+ load_plugin_textdomain( 'google-analytics-for-wordpress', false, dirname( plugin_basename( GAWP_FILE ) ) . '/languages/' );
49
+ }
50
+
51
+ }
52
+
53
+ // register class autoloader
54
+ spl_autoload_register( array( 'Yoast_GA_Autoload', 'autoload' ) );
55
+
56
+ }
57
+
includes/class-options.php CHANGED
@@ -226,7 +226,7 @@ if ( ! class_exists( 'Yoast_GA_Options' ) ) {
226
  'enable_universal' => 0,
227
  'demographics' => 0,
228
  'ignore_users' => array( 'editor' ),
229
- 'anonymize_ips' => null,
230
  'track_download_as' => 'event',
231
  'extensions_of_files' => 'doc,exe,js,pdf,ppt,tgz,zip,xls',
232
  'track_full_url' => 'domain',
226
  'enable_universal' => 0,
227
  'demographics' => 0,
228
  'ignore_users' => array( 'editor' ),
229
+ 'anonymize_ips' => 0,
230
  'track_download_as' => 'event',
231
  'extensions_of_files' => 'doc,exe,js,pdf,ppt,tgz,zip,xls',
232
  'track_full_url' => 'domain',
js/jquery.qtip.min.js ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * jquery.qtip. The jQuery tooltip plugin
3
+ *
4
+ * Copyright (c) 2009 Craig Thompson
5
+ * http://craigsworks.com
6
+ *
7
+ * Licensed under MIT
8
+ * http://www.opensource.org/licenses/mit-license.php
9
+ *
10
+ * Launch : February 2009
11
+ * Version : 1.0.0-rc3
12
+ * Released: Tuesday 12th May, 2009 - 00:00
13
+ * Debug: jquery.qtip.debug.js
14
+ */
15
+ (function(f){f.fn.qtip=function(B,u){var y,t,A,s,x,w,v,z;if(typeof B=="string"){if(typeof f(this).data("qtip")!=="object"){f.fn.qtip.log.error.call(self,1,f.fn.qtip.constants.NO_TOOLTIP_PRESENT,false)}if(B=="api"){return f(this).data("qtip").interfaces[f(this).data("qtip").current]}else{if(B=="interfaces"){return f(this).data("qtip").interfaces}}}else{if(!B){B={}}if(typeof B.content!=="object"||(B.content.jquery&&B.content.length>0)){B.content={text:B.content}}if(typeof B.content.title!=="object"){B.content.title={text:B.content.title}}if(typeof B.position!=="object"){B.position={corner:B.position}}if(typeof B.position.corner!=="object"){B.position.corner={target:B.position.corner,tooltip:B.position.corner}}if(typeof B.show!=="object"){B.show={when:B.show}}if(typeof B.show.when!=="object"){B.show.when={event:B.show.when}}if(typeof B.show.effect!=="object"){B.show.effect={type:B.show.effect}}if(typeof B.hide!=="object"){B.hide={when:B.hide}}if(typeof B.hide.when!=="object"){B.hide.when={event:B.hide.when}}if(typeof B.hide.effect!=="object"){B.hide.effect={type:B.hide.effect}}if(typeof B.style!=="object"){B.style={name:B.style}}B.style=c(B.style);s=f.extend(true,{},f.fn.qtip.defaults,B);s.style=a.call({options:s},s.style);s.user=f.extend(true,{},B)}return f(this).each(function(){if(typeof B=="string"){w=B.toLowerCase();A=f(this).qtip("interfaces");if(typeof A=="object"){if(u===true&&w=="destroy"){while(A.length>0){A[A.length-1].destroy()}}else{if(u!==true){A=[f(this).qtip("api")]}for(y=0;y<A.length;y++){if(w=="destroy"){A[y].destroy()}else{if(A[y].status.rendered===true){if(w=="show"){A[y].show()}else{if(w=="hide"){A[y].hide()}else{if(w=="focus"){A[y].focus()}else{if(w=="disable"){A[y].disable(true)}else{if(w=="enable"){A[y].disable(false)}}}}}}}}}}}else{v=f.extend(true,{},s);v.hide.effect.length=s.hide.effect.length;v.show.effect.length=s.show.effect.length;if(v.position.container===false){v.position.container=f(document.body)}if(v.position.target===false){v.position.target=f(this)}if(v.show.when.target===false){v.show.when.target=f(this)}if(v.hide.when.target===false){v.hide.when.target=f(this)}t=f.fn.qtip.interfaces.length;for(y=0;y<t;y++){if(typeof f.fn.qtip.interfaces[y]=="undefined"){t=y;break}}x=new d(f(this),v,t);f.fn.qtip.interfaces[t]=x;if(typeof f(this).data("qtip")=="object"){if(typeof f(this).attr("qtip")==="undefined"){f(this).data("qtip").current=f(this).data("qtip").interfaces.length}f(this).data("qtip").interfaces.push(x)}else{f(this).data("qtip",{current:0,interfaces:[x]})}if(v.content.prerender===false&&v.show.when.event!==false&&v.show.ready!==true){v.show.when.target.bind(v.show.when.event+".qtip-"+t+"-create",{qtip:t},function(C){z=f.fn.qtip.interfaces[C.data.qtip];z.options.show.when.target.unbind(z.options.show.when.event+".qtip-"+C.data.qtip+"-create");z.cache.mouse={x:C.pageX,y:C.pageY};p.call(z);z.options.show.when.target.trigger(z.options.show.when.event)})}else{x.cache.mouse={x:v.show.when.target.offset().left,y:v.show.when.target.offset().top};p.call(x)}}})};function d(u,t,v){var s=this;s.id=v;s.options=t;s.status={animated:false,rendered:false,disabled:false,focused:false};s.elements={target:u.addClass(s.options.style.classes.target),tooltip:null,wrapper:null,content:null,contentWrapper:null,title:null,button:null,tip:null,bgiframe:null};s.cache={mouse:{},position:{},toggle:0};s.timers={};f.extend(s,s.options.api,{show:function(y){var x,z;if(!s.status.rendered){return f.fn.qtip.log.error.call(s,2,f.fn.qtip.constants.TOOLTIP_NOT_RENDERED,"show")}if(s.elements.tooltip.css("display")!=="none"){return s}s.elements.tooltip.stop(true,false);x=s.beforeShow.call(s,y);if(x===false){return s}function w(){if(s.options.position.type!=="static"){s.focus()}s.onShow.call(s,y);if(f.browser.msie){s.elements.tooltip.get(0).style.removeAttribute("filter")}}s.cache.toggle=1;if(s.options.position.type!=="static"){s.updatePosition(y,(s.options.show.effect.length>0))}if(typeof s.options.show.solo=="object"){z=f(s.options.show.solo)}else{if(s.options.show.solo===true){z=f("div.qtip").not(s.elements.tooltip)}}if(z){z.each(function(){if(f(this).qtip("api").status.rendered===true){f(this).qtip("api").hide()}})}if(typeof s.options.show.effect.type=="function"){s.options.show.effect.type.call(s.elements.tooltip,s.options.show.effect.length);s.elements.tooltip.queue(function(){w();f(this).dequeue()})}else{switch(s.options.show.effect.type.toLowerCase()){case"fade":s.elements.tooltip.fadeIn(s.options.show.effect.length,w);break;case"slide":s.elements.tooltip.slideDown(s.options.show.effect.length,function(){w();if(s.options.position.type!=="static"){s.updatePosition(y,true)}});break;case"grow":s.elements.tooltip.show(s.options.show.effect.length,w);break;default:s.elements.tooltip.show(null,w);break}s.elements.tooltip.addClass(s.options.style.classes.active)}return f.fn.qtip.log.error.call(s,1,f.fn.qtip.constants.EVENT_SHOWN,"show")},hide:function(y){var x;if(!s.status.rendered){return f.fn.qtip.log.error.call(s,2,f.fn.qtip.constants.TOOLTIP_NOT_RENDERED,"hide")}else{if(s.elements.tooltip.css("display")==="none"){return s}}clearTimeout(s.timers.show);s.elements.tooltip.stop(true,false);x=s.beforeHide.call(s,y);if(x===false){return s}function w(){s.onHide.call(s,y)}s.cache.toggle=0;if(typeof s.options.hide.effect.type=="function"){s.options.hide.effect.type.call(s.elements.tooltip,s.options.hide.effect.length);s.elements.tooltip.queue(function(){w();f(this).dequeue()})}else{switch(s.options.hide.effect.type.toLowerCase()){case"fade":s.elements.tooltip.fadeOut(s.options.hide.effect.length,w);break;case"slide":s.elements.tooltip.slideUp(s.options.hide.effect.length,w);break;case"grow":s.elements.tooltip.hide(s.options.hide.effect.length,w);break;default:s.elements.tooltip.hide(null,w);break}s.elements.tooltip.removeClass(s.options.style.classes.active)}return f.fn.qtip.log.error.call(s,1,f.fn.qtip.constants.EVENT_HIDDEN,"hide")},updatePosition:function(w,x){var C,G,L,J,H,E,y,I,B,D,K,A,F,z;if(!s.status.rendered){return f.fn.qtip.log.error.call(s,2,f.fn.qtip.constants.TOOLTIP_NOT_RENDERED,"updatePosition")}else{if(s.options.position.type=="static"){return f.fn.qtip.log.error.call(s,1,f.fn.qtip.constants.CANNOT_POSITION_STATIC,"updatePosition")}}G={position:{left:0,top:0},dimensions:{height:0,width:0},corner:s.options.position.corner.target};L={position:s.getPosition(),dimensions:s.getDimensions(),corner:s.options.position.corner.tooltip};if(s.options.position.target!=="mouse"){if(s.options.position.target.get(0).nodeName.toLowerCase()=="area"){J=s.options.position.target.attr("coords").split(",");for(C=0;C<J.length;C++){J[C]=parseInt(J[C])}H=s.options.position.target.parent("map").attr("name");E=f('img[usemap="#'+H+'"]:first').offset();G.position={left:Math.floor(E.left+J[0]),top:Math.floor(E.top+J[1])};switch(s.options.position.target.attr("shape").toLowerCase()){case"rect":G.dimensions={width:Math.ceil(Math.abs(J[2]-J[0])),height:Math.ceil(Math.abs(J[3]-J[1]))};break;case"circle":G.dimensions={width:J[2]+1,height:J[2]+1};break;case"poly":G.dimensions={width:J[0],height:J[1]};for(C=0;C<J.length;C++){if(C%2==0){if(J[C]>G.dimensions.width){G.dimensions.width=J[C]}if(J[C]<J[0]){G.position.left=Math.floor(E.left+J[C])}}else{if(J[C]>G.dimensions.height){G.dimensions.height=J[C]}if(J[C]<J[1]){G.position.top=Math.floor(E.top+J[C])}}}G.dimensions.width=G.dimensions.width-(G.position.left-E.left);G.dimensions.height=G.dimensions.height-(G.position.top-E.top);break;default:return f.fn.qtip.log.error.call(s,4,f.fn.qtip.constants.INVALID_AREA_SHAPE,"updatePosition");break}G.dimensions.width-=2;G.dimensions.height-=2}else{if(s.options.position.target.add(document.body).length===1){G.position={left:f(document).scrollLeft(),top:f(document).scrollTop()};G.dimensions={height:f(window).height(),width:f(window).width()}}else{if(typeof s.options.position.target.attr("qtip")!=="undefined"){G.position=s.options.position.target.qtip("api").cache.position}else{G.position=s.options.position.target.offset()}G.dimensions={height:s.options.position.target.outerHeight(),width:s.options.position.target.outerWidth()}}}y=f.extend({},G.position);if(G.corner.search(/right/i)!==-1){y.left+=G.dimensions.width}if(G.corner.search(/bottom/i)!==-1){y.top+=G.dimensions.height}if(G.corner.search(/((top|bottom)Middle)|center/)!==-1){y.left+=(G.dimensions.width/2)}if(G.corner.search(/((left|right)Middle)|center/)!==-1){y.top+=(G.dimensions.height/2)}}else{G.position=y={left:s.cache.mouse.x,top:s.cache.mouse.y};G.dimensions={height:1,width:1}}if(L.corner.search(/right/i)!==-1){y.left-=L.dimensions.width}if(L.corner.search(/bottom/i)!==-1){y.top-=L.dimensions.height}if(L.corner.search(/((top|bottom)Middle)|center/)!==-1){y.left-=(L.dimensions.width/2)}if(L.corner.search(/((left|right)Middle)|center/)!==-1){y.top-=(L.dimensions.height/2)}I=(f.browser.msie)?1:0;B=(f.browser.msie&&parseInt(f.browser.version.charAt(0))===6)?1:0;if(s.options.style.border.radius>0){if(L.corner.search(/Left/)!==-1){y.left-=s.options.style.border.radius}else{if(L.corner.search(/Right/)!==-1){y.left+=s.options.style.border.radius}}if(L.corner.search(/Top/)!==-1){y.top-=s.options.style.border.radius}else{if(L.corner.search(/Bottom/)!==-1){y.top+=s.options.style.border.radius}}}if(I){if(L.corner.search(/top/)!==-1){y.top-=I}else{if(L.corner.search(/bottom/)!==-1){y.top+=I}}if(L.corner.search(/left/)!==-1){y.left-=I}else{if(L.corner.search(/right/)!==-1){y.left+=I}}if(L.corner.search(/leftMiddle|rightMiddle/)!==-1){y.top-=1}}if(s.options.position.adjust.screen===true){y=o.call(s,y,G,L)}if(s.options.position.target==="mouse"&&s.options.position.adjust.mouse===true){if(s.options.position.adjust.screen===true&&s.elements.tip){K=s.elements.tip.attr("rel")}else{K=s.options.position.corner.tooltip}y.left+=(K.search(/right/i)!==-1)?-6:6;y.top+=(K.search(/bottom/i)!==-1)?-6:6}if(!s.elements.bgiframe&&f.browser.msie&&parseInt(f.browser.version.charAt(0))==6){f("select, object").each(function(){A=f(this).offset();A.bottom=A.top+f(this).height();A.right=A.left+f(this).width();if(y.top+L.dimensions.height>=A.top&&y.left+L.dimensions.width>=A.left){k.call(s)}})}y.left+=s.options.position.adjust.x;y.top+=s.options.position.adjust.y;F=s.getPosition();if(y.left!=F.left||y.top!=F.top){z=s.beforePositionUpdate.call(s,w);if(z===false){return s}s.cache.position=y;if(x===true){s.status.animated=true;s.elements.tooltip.animate(y,200,"swing",function(){s.status.animated=false})}else{s.elements.tooltip.css(y)}s.onPositionUpdate.call(s,w);if(typeof w!=="undefined"&&w.type&&w.type!=="mousemove"){f.fn.qtip.log.error.call(s,1,f.fn.qtip.constants.EVENT_POSITION_UPDATED,"updatePosition")}}return s},updateWidth:function(w){var x;if(!s.status.rendered){return f.fn.qtip.log.error.call(s,2,f.fn.qtip.constants.TOOLTIP_NOT_RENDERED,"updateWidth")}else{if(w&&typeof w!=="number"){return f.fn.qtip.log.error.call(s,2,"newWidth must be of type number","updateWidth")}}x=s.elements.contentWrapper.siblings().add(s.elements.tip).add(s.elements.button);if(!w){if(typeof s.options.style.width.value=="number"){w=s.options.style.width.value}else{s.elements.tooltip.css({width:"auto"});x.hide();if(f.browser.msie){s.elements.wrapper.add(s.elements.contentWrapper.children()).css({zoom:"normal"})}w=s.getDimensions().width+1;if(!s.options.style.width.value){if(w>s.options.style.width.max){w=s.options.style.width.max}if(w<s.options.style.width.min){w=s.options.style.width.min}}}}if(w%2!==0){w-=1}s.elements.tooltip.width(w);x.show();if(s.options.style.border.radius){s.elements.tooltip.find(".qtip-betweenCorners").each(function(y){f(this).width(w-(s.options.style.border.radius*2))})}if(f.browser.msie){s.elements.wrapper.add(s.elements.contentWrapper.children()).css({zoom:"1"});s.elements.wrapper.width(w);if(s.elements.bgiframe){s.elements.bgiframe.width(w).height(s.getDimensions.height)}}return f.fn.qtip.log.error.call(s,1,f.fn.qtip.constants.EVENT_WIDTH_UPDATED,"updateWidth")},updateStyle:function(w){var z,A,x,y,B;if(!s.status.rendered){return f.fn.qtip.log.error.call(s,2,f.fn.qtip.constants.TOOLTIP_NOT_RENDERED,"updateStyle")}else{if(typeof w!=="string"||!f.fn.qtip.styles[w]){return f.fn.qtip.log.error.call(s,2,f.fn.qtip.constants.STYLE_NOT_DEFINED,"updateStyle")}}s.options.style=a.call(s,f.fn.qtip.styles[w],s.options.user.style);s.elements.content.css(q(s.options.style));if(s.options.content.title.text!==false){s.elements.title.css(q(s.options.style.title,true))}s.elements.contentWrapper.css({borderColor:s.options.style.border.color});if(s.options.style.tip.corner!==false){if(f("<canvas>").get(0).getContext){z=s.elements.tooltip.find(".qtip-tip canvas:first");x=z.get(0).getContext("2d");x.clearRect(0,0,300,300);y=z.parent("div[rel]:first").attr("rel");B=b(y,s.options.style.tip.size.width,s.options.style.tip.size.height);h.call(s,z,B,s.options.style.tip.color||s.options.style.border.color)}else{if(f.browser.msie){z=s.elements.tooltip.find('.qtip-tip [nodeName="shape"]');z.attr("fillcolor",s.options.style.tip.color||s.options.style.border.color)}}}if(s.options.style.border.radius>0){s.elements.tooltip.find(".qtip-betweenCorners").css({backgroundColor:s.options.style.border.color});if(f("<canvas>").get(0).getContext){A=g(s.options.style.border.radius);s.elements.tooltip.find(".qtip-wrapper canvas").each(function(){x=f(this).get(0).getContext("2d");x.clearRect(0,0,300,300);y=f(this).parent("div[rel]:first").attr("rel");r.call(s,f(this),A[y],s.options.style.border.radius,s.options.style.border.color)})}else{if(f.browser.msie){s.elements.tooltip.find('.qtip-wrapper [nodeName="arc"]').each(function(){f(this).attr("fillcolor",s.options.style.border.color)})}}}return f.fn.qtip.log.error.call(s,1,f.fn.qtip.constants.EVENT_STYLE_UPDATED,"updateStyle")},updateContent:function(A,y){var z,x,w;if(!s.status.rendered){return f.fn.qtip.log.error.call(s,2,f.fn.qtip.constants.TOOLTIP_NOT_RENDERED,"updateContent")}else{if(!A){return f.fn.qtip.log.error.call(s,2,f.fn.qtip.constants.NO_CONTENT_PROVIDED,"updateContent")}}z=s.beforeContentUpdate.call(s,A);if(typeof z=="string"){A=z}else{if(z===false){return}}if(f.browser.msie){s.elements.contentWrapper.children().css({zoom:"normal"})}if(A.jquery&&A.length>0){A.clone(true).appendTo(s.elements.content).show()}else{s.elements.content.html(A)}x=s.elements.content.find("img[complete=false]");if(x.length>0){w=0;x.each(function(C){f('<img src="'+f(this).attr("src")+'" />').load(function(){if(++w==x.length){B()}})})}else{B()}function B(){s.updateWidth();if(y!==false){if(s.options.position.type!=="static"){s.updatePosition(s.elements.tooltip.is(":visible"),true)}if(s.options.style.tip.corner!==false){n.call(s)}}}s.onContentUpdate.call(s);return f.fn.qtip.log.error.call(s,1,f.fn.qtip.constants.EVENT_CONTENT_UPDATED,"loadContent")},loadContent:function(w,z,A){var y;if(!s.status.rendered){return f.fn.qtip.log.error.call(s,2,f.fn.qtip.constants.TOOLTIP_NOT_RENDERED,"loadContent")}y=s.beforeContentLoad.call(s);if(y===false){return s}if(A=="post"){f.post(w,z,x)}else{f.get(w,z,x)}function x(B){s.onContentLoad.call(s);f.fn.qtip.log.error.call(s,1,f.fn.qtip.constants.EVENT_CONTENT_LOADED,"loadContent");s.updateContent(B)}return s},updateTitle:function(w){if(!s.status.rendered){return f.fn.qtip.log.error.call(s,2,f.fn.qtip.constants.TOOLTIP_NOT_RENDERED,"updateTitle")}else{if(!w){return f.fn.qtip.log.error.call(s,2,f.fn.qtip.constants.NO_CONTENT_PROVIDED,"updateTitle")}}returned=s.beforeTitleUpdate.call(s);if(returned===false){return s}if(s.elements.button){s.elements.button=s.elements.button.clone(true)}s.elements.title.html(w);if(s.elements.button){s.elements.title.prepend(s.elements.button)}s.onTitleUpdate.call(s);return f.fn.qtip.log.error.call(s,1,f.fn.qtip.constants.EVENT_TITLE_UPDATED,"updateTitle")},focus:function(A){var y,x,w,z;if(!s.status.rendered){return f.fn.qtip.log.error.call(s,2,f.fn.qtip.constants.TOOLTIP_NOT_RENDERED,"focus")}else{if(s.options.position.type=="static"){return f.fn.qtip.log.error.call(s,1,f.fn.qtip.constants.CANNOT_FOCUS_STATIC,"focus")}}y=parseInt(s.elements.tooltip.css("z-index"));x=6000+f("div.qtip[qtip]").length-1;if(!s.status.focused&&y!==x){z=s.beforeFocus.call(s,A);if(z===false){return s}f("div.qtip[qtip]").not(s.elements.tooltip).each(function(){if(f(this).qtip("api").status.rendered===true){w=parseInt(f(this).css("z-index"));if(typeof w=="number"&&w>-1){f(this).css({zIndex:parseInt(f(this).css("z-index"))-1})}f(this).qtip("api").status.focused=false}});s.elements.tooltip.css({zIndex:x});s.status.focused=true;s.onFocus.call(s,A);f.fn.qtip.log.error.call(s,1,f.fn.qtip.constants.EVENT_FOCUSED,"focus")}return s},disable:function(w){if(!s.status.rendered){return f.fn.qtip.log.error.call(s,2,f.fn.qtip.constants.TOOLTIP_NOT_RENDERED,"disable")}if(w){if(!s.status.disabled){s.status.disabled=true;f.fn.qtip.log.error.call(s,1,f.fn.qtip.constants.EVENT_DISABLED,"disable")}else{f.fn.qtip.log.error.call(s,1,f.fn.qtip.constants.TOOLTIP_ALREADY_DISABLED,"disable")}}else{if(s.status.disabled){s.status.disabled=false;f.fn.qtip.log.error.call(s,1,f.fn.qtip.constants.EVENT_ENABLED,"disable")}else{f.fn.qtip.log.error.call(s,1,f.fn.qtip.constants.TOOLTIP_ALREADY_ENABLED,"disable")}}return s},destroy:function(){var w,x,y;x=s.beforeDestroy.call(s);if(x===false){return s}if(s.status.rendered){s.options.show.when.target.unbind("mousemove.qtip",s.updatePosition);s.options.show.when.target.unbind("mouseout.qtip",s.hide);s.options.show.when.target.unbind(s.options.show.when.event+".qtip");s.options.hide.when.target.unbind(s.options.hide.when.event+".qtip");s.elements.tooltip.unbind(s.options.hide.when.event+".qtip");s.elements.tooltip.unbind("mouseover.qtip",s.focus);s.elements.tooltip.remove()}else{s.options.show.when.target.unbind(s.options.show.when.event+".qtip-create")}if(typeof s.elements.target.data("qtip")=="object"){y=s.elements.target.data("qtip").interfaces;if(typeof y=="object"&&y.length>0){for(w=0;w<y.length-1;w++){if(y[w].id==s.id){y.splice(w,1)}}}}delete f.fn.qtip.interfaces[s.id];if(typeof y=="object"&&y.length>0){s.elements.target.data("qtip").current=y.length-1}else{s.elements.target.removeData("qtip")}s.onDestroy.call(s);f.fn.qtip.log.error.call(s,1,f.fn.qtip.constants.EVENT_DESTROYED,"destroy");return s.elements.target},getPosition:function(){var w,x;if(!s.status.rendered){return f.fn.qtip.log.error.call(s,2,f.fn.qtip.constants.TOOLTIP_NOT_RENDERED,"getPosition")}w=(s.elements.tooltip.css("display")!=="none")?false:true;if(w){s.elements.tooltip.css({visiblity:"hidden"}).show()}x=s.elements.tooltip.offset();if(w){s.elements.tooltip.css({visiblity:"visible"}).hide()}return x},getDimensions:function(){var w,x;if(!s.status.rendered){return f.fn.qtip.log.error.call(s,2,f.fn.qtip.constants.TOOLTIP_NOT_RENDERED,"getDimensions")}w=(!s.elements.tooltip.is(":visible"))?true:false;if(w){s.elements.tooltip.css({visiblity:"hidden"}).show()}x={height:s.elements.tooltip.outerHeight(),width:s.elements.tooltip.outerWidth()};if(w){s.elements.tooltip.css({visiblity:"visible"}).hide()}return x}})}function p(){var s,w,u,t,v,y,x;s=this;s.beforeRender.call(s);s.status.rendered=true;s.elements.tooltip='<div qtip="'+s.id+'" class="qtip '+(s.options.style.classes.tooltip||s.options.style)+'"style="display:none; -moz-border-radius:0; -webkit-border-radius:0; border-radius:0;position:'+s.options.position.type+';"> <div class="qtip-wrapper" style="position:relative; overflow:hidden; text-align:left;"> <div class="qtip-contentWrapper" style="overflow:hidden;"> <div class="qtip-content '+s.options.style.classes.content+'"></div></div></div></div>';s.elements.tooltip=f(s.elements.tooltip);s.elements.tooltip.appendTo(s.options.position.container);s.elements.tooltip.data("qtip",{current:0,interfaces:[s]});s.elements.wrapper=s.elements.tooltip.children("div:first");s.elements.contentWrapper=s.elements.wrapper.children("div:first").css({background:s.options.style.background});s.elements.content=s.elements.contentWrapper.children("div:first").css(q(s.options.style));if(f.browser.msie){s.elements.wrapper.add(s.elements.content).css({zoom:1})}if(s.options.hide.when.event=="unfocus"){s.elements.tooltip.attr("unfocus",true)}if(typeof s.options.style.width.value=="number"){s.updateWidth()}if(f("<canvas>").get(0).getContext||f.browser.msie){if(s.options.style.border.radius>0){m.call(s)}else{s.elements.contentWrapper.css({border:s.options.style.border.width+"px solid "+s.options.style.border.color})}if(s.options.style.tip.corner!==false){e.call(s)}}else{s.elements.contentWrapper.css({border:s.options.style.border.width+"px solid "+s.options.style.border.color});s.options.style.border.radius=0;s.options.style.tip.corner=false;f.fn.qtip.log.error.call(s,2,f.fn.qtip.constants.CANVAS_VML_NOT_SUPPORTED,"render")}if((typeof s.options.content.text=="string"&&s.options.content.text.length>0)||(s.options.content.text.jquery&&s.options.content.text.length>0)){u=s.options.content.text}else{if(typeof s.elements.target.attr("title")=="string"&&s.elements.target.attr("title").length>0){u=s.elements.target.attr("title").replace("\\n","<br />");s.elements.target.attr("title","")}else{if(typeof s.elements.target.attr("alt")=="string"&&s.elements.target.attr("alt").length>0){u=s.elements.target.attr("alt").replace("\\n","<br />");s.elements.target.attr("alt","")}else{u=" ";f.fn.qtip.log.error.call(s,1,f.fn.qtip.constants.NO_VALID_CONTENT,"render")}}}if(s.options.content.title.text!==false){j.call(s)}s.updateContent(u);l.call(s);if(s.options.show.ready===true){s.show()}if(s.options.content.url!==false){t=s.options.content.url;v=s.options.content.data;y=s.options.content.method||"get";s.loadContent(t,v,y)}s.onRender.call(s);f.fn.qtip.log.error.call(s,1,f.fn.qtip.constants.EVENT_RENDERED,"render")}function m(){var F,z,t,B,x,E,u,G,D,y,w,C,A,s,v;F=this;F.elements.wrapper.find(".qtip-borderBottom, .qtip-borderTop").remove();t=F.options.style.border.width;B=F.options.style.border.radius;x=F.options.style.border.color||F.options.style.tip.color;E=g(B);u={};for(z in E){u[z]='<div rel="'+z+'" style="'+((z.search(/Left/)!==-1)?"left":"right")+":0; position:absolute; height:"+B+"px; width:"+B+'px; overflow:hidden; line-height:0.1px; font-size:1px">';if(f("<canvas>").get(0).getContext){u[z]+='<canvas height="'+B+'" width="'+B+'" style="vertical-align: top"></canvas>'}else{if(f.browser.msie){G=B*2+3;u[z]+='<v:arc stroked="false" fillcolor="'+x+'" startangle="'+E[z][0]+'" endangle="'+E[z][1]+'" style="width:'+G+"px; height:"+G+"px; margin-top:"+((z.search(/bottom/)!==-1)?-2:-1)+"px; margin-left:"+((z.search(/Right/)!==-1)?E[z][2]-3.5:-1)+'px; vertical-align:top; display:inline-block; behavior:url(#default#VML)"></v:arc>'}}u[z]+="</div>"}D=F.getDimensions().width-(Math.max(t,B)*2);y='<div class="qtip-betweenCorners" style="height:'+B+"px; width:"+D+"px; overflow:hidden; background-color:"+x+'; line-height:0.1px; font-size:1px;">';w='<div class="qtip-borderTop" dir="ltr" style="height:'+B+"px; margin-left:"+B+'px; line-height:0.1px; font-size:1px; padding:0;">'+u.topLeft+u.topRight+y;F.elements.wrapper.prepend(w);C='<div class="qtip-borderBottom" dir="ltr" style="height:'+B+"px; margin-left:"+B+'px; line-height:0.1px; font-size:1px; padding:0;">'+u.bottomLeft+u.bottomRight+y;F.elements.wrapper.append(C);if(f("<canvas>").get(0).getContext){F.elements.wrapper.find("canvas").each(function(){A=E[f(this).parent("[rel]:first").attr("rel")];r.call(F,f(this),A,B,x)})}else{if(f.browser.msie){F.elements.tooltip.append('<v:image style="behavior:url(#default#VML);"></v:image>')}}s=Math.max(B,(B+(t-B)));v=Math.max(t-B,0);F.elements.contentWrapper.css({border:"0px solid "+x,borderWidth:v+"px "+s+"px"})}function r(u,w,s,t){var v=u.get(0).getContext("2d");v.fillStyle=t;v.beginPath();v.arc(w[0],w[1],s,0,Math.PI*2,false);v.fill()}function e(v){var t,s,x,u,w;t=this;if(t.elements.tip!==null){t.elements.tip.remove()}s=t.options.style.tip.color||t.options.style.border.color;if(t.options.style.tip.corner===false){return}else{if(!v){v=t.options.style.tip.corner}}x=b(v,t.options.style.tip.size.width,t.options.style.tip.size.height);t.elements.tip='<div class="'+t.options.style.classes.tip+'" dir="ltr" rel="'+v+'" style="position:absolute; height:'+t.options.style.tip.size.height+"px; width:"+t.options.style.tip.size.width+'px; margin:0 auto; line-height:0.1px; font-size:1px;">';if(f("<canvas>").get(0).getContext){t.elements.tip+='<canvas height="'+t.options.style.tip.size.height+'" width="'+t.options.style.tip.size.width+'"></canvas>'}else{if(f.browser.msie){u=t.options.style.tip.size.width+","+t.options.style.tip.size.height;w="m"+x[0][0]+","+x[0][1];w+=" l"+x[1][0]+","+x[1][1];w+=" "+x[2][0]+","+x[2][1];w+=" xe";t.elements.tip+='<v:shape fillcolor="'+s+'" stroked="false" filled="true" path="'+w+'" coordsize="'+u+'" style="width:'+t.options.style.tip.size.width+"px; height:"+t.options.style.tip.size.height+"px; line-height:0.1px; display:inline-block; behavior:url(#default#VML); vertical-align:"+((v.search(/top/)!==-1)?"bottom":"top")+'"></v:shape>';t.elements.tip+='<v:image style="behavior:url(#default#VML);"></v:image>';t.elements.contentWrapper.css("position","relative")}}t.elements.tooltip.prepend(t.elements.tip+"</div>");t.elements.tip=t.elements.tooltip.find("."+t.options.style.classes.tip).eq(0);if(f("<canvas>").get(0).getContext){h.call(t,t.elements.tip.find("canvas:first"),x,s)}if(v.search(/top/)!==-1&&f.browser.msie&&parseInt(f.browser.version.charAt(0))===6){t.elements.tip.css({marginTop:-4})}n.call(t,v)}function h(t,v,s){var u=t.get(0).getContext("2d");u.fillStyle=s;u.beginPath();u.moveTo(v[0][0],v[0][1]);u.lineTo(v[1][0],v[1][1]);u.lineTo(v[2][0],v[2][1]);u.fill()}function n(u){var t,w,s,x,v;t=this;if(t.options.style.tip.corner===false||!t.elements.tip){return}if(!u){u=t.elements.tip.attr("rel")}w=positionAdjust=(f.browser.msie)?1:0;t.elements.tip.css(u.match(/left|right|top|bottom/)[0],0);if(u.search(/top|bottom/)!==-1){if(f.browser.msie){if(parseInt(f.browser.version.charAt(0))===6){positionAdjust=(u.search(/top/)!==-1)?-3:1}else{positionAdjust=(u.search(/top/)!==-1)?1:2}}if(u.search(/Middle/)!==-1){t.elements.tip.css({left:"50%",marginLeft:-(t.options.style.tip.size.width/2)})}else{if(u.search(/Left/)!==-1){t.elements.tip.css({left:t.options.style.border.radius-w})}else{if(u.search(/Right/)!==-1){t.elements.tip.css({right:t.options.style.border.radius+w})}}}if(u.search(/top/)!==-1){t.elements.tip.css({top:-positionAdjust})}else{t.elements.tip.css({bottom:positionAdjust})}}else{if(u.search(/left|right/)!==-1){if(f.browser.msie){positionAdjust=(parseInt(f.browser.version.charAt(0))===6)?1:((u.search(/left/)!==-1)?1:2)}if(u.search(/Middle/)!==-1){t.elements.tip.css({top:"50%",marginTop:-(t.options.style.tip.size.height/2)})}else{if(u.search(/Top/)!==-1){t.elements.tip.css({top:t.options.style.border.radius-w})}else{if(u.search(/Bottom/)!==-1){t.elements.tip.css({bottom:t.options.style.border.radius+w})}}}if(u.search(/left/)!==-1){t.elements.tip.css({left:-positionAdjust})}else{t.elements.tip.css({right:positionAdjust})}}}s="padding-"+u.match(/left|right|top|bottom/)[0];x=t.options.style.tip.size[(s.search(/left|right/)!==-1)?"width":"height"];t.elements.tooltip.css("padding",0);t.elements.tooltip.css(s,x);if(f.browser.msie&&parseInt(f.browser.version.charAt(0))==6){v=parseInt(t.elements.tip.css("margin-top"))||0;v+=parseInt(t.elements.content.css("margin-top"))||0;t.elements.tip.css({marginTop:v})}}function j(){var s=this;if(s.elements.title!==null){s.elements.title.remove()}s.elements.title=f('<div class="'+s.options.style.classes.title+'">').css(q(s.options.style.title,true)).css({zoom:(f.browser.msie)?1:0}).prependTo(s.elements.contentWrapper);if(s.options.content.title.text){s.updateTitle.call(s,s.options.content.title.text)}if(s.options.content.title.button!==false&&typeof s.options.content.title.button=="string"){s.elements.button=f('<a class="'+s.options.style.classes.button+'" style="float:right; position: relative"></a>').css(q(s.options.style.button,true)).html(s.options.content.title.button).prependTo(s.elements.title).click(function(t){if(!s.status.disabled){s.hide(t)}})}}function l(){var t,v,u,s;t=this;v=t.options.show.when.target;u=t.options.hide.when.target;if(t.options.hide.fixed){u=u.add(t.elements.tooltip)}if(t.options.hide.when.event=="inactive"){s=["click","dblclick","mousedown","mouseup","mousemove","mouseout","mouseenter","mouseleave","mouseover"];function y(z){if(t.status.disabled===true){return}clearTimeout(t.timers.inactive);t.timers.inactive=setTimeout(function(){f(s).each(function(){u.unbind(this+".qtip-inactive");t.elements.content.unbind(this+".qtip-inactive")});t.hide(z)},t.options.hide.delay)}}else{if(t.options.hide.fixed===true){t.elements.tooltip.bind("mouseover.qtip",function(){if(t.status.disabled===true){return}clearTimeout(t.timers.hide)})}}function x(z){if(t.status.disabled===true){return}if(t.options.hide.when.event=="inactive"){f(s).each(function(){u.bind(this+".qtip-inactive",y);t.elements.content.bind(this+".qtip-inactive",y)});y()}clearTimeout(t.timers.show);clearTimeout(t.timers.hide);t.timers.show=setTimeout(function(){t.show(z)},t.options.show.delay)}function w(z){if(t.status.disabled===true){return}if(t.options.hide.fixed===true&&t.options.hide.when.event.search(/mouse(out|leave)/i)!==-1&&f(z.relatedTarget).parents("div.qtip[qtip]").length>0){z.stopPropagation();z.preventDefault();clearTimeout(t.timers.hide);return false}clearTimeout(t.timers.show);clearTimeout(t.timers.hide);t.elements.tooltip.stop(true,true);t.timers.hide=setTimeout(function(){t.hide(z)},t.options.hide.delay)}if((t.options.show.when.target.add(t.options.hide.when.target).length===1&&t.options.show.when.event==t.options.hide.when.event&&t.options.hide.when.event!=="inactive")||t.options.hide.when.event=="unfocus"){t.cache.toggle=0;v.bind(t.options.show.when.event+".qtip",function(z){if(t.cache.toggle==0){x(z)}else{w(z)}})}else{v.bind(t.options.show.when.event+".qtip",x);if(t.options.hide.when.event!=="inactive"){u.bind(t.options.hide.when.event+".qtip",w)}}if(t.options.position.type.search(/(fixed|absolute)/)!==-1){t.elements.tooltip.bind("mouseover.qtip",t.focus)}if(t.options.position.target==="mouse"&&t.options.position.type!=="static"){v.bind("mousemove.qtip",function(z){t.cache.mouse={x:z.pageX,y:z.pageY};if(t.status.disabled===false&&t.options.position.adjust.mouse===true&&t.options.position.type!=="static"&&t.elements.tooltip.css("display")!=="none"){t.updatePosition(z)}})}}function o(u,v,A){var z,s,x,y,t,w;z=this;if(A.corner=="center"){return v.position}s=f.extend({},u);y={x:false,y:false};t={left:(s.left<f.fn.qtip.cache.screen.scroll.left),right:(s.left+A.dimensions.width+2>=f.fn.qtip.cache.screen.width+f.fn.qtip.cache.screen.scroll.left),top:(s.top<f.fn.qtip.cache.screen.scroll.top),bottom:(s.top+A.dimensions.height+2>=f.fn.qtip.cache.screen.height+f.fn.qtip.cache.screen.scroll.top)};x={left:(t.left&&(A.corner.search(/right/i)!=-1||(A.corner.search(/right/i)==-1&&!t.right))),right:(t.right&&(A.corner.search(/left/i)!=-1||(A.corner.search(/left/i)==-1&&!t.left))),top:(t.top&&A.corner.search(/top/i)==-1),bottom:(t.bottom&&A.corner.search(/bottom/i)==-1)};if(x.left){if(z.options.position.target!=="mouse"){s.left=v.position.left+v.dimensions.width}else{s.left=z.cache.mouse.x}y.x="Left"}else{if(x.right){if(z.options.position.target!=="mouse"){s.left=v.position.left-A.dimensions.width}else{s.left=z.cache.mouse.x-A.dimensions.width}y.x="Right"}}if(x.top){if(z.options.position.target!=="mouse"){s.top=v.position.top+v.dimensions.height}else{s.top=z.cache.mouse.y}y.y="top"}else{if(x.bottom){if(z.options.position.target!=="mouse"){s.top=v.position.top-A.dimensions.height}else{s.top=z.cache.mouse.y-A.dimensions.height}y.y="bottom"}}if(s.left<0){s.left=u.left;y.x=false}if(s.top<0){s.top=u.top;y.y=false}if(z.options.style.tip.corner!==false){s.corner=new String(A.corner);if(y.x!==false){s.corner=s.corner.replace(/Left|Right|Middle/,y.x)}if(y.y!==false){s.corner=s.corner.replace(/top|bottom/,y.y)}if(s.corner!==z.elements.tip.attr("rel")){e.call(z,s.corner)}}return s}function q(u,t){var v,s;v=f.extend(true,{},u);for(s in v){if(t===true&&s.search(/(tip|classes)/i)!==-1){delete v[s]}else{if(!t&&s.search(/(width|border|tip|title|classes|user)/i)!==-1){delete v[s]}}}return v}function c(s){if(typeof s.tip!=="object"){s.tip={corner:s.tip}}if(typeof s.tip.size!=="object"){s.tip.size={width:s.tip.size,height:s.tip.size}}if(typeof s.border!=="object"){s.border={width:s.border}}if(typeof s.width!=="object"){s.width={value:s.width}}if(typeof s.width.max=="string"){s.width.max=parseInt(s.width.max.replace(/([0-9]+)/i,"$1"))}if(typeof s.width.min=="string"){s.width.min=parseInt(s.width.min.replace(/([0-9]+)/i,"$1"))}if(typeof s.tip.size.x=="number"){s.tip.size.width=s.tip.size.x;delete s.tip.size.x}if(typeof s.tip.size.y=="number"){s.tip.size.height=s.tip.size.y;delete s.tip.size.y}return s}function a(){var s,t,u,x,v,w;s=this;u=[true,{}];for(t=0;t<arguments.length;t++){u.push(arguments[t])}x=[f.extend.apply(f,u)];while(typeof x[0].name=="string"){x.unshift(c(f.fn.qtip.styles[x[0].name]))}x.unshift(true,{classes:{tooltip:"qtip-"+(arguments[0].name||"defaults")}},f.fn.qtip.styles.defaults);v=f.extend.apply(f,x);w=(f.browser.msie)?1:0;v.tip.size.width+=w;v.tip.size.height+=w;if(v.tip.size.width%2>0){v.tip.size.width+=1}if(v.tip.size.height%2>0){v.tip.size.height+=1}if(v.tip.corner===true){v.tip.corner=(s.options.position.corner.tooltip==="center")?false:s.options.position.corner.tooltip}return v}function b(v,u,t){var s={bottomRight:[[0,0],[u,t],[u,0]],bottomLeft:[[0,0],[u,0],[0,t]],topRight:[[0,t],[u,0],[u,t]],topLeft:[[0,0],[0,t],[u,t]],topMiddle:[[0,t],[u/2,0],[u,t]],bottomMiddle:[[0,0],[u,0],[u/2,t]],rightMiddle:[[0,0],[u,t/2],[0,t]],leftMiddle:[[u,0],[u,t],[0,t/2]]};s.leftTop=s.bottomRight;s.rightTop=s.bottomLeft;s.leftBottom=s.topRight;s.rightBottom=s.topLeft;return s[v]}function g(s){var t;if(f("<canvas>").get(0).getContext){t={topLeft:[s,s],topRight:[0,s],bottomLeft:[s,0],bottomRight:[0,0]}}else{if(f.browser.msie){t={topLeft:[-90,90,0],topRight:[-90,90,-s],bottomLeft:[90,270,0],bottomRight:[90,270,-s]}}}return t}function k(){var s,t,u;s=this;u=s.getDimensions();t='<iframe class="qtip-bgiframe" frameborder="0" tabindex="-1" src="javascript:false" style="display:block; position:absolute; z-index:-1; filter:alpha(opacity=\'0\'); border: 1px solid red; height:'+u.height+"px; width:"+u.width+'px" />';s.elements.bgiframe=s.elements.wrapper.prepend(t).children(".qtip-bgiframe:first")}f(document).ready(function(){f.fn.qtip.cache={screen:{scroll:{left:f(window).scrollLeft(),top:f(window).scrollTop()},width:f(window).width(),height:f(window).height()}};var s;f(window).bind("resize scroll",function(t){clearTimeout(s);s=setTimeout(function(){if(t.type==="scroll"){f.fn.qtip.cache.screen.scroll={left:f(window).scrollLeft(),top:f(window).scrollTop()}}else{f.fn.qtip.cache.screen.width=f(window).width();f.fn.qtip.cache.screen.height=f(window).height()}for(i=0;i<f.fn.qtip.interfaces.length;i++){var u=f.fn.qtip.interfaces[i];if(u.status.rendered===true&&(u.options.position.type!=="static"||u.options.position.adjust.scroll&&t.type==="scroll"||u.options.position.adjust.resize&&t.type==="resize")){u.updatePosition(t,true)}}},100)});f(document).bind("mousedown.qtip",function(t){if(f(t.target).parents("div.qtip").length===0){f(".qtip[unfocus]").each(function(){var u=f(this).qtip("api");if(f(this).is(":visible")&&!u.status.disabled&&f(t.target).add(u.elements.target).length>1){u.hide(t)}})}})});f.fn.qtip.interfaces=[];f.fn.qtip.log={error:function(){return this}};f.fn.qtip.constants={};f.fn.qtip.defaults={content:{prerender:false,text:false,url:false,data:null,title:{text:false,button:false}},position:{target:false,corner:{target:"bottomRight",tooltip:"topLeft"},adjust:{x:0,y:0,mouse:true,screen:false,scroll:true,resize:true},type:"absolute",container:false},show:{when:{target:false,event:"mouseover"},effect:{type:"fade",length:100},delay:140,solo:false,ready:false},hide:{when:{target:false,event:"mouseout"},effect:{type:"fade",length:100},delay:0,fixed:false},api:{beforeRender:function(){},onRender:function(){},beforePositionUpdate:function(){},onPositionUpdate:function(){},beforeShow:function(){},onShow:function(){},beforeHide:function(){},onHide:function(){},beforeContentUpdate:function(){},onContentUpdate:function(){},beforeContentLoad:function(){},onContentLoad:function(){},beforeTitleUpdate:function(){},onTitleUpdate:function(){},beforeDestroy:function(){},onDestroy:function(){},beforeFocus:function(){},onFocus:function(){}}};f.fn.qtip.styles={defaults:{background:"white",color:"#111",overflow:"hidden",textAlign:"left",width:{min:0,max:250},padding:"5px 9px",border:{width:1,radius:0,color:"#d3d3d3"},tip:{corner:false,color:false,size:{width:13,height:13},opacity:1},title:{background:"#e1e1e1",fontWeight:"bold",padding:"7px 12px"},button:{cursor:"pointer"},classes:{target:"",tip:"qtip-tip",title:"qtip-title",button:"qtip-button",content:"qtip-content",active:"qtip-active"}},cream:{border:{width:3,radius:0,color:"#F9E98E"},title:{background:"#F0DE7D",color:"#A27D35"},background:"#FBF7AA",color:"#A27D35",classes:{tooltip:"qtip-cream"}},light:{border:{width:3,radius:0,color:"#E2E2E2"},title:{background:"#f1f1f1",color:"#454545"},background:"white",color:"#454545",classes:{tooltip:"qtip-light"}},dark:{border:{width:3,radius:0,color:"#303030"},title:{background:"#404040",color:"#f3f3f3"},background:"#505050",color:"#f3f3f3",classes:{tooltip:"qtip-dark"}},red:{border:{width:3,radius:0,color:"#CE6F6F"},title:{background:"#f28279",color:"#9C2F2F"},background:"#F79992",color:"#9C2F2F",classes:{tooltip:"qtip-red"}},green:{border:{width:3,radius:0,color:"#A9DB66"},title:{background:"#b9db8c",color:"#58792E"},background:"#CDE6AC",color:"#58792E",classes:{tooltip:"qtip-green"}},blue:{border:{width:3,radius:0,color:"#ADD9ED"},title:{background:"#D0E9F5",color:"#5E99BD"},background:"#E5F6FE",color:"#4D9FBF",classes:{tooltip:"qtip-blue"}}}})(jQuery);
16
+
17
+
18
+
19
+
20
+
21
+
js/yoast_ga_admin.js CHANGED
@@ -7,6 +7,7 @@ jQuery(document).ready(function() {
7
  var id = jQuery(this).attr('id').replace('-tab','');
8
  jQuery('#' + id).addClass('active');
9
  jQuery(this).addClass('nav-tab-active');
 
10
  });
11
 
12
  jQuery('a.activate-link').click(function() {
@@ -38,7 +39,33 @@ jQuery(document).ready(function() {
38
  }
39
  });
40
 
 
 
41
  if(jQuery("#yoast-ga-form-checkbox-settings-manual_ua_code").is(':checked')){
42
  jQuery('#enter_ua').show();
43
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
44
  });
7
  var id = jQuery(this).attr('id').replace('-tab','');
8
  jQuery('#' + id).addClass('active');
9
  jQuery(this).addClass('nav-tab-active');
10
+ jQuery("#return_tab").val(id);
11
  });
12
 
13
  jQuery('a.activate-link').click(function() {
39
  }
40
  });
41
 
42
+ jQuery('.nav-tab-active').click();
43
+
44
  if(jQuery("#yoast-ga-form-checkbox-settings-manual_ua_code").is(':checked')){
45
  jQuery('#enter_ua').show();
46
  }
47
+
48
+ jQuery(".yoast_help").qtip({
49
+ position: {
50
+ corner: {
51
+ target : 'topMiddle',
52
+ tooltip: 'bottomLeft'
53
+ }
54
+ },
55
+ show : {
56
+ when: {
57
+ event: 'mouseover'
58
+ }
59
+ },
60
+ hide : {
61
+ fixed: true,
62
+ when : {
63
+ event: 'mouseout'
64
+ }
65
+ },
66
+ style : {
67
+ tip : 'bottomLeft',
68
+ name: 'blue'
69
+ }
70
+ });
71
  });
js/yoast_ga_admin.min.js CHANGED
@@ -1 +1 @@
1
- jQuery(document).ready(function(){jQuery("#ga-tabs").find("a").click(function(){jQuery("#ga-tabs").find("a").removeClass("nav-tab-active"),jQuery(".gatab").removeClass("active");var a=jQuery(this).attr("id").replace("-tab","");jQuery("#"+a).addClass("active"),jQuery(this).addClass("nav-tab-active")}),jQuery("a.activate-link").click(function(){jQuery("#extensions.wpseotab").removeClass("active"),jQuery("#extensions-tab").removeClass("nav-tab-active"),jQuery("#licenses.wpseotab").addClass("active"),jQuery("#licenses-tab").addClass("nav-tab-active")});var a=window.location.hash.replace("#top#","");(""==a||"#_=_"==a)&&(a=jQuery(".gatab").attr("id")),jQuery("#"+a).addClass("active"),jQuery("#"+a+"-tab").addClass("nav-tab-active"),jQuery("#yoast-ga-form-checkbox-settings-manual_ua_code").click(function(){jQuery(this).is(":checked")?jQuery("#enter_ua").show():(jQuery("#enter_ua").hide(),jQuery("#yoast-ga-form-text-settings-manual_ua_code_field").attr("value",""))}),jQuery("#yoast-ga-form-checkbox-settings-manual_ua_code").is(":checked")&&jQuery("#enter_ua").show()});
1
+ jQuery(document).ready(function(){jQuery("#ga-tabs").find("a").click(function(){jQuery("#ga-tabs").find("a").removeClass("nav-tab-active");jQuery(".gatab").removeClass("active");var e=jQuery(this).attr("id").replace("-tab","");jQuery("#"+e).addClass("active");jQuery(this).addClass("nav-tab-active");jQuery("#return_tab").val(e)});jQuery("a.activate-link").click(function(){jQuery("#extensions.wpseotab").removeClass("active");jQuery("#extensions-tab").removeClass("nav-tab-active");jQuery("#licenses.wpseotab").addClass("active");jQuery("#licenses-tab").addClass("nav-tab-active")});var e=window.location.hash.replace("#top#","");if(e==""||e=="#_=_"){e=jQuery(".gatab").attr("id")}jQuery("#"+e).addClass("active");jQuery("#"+e+"-tab").addClass("nav-tab-active");jQuery("#yoast-ga-form-checkbox-settings-manual_ua_code").click(function(){if(jQuery(this).is(":checked")){jQuery("#enter_ua").show()}else{jQuery("#enter_ua").hide();jQuery("#yoast-ga-form-text-settings-manual_ua_code_field").attr("value","")}});jQuery(".nav-tab-active").click();if(jQuery("#yoast-ga-form-checkbox-settings-manual_ua_code").is(":checked")){jQuery("#enter_ua").show()}jQuery(".yoast_help").qtip({position:{corner:{target:"topMiddle",tooltip:"bottomLeft"}},show:{when:{event:"mouseover"}},hide:{fixed:true,when:{event:"mouseout"}},style:{tip:"bottomLeft",name:"blue"}})})
languages/google-analytics-for-wordpress.pot CHANGED
@@ -2,10 +2,10 @@
2
  # This file is distributed under the GPL v3.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: Google Analytics by Yoast 5.0.6\n"
6
  "Report-Msgid-Bugs-To: "
7
  "http://wordpress.org/support/plugin/google-analytics-for-wordpress\n"
8
- "POT-Creation-Date: 2014-09-17 13:22:41+00:00\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=utf-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
@@ -25,46 +25,64 @@ msgstr ""
25
  "X-Poedit-SearchPath-0: .\n"
26
  "X-Textdomain-Support: yes\n"
27
 
28
- #: admin/class-admin.php:57
 
 
 
 
29
  msgid "Settings saved!"
30
  msgstr ""
31
 
32
- #: admin/class-admin.php:70
33
- msgid "Please configure your %sGoogle Analytics settings%s!"
34
  msgstr ""
35
 
36
- #: admin/class-admin.php:109
37
  msgid "FAQ"
38
  msgstr ""
39
 
40
- #: admin/class-admin.php:112 admin/class-admin.php:153
41
- #: admin/class-admin.php:154
42
  msgid "Settings"
43
  msgstr ""
44
 
45
- #: admin/class-admin.php:135 admin/class-admin.php:144
46
- #: admin/class-admin.php:153 admin/class-admin.php:162
47
  msgid "Yoast Google Analytics:"
48
  msgstr ""
49
 
50
- #: admin/class-admin.php:135
51
  msgid "General Settings"
52
  msgstr ""
53
 
54
- #: admin/class-admin.php:135
55
  msgid "Analytics"
56
  msgstr ""
57
 
58
- #: admin/class-admin.php:144 admin/class-admin.php:145
59
- msgid "Dashboard"
60
  msgstr ""
61
 
62
- #: admin/class-admin.php:162 admin/pages/extensions.php:22
63
- msgid "Extensions"
64
  msgstr ""
65
 
66
- #: admin/class-admin.php:673
67
- msgid "Debug information"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
68
  msgstr ""
69
 
70
  #: admin/license-manager/class-license-manager.php:137
@@ -216,29 +234,19 @@ msgstr ""
216
  msgid "Yoast Google Analytics: Dashboard"
217
  msgstr ""
218
 
219
- #: admin/pages/extensions.php:11
220
- msgid "Google Analytics"
221
- msgstr ""
222
-
223
- #: admin/pages/extensions.php:11
224
- msgid "E-Commerce tracking"
225
- msgstr ""
226
-
227
- #: admin/pages/extensions.php:12
228
- msgid ""
229
- "Track your E-Commerce data and transactions with this E-Commerce extension "
230
- "for Google Analytics."
231
  msgstr ""
232
 
233
- #: admin/pages/extensions.php:19
234
- msgid "Yoast Google Analytics: Extensions"
235
  msgstr ""
236
 
237
- #: admin/pages/extensions.php:23
238
  msgid "Licenses"
239
  msgstr ""
240
 
241
- #: admin/pages/extensions.php:57
242
  msgid ""
243
  "You have not installed any extensions for Yoast Google Analytics, so there "
244
  "are no licenses to activate."
@@ -260,60 +268,60 @@ msgstr ""
260
  msgid "Advanced"
261
  msgstr ""
262
 
263
- #: admin/pages/settings.php:16
264
  msgid "Debug mode"
265
  msgstr ""
266
 
267
- #: admin/pages/settings.php:25
268
  msgid "General settings"
269
  msgstr ""
270
 
271
- #: admin/pages/settings.php:38
272
  msgid "Google profile"
273
  msgstr ""
274
 
275
- #: admin/pages/settings.php:39
276
  msgid "Authenticate with your Google account"
277
  msgstr ""
278
 
279
- #: admin/pages/settings.php:42
280
  msgid "Current UA-profile"
281
  msgstr ""
282
 
283
- #: admin/pages/settings.php:50
284
  msgid "Re-authenticate with your Google account"
285
  msgstr ""
286
 
287
- #: admin/pages/settings.php:56
288
  msgid "Manually enter your UA code"
289
  msgstr ""
290
 
291
- #: admin/pages/settings.php:65
292
  msgid "Track outbound click & downloads"
293
  msgstr ""
294
 
295
- #: admin/pages/settings.php:65
296
  msgid ""
297
  "Clicks &amp; downloads will be tracked as events, you can find these under "
298
  "Content &raquo; Event Tracking in your Google Analytics reports."
299
  msgstr ""
300
 
301
- #: admin/pages/settings.php:66
302
  msgid "Allow tracking of anonymous data"
303
  msgstr ""
304
 
305
- #: admin/pages/settings.php:66
306
  msgid ""
307
  "By allowing us to track anonymous data we can better help you, because we "
308
  "know with which WordPress configurations, themes and plugins we should "
309
  "test. No personal data will be submitted."
310
  msgstr ""
311
 
312
- #: admin/pages/settings.php:67
313
  msgid "Anonymize IP's"
314
  msgstr ""
315
 
316
- #: admin/pages/settings.php:67
317
  msgid ""
318
  "This adds <code><a "
319
  "href=\"http://code.google.com/apis/analytics/docs/gaJS/gaJSApi_gat.html#_"
@@ -322,21 +330,21 @@ msgid ""
322
  "by removing the last octet of the IP address prior to its storage."
323
  msgstr ""
324
 
325
- #: admin/pages/settings.php:68
326
  msgid ""
327
  "Users of the role you select will be ignored, so if you select Editor, all "
328
  "Editors will be ignored."
329
  msgstr ""
330
 
331
- #: admin/pages/settings.php:73
332
  msgid "Universal settings"
333
  msgstr ""
334
 
335
- #: admin/pages/settings.php:74
336
  msgid "Enable Universal tracking"
337
  msgstr ""
338
 
339
- #: admin/pages/settings.php:74
340
  msgid ""
341
  "First enable Universal tracking in your Google Analytics account. How to do "
342
  "that, please read <a "
@@ -345,11 +353,11 @@ msgid ""
345
  "target=\"_blank\">this guide</a> to learn how to do that."
346
  msgstr ""
347
 
348
- #: admin/pages/settings.php:75
349
  msgid "Enable Demographics and Interest Reports"
350
  msgstr ""
351
 
352
- #: admin/pages/settings.php:75
353
  msgid ""
354
  "You have to enable the Demographics in Google Analytics before you can see "
355
  "the tracking data. We have a doc in our <a "
@@ -359,51 +367,51 @@ msgid ""
359
  "feature."
360
  msgstr ""
361
 
362
- #: admin/pages/settings.php:80
363
  msgid "Advanced settings"
364
  msgstr ""
365
 
366
- #: admin/pages/settings.php:81
367
  msgid "Track downloads as"
368
  msgstr ""
369
 
370
- #: admin/pages/settings.php:81
371
  msgid ""
372
  "Not recommended, as this would skew your statistics, but it does make it "
373
  "possible to track downloads as goals."
374
  msgstr ""
375
 
376
- #: admin/pages/settings.php:82
377
  msgid "Extensions of files to track as downloads"
378
  msgstr ""
379
 
380
- #: admin/pages/settings.php:83
381
  msgid "Track full URL of outbound clicks or just the domain"
382
  msgstr ""
383
 
384
- #: admin/pages/settings.php:84
385
  msgid "Subdomain tracking"
386
  msgstr ""
387
 
388
- #: admin/pages/settings.php:84
389
  msgid ""
390
  "This allows you to set the domain that's set by <code>setDomainName</code> "
391
  "for tracking subdomains, if empty this will not be set."
392
  msgstr ""
393
 
394
- #: admin/pages/settings.php:86
395
  msgid "Set path for internal links to track as outbound links"
396
  msgstr ""
397
 
398
- #: admin/pages/settings.php:87
399
  msgid "Label for those links"
400
  msgstr ""
401
 
402
- #: admin/pages/settings.php:89
403
  msgid "Tag links in RSS feed with campaign variables"
404
  msgstr ""
405
 
406
- #: admin/pages/settings.php:89
407
  msgid ""
408
  "Do not use this feature if you use FeedBurner, as FeedBurner can do this "
409
  "automatically, and better than this plugin can. Check <a "
@@ -412,11 +420,11 @@ msgid ""
412
  "enable this feature in FeedBurner."
413
  msgstr ""
414
 
415
- #: admin/pages/settings.php:90
416
  msgid "Allow anchor"
417
  msgstr ""
418
 
419
- #: admin/pages/settings.php:90
420
  msgid ""
421
  "This adds a <code><a "
422
  "href=\"http://code.google.com/apis/analytics/docs/gaJSApiCampaignTracking."
@@ -425,11 +433,11 @@ msgid ""
425
  "and makes RSS link tagging use a # as well."
426
  msgstr ""
427
 
428
- #: admin/pages/settings.php:91
429
  msgid "Add <code>_setAllowLinker</code>"
430
  msgstr ""
431
 
432
- #: admin/pages/settings.php:91
433
  msgid ""
434
  "This adds a <code><a "
435
  "href=\"http://code.google.com/apis/analytics/docs/gaJS/"
@@ -438,17 +446,17 @@ msgid ""
438
  "allowing you to use <code>_link</code> and related functions."
439
  msgstr ""
440
 
441
- #: admin/pages/settings.php:92
442
  msgid ""
443
  "Not for the average user: this allows you to add a line of code, to be "
444
  "added before the <code>trackPageview</code> call."
445
  msgstr ""
446
 
447
- #: admin/pages/settings.php:97
448
  msgid "Debug settings"
449
  msgstr ""
450
 
451
- #: admin/pages/settings.php:100
452
  msgid ""
453
  "If you want to confirm that tracking on your blog is working as it should, "
454
  "enable these options and check the console in Firebug (for Firefox), "
@@ -457,23 +465,23 @@ msgid ""
457
  "normal tracking."
458
  msgstr ""
459
 
460
- #: admin/pages/settings.php:101
461
  msgid "Note"
462
  msgstr ""
463
 
464
- #: admin/pages/settings.php:101
465
  msgid "the debugging and firebug scripts are only loaded for admins."
466
  msgstr ""
467
 
468
- #: admin/pages/settings.php:103
469
  msgid "Enable debug mode"
470
  msgstr ""
471
 
472
- #: admin/pages/settings.php:104
473
  msgid "Enable Firebug Lite"
474
  msgstr ""
475
 
476
- #: admin/pages/settings.php:116
477
  msgid "Select the users to ignore"
478
  msgstr ""
479
 
2
  # This file is distributed under the GPL v3.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: Google Analytics by Yoast 5.0.7\n"
6
  "Report-Msgid-Bugs-To: "
7
  "http://wordpress.org/support/plugin/google-analytics-for-wordpress\n"
8
+ "POT-Creation-Date: 2014-10-27 13:10:36+00:00\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=utf-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
25
  "X-Poedit-SearchPath-0: .\n"
26
  "X-Textdomain-Support: yes\n"
27
 
28
+ #: admin/class-admin.php:66
29
+ msgid "Please configure your %sGoogle Analytics settings%s!"
30
+ msgstr ""
31
+
32
+ #: admin/class-admin.php:93
33
  msgid "Settings saved!"
34
  msgstr ""
35
 
36
+ #: admin/class-admin.php:100
37
+ msgid "There where no changes to save, please try again."
38
  msgstr ""
39
 
40
+ #: admin/class-admin.php:119
41
  msgid "FAQ"
42
  msgstr ""
43
 
44
+ #: admin/class-admin.php:122
 
45
  msgid "Settings"
46
  msgstr ""
47
 
48
+ #: admin/class-admin.php:145 admin/class-admin.php:169
 
49
  msgid "Yoast Google Analytics:"
50
  msgstr ""
51
 
52
+ #: admin/class-admin.php:145
53
  msgid "General Settings"
54
  msgstr ""
55
 
56
+ #: admin/class-admin.php:145
57
  msgid "Analytics"
58
  msgstr ""
59
 
60
+ #: admin/class-admin.php:602
61
+ msgid "Debug information"
62
  msgstr ""
63
 
64
+ #: admin/class-admin.php:619 admin/class-admin.php:625
65
+ msgid "Google Analytics"
66
  msgstr ""
67
 
68
+ #: admin/class-admin.php:619
69
+ msgid "Premium"
70
+ msgstr ""
71
+
72
+ #: admin/class-admin.php:620
73
+ msgid ""
74
+ "The premium version of Google Analytics for WordPress with more features "
75
+ "&amp; support."
76
+ msgstr ""
77
+
78
+ #: admin/class-admin.php:625
79
+ msgid "E-Commerce tracking"
80
+ msgstr ""
81
+
82
+ #: admin/class-admin.php:626
83
+ msgid ""
84
+ "Track your E-Commerce data and transactions with this E-Commerce extension "
85
+ "for Google Analytics."
86
  msgstr ""
87
 
88
  #: admin/license-manager/class-license-manager.php:137
234
  msgid "Yoast Google Analytics: Dashboard"
235
  msgstr ""
236
 
237
+ #: admin/pages/extensions.php:10
238
+ msgid "Yoast Google Analytics: Extensions"
 
 
 
 
 
 
 
 
 
 
239
  msgstr ""
240
 
241
+ #: admin/pages/extensions.php:13
242
+ msgid "Extensions"
243
  msgstr ""
244
 
245
+ #: admin/pages/extensions.php:14
246
  msgid "Licenses"
247
  msgstr ""
248
 
249
+ #: admin/pages/extensions.php:58
250
  msgid ""
251
  "You have not installed any extensions for Yoast Google Analytics, so there "
252
  "are no licenses to activate."
268
  msgid "Advanced"
269
  msgstr ""
270
 
271
+ #: admin/pages/settings.php:17
272
  msgid "Debug mode"
273
  msgstr ""
274
 
275
+ #: admin/pages/settings.php:27
276
  msgid "General settings"
277
  msgstr ""
278
 
279
+ #: admin/pages/settings.php:40
280
  msgid "Google profile"
281
  msgstr ""
282
 
283
+ #: admin/pages/settings.php:41
284
  msgid "Authenticate with your Google account"
285
  msgstr ""
286
 
287
+ #: admin/pages/settings.php:44
288
  msgid "Current UA-profile"
289
  msgstr ""
290
 
291
+ #: admin/pages/settings.php:52
292
  msgid "Re-authenticate with your Google account"
293
  msgstr ""
294
 
295
+ #: admin/pages/settings.php:58
296
  msgid "Manually enter your UA code"
297
  msgstr ""
298
 
299
+ #: admin/pages/settings.php:67
300
  msgid "Track outbound click & downloads"
301
  msgstr ""
302
 
303
+ #: admin/pages/settings.php:67
304
  msgid ""
305
  "Clicks &amp; downloads will be tracked as events, you can find these under "
306
  "Content &raquo; Event Tracking in your Google Analytics reports."
307
  msgstr ""
308
 
309
+ #: admin/pages/settings.php:68
310
  msgid "Allow tracking of anonymous data"
311
  msgstr ""
312
 
313
+ #: admin/pages/settings.php:68
314
  msgid ""
315
  "By allowing us to track anonymous data we can better help you, because we "
316
  "know with which WordPress configurations, themes and plugins we should "
317
  "test. No personal data will be submitted."
318
  msgstr ""
319
 
320
+ #: admin/pages/settings.php:69
321
  msgid "Anonymize IP's"
322
  msgstr ""
323
 
324
+ #: admin/pages/settings.php:69
325
  msgid ""
326
  "This adds <code><a "
327
  "href=\"http://code.google.com/apis/analytics/docs/gaJS/gaJSApi_gat.html#_"
330
  "by removing the last octet of the IP address prior to its storage."
331
  msgstr ""
332
 
333
+ #: admin/pages/settings.php:70
334
  msgid ""
335
  "Users of the role you select will be ignored, so if you select Editor, all "
336
  "Editors will be ignored."
337
  msgstr ""
338
 
339
+ #: admin/pages/settings.php:75
340
  msgid "Universal settings"
341
  msgstr ""
342
 
343
+ #: admin/pages/settings.php:76
344
  msgid "Enable Universal tracking"
345
  msgstr ""
346
 
347
+ #: admin/pages/settings.php:76
348
  msgid ""
349
  "First enable Universal tracking in your Google Analytics account. How to do "
350
  "that, please read <a "
353
  "target=\"_blank\">this guide</a> to learn how to do that."
354
  msgstr ""
355
 
356
+ #: admin/pages/settings.php:77
357
  msgid "Enable Demographics and Interest Reports"
358
  msgstr ""
359
 
360
+ #: admin/pages/settings.php:77
361
  msgid ""
362
  "You have to enable the Demographics in Google Analytics before you can see "
363
  "the tracking data. We have a doc in our <a "
367
  "feature."
368
  msgstr ""
369
 
370
+ #: admin/pages/settings.php:82
371
  msgid "Advanced settings"
372
  msgstr ""
373
 
374
+ #: admin/pages/settings.php:83
375
  msgid "Track downloads as"
376
  msgstr ""
377
 
378
+ #: admin/pages/settings.php:83
379
  msgid ""
380
  "Not recommended, as this would skew your statistics, but it does make it "
381
  "possible to track downloads as goals."
382
  msgstr ""
383
 
384
+ #: admin/pages/settings.php:84
385
  msgid "Extensions of files to track as downloads"
386
  msgstr ""
387
 
388
+ #: admin/pages/settings.php:85
389
  msgid "Track full URL of outbound clicks or just the domain"
390
  msgstr ""
391
 
392
+ #: admin/pages/settings.php:86
393
  msgid "Subdomain tracking"
394
  msgstr ""
395
 
396
+ #: admin/pages/settings.php:86
397
  msgid ""
398
  "This allows you to set the domain that's set by <code>setDomainName</code> "
399
  "for tracking subdomains, if empty this will not be set."
400
  msgstr ""
401
 
402
+ #: admin/pages/settings.php:88
403
  msgid "Set path for internal links to track as outbound links"
404
  msgstr ""
405
 
406
+ #: admin/pages/settings.php:89
407
  msgid "Label for those links"
408
  msgstr ""
409
 
410
+ #: admin/pages/settings.php:91
411
  msgid "Tag links in RSS feed with campaign variables"
412
  msgstr ""
413
 
414
+ #: admin/pages/settings.php:91
415
  msgid ""
416
  "Do not use this feature if you use FeedBurner, as FeedBurner can do this "
417
  "automatically, and better than this plugin can. Check <a "
420
  "enable this feature in FeedBurner."
421
  msgstr ""
422
 
423
+ #: admin/pages/settings.php:92
424
  msgid "Allow anchor"
425
  msgstr ""
426
 
427
+ #: admin/pages/settings.php:92
428
  msgid ""
429
  "This adds a <code><a "
430
  "href=\"http://code.google.com/apis/analytics/docs/gaJSApiCampaignTracking."
433
  "and makes RSS link tagging use a # as well."
434
  msgstr ""
435
 
436
+ #: admin/pages/settings.php:93
437
  msgid "Add <code>_setAllowLinker</code>"
438
  msgstr ""
439
 
440
+ #: admin/pages/settings.php:93
441
  msgid ""
442
  "This adds a <code><a "
443
  "href=\"http://code.google.com/apis/analytics/docs/gaJS/"
446
  "allowing you to use <code>_link</code> and related functions."
447
  msgstr ""
448
 
449
+ #: admin/pages/settings.php:94
450
  msgid ""
451
  "Not for the average user: this allows you to add a line of code, to be "
452
  "added before the <code>trackPageview</code> call."
453
  msgstr ""
454
 
455
+ #: admin/pages/settings.php:102
456
  msgid "Debug settings"
457
  msgstr ""
458
 
459
+ #: admin/pages/settings.php:105
460
  msgid ""
461
  "If you want to confirm that tracking on your blog is working as it should, "
462
  "enable these options and check the console in Firebug (for Firefox), "
465
  "normal tracking."
466
  msgstr ""
467
 
468
+ #: admin/pages/settings.php:106
469
  msgid "Note"
470
  msgstr ""
471
 
472
+ #: admin/pages/settings.php:106
473
  msgid "the debugging and firebug scripts are only loaded for admins."
474
  msgstr ""
475
 
476
+ #: admin/pages/settings.php:108
477
  msgid "Enable debug mode"
478
  msgstr ""
479
 
480
+ #: admin/pages/settings.php:109
481
  msgid "Enable Firebug Lite"
482
  msgstr ""
483
 
484
+ #: admin/pages/settings.php:121
485
  msgid "Select the users to ignore"
486
  msgstr ""
487
 
readme.txt CHANGED
@@ -4,7 +4,7 @@ Donate link: https://yoast.com/donate/
4
  Tags: analytics, google analytics, statistics, tracking, stats, google, yoast
5
  Requires at least: 3.8
6
  Tested up to: 4.0
7
- Stable tag: 5.0.7
8
 
9
  Track your WordPress site easily with the latest tracking codes and lots added data for search result pages and error pages.
10
 
@@ -13,7 +13,7 @@ Track your WordPress site easily with the latest tracking codes and lots added d
13
  The Google Analytics by Yoast plugin for WordPress allows you to track your blog easily and always stays up to date with the newest features in Google Analytics.
14
 
15
  > <strong>Development on GitHub</strong><br>
16
- > The development of Google Analytics by Yoast [takes place on GitHub](https://github.com/Yoast/google-analytics-for-wordpress). Bugs and pull requests are welcomed there. For support, please refer to the forums. A premium version of Google Analytics by Yoast will be available soon which will give you access to email support.
17
 
18
  Full list of features:
19
 
@@ -49,6 +49,21 @@ This section describes how to install the plugin and get it working.
49
 
50
  == Changelog ==
51
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
52
  = 5.0.7 =
53
  Release Date: October 14th, 2014
54
 
4
  Tags: analytics, google analytics, statistics, tracking, stats, google, yoast
5
  Requires at least: 3.8
6
  Tested up to: 4.0
7
+ Stable tag: 5.1
8
 
9
  Track your WordPress site easily with the latest tracking codes and lots added data for search result pages and error pages.
10
 
13
  The Google Analytics by Yoast plugin for WordPress allows you to track your blog easily and always stays up to date with the newest features in Google Analytics.
14
 
15
  > <strong>Development on GitHub</strong><br>
16
+ > The development of Google Analytics by Yoast [takes place on GitHub](https://github.com/Yoast/google-analytics-for-wordpress). Bugs and pull requests are welcomed there. For support, you have two options: either [buy the premium version of Google Analytics by Yoast on Yoast.com](https://yoast.com/wordpress/plugins/google-analytics/), this will give you access to our support team, or refer to the forums.
17
 
18
  Full list of features:
19
 
49
 
50
  == Changelog ==
51
 
52
+ = 5.1 =
53
+
54
+ Release Date: October 30th, 2014
55
+
56
+ * Bugfixes:
57
+ * Fixes a possible JavaScript conflict within the tracking code.
58
+ * Makes sure translations are loaded correctly.
59
+
60
+ * Enhancements:
61
+ * Improved UX for help texts in form.
62
+ * Added "Google Analytics by Yoast Premium" to the extensions page.
63
+ * Makes sure the user returns to the original settings tab after saving.
64
+ * Added a filter `wp_nav_menu` to enable tracking outbound links from the menu.
65
+ * Added a filter `wp_list_bookmarks` to enable tracking for blogroll widgets.
66
+
67
  = 5.0.7 =
68
  Release Date: October 14th, 2014
69