Google Analytics - Version 1.7.1beta

Version Description

Download this release

Release Info

Developer webkinder
Plugin Icon 128x128 Google Analytics
Version 1.7.1beta
Comparing to
See all releases

Code changes from version 1.6.2 to 1.7.1beta

Classes/Loader.php ADDED
@@ -0,0 +1,154 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace WebKinder\GoogleAnalytics;
4
+
5
+ class Loader {
6
+
7
+ /**
8
+ * Returns whether the current request should be tracked or not
9
+ *
10
+ * @since 1.2
11
+ * @return boolean
12
+ *
13
+ */
14
+ function should_track_visit() {
15
+ return ( !is_user_logged_in() || get_option('track_logged_in') );
16
+ }
17
+
18
+
19
+ /**
20
+ * Returns if the cookie is present
21
+ *
22
+ * @since 1.2
23
+ * @return boolean
24
+ *
25
+ */
26
+ function render_script() {
27
+ ?>
28
+ <script>
29
+ function hasWKGoogleAnalyticsCookie() {
30
+ return (new RegExp('wp_wk_ga_untrack_' + document.location.hostname) ).test(document.cookie);
31
+ }
32
+ </script>
33
+ <?php
34
+ }
35
+
36
+
37
+ /**
38
+ * Outputs the Google Tag Manager script tag if necessary
39
+ *
40
+ * @since 1.2
41
+ *
42
+ */
43
+ function google_tag_manager_script() {
44
+ if( $this->should_track_visit() && get_option('ga_use_tag_manager') ) {
45
+ $TAG_MANAGER_ID = get_option('ga_tag_manager_id');
46
+ ?>
47
+ <script>
48
+ if( !hasWKGoogleAnalyticsCookie() ) {
49
+ //Google Tag Manager
50
+ (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
51
+ new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
52
+ j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
53
+ '//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
54
+ })(window,document,'script','dataLayer','<?php echo $TAG_MANAGER_ID; ?>');
55
+ }
56
+ </script> <?php
57
+ }
58
+ }
59
+
60
+
61
+ /**
62
+ * Outputs the Google Tag Manager noscript tag if necessary
63
+ *
64
+ * @since 1.6
65
+ *
66
+ */
67
+ function google_tag_manager_noscript() {
68
+ if( $this->should_track_visit() && get_option('ga_use_tag_manager') ) {
69
+ $TAG_MANAGER_ID = get_option('ga_tag_manager_id');
70
+ ?>
71
+ <noscript><iframe src="//www.googletagmanager.com/ns.html?id=<?php echo $TAG_MANAGER_ID; ?>"
72
+ height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
73
+
74
+ <?php
75
+ }
76
+ }
77
+
78
+
79
+ /**
80
+ * Outputs the Google Analytics script if necessary
81
+ *
82
+ * @since 1.2
83
+ * @see https://developers.google.com/analytics/devguides/collection/analyticsjs/ip-anonymization
84
+ *
85
+ */
86
+ function google_analytics_script() {
87
+ if( $this->should_track_visit() && ! get_option('ga_use_tag_manager') ) {
88
+ $GA_TRACKING_CODE = get_option('ga_tracking_code');
89
+ $ANONYMIZE_IP = (get_option('ga_anonymize_ip') !== false) ? (boolean) get_option('ga_anonymize_ip') : true ;
90
+ ?>
91
+
92
+ <script>
93
+ if( !hasWKGoogleAnalyticsCookie() ) {
94
+ //Google Analytics
95
+ (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
96
+ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
97
+ m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
98
+ })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
99
+ ga('create', '<?php echo $GA_TRACKING_CODE; ?>', 'auto');
100
+
101
+ <?php
102
+ if( $ANONYMIZE_IP ) :
103
+ ?>
104
+ ga('set', 'anonymizeIp', true);
105
+ <?php
106
+ endif;
107
+ ?>
108
+
109
+ ga('send', 'pageview');
110
+ }
111
+ </script>
112
+
113
+ <?php
114
+ }
115
+ }
116
+
117
+ /**
118
+ * Registers cookie scripts for opt out shortcode
119
+ */
120
+ function register_public_scripts() {
121
+ //cookie library
122
+ wp_register_script( 'cookie-js', plugins_url(plugin_basename(WK_GOOGLE_ANALYTICS_DIR)) . '/js/js.cookie.js' );
123
+
124
+ //admin js for cookies
125
+ wp_register_script( 'wk-ga-admin-js', plugins_url(plugin_basename(WK_GOOGLE_ANALYTICS_DIR)) . '/js/admin-functions.js', array('jquery', 'cookie-js') );
126
+
127
+ //translate JavaScript
128
+ $translation_array = array(
129
+ 'TrackText' => __('Do not track any visits from this device.','wk-google-analytics')
130
+ );
131
+ wp_localize_script('wk-ga-admin-js', 'text_content', $translation_array );
132
+ }
133
+
134
+
135
+ /**
136
+ * Loads all the admin scripts for settings page
137
+ *
138
+ * @since 1.0
139
+ * @see https://codex.wordpress.org/Plugin_API/Action_Reference/admin_enqueue_scripts
140
+ * @see https://github.com/js-cookie/js-cookie
141
+ *
142
+ */
143
+ function load_admin_styles( $hook ) {
144
+
145
+ if( $hook != "settings_page_google_analytics" ) {
146
+ return;
147
+ }
148
+
149
+ //admin styles
150
+ wp_enqueue_style( 'custom-admin-styles', plugins_url(plugin_basename(WK_GOOGLE_ANALYTICS_DIR)) . '/css/admin-styles.css' );
151
+
152
+ }
153
+
154
+ }
Classes/OptOutButton.php ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace WebKinder\GoogleAnalytics;
3
+
4
+ class OptOutButton {
5
+ public static function init() {
6
+ add_shortcode( 'google_analytics_opt_out', 'WebKinder\GoogleAnalytics\OptOutButton::render');
7
+ }
8
+
9
+ public static function render() {
10
+ wp_enqueue_script('cookie-js');
11
+ wp_enqueue_script('wk-ga-admin-js');
12
+ return '<div id="track-device"></div>';
13
+ }
14
+ }
Classes/Plugin.php ADDED
@@ -0,0 +1,97 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace WebKinder\GoogleAnalytics;
4
+
5
+ class Plugin {
6
+
7
+ public function run() {
8
+
9
+ //i18n
10
+ add_action('plugins_loaded', array( $this, 'load_textdomain') );
11
+
12
+ //opt-out button
13
+ include_once 'OptOutButton.php';
14
+ OptOutButton::init();
15
+
16
+ //settings
17
+ include_once 'Settings.php';
18
+ $this->settings = new Settings();
19
+
20
+ add_action( 'admin_init', array( $this->settings, 'register_settings' ) );
21
+ add_action( 'admin_menu', array( $this->settings, 'settings_page' ) );
22
+
23
+ //loader
24
+ include_once 'Loader.php';
25
+ $this->loader = new Loader();
26
+
27
+ //cookie handling
28
+ add_action( 'admin_enqueue_scripts', array( $this->loader, 'load_admin_styles' ) );
29
+ add_action( 'wp_enqueue_scripts', array( $this->loader, 'register_public_scripts' ) );
30
+ add_action( 'admin_enqueue_scripts', array( $this->loader, 'register_public_scripts' ) );
31
+ //cookie function
32
+ add_action( 'wp_head', array( $this->loader, 'render_script') );
33
+ //Google Analytics script in <head>
34
+ add_action( 'wp_head', array( $this->loader, 'google_analytics_script') );
35
+ //Google Tag Manager script in header
36
+ add_action( 'wp_head', array( $this->loader, 'google_tag_manager_script'));
37
+ //Google Tag Manager noscript footer
38
+ add_action( 'wp_footer', array( $this->loader, 'google_tag_manager_noscript'));
39
+
40
+
41
+ //additional links to admin plugin page
42
+ add_filter( 'plugin_row_meta', array( $this, 'additional_admin_information_links' ), 10, 2);
43
+ add_filter( 'plugin_action_links_' . plugin_basename( __FILE__ ), array( $this, 'additional_admin_action_links' ) );
44
+
45
+ add_filter( 'wp_get_default_privacy_policy_content' , array( $this, 'add_privacy_policy_default_text') );
46
+ }
47
+
48
+
49
+ /**
50
+ * Adds custom links to wk-google-analytics on admin plugin screen on the RIGHT
51
+ *
52
+ * @since 1.6.2
53
+ * @see https://codex.wordpress.org/Plugin_API/Filter_Reference/plugin_row_meta
54
+ *
55
+ */
56
+ function additional_admin_information_links( $links, $file ) {
57
+
58
+ if (dirname($file) == basename(WK_GOOGLE_ANALYTICS_DIR)) {
59
+ $links[] = '<a href="http://bit.ly/2jnKboN">' . __('Donate to this plugin', 'wk-google-analytics') . '</a>';
60
+ }
61
+
62
+ return $links;
63
+
64
+ }
65
+
66
+
67
+ /**
68
+ * Sets up the translations in /lang directory
69
+ *
70
+ * @since 1.0
71
+ *
72
+ */
73
+ function load_textdomain() {
74
+ load_plugin_textdomain( 'wk-google-analytics', false, basename( plugin_dir_path( __DIR__ ) ) . '/languages' );
75
+ }
76
+
77
+ /**
78
+ * Add GA Text to default text
79
+ * @param $content
80
+ * @return string
81
+ */
82
+ function add_privacy_policy_default_text($content) {
83
+ $content .= self::get_ga_policy_text();
84
+ return $content;
85
+ }
86
+
87
+ /**
88
+ * Get the text for GA
89
+ * @return string
90
+ */
91
+ static function get_ga_policy_text() {
92
+ ob_start();
93
+ include WK_GOOGLE_ANALYTICS_DIR . '/Content/privacy_policy.php';
94
+ $content = ob_get_clean();
95
+ return $content;
96
+ }
97
+ }
Classes/PluginFactory.php ADDED
@@ -0,0 +1,56 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace WebKinder\GoogleAnalytics;
4
+
5
+ include_once 'Plugin.php';
6
+
7
+ final class PluginFactory
8
+ {
9
+
10
+ // Create and return instance of Plugin if it passes all checks
11
+ public static function create()
12
+ {
13
+ if (count(self::environmentChecks()) == 0) {
14
+ static $plugin = null;
15
+
16
+ if ($plugin === null) {
17
+ $plugin = new Plugin();
18
+ }
19
+
20
+ return $plugin;
21
+ } else {
22
+ add_action('admin_notices', [ __CLASS__, 'DisplayEvironmentErrors' ]);
23
+ return null;
24
+ }
25
+ }
26
+
27
+ // Load all checks
28
+ public static function getEnvironmentChecks()
29
+ {
30
+ return include WK_GOOGLE_ANALYTICS_DIR . '/Config/EnvironmentChecksConfig.php';
31
+ }
32
+
33
+ // Return failed checks
34
+ public static function environmentChecks()
35
+ {
36
+ $environment_checks = [];
37
+ foreach (self::getEnvironmentChecks() as $check) {
38
+ if ($check['check']) {
39
+ array_push($environment_checks, $check);
40
+ }
41
+ }
42
+ return $environment_checks;
43
+ }
44
+
45
+ // Display failed checks in backend
46
+ public static function displayEvironmentErrors()
47
+ {
48
+ foreach (self::environmentChecks() as $fail) :
49
+ ?>
50
+ <div class="notice notice-error">
51
+ <p><strong><?php echo $fail['error_message']; ?></strong></p>
52
+ </div>
53
+ <?php
54
+ endforeach;
55
+ }
56
+ }
Classes/Settings.php ADDED
@@ -0,0 +1,289 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace WebKinder\GoogleAnalytics;
4
+
5
+ class Settings {
6
+
7
+ /**
8
+ * Add an options page under 'Settings'
9
+ *
10
+ * @since 1.0
11
+ * @see https://codex.wordpress.org/Function_Reference/add_options_page
12
+ *
13
+ */
14
+ function settings_page() {
15
+ add_options_page(
16
+ 'Google Analytics',
17
+ 'Google Analytics',
18
+ 'manage_options',
19
+ 'google_analytics',
20
+ array( $this, "settings_content" )
21
+ );
22
+ }
23
+
24
+
25
+ /**
26
+ * Ouputs the markup for the options page
27
+ *
28
+ * @since 1.0
29
+ *
30
+ */
31
+ function settings_content() {
32
+
33
+ if ( ! isset( $_REQUEST['settings-updated'] ) )
34
+ $_REQUEST['settings-updated'] = false;
35
+ ?>
36
+
37
+ <div class="wrap">
38
+ <h2><?php echo esc_html( get_admin_page_title() ); ?></h2>
39
+
40
+ <?php if ( false !== $_REQUEST['settings-updated'] ) : ?>
41
+ <div class="updated fade">
42
+ <p>
43
+ <strong><a target="_blank" href="https://support.google.com/analytics/answer/1008083"><?php _e( 'Test your tracking code now!', 'wk-google-analytics' ); ?></a></strong>
44
+ </p>
45
+ </div>
46
+ <?php endif; ?>
47
+
48
+ <div class="wk-left-part">
49
+ <form id="wk-google-analytics-settings" method="post" action="options.php">
50
+ <?php settings_fields( 'wk_ga_google_analytics' ); ?>
51
+ <?php do_settings_sections('google_analytics'); ?>
52
+ <?php echo do_shortcode('[google_analytics_opt_out]'); ?>
53
+ <?php submit_button(); ?>
54
+ </form>
55
+ </div>
56
+ <div class="wk-right-part">
57
+ <?php include_once( WK_GOOGLE_ANALYTICS_DIR . "/includes/mailchimp-form.php" ); ?>
58
+ </div>
59
+ </div>
60
+
61
+ <?php
62
+
63
+ }
64
+
65
+
66
+ /**
67
+ * Registers all the settings separately
68
+ *
69
+ * @since 1.0
70
+ * @see https://codex.wordpress.org/Function_Reference/register_setting
71
+ * @see https://codex.wordpress.org/Function_Reference/add_settings_section
72
+ * @see https://codex.wordpress.org/Function_Reference/add_settings_field
73
+ *
74
+ */
75
+ function register_settings() {
76
+
77
+ add_settings_section(
78
+ 'google_analytics',
79
+ __('Google Analytics', 'wk-ga'),
80
+ array( $this, 'settings_header'),
81
+ 'google_analytics'
82
+ );
83
+
84
+ /**
85
+ * @since 1.0
86
+ */
87
+ register_setting(
88
+ 'wk_ga_google_analytics',
89
+ 'ga_tracking_code'
90
+ );
91
+
92
+ add_settings_field(
93
+ 'ga_tracking_code',
94
+ __('GA Tracking Code', 'wk-ga'),
95
+ array( $this, 'tracking_code_field' ),
96
+ 'google_analytics',
97
+ 'google_analytics'
98
+ );
99
+
100
+ /**
101
+ * @since 1.0
102
+ */
103
+ register_setting(
104
+ 'wk_ga_google_analytics',
105
+ 'track_logged_in'
106
+ );
107
+
108
+ add_settings_field(
109
+ 'ga_anonymize_ip',
110
+ __('Anonymize IP"s', 'wk-google-analytics'),
111
+ array( $this, 'anonymize_ip_field' ),
112
+ 'google_analytics',
113
+ 'google_analytics'
114
+ );
115
+
116
+ /**
117
+ * @since 1.1
118
+ */
119
+ register_setting(
120
+ 'wk_ga_google_analytics',
121
+ 'ga_anonymize_ip'
122
+ );
123
+
124
+ add_settings_field(
125
+ 'track_logged_in',
126
+ __('Track logged in users', 'wk-google-analytics'),
127
+ array( $this, 'track_logged_in_field' ),
128
+ 'google_analytics',
129
+ 'google_analytics'
130
+ );
131
+
132
+ /**
133
+ * @since 1.2
134
+ */
135
+ register_setting(
136
+ 'wk_ga_google_analytics',
137
+ 'ga_use_tag_manager'
138
+ );
139
+
140
+ add_settings_field(
141
+ 'ga_use_tag_manager',
142
+ __('Use Google Tag Manager instead', 'wk-google-analytics'),
143
+ array( $this, 'use_tag_manager_field' ),
144
+ 'google_analytics',
145
+ 'google_analytics'
146
+ );
147
+
148
+ /**
149
+ * @since 1.2
150
+ */
151
+ register_setting(
152
+ 'wk_ga_google_analytics',
153
+ 'ga_tag_manager_id'
154
+ );
155
+
156
+ add_settings_field(
157
+ 'ga_tag_manager_id',
158
+ __('Google Tag Manager ID', 'wk-google-analytics'),
159
+ array( $this, 'tag_manager_id_field' ),
160
+ 'google_analytics',
161
+ 'google_analytics'
162
+ );
163
+
164
+ }
165
+
166
+
167
+ /**
168
+ * Renders the header text for the settings page
169
+ *
170
+ * @since 1.6.2
171
+ *
172
+ */
173
+ function settings_header() {
174
+ ?>
175
+
176
+ <p><?php _e('Enter your Google Analytics tracking code below. You can also use Google Tag Manager instead by checking the relevant setting.', 'wk-google-analytics'); ?></p>
177
+
178
+ <?php
179
+ }
180
+
181
+ /**
182
+ * Renders text input for the Google Analytics tracking code
183
+ *
184
+ * @since 1.6.2
185
+ *
186
+ */
187
+ function tracking_code_field() {
188
+
189
+ $field = 'ga_tracking_code';
190
+ $value = esc_attr( get_option( $field ) );
191
+
192
+ ?>
193
+
194
+ <input type="text" name="<?php echo $field; ?>" placeholder="UA-XXXXXXXX-X" value="<?php echo $value; ?>" />
195
+
196
+ <?php
197
+ }
198
+
199
+ /**
200
+ * Renders checkbox for the anonymize IP's option
201
+ *
202
+ * @since 1.6.2
203
+ *
204
+ */
205
+ function anonymize_ip_field() {
206
+
207
+ $field = 'ga_anonymize_ip';
208
+ $value = get_option( $field );
209
+ $value = ( $value !== false ) ? $value : true;
210
+
211
+ ?>
212
+
213
+ <div class="anonymize-ip-tooltip">
214
+ <input type="hidden" name="<?php echo $field; ?>" value="0">
215
+ <input type="checkbox" name="<?php echo $field; ?>" value="1" <?php checked( $value ); ?> />
216
+ <span class="tooltip-text"><?php echo __('This setting is only for Google Analytics. If you use GTM please set this setting in your GTM account.', 'wk-google-analytics'); ?></span>
217
+ </div>
218
+
219
+ <style>
220
+ .anonymize-ip-tooltip:hover .tooltip-text {
221
+ display: inline-block;
222
+ }
223
+
224
+ .anonymize-ip-tooltip .tooltip-text {
225
+ display: none;
226
+ }
227
+ </style>
228
+
229
+ <?php
230
+
231
+ }
232
+
233
+ /**
234
+ * Renders checkbox for the track logged in users option
235
+ *
236
+ * @since 1.6.2
237
+ *
238
+ */
239
+ function track_logged_in_field() {
240
+
241
+ $field = 'track_logged_in';
242
+ $value = get_option( $field );
243
+
244
+ ?>
245
+
246
+ <input type="checkbox" name="<?php echo $field; ?>" value="1" <?php checked( $value ); ?> />
247
+
248
+ <?php
249
+
250
+ }
251
+
252
+ /**
253
+ * Renders checkbox for the use tag manager option
254
+ *
255
+ * @since 1.6.2
256
+ *
257
+ */
258
+ function use_tag_manager_field() {
259
+
260
+ $field = 'ga_use_tag_manager';
261
+ $value = get_option( $field );
262
+
263
+ ?>
264
+
265
+ <input type="checkbox" name="<?php echo $field; ?>" value="1" <?php checked( $value ); ?> />
266
+
267
+ <?php
268
+
269
+ }
270
+
271
+ /**
272
+ * Renders text field for the Google Tag Manager ID
273
+ *
274
+ * @since 1.6.2
275
+ *
276
+ */
277
+ function tag_manager_id_field() {
278
+
279
+ $field = 'ga_tag_manager_id';
280
+ $value = esc_attr( get_option( $field ) );
281
+
282
+ ?>
283
+
284
+ <input type="text" name="<?php echo $field; ?>" placeholder="GTM-XXXXXX" value="<?php echo $value; ?>" />
285
+
286
+ <?php
287
+
288
+ }
289
+ }
Config/EnvironmentChecksConfig.php ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ return [
3
+ [
4
+ 'id' => 'php',
5
+ 'check' => !version_compare(PHP_VERSION, '5.3', '>='),
6
+ 'error_message' => __('WebKinder Google Analytics needs PHP version 5.3 to run.', 'wk-google-analytics'),
7
+ ],
8
+ [
9
+ 'id' => 'wp',
10
+ 'check' => !version_compare(get_bloginfo('version'), '4.8', '>='),
11
+ 'error_message' => __('WebKinder Google Analytics needs WordPress version 4.8 to run.', 'wk-google-analytics'),
12
+ ],
13
+ ];
Content/privacy_policy.php ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <h3><?php echo __( 'Google Analytics', 'wk-google-analytics' ); ?></h3>
2
+ <ol>
3
+ <li><?php echo __( 'Based on our legitimate interests (i.e., interest in the analysis, optimization, and economic operation of our online offer within the meaning of Art. 6 (1) lit. DSGVO), we use Google Analytics, a web analytics service provided by Google LLC ("Google"). Google uses cookies. The information generated by the cookie about the use of the online offer by the users are usually transmitted to a Google server in the USA and stored there.', 'wk-google-analytics' ); ?></li>
4
+ <li><?php echo __( 'Google is certified under the Privacy Shield Agreement, which provides a guarantee to comply with European privacy legislation (<a href="https://www.privacyshield.gov/participant?id=a2zt000000001L5AAI&status=Active">https://www.privacyshield.gov/participant?id=a2zt000000001L5AAI&status=Active</a>).', 'wk-google-analytics' ); ?></li>
5
+ <li><?php echo __( 'Google will use this information on our behalf to evaluate the use of our online offer by users to compile reports on the activities within this online offer and to provide us with further services related to the use of this online offer and the internet usage. In this case, pseudonymous usage profiles of the users can be created from the processed data.', 'wk-google-analytics' ); ?></li>
6
+ <li><?php echo __( 'We only use Google Analytics with activated IP anonymization. This means that the IP address of the users will be shortened by Google within member states of the European Union or in other contracting states of the Agreement on the European Economic Area. Only in exceptional cases will the full IP address be sent to a Google server in the USA and shortened there.', 'wk-google-analytics' ); ?></li>
7
+ <li><?php echo __( 'The IP address submitted by the user\'s browser will not be merged with other data provided by Google. Users can prevent the storage of cookies by setting their browser software accordingly; Users may also prevent the collection by Google of the data generated by the cookie and related to their use of the online offer as well as the processing of this data by Google by downloading and installing the browser plug-in available under the following link: <a href="https://tools.google.com/dlpage/gaoptout?hl=en">https://tools.google.com/dlpage/gaoptout?hl=en</a>.', 'wk-google-analytics' ); ?></li>
8
+ <li><?php echo __( 'For more information about Google\'s data usage, settings and opt-out options, please visit Google\'s websites: <a href="https://www.google.com/intl/en/policies/privacy/partners">https://www.google.com/intl/en/policies/privacy/partners</a> ("Google\'s use of your data when you use websites or apps of our partners"), <a href="https://policies.google.com/technologies/ads">https://policies.google.com/technologies/ads</a> ("Advertising use of data"), <a href="https://adssettings.google.com/authenticated">https://adssettings.google.com/authenticated</a> ("Managing information Google uses to show you ads").', 'wk-google-analytics' ); ?></li>
9
+ <li><?php echo __( 'Incidentally, the personal data will be anonymized or deleted after a lapse of 26 months.', 'wk-google-analytics' ); ?></li>
10
+ </ol>
11
+ <p><?php echo __( 'Opt-out for Google Analytics', 'wk-google-analytics'); ?></p>
12
+ [google_analytics_opt_out]
css/admin-styles.css CHANGED
@@ -47,3 +47,7 @@
47
  margin-left: 5px;
48
  color: red;
49
  }
 
 
 
 
47
  margin-left: 5px;
48
  color: red;
49
  }
50
+
51
+ #mc_embed_signup_scroll .input-group label {
52
+ width: 200px;
53
+ }
includes/mailchimp-form.php CHANGED
@@ -8,26 +8,29 @@
8
  <div id="mc_embed_signup">
9
  <form action="//webkinder.us12.list-manage.com/subscribe/post?u=979fe90d29c9ca9e25d5acc4b&amp;id=dfae840228" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate" target="_blank" novalidate>
10
  <div id="mc_embed_signup_scroll">
11
- <h2><?php _e("Stay updated on this plugin", 'wk-ga'); ?></h2>
12
  <div class="mc-field-group">
13
- <label for="mce-EMAIL"><?php _e("Email Address", 'wk-ga'); ?><span class="asterisk">*</span></label>
14
  <input type="email" value="" name="EMAIL" class="required email" id="mce-EMAIL">
15
  </div>
16
  <div class="mc-field-group">
17
- <label for="mce-FNAME"><?php _e("First Name", 'wk-ga'); ?><span class="asterisk">*</span></label>
18
  <input type="text" value="" name="FNAME" class="required" id="mce-FNAME">
19
  </div>
20
  <div class="mc-field-group">
21
- <label for="mce-LNAME"><?php _e("Last Name", 'wk-ga'); ?><span class="asterisk">*</span></label>
22
  <input type="text" value="" name="LNAME" class="required" id="mce-LNAME">
23
  </div>
24
-
 
 
 
25
  <div id="mce-responses" class="clear">
26
  <div class="response" id="mce-error-response" style="display:none"></div>
27
  <div class="response" id="mce-success-response" style="display:none"></div>
28
  </div> <!-- real people should not fill this in and expect good things - do not remove this or risk form bot signups-->
29
  <div style="position: absolute; left: -5000px;" aria-hidden="true"><input type="text" name="b_979fe90d29c9ca9e25d5acc4b_dfae840228" tabindex="-1" value=""></div>
30
- <div class="clear"><input type="submit" value="<?php _e("Subscribe", 'wk-ga'); ?>" name="subscribe" id="mc-embedded-subscribe" class="button button-primary"></div>
31
  </div>
32
  </form>
33
  </div>
8
  <div id="mc_embed_signup">
9
  <form action="//webkinder.us12.list-manage.com/subscribe/post?u=979fe90d29c9ca9e25d5acc4b&amp;id=dfae840228" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate" target="_blank" novalidate>
10
  <div id="mc_embed_signup_scroll">
11
+ <h2><?php _e("Stay updated on this plugin", 'wk-google-analytics'); ?></h2>
12
  <div class="mc-field-group">
13
+ <label for="mce-EMAIL"><?php _e("Email Address", 'wk-google-analytics'); ?><span class="asterisk">*</span></label>
14
  <input type="email" value="" name="EMAIL" class="required email" id="mce-EMAIL">
15
  </div>
16
  <div class="mc-field-group">
17
+ <label for="mce-FNAME"><?php _e("First Name", 'wk-google-analytics'); ?><span class="asterisk">*</span></label>
18
  <input type="text" value="" name="FNAME" class="required" id="mce-FNAME">
19
  </div>
20
  <div class="mc-field-group">
21
+ <label for="mce-LNAME"><?php _e("Last Name", 'wk-google-analytics'); ?><span class="asterisk">*</span></label>
22
  <input type="text" value="" name="LNAME" class="required" id="mce-LNAME">
23
  </div>
24
+ <div class="mc-field-group input-group">
25
+ <strong><?php _e("Permission", 'wk-google-analytics'); ?></strong>
26
+ <input type="checkbox" value="1" name="group[16549][1]" id="mce-group[16549]-16549-0"><label for="mce-group[16549]-16549-0"><?php _e("I agree to my personal data being stored, used for distribution and to receive plugin news.", 'wk-google-analytics'); ?></label>
27
+ </ul>
28
  <div id="mce-responses" class="clear">
29
  <div class="response" id="mce-error-response" style="display:none"></div>
30
  <div class="response" id="mce-success-response" style="display:none"></div>
31
  </div> <!-- real people should not fill this in and expect good things - do not remove this or risk form bot signups-->
32
  <div style="position: absolute; left: -5000px;" aria-hidden="true"><input type="text" name="b_979fe90d29c9ca9e25d5acc4b_dfae840228" tabindex="-1" value=""></div>
33
+ <div class="clear"><input type="submit" value="<?php _e("Subscribe", 'wk-google-analytics'); ?>" name="subscribe" id="mc-embedded-subscribe" class="button button-primary"></div>
34
  </div>
35
  </form>
36
  </div>
js/admin-functions.js CHANGED
@@ -1,69 +1,69 @@
1
- /*
2
- * Google Analytics by WebKinder
3
- * Admin JS Functions
4
- */
5
-
6
- var WKGA_AdminFunctions = {
7
- CookieName: 'wp_wk_ga_untrack_' + document.location.hostname,
8
- UntrackText: text_content.UntrackText,
9
- TrackText: text_content.TrackText,
10
-
11
- init: function( containerID, useTagManager ) {
12
-
13
- //cookie handling
14
- this.containerID = containerID;
15
- this.checkboxClass = 'wk-checkbox';
16
- this.checkboxSelector = containerID + " ." + this.checkboxClass;
17
- jQuery( containerID ).html('<label>'+this.TrackText+' </label><input type="checkbox" class="'+this.checkboxClass+'" />');
18
-
19
- this.renderCheckbox();
20
-
21
- jQuery( this.checkboxSelector ).change( function() {
22
- this.handleClick();
23
- }.bind(this) );
24
-
25
- //analytics/tag manager switch
26
- this.onlyUseOne( jQuery( useTagManager ).is(":checked") );
27
-
28
- jQuery( useTagManager ).change( function() {
29
- this.onlyUseOne( jQuery( useTagManager ).is(":checked") );
30
- }.bind(this));
31
-
32
- },
33
-
34
- onlyUseOne: function( useIt ) {
35
- switch( useIt ) {
36
- case true: {
37
- jQuery('.use-google-tag-manager').children('input').prop('readonly', false);
38
- jQuery('.use-google-analytics').children('input').prop('readonly', true);
39
- break;
40
- }
41
- case false: {
42
- jQuery('.use-google-analytics').children('input').prop('readonly', false);
43
- jQuery('.use-google-tag-manager').children('input').prop('readonly', true);
44
- break;
45
- }
46
- }
47
- },
48
-
49
- renderCheckbox: function( containerID ) {
50
- var checkboxValue = Cookies.get( this.CookieName ) ? 1 : 0;
51
- jQuery( this.checkboxSelector ).prop('checked', checkboxValue );
52
- },
53
-
54
- handleClick: function() {
55
- if( Cookies.get( this.CookieName ) ) {
56
- Cookies.remove( this.CookieName );
57
- } else {
58
- Cookies.set( this.CookieName , true, { expires: 365 } );
59
- }
60
- this.renderCheckbox();
61
- }
62
-
63
- }
64
-
65
- jQuery(document).ready(function(){
66
-
67
- WKGA_AdminFunctions.init( '#track-device', '#use-google-tag-manager' );
68
-
69
- });
1
+ /*
2
+ * Google Analytics by WebKinder
3
+ * Admin JS Functions
4
+ */
5
+
6
+ var WKGA_AdminFunctions = {
7
+ CookieName: 'wp_wk_ga_untrack_' + document.location.hostname,
8
+ UntrackText: text_content.UntrackText,
9
+ TrackText: text_content.TrackText,
10
+
11
+ init: function( containerID, useTagManager ) {
12
+
13
+ //cookie handling
14
+ this.containerID = containerID;
15
+ this.checkboxClass = 'wk-checkbox';
16
+ this.checkboxSelector = containerID + " ." + this.checkboxClass;
17
+ jQuery( containerID ).html('<input type="checkbox" class="'+this.checkboxClass+'" id="wk-ga-opt-out" /><label for="wk-ga-opt-out">'+this.TrackText+' </label>');
18
+
19
+ this.renderCheckbox();
20
+
21
+ jQuery( this.checkboxSelector ).change( function() {
22
+ this.handleClick();
23
+ }.bind(this) );
24
+
25
+ //analytics/tag manager switch
26
+ this.onlyUseOne( jQuery( useTagManager ).is(":checked") );
27
+
28
+ jQuery( useTagManager ).change( function() {
29
+ this.onlyUseOne( jQuery( useTagManager ).is(":checked") );
30
+ }.bind(this));
31
+
32
+ },
33
+
34
+ onlyUseOne: function( useIt ) {
35
+ switch( useIt ) {
36
+ case true: {
37
+ jQuery('.use-google-tag-manager').children('input').prop('readonly', false);
38
+ jQuery('.use-google-analytics').children('input').prop('readonly', true);
39
+ break;
40
+ }
41
+ case false: {
42
+ jQuery('.use-google-analytics').children('input').prop('readonly', false);
43
+ jQuery('.use-google-tag-manager').children('input').prop('readonly', true);
44
+ break;
45
+ }
46
+ }
47
+ },
48
+
49
+ renderCheckbox: function( containerID ) {
50
+ var checkboxValue = Cookies.get( this.CookieName ) ? 1 : 0;
51
+ jQuery( this.checkboxSelector ).prop('checked', checkboxValue );
52
+ },
53
+
54
+ handleClick: function() {
55
+ if( Cookies.get( this.CookieName ) ) {
56
+ Cookies.remove( this.CookieName );
57
+ } else {
58
+ Cookies.set( this.CookieName , true, { expires: 365 } );
59
+ }
60
+ this.renderCheckbox();
61
+ }
62
+
63
+ }
64
+
65
+ jQuery(document).ready(function(){
66
+
67
+ WKGA_AdminFunctions.init( '#track-device', '#use-google-tag-manager' );
68
+
69
+ });
languages/wk-google-analytics-de_CH.mo ADDED
Binary file
languages/wk-google-analytics-de_CH.po ADDED
@@ -0,0 +1,279 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: Google Analytics by WebKinder\n"
4
+ "POT-Creation-Date: 2018-06-02 14:17+0200\n"
5
+ "PO-Revision-Date: 2018-06-02 14:22+0200\n"
6
+ "Last-Translator: \n"
7
+ "Language-Team: \n"
8
+ "Language: de_DE\n"
9
+ "MIME-Version: 1.0\n"
10
+ "Content-Type: text/plain; charset=UTF-8\n"
11
+ "Content-Transfer-Encoding: 8bit\n"
12
+ "X-Generator: Poedit 2.0.7\n"
13
+ "X-Poedit-Basepath: ..\n"
14
+ "Plural-Forms: nplurals=2; plural=(n != 1);\n"
15
+ "X-Poedit-Flags-xgettext: --add-comments=translators:\n"
16
+ "X-Poedit-WPHeader: wk-ga.php\n"
17
+ "X-Poedit-SourceCharset: UTF-8\n"
18
+ "X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;"
19
+ "esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;"
20
+ "_nx_noop:3c,1,2;__ngettext_noop:1,2\n"
21
+ "X-Poedit-SearchPath-0: .\n"
22
+ "X-Poedit-SearchPathExcluded-0: *.js\n"
23
+
24
+ #: Classes/Loader.php:129
25
+ msgid "Do not track any visits from this device."
26
+ msgstr "Keine Besuche von diesem Gerät tracken."
27
+
28
+ #: Classes/Plugin.php:59
29
+ msgid "Donate to this plugin"
30
+ msgstr "Spenden um das Plugin zu unterstützen."
31
+
32
+ #: Classes/Settings.php:43
33
+ msgid "Test your tracking code now!"
34
+ msgstr "Teste deinen Tracking Code jetzt!"
35
+
36
+ #: Classes/Settings.php:79 Content/privacy_policy.php:1
37
+ msgid "Google Analytics"
38
+ msgstr "Google Analytics"
39
+
40
+ #: Classes/Settings.php:94
41
+ msgid "GA Tracking Code"
42
+ msgstr "GA Tracking Code"
43
+
44
+ #: Classes/Settings.php:110
45
+ msgid "Anonymize IP\"s"
46
+ msgstr "IP Anonymisierung"
47
+
48
+ #: Classes/Settings.php:126
49
+ msgid "Track logged in users"
50
+ msgstr "Eingeloggte Benutzer tracken"
51
+
52
+ #: Classes/Settings.php:142
53
+ msgid "Use Google Tag Manager instead"
54
+ msgstr "Google Tag Manager verwenden"
55
+
56
+ #: Classes/Settings.php:158
57
+ msgid "Google Tag Manager ID"
58
+ msgstr "Google Tag Manager ID"
59
+
60
+ #: Classes/Settings.php:176
61
+ msgid ""
62
+ "Enter your Google Analytics tracking code below. You can also use Google Tag "
63
+ "Manager instead by checking the relevant setting."
64
+ msgstr ""
65
+ "Gib deinen Google Analytics Tracking Code unten ein. Alternativ kann auch "
66
+ "Google Tag Manager verwendet werden, indem das entsprechende Setting gesetzt "
67
+ "wird."
68
+
69
+ #: Classes/Settings.php:216
70
+ msgid ""
71
+ "This setting is only for Google Analytics. If you use GTM please set this "
72
+ "setting in your GTM account."
73
+ msgstr ""
74
+ "Diese Einstellung gilt nur für Google Analytics. Falls Google Tag Manager "
75
+ "genutzt wird, muss die Einstellung im Google Tag Manager Konto gesetzt "
76
+ "werden."
77
+
78
+ #: Config/EnvironmentChecksConfig.php:6
79
+ msgid "WebKinder Google Analytics needs PHP version 5.3 to run."
80
+ msgstr "WebKinder Google Analytics benötigt PHP 5.3 oder höher."
81
+
82
+ #: Config/EnvironmentChecksConfig.php:11
83
+ msgid "WebKinder Google Analytics needs WordPress version 4.8 to run."
84
+ msgstr "WebKinder Google Analytics benötigt WordPress Version 4.8 oder höher."
85
+
86
+ #: Content/privacy_policy.php:3
87
+ msgid ""
88
+ "Based on our legitimate interests (i.e., interest in the analysis, "
89
+ "optimization, and economic operation of our online offer within the meaning "
90
+ "of Art. 6 (1) lit. DSGVO), we use Google Analytics, a web analytics service "
91
+ "provided by Google LLC (\"Google\"). Google uses cookies. The information "
92
+ "generated by the cookie about the use of the online offer by the users are "
93
+ "usually transmitted to a Google server in the USA and stored there."
94
+ msgstr ""
95
+ "Wir setzen auf Grundlage unserer berechtigten Interessen (d.h. Interesse an "
96
+ "der Analyse, Optimierung und wirtschaftlichem Betrieb unseres "
97
+ "Onlineangebotes im Sinne des Art. 6 Abs. 1 lit. f. DSGVO) Google Analytics, "
98
+ "einen Webanalysedienst der Google LLC („Google“) ein. Google verwendet "
99
+ "Cookies. Die durch das Cookie erzeugten Informationen über Benutzung des "
100
+ "Onlineangebotes durch die Nutzer werden in der Regel an einen Server von "
101
+ "Google in den USA übertragen und dort gespeichert."
102
+
103
+ #: Content/privacy_policy.php:4
104
+ msgid ""
105
+ "Google is certified under the Privacy Shield Agreement, which provides a "
106
+ "guarantee to comply with European privacy legislation (<a href=\"https://www."
107
+ "privacyshield.gov/participant?id=a2zt000000001L5AAI&status=Active\">https://"
108
+ "www.privacyshield.gov/participant?id=a2zt000000001L5AAI&status=Active</a>)."
109
+ msgstr ""
110
+ "Google ist unter dem Privacy-Shield-Abkommen zertifiziert und bietet "
111
+ "hierdurch eine Garantie, das europäische Datenschutzrecht einzuhalten (<a "
112
+ "href=\"https://www.privacyshield.gov/participant?"
113
+ "id=a2zt000000001L5AAI&status=Active\">https://www.privacyshield.gov/"
114
+ "participant?id=a2zt000000001L5AAI&status=Active</a>)."
115
+
116
+ #: Content/privacy_policy.php:5
117
+ msgid ""
118
+ "Google will use this information on our behalf to evaluate the use of our "
119
+ "online offer by users to compile reports on the activities within this "
120
+ "online offer and to provide us with further services related to the use of "
121
+ "this online offer and the internet usage. In this case, pseudonymous usage "
122
+ "profiles of the users can be created from the processed data."
123
+ msgstr ""
124
+ "Google wird diese Informationen in unserem Auftrag benutzen, um die Nutzung "
125
+ "unseres Onlineangebotes durch die Nutzer auszuwerten, um Reports über die "
126
+ "Aktivitäten innerhalb dieses Onlineangebotes zusammenzustellen und um "
127
+ "weitere, mit der Nutzung dieses Onlineangebotes und der Internetnutzung "
128
+ "verbundene Dienstleistungen, uns gegenüber zu erbringen. Dabei können aus "
129
+ "den verarbeiteten Daten pseudonyme Nutzungsprofile der Nutzer erstellt "
130
+ "werden."
131
+
132
+ #: Content/privacy_policy.php:6
133
+ msgid ""
134
+ "We only use Google Analytics with activated IP anonymization. This means "
135
+ "that the IP address of the users will be shortened by Google within member "
136
+ "states of the European Union or in other contracting states of the Agreement "
137
+ "on the European Economic Area. Only in exceptional cases will the full IP "
138
+ "address be sent to a Google server in the USA and shortened there."
139
+ msgstr ""
140
+ "Wir setzen Google Analytics nur mit aktivierter IP-Anonymisierung ein. Das "
141
+ "bedeutet, die IP-Adresse der Nutzer wird von Google innerhalb von "
142
+ "Mitgliedstaaten der Europäischen Union oder in anderen Vertragsstaaten des "
143
+ "Abkommens über den Europäischen Wirtschaftsraum gekürzt. Nur in "
144
+ "Ausnahmefällen wird die volle IP-Adresse an einen Server von Google in den "
145
+ "USA übertragen und dort gekürzt."
146
+
147
+ #: Content/privacy_policy.php:7
148
+ msgid ""
149
+ "The IP address submitted by the user's browser will not be merged with other "
150
+ "data provided by Google. Users can prevent the storage of cookies by setting "
151
+ "their browser software accordingly; Users may also prevent the collection by "
152
+ "Google of the data generated by the cookie and related to their use of the "
153
+ "online offer as well as the processing of this data by Google by downloading "
154
+ "and installing the browser plug-in available under the following link: <a "
155
+ "href=\"https://tools.google.com/dlpage/gaoptout?hl=en\">https://tools.google."
156
+ "com/dlpage/gaoptout?hl=en</a>."
157
+ msgstr ""
158
+ "Die von dem Browser des Nutzers übermittelte IP-Adresse wird nicht mit "
159
+ "anderen Daten von Google zusammengeführt. Die Nutzer können die Speicherung "
160
+ "der Cookies durch eine entsprechende Einstellung ihrer Browser-Software "
161
+ "verhindern; die Nutzer können darüber hinaus die Erfassung der durch das "
162
+ "Cookie erzeugten und auf ihre Nutzung des Onlineangebotes bezogenen Daten an "
163
+ "Google sowie die Verarbeitung dieser Daten durch Google verhindern, indem "
164
+ "sie das unter folgendem Link verfügbare Browser-Plugin herunterladen und "
165
+ "installieren: <a href=\"https://tools.google.com/dlpage/gaoptout?hl=de"
166
+ "\">https://tools.google.com/dlpage/gaoptout?hl=de</a>."
167
+
168
+ #: Content/privacy_policy.php:8
169
+ msgid ""
170
+ "For more information about Google's data usage, settings and opt-out "
171
+ "options, please visit Google's websites: <a href=\"https://www.google.com/"
172
+ "intl/en/policies/privacy/partners\">https://www.google.com/intl/en/policies/"
173
+ "privacy/partners</a> (\"Google's use of your data when you use websites or "
174
+ "apps of our partners\"), <a href=\"https://policies.google.com/technologies/"
175
+ "ads\">https://policies.google.com/technologies/ads</a> (\"Advertising use of "
176
+ "data\"), <a href=\"https://adssettings.google.com/authenticated\">https://"
177
+ "adssettings.google.com/authenticated</a> (\"Managing information Google uses "
178
+ "to show you ads\")."
179
+ msgstr ""
180
+ "Weitere Informationen zur Datennutzung durch Google, Einstellungs- und "
181
+ "Widerspruchsmöglichkeiten erfahren Sie auf den Webseiten von Google: <a href="
182
+ "\"https://www.google.com/intl/de/policies/privacy/partners\">https://www."
183
+ "google.com/intl/de/policies/privacy/partners</a> („Datennutzung durch Google "
184
+ "bei Ihrer Nutzung von Websites oder Apps unserer Partner“), https://policies."
185
+ "google.com/technologies/ads („Datennutzung zu Werbezwecken“), <a href="
186
+ "\"https://adssettings.google.com/authenticated\">https://adssettings.google."
187
+ "com/authenticated</a> („Informationen verwalten, die Google verwendet, um "
188
+ "Ihnen Werbung einzublenden“)."
189
+
190
+ #: Content/privacy_policy.php:9
191
+ msgid ""
192
+ "Incidentally, the personal data will be anonymized or deleted after a lapse "
193
+ "of 26 months."
194
+ msgstr ""
195
+ "Im Übrigen werden die personenbezogenen Daten nach einem Ablauf von 26 "
196
+ "Monaten anonymisiert oder gelöscht."
197
+
198
+ #: Content/privacy_policy.php:11
199
+ msgid "Opt-out for Google Analytics"
200
+ msgstr "Opt-out für Google Analytics"
201
+
202
+ #: includes/mailchimp-form.php:11
203
+ msgid "Stay updated on this plugin"
204
+ msgstr "Erfahre das Wichtigste über jedes Update"
205
+
206
+ #: includes/mailchimp-form.php:13
207
+ msgid "Email Address"
208
+ msgstr "Email Adresse"
209
+
210
+ #: includes/mailchimp-form.php:17
211
+ msgid "First Name"
212
+ msgstr "Vorname"
213
+
214
+ #: includes/mailchimp-form.php:21
215
+ msgid "Last Name"
216
+ msgstr "Nachname"
217
+
218
+ #: includes/mailchimp-form.php:25
219
+ #, fuzzy
220
+ #| msgid "Marketing permission"
221
+ msgid "Permission"
222
+ msgstr "Zustimmung"
223
+
224
+ #: includes/mailchimp-form.php:26
225
+ msgid ""
226
+ "I agree to my personal data being stored, used for distribution and to "
227
+ "receive plugin news."
228
+ msgstr ""
229
+ "Ich erkläre mich bereit, das Personenbezogene Daten gespeichert, zur "
230
+ "Distribution sowie für den Versand von Plugin-Neuigkeiten genutzt werden."
231
+
232
+ #: includes/mailchimp-form.php:33
233
+ msgid "Subscribe"
234
+ msgstr "Abonnieren"
235
+
236
+ #. Plugin Name of the plugin/theme
237
+ msgid "Google Analytics by WebKinder"
238
+ msgstr "Google Analytics by WebKinder"
239
+
240
+ #. Plugin URI of the plugin/theme
241
+ msgid "https://wordpress.org/plugins/wk-google-analytics/"
242
+ msgstr "https://wordpress.org/plugins/wk-google-analytics/"
243
+
244
+ #. Description of the plugin/theme
245
+ msgid "Google Analytics for WordPress without tracking your own visits"
246
+ msgstr "Google Analytics für WordPress ohne die eigenen Besuche zu tacken"
247
+
248
+ #. Author of the plugin/theme
249
+ msgid "WebKinder"
250
+ msgstr "WebKinder"
251
+
252
+ #. Author URI of the plugin/theme
253
+ msgid "https://www.webkinder.ch"
254
+ msgstr "https://www.webkinder.ch"
255
+
256
+ #~ msgid "Page visits from this device are not tracked."
257
+ #~ msgstr "Seitenbesuche von diesem Gerät werden nicht getrackt."
258
+
259
+ #~ msgid "This device is treated like any other"
260
+ #~ msgstr "Dieses Gerät wird wie jedes Andere behandelt."
261
+
262
+ #~ msgid "Use Google tag manager instead"
263
+ #~ msgstr "Benutze Google Tag Manager"
264
+
265
+ #~ msgid "Stay updated on our plugins"
266
+ #~ msgstr "Erfahre das Neuste über unsere Plugins"
267
+
268
+ #~ msgid ""
269
+ #~ "Enter your Google Analytics tracking code below. There are two additional "
270
+ #~ "mechanisms that allow you to stop tracking your own visits. The first one "
271
+ #~ "checks if you are logged in as a WordPress User. The second one allows "
272
+ #~ "you to stop tracking certain devices totally by setting a cookie."
273
+ #~ msgstr ""
274
+ #~ "Gib deinen Google Analytics Tracking Code unten ein. Es gibt zwei "
275
+ #~ "zusätzliche Mechanismen, die dir erlauben deine eigenen Seitenbesuche "
276
+ #~ "nicht mehr zu tracken. Der erste prüft, ob du als WordPress User "
277
+ #~ "angemeldet bist. Der zweite gibt dir die Möglichkeit über ein Cookie "
278
+ #~ "sämtliche Seitenbesuche von einem bestimmten Gerät aus nicht mehr zu "
279
+ #~ "tracken."
languages/wk-google-analytics-de_DE.mo ADDED
Binary file
languages/wk-google-analytics-de_DE.po ADDED
@@ -0,0 +1,279 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: Google Analytics by WebKinder\n"
4
+ "POT-Creation-Date: 2018-06-02 14:17+0200\n"
5
+ "PO-Revision-Date: 2018-06-02 14:20+0200\n"
6
+ "Last-Translator: \n"
7
+ "Language-Team: \n"
8
+ "Language: de_DE\n"
9
+ "MIME-Version: 1.0\n"
10
+ "Content-Type: text/plain; charset=UTF-8\n"
11
+ "Content-Transfer-Encoding: 8bit\n"
12
+ "X-Generator: Poedit 2.0.7\n"
13
+ "X-Poedit-Basepath: ..\n"
14
+ "Plural-Forms: nplurals=2; plural=(n != 1);\n"
15
+ "X-Poedit-Flags-xgettext: --add-comments=translators:\n"
16
+ "X-Poedit-WPHeader: wk-ga.php\n"
17
+ "X-Poedit-SourceCharset: UTF-8\n"
18
+ "X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;"
19
+ "esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;"
20
+ "_nx_noop:3c,1,2;__ngettext_noop:1,2\n"
21
+ "X-Poedit-SearchPath-0: .\n"
22
+ "X-Poedit-SearchPathExcluded-0: *.js\n"
23
+
24
+ #: Classes/Loader.php:129
25
+ msgid "Do not track any visits from this device."
26
+ msgstr "Keine Besuche von diesem Gerät tracken."
27
+
28
+ #: Classes/Plugin.php:59
29
+ msgid "Donate to this plugin"
30
+ msgstr "Erfahre das Wichtigste über jedes Update"
31
+
32
+ #: Classes/Settings.php:43
33
+ msgid "Test your tracking code now!"
34
+ msgstr "Teste deinen Tracking Code jetzt!"
35
+
36
+ #: Classes/Settings.php:79 Content/privacy_policy.php:1
37
+ msgid "Google Analytics"
38
+ msgstr "Google Analytics"
39
+
40
+ #: Classes/Settings.php:94
41
+ msgid "GA Tracking Code"
42
+ msgstr "GA Tracking Code"
43
+
44
+ #: Classes/Settings.php:110
45
+ msgid "Anonymize IP\"s"
46
+ msgstr "IP Anonymisierung"
47
+
48
+ #: Classes/Settings.php:126
49
+ msgid "Track logged in users"
50
+ msgstr "Eingeloggte Benutzer tracken"
51
+
52
+ #: Classes/Settings.php:142
53
+ msgid "Use Google Tag Manager instead"
54
+ msgstr "Google Tag Manager verwenden"
55
+
56
+ #: Classes/Settings.php:158
57
+ msgid "Google Tag Manager ID"
58
+ msgstr "Google Tag Manager ID"
59
+
60
+ #: Classes/Settings.php:176
61
+ msgid ""
62
+ "Enter your Google Analytics tracking code below. You can also use Google Tag "
63
+ "Manager instead by checking the relevant setting."
64
+ msgstr ""
65
+ "Gib deinen Google Analytics Tracking Code unten ein. Alternativ kann auch "
66
+ "Google Tag Manager verwendet werden, indem das entsprechende Setting gesetzt "
67
+ "wird."
68
+
69
+ #: Classes/Settings.php:216
70
+ msgid ""
71
+ "This setting is only for Google Analytics. If you use GTM please set this "
72
+ "setting in your GTM account."
73
+ msgstr ""
74
+ "Diese Einstellung gilt nur für Google Analytics. Falls Google Tag Manager "
75
+ "genutzt wird, muss die Einstellung im Google Tag Manager Konto gesetzt "
76
+ "werden."
77
+
78
+ #: Config/EnvironmentChecksConfig.php:6
79
+ msgid "WebKinder Google Analytics needs PHP version 5.3 to run."
80
+ msgstr "WebKinder Google Analytics benötigt PHP 5.3 oder höher."
81
+
82
+ #: Config/EnvironmentChecksConfig.php:11
83
+ msgid "WebKinder Google Analytics needs WordPress version 4.8 to run."
84
+ msgstr "WebKinder Google Analytics benötigt WordPress Version 4.8 oder höher."
85
+
86
+ #: Content/privacy_policy.php:3
87
+ msgid ""
88
+ "Based on our legitimate interests (i.e., interest in the analysis, "
89
+ "optimization, and economic operation of our online offer within the meaning "
90
+ "of Art. 6 (1) lit. DSGVO), we use Google Analytics, a web analytics service "
91
+ "provided by Google LLC (\"Google\"). Google uses cookies. The information "
92
+ "generated by the cookie about the use of the online offer by the users are "
93
+ "usually transmitted to a Google server in the USA and stored there."
94
+ msgstr ""
95
+ "Wir setzen auf Grundlage unserer berechtigten Interessen (d.h. Interesse an "
96
+ "der Analyse, Optimierung und wirtschaftlichem Betrieb unseres "
97
+ "Onlineangebotes im Sinne des Art. 6 Abs. 1 lit. f. DSGVO) Google Analytics, "
98
+ "einen Webanalysedienst der Google LLC („Google“) ein. Google verwendet "
99
+ "Cookies. Die durch das Cookie erzeugten Informationen über Benutzung des "
100
+ "Onlineangebotes durch die Nutzer werden in der Regel an einen Server von "
101
+ "Google in den USA übertragen und dort gespeichert."
102
+
103
+ #: Content/privacy_policy.php:4
104
+ msgid ""
105
+ "Google is certified under the Privacy Shield Agreement, which provides a "
106
+ "guarantee to comply with European privacy legislation (<a href=\"https://www."
107
+ "privacyshield.gov/participant?id=a2zt000000001L5AAI&status=Active\">https://"
108
+ "www.privacyshield.gov/participant?id=a2zt000000001L5AAI&status=Active</a>)."
109
+ msgstr ""
110
+ "Google ist unter dem Privacy-Shield-Abkommen zertifiziert und bietet "
111
+ "hierdurch eine Garantie, das europäische Datenschutzrecht einzuhalten (<a "
112
+ "href=\"https://www.privacyshield.gov/participant?"
113
+ "id=a2zt000000001L5AAI&status=Active\">https://www.privacyshield.gov/"
114
+ "participant?id=a2zt000000001L5AAI&status=Active</a>)."
115
+
116
+ #: Content/privacy_policy.php:5
117
+ msgid ""
118
+ "Google will use this information on our behalf to evaluate the use of our "
119
+ "online offer by users to compile reports on the activities within this "
120
+ "online offer and to provide us with further services related to the use of "
121
+ "this online offer and the internet usage. In this case, pseudonymous usage "
122
+ "profiles of the users can be created from the processed data."
123
+ msgstr ""
124
+ "Google wird diese Informationen in unserem Auftrag benutzen, um die Nutzung "
125
+ "unseres Onlineangebotes durch die Nutzer auszuwerten, um Reports über die "
126
+ "Aktivitäten innerhalb dieses Onlineangebotes zusammenzustellen und um "
127
+ "weitere, mit der Nutzung dieses Onlineangebotes und der Internetnutzung "
128
+ "verbundene Dienstleistungen, uns gegenüber zu erbringen. Dabei können aus "
129
+ "den verarbeiteten Daten pseudonyme Nutzungsprofile der Nutzer erstellt "
130
+ "werden."
131
+
132
+ #: Content/privacy_policy.php:6
133
+ msgid ""
134
+ "We only use Google Analytics with activated IP anonymization. This means "
135
+ "that the IP address of the users will be shortened by Google within member "
136
+ "states of the European Union or in other contracting states of the Agreement "
137
+ "on the European Economic Area. Only in exceptional cases will the full IP "
138
+ "address be sent to a Google server in the USA and shortened there."
139
+ msgstr ""
140
+ "Wir setzen Google Analytics nur mit aktivierter IP-Anonymisierung ein. Das "
141
+ "bedeutet, die IP-Adresse der Nutzer wird von Google innerhalb von "
142
+ "Mitgliedstaaten der Europäischen Union oder in anderen Vertragsstaaten des "
143
+ "Abkommens über den Europäischen Wirtschaftsraum gekürzt. Nur in "
144
+ "Ausnahmefällen wird die volle IP-Adresse an einen Server von Google in den "
145
+ "USA übertragen und dort gekürzt."
146
+
147
+ #: Content/privacy_policy.php:7
148
+ msgid ""
149
+ "The IP address submitted by the user's browser will not be merged with other "
150
+ "data provided by Google. Users can prevent the storage of cookies by setting "
151
+ "their browser software accordingly; Users may also prevent the collection by "
152
+ "Google of the data generated by the cookie and related to their use of the "
153
+ "online offer as well as the processing of this data by Google by downloading "
154
+ "and installing the browser plug-in available under the following link: <a "
155
+ "href=\"https://tools.google.com/dlpage/gaoptout?hl=en\">https://tools.google."
156
+ "com/dlpage/gaoptout?hl=en</a>."
157
+ msgstr ""
158
+ "Die von dem Browser des Nutzers übermittelte IP-Adresse wird nicht mit "
159
+ "anderen Daten von Google zusammengeführt. Die Nutzer können die Speicherung "
160
+ "der Cookies durch eine entsprechende Einstellung ihrer Browser-Software "
161
+ "verhindern; die Nutzer können darüber hinaus die Erfassung der durch das "
162
+ "Cookie erzeugten und auf ihre Nutzung des Onlineangebotes bezogenen Daten an "
163
+ "Google sowie die Verarbeitung dieser Daten durch Google verhindern, indem "
164
+ "sie das unter folgendem Link verfügbare Browser-Plugin herunterladen und "
165
+ "installieren: <a href=\"https://tools.google.com/dlpage/gaoptout?hl=de"
166
+ "\">https://tools.google.com/dlpage/gaoptout?hl=de</a>."
167
+
168
+ #: Content/privacy_policy.php:8
169
+ msgid ""
170
+ "For more information about Google's data usage, settings and opt-out "
171
+ "options, please visit Google's websites: <a href=\"https://www.google.com/"
172
+ "intl/en/policies/privacy/partners\">https://www.google.com/intl/en/policies/"
173
+ "privacy/partners</a> (\"Google's use of your data when you use websites or "
174
+ "apps of our partners\"), <a href=\"https://policies.google.com/technologies/"
175
+ "ads\">https://policies.google.com/technologies/ads</a> (\"Advertising use of "
176
+ "data\"), <a href=\"https://adssettings.google.com/authenticated\">https://"
177
+ "adssettings.google.com/authenticated</a> (\"Managing information Google uses "
178
+ "to show you ads\")."
179
+ msgstr ""
180
+ "Weitere Informationen zur Datennutzung durch Google, Einstellungs- und "
181
+ "Widerspruchsmöglichkeiten erfahren Sie auf den Webseiten von Google: <a href="
182
+ "\"https://www.google.com/intl/de/policies/privacy/partners\">https://www."
183
+ "google.com/intl/de/policies/privacy/partners</a> („Datennutzung durch Google "
184
+ "bei Ihrer Nutzung von Websites oder Apps unserer Partner“), https://policies."
185
+ "google.com/technologies/ads („Datennutzung zu Werbezwecken“), <a href="
186
+ "\"https://adssettings.google.com/authenticated\">https://adssettings.google."
187
+ "com/authenticated</a> („Informationen verwalten, die Google verwendet, um "
188
+ "Ihnen Werbung einzublenden“)."
189
+
190
+ #: Content/privacy_policy.php:9
191
+ msgid ""
192
+ "Incidentally, the personal data will be anonymized or deleted after a lapse "
193
+ "of 26 months."
194
+ msgstr ""
195
+ "Im Übrigen werden die personenbezogenen Daten nach einem Ablauf von 26 "
196
+ "Monaten anonymisiert oder gelöscht."
197
+
198
+ #: Content/privacy_policy.php:11
199
+ msgid "Opt-out for Google Analytics"
200
+ msgstr "Opt-out für Google Analytics"
201
+
202
+ #: includes/mailchimp-form.php:11
203
+ msgid "Stay updated on this plugin"
204
+ msgstr "Erfahre das Wichtigste über jedes Update"
205
+
206
+ #: includes/mailchimp-form.php:13
207
+ msgid "Email Address"
208
+ msgstr "Email Adresse"
209
+
210
+ #: includes/mailchimp-form.php:17
211
+ msgid "First Name"
212
+ msgstr "Vorname"
213
+
214
+ #: includes/mailchimp-form.php:21
215
+ msgid "Last Name"
216
+ msgstr "Nachname"
217
+
218
+ #: includes/mailchimp-form.php:25
219
+ #, fuzzy
220
+ #| msgid "Marketing permission"
221
+ msgid "Permission"
222
+ msgstr "Zustimmung"
223
+
224
+ #: includes/mailchimp-form.php:26
225
+ msgid ""
226
+ "I agree to my personal data being stored, used for distribution and to "
227
+ "receive plugin news."
228
+ msgstr ""
229
+ "Ich erkläre mich bereit, das Personenbezogene Daten gespeichert, zur "
230
+ "Distribution sowie für den Versand von Plugin-Neuigkeiten genutzt werden."
231
+
232
+ #: includes/mailchimp-form.php:33
233
+ msgid "Subscribe"
234
+ msgstr "Abonnieren"
235
+
236
+ #. Plugin Name of the plugin/theme
237
+ msgid "Google Analytics by WebKinder"
238
+ msgstr "Google Analytics by WebKinder"
239
+
240
+ #. Plugin URI of the plugin/theme
241
+ msgid "https://wordpress.org/plugins/wk-google-analytics/"
242
+ msgstr "https://wordpress.org/plugins/wk-google-analytics/"
243
+
244
+ #. Description of the plugin/theme
245
+ msgid "Google Analytics for WordPress without tracking your own visits"
246
+ msgstr "Google Analytics für WordPress ohne die eigenen Besuche zu tacken"
247
+
248
+ #. Author of the plugin/theme
249
+ msgid "WebKinder"
250
+ msgstr "WebKinder"
251
+
252
+ #. Author URI of the plugin/theme
253
+ msgid "https://www.webkinder.ch"
254
+ msgstr "https://www.webkinder.ch"
255
+
256
+ #~ msgid "Page visits from this device are not tracked."
257
+ #~ msgstr "Seitenbesuche von diesem Gerät werden nicht getrackt."
258
+
259
+ #~ msgid "This device is treated like any other"
260
+ #~ msgstr "Dieses Gerät wird wie jedes Andere behandelt."
261
+
262
+ #~ msgid "Use Google tag manager instead"
263
+ #~ msgstr "Benutze Google Tag Manager"
264
+
265
+ #~ msgid "Stay updated on our plugins"
266
+ #~ msgstr "Erfahre das Neuste über unsere Plugins"
267
+
268
+ #~ msgid ""
269
+ #~ "Enter your Google Analytics tracking code below. There are two additional "
270
+ #~ "mechanisms that allow you to stop tracking your own visits. The first one "
271
+ #~ "checks if you are logged in as a WordPress User. The second one allows "
272
+ #~ "you to stop tracking certain devices totally by setting a cookie."
273
+ #~ msgstr ""
274
+ #~ "Gib deinen Google Analytics Tracking Code unten ein. Es gibt zwei "
275
+ #~ "zusätzliche Mechanismen, die dir erlauben deine eigenen Seitenbesuche "
276
+ #~ "nicht mehr zu tracken. Der erste prüft, ob du als WordPress User "
277
+ #~ "angemeldet bist. Der zweite gibt dir die Möglichkeit über ein Cookie "
278
+ #~ "sämtliche Seitenbesuche von einem bestimmten Gerät aus nicht mehr zu "
279
+ #~ "tracken."
languages/wk-google-analytics-de_DE_formal.mo ADDED
Binary file
languages/wk-google-analytics-de_DE_formal.po ADDED
@@ -0,0 +1,234 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: Google Analytics by WebKinder\n"
4
+ "POT-Creation-Date: 2018-05-30 17:03+0200\n"
5
+ "PO-Revision-Date: 2018-06-02 14:22+0200\n"
6
+ "Last-Translator: \n"
7
+ "Language-Team: \n"
8
+ "Language: de_DE@formal\n"
9
+ "MIME-Version: 1.0\n"
10
+ "Content-Type: text/plain; charset=UTF-8\n"
11
+ "Content-Transfer-Encoding: 8bit\n"
12
+ "X-Generator: Poedit 2.0.7\n"
13
+ "X-Poedit-Basepath: ..\n"
14
+ "Plural-Forms: nplurals=2; plural=(n != 1);\n"
15
+ "X-Poedit-Flags-xgettext: --add-comments=translators:\n"
16
+ "X-Poedit-WPHeader: wk-ga.php\n"
17
+ "X-Poedit-SourceCharset: UTF-8\n"
18
+ "X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;"
19
+ "esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;"
20
+ "_nx_noop:3c,1,2;__ngettext_noop:1,2\n"
21
+ "X-Poedit-SearchPath-0: .\n"
22
+ "X-Poedit-SearchPathExcluded-0: *.js\n"
23
+
24
+ #: Classes/Loader.php:129
25
+ msgid "Do not track any visits from this device."
26
+ msgstr "Keine Besuche von diesem Gerät tracken."
27
+
28
+ #: Classes/Plugin.php:60
29
+ msgid "Donate to this plugin"
30
+ msgstr "Spenden um das Plugin zu unterstützen"
31
+
32
+ #: Classes/Settings.php:43
33
+ msgid "Test your tracking code now!"
34
+ msgstr "Testen Sie Ihren Tracking Code jetzt!"
35
+
36
+ #: Classes/Settings.php:79 Content/privacy_policy.php:1
37
+ msgid "Google Analytics"
38
+ msgstr "Google Analytics"
39
+
40
+ #: Classes/Settings.php:94
41
+ msgid "GA Tracking Code"
42
+ msgstr "GA Tracking Code"
43
+
44
+ #: Classes/Settings.php:110
45
+ msgid "Anonymize IP\"s"
46
+ msgstr "IP Anonymisierung"
47
+
48
+ #: Classes/Settings.php:126
49
+ msgid "Track logged in users"
50
+ msgstr "Eingeloggte Benutzer tracken"
51
+
52
+ #: Classes/Settings.php:142
53
+ msgid "Use Google Tag Manager instead"
54
+ msgstr "Google Tag Manager verwenden"
55
+
56
+ #: Classes/Settings.php:158
57
+ msgid "Google Tag Manager ID"
58
+ msgstr "Google Tag Manager ID"
59
+
60
+ #: Classes/Settings.php:176
61
+ msgid ""
62
+ "Enter your Google Analytics tracking code below. You can also use Google Tag "
63
+ "Manager instead by checking the relevant setting."
64
+ msgstr ""
65
+ "Geben Sie Ihren Google Analytics Tracking Code unten ein. Alternativ kann "
66
+ "auch Google Tag Manager verwendet werden, indem das entsprechende Setting "
67
+ "gesetzt wird."
68
+
69
+ #: Classes/Settings.php:216
70
+ msgid ""
71
+ "This setting is only for Google Analytics. If you use GTM please set this "
72
+ "setting in your GTM account."
73
+ msgstr ""
74
+ "Diese Einstellung gilt nur für Google Analytics. Falls Google Tag Manager "
75
+ "genutzt wird, muss die Einstellung im Google Tag Manager Konto gesetzt "
76
+ "werden."
77
+
78
+ #: Config/EnvironmentChecksConfig.php:6
79
+ msgid "WebKinder Google Analytics needs PHP version 5.3 to run."
80
+ msgstr "WebKinder Google Analytics benötigt PHP 5.3 oder höher."
81
+
82
+ #: Config/EnvironmentChecksConfig.php:11
83
+ msgid "WebKinder Google Analytics needs WordPress version 4.8 to run."
84
+ msgstr "WebKinder Google Analytics benötigt WordPress Version 4.8 oder höher."
85
+
86
+ #: Content/privacy_policy.php:3
87
+ msgid ""
88
+ "Based on our legitimate interests (i.e., interest in the analysis, "
89
+ "optimization, and economic operation of our online offer within the meaning "
90
+ "of Art. 6 (1) lit. DSGVO), we use Google Analytics, a web analytics service "
91
+ "provided by Google LLC (\"Google\"). Google uses cookies. The information "
92
+ "generated by the cookie about the use of the online offer by the users are "
93
+ "usually transmitted to a Google server in the USA and stored there."
94
+ msgstr ""
95
+ "Wir setzen auf Grundlage unserer berechtigten Interessen (d.h. Interesse an "
96
+ "der Analyse, Optimierung und wirtschaftlichem Betrieb unseres "
97
+ "Onlineangebotes im Sinne des Art. 6 Abs. 1 lit. f. DSGVO) Google Analytics, "
98
+ "einen Webanalysedienst der Google LLC („Google“) ein. Google verwendet "
99
+ "Cookies. Die durch das Cookie erzeugten Informationen über Benutzung des "
100
+ "Onlineangebotes durch die Nutzer werden in der Regel an einen Server von "
101
+ "Google in den USA übertragen und dort gespeichert."
102
+
103
+ #: Content/privacy_policy.php:4
104
+ msgid ""
105
+ "Google is certified under the Privacy Shield Agreement, which provides a "
106
+ "guarantee to comply with European privacy legislation (<a href=\"https://www."
107
+ "privacyshield.gov/participant?id=a2zt000000001L5AAI&status=Active\">https://"
108
+ "www.privacyshield.gov/participant?id=a2zt000000001L5AAI&status=Active</a>)."
109
+ msgstr ""
110
+ "Google ist unter dem Privacy-Shield-Abkommen zertifiziert und bietet "
111
+ "hierdurch eine Garantie, das europäische Datenschutzrecht einzuhalten "
112
+ "(https://www.privacyshield.gov/participant?"
113
+ "id=a2zt000000001L5AAI&status=Active)."
114
+
115
+ #: Content/privacy_policy.php:5
116
+ msgid ""
117
+ "Google will use this information on our behalf to evaluate the use of our "
118
+ "online offer by users to compile reports on the activities within this "
119
+ "online offer and to provide us with further services related to the use of "
120
+ "this online offer and the internet usage. In this case, pseudonymous usage "
121
+ "profiles of the users can be created from the processed data."
122
+ msgstr ""
123
+ "Google wird diese Informationen in unserem Auftrag benutzen, um die Nutzung "
124
+ "unseres Onlineangebotes durch die Nutzer auszuwerten, um Reports über die "
125
+ "Aktivitäten innerhalb dieses Onlineangebotes zusammenzustellen und um "
126
+ "weitere, mit der Nutzung dieses Onlineangebotes und der Internetnutzung "
127
+ "verbundene Dienstleistungen, uns gegenüber zu erbringen. Dabei können aus "
128
+ "den verarbeiteten Daten pseudonyme Nutzungsprofile der Nutzer erstellt "
129
+ "werden."
130
+
131
+ #: Content/privacy_policy.php:6
132
+ msgid ""
133
+ "We only use Google Analytics with activated IP anonymization. This means "
134
+ "that the IP address of the users will be shortened by Google within member "
135
+ "states of the European Union or in other contracting states of the Agreement "
136
+ "on the European Economic Area. Only in exceptional cases will the full IP "
137
+ "address be sent to a Google server in the USA and shortened there."
138
+ msgstr ""
139
+ "Wir setzen Google Analytics nur mit aktivierter IP-Anonymisierung ein. Das "
140
+ "bedeutet, die IP-Adresse der Nutzer wird von Google innerhalb von "
141
+ "Mitgliedstaaten der Europäischen Union oder in anderen Vertragsstaaten des "
142
+ "Abkommens über den Europäischen Wirtschaftsraum gekürzt. Nur in "
143
+ "Ausnahmefällen wird die volle IP-Adresse an einen Server von Google in den "
144
+ "USA übertragen und dort gekürzt."
145
+
146
+ #: Content/privacy_policy.php:7
147
+ msgid ""
148
+ "The IP address submitted by the user's browser will not be merged with other "
149
+ "data provided by Google. Users can prevent the storage of cookies by setting "
150
+ "their browser software accordingly; Users may also prevent the collection by "
151
+ "Google of the data generated by the cookie and related to their use of the "
152
+ "online offer as well as the processing of this data by Google by downloading "
153
+ "and installing the browser plug-in available under the following link: <a "
154
+ "href=\"https://tools.google.com/dlpage/gaoptout?hl=en\">https://tools.google."
155
+ "com/dlpage/gaoptout?hl=en</a>."
156
+ msgstr ""
157
+ "Die von dem Browser des Nutzers übermittelte IP-Adresse wird nicht mit "
158
+ "anderen Daten von Google zusammengeführt. Die Nutzer können die Speicherung "
159
+ "der Cookies durch eine entsprechende Einstellung ihrer Browser-Software "
160
+ "verhindern; die Nutzer können darüber hinaus die Erfassung der durch das "
161
+ "Cookie erzeugten und auf ihre Nutzung des Onlineangebotes bezogenen Daten an "
162
+ "Google sowie die Verarbeitung dieser Daten durch Google verhindern, indem "
163
+ "sie das unter folgendem Link verfügbare Browser-Plugin herunterladen und "
164
+ "installieren: https://tools.google.com/dlpage/gaoptout?hl=de."
165
+
166
+ #: Content/privacy_policy.php:8
167
+ msgid ""
168
+ "For more information about Google's data usage, settings and opt-out "
169
+ "options, please visit Google's websites: <a href=\"https://www.google.com/"
170
+ "intl/en/policies/privacy/partners\">https://www.google.com/intl/en/policies/"
171
+ "privacy/partners</a> (\"Google's use of your data when you use websites or "
172
+ "apps of our partners\"), <a href=\"https://policies.google.com/technologies/"
173
+ "ads\">https://policies.google.com/technologies/ads</a> (\"Advertising use of "
174
+ "data\"), <a href=\"https://adssettings.google.com/authenticated\">https://"
175
+ "adssettings.google.com/authenticated</a> (\"Managing information Google uses "
176
+ "to show you ads\")."
177
+ msgstr ""
178
+ "Weitere Informationen zur Datennutzung durch Google, Einstellungs- und "
179
+ "Widerspruchsmöglichkeiten erfahren Sie auf den Webseiten von Google: https://"
180
+ "www.google.com/intl/de/policies/privacy/partners („Datennutzung durch Google "
181
+ "bei Ihrer Nutzung von Websites oder Apps unserer Partner“), https://policies."
182
+ "google.com/technologies/ads („Datennutzung zu Werbezwecken“), https://"
183
+ "adssettings.google.com/authenticated („Informationen verwalten, die Google "
184
+ "verwendet, um Ihnen Werbung einzublenden“)."
185
+
186
+ #: Content/privacy_policy.php:9
187
+ #, fuzzy
188
+ #| msgid ""
189
+ #| "Incidentally, the personal data will be anonymized or deleted after a "
190
+ #| "lapse of 26 months"
191
+ msgid ""
192
+ "Incidentally, the personal data will be anonymized or deleted after a lapse "
193
+ "of 26 months."
194
+ msgstr ""
195
+ "Im Übrigen werden die personenbezogenen Daten nach einem Ablauf von 26 "
196
+ "Monaten anonymisiert oder gelöscht."
197
+
198
+ #: Content/privacy_policy.php:11
199
+ msgid "Opt-out for Google Analytics"
200
+ msgstr "Opt-out für Google Analytics"
201
+
202
+ #: includes/mailchimp-form.php:11
203
+ msgid "Stay updated on this plugin"
204
+ msgstr "Erfahre das Wichtigste über jedes Update"
205
+
206
+ #: includes/mailchimp-form.php:13
207
+ msgid "Email Address"
208
+ msgstr "Email Adresse"
209
+
210
+ #: includes/mailchimp-form.php:17
211
+ msgid "First Name"
212
+ msgstr "Vorname"
213
+
214
+ #: includes/mailchimp-form.php:21
215
+ msgid "Last Name"
216
+ msgstr "Nachnahme"
217
+
218
+ #: includes/mailchimp-form.php:25
219
+ #, fuzzy
220
+ #| msgid "Marketing permission"
221
+ msgid "Permission"
222
+ msgstr "Zustimmung"
223
+
224
+ #: includes/mailchimp-form.php:26
225
+ msgid ""
226
+ "I agree to my personal data being stored, used for distribution and to "
227
+ "receive plugin news."
228
+ msgstr ""
229
+ "Ich erkläre mich bereit, das Personenbezogene Daten gespeichert, zur "
230
+ "Distribution sowie für den Versand von Plugin-Neuigkeiten genutzt werden."
231
+
232
+ #: includes/mailchimp-form.php:33
233
+ msgid "Subscribe"
234
+ msgstr "Abonnieren"
languages/wk-google-analytics.pot ADDED
@@ -0,0 +1,199 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #, fuzzy
2
+ msgid ""
3
+ msgstr ""
4
+ "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
5
+ "Project-Id-Version: Google Analytics by WebKinder\n"
6
+ "POT-Creation-Date: 2018-06-02 14:17+0200\n"
7
+ "PO-Revision-Date: 2018-06-02 14:16+0200\n"
8
+ "Last-Translator: \n"
9
+ "Language-Team: \n"
10
+ "MIME-Version: 1.0\n"
11
+ "Content-Type: text/plain; charset=UTF-8\n"
12
+ "Content-Transfer-Encoding: 8bit\n"
13
+ "X-Generator: Poedit 2.0.7\n"
14
+ "X-Poedit-Basepath: ..\n"
15
+ "X-Poedit-Flags-xgettext: --add-comments=translators:\n"
16
+ "X-Poedit-WPHeader: wk-ga.php\n"
17
+ "X-Poedit-SourceCharset: UTF-8\n"
18
+ "X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;"
19
+ "esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;"
20
+ "_nx_noop:3c,1,2;__ngettext_noop:1,2\n"
21
+ "X-Poedit-SearchPath-0: .\n"
22
+ "X-Poedit-SearchPathExcluded-0: *.js\n"
23
+
24
+ #: Classes/Loader.php:129
25
+ msgid "Do not track any visits from this device."
26
+ msgstr ""
27
+
28
+ #: Classes/Plugin.php:59
29
+ msgid "Donate to this plugin"
30
+ msgstr ""
31
+
32
+ #: Classes/Settings.php:43
33
+ msgid "Test your tracking code now!"
34
+ msgstr ""
35
+
36
+ #: Classes/Settings.php:79 Content/privacy_policy.php:1
37
+ msgid "Google Analytics"
38
+ msgstr ""
39
+
40
+ #: Classes/Settings.php:94
41
+ msgid "GA Tracking Code"
42
+ msgstr ""
43
+
44
+ #: Classes/Settings.php:110
45
+ msgid "Anonymize IP\"s"
46
+ msgstr ""
47
+
48
+ #: Classes/Settings.php:126
49
+ msgid "Track logged in users"
50
+ msgstr ""
51
+
52
+ #: Classes/Settings.php:142
53
+ msgid "Use Google Tag Manager instead"
54
+ msgstr ""
55
+
56
+ #: Classes/Settings.php:158
57
+ msgid "Google Tag Manager ID"
58
+ msgstr ""
59
+
60
+ #: Classes/Settings.php:176
61
+ msgid ""
62
+ "Enter your Google Analytics tracking code below. You can also use Google Tag "
63
+ "Manager instead by checking the relevant setting."
64
+ msgstr ""
65
+
66
+ #: Classes/Settings.php:216
67
+ msgid ""
68
+ "This setting is only for Google Analytics. If you use GTM please set this "
69
+ "setting in your GTM account."
70
+ msgstr ""
71
+
72
+ #: Config/EnvironmentChecksConfig.php:6
73
+ msgid "WebKinder Google Analytics needs PHP version 5.3 to run."
74
+ msgstr ""
75
+
76
+ #: Config/EnvironmentChecksConfig.php:11
77
+ msgid "WebKinder Google Analytics needs WordPress version 4.8 to run."
78
+ msgstr ""
79
+
80
+ #: Content/privacy_policy.php:3
81
+ msgid ""
82
+ "Based on our legitimate interests (i.e., interest in the analysis, "
83
+ "optimization, and economic operation of our online offer within the meaning "
84
+ "of Art. 6 (1) lit. DSGVO), we use Google Analytics, a web analytics service "
85
+ "provided by Google LLC (\"Google\"). Google uses cookies. The information "
86
+ "generated by the cookie about the use of the online offer by the users are "
87
+ "usually transmitted to a Google server in the USA and stored there."
88
+ msgstr ""
89
+
90
+ #: Content/privacy_policy.php:4
91
+ msgid ""
92
+ "Google is certified under the Privacy Shield Agreement, which provides a "
93
+ "guarantee to comply with European privacy legislation (<a href=\"https://www."
94
+ "privacyshield.gov/participant?id=a2zt000000001L5AAI&status=Active\">https://"
95
+ "www.privacyshield.gov/participant?id=a2zt000000001L5AAI&status=Active</a>)."
96
+ msgstr ""
97
+
98
+ #: Content/privacy_policy.php:5
99
+ msgid ""
100
+ "Google will use this information on our behalf to evaluate the use of our "
101
+ "online offer by users to compile reports on the activities within this "
102
+ "online offer and to provide us with further services related to the use of "
103
+ "this online offer and the internet usage. In this case, pseudonymous usage "
104
+ "profiles of the users can be created from the processed data."
105
+ msgstr ""
106
+
107
+ #: Content/privacy_policy.php:6
108
+ msgid ""
109
+ "We only use Google Analytics with activated IP anonymization. This means "
110
+ "that the IP address of the users will be shortened by Google within member "
111
+ "states of the European Union or in other contracting states of the Agreement "
112
+ "on the European Economic Area. Only in exceptional cases will the full IP "
113
+ "address be sent to a Google server in the USA and shortened there."
114
+ msgstr ""
115
+
116
+ #: Content/privacy_policy.php:7
117
+ msgid ""
118
+ "The IP address submitted by the user's browser will not be merged with other "
119
+ "data provided by Google. Users can prevent the storage of cookies by setting "
120
+ "their browser software accordingly; Users may also prevent the collection by "
121
+ "Google of the data generated by the cookie and related to their use of the "
122
+ "online offer as well as the processing of this data by Google by downloading "
123
+ "and installing the browser plug-in available under the following link: <a "
124
+ "href=\"https://tools.google.com/dlpage/gaoptout?hl=en\">https://tools.google."
125
+ "com/dlpage/gaoptout?hl=en</a>."
126
+ msgstr ""
127
+
128
+ #: Content/privacy_policy.php:8
129
+ msgid ""
130
+ "For more information about Google's data usage, settings and opt-out "
131
+ "options, please visit Google's websites: <a href=\"https://www.google.com/"
132
+ "intl/en/policies/privacy/partners\">https://www.google.com/intl/en/policies/"
133
+ "privacy/partners</a> (\"Google's use of your data when you use websites or "
134
+ "apps of our partners\"), <a href=\"https://policies.google.com/technologies/"
135
+ "ads\">https://policies.google.com/technologies/ads</a> (\"Advertising use of "
136
+ "data\"), <a href=\"https://adssettings.google.com/authenticated\">https://"
137
+ "adssettings.google.com/authenticated</a> (\"Managing information Google uses "
138
+ "to show you ads\")."
139
+ msgstr ""
140
+
141
+ #: Content/privacy_policy.php:9
142
+ msgid ""
143
+ "Incidentally, the personal data will be anonymized or deleted after a lapse "
144
+ "of 26 months."
145
+ msgstr ""
146
+
147
+ #: Content/privacy_policy.php:11
148
+ msgid "Opt-out for Google Analytics"
149
+ msgstr ""
150
+
151
+ #: includes/mailchimp-form.php:11
152
+ msgid "Stay updated on this plugin"
153
+ msgstr ""
154
+
155
+ #: includes/mailchimp-form.php:13
156
+ msgid "Email Address"
157
+ msgstr ""
158
+
159
+ #: includes/mailchimp-form.php:17
160
+ msgid "First Name"
161
+ msgstr ""
162
+
163
+ #: includes/mailchimp-form.php:21
164
+ msgid "Last Name"
165
+ msgstr ""
166
+
167
+ #: includes/mailchimp-form.php:25
168
+ msgid "Permission"
169
+ msgstr ""
170
+
171
+ #: includes/mailchimp-form.php:26
172
+ msgid ""
173
+ "I agree to my personal data being stored, used for distribution and to "
174
+ "receive plugin news."
175
+ msgstr ""
176
+
177
+ #: includes/mailchimp-form.php:33
178
+ msgid "Subscribe"
179
+ msgstr ""
180
+
181
+ #. Plugin Name of the plugin/theme
182
+ msgid "Google Analytics by WebKinder"
183
+ msgstr ""
184
+
185
+ #. Plugin URI of the plugin/theme
186
+ msgid "https://wordpress.org/plugins/wk-google-analytics/"
187
+ msgstr ""
188
+
189
+ #. Description of the plugin/theme
190
+ msgid "Google Analytics for WordPress without tracking your own visits"
191
+ msgstr ""
192
+
193
+ #. Author of the plugin/theme
194
+ msgid "WebKinder"
195
+ msgstr ""
196
+
197
+ #. Author URI of the plugin/theme
198
+ msgid "https://www.webkinder.ch"
199
+ msgstr ""
phpcs.xml.dist ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <ruleset name="WordPress Coding Standards for Plugins">
3
+ <description>Generally-applicable sniffs for WordPress plugins</description>
4
+
5
+ <rule ref="WordPress-Core" />
6
+ <rule ref="WordPress-Docs" />
7
+
8
+ <!-- Check all PHP files in directory tree by default. -->
9
+ <arg name="extensions" value="php"/>
10
+ <file>.</file>
11
+
12
+ <!-- Show sniff codes in all reports -->
13
+ <arg value="s"/>
14
+
15
+ <exclude-pattern>*/node_modules/*</exclude-pattern>
16
+ <exclude-pattern>*/vendor/*</exclude-pattern>
17
+ </ruleset>
readme.txt CHANGED
@@ -2,7 +2,8 @@
2
  Contributors: webkinder
3
  Tags: google analytics, tracking code, analytics, anonymization, anonymize, anonymizeIp, cookie, Datenschutz, ga, gaoptout, google, googleanalytics, google tag manager, gtm, Datenschutz, datenschutzkonform, script, snippet
4
  Requires at least: 3.0
5
- Tested up to: 4.9
 
6
  Stable tag: 1.6.2
7
  License: GPLv2 or later
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
@@ -11,10 +12,7 @@ Google Analytics for WordPress without tracking your own visits.
11
 
12
  == Description ==
13
 
14
-
15
- Enable Google Analytics on all pages without tracking your own visits. You can exclude any logged in user as well as ignore a device completely by setting a cookie.
16
-
17
-
18
 
19
  New feature: You can now also use Google Tag Manager with this plugin.
20
 
@@ -35,6 +33,12 @@ If you have any questions or feature requests, feel free to contact us via suppo
35
 
36
  == Changelog ==
37
 
 
 
 
 
 
 
38
  = 1.6.2 =
39
  * Refactored settings page for cleaner settings fields
40
  * Added direct settings link from plugin overview screen
2
  Contributors: webkinder
3
  Tags: google analytics, tracking code, analytics, anonymization, anonymize, anonymizeIp, cookie, Datenschutz, ga, gaoptout, google, googleanalytics, google tag manager, gtm, Datenschutz, datenschutzkonform, script, snippet
4
  Requires at least: 3.0
5
+ Requires PHP: 5.3
6
+ Tested up to: 4.9.6
7
  Stable tag: 1.6.2
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
12
 
13
  == Description ==
14
 
15
+ Enable Google Analytics on all pages without tracking your own visits. You can exclude any logged in user as well as ignore a device completely by setting a cookie.
 
 
 
16
 
17
  New feature: You can now also use Google Tag Manager with this plugin.
18
 
33
 
34
  == Changelog ==
35
 
36
+ = 1.7.0 =
37
+ * The "Anonymize IPs" field is now checked by default.
38
+ * The Google Analytics tracking opt-out shortcode is automatically integrated on the new WordPress Privacy Policy page along with the Privacy Policy for the use of Google Analytics. This statement is currently available in English and German. You can use this shortcode on any page you wish, so your users can opt-out of Google Analytics tracking.
39
+ * Updated newsletter inside the setting pages
40
+ * Tested up to WordPress 4.9.6
41
+
42
  = 1.6.2 =
43
  * Refactored settings page for cleaner settings fields
44
  * Added direct settings link from plugin overview screen
wk-ga.php CHANGED
@@ -1,519 +1,23 @@
1
- <?php
2
- /*
3
- Plugin Name: Google Analytics by WebKinder
4
- Plugin URI: https://wordpress.org/plugins/wk-google-analytics/
5
- Description: Google Analytics for WordPress without tracking your own visits
6
- Version: 1.6.2
7
- Author: WebKinder
8
- Author URI: http://www.webkinder.ch
9
- License: GPL2
10
- License URI: https://www.gnu.org/licenses/gpl-2.0.html
11
- Domain Path: /lang
12
- Text Domain: wk-ga
13
- */
14
-
15
- class wk_ga {
16
- public function __construct() {
17
-
18
- //lifecycle hooks
19
- register_activation_hook( __FILE__, array( $this, 'activation' ) );
20
- register_deactivation_hook( __FILE__, array( $this, 'deactivation' ) );
21
-
22
- //i18n
23
- add_action('plugins_loaded', array( $this, 'load_textdomain') );
24
-
25
- //settings
26
- add_action( 'admin_init', array( $this, 'register_settings' ) );
27
- add_action( 'admin_menu', array( $this, 'settings_page' ) );
28
-
29
- //cookie handling
30
- add_action( 'admin_enqueue_scripts', array( $this, 'load_admin_scripts' ) );
31
-
32
- //cookie function
33
- add_action( 'wp_head', array( $this, 'render_script') );
34
-
35
- //Google Analytics script in <head>
36
- add_action( 'wp_head', array( $this, 'google_analytics_script') );
37
-
38
- //Google Tag Manager script in header
39
- add_action( 'wp_head', array( $this, 'google_tag_manager_script'));
40
-
41
- //Google Tag Manager noscript footer
42
- add_action( 'wp_footer', array( $this, 'google_tag_manager_noscript'));
43
-
44
- //additional links to admin plugin page
45
- add_filter( 'plugin_row_meta', array( $this, 'additional_admin_information_links' ), 10, 2);
46
- add_filter( 'plugin_action_links_' . plugin_basename( __FILE__ ), array( $this, 'additional_admin_action_links' ) );
47
-
48
- }
49
-
50
- /**
51
- * Adds custom links to wk-google-analytics on admin plugin screen on the RIGHT
52
- *
53
- * @since 1.6.2
54
- * @see https://codex.wordpress.org/Plugin_API/Filter_Reference/plugin_row_meta
55
- *
56
- */
57
- function additional_admin_information_links( $links, $file ) {
58
-
59
- $base = plugin_basename(__FILE__);
60
-
61
- if ($file == $base) {
62
- $links[] = '<a href="http://bit.ly/2jnKboN">' . __('Donate to this plugin', 'wk-ga') . '</a>';
63
- }
64
-
65
- return $links;
66
-
67
- }
68
-
69
- /**
70
- * Adds custom links to wk-google-analytics on admin plugin screen on the LEFT
71
- *
72
- * @since 1.6.2
73
- * @see https://codex.wordpress.org/Plugin_API/Filter_Reference/plugin_action_links_(plugin_file_name)
74
- *
75
- */
76
- function additional_admin_action_links( $links ) {
77
-
78
- return array_merge( array('settings' => '<a href="' . admin_url( '/options-general.php?page=google_analytics' ) . '">' . __( 'Settings', 'wk-ga' ) . '</a>'), $links );
79
-
80
- }
81
-
82
- /**
83
- * Returns whether the current request should be tracked or not
84
- *
85
- * @since 1.2
86
- * @return boolean
87
- *
88
- */
89
- function should_track_visit() {
90
- return ( !is_user_logged_in() || get_option('track_logged_in') );
91
- }
92
-
93
- /**
94
- * Returns if the cookie is present
95
- *
96
- * @since 1.2
97
- * @return boolean
98
- *
99
- */
100
- function render_script() {
101
- ?>
102
- <script>
103
- function hasWKGoogleAnalyticsCookie() {
104
- return (new RegExp('wp_wk_ga_untrack_' + document.location.hostname) ).test(document.cookie);
105
- }
106
- </script>
107
- <?php
108
- }
109
-
110
- /**
111
- * Outputs the Google Tag Manager script tag if necessary
112
- *
113
- * @since 1.2
114
- *
115
- */
116
- function google_tag_manager_script() {
117
- if( $this->should_track_visit() && get_option('ga_use_tag_manager') ) {
118
- $TAG_MANAGER_ID = get_option('ga_tag_manager_id');
119
- ?>
120
- <script>
121
- if( !hasWKGoogleAnalyticsCookie() ) {
122
- //Google Tag Manager
123
- (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
124
- new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
125
- j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
126
- '//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
127
- })(window,document,'script','dataLayer','<?php echo $TAG_MANAGER_ID; ?>');
128
- }
129
- </script>
130
- <?php
131
- }
132
- }
133
-
134
- /**
135
- * Outputs the Google Tag Manager noscript tag if necessary
136
- *
137
- * @since 1.6
138
- *
139
- */
140
- function google_tag_manager_noscript() {
141
- if( $this->should_track_visit() && get_option('ga_use_tag_manager') ) {
142
- $TAG_MANAGER_ID = get_option('ga_tag_manager_id');
143
- ?>
144
- <noscript><iframe src="//www.googletagmanager.com/ns.html?id=<?php echo $TAG_MANAGER_ID; ?>"
145
- height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
146
-
147
- <?php
148
- }
149
- }
150
-
151
- /**
152
- * Outputs the Google Analytics script if necessary
153
- *
154
- * @since 1.2
155
- * @see https://developers.google.com/analytics/devguides/collection/analyticsjs/ip-anonymization
156
- *
157
- */
158
- function google_analytics_script() {
159
- if( $this->should_track_visit() && ! get_option('ga_use_tag_manager') ) {
160
- $GA_TRACKING_CODE = get_option('ga_tracking_code');
161
- $ANONYMIZE_IP = get_option('ga_anonymize_ip');
162
- ?>
163
-
164
- <script>
165
- if( !hasWKGoogleAnalyticsCookie() ) {
166
- //Google Analytics
167
- (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
168
- (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
169
- m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
170
- })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
171
- ga('create', '<?php echo $GA_TRACKING_CODE; ?>', 'auto');
172
-
173
- <?php
174
- if( $ANONYMIZE_IP ) :
175
- ?>
176
- ga('set', 'anonymizeIp', true);
177
- <?php
178
- endif;
179
- ?>
180
-
181
- ga('send', 'pageview');
182
- }
183
- </script>
184
-
185
- <?php
186
- }
187
- }
188
-
189
- /**
190
- * Sets up the translations in /lang directory
191
- *
192
- * @since 1.0
193
- *
194
- */
195
- function load_textdomain() {
196
- load_plugin_textdomain( 'wk-ga', false, dirname( plugin_basename(__FILE__) ) . '/lang/' );
197
- }
198
-
199
- /**
200
- * Placeholder function for plugin activation
201
- *
202
- * @since 1.0
203
- *
204
- */
205
- function activation() {
206
-
207
- }
208
-
209
- /**
210
- * Placeholder function for plugin deactivation
211
- *
212
- * @since 1.0
213
- *
214
- */
215
- function deactivation() {
216
-
217
- }
218
-
219
- /**
220
- * Registers all the settings separately
221
- *
222
- * @since 1.0
223
- * @see https://codex.wordpress.org/Function_Reference/register_setting
224
- * @see https://codex.wordpress.org/Function_Reference/add_settings_section
225
- * @see https://codex.wordpress.org/Function_Reference/add_settings_field
226
- *
227
- */
228
- function register_settings() {
229
-
230
- add_settings_section(
231
- 'google_analytics',
232
- __('Google Analytics', 'wk-ga'),
233
- array( $this, 'settings_header'),
234
- 'google_analytics'
235
- );
236
-
237
- /**
238
- * @since 1.0
239
- */
240
- register_setting(
241
- 'wk_ga_google_analytics',
242
- 'ga_tracking_code'
243
- );
244
-
245
- add_settings_field(
246
- 'ga_tracking_code',
247
- __('GA Tracking Code', 'wk-ga'),
248
- array( $this, 'tracking_code_field' ),
249
- 'google_analytics',
250
- 'google_analytics'
251
- );
252
-
253
- /**
254
- * @since 1.0
255
- */
256
- register_setting(
257
- 'wk_ga_google_analytics',
258
- 'track_logged_in'
259
- );
260
-
261
- add_settings_field(
262
- 'ga_anonymize_ip',
263
- __('Anonymize IP"s', 'wk-ga'),
264
- array( $this, 'anonymize_ip_field' ),
265
- 'google_analytics',
266
- 'google_analytics'
267
- );
268
-
269
- /**
270
- * @since 1.1
271
- */
272
- register_setting(
273
- 'wk_ga_google_analytics',
274
- 'ga_anonymize_ip'
275
- );
276
-
277
- add_settings_field(
278
- 'track_logged_in',
279
- __('Track logged in users', 'wk-ga'),
280
- array( $this, 'track_logged_in_field' ),
281
- 'google_analytics',
282
- 'google_analytics'
283
- );
284
-
285
- /**
286
- * @since 1.2
287
- */
288
- register_setting(
289
- 'wk_ga_google_analytics',
290
- 'ga_use_tag_manager'
291
- );
292
-
293
- add_settings_field(
294
- 'ga_use_tag_manager',
295
- __('Use Google Tag Manager instead', 'wk-ga'),
296
- array( $this, 'use_tag_manager_field' ),
297
- 'google_analytics',
298
- 'google_analytics'
299
- );
300
-
301
- /**
302
- * @since 1.2
303
- */
304
- register_setting(
305
- 'wk_ga_google_analytics',
306
- 'ga_tag_manager_id'
307
- );
308
-
309
- add_settings_field(
310
- 'ga_tag_manager_id',
311
- __('Google Tag Manager ID', 'wk-ga'),
312
- array( $this, 'tag_manager_id_field' ),
313
- 'google_analytics',
314
- 'google_analytics'
315
- );
316
-
317
- }
318
-
319
- /**
320
- * Renders the header text for the settings page
321
- *
322
- * @since 1.6.2
323
- *
324
- */
325
- function settings_header() {
326
- ?>
327
-
328
- <p><?php _e('Enter your Google Analytics tracking code below. You can also use Google Tag Manager instead by checking the relevant setting.', 'wk-ga'); ?></p>
329
-
330
- <?php
331
- }
332
-
333
- /**
334
- * Renders text input for the Google Analytics tracking code
335
- *
336
- * @since 1.6.2
337
- *
338
- */
339
- function tracking_code_field() {
340
-
341
- $field = 'ga_tracking_code';
342
- $value = esc_attr( get_option( $field ) );
343
-
344
- ?>
345
-
346
- <input type="text" name="<?php echo $field; ?>" placeholder="UA-XXXXXXXX-X" value="<?php echo $value; ?>" />
347
-
348
- <?php
349
- }
350
-
351
- /**
352
- * Renders checkbox for the anonymize IP's option
353
- *
354
- * @since 1.6.2
355
- *
356
- */
357
- function anonymize_ip_field() {
358
-
359
- $field = 'ga_anonymize_ip';
360
- $value = get_option( $field );
361
-
362
- ?>
363
-
364
- <input type="checkbox" name="<?php echo $field; ?>" value="1" <?php checked( $value ); ?> />
365
-
366
- <?php
367
-
368
- }
369
-
370
- /**
371
- * Renders checkbox for the track logged in users option
372
- *
373
- * @since 1.6.2
374
- *
375
- */
376
- function track_logged_in_field() {
377
-
378
- $field = 'track_logged_in';
379
- $value = get_option( $field );
380
-
381
- ?>
382
-
383
- <input type="checkbox" name="<?php echo $field; ?>" value="1" <?php checked( $value ); ?> />
384
-
385
- <?php
386
-
387
- }
388
-
389
- /**
390
- * Renders checkbox for the use tag manager option
391
- *
392
- * @since 1.6.2
393
- *
394
- */
395
- function use_tag_manager_field() {
396
-
397
- $field = 'ga_use_tag_manager';
398
- $value = get_option( $field );
399
-
400
- ?>
401
-
402
- <input type="checkbox" name="<?php echo $field; ?>" value="1" <?php checked( $value ); ?> />
403
-
404
- <?php
405
-
406
- }
407
-
408
- /**
409
- * Renders text field for the Google Tag Manager ID
410
- *
411
- * @since 1.6.2
412
- *
413
- */
414
- function tag_manager_id_field() {
415
-
416
- $field = 'ga_tag_manager_id';
417
- $value = esc_attr( get_option( $field ) );
418
-
419
- ?>
420
-
421
- <input type="text" name="<?php echo $field; ?>" placeholder="GTM-XXXXXX" value="<?php echo $value; ?>" />
422
-
423
- <?php
424
-
425
- }
426
-
427
- /**
428
- * Loads all the admin scripts for settings page
429
- *
430
- * @since 1.0
431
- * @see https://codex.wordpress.org/Plugin_API/Action_Reference/admin_enqueue_scripts
432
- * @see https://github.com/js-cookie/js-cookie
433
- *
434
- */
435
- function load_admin_scripts( $hook ) {
436
- if( $hook != "settings_page_google_analytics" ) {
437
- return;
438
- }
439
-
440
- //admin styles
441
- wp_enqueue_style( 'custom-admin-styles', plugin_dir_url( __FILE__ ) . '/css/admin-styles.css' );
442
-
443
- //cookie library
444
- wp_enqueue_script( 'cookie-js', plugin_dir_url( __FILE__ ) . '/js/js.cookie.js' );
445
-
446
- //admin js for cookies
447
- wp_register_script( 'wk-ga-admin-js', plugin_dir_url( __FILE__ ) . '/js/admin-functions.js', array('jquery', 'cookie-js') );
448
-
449
- //translate JavaScript
450
- $translation_array = array(
451
- 'TrackText' => __('Do not track any visits from this device.','wk-ga')
452
- );
453
- wp_localize_script('wk-ga-admin-js', 'text_content', $translation_array );
454
- wp_enqueue_script('wk-ga-admin-js');
455
-
456
- }
457
-
458
- /**
459
- * Add an options page under 'Settings'
460
- *
461
- * @since 1.0
462
- * @see https://codex.wordpress.org/Function_Reference/add_options_page
463
- *
464
- */
465
- function settings_page() {
466
- add_options_page(
467
- 'Google Analytics',
468
- 'Google Analytics',
469
- 'manage_options',
470
- 'google_analytics',
471
- array( $this, "settings_content" )
472
- );
473
- }
474
-
475
- /**
476
- * Ouputs the markup for the options page
477
- *
478
- * @since 1.0
479
- *
480
- */
481
- function settings_content() {
482
-
483
- if ( ! isset( $_REQUEST['settings-updated'] ) )
484
- $_REQUEST['settings-updated'] = false;
485
- ?>
486
-
487
- <div class="wrap">
488
- <h2><?php echo esc_html( get_admin_page_title() ); ?></h2>
489
-
490
- <?php if ( false !== $_REQUEST['settings-updated'] ) : ?>
491
- <div class="updated fade">
492
- <p>
493
- <strong><a target="_blank" href="https://support.google.com/analytics/answer/1008083"><?php _e( 'Test your tracking code now!', 'wk-ga' ); ?></a></strong>
494
- </p>
495
- </div>
496
- <?php endif; ?>
497
-
498
- <div class="wk-left-part">
499
- <form id="wk-google-analytics-settings" method="post" action="options.php">
500
- <?php settings_fields( 'wk_ga_google_analytics' ); ?>
501
- <?php do_settings_sections('google_analytics'); ?>
502
- <div id="track-device"></div>
503
- <?php submit_button(); ?>
504
- </form>
505
- </div>
506
- <div class="wk-right-part">
507
- <?php include_once( __DIR__ . "/includes/mailchimp-form.php" ); ?>
508
- </div>
509
- </div>
510
-
511
- <?php
512
-
513
- }
514
-
515
- }
516
-
517
- $wk_ga = new wk_ga();
518
-
519
- ?>
1
+ <?php
2
+ /*
3
+ Plugin Name: Google Analytics by WebKinder
4
+ Plugin URI: https://wordpress.org/plugins/wk-google-analytics/
5
+ Description: Google Analytics for WordPress without tracking your own visits
6
+ Version: 1.7.0
7
+ Author: WebKinder
8
+ Author URI: https://www.webkinder.ch
9
+ License: GPL2
10
+ License URI: https://www.gnu.org/licenses/gpl-2.0.html
11
+ Domain Path: /languages
12
+ Text Domain: wk-google-analytics
13
+ */
14
+
15
+
16
+ define('WK_GOOGLE_ANALYTICS_DIR', dirname(__FILE__));
17
+
18
+ include_once 'Classes/PluginFactory.php';
19
+
20
+ // If EnvironmentChecks fails dont run
21
+ if (WebKinder\GoogleAnalytics\PluginFactory::create() !== null) {
22
+ WebKinder\GoogleAnalytics\PluginFactory::create()->run();
23
+ }