Cookie Notice by dFactory - Version 2.4.3

Version Description

  • Fix: Deprecated preg_replace() notice in PHP 8.1
Download this release

Release Info

Developer dfactory
Plugin Icon 128x128 Cookie Notice by dFactory
Version 2.4.3
Comparing to
See all releases

Code changes from version 2.4.2 to 2.4.3

cookie-notice.php CHANGED
@@ -2,7 +2,7 @@
2
  /*
3
  Plugin Name: Cookie Notice & Compliance for GDPR / CCPA
4
  Description: Cookie Notice allows you to you elegantly inform users that your site uses cookies and helps you comply with GDPR, CCPA and other data privacy laws.
5
- Version: 2.4.2
6
  Author: Hu-manity.co
7
  Author URI: https://hu-manity.co/
8
  Plugin URI: https://cookie-compliance.co/
@@ -29,11 +29,12 @@ if ( ! defined( 'ABSPATH' ) )
29
  * Cookie Notice class.
30
  *
31
  * @class Cookie_Notice
32
- * @version 2.4.2
33
  */
34
  class Cookie_Notice {
35
 
36
  private $status = '';
 
37
  private $x_api_key = 'hudft60djisdusdjwek';
38
  private $app_host_url = 'https://app.hu-manity.co';
39
  private $app_login_url = 'https://app.hu-manity.co/#/en/cc2/login';
@@ -105,7 +106,11 @@ class Cookie_Notice {
105
  'update_delay_date' => 0,
106
  'update_threshold_date' => 0
107
  ],
108
- 'version' => '2.4.2'
 
 
 
 
109
  ];
110
 
111
  /**
@@ -223,43 +228,76 @@ class Cookie_Notice {
223
  }
224
 
225
  /**
226
- * Set plugin status.
227
  *
228
  * @return void
229
  */
230
  public function set_status() {
 
 
231
  if ( is_multisite() ) {
232
  if ( $this->is_plugin_network_active() ) {
233
  // network
234
  if ( $this->is_network_admin() ) {
235
- if ( $this->network_options['global_override'] )
236
- $status = get_site_option( 'cookie_notice_status', '' );
237
- else
238
- $status = '';
 
239
  // site
240
  } else {
241
- if ( $this->network_options['global_override'] )
242
- $status = get_site_option( 'cookie_notice_status', '' );
243
- else
244
- $status = get_option( 'cookie_notice_status', '' );
 
 
 
245
  }
246
  } else {
247
  // network
248
  if ( $this->is_network_admin() )
249
- $status = '';
250
  // site
251
- else
252
- $status = get_option( 'cookie_notice_status', '' );
 
 
253
  }
254
- } else
255
- $status = get_option( 'cookie_notice_status', '' );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
256
 
257
  // set status
258
- $this->status = $this->check_status( $status );
 
 
 
259
  }
260
 
261
  /**
262
- * Get plugin status.
263
  *
264
  * @return string
265
  */
@@ -268,7 +306,7 @@ class Cookie_Notice {
268
  }
269
 
270
  /**
271
- * Check plugin status.
272
  *
273
  * @param string $status
274
  * @return string
@@ -277,6 +315,15 @@ class Cookie_Notice {
277
  return ! empty( $status ) && in_array( $status, [ 'active', 'pending' ], true ) ? $status : '';
278
  }
279
 
 
 
 
 
 
 
 
 
 
280
  /**
281
  * Get endpoint URL.
282
  *
@@ -385,7 +432,7 @@ class Cookie_Notice {
385
  if ( $networkwide ) {
386
  // add network options
387
  add_site_option( 'cookie_notice_options', $this->defaults['general'] );
388
- add_site_option( 'cookie_notice_status', '' );
389
  add_site_option( 'cookie_notice_version', $this->defaults['version'] );
390
 
391
  global $wpdb;
@@ -418,7 +465,7 @@ class Cookie_Notice {
418
  public function activate_site() {
419
  // add default options
420
  add_option( 'cookie_notice_options', $this->defaults['general'], '', false );
421
- add_option( 'cookie_notice_status', '', '', false );
422
  add_option( 'cookie_notice_version', $this->defaults['version'], '', false );
423
  }
424
 
2
  /*
3
  Plugin Name: Cookie Notice & Compliance for GDPR / CCPA
4
  Description: Cookie Notice allows you to you elegantly inform users that your site uses cookies and helps you comply with GDPR, CCPA and other data privacy laws.
5
+ Version: 2.4.3
6
  Author: Hu-manity.co
7
  Author URI: https://hu-manity.co/
8
  Plugin URI: https://cookie-compliance.co/
29
  * Cookie Notice class.
30
  *
31
  * @class Cookie_Notice
32
+ * @version 2.4.3
33
  */
34
  class Cookie_Notice {
35
 
36
  private $status = '';
37
+ private $subscription = '';
38
  private $x_api_key = 'hudft60djisdusdjwek';
39
  private $app_host_url = 'https://app.hu-manity.co';
40
  private $app_login_url = 'https://app.hu-manity.co/#/en/cc2/login';
106
  'update_delay_date' => 0,
107
  'update_threshold_date' => 0
108
  ],
109
+ 'data' => [
110
+ 'status' => '',
111
+ 'subscription' => 'basic'
112
+ ],
113
+ 'version' => '2.4.3'
114
  ];
115
 
116
  /**
228
  }
229
 
230
  /**
231
+ * Set cookie compliance status.
232
  *
233
  * @return void
234
  */
235
  public function set_status() {
236
+ $default_data = $this->defaults['data'];
237
+
238
  if ( is_multisite() ) {
239
  if ( $this->is_plugin_network_active() ) {
240
  // network
241
  if ( $this->is_network_admin() ) {
242
+ if ( $this->network_options['global_override'] ) {
243
+ $data = get_site_option( 'cookie_notice_status', [] );
244
+ $type = 'network';
245
+ } else
246
+ $data = $default_data;
247
  // site
248
  } else {
249
+ if ( $this->network_options['global_override'] ) {
250
+ $data = get_site_option( 'cookie_notice_status', [] );
251
+ $type = 'network';
252
+ } else {
253
+ $data = get_option( 'cookie_notice_status', [] );
254
+ $type = 'single';
255
+ }
256
  }
257
  } else {
258
  // network
259
  if ( $this->is_network_admin() )
260
+ $data = $default_data;
261
  // site
262
+ else {
263
+ $data = get_option( 'cookie_notice_status', [] );
264
+ $type = 'single';
265
+ }
266
  }
267
+ } else {
268
+ $data = get_option( 'cookie_notice_status', [] );
269
+ $type = 'single';
270
+ }
271
+
272
+ // old status format?
273
+ if ( isset( $type ) && ! is_array( $data ) ) {
274
+ // old value saved as string
275
+ if ( is_string( $data ) && $this->check_status( $data ) ) {
276
+ // update status
277
+ $default_data['status'] = $data;
278
+
279
+ if ( $default_data['status'] === 'active' )
280
+ $default_data['subscription'] = 'pro';
281
+ }
282
+
283
+ // set data
284
+ $data = $default_data;
285
+
286
+ if ( $type === 'single' )
287
+ update_option( 'cookie_notice_status', $data );
288
+ else
289
+ update_site_option( 'cookie_notice_status', $data );
290
+ }
291
 
292
  // set status
293
+ $this->status = $this->check_status( $data['status'] );
294
+
295
+ // set subscription
296
+ $this->subscription = $data['subscription'];
297
  }
298
 
299
  /**
300
+ * Get cookie compliance status.
301
  *
302
  * @return string
303
  */
306
  }
307
 
308
  /**
309
+ * Check cookie compliance status.
310
  *
311
  * @param string $status
312
  * @return string
315
  return ! empty( $status ) && in_array( $status, [ 'active', 'pending' ], true ) ? $status : '';
316
  }
317
 
318
+ /**
319
+ * Get cookie compliance subscription.
320
+ *
321
+ * @return string
322
+ */
323
+ public function get_subscription() {
324
+ return $this->subscription;
325
+ }
326
+
327
  /**
328
  * Get endpoint URL.
329
  *
432
  if ( $networkwide ) {
433
  // add network options
434
  add_site_option( 'cookie_notice_options', $this->defaults['general'] );
435
+ add_site_option( 'cookie_notice_status', $this->defaults['data'] );
436
  add_site_option( 'cookie_notice_version', $this->defaults['version'] );
437
 
438
  global $wpdb;
465
  public function activate_site() {
466
  // add default options
467
  add_option( 'cookie_notice_options', $this->defaults['general'], '', false );
468
+ add_option( 'cookie_notice_status', $this->defaults['data'], '', false );
469
  add_option( 'cookie_notice_version', $this->defaults['version'], '', false );
470
  }
471
 
css/admin-welcome.css CHANGED
@@ -557,21 +557,14 @@
557
  background-color: rgba(32,193,158,0.05);
558
  }
559
 
560
- .cn-welcome-wrap .cn-pricing-table input#cn-pricing-plan-pro + .cn-pricing-info .cn-pricing-body p:last-child b,
561
- .cn-welcome-wrap .cn-pricing-table input#cn-pricing-plan-pro + .cn-pricing-info .cn-pricing-body p:last-child .cn-icon,
562
- .cn-welcome-wrap .cn-pricing-table input#cn-pricing-plan-pro + .cn-pricing-info .cn-pricing-body p:last-child .cn-icon:after {
563
- color: #FF9E0D;
564
- border-color: #FF9E0D;
565
- }
566
-
567
  .cn-welcome-wrap .cn-pricing-table input#cn-pricing-plan-pro + .cn-pricing-info .cn-plan-promo {
568
  color: #fff;
569
- background: #FF9E0D;
570
  position: absolute;
571
  left: 50%;
572
  top: 0;
573
  font-weight: bold;
574
- font-size: 14px;
575
  line-height: 1.1em;
576
  text-transform: uppercase;
577
  display: inline-block;
@@ -614,6 +607,17 @@
614
 
615
  .cn-welcome-wrap .cn-pricing-table .cn-plan-price sup {
616
  font-weight: normal;
 
 
 
 
 
 
 
 
 
 
 
617
  }
618
 
619
  .cn-welcome-wrap .cn-select-wrapper select {
@@ -621,7 +625,7 @@
621
  border: 1px solid #ccc;
622
  color: #191e23;
623
  border-radius: 25px;
624
- padding: 5px 10px;
625
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
626
  background-repeat: no-repeat;
627
  background-position: right 10px center;
@@ -741,6 +745,19 @@
741
  padding: 0;
742
  }
743
 
 
 
 
 
 
 
 
 
 
 
 
 
 
744
  .cn-top-bar {
745
  display: flex;
746
  justify-content: space-between;
557
  background-color: rgba(32,193,158,0.05);
558
  }
559
 
 
 
 
 
 
 
 
560
  .cn-welcome-wrap .cn-pricing-table input#cn-pricing-plan-pro + .cn-pricing-info .cn-plan-promo {
561
  color: #fff;
562
+ background: #ffc107;
563
  position: absolute;
564
  left: 50%;
565
  top: 0;
566
  font-weight: bold;
567
+ font-size: 13px;
568
  line-height: 1.1em;
569
  text-transform: uppercase;
570
  display: inline-block;
607
 
608
  .cn-welcome-wrap .cn-pricing-table .cn-plan-price sup {
609
  font-weight: normal;
610
+ font-size: 0.5em;
611
+ color: #515151;
612
+ vertical-align: top;
613
+ }
614
+
615
+ .cn-welcome-wrap .cn-pricing-table .cn-plan-price sub {
616
+ font-weight: normal;
617
+ font-size: 0.5em;
618
+ color: #515151;
619
+ text-transform: none;
620
+ vertical-align: bottom;
621
  }
622
 
623
  .cn-welcome-wrap .cn-select-wrapper select {
625
  border: 1px solid #ccc;
626
  color: #191e23;
627
  border-radius: 25px;
628
+ padding: 7.5px 35px 7.5px 20px;
629
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
630
  background-repeat: no-repeat;
631
  background-position: right 10px center;
745
  padding: 0;
746
  }
747
 
748
+ .cn-btn.cn-btn-secondary {
749
+ background-color:#ffc107;
750
+ border-color:#ffc107;
751
+ color:#3c434a
752
+ }
753
+
754
+ .cn-btn.cn-btn-secondary:active,
755
+ .cn-btn.cn-btn-secondary:focus,
756
+ .cn-btn.cn-btn-secondary:hover {
757
+ background-color:#ffca2c;
758
+ border-color:#ffca2c
759
+ }
760
+
761
  .cn-top-bar {
762
  display: flex;
763
  justify-content: space-between;
css/admin.css CHANGED
@@ -5,7 +5,7 @@
5
  position:relative
6
  }
7
  .cookie-notice-sidebar .inner {
8
- padding:1.33em
9
  }
10
  .cookie-notice-sidebar>div:not(:last-child) {
11
  margin-bottom:3em
@@ -35,9 +35,24 @@
35
  .button.cn-button:focus {
36
  box-shadow:0 0 0 1px #fff,0 0 0 3px #20c19e
37
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
38
  .cookie-notice-settings .cookie-notice-credits h2 {
39
  border:none;
40
- padding-bottom:0
 
41
  }
42
  .cookie-notice-credits h3 {
43
  font-size:14px;
@@ -109,48 +124,25 @@ form.cn-options-submit-disabled .submit {
109
  margin-top:10px
110
  }
111
  .cn_compliance_status {
112
- margin-right:15px
113
- }
114
- #cn_app_status .cn_compliance_status label {
115
- margin-left:5px!important
116
  }
117
  #cn_app_status {
118
  margin-bottom:30px
119
  }
120
- #cn_app_status label {
121
  text-transform:uppercase;
122
  font-weight:700;
123
  position:relative;
124
- color:#999
125
  }
126
- #cn_app_status label.cn-active {
127
  color:#1ca98a
128
  }
129
- #cn_app_status label.cn-active:before {
130
- background-color:#1ca98a;
131
- box-shadow:0 0 0 2px #1ca98a
132
- }
133
- #cn_app_status label.cn-inactive {
134
  color:red
135
  }
136
- #cn_app_status label.cn-inactive:before {
137
- background-color:red;
138
- box-shadow:0 0 0 2px red
139
- }
140
- #cn_app_status label:before {
141
- background-color:#999;
142
- width:10px;
143
- height:10px;
144
- border-radius:10px;
145
- content:'';
146
- display:inline-block;
147
- vertical-align:middle;
148
- margin-right:10px;
149
- box-shadow:0 0 0 2px #999;
150
- border:2px solid #fff;
151
- position:relative;
152
- top:-2px
153
- }
154
  #cn_colors_bar_opacity_range {
155
  vertical-align:middle;
156
  margin-right:10px
@@ -216,4 +208,104 @@ form.cn-options-submit-disabled .submit {
216
  .cookie-notice-settings {
217
  margin-right:0
218
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
219
  }
5
  position:relative
6
  }
7
  .cookie-notice-sidebar .inner {
8
+ padding:2em
9
  }
10
  .cookie-notice-sidebar>div:not(:last-child) {
11
  margin-bottom:3em
35
  .button.cn-button:focus {
36
  box-shadow:0 0 0 1px #fff,0 0 0 3px #20c19e
37
  }
38
+ .button.button-secondary.cn-button {
39
+ background-color:#ffc107;
40
+ border-color:#ffc107;
41
+ color:#3c434a
42
+ }
43
+ .button.button-secondary.cn-button:active,
44
+ .button.button-secondary.cn-button:focus,
45
+ .button.button-secondary.cn-button:hover {
46
+ background-color:#ffca2c;
47
+ border-color:#ffca2c
48
+ }
49
+ .button.button-secondary.cn-button:focus {
50
+ box-shadow:0 0 0 1px #fff,0 0 0 3px #ffc107
51
+ }
52
  .cookie-notice-settings .cookie-notice-credits h2 {
53
  border:none;
54
+ padding-bottom:0;
55
+ margin-top: 0;
56
  }
57
  .cookie-notice-credits h3 {
58
  font-size:14px;
124
  margin-top:10px
125
  }
126
  .cn_compliance_status {
127
+ margin-right:20px;
128
+ font-weight:700;
129
+ display:inline-block;
 
130
  }
131
  #cn_app_status {
132
  margin-bottom:30px
133
  }
134
+ #cn_app_status .cn-status {
135
  text-transform:uppercase;
136
  font-weight:700;
137
  position:relative;
138
+ color:#999;
139
  }
140
+ #cn_app_status .cn-status.cn-active {
141
  color:#1ca98a
142
  }
143
+ #cn_app_status .cn-status.cn-inactive {
 
 
 
 
144
  color:red
145
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
146
  #cn_colors_bar_opacity_range {
147
  vertical-align:middle;
148
  margin-right:10px
208
  .cookie-notice-settings {
209
  margin-right:0
210
  }
211
+ }
212
+
213
+ .cn-pricing-info .cn-pricing-head h2 {
214
+ font-size: 23px;
215
+ font-weight: normal;
216
+ margin: 1em 0;
217
+ }
218
+
219
+ .cn-pricing-info .cn-pricing-body {
220
+ padding-bottom: 0;
221
+ font-size: 14px;
222
+ text-align: left;
223
+ margin: 2em 0;
224
+ }
225
+
226
+ .cn-pricing-info .cn-pricing-footer {
227
+ margin: 1em 0;
228
+ }
229
+
230
+ .cn-pricing-info div.cn-pricing-body p {
231
+ padding-left: 30px;
232
+ margin: 0.75em 0;
233
+ }
234
+
235
+ .cn-pricing-info div.cn-pricing-body .cn-icon {
236
+ position: absolute;
237
+ top: 0;
238
+ left: 0;
239
+ }
240
+
241
+ .cn-active,
242
+ .cn-inactive,
243
+ .cn-pending {
244
+ position: relative;
245
+ }
246
+
247
+ .cn-active .cn-icon,
248
+ .cn-inactive .cn-icon,
249
+ .cn-pending .cn-icon {
250
+ box-sizing: border-box;
251
+ position: relative;
252
+ left: 0;
253
+ top: 5px;
254
+ display: inline-block;
255
+ transform: scale(1);
256
+ width: 22px;
257
+ height: 22px;
258
+ border: 2px solid;
259
+ border-radius: 44px;
260
+ }
261
+
262
+ .cn-active .cn-icon {
263
+ color: #20C19E;
264
+ }
265
+
266
+ .cn-active .cn-icon::after {
267
+ border-color: #20C19E;
268
+ }
269
+
270
+ .cn-pending .cn-icon::after {
271
+ border-color: #999;
272
+ }
273
+
274
+ .cn-active .cn-icon::after,
275
+ .cn-pending .cn-icon::after {
276
+ content: "";
277
+ display: block;
278
+ box-sizing: border-box;
279
+ position: absolute;
280
+ left: 3px;
281
+ top: -1px;
282
+ width: 6px;
283
+ height: 10px;
284
+ border-width: 0 2px 2px 0;
285
+ border-style: solid;
286
+ transform-origin: bottom left;
287
+ transform: rotate(45deg);
288
+ }
289
+
290
+ .cn-inactive .cn-icon {
291
+ color: #FF0000;
292
+ }
293
+
294
+ .cn-inactive .cn-icon::after,
295
+ .cn-inactive .cn-icon::before {
296
+ content: "";
297
+ display: block;
298
+ box-sizing: border-box;
299
+ position: absolute;
300
+ width: 12px;
301
+ height: 2px;
302
+ background: #FF0000;
303
+ transform: rotate(45deg);
304
+ border-radius: 5px;
305
+ top: 8px;
306
+ left: 3px;
307
+ }
308
+
309
+ .cn-inactive .cn-icon::after {
310
+ transform: rotate(-45deg);
311
  }
css/admin.min.css CHANGED
@@ -1 +1 @@
1
- .cookie-notice-sidebar{float:right;width:280px;margin:20px -300px 20px 20px;position:relative}.cookie-notice-sidebar .inner{padding:1.33em}.cookie-notice-sidebar>div:not(:last-child){margin-bottom:3em}.cookie-notice-sidebar .inner img{max-width:80%;height:auto;display:block;margin:20px auto}.cookie-notice-credits{background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.05)}.cookie-notice-credits .inner{text-align:center;margin:0}.button.cn-button{background-color:#20c19e;border-color:#20c19e}.button.cn-button:active,.button.cn-button:focus,.button.cn-button:hover{background-color:#1ca98a;border-color:#1ca98a}.button.cn-button:focus{box-shadow:0 0 0 1px #fff,0 0 0 3px #20c19e}.cookie-notice-settings .cookie-notice-credits h2{border:none;padding-bottom:0}.cookie-notice-credits h3{font-size:14px;line-height:1.4;margin:0;padding:.66em 1.33em;border-bottom:1px solid #eee}.cookie-notice-settings .df-credits form{min-width:260px;margin-bottom:1em}.cookie-notice-settings .df-credits form input{margin:0;padding:0}.cookie-notice-settings{margin-right:300px}.cookie-notice-settings hr,.df-credits hr{border:solid #eee;border-width:1px 0 0;clear:both;height:0}.cookie-notice-settings form{float:left;min-width:463px;width:100%}.cookie-notice-settings form.cn-options-disabled h2:not(:first-of-type),.cookie-notice-settings form.cn-options-disabled table:not(:first-of-type),form.cn-options-submit-disabled .submit{opacity:.5;pointer-events:none}.cookie-notice-settings form h2{margin:1.5em 0;padding-bottom:1em;border-bottom:1px solid #ccc}.cookie-notice-settings .ui-button{margin-bottom:5px}.cookie-notice-settings .description{font-size:13px;margin-bottom:8px}.cookie-notice-settings .description strong{color:#444}#cn_colors label{min-width:10em;display:inline-block}#cn_colors div{vertical-align:middle}#cn_refuse_code .nav-tab-wrapper{padding-top:0}#cn_refuse_code .refuse-code-tab{display:none}#cn_refuse_code .refuse-code-tab.active{display:block}#cn_refuse_code .refuse-code-tab .description{margin-top:10px}.cn_compliance_status{margin-right:15px}#cn_app_status .cn_compliance_status label{margin-left:5px!important}#cn_app_status{margin-bottom:30px}#cn_app_status label{text-transform:uppercase;font-weight:700;position:relative;color:#999}#cn_app_status label.cn-active{color:#1ca98a}#cn_app_status label.cn-active:before{background-color:#1ca98a;box-shadow:0 0 0 2px #1ca98a}#cn_app_status label.cn-inactive{color:red}#cn_app_status label.cn-inactive:before{background-color:red;box-shadow:0 0 0 2px red}#cn_app_status label:before{background-color:#999;width:10px;height:10px;border-radius:10px;content:'';display:inline-block;vertical-align:middle;margin-right:10px;box-shadow:0 0 0 2px #999;border:2px solid #fff;position:relative;top:-2px}#cn_colors_bar_opacity_range{vertical-align:middle;margin-right:10px}.cn-toggle-container .cn-toggle-item{font-size:14px;display:block;margin-bottom:20px;cursor:default}.cn-toggle-container .cn-toggle-item input{display:none}.cn-toggle-container .cn-toggle-item span{display:block}.cn-toggle-container .cn-toggle-item .cn-toggle-heading{color:#2271b1;transition-property:border,background,color;transition-duration:.05s;transition-timing-function:ease-in-out;text-decoration:underline;font-weight:600;cursor:pointer;position:relative;padding-left:20px}.cn-toggle-container .cn-toggle-item .cn-toggle-heading:before{border-style:solid;border-width:2px 2px 0 0;content:'';display:inline-block;height:6px;width:6px;position:relative;top:5px;left:0;vertical-align:top;transform:rotate(45deg);transition:transform 0.2s;position:absolute}.cn-toggle-container .cn-toggle-item .cn-toggle-body{overflow:hidden;transition:max-height .3s;max-height:0;margin-top:10px;cursor:default;padding-left:20px}.cn-toggle-container .cn-toggle-item input:checked~.cn-toggle-heading:before{transform:rotate(135deg)}.cn-toggle-container .cn-toggle-item input:checked~.cn-toggle-body{max-height:100vh}@media only screen and (max-width:959px){.cookie-notice-sidebar{width:100%;float:none;margin:20px 0}.cookie-notice-settings{margin-right:0}}
1
+ .cookie-notice-sidebar{float:right;width:280px;margin:20px -300px 20px 20px;position:relative}.cookie-notice-sidebar .inner{padding:2em}.cookie-notice-sidebar>div:not(:last-child){margin-bottom:3em}.cookie-notice-sidebar .inner img{max-width:80%;height:auto;display:block;margin:20px auto}.cookie-notice-credits{background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.05)}.cookie-notice-credits .inner{text-align:center;margin:0}.button.cn-button{background-color:#20c19e;border-color:#20c19e}.button.cn-button:active,.button.cn-button:focus,.button.cn-button:hover{background-color:#1ca98a;border-color:#1ca98a}.button.cn-button:focus{box-shadow:0 0 0 1px #fff,0 0 0 3px #20c19e}.button.button-secondary.cn-button{background-color:#ffc107;border-color:#ffc107;color:#3c434a}.button.button-secondary.cn-button:active,.button.button-secondary.cn-button:focus,.button.button-secondary.cn-button:hover{background-color:#ffca2c;border-color:#ffca2c}.button.button-secondary.cn-button:focus{box-shadow:0 0 0 1px #fff,0 0 0 3px #ffc107}.cookie-notice-settings .cookie-notice-credits h2{border:none;padding-bottom:0;margin-top:0}.cookie-notice-credits h3{font-size:14px;line-height:1.4;margin:0;padding:.66em 1.33em;border-bottom:1px solid #eee}.cookie-notice-settings .df-credits form{min-width:260px;margin-bottom:1em}.cookie-notice-settings .df-credits form input{margin:0;padding:0}.cookie-notice-settings{margin-right:300px}.cookie-notice-settings hr,.df-credits hr{border:solid #eee;border-width:1px 0 0;clear:both;height:0}.cookie-notice-settings form{float:left;min-width:463px;width:100%}.cookie-notice-settings form.cn-options-disabled h2:not(:first-of-type),.cookie-notice-settings form.cn-options-disabled table:not(:first-of-type),form.cn-options-submit-disabled .submit{opacity:.5;pointer-events:none}.cookie-notice-settings form h2{margin:1.5em 0;padding-bottom:1em;border-bottom:1px solid #ccc}.cookie-notice-settings .ui-button{margin-bottom:5px}.cookie-notice-settings .description{font-size:13px;margin-bottom:8px}.cookie-notice-settings .description strong{color:#444}#cn_colors label{min-width:10em;display:inline-block}#cn_colors div{vertical-align:middle}#cn_refuse_code .nav-tab-wrapper{padding-top:0}#cn_refuse_code .refuse-code-tab{display:none}#cn_refuse_code .refuse-code-tab.active{display:block}#cn_refuse_code .refuse-code-tab .description{margin-top:10px}.cn_compliance_status{margin-right:20px;font-weight:700;display:inline-block}#cn_app_status{margin-bottom:30px}#cn_app_status .cn-status{text-transform:uppercase;font-weight:700;position:relative;color:#999}#cn_app_status .cn-status.cn-active{color:#1ca98a}#cn_app_status .cn-status.cn-inactive{color:red}#cn_colors_bar_opacity_range{vertical-align:middle;margin-right:10px}.cn-toggle-container .cn-toggle-item{font-size:14px;display:block;margin-bottom:20px;cursor:default}.cn-toggle-container .cn-toggle-item input{display:none}.cn-toggle-container .cn-toggle-item span{display:block}.cn-toggle-container .cn-toggle-item .cn-toggle-heading{color:#2271b1;transition-property:border,background,color;transition-duration:.05s;transition-timing-function:ease-in-out;text-decoration:underline;font-weight:600;cursor:pointer;position:relative;padding-left:20px}.cn-toggle-container .cn-toggle-item .cn-toggle-heading:before{border-style:solid;border-width:2px 2px 0 0;content:'';display:inline-block;height:6px;width:6px;position:relative;top:5px;left:0;vertical-align:top;transform:rotate(45deg);transition:transform 0.2s;position:absolute}.cn-toggle-container .cn-toggle-item .cn-toggle-body{overflow:hidden;transition:max-height .3s;max-height:0;margin-top:10px;cursor:default;padding-left:20px}.cn-toggle-container .cn-toggle-item input:checked~.cn-toggle-heading:before{transform:rotate(135deg)}.cn-toggle-container .cn-toggle-item input:checked~.cn-toggle-body{max-height:100vh}@media only screen and (max-width:959px){.cookie-notice-sidebar{width:100%;float:none;margin:20px 0}.cookie-notice-settings{margin-right:0}}.cn-pricing-info .cn-pricing-head h2{font-size:23px;font-weight:400;margin:1em 0}.cn-pricing-info .cn-pricing-body{padding-bottom:0;font-size:14px;text-align:left;margin:2em 0}.cn-pricing-info .cn-pricing-footer{margin:1em 0}.cn-pricing-info div.cn-pricing-body p{padding-left:30px;margin:.75em 0}.cn-pricing-info div.cn-pricing-body .cn-icon{position:absolute;top:0;left:0}.cn-active,.cn-inactive,.cn-pending{position:relative}.cn-active .cn-icon,.cn-inactive .cn-icon,.cn-pending .cn-icon{box-sizing:border-box;position:relative;left:0;top:5px;display:inline-block;transform:scale(1);width:22px;height:22px;border:2px solid;border-radius:44px}.cn-active .cn-icon{color:#20C19E}.cn-active .cn-icon::after{border-color:#20C19E}.cn-pending .cn-icon::after{border-color:#999}.cn-active .cn-icon::after,.cn-pending .cn-icon::after{content:"";display:block;box-sizing:border-box;position:absolute;left:3px;top:-1px;width:6px;height:10px;border-width:0 2px 2px 0;border-style:solid;transform-origin:bottom left;transform:rotate(45deg)}.cn-inactive .cn-icon{color:red}.cn-inactive .cn-icon::after,.cn-inactive .cn-icon::before{content:"";display:block;box-sizing:border-box;position:absolute;width:12px;height:2px;background:red;transform:rotate(45deg);border-radius:5px;top:8px;left:3px}.cn-inactive .cn-icon::after{transform:rotate(-45deg)}
includes/bot-detect.php CHANGED
@@ -86,11 +86,12 @@ class Cookie_Notice_Bot_Detect {
86
  */
87
  public function set_http_headers( $http_headers = null ) {
88
  // use global _SERVER if $http_headers aren't defined
89
- if ( ! is_array( $http_headers ) || ! count( $http_headers ) ) {
90
  $http_headers = $_SERVER;
91
- }
92
  // clear existing headers
93
  $this->http_headers = array();
 
94
  // only save HTTP headers - in PHP land, that means only _SERVER vars that start with HTTP_.
95
  foreach ( $http_headers as $key => $value ) {
96
  if ( substr( $key, 0, 5 ) === 'HTTP_' ) {
@@ -162,16 +163,17 @@ class Cookie_Notice_Bot_Detect {
162
  * @return bool
163
  */
164
  public function is_crawler( $user_agent = null ) {
165
- $agent = is_null( $user_agent ) ? $this->user_agent : $user_agent;
166
  $agent = preg_replace( '/' . $this->get_exclusions() . '/i', '', $agent );
167
- if ( strlen( trim( $agent ) ) == 0 ) {
 
168
  return false;
169
- } else {
170
  $result = preg_match( '/' . $this->get_regex() . '/i', trim( $agent ), $matches );
171
- }
172
- if ( $matches ) {
173
  $this->matches = $matches;
174
- }
175
  return (bool) $result;
176
  }
177
 
@@ -191,224 +193,455 @@ class Cookie_Notice_Bot_Detect {
191
  */
192
  protected function get_crawlers_list() {
193
  $data = array(
194
- '.*Java.*outbrain',
195
- '008\/',
196
- '192.comAgent',
197
- '2ip\.ru',
198
- '404checker',
199
  '^bluefish ',
 
 
 
 
 
 
 
 
200
  '^FDM ',
 
201
  '^Goose\/',
 
 
 
 
202
  '^Java\/',
 
 
 
203
  '^Mget',
 
 
 
204
  '^NG\/[0-9\.]',
205
  '^NING\/',
206
- '^PHP\/[0-9]',
 
 
 
 
 
207
  '^RMA\/',
208
  '^Ruby|Ruby\/[0-9]',
209
- '^scrutiny\/',
 
 
 
210
  '^VSE\/[0-9]',
211
  '^WordPress\.com',
212
  '^XRL\/[0-9]',
 
 
 
 
 
 
 
 
 
213
  'a3logics\.in',
214
  'A6-Indexer',
215
- 'a\.pr-cy\.ru',
216
  'Aboundex',
217
  'aboutthedomain',
218
  'Accoona-AI-Agent',
 
219
  'acoon',
220
  'acrylicapps\.com\/pulp',
 
 
221
  'adbeat',
222
  'AddThis',
223
  'ADmantX',
 
224
  'adressendeutschland',
225
- 'Advanced Email Extractor v',
 
 
 
 
 
 
 
226
  'agentslug',
227
  'AHC',
228
  'aihit',
229
  'aiohttp\/',
230
  'Airmail',
 
231
  'akula\/',
232
  'alertra',
233
  'alexa site audit',
 
 
 
 
234
  'alyze\.info',
235
  'amagit',
 
236
  'AndroidDownloadManager',
237
  'Anemone',
238
- 'Ant\.com',
 
 
239
  'Anturis Agent',
 
240
  'AnyEvent-HTTP\/',
241
- 'Apache-HttpClient\/',
242
- 'AportWorm\/[0-9]',
 
 
 
 
 
 
 
 
 
243
  'AppEngine-Google',
 
 
244
  'Arachmo',
245
  'arachnode',
246
  'Arachnophilia',
247
- 'archive-com',
248
  'aria2',
249
- 'asafaweb.com',
 
 
 
250
  'AskQuickly',
 
 
251
  'Astute',
 
 
 
252
  'autocite',
 
253
  'Autonomy',
 
 
 
 
254
  'B-l-i-t-z-B-O-T',
255
- 'Backlink-Ceck\.de',
 
 
 
 
 
256
  'Bad-Neighborhood',
 
257
  'baidu\.com',
258
- 'baypup\/[0-9]',
259
- 'baypup\/colbert',
 
 
 
260
  'BazQux',
 
261
  'BCKLINKS',
262
  'BDFetch',
263
- 'BegunAdvertising\/',
264
- 'bibnum\.bnf',
 
265
  'BigBozz',
 
266
  'biglotron',
267
  'BingLocalSearch',
268
  'BingPreview',
269
  'binlar',
 
 
 
270
  'biz_Directory',
 
 
271
  'Blackboard Safeassign',
 
 
 
 
272
  'Bloglovin',
273
  'BlogPulseLive',
274
  'BlogSearch',
275
  'Blogtrottr',
 
276
  'boitho\.com-dc',
 
277
  'BPImageWalker',
278
  'Braintree-Webhooks',
279
  'Branch Metrics API',
280
  'Branch-Passthrough',
 
 
 
 
281
  'Browsershots',
282
  'BUbiNG',
 
 
 
 
 
 
283
  'Butterfly\/',
284
  'BuzzSumo',
 
285
  'CakePHP',
286
- 'CapsuleChecker',
 
287
  'CaretNail',
288
- 'cb crawl',
289
  'CC Metadata Scaper',
 
 
 
290
  'Cerberian Drtrs',
291
  'CERT\.at-Statistics-Survey',
 
292
  'cg-eye',
293
  'changedetection',
 
294
  'Charlotte',
 
295
  'CheckHost',
 
 
 
 
296
  'chkme\.com',
297
- 'CirrusExplorer\/',
 
 
298
  'CISPA Vulnerability Notification',
 
 
299
  'CJNetworkQuality',
 
300
  'clips\.ua\.ac\.be',
301
- 'Cloud mapping experiment',
 
302
  'CloudFlare-AlwaysOnline',
303
- 'Cloudinary\/[0-9]',
 
304
  'cmcm\.com',
305
  'coccoc',
 
 
 
306
  'CommaFeed',
307
  'Commons-HttpClient',
308
- 'Comodo SSL Checker',
309
  'contactbigdatafr',
 
 
310
  'convera',
 
311
  'copyright sheriff',
312
- 'cosmos\/[0-9]',
 
 
 
313
  'Covario-IDS',
314
- 'CrawlForMe\/[0-9]',
315
- 'cron-job\.org',
 
316
  'Crowsnest',
 
 
 
317
  'curb',
318
  'Curious George',
319
  'curl',
320
- 'cuwhois\/[0-9]',
321
- 'CyberPatrol',
322
  'cybo\.com',
 
323
  'DareBoost',
 
 
 
 
 
324
  'DataparkSearch',
325
  'dataprovider',
 
326
  'Daum(oa)?[ \/][0-9]',
 
 
 
 
 
327
  'DeuSu',
328
  'developers\.google\.com\/\+\/web\/snippet\/',
 
329
  'Digg',
 
 
 
 
330
  'Dispatch\/',
 
 
331
  'dlvr',
332
- 'DNS-Tools Header-Analyzer',
333
  'DNSPod-reporting',
334
  'docoloc',
 
335
  'DomainAppender',
 
 
 
 
336
  'dotSemantic',
337
  'downforeveryoneorjustme',
338
- 'downnotifier\.com',
 
339
  'DowntimeDetector',
340
- 'Dragonfly File Reader',
341
  'drupact',
342
- 'Drupal (\+http:\/\/drupal\.org\/)',
 
343
  'dubaiindex',
 
 
344
  'EARTHCOM',
345
  'Easy-Thumb',
 
 
346
  'ec2linkfinder',
347
  'eCairn-Grabber',
 
348
  'ECCP',
 
 
 
349
  'ElectricMonk',
350
  'elefent',
351
  'EMail Exractor',
 
352
  'EmailWolf',
 
353
  'Embed PHP Library',
354
  'Embedly',
 
355
  'europarchive\.org',
356
- 'evc-batch\/[0-9]',
357
  'EventMachine HttpClient',
 
358
  'Evidon',
359
  'Evrinid',
360
  'ExactSearch',
361
  'ExaleadCloudview',
362
  'Excel\/',
 
 
363
  'Exploratodo',
 
 
 
364
  'ezooms',
365
  'facebookexternalhit',
 
366
  'facebookplatform',
367
  'fairshare',
368
  'Faraday v',
 
369
  'Faveeo',
370
  'Favicon downloader',
 
 
371
  'FavOrg',
372
  'Feed Wrangler',
 
373
  'Feedbin',
374
  'FeedBooster',
375
  'FeedBucket',
 
376
  'FeedBurner',
377
- 'FeedChecker',
378
  'Feedly',
 
 
379
  'Feedspot',
 
 
 
380
  'feeltiptop',
381
  'Fetch API',
382
  'Fetch\/[0-9]',
383
  'Fever\/[0-9]',
 
 
 
 
384
  'findlink',
385
  'findthatfile',
386
- 'Flamingo_SearchEngine',
387
  'FlipboardBrowserProxy',
388
  'FlipboardProxy',
389
  'FlipboardRSS',
 
 
390
  'fluffy',
 
391
  'flynxapp',
392
  'forensiq',
393
- 'FoundSeoTool\/[0-9]',
 
394
  'free thumbnails',
395
- 'FreeWebMonitoring SiteChecker',
 
 
396
  'Funnelback',
 
 
397
  'g00g1e\.net',
398
- 'GAChecker',
 
399
  'geek-tools',
400
- 'Genderanalyzer',
401
  'Genieo',
402
  'GentleSource',
 
 
403
  'GetLinkInfo',
404
- 'getprismatic\.com',
405
- 'GetURLInfo\/[0-9]',
 
 
 
 
 
406
  'GigablastOpenSource',
 
 
 
 
 
407
  'Go [\d\.]* package http',
 
 
408
  'Go-http-client',
 
 
 
 
 
 
409
  'GomezAgent',
410
  'gooblog',
411
- 'Goodzer\/[0-9]',
 
 
412
  'Google favicon',
413
  'Google Keyword Suggestion',
414
  'Google Keyword Tool',
@@ -416,323 +649,656 @@ class Cookie_Notice_Bot_Detect {
416
  'Google PP Default',
417
  'Google Search Console',
418
  'Google Web Preview',
 
 
419
  'Google-Adwords',
420
  'Google-Apps-Script',
421
  'Google-Calendar-Importer',
 
422
  'Google-HTTP-Java-Client',
 
423
  'Google-Publisher-Plugin',
 
424
  'Google-SearchByImage',
425
  'Google-Site-Verification',
 
 
426
  'Google-Structured-Data-Testing-Tool',
427
- 'google_partner_monitoring',
 
 
428
  'GoogleDocs',
429
  'GoogleHC\/',
 
430
  'GoogleProducer',
431
- 'GoScraper',
 
432
  'GoSpotCheck',
433
- 'GoSquared-Status-Checker',
434
  'gosquared-thumbnailer',
435
- 'GotSiteMonitor',
 
 
 
 
436
  'Grammarly',
 
 
 
 
 
437
  'grouphigh',
438
  'grub-client',
 
 
439
  'GTmetrix',
 
 
 
 
 
 
 
 
440
  'Hatena',
441
- 'hawkReader',
 
 
442
  'HEADMasterSEO',
443
  'HeartRails_Capture',
 
444
  'heritrix',
445
- 'hledejLevne\.cz\/[0-9]',
 
 
 
 
 
446
  'Holmes',
 
447
  'HootSuite Image proxy',
448
- 'Hootsuite-WebFeed\/[0-9]',
 
449
  'HostTracker',
450
  'ht:\/\/check',
451
  'htdig',
452
- 'HTMLParser\/',
 
 
 
453
  'HTTP-Header-Abfrage',
454
  'http-kit',
 
455
  'HTTP-Tiny',
456
- 'HTTP_Compression_Test',
457
- 'http_request2',
458
- 'http_requester',
459
  'HttpComponents',
460
  'httphr',
 
461
  'HTTPMon',
 
462
  'httpscheck',
463
  'httpssites_power',
464
  'httpunit',
465
  'HttpUrlConnection',
 
 
 
 
 
466
  'httrack',
467
- 'hosterstats',
468
  'huaweisymantec',
469
- 'HubPages.*crawlingpolicy',
470
- 'HubSpot Connect',
471
- 'HubSpot Marketing Grader',
472
- 'HyperZbozi.cz Feeder',
 
473
  'ichiro',
 
474
  'IdeelaborPlagiaat',
475
  'IDG Twitter Links Resolver',
476
- 'IDwhois\/[0-9]',
477
  'Iframely',
478
  'igdeSpyder',
 
479
  'IlTrovatore',
 
 
480
  'ImageEngine\/',
 
481
  'Imagga',
 
 
482
  'InAGist',
483
  'inbound\.li parser',
484
  'InDesign%20CC',
 
 
485
  'infegy',
486
  'infohelfer',
487
- 'InfoWizards Reciprocal Link System PRO',
 
488
  'inpwrd\.com',
 
 
489
  'Integrity',
490
  'integromedb',
491
- 'internet_archive',
 
 
492
  'InternetSeer',
493
  'internetVista monitor',
 
 
 
494
  'IODC',
495
  'IOI',
 
496
  'ips-agent',
 
 
497
  'iqdb\/',
 
498
  'Irokez',
499
  'isitup\.org',
500
  'iskanie',
 
 
 
501
  'iZSearch',
 
502
  'janforman',
 
 
 
 
 
 
503
  'Jigsaw',
504
  'Jobboerse',
 
 
505
  'jobo',
506
  'Jobrapido',
507
- 'KeepRight OpenStreetMap Checker',
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
508
  'KimonoLabs\/',
 
509
  'knows\.is',
 
510
  'kouio',
511
- 'KrOWLer',
 
512
  'kulturarw3',
513
  'KumKie',
514
- 'L\.webis',
515
  'Larbin',
516
- 'LayeredExtractor',
 
 
 
 
 
517
  'LibVLC',
 
 
518
  'libwww',
519
- 'link checker',
 
 
 
 
 
520
  'Link Valet',
521
- 'link_thumbnailer',
 
522
  'linkCheck',
523
  'linkdex',
524
  'LinkExaminer',
525
  'linkfluence',
526
  'linkpeek',
 
 
 
527
  'LinkTiger',
528
  'LinkWalker',
 
529
  'Lipperhey',
 
530
  'livedoor ScreenShot',
531
- 'LoadImpactPageAnalyzer',
532
  'LoadImpactRload',
 
533
  'LongURL API',
 
 
534
  'looksystems\.net',
535
  'ltx71',
 
 
 
 
536
  'lwp-trivial',
 
537
  'lycos',
538
  'LYT\.SR',
 
539
  'mabontland',
 
 
540
  'MagpieRSS',
541
- 'Mail.Ru',
542
- 'MailChimp\.com',
 
 
 
543
  'Mandrill',
 
544
  'marketinggrader',
 
 
 
 
 
 
 
545
  'Mediapartners-Google',
 
546
  'MegaIndex\.ru',
547
- 'Melvil Rawi\/',
548
- 'MergeFlow-PageReader',
549
- 'MetaInspector',
550
  'Metaspinner',
551
  'MetaURI',
 
552
  'Microsearch',
553
- 'Microsoft Office ',
 
 
554
  'Microsoft Windows Network Diagnostics',
 
 
 
 
555
  'Mindjet',
 
556
  'Miniflux',
 
 
 
 
 
 
557
  'Mnogosearch',
558
  'mogimogi',
559
- 'Mojolicious (Perl)',
 
560
  'monitis',
561
- 'Monitority\/[0-9]',
 
562
  'montastic',
563
  'MonTools',
564
  'Moreover',
 
565
  'Morning Paper',
 
566
  'mowser',
567
  'Mrcgiguy',
 
 
 
568
  'mShots',
 
 
569
  'MVAClient',
 
 
570
  'nagios',
571
- 'Najdi\.si\/',
 
 
 
 
 
 
 
 
 
 
572
  'NETCRAFT',
573
- 'NetLyzer FastProbe',
 
 
 
574
  'netresearch',
575
  'NetShelter ContentScan',
 
 
 
576
  'NetTrack',
577
  'Netvibes',
 
578
  'Neustar WPM',
579
  'NeutrinoAPI',
 
580
  'NewsBlur .*Finder',
581
  'NewsGator',
582
  'newsme',
583
  'newspaper\/',
 
584
  'NG-Search',
585
- 'nineconnections\.com',
 
 
 
 
 
586
  'NLNZ_IAHarvester',
587
  'Nmap Scripting Engine',
 
588
  'node-superagent',
 
 
 
589
  'node\.io',
590
  'nominet\.org\.uk',
 
591
  'Norton-Safeweb',
592
  'Notifixious',
593
  'notifyninja',
 
594
  'nuhk',
595
  'nutch',
596
  'Nuzzel',
597
  'nWormFeedFinder',
 
598
  'Nymesis',
599
- 'Ocelli\/[0-9]',
 
 
 
600
  'oegp',
 
 
 
601
  'okhttp',
602
- 'Omea Reader',
603
  'omgili',
 
604
  'Online Domain Tools',
 
605
  'OpenCalaisSemanticProxy',
 
 
606
  'Openstat\/',
607
  'OpenVAS',
 
608
  'Optimizer',
609
  'Orbiter',
610
- 'OrgProbe\/[0-9]',
611
- 'ow\.ly',
 
 
 
 
612
  'ownCloud News',
613
- 'Page Analyzer',
 
 
614
  'Page Valet',
615
  'page2rss',
616
- 'page_verifier',
 
617
  'PagePeeker',
618
- 'Pagespeed\/[0-9]',
 
 
 
619
  'Panopta',
620
  'panscient',
 
621
  'parsijoo',
 
622
  'PayPal IPN',
 
623
  'Pcore-HTTP',
 
624
  'Pearltrees',
 
625
  'peerindex',
626
  'Peew',
 
 
 
627
  'PhantomJS\/',
628
  'Photon\/',
629
- 'phpcrawl',
630
  'phpservermon',
631
  'Pi-Monster',
632
- 'Pingdom\.com',
 
 
 
 
 
 
633
  'Pingoscope',
634
  'PingSpot',
635
- 'Pinterest',
 
 
636
  'Pizilla',
 
 
637
  'Ploetz \+ Zeller',
638
  'Plukkie',
 
 
639
  'PocketParser',
 
 
 
 
640
  'Pompos',
641
  'Porkbun',
642
  'Port Monitor',
643
  'postano',
 
 
 
644
  'PostPost',
645
  'postrank',
646
  'PowerPoint\/',
 
 
647
  'Priceonomics Analysis Engine',
 
 
648
  'Prlog',
649
  'probethenet',
650
- 'Project 25499',
651
- 'Promotion_Tools_www.searchenginepromotionhelp.com',
652
  'prospectb2b',
653
  'Protopage',
 
654
  'proximic',
 
 
655
  'PTST ',
656
  'PTST\/[0-9]+',
657
- 'Pulsepoint XT3 web scraper',
658
  'Python-httplib2',
 
659
  'python-requests',
660
  'Python-urllib',
661
  'Qirina Hurdler',
 
 
662
  'Qseero',
663
- 'Qualidator.com SiteAnalyzer',
 
 
 
 
664
  'Quora Link Preview',
665
  'Qwantify',
666
  'Radian6',
 
 
 
 
667
  'RankSonicSiteAuditor',
 
 
 
668
  'Readability',
 
669
  'RealPlayer%20Downloader',
670
  'RebelMouse',
 
 
671
  'redback\/',
672
- 'Redirect Checker Tool',
673
  'ReederForMac',
674
- 'ResponseCodeTest\/[0-9]',
 
 
 
 
 
675
  'RestSharp',
676
- 'RetrevoPageAnalyzer',
677
  'Riddler',
678
  'Rival IQ',
679
  'Robosourcer',
680
- 'Robozilla\/[0-9]',
681
  'ROI Hunter',
 
 
 
 
 
682
  'SalesIntelligent',
 
 
683
  'SauceNAO',
684
  'SBIder',
 
 
 
 
 
685
  'Scoop',
686
  'scooter',
 
687
  'ScoutJet',
688
  'ScoutURLMonitor',
 
689
  'Scrapy',
 
 
690
  'Scrubby',
 
 
 
 
 
691
  'SearchSight',
 
 
 
692
  'semanticdiscovery',
693
  'semanticjuice',
 
 
 
 
694
  'SEO Browser',
695
  'Seo Servis',
696
- 'seo-nastroj.cz',
 
697
  'Seobility',
698
  'SEOCentro',
699
  'SeoCheck',
700
- 'SeopultContentAnalyzer',
 
 
 
 
 
 
701
  'SEOstats',
702
- 'Server Density Service Monitoring',
703
- 'servernfo\.com',
704
- 'Seznam screenshot-generator',
705
  'Shelob',
706
- 'Shoppimon Analyzer',
707
- 'ShoppimonAgent\/[0-9]',
708
  'ShopWiki',
709
  'ShortLinkTranslate',
 
710
  'shrinktheweb',
711
- 'SilverReader',
 
712
  'SimplePie',
713
  'SimplyFast',
 
 
 
714
  'Site-Shot\/',
715
  'Site24x7',
716
  'SiteBar',
 
 
717
  'SiteCondor',
718
- 'siteexplorer\.info',
719
  'SiteGuardian',
720
- 'Siteimprove\.com',
 
721
  'Sitemap(s)? Generator',
 
 
722
  'Siteshooter B0t',
 
 
723
  'SiteTruth',
 
724
  'sitexy\.com',
725
  'SkypeUriPreview',
 
 
726
  'slider\.com',
727
  'slurp',
 
 
728
  'SMRF URL Expander',
 
 
729
  'Snappy',
 
 
730
  'SniffRSS',
731
  'sniptracker',
732
  'Snoopy',
 
733
  'sogou web',
734
  'SortSite',
 
 
 
 
 
 
735
  'spaziodati',
 
736
  'Specificfeeds',
737
  'speedy',
738
  'SPEng',
@@ -740,149 +1306,286 @@ class Cookie_Notice_Bot_Detect {
740
  'spray-can',
741
  'Sprinklr ',
742
  'spyonweb',
 
 
743
  'Sqworm',
744
  'SSL Labs',
 
745
  'StackRambler',
746
  'Statastico\/',
 
747
  'StatusCake',
 
748
  'Stratagems Kumo',
749
- 'Stroke.cz',
 
750
  'StudioFACA',
 
751
  'suchen',
 
752
  'summify',
753
- 'Super Monitoring',
754
  'Surphace Scout',
755
- 'SwiteScraper',
 
 
756
  'Symfony2 BrowserKit',
 
 
 
757
  'Sysomos',
 
 
758
  'T0PHackTeam',
 
759
  'Tarantula\/',
 
 
 
 
 
 
 
 
 
760
  'teoma',
761
- 'terrainformatica\.com',
 
 
 
 
 
762
  'The Expert HTML Source Viewer',
 
 
763
  'theinternetrules',
764
- 'theoldreader\.com',
 
 
765
  'Thumbshots',
766
  'ThumbSniper',
 
767
  'TinEye',
768
  'Tiny Tiny RSS',
 
 
769
  'topster',
770
- 'touche.com',
771
- 'Traackr.com',
 
 
 
 
 
 
772
  'truwoGPS',
773
- 'tweetedtimes\.com',
 
 
 
 
774
  'Tweetminster',
 
 
 
775
  'Twikle',
776
  'Twingly',
 
777
  'Typhoeus',
778
  'ubermetrics-technologies',
779
  'uclassify',
780
  'UdmSearch',
 
 
 
 
 
 
 
781
  'UnwindFetchor',
782
  'updated',
 
783
  'Upflow',
784
- 'URLChecker',
785
- 'URLitor.com',
 
 
786
  'urlresolver',
787
  'Urlstat',
 
788
  'UrlTrends Ranking Updater',
 
 
 
 
789
  'Vagabondo',
 
 
 
790
  'via ggpht\.com GoogleImageProxy',
 
791
  'visionutils',
792
  'vkShare',
 
 
793
  'voltron',
794
- 'Vortex\/[0-9]',
795
  'voyager\/',
796
- 'VSAgent\/[0-9]',
797
- 'VSB-TUO\/[0-9]',
 
798
  'VYU2',
799
  'w3af\.org',
800
  'W3C-checklink',
801
  'W3C-mobileOK',
802
- 'W3C_I18n-Checker',
803
  'W3C_Unicorn',
 
 
 
 
804
  'wangling',
805
  'Wappalyzer',
806
  'WatchMouse',
807
  'WbSrch\/',
 
 
 
 
 
 
 
 
 
 
808
  'web-capture\.net',
809
- 'Web-Monitoring',
810
  'Web-sniffer',
 
811
  'Webauskunft',
 
812
  'WebCapture',
 
813
  'webcollage',
814
  'WebCookies',
 
815
  'WebCorp',
 
816
  'WebDoc',
 
817
  'WebFetch',
 
 
 
 
818
  'WebImages',
819
  'WebIndex',
820
  'webkit2png',
 
821
  'webmastercoffee',
822
  'webmon ',
 
 
 
823
  'webscreenie',
 
824
  'Webshot',
825
- 'Website Analyzer\/',
826
- 'websitepulse[+ ]checker',
827
- 'Websnapr\/',
828
- 'Websquash\.com',
829
- 'Webthumb\/[0-9]',
 
 
 
 
830
  'WebThumbnail',
831
- 'WeCrawlForThePeace',
 
 
832
  'WeLikeLinks',
833
  'WEPA',
834
  'WeSEE',
835
  'wf84',
 
836
  'wget',
 
837
  'WhatsApp',
838
  'WhatsMyIP',
839
  'WhatWeb',
 
840
  'Whibse',
 
 
841
  'Whynder Magnet',
842
  'Windows-RSS-Platform',
843
- 'WinHttpRequest',
 
 
844
  'wkhtmlto',
845
  'wmtips',
846
  'Woko',
847
- 'WomlpeFactory',
848
- 'Word\/',
849
  'WordPress\/',
 
 
 
850
  'wotbox',
851
  'WP Engine Install Performance API',
 
 
 
852
  'WPScan',
853
  'wscheck',
 
 
854
  'WWW-Mechanize',
 
 
 
855
  'www\.monitor\.us',
 
 
856
  'XaxisSemanticsClassifier',
 
857
  'Xenu Link Sleuth',
858
- 'XING-contenttabreceiver\/[0-9]',
859
- 'XmlSitemapGenerator',
860
  'xpymep([0-9]?)\.exe',
861
- 'Y!J-(ASR|BSC)',
862
  'Yaanb',
863
  'yacy',
864
- 'Yahoo Ad monitoring',
865
  'Yahoo Link Preview',
866
  'YahooCacheSystem',
867
- 'YahooSeeker',
868
  'YahooYSMcm',
869
  'YandeG',
870
- 'yandex',
871
  'yanga',
872
  'yeti',
873
  'Yo-yo',
874
  'Yoleo Consumer',
 
875
  'yoogliFetchAgent',
876
  'YottaaMonitor',
 
877
  'yourls\.org',
 
 
 
 
878
  'Zao',
 
879
  'Zemanta Aggregator',
880
  'Zend\\\\Http\\\\Client',
881
  'Zend_Http_Client',
 
 
882
  'zgrab',
883
  'ZnajdzFoto',
 
 
 
 
884
  'ZyBorg',
885
- '[a-z0-9\-_]*((?<!cu)bot|crawler|archiver|transcoder|spider|uptime|validator|fetcher)',
886
  );
887
 
888
  return $data;
@@ -897,7 +1600,7 @@ class Cookie_Notice_Bot_Detect {
897
  $data = array(
898
  'Safari.[\d\.]*',
899
  'Firefox.[\d\.]*',
900
- 'Chrome.[\d\.]*',
901
  'Chromium.[\d\.]*',
902
  'MSIE.[\d\.]',
903
  'Opera\/[\d\.]*',
@@ -935,7 +1638,14 @@ class Cookie_Notice_Bot_Detect {
935
  'Opera Mini\/\d{1,2}\.\d{1,2}\.[\d\.]*\/\d{1,2}\.',
936
  'Opera',
937
  ' \.NET[\d\.]*',
938
- '\(|\)|;|,', // remove the following characters ( ) : ,
 
 
 
 
 
 
 
939
  );
940
 
941
  return $data;
@@ -948,22 +1658,22 @@ class Cookie_Notice_Bot_Detect {
948
  */
949
  public function get_headers_list() {
950
  $data = array(
951
- // the default User-Agent string.
952
  'HTTP_USER_AGENT',
953
- // header can occur on devices using Opera Mini.
954
  'HTTP_X_OPERAMINI_PHONE_UA',
955
- // vodafone specific header: http://www.seoprinciple.com/mobile-web-community-still-angry-at-vodafone/24/
956
  'HTTP_X_DEVICE_USER_AGENT',
957
  'HTTP_X_ORIGINAL_USER_AGENT',
958
  'HTTP_X_SKYFIRE_PHONE',
959
  'HTTP_X_BOLT_PHONE_UA',
960
  'HTTP_DEVICE_STOCK_UA',
961
  'HTTP_X_UCBROWSER_DEVICE_UA',
962
- // sometimes, bots (especially Google) use a genuine user agent, but fill this header in with their email address
963
  'HTTP_FROM',
 
964
  );
965
 
966
  return $data;
967
  }
968
-
969
- }
86
  */
87
  public function set_http_headers( $http_headers = null ) {
88
  // use global _SERVER if $http_headers aren't defined
89
+ if ( ! is_array( $http_headers ) || ! count( $http_headers ) )
90
  $http_headers = $_SERVER;
91
+
92
  // clear existing headers
93
  $this->http_headers = array();
94
+
95
  // only save HTTP headers - in PHP land, that means only _SERVER vars that start with HTTP_.
96
  foreach ( $http_headers as $key => $value ) {
97
  if ( substr( $key, 0, 5 ) === 'HTTP_' ) {
163
  * @return bool
164
  */
165
  public function is_crawler( $user_agent = null ) {
166
+ $agent = (string)( is_null( $user_agent ) ? $this->user_agent : $user_agent );
167
  $agent = preg_replace( '/' . $this->get_exclusions() . '/i', '', $agent );
168
+
169
+ if ( strlen( trim( $agent ) ) === 0 )
170
  return false;
171
+ else
172
  $result = preg_match( '/' . $this->get_regex() . '/i', trim( $agent ), $matches );
173
+
174
+ if ( $matches )
175
  $this->matches = $matches;
176
+
177
  return (bool) $result;
178
  }
179
 
193
  */
194
  protected function get_crawlers_list() {
195
  $data = array(
196
+ ' YLT',
197
+ '^Aether',
198
+ '^Amazon Simple Notification Service Agent$',
199
+ '^Amazon-Route53-Health-Check-Service',
200
+ '^b0t$',
201
  '^bluefish ',
202
+ '^Calypso v\/',
203
+ '^COMODO DCV',
204
+ '^Corax',
205
+ '^DangDang',
206
+ '^DavClnt',
207
+ '^DHSH',
208
+ '^docker\/[0-9]',
209
+ '^Expanse',
210
  '^FDM ',
211
+ '^git\/',
212
  '^Goose\/',
213
+ '^Grabber',
214
+ '^Gradle\/',
215
+ '^HTTPClient\/',
216
+ '^HTTPing',
217
  '^Java\/',
218
+ '^Jeode\/',
219
+ '^Jetty\/',
220
+ '^Mail\/',
221
  '^Mget',
222
+ '^Microsoft URL Control',
223
+ '^Mikrotik\/',
224
+ '^Netlab360',
225
  '^NG\/[0-9\.]',
226
  '^NING\/',
227
+ '^npm\/',
228
+ '^Nuclei',
229
+ '^PHP-AYMAPI\/',
230
+ '^PHP\/',
231
+ '^pip\/',
232
+ '^pnpm\/',
233
  '^RMA\/',
234
  '^Ruby|Ruby\/[0-9]',
235
+ '^Swurl ',
236
+ '^TLS tester ',
237
+ '^twine\/',
238
+ '^ureq',
239
  '^VSE\/[0-9]',
240
  '^WordPress\.com',
241
  '^XRL\/[0-9]',
242
+ '^ZmEu',
243
+ '008\/',
244
+ '13TABS',
245
+ '192\.comAgent',
246
+ '2GDPR\/',
247
+ '2ip\.ru',
248
+ '404enemy',
249
+ '7Siters',
250
+ '80legs',
251
  'a3logics\.in',
252
  'A6-Indexer',
253
+ 'Abonti',
254
  'Aboundex',
255
  'aboutthedomain',
256
  'Accoona-AI-Agent',
257
+ 'acebookexternalhit\/',
258
  'acoon',
259
  'acrylicapps\.com\/pulp',
260
+ 'Acunetix',
261
+ 'AdAuth\/',
262
  'adbeat',
263
  'AddThis',
264
  'ADmantX',
265
+ 'AdminLabs',
266
  'adressendeutschland',
267
+ 'adreview\/',
268
+ 'adscanner',
269
+ 'adstxt-worker',
270
+ 'Adstxtaggregator',
271
+ 'adstxt\.com',
272
+ 'Adyen HttpClient',
273
+ 'AffiliateLabz\/',
274
+ 'affilimate-puppeteer',
275
  'agentslug',
276
  'AHC',
277
  'aihit',
278
  'aiohttp\/',
279
  'Airmail',
280
+ 'akka-http\/',
281
  'akula\/',
282
  'alertra',
283
  'alexa site audit',
284
+ 'Alibaba\.Security\.Heimdall',
285
+ 'Alligator',
286
+ 'allloadin',
287
+ 'AllSubmitter',
288
  'alyze\.info',
289
  'amagit',
290
+ 'Anarchie',
291
  'AndroidDownloadManager',
292
  'Anemone',
293
+ 'AngleSharp',
294
+ 'annotate_google',
295
+ 'Anthill',
296
  'Anturis Agent',
297
+ 'Ant\.com',
298
  'AnyEvent-HTTP\/',
299
+ 'Apache Ant\/',
300
+ 'Apache Droid',
301
+ 'Apache OpenOffice',
302
+ 'Apache-HttpAsyncClient',
303
+ 'Apache-HttpClient',
304
+ 'ApacheBench',
305
+ 'Apexoo',
306
+ 'apimon\.de',
307
+ 'APIs-Google',
308
+ 'AportWorm\/',
309
+ 'AppBeat\/',
310
  'AppEngine-Google',
311
+ 'AppleSyndication',
312
+ 'Aprc\/[0-9]',
313
  'Arachmo',
314
  'arachnode',
315
  'Arachnophilia',
 
316
  'aria2',
317
+ 'Arukereso',
318
+ 'asafaweb',
319
+ 'Asana\/',
320
+ 'Ask Jeeves',
321
  'AskQuickly',
322
+ 'ASPSeek',
323
+ 'Asterias',
324
  'Astute',
325
+ 'asynchttp',
326
+ 'Attach',
327
+ 'attohttpc',
328
  'autocite',
329
+ 'AutomaticWPTester',
330
  'Autonomy',
331
+ 'awin\.com',
332
+ 'AWS Security Scanner',
333
+ 'axios\/',
334
+ 'a\.pr-cy\.ru',
335
  'B-l-i-t-z-B-O-T',
336
+ 'Backlink-Ceck',
337
+ 'backlink-check',
338
+ 'BacklinkHttpStatus',
339
+ 'BackStreet',
340
+ 'BackupLand',
341
+ 'BackWeb',
342
  'Bad-Neighborhood',
343
+ 'Badass',
344
  'baidu\.com',
345
+ 'Bandit',
346
+ 'basicstate',
347
+ 'BatchFTP',
348
+ 'Battleztar Bazinga',
349
+ 'baypup\/',
350
  'BazQux',
351
+ 'BBBike',
352
  'BCKLINKS',
353
  'BDFetch',
354
+ 'BegunAdvertising',
355
+ 'Bewica-security-scan',
356
+ 'Bidtellect',
357
  'BigBozz',
358
+ 'Bigfoot',
359
  'biglotron',
360
  'BingLocalSearch',
361
  'BingPreview',
362
  'binlar',
363
+ 'biNu image cacher',
364
+ 'Bitacle',
365
+ 'Bitrix link preview',
366
  'biz_Directory',
367
+ 'BKCTwitterUnshortener\/',
368
+ 'Black Hole',
369
  'Blackboard Safeassign',
370
+ 'BlackWidow',
371
+ 'BlockNote\.Net',
372
+ 'BlogBridge',
373
+ 'Bloglines',
374
  'Bloglovin',
375
  'BlogPulseLive',
376
  'BlogSearch',
377
  'Blogtrottr',
378
+ 'BlowFish',
379
  'boitho\.com-dc',
380
+ 'Boost\.Beast',
381
  'BPImageWalker',
382
  'Braintree-Webhooks',
383
  'Branch Metrics API',
384
  'Branch-Passthrough',
385
+ 'Brandprotect',
386
+ 'BrandVerity',
387
+ 'Brandwatch',
388
+ 'Brodie\/',
389
  'Browsershots',
390
  'BUbiNG',
391
+ 'Buck\/',
392
+ 'Buddy',
393
+ 'BuiltWith',
394
+ 'Bullseye',
395
+ 'BunnySlippers',
396
+ 'Burf Search',
397
  'Butterfly\/',
398
  'BuzzSumo',
399
+ 'CAAM\/[0-9]',
400
  'CakePHP',
401
+ 'Calculon',
402
+ 'Canary%20Mail',
403
  'CaretNail',
404
+ 'catexplorador',
405
  'CC Metadata Scaper',
406
+ 'Cegbfeieh',
407
+ 'censys',
408
+ 'centuryb.o.t9[at]gmail.com',
409
  'Cerberian Drtrs',
410
  'CERT\.at-Statistics-Survey',
411
+ 'cf-facebook',
412
  'cg-eye',
413
  'changedetection',
414
+ 'ChangesMeter',
415
  'Charlotte',
416
+ 'chatterino-api-cache',
417
  'CheckHost',
418
+ 'checkprivacy',
419
+ 'CherryPicker',
420
+ 'ChinaClaw',
421
+ 'Chirp\/',
422
  'chkme\.com',
423
+ 'Chlooe',
424
+ 'Chromaxa',
425
+ 'CirrusExplorer',
426
  'CISPA Vulnerability Notification',
427
+ 'CISPA Web Analyser',
428
+ 'Citoid',
429
  'CJNetworkQuality',
430
+ 'Clarsentia',
431
  'clips\.ua\.ac\.be',
432
+ 'Cloud mapping',
433
+ 'CloudEndure',
434
  'CloudFlare-AlwaysOnline',
435
+ 'Cloudflare-Healthchecks',
436
+ 'Cloudinary',
437
  'cmcm\.com',
438
  'coccoc',
439
+ 'cognitiveseo',
440
+ 'ColdFusion',
441
+ 'colly -',
442
  'CommaFeed',
443
  'Commons-HttpClient',
444
+ 'commonscan',
445
  'contactbigdatafr',
446
+ 'contentkingapp',
447
+ 'Contextual Code Sites Explorer',
448
  'convera',
449
+ 'CookieReports',
450
  'copyright sheriff',
451
+ 'CopyRightCheck',
452
+ 'Copyscape',
453
+ 'cortex\/',
454
+ 'Cosmos4j\.feedback',
455
  'Covario-IDS',
456
+ 'Craw\/',
457
+ 'Crescent',
458
+ 'Criteo',
459
  'Crowsnest',
460
+ 'CSHttp',
461
+ 'CSSCheck',
462
+ 'Cula\/',
463
  'curb',
464
  'Curious George',
465
  'curl',
466
+ 'cuwhois\/',
 
467
  'cybo\.com',
468
+ 'DAP\/NetHTTP',
469
  'DareBoost',
470
+ 'DatabaseDriverMysqli',
471
+ 'DataCha0s',
472
+ 'DatadogSynthetics',
473
+ 'Datafeedwatch',
474
+ 'Datanyze',
475
  'DataparkSearch',
476
  'dataprovider',
477
+ 'DataXu',
478
  'Daum(oa)?[ \/][0-9]',
479
+ 'dBpoweramp',
480
+ 'ddline',
481
+ 'deeris',
482
+ 'delve\.ai',
483
+ 'Demon',
484
  'DeuSu',
485
  'developers\.google\.com\/\+\/web\/snippet\/',
486
+ 'Devil',
487
  'Digg',
488
+ 'Digincore',
489
+ 'DigitalPebble',
490
+ 'Dirbuster',
491
+ 'Discourse Forum Onebox',
492
  'Dispatch\/',
493
+ 'Disqus\/',
494
+ 'DittoSpyder',
495
  'dlvr',
496
+ 'DMBrowser',
497
  'DNSPod-reporting',
498
  'docoloc',
499
+ 'Dolphin http client',
500
  'DomainAppender',
501
+ 'DomainLabz',
502
+ 'Domains Project\/',
503
+ 'Donuts Content Explorer',
504
+ 'dotMailer content retrieval',
505
  'dotSemantic',
506
  'downforeveryoneorjustme',
507
+ 'Download Wonder',
508
+ 'downnotifier',
509
  'DowntimeDetector',
510
+ 'Drip',
511
  'drupact',
512
+ 'Drupal \(\+http:\/\/drupal\.org\/\)',
513
+ 'DTS Agent',
514
  'dubaiindex',
515
+ 'DuplexWeb-Google',
516
+ 'DynatraceSynthetic',
517
  'EARTHCOM',
518
  'Easy-Thumb',
519
+ 'EasyDL',
520
+ 'Ebingbong',
521
  'ec2linkfinder',
522
  'eCairn-Grabber',
523
+ 'eCatch',
524
  'ECCP',
525
+ 'eContext\/',
526
+ 'Ecxi',
527
+ 'EirGrabber',
528
  'ElectricMonk',
529
  'elefent',
530
  'EMail Exractor',
531
+ 'EMail Wolf',
532
  'EmailWolf',
533
+ 'Embarcadero',
534
  'Embed PHP Library',
535
  'Embedly',
536
+ 'endo\/',
537
  'europarchive\.org',
538
+ 'evc-batch',
539
  'EventMachine HttpClient',
540
+ 'Everwall Link Expander',
541
  'Evidon',
542
  'Evrinid',
543
  'ExactSearch',
544
  'ExaleadCloudview',
545
  'Excel\/',
546
+ 'exif',
547
+ 'ExoRank',
548
  'Exploratodo',
549
+ 'Express WebPictures',
550
+ 'Extreme Picture Finder',
551
+ 'EyeNetIE',
552
  'ezooms',
553
  'facebookexternalhit',
554
+ 'facebookexternalua',
555
  'facebookplatform',
556
  'fairshare',
557
  'Faraday v',
558
+ 'fasthttp',
559
  'Faveeo',
560
  'Favicon downloader',
561
+ 'faviconarchive',
562
+ 'faviconkit',
563
  'FavOrg',
564
  'Feed Wrangler',
565
+ 'Feedable\/',
566
  'Feedbin',
567
  'FeedBooster',
568
  'FeedBucket',
569
+ 'FeedBunch\/',
570
  'FeedBurner',
571
+ 'feeder',
572
  'Feedly',
573
+ 'FeedshowOnline',
574
+ 'Feedshow\/',
575
  'Feedspot',
576
+ 'FeedViewer\/',
577
+ 'Feedwind\/',
578
+ 'FeedZcollector',
579
  'feeltiptop',
580
  'Fetch API',
581
  'Fetch\/[0-9]',
582
  'Fever\/[0-9]',
583
+ 'FHscan',
584
+ 'Fiery%20Feeds',
585
+ 'Filestack',
586
+ 'Fimap',
587
  'findlink',
588
  'findthatfile',
589
+ 'FlashGet',
590
  'FlipboardBrowserProxy',
591
  'FlipboardProxy',
592
  'FlipboardRSS',
593
+ 'Flock\/',
594
+ 'Florienzh\/',
595
  'fluffy',
596
+ 'Flunky',
597
  'flynxapp',
598
  'forensiq',
599
+ 'ForusP',
600
+ 'FoundSeoTool',
601
  'free thumbnails',
602
+ 'Freeuploader',
603
+ 'FreshRSS',
604
+ 'frontman',
605
  'Funnelback',
606
+ 'Fuzz Faster U Fool',
607
+ 'G-i-g-a-b-o-t',
608
  'g00g1e\.net',
609
+ 'ganarvisitas',
610
+ 'gdnplus\.com',
611
  'geek-tools',
 
612
  'Genieo',
613
  'GentleSource',
614
+ 'GetCode',
615
+ 'Getintent',
616
  'GetLinkInfo',
617
+ 'getprismatic',
618
+ 'GetRight',
619
+ 'getroot',
620
+ 'GetURLInfo\/',
621
+ 'GetWeb',
622
+ 'Geziyor',
623
+ 'Ghost Inspector',
624
  'GigablastOpenSource',
625
+ 'GIS-LABS',
626
+ 'github-camo',
627
+ 'GitHub-Hookshot',
628
+ 'github\.com',
629
+ 'Go http package',
630
  'Go [\d\.]* package http',
631
+ 'Go!Zilla',
632
+ 'Go-Ahead-Got-It',
633
  'Go-http-client',
634
+ 'go-mtasts\/',
635
+ 'gobuster',
636
+ 'gobyus',
637
+ 'Gofeed',
638
+ 'gofetch',
639
+ 'Goldfire Server',
640
  'GomezAgent',
641
  'gooblog',
642
+ 'Goodzer\/',
643
+ 'Google AppsViewer',
644
+ 'Google Desktop',
645
  'Google favicon',
646
  'Google Keyword Suggestion',
647
  'Google Keyword Tool',
649
  'Google PP Default',
650
  'Google Search Console',
651
  'Google Web Preview',
652
+ 'Google-Ads-Creatives-Assistant',
653
+ 'Google-Ads-Overview',
654
  'Google-Adwords',
655
  'Google-Apps-Script',
656
  'Google-Calendar-Importer',
657
+ 'Google-HotelAdsVerifier',
658
  'Google-HTTP-Java-Client',
659
+ 'Google-Podcast',
660
  'Google-Publisher-Plugin',
661
+ 'Google-Read-Aloud',
662
  'Google-SearchByImage',
663
  'Google-Site-Verification',
664
+ 'Google-SMTP-STS',
665
+ 'Google-speakr',
666
  'Google-Structured-Data-Testing-Tool',
667
+ 'Google-Transparency-Report',
668
+ 'google-xrawler',
669
+ 'Google-Youtube-Links',
670
  'GoogleDocs',
671
  'GoogleHC\/',
672
+ 'GoogleProber',
673
  'GoogleProducer',
674
+ 'GoogleSites',
675
+ 'Gookey',
676
  'GoSpotCheck',
 
677
  'gosquared-thumbnailer',
678
+ 'Gotit',
679
+ 'GoZilla',
680
+ 'grabify',
681
+ 'GrabNet',
682
+ 'Grafula',
683
  'Grammarly',
684
+ 'GrapeFX',
685
+ 'GreatNews',
686
+ 'Gregarius',
687
+ 'GRequests',
688
+ 'grokkit',
689
  'grouphigh',
690
  'grub-client',
691
+ 'gSOAP\/',
692
+ 'GT::WWW',
693
  'GTmetrix',
694
+ 'GuzzleHttp',
695
+ 'gvfs\/',
696
+ 'HAA(A)?RTLAND http client',
697
+ 'Haansoft',
698
+ 'hackney\/',
699
+ 'Hadi Agent',
700
+ 'HappyApps-WebCheck',
701
+ 'Hardenize',
702
  'Hatena',
703
+ 'Havij',
704
+ 'HaxerMen',
705
+ 'HeadlessChrome',
706
  'HEADMasterSEO',
707
  'HeartRails_Capture',
708
+ 'help@dataminr\.com',
709
  'heritrix',
710
+ 'Hexometer',
711
+ 'historious',
712
+ 'hkedcity',
713
+ 'hledejLevne\.cz',
714
+ 'Hloader',
715
+ 'HMView',
716
  'Holmes',
717
+ 'HonesoSearchEngine',
718
  'HootSuite Image proxy',
719
+ 'Hootsuite-WebFeed',
720
+ 'hosterstats',
721
  'HostTracker',
722
  'ht:\/\/check',
723
  'htdig',
724
+ 'HTMLparser',
725
+ 'htmlyse',
726
+ 'HTTP Banner Detection',
727
+ 'http-get',
728
  'HTTP-Header-Abfrage',
729
  'http-kit',
730
+ 'http-request\/',
731
  'HTTP-Tiny',
732
+ 'HTTP::Lite',
733
+ 'http:\/\/www.neomo.de\/', //'Francis [Bot]'
 
734
  'HttpComponents',
735
  'httphr',
736
+ 'HTTPie',
737
  'HTTPMon',
738
+ 'httpRequest',
739
  'httpscheck',
740
  'httpssites_power',
741
  'httpunit',
742
  'HttpUrlConnection',
743
+ 'http\.rb\/',
744
+ 'HTTP_Compression_Test',
745
+ 'http_get',
746
+ 'http_request2',
747
+ 'http_requester',
748
  'httrack',
 
749
  'huaweisymantec',
750
+ 'HubSpot ',
751
+ 'HubSpot-Link-Resolver',
752
+ 'Humanlinks',
753
+ 'i2kconnect\/',
754
+ 'Iblog',
755
  'ichiro',
756
+ 'Id-search',
757
  'IdeelaborPlagiaat',
758
  'IDG Twitter Links Resolver',
759
+ 'IDwhois\/',
760
  'Iframely',
761
  'igdeSpyder',
762
+ 'iGooglePortal',
763
  'IlTrovatore',
764
+ 'Image Fetch',
765
+ 'Image Sucker',
766
  'ImageEngine\/',
767
+ 'ImageVisu\/',
768
  'Imagga',
769
+ 'imagineeasy',
770
+ 'imgsizer',
771
  'InAGist',
772
  'inbound\.li parser',
773
  'InDesign%20CC',
774
+ 'Indy Library',
775
+ 'InetURL',
776
  'infegy',
777
  'infohelfer',
778
+ 'InfoTekies',
779
+ 'InfoWizards Reciprocal Link',
780
  'inpwrd\.com',
781
+ 'instabid',
782
+ 'Instapaper',
783
  'Integrity',
784
  'integromedb',
785
+ 'Intelliseek',
786
+ 'InterGET',
787
+ 'Internet Ninja',
788
  'InternetSeer',
789
  'internetVista monitor',
790
+ 'internetwache',
791
+ 'internet_archive',
792
+ 'intraVnews',
793
  'IODC',
794
  'IOI',
795
+ 'iplabel',
796
  'ips-agent',
797
+ 'IPS\/[0-9]',
798
+ 'IPWorks HTTP\/S Component',
799
  'iqdb\/',
800
+ 'Iria',
801
  'Irokez',
802
  'isitup\.org',
803
  'iskanie',
804
+ 'isUp\.li',
805
+ 'iThemes Sync\/',
806
+ 'IZaBEE',
807
  'iZSearch',
808
+ 'JAHHO',
809
  'janforman',
810
+ 'Jaunt\/',
811
+ 'Java.*outbrain',
812
+ 'javelin\.io',
813
+ 'Jbrofuzz',
814
+ 'Jersey\/',
815
+ 'JetCar',
816
  'Jigsaw',
817
  'Jobboerse',
818
+ 'JobFeed discovery',
819
+ 'Jobg8 URL Monitor',
820
  'jobo',
821
  'Jobrapido',
822
+ 'Jobsearch1\.5',
823
+ 'JoinVision Generic',
824
+ 'JolokiaPwn',
825
+ 'Joomla',
826
+ 'Jorgee',
827
+ 'JS-Kit',
828
+ 'JungleKeyThumbnail',
829
+ 'JustView',
830
+ 'Kaspersky Lab CFR link resolver',
831
+ 'Kelny\/',
832
+ 'Kerrigan\/',
833
+ 'KeyCDN',
834
+ 'Keyword Density',
835
+ 'Keywords Research',
836
+ 'khttp\/',
837
+ 'KickFire',
838
  'KimonoLabs\/',
839
+ 'Kml-Google',
840
  'knows\.is',
841
+ 'KOCMOHABT',
842
  'kouio',
843
+ 'kube-probe',
844
+ 'kubectl',
845
  'kulturarw3',
846
  'KumKie',
 
847
  'Larbin',
848
+ 'Lavf\/',
849
+ 'leakix\.net',
850
+ 'LeechFTP',
851
+ 'LeechGet',
852
+ 'letsencrypt',
853
+ 'Lftp',
854
  'LibVLC',
855
+ 'LibWeb',
856
+ 'Libwhisker',
857
  'libwww',
858
+ 'Licorne',
859
+ 'Liferea\/',
860
+ 'Lighthouse',
861
+ 'Lightspeedsystems',
862
+ 'Likse',
863
+ 'limber\.io',
864
  'Link Valet',
865
+ 'LinkAlarm\/',
866
+ 'LinkAnalyser',
867
  'linkCheck',
868
  'linkdex',
869
  'LinkExaminer',
870
  'linkfluence',
871
  'linkpeek',
872
+ 'LinkPreview',
873
+ 'LinkScan',
874
+ 'LinksManager',
875
  'LinkTiger',
876
  'LinkWalker',
877
+ 'link_thumbnailer',
878
  'Lipperhey',
879
+ 'Litemage_walker',
880
  'livedoor ScreenShot',
 
881
  'LoadImpactRload',
882
+ 'localsearch-web',
883
  'LongURL API',
884
+ 'longurl-r-package',
885
+ 'looid\.com',
886
  'looksystems\.net',
887
  'ltx71',
888
+ 'lua-resty-http',
889
+ 'Lucee \(CFML Engine\)',
890
+ 'Lush Http Client',
891
+ 'lwp-request',
892
  'lwp-trivial',
893
+ 'LWP::Simple',
894
  'lycos',
895
  'LYT\.SR',
896
+ 'L\.webis',
897
  'mabontland',
898
+ 'MacOutlook\/',
899
+ 'Mag-Net',
900
  'MagpieRSS',
901
+ 'Mail::STS',
902
+ 'MailChimp',
903
+ 'Mail\.Ru',
904
+ 'Majestic12',
905
+ 'makecontact\/',
906
  'Mandrill',
907
+ 'MapperCmd',
908
  'marketinggrader',
909
+ 'MarkMonitor',
910
+ 'MarkWatch',
911
+ 'Mass Downloader',
912
+ 'masscan\/',
913
+ 'Mata Hari',
914
+ 'mattermost',
915
+ 'Mediametric',
916
  'Mediapartners-Google',
917
+ 'mediawords',
918
  'MegaIndex\.ru',
919
+ 'MeltwaterNews',
920
+ 'Melvil Rawi',
921
+ 'MemGator',
922
  'Metaspinner',
923
  'MetaURI',
924
+ 'MFC_Tear_Sample',
925
  'Microsearch',
926
+ 'Microsoft Data Access',
927
+ 'Microsoft Office',
928
+ 'Microsoft Outlook',
929
  'Microsoft Windows Network Diagnostics',
930
+ 'Microsoft-WebDAV-MiniRedir',
931
+ 'Microsoft\.Data\.Mashup',
932
+ 'MIDown tool',
933
+ 'MIIxpc',
934
  'Mindjet',
935
+ 'Miniature\.io',
936
  'Miniflux',
937
+ 'mio_httpc',
938
+ 'Miro-HttpClient',
939
+ 'Mister PiX',
940
+ 'mixdata dot com',
941
+ 'mixed-content-scan',
942
+ 'mixnode',
943
  'Mnogosearch',
944
  'mogimogi',
945
+ 'Mojeek',
946
+ 'Mojolicious \(Perl\)',
947
  'monitis',
948
+ 'Monitority\/',
949
+ 'Monit\/',
950
  'montastic',
951
  'MonTools',
952
  'Moreover',
953
+ 'Morfeus Fucking Scanner',
954
  'Morning Paper',
955
+ 'MovableType',
956
  'mowser',
957
  'Mrcgiguy',
958
+ 'Mr\.4x3 Powered',
959
+ 'MS Web Services Client Protocol',
960
+ 'MSFrontPage',
961
  'mShots',
962
+ 'MuckRack\/',
963
+ 'muhstik-scan',
964
  'MVAClient',
965
+ 'MxToolbox\/',
966
+ 'myseosnapshot',
967
  'nagios',
968
+ 'Najdi\.si',
969
+ 'Name Intelligence',
970
+ 'NameFo\.com',
971
+ 'Nameprotect',
972
+ 'nationalarchives',
973
+ 'Navroad',
974
+ 'NearSite',
975
+ 'Needle',
976
+ 'Nessus',
977
+ 'Net Vampire',
978
+ 'NetAnts',
979
  'NETCRAFT',
980
+ 'NetLyzer',
981
+ 'NetMechanic',
982
+ 'NetNewsWire',
983
+ 'Netpursual',
984
  'netresearch',
985
  'NetShelter ContentScan',
986
+ 'Netsparker',
987
+ 'NetSystemsResearch',
988
+ 'nettle',
989
  'NetTrack',
990
  'Netvibes',
991
+ 'NetZIP',
992
  'Neustar WPM',
993
  'NeutrinoAPI',
994
+ 'NewRelicPinger',
995
  'NewsBlur .*Finder',
996
  'NewsGator',
997
  'newsme',
998
  'newspaper\/',
999
+ 'Nexgate Ruby Client',
1000
  'NG-Search',
1001
+ 'nghttp2',
1002
+ 'Nibbler',
1003
+ 'NICErsPRO',
1004
+ 'NihilScio',
1005
+ 'Nikto',
1006
+ 'nineconnections',
1007
  'NLNZ_IAHarvester',
1008
  'Nmap Scripting Engine',
1009
+ 'node-fetch',
1010
  'node-superagent',
1011
+ 'node-urllib',
1012
+ 'Nodemeter',
1013
+ 'NodePing',
1014
  'node\.io',
1015
  'nominet\.org\.uk',
1016
+ 'nominet\.uk',
1017
  'Norton-Safeweb',
1018
  'Notifixious',
1019
  'notifyninja',
1020
+ 'NotionEmbedder',
1021
  'nuhk',
1022
  'nutch',
1023
  'Nuzzel',
1024
  'nWormFeedFinder',
1025
+ 'nyawc\/',
1026
  'Nymesis',
1027
+ 'NYU',
1028
+ 'Observatory\/',
1029
+ 'Ocelli\/',
1030
+ 'Octopus',
1031
  'oegp',
1032
+ 'Offline Explorer',
1033
+ 'Offline Navigator',
1034
+ 'OgScrper',
1035
  'okhttp',
 
1036
  'omgili',
1037
+ 'OMSC',
1038
  'Online Domain Tools',
1039
+ 'Open Source RSS',
1040
  'OpenCalaisSemanticProxy',
1041
+ 'Openfind',
1042
+ 'OpenLinkProfiler',
1043
  'Openstat\/',
1044
  'OpenVAS',
1045
+ 'OPPO A33',
1046
  'Optimizer',
1047
  'Orbiter',
1048
+ 'OrgProbe\/',
1049
+ 'orion-semantics',
1050
+ 'Outlook-Express',
1051
+ 'Outlook-iOS',
1052
+ 'Owler',
1053
+ 'Owlin',
1054
  'ownCloud News',
1055
+ 'ow\.ly',
1056
+ 'OxfordCloudService',
1057
+ 'page scorer',
1058
  'Page Valet',
1059
  'page2rss',
1060
+ 'PageFreezer',
1061
+ 'PageGrabber',
1062
  'PagePeeker',
1063
+ 'PageScorer',
1064
+ 'Pagespeed\/',
1065
+ 'PageThing',
1066
+ 'page_verifier',
1067
  'Panopta',
1068
  'panscient',
1069
+ 'Papa Foto',
1070
  'parsijoo',
1071
+ 'Pavuk',
1072
  'PayPal IPN',
1073
+ 'pcBrowser',
1074
  'Pcore-HTTP',
1075
+ 'PDF24 URL To PDF',
1076
  'Pearltrees',
1077
+ 'PECL::HTTP',
1078
  'peerindex',
1079
  'Peew',
1080
+ 'PeoplePal',
1081
+ 'Perlu -',
1082
+ 'PhantomJS Screenshoter',
1083
  'PhantomJS\/',
1084
  'Photon\/',
1085
+ 'php-requests',
1086
  'phpservermon',
1087
  'Pi-Monster',
1088
+ 'Picscout',
1089
+ 'Picsearch',
1090
+ 'PictureFinder',
1091
+ 'Pimonster',
1092
+ 'Pingability',
1093
+ 'PingAdmin\.Ru',
1094
+ 'Pingdom',
1095
  'Pingoscope',
1096
  'PingSpot',
1097
+ 'ping\.blo\.gs',
1098
+ 'pinterest\.com',
1099
+ 'Pixray',
1100
  'Pizilla',
1101
+ 'Plagger\/',
1102
+ 'Pleroma ',
1103
  'Ploetz \+ Zeller',
1104
  'Plukkie',
1105
+ 'plumanalytics',
1106
+ 'PocketImageCache',
1107
  'PocketParser',
1108
+ 'Pockey',
1109
+ 'PodcastAddict\/',
1110
+ 'POE-Component-Client-HTTP',
1111
+ 'Polymail\/',
1112
  'Pompos',
1113
  'Porkbun',
1114
  'Port Monitor',
1115
  'postano',
1116
+ 'postfix-mta-sts-resolver',
1117
+ 'PostmanRuntime',
1118
+ 'postplanner\.com',
1119
  'PostPost',
1120
  'postrank',
1121
  'PowerPoint\/',
1122
+ 'Prebid',
1123
+ 'Prerender',
1124
  'Priceonomics Analysis Engine',
1125
+ 'PrintFriendly',
1126
+ 'PritTorrent',
1127
  'Prlog',
1128
  'probethenet',
1129
+ 'Project ?25499',
1130
+ 'Project-Resonance',
1131
  'prospectb2b',
1132
  'Protopage',
1133
+ 'ProWebWalker',
1134
  'proximic',
1135
+ 'PRTG Network Monitor',
1136
+ 'pshtt, https scanning',
1137
  'PTST ',
1138
  'PTST\/[0-9]+',
1139
+ 'Pump',
1140
  'Python-httplib2',
1141
+ 'python-httpx',
1142
  'python-requests',
1143
  'Python-urllib',
1144
  'Qirina Hurdler',
1145
+ 'QQDownload',
1146
+ 'QrafterPro',
1147
  'Qseero',
1148
+ 'Qualidator',
1149
+ 'QueryN Metasearch',
1150
+ 'queuedriver',
1151
+ 'quic-go-HTTP\/',
1152
+ 'QuiteRSS',
1153
  'Quora Link Preview',
1154
  'Qwantify',
1155
  'Radian6',
1156
+ 'RadioPublicImageResizer',
1157
+ 'Railgun\/',
1158
+ 'RankActive',
1159
+ 'RankFlex',
1160
  'RankSonicSiteAuditor',
1161
+ 'RapidLoad\/',
1162
+ 'Re-re Studio',
1163
+ 'ReactorNetty',
1164
  'Readability',
1165
+ 'RealDownload',
1166
  'RealPlayer%20Downloader',
1167
  'RebelMouse',
1168
+ 'Recorder',
1169
+ 'RecurPost\/',
1170
  'redback\/',
 
1171
  'ReederForMac',
1172
+ 'Reeder\/',
1173
+ 'ReGet',
1174
+ 'RepoMonkey',
1175
+ 'request\.js',
1176
+ 'reqwest\/',
1177
+ 'ResponseCodeTest',
1178
  'RestSharp',
 
1179
  'Riddler',
1180
  'Rival IQ',
1181
  'Robosourcer',
1182
+ 'Robozilla',
1183
  'ROI Hunter',
1184
+ 'RPT-HTTPClient',
1185
+ 'RSSMix\/',
1186
+ 'RSSOwl',
1187
+ 'RyowlEngine',
1188
+ 'safe-agent-scanner',
1189
  'SalesIntelligent',
1190
+ 'Saleslift',
1191
+ 'SAP NetWeaver Application Server',
1192
  'SauceNAO',
1193
  'SBIder',
1194
+ 'sc-downloader',
1195
+ 'scalaj-http',
1196
+ 'Scamadviser-Frontend',
1197
+ 'ScanAlert',
1198
+ 'scan\.lol',
1199
  'Scoop',
1200
  'scooter',
1201
+ 'ScopeContentAG-HTTP-Client',
1202
  'ScoutJet',
1203
  'ScoutURLMonitor',
1204
+ 'ScrapeBox Page Scanner',
1205
  'Scrapy',
1206
+ 'Screaming',
1207
+ 'ScreenShotService',
1208
  'Scrubby',
1209
+ 'Scrutiny\/',
1210
+ 'Search37',
1211
+ 'searchenginepromotionhelp',
1212
+ 'Searchestate',
1213
+ 'SearchExpress',
1214
  'SearchSight',
1215
+ 'SearchWP',
1216
+ 'search\.thunderstone',
1217
+ 'Seeker',
1218
  'semanticdiscovery',
1219
  'semanticjuice',
1220
+ 'Semiocast HTTP client',
1221
+ 'Semrush',
1222
+ 'Sendsay\.Ru',
1223
+ 'sentry\/',
1224
  'SEO Browser',
1225
  'Seo Servis',
1226
+ 'seo-nastroj\.cz',
1227
+ 'seo4ajax',
1228
  'Seobility',
1229
  'SEOCentro',
1230
  'SeoCheck',
1231
+ 'SEOkicks',
1232
+ 'SEOlizer',
1233
+ 'Seomoz',
1234
+ 'SEOprofiler',
1235
+ 'seoscanners',
1236
+ 'SEOsearch',
1237
+ 'seositecheckup',
1238
  'SEOstats',
1239
+ 'servernfo',
1240
+ 'sexsearcher',
1241
+ 'Seznam',
1242
  'Shelob',
1243
+ 'Shodan',
1244
+ 'Shoppimon',
1245
  'ShopWiki',
1246
  'ShortLinkTranslate',
1247
+ 'shortURL lengthener',
1248
  'shrinktheweb',
1249
+ 'Sideqik',
1250
+ 'Siege',
1251
  'SimplePie',
1252
  'SimplyFast',
1253
+ 'Siphon',
1254
+ 'SISTRIX',
1255
+ 'Site Sucker',
1256
  'Site-Shot\/',
1257
  'Site24x7',
1258
  'SiteBar',
1259
+ 'Sitebeam',
1260
+ 'Sitebulb\/',
1261
  'SiteCondor',
1262
+ 'SiteExplorer',
1263
  'SiteGuardian',
1264
+ 'Siteimprove',
1265
+ 'SiteIndexed',
1266
  'Sitemap(s)? Generator',
1267
+ 'SitemapGenerator',
1268
+ 'SiteMonitor',
1269
  'Siteshooter B0t',
1270
+ 'SiteSnagger',
1271
+ 'SiteSucker',
1272
  'SiteTruth',
1273
+ 'Sitevigil',
1274
  'sitexy\.com',
1275
  'SkypeUriPreview',
1276
+ 'Slack\/',
1277
+ 'sli-systems\.com',
1278
  'slider\.com',
1279
  'slurp',
1280
+ 'SlySearch',
1281
+ 'SmartDownload',
1282
  'SMRF URL Expander',
1283
+ 'SMUrlExpander',
1284
+ 'Snake',
1285
  'Snappy',
1286
+ 'SnapSearch',
1287
+ 'Snarfer\/',
1288
  'SniffRSS',
1289
  'sniptracker',
1290
  'Snoopy',
1291
+ 'SnowHaze Search',
1292
  'sogou web',
1293
  'SortSite',
1294
+ 'Sottopop',
1295
+ 'sovereign\.ai',
1296
+ 'SpaceBison',
1297
+ 'SpamExperts',
1298
+ 'Spammen',
1299
+ 'Spanner',
1300
  'spaziodati',
1301
+ 'SPDYCheck',
1302
  'Specificfeeds',
1303
  'speedy',
1304
  'SPEng',
1306
  'spray-can',
1307
  'Sprinklr ',
1308
  'spyonweb',
1309
+ 'sqlmap',
1310
+ 'Sqlworm',
1311
  'Sqworm',
1312
  'SSL Labs',
1313
+ 'ssl-tools',
1314
  'StackRambler',
1315
  'Statastico\/',
1316
+ 'Statically-',
1317
  'StatusCake',
1318
+ 'Steeler',
1319
  'Stratagems Kumo',
1320
+ 'Stripe\/',
1321
+ 'Stroke\.cz',
1322
  'StudioFACA',
1323
+ 'StumbleUpon',
1324
  'suchen',
1325
+ 'Sucuri',
1326
  'summify',
1327
+ 'SuperHTTP',
1328
  'Surphace Scout',
1329
+ 'Suzuran',
1330
+ 'swcd ',
1331
+ 'Symfony BrowserKit',
1332
  'Symfony2 BrowserKit',
1333
+ 'Synapse\/',
1334
+ 'Syndirella\/',
1335
+ 'SynHttpClient-Built',
1336
  'Sysomos',
1337
+ 'sysscan',
1338
+ 'Szukacz',
1339
  'T0PHackTeam',
1340
+ 'tAkeOut',
1341
  'Tarantula\/',
1342
+ 'Taringa UGC',
1343
+ 'TarmotGezgin',
1344
+ 'tchelebi\.io',
1345
+ 'techiaith\.cymru',
1346
+ 'Teleport',
1347
+ 'Telesoft',
1348
+ 'Telesphoreo',
1349
+ 'Telesphorep',
1350
+ 'Tenon\.io',
1351
  'teoma',
1352
+ 'terrainformatica',
1353
+ 'Test Certificate Info',
1354
+ 'testuri',
1355
+ 'Tetrahedron',
1356
+ 'TextRazor Downloader',
1357
+ 'The Drop Reaper',
1358
  'The Expert HTML Source Viewer',
1359
+ 'The Intraformant',
1360
+ 'The Knowledge AI',
1361
  'theinternetrules',
1362
+ 'TheNomad',
1363
+ 'Thinklab',
1364
+ 'Thumbor',
1365
  'Thumbshots',
1366
  'ThumbSniper',
1367
+ 'timewe\.net',
1368
  'TinEye',
1369
  'Tiny Tiny RSS',
1370
+ 'TLSProbe\/',
1371
+ 'Toata',
1372
  'topster',
1373
+ 'touche\.com',
1374
+ 'Traackr\.com',
1375
+ 'tracemyfile',
1376
+ 'Trackuity',
1377
+ 'TrapitAgent',
1378
+ 'Trendiction',
1379
+ 'Trendsmap',
1380
+ 'trendspottr',
1381
  'truwoGPS',
1382
+ 'TryJsoup',
1383
+ 'TulipChain',
1384
+ 'Turingos',
1385
+ 'Turnitin',
1386
+ 'tweetedtimes',
1387
  'Tweetminster',
1388
+ 'Tweezler\/',
1389
+ 'twibble',
1390
+ 'Twice',
1391
  'Twikle',
1392
  'Twingly',
1393
+ 'Twisted PageGetter',
1394
  'Typhoeus',
1395
  'ubermetrics-technologies',
1396
  'uclassify',
1397
  'UdmSearch',
1398
+ 'ultimate_sitemap_parser',
1399
+ 'unchaos',
1400
+ 'unirest-java',
1401
+ 'UniversalFeedParser',
1402
+ 'unshortenit',
1403
+ 'Unshorten\.It',
1404
+ 'Untiny',
1405
  'UnwindFetchor',
1406
  'updated',
1407
+ 'updown\.io daemon',
1408
  'Upflow',
1409
+ 'Uptimia',
1410
+ 'URL Verifier',
1411
+ 'Urlcheckr',
1412
+ 'URLitor',
1413
  'urlresolver',
1414
  'Urlstat',
1415
+ 'URLTester',
1416
  'UrlTrends Ranking Updater',
1417
+ 'URLy Warning',
1418
+ 'URLy\.Warning',
1419
+ 'URL\/Emacs',
1420
+ 'Vacuum',
1421
  'Vagabondo',
1422
+ 'VB Project',
1423
+ 'vBSEO',
1424
+ 'VCI',
1425
  'via ggpht\.com GoogleImageProxy',
1426
+ 'Virusdie',
1427
  'visionutils',
1428
  'vkShare',
1429
+ 'VoidEYE',
1430
+ 'Voil',
1431
  'voltron',
 
1432
  'voyager\/',
1433
+ 'VSAgent\/',
1434
+ 'VSB-TUO\/',
1435
+ 'Vulnbusters Meter',
1436
  'VYU2',
1437
  'w3af\.org',
1438
  'W3C-checklink',
1439
  'W3C-mobileOK',
 
1440
  'W3C_Unicorn',
1441
+ 'WAC-OFU',
1442
+ 'WakeletLinkExpander',
1443
+ 'WallpapersHD',
1444
+ 'Wallpapers\/[0-9]+',
1445
  'wangling',
1446
  'Wappalyzer',
1447
  'WatchMouse',
1448
  'WbSrch\/',
1449
+ 'WDT\.io',
1450
+ 'Web Auto',
1451
+ 'Web Collage',
1452
+ 'Web Enhancer',
1453
+ 'Web Fetch',
1454
+ 'Web Fuck',
1455
+ 'Web Pix',
1456
+ 'Web Sauger',
1457
+ 'Web spyder',
1458
+ 'Web Sucker',
1459
  'web-capture\.net',
 
1460
  'Web-sniffer',
1461
+ 'Webalta',
1462
  'Webauskunft',
1463
+ 'WebAuto',
1464
  'WebCapture',
1465
+ 'WebClient\/',
1466
  'webcollage',
1467
  'WebCookies',
1468
+ 'WebCopier',
1469
  'WebCorp',
1470
+ 'WebDataStats',
1471
  'WebDoc',
1472
+ 'WebEnhancer',
1473
  'WebFetch',
1474
+ 'WebFuck',
1475
+ 'WebGazer',
1476
+ 'WebGo IS',
1477
+ 'WebImageCollector',
1478
  'WebImages',
1479
  'WebIndex',
1480
  'webkit2png',
1481
+ 'WebLeacher',
1482
  'webmastercoffee',
1483
  'webmon ',
1484
+ 'WebPix',
1485
+ 'WebReaper',
1486
+ 'WebSauger',
1487
  'webscreenie',
1488
+ 'Webshag',
1489
  'Webshot',
1490
+ 'Website Quester',
1491
+ 'websitepulse agent',
1492
+ 'WebsiteQuester',
1493
+ 'Websnapr',
1494
+ 'WebSniffer',
1495
+ 'Webster',
1496
+ 'WebStripper',
1497
+ 'WebSucker',
1498
+ 'webtech\/',
1499
  'WebThumbnail',
1500
+ 'Webthumb\/',
1501
+ 'WebWhacker',
1502
+ 'WebZIP',
1503
  'WeLikeLinks',
1504
  'WEPA',
1505
  'WeSEE',
1506
  'wf84',
1507
+ 'Wfuzz\/',
1508
  'wget',
1509
+ 'WhatCMS',
1510
  'WhatsApp',
1511
  'WhatsMyIP',
1512
  'WhatWeb',
1513
+ 'WhereGoes\?',
1514
  'Whibse',
1515
+ 'WhoAPI\/',
1516
+ 'WhoRunsCoinHive',
1517
  'Whynder Magnet',
1518
  'Windows-RSS-Platform',
1519
+ 'WinHttp-Autoproxy-Service',
1520
+ 'WinHTTP\/',
1521
+ 'WinPodder',
1522
  'wkhtmlto',
1523
  'wmtips',
1524
  'Woko',
1525
+ 'Wolfram HTTPClient',
1526
+ 'woorankreview',
1527
  'WordPress\/',
1528
+ 'WordupinfoSearch',
1529
+ 'Word\/',
1530
+ 'worldping-api',
1531
  'wotbox',
1532
  'WP Engine Install Performance API',
1533
+ 'WP Rocket',
1534
+ 'wpif',
1535
+ 'wprecon\.com survey',
1536
  'WPScan',
1537
  'wscheck',
1538
+ 'Wtrace',
1539
+ 'WWW-Collector-E',
1540
  'WWW-Mechanize',
1541
+ 'WWW::Document',
1542
+ 'WWW::Mechanize',
1543
+ 'WWWOFFLE',
1544
  'www\.monitor\.us',
1545
+ 'x09Mozilla',
1546
+ 'x22Mozilla',
1547
  'XaxisSemanticsClassifier',
1548
+ 'XenForo\/',
1549
  'Xenu Link Sleuth',
1550
+ 'XING-contenttabreceiver',
 
1551
  'xpymep([0-9]?)\.exe',
1552
+ 'Y!J-[A-Z][A-Z][A-Z]',
1553
  'Yaanb',
1554
  'yacy',
 
1555
  'Yahoo Link Preview',
1556
  'YahooCacheSystem',
1557
+ 'YahooMailProxy',
1558
  'YahooYSMcm',
1559
  'YandeG',
1560
+ 'Yandex(?!Search)',
1561
  'yanga',
1562
  'yeti',
1563
  'Yo-yo',
1564
  'Yoleo Consumer',
1565
+ 'yomins\.com',
1566
  'yoogliFetchAgent',
1567
  'YottaaMonitor',
1568
+ 'Your-Website-Sucks',
1569
  'yourls\.org',
1570
+ 'YoYs\.net',
1571
+ 'YP\.PL',
1572
+ 'Zabbix',
1573
+ 'Zade',
1574
  'Zao',
1575
+ 'Zauba',
1576
  'Zemanta Aggregator',
1577
  'Zend\\\\Http\\\\Client',
1578
  'Zend_Http_Client',
1579
+ 'Zermelo',
1580
+ 'Zeus ',
1581
  'zgrab',
1582
  'ZnajdzFoto',
1583
+ 'ZnHTTP',
1584
+ 'Zombie\.js',
1585
+ 'Zoom\.Mac',
1586
+ 'ZoteroTranslationServer',
1587
  'ZyBorg',
1588
+ '[a-z0-9\-_]*(bot|crawl|archiver|transcoder|spider|uptime|validator|fetcher|cron|checker|reader|extractor|monitoring|analyzer|scraper)'
1589
  );
1590
 
1591
  return $data;
1600
  $data = array(
1601
  'Safari.[\d\.]*',
1602
  'Firefox.[\d\.]*',
1603
+ ' Chrome.[\d\.]*',
1604
  'Chromium.[\d\.]*',
1605
  'MSIE.[\d\.]',
1606
  'Opera\/[\d\.]*',
1638
  'Opera Mini\/\d{1,2}\.\d{1,2}\.[\d\.]*\/\d{1,2}\.',
1639
  'Opera',
1640
  ' \.NET[\d\.]*',
1641
+ 'cubot',
1642
+ '; M bot',
1643
+ '; CRONO',
1644
+ '; B bot',
1645
+ '; IDbot',
1646
+ '; ID bot',
1647
+ '; POWER BOT',
1648
+ 'OCTOPUS-CORE'
1649
  );
1650
 
1651
  return $data;
1658
  */
1659
  public function get_headers_list() {
1660
  $data = array(
1661
+ // The default User-Agent string.
1662
  'HTTP_USER_AGENT',
1663
+ // Header can occur on devices using Opera Mini.
1664
  'HTTP_X_OPERAMINI_PHONE_UA',
1665
+ // Vodafone specific header: http://www.seoprinciple.com/mobile-web-community-still-angry-at-vodafone/24/
1666
  'HTTP_X_DEVICE_USER_AGENT',
1667
  'HTTP_X_ORIGINAL_USER_AGENT',
1668
  'HTTP_X_SKYFIRE_PHONE',
1669
  'HTTP_X_BOLT_PHONE_UA',
1670
  'HTTP_DEVICE_STOCK_UA',
1671
  'HTTP_X_UCBROWSER_DEVICE_UA',
1672
+ // Sometimes, bots (especially Google) use a genuine user agent, but fill this header in with their email address
1673
  'HTTP_FROM',
1674
+ 'HTTP_X_SCANNER' // Seen in use by Netsparker
1675
  );
1676
 
1677
  return $data;
1678
  }
1679
+ }
 
includes/settings.php CHANGED
@@ -211,6 +211,8 @@ class Cookie_Notice_Settings {
211
 
212
  // get cookie compliance status
213
  $status = $cn->get_status();
 
 
214
 
215
  echo '
216
  <div class="wrap">
@@ -223,16 +225,39 @@ class Cookie_Notice_Settings {
223
 
224
  // compliance enabled
225
  if ( $status === 'active' ) {
226
- echo ' <h2>We\'re Promoting Privacy&trade;</h2>
227
- <p>' . __( 'Promote the privacy of your website visitors without affecting how you do your business.', 'cookie-notice' ) . '</p>';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
228
  } else {
229
- echo ' <h1><b>Cookie Compliance&trade;</b></h1>
230
- <h2>' . __( 'The next generation of Cookie Notice', 'cookie-notice' ) . '</h2>
231
  <div class="cn-lead">
232
- <p>' . __( 'A free web application to help you deliver better consent experiences and comply with GDPR, CCPA and other data privacy laws more effectively.', 'cookie-notice' ) . '</p>
233
  </div>
234
  <img alt="' . __( 'Cookie Compliance dashboard', 'cookie-notice' ) . '" src="' . COOKIE_NOTICE_URL . '/img/screen-compliance.png">
235
- <a href="https://cookie-compliance.co/?utm_campaign=learn+more&utm_source=wordpress&utm_medium=banner" class="button button-primary button-hero cn-button" target="_blank">' . __( 'Learn more', 'cookie-notice' ) . '</a>';
236
  }
237
 
238
  echo '
@@ -240,13 +265,12 @@ class Cookie_Notice_Settings {
240
  </div>
241
  </div>';
242
 
243
- if ( $status !== 'active' ) {
244
- echo '
245
  <div class="cookie-notice-faq">
246
  <h2>' . __( 'F.A.Q.', 'cookie-notice' ) . '</h2>
247
  <div class="cn-toggle-container">
248
  <label for="cn-faq-1" class="cn-toggle-item">
249
- <input id="cn-faq-1" type="checkbox" checked />
250
  <span class="cn-toggle-heading">' . __( 'Does the Cookie Notice make my site fully compliant with GDPR?', 'cookie-notice' ) . '</span>
251
  <span class="cn-toggle-body">' . __( 'It is not possible to provide the required technical compliance features using only a WordPress plugin. Features like consent record storage, purpose categories and script blocking that bring your site into full compliance with GDPR are only available through the Cookie Compliance integration.', 'cookie-notice' ) . '
252
  </label>
@@ -267,7 +291,6 @@ class Cookie_Notice_Settings {
267
  </label>
268
  </div>
269
  </div>';
270
- }
271
 
272
  echo '
273
  </div>';
@@ -344,11 +367,29 @@ class Cookie_Notice_Settings {
344
  add_settings_section( 'cookie_notice_network', __( 'Network Settings', 'cookie-notice' ), [ $this, 'cn_network_section' ], 'cookie_notice_options' );
345
  add_settings_field( 'cn_dummy', '', '__return_empty_string', 'cookie_notice_options', 'cookie_notice_network' );
346
 
 
 
 
347
  // get real status of current site
348
- $status = get_option( 'cookie_notice_status', '' );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
349
 
350
  // get valid status
351
- $status = $cn->check_status( $status );
352
  }
353
  }
354
 
@@ -461,13 +502,13 @@ class Cookie_Notice_Settings {
461
  case 'active':
462
  echo '
463
  <div id="cn_app_status">
464
- <span class="cn_compliance_status">' . __( 'Notice', 'cookie-notice' ) . ': <label class="cn-active">' . __( 'Active', 'cookie-notice' ) . '</label></span>
465
- <span class="cn_compliance_status">' . __( 'Autoblocking', 'cookie-notice' ) . ': <label class="cn-active">' . __( 'Active', 'cookie-notice' ) . '</label></span>
466
- <span class="cn_compliance_status">' . __( 'Cookie Categories', 'cookie-notice' ) . ': <label class="cn-active">' . __( 'Active', 'cookie-notice' ) . '</label></span>
467
- <span class="cn_compliance_status">' . __( 'Proof-of-Consent', 'cookie-notice' ) . ': <label class="cn-active">' . __( 'Active', 'cookie-notice' ) . '</label></span>
468
  </div>
469
  <div id="cn_app_actions">
470
- <a href="' . esc_url( $cn->get_url( 'login' ) ) . '" class="button button-primary button-hero cn-button" target="_blank">' . __( 'Log in & Configure', 'cookie-notice' ) . '</a>
471
  <p class="description">' . __( 'Log into the Cookie Compliance&trade; web application and configure your Privacy Experience.', 'cookie-notice' ) . '</p>
472
  </div>';
473
  break;
@@ -475,13 +516,13 @@ class Cookie_Notice_Settings {
475
  case 'pending':
476
  echo '
477
  <div id="cn_app_status">
478
- <span class="cn_compliance_status">' . __( 'Notice', 'cookie-notice' ) . ': <label class="cn-active">' . __( 'Active', 'cookie-notice' ) . '</label></span>
479
- <span class="cn_compliance_status">' . __( 'Autoblocking', 'cookie-notice' ) . ': <label class="cn-pending">' . __( 'Pending', 'cookie-notice' ) . '</label></span>
480
- <span class="cn_compliance_status">' . __( 'Cookie Categories', 'cookie-notice' ) . ': <label class="cn-pending">' . __( 'Pending', 'cookie-notice' ) . '</label></span>
481
- <span class="cn_compliance_status">' . __( 'Proof-of-Consent', 'cookie-notice' ) . ': <label class="cn-pending">' . __( 'Pending', 'cookie-notice' ) . '</label></span>
482
  </div>
483
  <div id="cn_app_actions">
484
- <a href="' . esc_url( $cn->get_url( 'login' ) ) . '" class="button button-primary button-hero cn-button" target="_blank">' . __( 'Log in & configure', 'cookie-notice' ) . '</a>
485
  <p class="description">' . __( 'Log into the Cookie Compliance&trade; web application and complete the setup process.', 'cookie-notice' ) . '</p>
486
  </div>';
487
  break;
@@ -494,10 +535,10 @@ class Cookie_Notice_Settings {
494
 
495
  echo '
496
  <div id="cn_app_status">
497
- <span class="cn_compliance_status">' . __( 'Notice', 'cookie-notice' ) . ': <label class="cn-active">' . __( 'Active', 'cookie-notice' ) . '</label></span>
498
- <span class="cn_compliance_status">' . __( 'Autoblocking', 'cookie-notice' ) . ': <label class="cn-inactive">' . __( 'Inactive', 'cookie-notice' ) . '</label></span>
499
- <span class="cn_compliance_status">' . __( 'Cookie Categories', 'cookie-notice' ) . ': <label class="cn-inactive">' . __( 'Inactive', 'cookie-notice' ) . '</label></span>
500
- <span class="cn_compliance_status">' . __( 'Proof-of-Consent', 'cookie-notice' ) . ': <label class="cn-inactive">' . __( 'Inactive', 'cookie-notice' ) . '</label></span>
501
  </div>
502
  <div id="cn_app_actions">
503
  <a href="' . esc_url( $url ) . '" class="button button-primary button-hero cn-button cn-run-welcome">' . __( 'Add Compliance features', 'cookie-notice' ) . '</a>
@@ -1004,22 +1045,17 @@ class Cookie_Notice_Settings {
1004
 
1005
  // set app status
1006
  if ( ! empty( $input['app_id'] ) && ! empty( $input['app_key'] ) ) {
1007
- $app_status = esc_attr( $cn->welcome_api->get_app_status( $input['app_id'] ) );
1008
 
1009
- if ( $cn->check_status( $app_status ) === 'active' && $cn->options['general']['app_id'] !== $input['app_id'] && $cn->options['general']['app_key'] !== $input['app_key'] ) {
1010
  // update analytics data
1011
  $cn->welcome_api->get_app_analytics( true );
1012
  }
1013
-
1014
- if ( $is_network )
1015
- update_site_option( 'cookie_notice_status', $app_status );
1016
- else
1017
- update_option( 'cookie_notice_status', $app_status );
1018
  } else {
1019
  if ( $is_network )
1020
- update_site_option( 'cookie_notice_status', '' );
1021
  else
1022
- update_option( 'cookie_notice_status', '' );
1023
  }
1024
 
1025
  // app blocking
@@ -1144,14 +1180,14 @@ class Cookie_Notice_Settings {
1144
 
1145
  // network area?
1146
  if ( $is_network ) {
1147
- // set app status
1148
- update_site_option( 'cookie_notice_status', '' );
1149
 
1150
  // purge cache on save
1151
  delete_site_transient( 'cookie_notice_app_cache' );
1152
  } else {
1153
- // set app status
1154
- update_option( 'cookie_notice_status', '' );
1155
 
1156
  // purge cache on save
1157
  delete_transient( 'cookie_notice_app_cache' );
@@ -1339,7 +1375,7 @@ class Cookie_Notice_Settings {
1339
  delete_transient( 'cookie_notice_app_cache' );
1340
 
1341
  // request for new config data too
1342
- $cn->welcome_api->get_app_config( true );
1343
 
1344
  echo true;
1345
  exit;
211
 
212
  // get cookie compliance status
213
  $status = $cn->get_status();
214
+ $subscription = $cn->get_subscription();
215
+ $upgrade_link = $cn->get_url( 'host', '?utm_campaign=upgrade+to+pro&utm_source=wordpress&utm_medium=link#/en/cc/dashboard?app-id=' . $cn->options['general']['app_id'] . '&open-modal=payment' );
216
 
217
  echo '
218
  <div class="wrap">
225
 
226
  // compliance enabled
227
  if ( $status === 'active' ) {
228
+ echo '
229
+ <div class="cn-pricing-info">
230
+ <div class="cn-pricing-head">
231
+ <p>' . __( 'Your Cookie Compliance plan:', 'cookie-notice' ) . '</p>
232
+ <h2>' . ( $subscription === 'pro' ? __( 'Professional', 'cookie-notice' ) : __( 'Basic', 'cookie-notice' ) ) . '</h2>
233
+ </div>
234
+ <div class="cn-pricing-body">
235
+ <p class="cn-active"><span class="cn-icon"></span>' . __( 'GDPR, CCPA, ePrivacy, PECR compliance', 'cookie-notice' ) . '</p>
236
+ <p class="cn-active"><span class="cn-icon"></span>' . __( 'Consent Analytics Dashboard', 'cookie-notice' ) . '</p>
237
+ <p class="' . ( $subscription === 'pro' ? 'cn-active' : 'cn-inactive' ) . '"><span class="cn-icon"></span>' . __( '<b>Unlimited</b> visits', 'cookie-notice' ) . '</p>
238
+ <p class="' . ( $subscription === 'pro' ? 'cn-active' : 'cn-inactive' ) . '"><span class="cn-icon"></span>' . __( '<b>Lifetime</b> consent storage', 'cookie-notice' ) . '</p>
239
+ <p class="' . ( $subscription === 'pro' ? 'cn-active' : 'cn-inactive' ) . '"><span class="cn-icon"></span>' . __( '<b>Geolocation</b> support', 'cookie-notice' ) . '</p>
240
+ <p class="' . ( $subscription === 'pro' ? 'cn-active' : 'cn-inactive' ) . '"><span class="cn-icon"></span>' . __( '<b>Unlimited</b> languages', 'cookie-notice' ) . '</p>
241
+ <p class="' . ( $subscription === 'pro' ? 'cn-active' : 'cn-inactive' ) . '"><span class="cn-icon"></span>' . __( '<b>Priority</b> Support', 'cookie-notice' ) . '</p>
242
+ </div>';
243
+
244
+ if ( $subscription !== 'pro' ) {
245
+ echo ' <div class="cn-pricing-footer">
246
+ <a href="' . $upgrade_link . '" class="button button-secondary button-hero cn-button" target="_blank">' . __( 'Upgrade to Pro', 'cookie-notice' ) . '</a>
247
+ </div>';
248
+ }
249
+
250
+ echo ' </div>';
251
+
252
+ // compliance disabled
253
  } else {
254
+ echo ' <h1><b>Protect your business</b></h1>
255
+ <h2>' . __( 'with Cookie Compliance&trade;', 'cookie-notice' ) . '</h2>
256
  <div class="cn-lead">
257
+ <p>' . __( 'Deliver better consent experiences and comply with GDPR, CCPA and other data privacy laws more effectively.', 'cookie-notice' ) . '</p>
258
  </div>
259
  <img alt="' . __( 'Cookie Compliance dashboard', 'cookie-notice' ) . '" src="' . COOKIE_NOTICE_URL . '/img/screen-compliance.png">
260
+ <p><a href="https://cookie-compliance.co/?utm_campaign=learn+more&utm_source=wordpress&utm_medium=banner" class="button button-secondary button-hero cn-button" target="_blank">' . __( 'Learn more', 'cookie-notice' ) . '</a></p>';
261
  }
262
 
263
  echo '
265
  </div>
266
  </div>';
267
 
268
+ echo '
 
269
  <div class="cookie-notice-faq">
270
  <h2>' . __( 'F.A.Q.', 'cookie-notice' ) . '</h2>
271
  <div class="cn-toggle-container">
272
  <label for="cn-faq-1" class="cn-toggle-item">
273
+ <input id="cn-faq-1" type="checkbox" />
274
  <span class="cn-toggle-heading">' . __( 'Does the Cookie Notice make my site fully compliant with GDPR?', 'cookie-notice' ) . '</span>
275
  <span class="cn-toggle-body">' . __( 'It is not possible to provide the required technical compliance features using only a WordPress plugin. Features like consent record storage, purpose categories and script blocking that bring your site into full compliance with GDPR are only available through the Cookie Compliance integration.', 'cookie-notice' ) . '
276
  </label>
291
  </label>
292
  </div>
293
  </div>';
 
294
 
295
  echo '
296
  </div>';
367
  add_settings_section( 'cookie_notice_network', __( 'Network Settings', 'cookie-notice' ), [ $this, 'cn_network_section' ], 'cookie_notice_options' );
368
  add_settings_field( 'cn_dummy', '', '__return_empty_string', 'cookie_notice_options', 'cookie_notice_network' );
369
 
370
+ // get default status data
371
+ $default_data = $cn->defaults['data'];
372
+
373
  // get real status of current site
374
+ $status_data = get_option( 'cookie_notice_status', $default_data );
375
+
376
+ // old status format?
377
+ if ( ! is_array( $status_data ) ) {
378
+ // old value saved as string
379
+ if ( is_string( $status_data ) && $cn->check_status( $status_data ) ) {
380
+ // update status
381
+ $default_data['status'] = $status_data;
382
+
383
+ if ( $default_data['status'] === 'active' )
384
+ $default_data['subscription'] = 'pro';
385
+ }
386
+
387
+ // set data
388
+ $status_data = $default_data;
389
+ }
390
 
391
  // get valid status
392
+ $status = $cn->check_status( $status_data['status'] );
393
  }
394
  }
395
 
502
  case 'active':
503
  echo '
504
  <div id="cn_app_status">
505
+ <div class="cn_compliance_status"><span class="cn-status-label">' . __( 'Notice', 'cookie-notice' ) . '</span>: <span class="cn-status cn-active"><span class="cn-icon"></span> ' . __( 'Active', 'cookie-notice' ) . '</span></div>
506
+ <div class="cn_compliance_status"><span class="cn-status-label">' . __( 'Autoblocking', 'cookie-notice' ) . '</span>: <span class="cn-status cn-active"><span class="cn-icon"></span> ' . __( 'Active', 'cookie-notice' ) . '</span></div>
507
+ <div class="cn_compliance_status"><span class="cn-status-label">' . __( 'Cookie Categories', 'cookie-notice' ) . '</span>: <span class="cn-status cn-active"><span class="cn-icon"></span> ' . __( 'Active', 'cookie-notice' ) . '</span></div>
508
+ <div class="cn_compliance_status"><span class="cn-status-label">' . __( 'Proof-of-Consent', 'cookie-notice' ) . '</span>: <span class="cn-status cn-active"><span class="cn-icon"></span> ' . __( 'Active', 'cookie-notice' ) . '</span></div>
509
  </div>
510
  <div id="cn_app_actions">
511
+ <a href="' . esc_url( $cn->get_url( 'host', '?utm_campaign=configure&utm_source=wordpress&utm_medium=button#/en/cc/login' ) ) . '" class="button button-primary button-hero cn-button" target="_blank">' . __( 'Log in & Configure', 'cookie-notice' ) . '</a>
512
  <p class="description">' . __( 'Log into the Cookie Compliance&trade; web application and configure your Privacy Experience.', 'cookie-notice' ) . '</p>
513
  </div>';
514
  break;
516
  case 'pending':
517
  echo '
518
  <div id="cn_app_status">
519
+ <div class="cn_compliance_status"><span class="cn-status-label">' . __( 'Notice', 'cookie-notice' ) . '</span>: <span class="cn-status cn-active"><span class="cn-icon"></span> ' . __( 'Active', 'cookie-notice' ) . '</span></div>
520
+ <div class="cn_compliance_status"><span class="cn-status-label">' . __( 'Autoblocking', 'cookie-notice' ) . '</span>: <span class="cn-status cn-pending"><span class="cn-icon"></span> ' . __( 'Pending', 'cookie-notice' ) . '</span></div>
521
+ <div class="cn_compliance_status"><span class="cn-status-label">' . __( 'Cookie Categories', 'cookie-notice' ) . '</span>: <span class="cn-status cn-pending"><span class="cn-icon"></span> ' . __( 'Pending', 'cookie-notice' ) . '</span></div>
522
+ <div class="cn_compliance_status"><span class="cn-status-label">' . __( 'Proof-of-Consent', 'cookie-notice' ) . '</span>: <span class="cn-status cn-pending"><span class="cn-icon"></span> ' . __( 'Pending', 'cookie-notice' ) . '</span></div>
523
  </div>
524
  <div id="cn_app_actions">
525
+ <a href="' . esc_url( $cn->get_url( 'host', '?utm_campaign=configure&utm_source=wordpress&utm_medium=button#/en/cc/login' ) ) . '" class="button button-primary button-hero cn-button" target="_blank">' . __( 'Log in & configure', 'cookie-notice' ) . '</a>
526
  <p class="description">' . __( 'Log into the Cookie Compliance&trade; web application and complete the setup process.', 'cookie-notice' ) . '</p>
527
  </div>';
528
  break;
535
 
536
  echo '
537
  <div id="cn_app_status">
538
+ <div class="cn_compliance_status"><span class="cn-status-label">' . __( 'Notice', 'cookie-notice' ) . '</span>: <span class="cn-status cn-active"><span class="cn-icon"></span> ' . __( 'Active', 'cookie-notice' ) . '</span></div>
539
+ <div class="cn_compliance_status"><span class="cn-status-label">' . __( 'Autoblocking', 'cookie-notice' ) . '</span>: <span class="cn-status cn-inactive"><span class="cn-icon"></span> ' . __( 'Inactive', 'cookie-notice' ) . '</span></div>
540
+ <div class="cn_compliance_status"><span class="cn-status-label">' . __( 'Cookie Categories', 'cookie-notice' ) . '</span>: <span class="cn-status cn-inactive"><span class="cn-icon"></span> ' . __( 'Inactive', 'cookie-notice' ) . '</span></div>
541
+ <div class="cn_compliance_status"><span class="cn-status-label">' . __( 'Proof-of-Consent', 'cookie-notice' ) . '</span>: <span class="cn-status cn-inactive"><span class="cn-icon"></span> ' . __( 'Inactive', 'cookie-notice' ) . '</span></div>
542
  </div>
543
  <div id="cn_app_actions">
544
  <a href="' . esc_url( $url ) . '" class="button button-primary button-hero cn-button cn-run-welcome">' . __( 'Add Compliance features', 'cookie-notice' ) . '</a>
1045
 
1046
  // set app status
1047
  if ( ! empty( $input['app_id'] ) && ! empty( $input['app_key'] ) ) {
1048
+ $app_data = $cn->welcome_api->get_app_config( $input['app_id'], true );
1049
 
1050
+ if ( $cn->check_status( $app_data['status'] ) === 'active' && $cn->options['general']['app_id'] !== $input['app_id'] && $cn->options['general']['app_key'] !== $input['app_key'] ) {
1051
  // update analytics data
1052
  $cn->welcome_api->get_app_analytics( true );
1053
  }
 
 
 
 
 
1054
  } else {
1055
  if ( $is_network )
1056
+ update_site_option( 'cookie_notice_status', $cn->defaults['data'] );
1057
  else
1058
+ update_option( 'cookie_notice_status', $cn->defaults['data'] );
1059
  }
1060
 
1061
  // app blocking
1180
 
1181
  // network area?
1182
  if ( $is_network ) {
1183
+ // set app data
1184
+ update_site_option( 'cookie_notice_status', $cn->defaults['data'] );
1185
 
1186
  // purge cache on save
1187
  delete_site_transient( 'cookie_notice_app_cache' );
1188
  } else {
1189
+ // set app data
1190
+ update_option( 'cookie_notice_status', $cn->defaults['data'] );
1191
 
1192
  // purge cache on save
1193
  delete_transient( 'cookie_notice_app_cache' );
1375
  delete_transient( 'cookie_notice_app_cache' );
1376
 
1377
  // request for new config data too
1378
+ $cn->welcome_api->get_app_config( '', true );
1379
 
1380
  echo true;
1381
  exit;
includes/welcome-api.php CHANGED
@@ -219,7 +219,7 @@ class Cookie_Notice_Welcome_API {
219
  break;
220
  }
221
 
222
- // @todo: check if subscribtion exists
223
  $subscription = $this->request(
224
  'create_subscription',
225
  [
@@ -235,6 +235,21 @@ class Cookie_Notice_Welcome_API {
235
  break;
236
  }
237
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
238
  $response = $app_id;
239
  break;
240
 
@@ -401,6 +416,7 @@ class Cookie_Notice_Welcome_API {
401
  $params['Languages'] = [ $locale_code[0] ];
402
 
403
  $response = $this->request( 'quick_config', $params );
 
404
 
405
  if ( $response->status === 200 ) {
406
  // notify publish app
@@ -412,18 +428,21 @@ class Cookie_Notice_Welcome_API {
412
 
413
  if ( $response->status === 200 ) {
414
  $response = true;
 
415
 
416
  // update app status
417
  if ( $network )
418
- update_site_option( 'cookie_notice_status', 'active' );
419
  else
420
- update_option( 'cookie_notice_status', 'active' );
421
  } else {
 
 
422
  // update app status
423
  if ( $network )
424
- update_site_option( 'cookie_notice_status', 'pending' );
425
  else
426
- update_option( 'cookie_notice_status', 'pending' );
427
 
428
  // errors?
429
  if ( ! empty( $response->error ) )
@@ -436,11 +455,13 @@ class Cookie_Notice_Welcome_API {
436
  }
437
  }
438
  } else {
 
 
439
  // update app status
440
  if ( $network )
441
- update_site_option( 'cookie_notice_status', 'pending' );
442
  else
443
- update_option( 'cookie_notice_status', 'pending' );
444
 
445
  // errors?
446
  if ( ! empty( $response->error ) ) {
@@ -618,6 +639,7 @@ class Cookie_Notice_Welcome_API {
618
  $params['Languages'] = [ $locale_code[0] ];
619
 
620
  $response = $this->request( 'quick_config', $params );
 
621
 
622
  if ( $response->status === 200 ) {
623
  // @todo notify publish app
@@ -629,18 +651,21 @@ class Cookie_Notice_Welcome_API {
629
 
630
  if ( $response->status === 200 ) {
631
  $response = true;
 
632
 
633
  // update app status
634
  if ( $network )
635
- update_site_option( 'cookie_notice_status', 'active' );
636
  else
637
- update_option( 'cookie_notice_status', 'active' );
638
  } else {
 
 
639
  // update app status
640
  if ( $network )
641
- update_site_option( 'cookie_notice_status', 'pending' );
642
  else
643
- update_option( 'cookie_notice_status', 'pending' );
644
 
645
  // errors?
646
  if ( ! empty( $response->error ) )
@@ -653,11 +678,13 @@ class Cookie_Notice_Welcome_API {
653
  }
654
  }
655
  } else {
 
 
656
  // update app status
657
  if ( $network )
658
- update_site_option( 'cookie_notice_status', 'pending' );
659
  else
660
- update_option( 'cookie_notice_status', 'pending' );
661
 
662
  // errors?
663
  if ( ! empty( $response->error ) ) {
@@ -1124,49 +1151,17 @@ class Cookie_Notice_Welcome_API {
1124
  wp_clear_scheduled_hook( 'cookie_notice_get_app_config' );
1125
  }
1126
  }
1127
-
1128
- /**
1129
- * Get app status.
1130
- *
1131
- * @return bool|string
1132
- */
1133
- public function get_app_status( $app_id ) {
1134
- $result = '';
1135
-
1136
- if ( ! current_user_can( apply_filters( 'cn_manage_cookie_notice_cap', 'manage_options' ) ) )
1137
- return false;
1138
-
1139
- $response = $this->request(
1140
- 'get_config',
1141
- [
1142
- 'AppID' => $app_id
1143
- ]
1144
- );
1145
-
1146
- if ( ! empty( $response->data ) )
1147
- $result = 'active';
1148
- else {
1149
- if ( ! empty( $response->error ) ) {
1150
- if ( $response->error == 'App is not published yet' )
1151
- $result = 'pending';
1152
- else
1153
- $result = '';
1154
- }
1155
- }
1156
-
1157
- return $result;
1158
- }
1159
 
1160
  /**
1161
  * Get app analytics.
1162
  *
1163
- * @return array
 
1164
  */
1165
  public function get_app_analytics( $force_update = false ) {
1166
  // get main instance
1167
  $cn = Cookie_Notice();
1168
 
1169
- $result = [];
1170
  $allow_one_cron_per_hour = false;
1171
 
1172
  if ( is_multisite() && $cn->is_plugin_network_active() && $cn->network_options['global_override'] ) {
@@ -1201,42 +1196,44 @@ class Cookie_Notice_Welcome_API {
1201
 
1202
  // get analytics
1203
  if ( ! empty( $response->data ) ) {
1204
- $result = ! empty( $response->data ) ? map_deep( (array) $response->data, 'sanitize_text_field' ) : [];
1205
 
1206
- // update app status
1207
- if ( ! empty( $result ) ) {
1208
- // add time updated
1209
- $result['lastUpdated'] = date( 'Y-m-d H:i:s', current_time( 'timestamp', true ) );
1210
 
1211
- if ( $network )
1212
- update_site_option( 'cookie_notice_app_analytics', $result );
1213
- else
1214
- update_option( 'cookie_notice_app_analytics', $result, false );
1215
- }
1216
  }
1217
  }
1218
 
1219
  /**
1220
  * Get app config.
1221
  *
1222
- * @return array
 
 
1223
  */
1224
- public function get_app_config( $force_update = false ) {
1225
  // get main instance
1226
  $cn = Cookie_Notice();
1227
 
1228
- $result = [];
1229
  $allow_one_cron_per_hour = false;
1230
-
1231
  if ( is_multisite() && $cn->is_plugin_network_active() && $cn->network_options['global_override'] ) {
1232
- $app_id = $cn->network_options['app_id'];
 
 
1233
  $network = true;
1234
  $allow_one_cron_per_hour = true;
1235
  } else {
1236
- $app_id = $cn->options['general']['app_id'];
 
 
1237
  $network = false;
1238
  }
1239
-
1240
  // in global override mode allow only one cron per hour
1241
  if ( $allow_one_cron_per_hour && ! $force_update ) {
1242
  $blocking = get_site_option( 'cookie_notice_app_blocking', [] );
@@ -1250,7 +1247,8 @@ class Cookie_Notice_Welcome_API {
1250
  return;
1251
  }
1252
  }
1253
-
 
1254
  $response = $this->request(
1255
  'get_config',
1256
  [
@@ -1258,25 +1256,48 @@ class Cookie_Notice_Welcome_API {
1258
  ]
1259
  );
1260
 
 
 
 
1261
  // get config
1262
  if ( ! empty( $response->data ) ) {
1263
- $result_raw = ! empty( $response->data ) ? map_deep( (array) $response->data, 'sanitize_text_field' ) : [];
 
1264
 
1265
- // process blocking data
1266
- if ( ! empty( $result_raw ) ) {
1267
- $result['categories'] = ! empty( $result_raw['DefaultCategoryJSON'] ) && is_array( $result_raw['DefaultCategoryJSON'] ) ? $result_raw['DefaultCategoryJSON'] : [];
1268
- $result['providers'] = ! empty( $result_raw['DefaultProviderJSON'] ) && is_array( $result_raw['DefaultProviderJSON'] ) ? $result_raw['DefaultProviderJSON'] : [];
1269
- $result['patterns'] = ! empty( $result_raw['DefaultCookieJSON'] ) && is_array( $result_raw['DefaultCookieJSON'] ) ? $result_raw['DefaultCookieJSON'] : [];
1270
-
1271
- // add time updated
1272
- $result['lastUpdated'] = date( 'Y-m-d H:i:s', current_time( 'timestamp', true ) );
1273
 
1274
- if ( $network )
1275
- update_site_option( 'cookie_notice_app_blocking', $result );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1276
  else
1277
- update_option( 'cookie_notice_app_blocking', $result, false );
1278
  }
1279
  }
 
 
 
 
 
 
 
1280
  }
1281
 
1282
  /**
219
  break;
220
  }
221
 
222
+ // @todo: check if subscription exists
223
  $subscription = $this->request(
224
  'create_subscription',
225
  [
235
  break;
236
  }
237
 
238
+ $status_data = $cn->defaults['data'];
239
+
240
+ // update app status
241
+ if ( $network ) {
242
+ $status_data = get_site_option( 'cookie_notice_status', $status_data );
243
+ $status_data['subscription'] = 'pro';
244
+
245
+ update_site_option( 'cookie_notice_status', $status_data );
246
+ } else {
247
+ $status_data = get_option( 'cookie_notice_status', $status_data );
248
+ $status_data['subscription'] = 'pro';
249
+
250
+ update_option( 'cookie_notice_status', $status_data );
251
+ }
252
+
253
  $response = $app_id;
254
  break;
255
 
416
  $params['Languages'] = [ $locale_code[0] ];
417
 
418
  $response = $this->request( 'quick_config', $params );
419
+ $status_data = $cn->defaults['data'];
420
 
421
  if ( $response->status === 200 ) {
422
  // notify publish app
428
 
429
  if ( $response->status === 200 ) {
430
  $response = true;
431
+ $status_data['status'] = 'active';
432
 
433
  // update app status
434
  if ( $network )
435
+ update_site_option( 'cookie_notice_status', $status_data );
436
  else
437
+ update_option( 'cookie_notice_status', $status_data );
438
  } else {
439
+ $status_data['status'] = 'pending';
440
+
441
  // update app status
442
  if ( $network )
443
+ update_site_option( 'cookie_notice_status', $status_data );
444
  else
445
+ update_option( 'cookie_notice_status', $status_data );
446
 
447
  // errors?
448
  if ( ! empty( $response->error ) )
455
  }
456
  }
457
  } else {
458
+ $status_data['status'] = 'pending';
459
+
460
  // update app status
461
  if ( $network )
462
+ update_site_option( 'cookie_notice_status', $status_data );
463
  else
464
+ update_option( 'cookie_notice_status', $status_data );
465
 
466
  // errors?
467
  if ( ! empty( $response->error ) ) {
639
  $params['Languages'] = [ $locale_code[0] ];
640
 
641
  $response = $this->request( 'quick_config', $params );
642
+ $status_data = $cn->defaults['data'];
643
 
644
  if ( $response->status === 200 ) {
645
  // @todo notify publish app
651
 
652
  if ( $response->status === 200 ) {
653
  $response = true;
654
+ $status_data['status'] = 'active';
655
 
656
  // update app status
657
  if ( $network )
658
+ update_site_option( 'cookie_notice_status', $status_data );
659
  else
660
+ update_option( 'cookie_notice_status', $status_data );
661
  } else {
662
+ $status_data['status'] = 'pending';
663
+
664
  // update app status
665
  if ( $network )
666
+ update_site_option( 'cookie_notice_status', $status_data );
667
  else
668
+ update_option( 'cookie_notice_status', $status_data );
669
 
670
  // errors?
671
  if ( ! empty( $response->error ) )
678
  }
679
  }
680
  } else {
681
+ $status_data['status'] = 'pending';
682
+
683
  // update app status
684
  if ( $network )
685
+ update_site_option( 'cookie_notice_status', $status_data );
686
  else
687
+ update_option( 'cookie_notice_status', $status_data );
688
 
689
  // errors?
690
  if ( ! empty( $response->error ) ) {
1151
  wp_clear_scheduled_hook( 'cookie_notice_get_app_config' );
1152
  }
1153
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1154
 
1155
  /**
1156
  * Get app analytics.
1157
  *
1158
+ * @param bool $force_update
1159
+ * @return void
1160
  */
1161
  public function get_app_analytics( $force_update = false ) {
1162
  // get main instance
1163
  $cn = Cookie_Notice();
1164
 
 
1165
  $allow_one_cron_per_hour = false;
1166
 
1167
  if ( is_multisite() && $cn->is_plugin_network_active() && $cn->network_options['global_override'] ) {
1196
 
1197
  // get analytics
1198
  if ( ! empty( $response->data ) ) {
1199
+ $result = map_deep( (array) $response->data, 'sanitize_text_field' );
1200
 
1201
+ // add time updated
1202
+ $result['lastUpdated'] = date( 'Y-m-d H:i:s', current_time( 'timestamp', true ) );
 
 
1203
 
1204
+ if ( $network )
1205
+ update_site_option( 'cookie_notice_app_analytics', $result );
1206
+ else
1207
+ update_option( 'cookie_notice_app_analytics', $result, false );
 
1208
  }
1209
  }
1210
 
1211
  /**
1212
  * Get app config.
1213
  *
1214
+ * @param string $app_id
1215
+ * @param bool $force_update
1216
+ * @return void|array
1217
  */
1218
+ public function get_app_config( $app_id = '', $force_update = false ) {
1219
  // get main instance
1220
  $cn = Cookie_Notice();
1221
 
 
1222
  $allow_one_cron_per_hour = false;
1223
+
1224
  if ( is_multisite() && $cn->is_plugin_network_active() && $cn->network_options['global_override'] ) {
1225
+ if ( empty( $app_id ) )
1226
+ $app_id = $cn->network_options['app_id'];
1227
+
1228
  $network = true;
1229
  $allow_one_cron_per_hour = true;
1230
  } else {
1231
+ if ( empty( $app_id ) )
1232
+ $app_id = $cn->options['general']['app_id'];
1233
+
1234
  $network = false;
1235
  }
1236
+
1237
  // in global override mode allow only one cron per hour
1238
  if ( $allow_one_cron_per_hour && ! $force_update ) {
1239
  $blocking = get_site_option( 'cookie_notice_app_blocking', [] );
1247
  return;
1248
  }
1249
  }
1250
+
1251
+ // get config
1252
  $response = $this->request(
1253
  'get_config',
1254
  [
1256
  ]
1257
  );
1258
 
1259
+ // get status data
1260
+ $data = $cn->defaults['data'];
1261
+
1262
  // get config
1263
  if ( ! empty( $response->data ) ) {
1264
+ // sanitize data
1265
+ $result_raw = map_deep( (array) $response->data, 'sanitize_text_field' );
1266
 
1267
+ // set status
1268
+ $data['status'] = 'active';
 
 
 
 
 
 
1269
 
1270
+ // check subscription
1271
+ if ( ! empty( $result_raw['SubscriptionType'] ) )
1272
+ $data['subscription'] = strtolower( $result_raw['SubscriptionType'] );
1273
+
1274
+ // process blocking data
1275
+ $result = [
1276
+ 'categories' => ! empty( $result_raw['DefaultCategoryJSON'] ) && is_array( $result_raw['DefaultCategoryJSON'] ) ? $result_raw['DefaultCategoryJSON'] : [],
1277
+ 'providers' => ! empty( $result_raw['DefaultProviderJSON'] ) && is_array( $result_raw['DefaultProviderJSON'] ) ? $result_raw['DefaultProviderJSON'] : [],
1278
+ 'patterns' => ! empty( $result_raw['DefaultCookieJSON'] ) && is_array( $result_raw['DefaultCookieJSON'] ) ? $result_raw['DefaultCookieJSON'] : [],
1279
+ 'lastUpdated' => date( 'Y-m-d H:i:s', current_time( 'timestamp', true ) )
1280
+ ];
1281
+
1282
+ if ( $network )
1283
+ update_site_option( 'cookie_notice_app_blocking', $result );
1284
+ else
1285
+ update_option( 'cookie_notice_app_blocking', $result, false );
1286
+ } else {
1287
+ if ( ! empty( $response->error ) ) {
1288
+ if ( $response->error == 'App is not puplised yet' )
1289
+ $data['status'] = 'pending';
1290
  else
1291
+ $data['status'] = '';
1292
  }
1293
  }
1294
+
1295
+ if ( $network )
1296
+ update_site_option( 'cookie_notice_status', $data );
1297
+ else
1298
+ update_option( 'cookie_notice_status', $data, false );
1299
+
1300
+ return $data;
1301
  }
1302
 
1303
  /**
includes/welcome.php CHANGED
@@ -289,7 +289,7 @@ class Cookie_Notice_Welcome {
289
  <div class="cn-pricing-info">
290
  <div class="cn-pricing-head">
291
  <h4>' . __( 'Professional', 'cookie-notice' ) . '</h4>
292
- <span class="cn-plan-pricing"><span class="cn-plan-price"><sup>$</sup><span class="cn-plan-amount">14.95</span></span> / <span class="cn-plan-period">' . __( 'monthly', 'cookie-notice' ) . '</span></span>
293
  <span class="cn-plan-promo">' . __( 'Recommended', 'cookie-notice' ) . '</span>
294
  <div class="cn-select-wrapper">
295
  <select name="cn_pricing_plan" class="form-select" aria-label="' . __( 'Pricing options', 'df' ) . '" id="cn-pricing-plans">
@@ -310,7 +310,7 @@ class Cookie_Notice_Welcome {
310
  <p class="cn-included"><span class="cn-icon"></span>' . __( '<b>Priority</b> Support', 'cookie-notice' ) . '</p>
311
  </div>
312
  <div class="cn-pricing-footer">
313
- <button type="button" class="cn-btn cn-btn-outline">' . __( 'Start Premium', 'cookie-notice' ) . '</button>
314
  </div>
315
  </div>
316
  </label>
@@ -325,18 +325,23 @@ class Cookie_Notice_Welcome {
325
  </div>';
326
  } elseif ( $screen == 4 ) {
327
  $html .= $this->welcome_screen( 'success', false );
 
 
 
 
 
328
 
329
  $html .= '
330
  <div class="cn-content cn-sidebar-visible">
331
  <div class="cn-inner">
332
  <div class="cn-content-full">
333
  <h1><b>' . __( 'Congratulations', 'cookie-notice' ) . '</b></h1>
334
- <h2>' . __( 'You are now promoting privacy with Hu-manity.co', 'cookie-notice' ) . '</h2>
335
  <div class="cn-lead">
336
- <p>' . __( 'Log in to your Cookie Compliance&trade; account and continue configuring your Privacy Experience.', 'cookie-notice' ) . '</p>
337
  </div>
338
  <div class="cn-buttons">
339
- <a href="' . Cookie_Notice()->get_url( 'login' ) . '" class="cn-btn cn-btn-lg" target="_blank">' . __( 'Go to Application', 'cookie-notice' ) . '</a>
340
  </div>
341
  </div>
342
  </div>
@@ -509,7 +514,7 @@ class Cookie_Notice_Welcome {
509
  </div>
510
  <div class="cn-field cn-field-checkbox">
511
  <div class="cn-checkbox-wrapper">
512
- <label for="cn_terms"><input id="cn_terms" type="checkbox" name="terms" value="1"><span>' . sprintf( __( 'I have read and agree to the <a href="%s" target="_blank">Terms of Service', 'cookie-notice' ), 'https://hu-manity.co/cookiecompliance-terms/' ) . '</a></span></label>
513
  </div>
514
  </div>
515
  <div class="cn-field cn-field-submit cn-nav">
@@ -709,7 +714,7 @@ class Cookie_Notice_Welcome {
709
  </div>
710
  <div class="cn-body">
711
  <h2>' . __( 'Success!', 'cookie-notice' ) . '</h2>
712
- <div class="cn-lead"><p><b>' . __( 'You have successfully upgraded your website to Cookie Compliance&trade;', 'cookie-notice' ) . '</b></p><p>' . sprintf( __( 'Go to Cookie Compliance&trade; application now. Or access it anytime from your <a href="%s">Cookie Notice settings page</a>.', 'cookie-notice' ), esc_url( Cookie_Notice()->is_network_admin() ? network_admin_url( 'admin.php?page=cookie-notice' ) : admin_url( 'admin.php?page=cookie-notice' ) ) ) . '</p></div>
713
  </div>';
714
  }
715
 
289
  <div class="cn-pricing-info">
290
  <div class="cn-pricing-head">
291
  <h4>' . __( 'Professional', 'cookie-notice' ) . '</h4>
292
+ <span class="cn-plan-pricing"><span class="cn-plan-price"><sup>$ </sup><span class="cn-plan-amount">14.95</span><sub> / <span class="cn-plan-period">' . __( 'monthly', 'cookie-notice' ) . '</span></sub></span></span>
293
  <span class="cn-plan-promo">' . __( 'Recommended', 'cookie-notice' ) . '</span>
294
  <div class="cn-select-wrapper">
295
  <select name="cn_pricing_plan" class="form-select" aria-label="' . __( 'Pricing options', 'df' ) . '" id="cn-pricing-plans">
310
  <p class="cn-included"><span class="cn-icon"></span>' . __( '<b>Priority</b> Support', 'cookie-notice' ) . '</p>
311
  </div>
312
  <div class="cn-pricing-footer">
313
+ <button type="button" class="cn-btn cn-btn-secondary">' . __( 'Start Professional', 'cookie-notice' ) . '</button>
314
  </div>
315
  </div>
316
  </label>
325
  </div>';
326
  } elseif ( $screen == 4 ) {
327
  $html .= $this->welcome_screen( 'success', false );
328
+
329
+ // get main instance
330
+ $cn = Cookie_Notice();
331
+ $subscription = $cn->get_subscription();
332
+ $link = esc_url( $cn->get_url( 'host', '?utm_campaign=configure&utm_source=wordpress&utm_medium=button#/en/cc/login' ) );
333
 
334
  $html .= '
335
  <div class="cn-content cn-sidebar-visible">
336
  <div class="cn-inner">
337
  <div class="cn-content-full">
338
  <h1><b>' . __( 'Congratulations', 'cookie-notice' ) . '</b></h1>
339
+ <h2>' . ( $subscription === 'pro' ? __( 'You have successfully signed up to a Professional plan.', 'cookie-notice' ) : __( 'You have successfully signed up to a limited, Basic plan.', 'cookie-notice' ) ) . '</h2>
340
  <div class="cn-lead">
341
+ <p>' . __( 'Log in to your Cookie Compliance account and continue configuring your Privacy Experience.', 'cookie-notice' ) . '</p>
342
  </div>
343
  <div class="cn-buttons">
344
+ <a href="' . $link . '" class="cn-btn cn-btn-lg" target="_blank">' . __( 'Go to Application', 'cookie-notice' ) . '</a>
345
  </div>
346
  </div>
347
  </div>
514
  </div>
515
  <div class="cn-field cn-field-checkbox">
516
  <div class="cn-checkbox-wrapper">
517
+ <label for="cn_terms"><input id="cn_terms" type="checkbox" name="terms" value="1"><span>' . sprintf( __( 'I have read and agree to the <a href="%s" target="_blank">Terms of Service', 'cookie-notice' ), 'https://cookie-compliance.co/terms-of-service/?utm_campaign=accept-terms&utm_source=wordpress&utm_medium=link' ) . '</a></span></label>
518
  </div>
519
  </div>
520
  <div class="cn-field cn-field-submit cn-nav">
714
  </div>
715
  <div class="cn-body">
716
  <h2>' . __( 'Success!', 'cookie-notice' ) . '</h2>
717
+ <div class="cn-lead"><p><b>' . __( 'You have successfully integrated your website to Cookie Compliance;', 'cookie-notice' ) . '</b></p><p>' . sprintf( __( 'Go to Cookie Compliance application now. Or access it anytime from your <a href="%s">Cookie Notice settings page</a>.', 'cookie-notice' ), esc_url( Cookie_Notice()->is_network_admin() ? network_admin_url( 'admin.php?page=cookie-notice' ) : admin_url( 'admin.php?page=cookie-notice' ) ) ) . '</p></div>
718
  </div>';
719
  }
720
 
languages/cookie-notice.pot CHANGED
@@ -2,7 +2,7 @@
2
  msgid ""
3
  msgstr ""
4
  "Project-Id-Version: Cookie Notice\n"
5
- "POT-Creation-Date: 2022-08-24 11:17+0200\n"
6
  "PO-Revision-Date: 2015-03-24 11:30+0100\n"
7
  "Last-Translator: Bartosz Arendt <info@dfactory.eu>\n"
8
  "Language-Team: dFactory <info@dfactory.eu>\n"
@@ -10,99 +10,99 @@ msgstr ""
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 3.1.1\n"
14
  "X-Poedit-KeywordsList: gettext;gettext_noop;__;_e;_n\n"
15
  "X-Poedit-Basepath: .\n"
16
  "X-Poedit-SourceCharset: UTF-8\n"
17
  "X-Poedit-SearchPath-0: ..\n"
18
 
19
- #: ../cookie-notice.php:573
20
  msgid "German Court Fines Website Owner for Using Google-Hosted Fonts"
21
  msgstr ""
22
 
23
- #: ../cookie-notice.php:573
24
  msgid "The German Court ruled that use of Google Fonts without prior consent is a violation of Europe’s GDPR (General Data Protection Regulation) because Google Fonts exposes the visitor’s IP address. Court’s ruling threatens a fine of €250,000 for each case of infringement if the site owner does not comply. If your website uses Google Fonts, click \"Run Compliance Check\" to make sure your website complies with the latest consent capture and cookie blocking requirements."
25
  msgstr ""
26
 
27
- #: ../cookie-notice.php:573 ../includes/dashboard.php:518
28
  msgid "Run Compliance Check"
29
  msgstr ""
30
 
31
- #: ../cookie-notice.php:573
32
  msgid "Dismiss Notice"
33
  msgstr ""
34
 
35
- #: ../cookie-notice.php:608
36
  msgid "Cookie Compliance Warning"
37
  msgstr ""
38
 
39
- #: ../cookie-notice.php:608
40
  #, php-format
41
  msgid "Your website has reached the <b>%1$s visits usage limit for the Cookie Compliance Free Plan</b>. Compliance services such as Consent Record Storage, Autoblocking, and Consent Analytics have been deactivated until current usage cycle ends on %2$s."
42
  msgstr ""
43
 
44
- #: ../cookie-notice.php:608
45
  #, php-format
46
  msgid "To reactivate compliance services now, <a href=\"%s\" target=\"_blank\">upgrade your domain to a Pro plan.</a>"
47
  msgstr ""
48
 
49
- #: ../cookie-notice.php:930
50
  msgid "Cookie Notice & Compliance - Deactivation survey"
51
  msgstr ""
52
 
53
- #: ../cookie-notice.php:996
54
  msgid "Settings"
55
  msgstr ""
56
 
57
- #: ../cookie-notice.php:1009
58
  msgid "Free Upgrade"
59
  msgstr ""
60
 
61
- #: ../cookie-notice.php:1034
62
  msgid "We're sorry to see you go. Could you please tell us what happened?"
63
  msgstr ""
64
 
65
- #: ../cookie-notice.php:1038
66
  msgid "I couldn't figure out how to make it work."
67
  msgstr ""
68
 
69
- #: ../cookie-notice.php:1039
70
  msgid "I found another plugin to use for the same task."
71
  msgstr ""
72
 
73
- #: ../cookie-notice.php:1040
74
  msgid "The Cookie Compliance banner is too big."
75
  msgstr ""
76
 
77
- #: ../cookie-notice.php:1041
78
  msgid "The Cookie Compliance consent choices (Silver, Gold, Platinum) are confusing."
79
  msgstr ""
80
 
81
- #: ../cookie-notice.php:1042
82
  msgid "The Cookie Compliance default settings are too strict."
83
  msgstr ""
84
 
85
- #: ../cookie-notice.php:1043
86
  msgid "The web application user interface is not clear to me."
87
  msgstr ""
88
 
89
- #: ../cookie-notice.php:1044
90
  msgid "Support isn't timely."
91
  msgstr ""
92
 
93
- #: ../cookie-notice.php:1045
94
  msgid "Other"
95
  msgstr ""
96
 
97
- #: ../cookie-notice.php:1059
98
  msgid "Cancel"
99
  msgstr ""
100
 
101
- #: ../cookie-notice.php:1060
102
  msgid "Deactivate"
103
  msgstr ""
104
 
105
- #: ../cookie-notice.php:1061
106
  msgid "Deactivate & Submit"
107
  msgstr ""
108
 
@@ -192,24 +192,24 @@ msgstr ""
192
  msgid "Cookie Compliance Status"
193
  msgstr ""
194
 
195
- #: ../includes/dashboard.php:511
196
  msgid "Your site does not have Cookie Compliance"
197
  msgstr ""
198
 
199
- #: ../includes/dashboard.php:514 ../includes/settings.php:200
200
- #: ../includes/welcome.php:415
201
  msgid "Cookie Notice"
202
  msgstr ""
203
 
204
- #: ../includes/dashboard.php:517
205
  msgid "Run Compliance Check to determine your site's compliance with updated data processing and consent rules under GDPR, CCPA and other international data privacy laws."
206
  msgstr ""
207
 
208
- #: ../includes/settings.php:52 ../includes/welcome.php:492
209
  msgid "Top"
210
  msgstr ""
211
 
212
- #: ../includes/settings.php:53 ../includes/welcome.php:491
213
  msgid "Bottom"
214
  msgstr ""
215
 
@@ -245,7 +245,7 @@ msgstr ""
245
  msgid "Banner"
246
  msgstr ""
247
 
248
- #: ../includes/settings.php:76 ../includes/settings.php:381
249
  msgid "Message"
250
  msgstr ""
251
 
@@ -350,7 +350,7 @@ msgid "Save my preferences"
350
  msgstr ""
351
 
352
  #: ../includes/settings.php:133 ../includes/settings.php:157
353
- #: ../includes/settings.php:383
354
  msgid "Privacy policy"
355
  msgstr ""
356
 
@@ -406,7 +406,7 @@ msgstr ""
406
  msgid "You can revoke your consent any time using the Revoke consent button."
407
  msgstr ""
408
 
409
- #: ../includes/settings.php:156 ../includes/settings.php:385
410
  msgid "Revoke consent"
411
  msgstr ""
412
 
@@ -414,479 +414,527 @@ msgstr ""
414
  msgid "Cookies"
415
  msgstr ""
416
 
417
- #: ../includes/settings.php:217
418
  msgid "Cookie Notice & Compliance for GDPR/CCPA"
419
  msgstr ""
420
 
421
- #: ../includes/settings.php:227
422
- msgid "Promote the privacy of your website visitors without affecting how you do your business."
423
  msgstr ""
424
 
425
- #: ../includes/settings.php:230 ../includes/welcome.php:213
426
- #: ../includes/welcome.php:253
427
- msgid "The next generation of Cookie Notice"
428
  msgstr ""
429
 
430
- #: ../includes/settings.php:232
431
- msgid "A free web application to help you deliver better consent experiences and comply with GDPR, CCPA and other data privacy laws more effectively."
 
432
  msgstr ""
433
 
434
- #: ../includes/settings.php:235
435
- msgid "Learn more"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
436
  msgstr ""
437
 
438
  #: ../includes/settings.php:246
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
439
  msgid "F.A.Q."
440
  msgstr ""
441
 
442
- #: ../includes/settings.php:250
443
  msgid "Does the Cookie Notice make my site fully compliant with GDPR?"
444
  msgstr ""
445
 
446
- #: ../includes/settings.php:251
447
  msgid "It is not possible to provide the required technical compliance features using only a WordPress plugin. Features like consent record storage, purpose categories and script blocking that bring your site into full compliance with GDPR are only available through the Cookie Compliance integration."
448
  msgstr ""
449
 
450
- #: ../includes/settings.php:255
451
- msgid "Does the Cookie Compiance integration make my site fully compliant with GDPR?"
452
  msgstr ""
453
 
454
- #: ../includes/settings.php:256
455
  msgid "Yes! The plugin + web application version includes technical compliance features to meet requirements for over 100 countries and legal jurisdictions."
456
  msgstr ""
457
 
458
- #: ../includes/settings.php:260
459
  msgid "Is Cookie Compliance free?"
460
  msgstr ""
461
 
462
- #: ../includes/settings.php:261
463
  msgid "Yes, but with limits. Cookie Compliance includes both free and paid plans to choose from depending on your needs and your website monthly traffic."
464
  msgstr ""
465
 
466
- #: ../includes/settings.php:265
467
  msgid "Where can I find pricing options?"
468
  msgstr ""
469
 
470
- #: ../includes/settings.php:266
471
  msgid "You can learn more about the features and pricing by visiting the Cookie Compliance website here:"
472
  msgstr ""
473
 
474
- #: ../includes/settings.php:312
475
  msgid "Reset to defaults"
476
  msgstr ""
477
 
478
- #: ../includes/settings.php:339 ../includes/settings.php:344
479
  msgid "Network Settings"
480
  msgstr ""
481
 
482
- #: ../includes/settings.php:340
483
  msgid "Global Settings Override"
484
  msgstr ""
485
 
486
- #: ../includes/settings.php:341
487
  msgid "Global Cookie"
488
  msgstr ""
489
 
490
- #: ../includes/settings.php:358 ../includes/settings.php:374
491
  msgid "Compliance Settings"
492
  msgstr ""
493
 
494
- #: ../includes/settings.php:359 ../includes/settings.php:375
495
  msgid "Compliance status"
496
  msgstr ""
497
 
498
- #: ../includes/settings.php:360 ../includes/settings.php:376
499
  msgid "App ID"
500
  msgstr ""
501
 
502
- #: ../includes/settings.php:361 ../includes/settings.php:377
503
  msgid "App Key"
504
  msgstr ""
505
 
506
- #: ../includes/settings.php:364
507
  msgid "Miscellaneous Settings"
508
  msgstr ""
509
 
510
- #: ../includes/settings.php:365 ../includes/settings.php:465
511
- #: ../includes/settings.php:479 ../includes/settings.php:498
512
- #: ../includes/welcome.php:416
513
  msgid "Autoblocking"
514
  msgstr ""
515
 
516
- #: ../includes/settings.php:366
517
  msgid "Hide for logged in"
518
  msgstr ""
519
 
520
- #: ../includes/settings.php:367
521
  msgid "Debug mode"
522
  msgstr ""
523
 
524
- #: ../includes/settings.php:368
525
  msgid "Cache"
526
  msgstr ""
527
 
528
- #: ../includes/settings.php:369 ../includes/settings.php:392
529
  msgid "Script placement"
530
  msgstr ""
531
 
532
- #: ../includes/settings.php:370 ../includes/settings.php:393
533
  msgid "Deactivation"
534
  msgstr ""
535
 
536
- #: ../includes/settings.php:380
537
  msgid "Notice Settings"
538
  msgstr ""
539
 
540
- #: ../includes/settings.php:382
541
  msgid "Button text"
542
  msgstr ""
543
 
544
- #: ../includes/settings.php:384
545
  msgid "Refuse consent"
546
  msgstr ""
547
 
548
- #: ../includes/settings.php:386
549
  msgid "Script blocking"
550
  msgstr ""
551
 
552
- #: ../includes/settings.php:387
553
  msgid "Reloading"
554
  msgstr ""
555
 
556
- #: ../includes/settings.php:388
557
  msgid "On scroll"
558
  msgstr ""
559
 
560
- #: ../includes/settings.php:389
561
  msgid "On click"
562
  msgstr ""
563
 
564
- #: ../includes/settings.php:390
565
  msgid "Accepted expiry"
566
  msgstr ""
567
 
568
- #: ../includes/settings.php:391
569
  msgid "Rejected expiry"
570
  msgstr ""
571
 
572
- #: ../includes/settings.php:396
573
  msgid "Notice Design"
574
  msgstr ""
575
 
576
- #: ../includes/settings.php:397
577
  msgid "Position"
578
  msgstr ""
579
 
580
- #: ../includes/settings.php:398
581
  msgid "Animation"
582
  msgstr ""
583
 
584
- #: ../includes/settings.php:399
585
  msgid "Colors"
586
  msgstr ""
587
 
588
- #: ../includes/settings.php:400
589
  msgid "Button class"
590
  msgstr ""
591
 
592
- #: ../includes/settings.php:412
593
  msgid "Enable global network settings override."
594
  msgstr ""
595
 
596
- #: ../includes/settings.php:413
597
  msgid "Every site in the network will use the same settings. Site administrators will not be able to change them."
598
  msgstr ""
599
 
600
- #: ../includes/settings.php:427
601
  msgid "This option works only for domain-based networks."
602
  msgstr ""
603
 
604
- #: ../includes/settings.php:433
605
  msgid "Enable global network cookie consent."
606
  msgstr ""
607
 
608
- #: ../includes/settings.php:434
609
  msgid "Cookie consent in one of the network sites results in a consent in all of the sites on the network."
610
  msgstr ""
611
 
612
- #: ../includes/settings.php:445
613
  msgid "Global network settings override is active. Every site will use the same network settings. Please contact super administrator if you want to have more control over the settings."
614
  msgstr ""
615
 
616
- #: ../includes/settings.php:464 ../includes/settings.php:478
617
- #: ../includes/settings.php:497
618
  msgid "Notice"
619
  msgstr ""
620
 
621
- #: ../includes/settings.php:464 ../includes/settings.php:465
622
- #: ../includes/settings.php:466 ../includes/settings.php:467
623
- #: ../includes/settings.php:478 ../includes/settings.php:497
624
  msgid "Active"
625
  msgstr ""
626
 
627
- #: ../includes/settings.php:466 ../includes/settings.php:480
628
- #: ../includes/settings.php:499 ../includes/welcome.php:417
629
  msgid "Cookie Categories"
630
  msgstr ""
631
 
632
- #: ../includes/settings.php:467 ../includes/settings.php:481
633
- #: ../includes/settings.php:500 ../includes/welcome.php:418
634
  msgid "Proof-of-Consent"
635
  msgstr ""
636
 
637
- #: ../includes/settings.php:470
638
  msgid "Log in & Configure"
639
  msgstr ""
640
 
641
- #: ../includes/settings.php:471
642
  msgid "Log into the Cookie Compliance&trade; web application and configure your Privacy Experience."
643
  msgstr ""
644
 
645
- #: ../includes/settings.php:479 ../includes/settings.php:480
646
- #: ../includes/settings.php:481
647
  msgid "Pending"
648
  msgstr ""
649
 
650
- #: ../includes/settings.php:484
651
  msgid "Log in & configure"
652
  msgstr ""
653
 
654
- #: ../includes/settings.php:485
655
  msgid "Log into the Cookie Compliance&trade; web application and complete the setup process."
656
  msgstr ""
657
 
658
- #: ../includes/settings.php:498 ../includes/settings.php:499
659
- #: ../includes/settings.php:500
660
  msgid "Inactive"
661
  msgstr ""
662
 
663
- #: ../includes/settings.php:503
664
  msgid "Add Compliance features"
665
  msgstr ""
666
 
667
- #: ../includes/settings.php:504
668
- msgid "Sign up to Cookie Compliance&trade; and add GDPR, CCPA and other international data privacy laws compliance features."
 
669
  msgstr ""
670
 
671
- #: ../includes/settings.php:519
672
  msgid "Enter your Cookie Compliance&trade; application ID."
673
  msgstr ""
674
 
675
- #: ../includes/settings.php:532
676
  msgid "Enter your Cookie Compliance&trade; application secret key."
677
  msgstr ""
678
 
679
- #: ../includes/settings.php:544
680
  msgid "Enable to automatically block 3rd party scripts before user consent."
681
  msgstr ""
682
 
683
- #: ../includes/settings.php:545
684
  msgid "In case you're experiencing issues with your site disable that feature temporarily."
685
  msgstr ""
686
 
687
- #: ../includes/settings.php:558
688
  msgid "Purge Cache"
689
  msgstr ""
690
 
691
- #: ../includes/settings.php:560
692
  msgid "Click the Purge Cache button to refresh the app configuration."
693
  msgstr ""
694
 
695
- #: ../includes/settings.php:572
696
  msgid "Enable to hide the consent banner for logged in users."
697
  msgstr ""
698
 
699
- #: ../includes/settings.php:584
700
  msgid "Enable to run the consent banner in debug mode."
701
  msgstr ""
702
 
703
- #: ../includes/settings.php:597
704
  msgid "Enter the cookie notice message."
705
  msgstr ""
706
 
707
- #: ../includes/settings.php:610
708
  msgid "The text of the option to accept the notice and make it disappear."
709
  msgstr ""
710
 
711
- #: ../includes/settings.php:622
712
  msgid "Enable to give to the user the possibility to refuse third party non functional cookies."
713
  msgstr ""
714
 
715
- #: ../includes/settings.php:626
716
  msgid "The text of the button to refuse the consent."
717
  msgstr ""
718
 
719
- #: ../includes/settings.php:645
720
  msgid "Head"
721
  msgstr ""
722
 
723
- #: ../includes/settings.php:646
724
  msgid "Body"
725
  msgstr ""
726
 
727
- #: ../includes/settings.php:649
728
  msgid "The code to be used in your site header, before the closing head tag."
729
  msgstr ""
730
 
731
- #: ../includes/settings.php:653
732
  msgid "The code to be used in your site footer, before the closing body tag."
733
  msgstr ""
734
 
735
- #: ../includes/settings.php:657
736
  msgid "Enter non functional cookies Javascript code here (for e.g. Google Analitycs) to be used after the notice is accepted."
737
  msgstr ""
738
 
739
- #: ../includes/settings.php:657
740
  msgid "To get the user consent status use the <code>cn_cookies_accepted()</code> function."
741
  msgstr ""
742
 
743
- #: ../includes/settings.php:670
744
  msgid "Enable to give to the user the possibility to revoke their consent <i>(requires \"Refuse consent\" option enabled)</i>."
745
  msgstr ""
746
 
747
- #: ../includes/settings.php:673
748
  msgid "Enter the revoke message."
749
  msgstr ""
750
 
751
- #: ../includes/settings.php:675
752
  msgid "The text of the button to revoke the consent."
753
  msgstr ""
754
 
755
- #: ../includes/settings.php:683
756
  msgid "Select the method for displaying the revoke button - automatic (in the banner) or manual using <code>[cookies_revoke]</code> shortcode."
757
  msgstr ""
758
 
759
- #: ../includes/settings.php:697
760
  msgid "Enable to reload the page after the notice is accepted."
761
  msgstr ""
762
 
763
- #: ../includes/settings.php:724
764
  msgid "Enable privacy policy link."
765
  msgstr ""
766
 
767
- #: ../includes/settings.php:727
768
  msgid "The text of the privacy policy button."
769
  msgstr ""
770
 
771
- #: ../includes/settings.php:739
772
  msgid "Select where to redirect user for more information."
773
  msgstr ""
774
 
775
- #: ../includes/settings.php:742
776
  msgid "-- select page --"
777
  msgstr ""
778
 
779
- #: ../includes/settings.php:753
780
  msgid "Select from one of your site's pages."
781
  msgstr ""
782
 
783
- #: ../includes/settings.php:759
784
  msgid "Synchronize with WordPress Privacy Policy page."
785
  msgstr ""
786
 
787
- #: ../includes/settings.php:766
788
  msgid "Enter the full URL starting with http(s)://"
789
  msgstr ""
790
 
791
- #: ../includes/settings.php:811
792
  msgid "The amount of time that the cookie should be stored for when user accepts the notice."
793
  msgstr ""
794
 
795
- #: ../includes/settings.php:834
796
  msgid "The amount of time that the cookie should be stored for when the user doesn't accept the notice."
797
  msgstr ""
798
 
799
- #: ../includes/settings.php:853
800
  msgid "Select where all the plugin scripts should be placed."
801
  msgstr ""
802
 
803
- #: ../includes/settings.php:874
804
  msgid "Select location for the notice."
805
  msgstr ""
806
 
807
- #: ../includes/settings.php:895
808
  msgid "Select the animation style."
809
  msgstr ""
810
 
811
- #: ../includes/settings.php:907
812
  msgid "Enable to accept the notice when user scrolls."
813
  msgstr ""
814
 
815
- #: ../includes/settings.php:910
816
  msgid "Number of pixels user has to scroll to accept the notice and make it disappear."
817
  msgstr ""
818
 
819
- #: ../includes/settings.php:923
820
  msgid "Enable to accept the notice on any click on the page."
821
  msgstr ""
822
 
823
- #: ../includes/settings.php:935
824
  msgid "Enable if you want all plugin data to be deleted on deactivation."
825
  msgstr ""
826
 
827
- #: ../includes/settings.php:948
828
  msgid "Enter additional button CSS classes separated by spaces."
829
  msgstr ""
830
 
831
- #: ../includes/settings.php:974
832
  msgid "Bar opacity"
833
  msgstr ""
834
 
835
- #: ../includes/settings.php:1133
836
  msgid "Settings saved."
837
  msgstr ""
838
 
839
- #: ../includes/settings.php:1143
840
  msgid "Settings restored to defaults."
841
  msgstr ""
842
 
843
- #: ../includes/settings.php:1238
844
  msgid "Are you sure you want to reset these settings to defaults?"
845
  msgstr ""
846
 
847
- #: ../includes/welcome-api.php:33 ../includes/welcome-api.php:36
848
- #: ../includes/welcome-api.php:39 ../includes/welcome-api.php:42
849
  #: ../includes/welcome.php:184 ../includes/welcome.php:192
850
  #: ../includes/welcome.php:195
851
  msgid "You do not have permission to access this page."
852
  msgstr ""
853
 
854
- #: ../includes/welcome-api.php:102 ../includes/welcome-api.php:305
855
- #: ../includes/welcome-api.php:347 ../includes/welcome-api.php:492
856
- #: ../includes/welcome-api.php:566 ../includes/welcome-api.php:1090
857
  #: ../includes/welcome.php:83
858
  msgid "Unexpected error occurred. Please try again later."
859
  msgstr ""
860
 
861
- #: ../includes/welcome-api.php:127
862
  msgid "Empty plan or payment method data."
863
  msgstr ""
864
 
865
- #: ../includes/welcome-api.php:162
866
  msgid "Unable to create customer data."
867
  msgstr ""
868
 
869
- #: ../includes/welcome-api.php:211
870
  msgid "Unable to create payment mehotd."
871
  msgstr ""
872
 
873
- #: ../includes/welcome-api.php:217
874
  msgid "No payment method token."
875
  msgstr ""
876
 
877
- #: ../includes/welcome-api.php:248
878
  msgid "Please accept the Terms of Service to proceed."
879
  msgstr ""
880
 
881
- #: ../includes/welcome-api.php:253 ../includes/welcome-api.php:464
882
  msgid "Email is not allowed to be empty."
883
  msgstr ""
884
 
885
- #: ../includes/welcome-api.php:258 ../includes/welcome-api.php:469
886
  msgid "Password is not allowed to be empty."
887
  msgstr ""
888
 
889
- #: ../includes/welcome-api.php:263
890
  msgid "Passwords do not match."
891
  msgstr ""
892
 
@@ -898,8 +946,8 @@ msgstr ""
898
  msgid "Failed"
899
  msgstr ""
900
 
901
- #: ../includes/welcome.php:86 ../includes/welcome.php:334
902
- #: ../includes/welcome.php:585 ../includes/welcome.php:683
903
  msgid "monthly"
904
  msgstr ""
905
 
@@ -915,7 +963,7 @@ msgstr ""
915
  msgid "<em>Compliance Passed!</em>Congratulations. Your website meets minimum viable compliance."
916
  msgstr ""
917
 
918
- #: ../includes/welcome.php:93 ../includes/welcome.php:685
919
  msgid "available"
920
  msgstr ""
921
 
@@ -923,6 +971,10 @@ msgstr ""
923
  msgid "Please fill all the required fields."
924
  msgstr ""
925
 
 
 
 
 
926
  #: ../includes/welcome.php:215
927
  msgid "Cookie Compliance is a free web application that enables websites to take a proactive approach to data protection and consent laws."
928
  msgstr ""
@@ -943,388 +995,359 @@ msgstr ""
943
  msgid "Skip for now"
944
  msgstr ""
945
 
946
- #: ../includes/welcome.php:255
947
  msgid "Take a proactive approach to data protection and consent laws by signing up for Cookie Compliance account. Then select a limited Basic Plan for free or get one of the Professional Plans for unlimited visits, consent storage, languages and customizations."
948
  msgstr ""
949
 
950
- #: ../includes/welcome.php:299
951
  msgid "Compliance Plans"
952
  msgstr ""
953
 
954
- #: ../includes/welcome.php:302
955
  msgid "Monthly"
956
  msgstr ""
957
 
958
- #: ../includes/welcome.php:305
959
  msgid "Yearly"
960
  msgstr ""
961
 
962
- #: ../includes/welcome.php:305
963
  msgid "Save 12%"
964
  msgstr ""
965
 
966
- #: ../includes/welcome.php:313 ../includes/welcome.php:584
967
- #: ../includes/welcome.php:682
968
- msgid "Basic"
969
- msgstr ""
970
-
971
- #: ../includes/welcome.php:314
972
  msgid "Free"
973
  msgstr ""
974
 
975
- #: ../includes/welcome.php:317 ../includes/welcome.php:346
976
- msgid "GDPR, CCPA, ePrivacy, PECR compliance"
977
- msgstr ""
978
-
979
- #: ../includes/welcome.php:318 ../includes/welcome.php:347
980
- msgid "Consent Analytics Dashboard"
981
- msgstr ""
982
-
983
- #: ../includes/welcome.php:319
984
  msgid "<b>1,000</b> visits / month"
985
  msgstr ""
986
 
987
- #: ../includes/welcome.php:320
988
  msgid "<b>30 days</b> consent storage"
989
  msgstr ""
990
 
991
- #: ../includes/welcome.php:321
992
  msgid "<b>1 additional</b> language"
993
  msgstr ""
994
 
995
- #: ../includes/welcome.php:322
996
  msgid "<b>Basic</b> Support"
997
  msgstr ""
998
 
999
- #: ../includes/welcome.php:325
1000
  msgid "Start Basic"
1001
  msgstr ""
1002
 
1003
- #: ../includes/welcome.php:333
1004
- msgid "Professional"
1005
- msgstr ""
1006
-
1007
- #: ../includes/welcome.php:335
1008
  msgid "Recommended"
1009
  msgstr ""
1010
 
1011
- #: ../includes/welcome.php:337
1012
  msgid "Pricing options"
1013
  msgstr ""
1014
 
1015
- #: ../includes/welcome.php:338 ../includes/welcome.php:339
1016
- #: ../includes/welcome.php:340 ../includes/welcome.php:341
1017
  #, php-format
1018
  msgid "%s domain license"
1019
  msgstr ""
1020
 
1021
- #: ../includes/welcome.php:348
1022
- msgid "<b>Unlimited</b> visits"
1023
- msgstr ""
1024
-
1025
- #: ../includes/welcome.php:349
1026
- msgid "<b>Lifetime</b> consent storage"
1027
- msgstr ""
1028
-
1029
- #: ../includes/welcome.php:350
1030
- msgid "<b>Unlimited</b> languages"
1031
- msgstr ""
1032
-
1033
- #: ../includes/welcome.php:351
1034
- msgid "<b>Premium</b> Support"
1035
- msgstr ""
1036
-
1037
- #: ../includes/welcome.php:354
1038
- msgid "Start Premium"
1039
  msgstr ""
1040
 
1041
- #: ../includes/welcome.php:360
1042
  msgid "I don’t want to create an account now"
1043
  msgstr ""
1044
 
1045
- #: ../includes/welcome.php:374
1046
  msgid "Congratulations"
1047
  msgstr ""
1048
 
1049
- #: ../includes/welcome.php:375
1050
- msgid "You are now promoting privacy with Hu-manity.co"
1051
  msgstr ""
1052
 
1053
- #: ../includes/welcome.php:377
1054
- msgid "Log in to your Cookie Compliance&trade; account and continue configuring your Privacy Experience."
1055
  msgstr ""
1056
 
1057
- #: ../includes/welcome.php:380
 
 
 
 
1058
  msgid "Go to Application"
1059
  msgstr ""
1060
 
1061
- #: ../includes/welcome.php:405
1062
  msgid "Compliance check"
1063
  msgstr ""
1064
 
1065
- #: ../includes/welcome.php:406
1066
  msgid "This is a Compliance Check to determine your site’s compliance with updated data processing and consent rules under GDPR, CCPA and other international data privacy laws."
1067
  msgstr ""
1068
 
1069
- #: ../includes/welcome.php:408
1070
  msgid "Site URL"
1071
  msgstr ""
1072
 
1073
- #: ../includes/welcome.php:409
1074
  msgid "Site Name"
1075
  msgstr ""
1076
 
1077
- #: ../includes/welcome.php:412
1078
  msgid "Checking..."
1079
  msgstr ""
1080
 
1081
- #: ../includes/welcome.php:415
1082
  msgid "Notifies visitors that site uses cookies."
1083
  msgstr ""
1084
 
1085
- #: ../includes/welcome.php:416
1086
  msgid "Non-essential cookies blocked until consent is registered."
1087
  msgstr ""
1088
 
1089
- #: ../includes/welcome.php:417
1090
  msgid "Separate consent requested per purpose of use."
1091
  msgstr ""
1092
 
1093
- #: ../includes/welcome.php:418
1094
  msgid "Proof-of-consent stored in secure audit format."
1095
  msgstr ""
1096
 
1097
- #: ../includes/welcome.php:434
1098
  msgid "Live Setup"
1099
  msgstr ""
1100
 
1101
- #: ../includes/welcome.php:435
1102
  msgid "Configure your Cookie Notice & Compliance design and compliance features through the options below. Click Apply Setup to save the configuration and go to selecting your preferred cookie solution."
1103
  msgstr ""
1104
 
1105
- #: ../includes/welcome.php:439
1106
  msgid "Banner Compliance"
1107
  msgstr ""
1108
 
1109
- #: ../includes/welcome.php:460
1110
  msgid "Select the laws that apply to your business"
1111
  msgstr ""
1112
 
1113
- #: ../includes/welcome.php:462
1114
  msgid "GDPR"
1115
  msgstr ""
1116
 
1117
- #: ../includes/welcome.php:463
1118
  msgid "CCPA"
1119
  msgstr ""
1120
 
1121
- #: ../includes/welcome.php:467
1122
  msgid "Select a naming style for the consent choices"
1123
  msgstr ""
1124
 
1125
- #: ../includes/welcome.php:469
1126
  msgid "Silver, Gold, Platinum (Default)​"
1127
  msgstr ""
1128
 
1129
- #: ../includes/welcome.php:470
1130
  msgid "Private, Balanced, Personalized"
1131
  msgstr ""
1132
 
1133
- #: ../includes/welcome.php:471
1134
  msgid "Reject All, Accept Some, Accept All​"
1135
  msgstr ""
1136
 
1137
- #: ../includes/welcome.php:475
1138
  msgid "Select additional information to include in the banner:"
1139
  msgstr ""
1140
 
1141
- #: ../includes/welcome.php:477
1142
  msgid "Display <b>Privacy Paper</b> to provide helpful data privacy and consent information to visitors."
1143
  msgstr ""
1144
 
1145
- #: ../includes/welcome.php:478
1146
  msgid "Display <b>Privacy Contact</b> to provide Data Controller contact information and links to external data privacy resources."
1147
  msgstr ""
1148
 
1149
- #: ../includes/welcome.php:481 ../includes/welcome.php:509
1150
  msgid "available for Cookie Compliance&trade; Pro plans only"
1151
  msgstr ""
1152
 
1153
- #: ../includes/welcome.php:485
1154
  msgid "Banner Design"
1155
  msgstr ""
1156
 
1157
- #: ../includes/welcome.php:489
1158
  msgid "Select your preferred display position"
1159
  msgstr ""
1160
 
1161
- #: ../includes/welcome.php:493
1162
  msgid "Left"
1163
  msgstr ""
1164
 
1165
- #: ../includes/welcome.php:494
1166
  msgid "Right"
1167
  msgstr ""
1168
 
1169
- #: ../includes/welcome.php:495
1170
  msgid "Center"
1171
  msgstr ""
1172
 
1173
- #: ../includes/welcome.php:499
1174
  msgid "Adjust the banner color scheme"
1175
  msgstr ""
1176
 
1177
- #: ../includes/welcome.php:501
1178
  msgid "Color of the buttons and interactive elements."
1179
  msgstr ""
1180
 
1181
- #: ../includes/welcome.php:502
1182
  msgid "Color of the banner background."
1183
  msgstr ""
1184
 
1185
- #: ../includes/welcome.php:503
1186
  msgid "Color of the body text."
1187
  msgstr ""
1188
 
1189
- #: ../includes/welcome.php:504
1190
  msgid "Color of the borders and inactive elements."
1191
  msgstr ""
1192
 
1193
- #: ../includes/welcome.php:505
1194
  msgid "Color of the heading text."
1195
  msgstr ""
1196
 
1197
- #: ../includes/welcome.php:506
1198
  msgid "Color of the button text."
1199
  msgstr ""
1200
 
1201
- #: ../includes/welcome.php:514
1202
  msgid "Apply Setup"
1203
  msgstr ""
1204
 
1205
- #: ../includes/welcome.php:532
1206
  msgid "Compliance account"
1207
  msgstr ""
1208
 
1209
- #: ../includes/welcome.php:534
1210
  msgid "Create a Cookie Compliance&trade; account and select your preferred plan."
1211
  msgstr ""
1212
 
1213
- #: ../includes/welcome.php:538
1214
  msgid "Create Account"
1215
  msgstr ""
1216
 
1217
- #: ../includes/welcome.php:543 ../includes/welcome.php:651
1218
  msgid "Email address"
1219
  msgstr ""
1220
 
1221
- #: ../includes/welcome.php:546 ../includes/welcome.php:654
1222
  msgid "Password"
1223
  msgstr ""
1224
 
1225
- #: ../includes/welcome.php:549
1226
  msgid "Confirm Password"
1227
  msgstr ""
1228
 
1229
- #: ../includes/welcome.php:553
1230
  #, php-format
1231
  msgid "I have read and agree to the <a href=\"%s\" target=\"_blank\">Terms of Service"
1232
  msgstr ""
1233
 
1234
- #: ../includes/welcome.php:557
1235
  msgid "Sign Up"
1236
  msgstr ""
1237
 
1238
- #: ../includes/welcome.php:571
1239
  msgid "Already have an account?"
1240
  msgstr ""
1241
 
1242
- #: ../includes/welcome.php:571 ../includes/welcome.php:657
1243
  msgid "Sign in"
1244
  msgstr ""
1245
 
1246
- #: ../includes/welcome.php:578 ../includes/welcome.php:676
1247
  msgid "Select Plan"
1248
  msgstr ""
1249
 
1250
- #: ../includes/welcome.php:585 ../includes/welcome.php:683
1251
  msgid "<b>Professional</b>"
1252
  msgstr ""
1253
 
1254
- #: ../includes/welcome.php:589 ../includes/welcome.php:691
1255
- #: ../includes/welcome.php:732
1256
  msgid "Confirm"
1257
  msgstr ""
1258
 
1259
- #: ../includes/welcome.php:594 ../includes/welcome.php:697
1260
  msgid "Payment Method"
1261
  msgstr ""
1262
 
1263
- #: ../includes/welcome.php:596 ../includes/welcome.php:699
1264
  msgid "Credit Card"
1265
  msgstr ""
1266
 
1267
- #: ../includes/welcome.php:597 ../includes/welcome.php:700
1268
  msgid "PayPal"
1269
  msgstr ""
1270
 
1271
- #: ../includes/welcome.php:603 ../includes/welcome.php:706
1272
  msgid "Card Number"
1273
  msgstr ""
1274
 
1275
- #: ../includes/welcome.php:607 ../includes/welcome.php:710
1276
  msgid "Expiration Date"
1277
  msgstr ""
1278
 
1279
- #: ../includes/welcome.php:611 ../includes/welcome.php:714
1280
  msgid "CVC/CVV"
1281
  msgstr ""
1282
 
1283
- #: ../includes/welcome.php:615 ../includes/welcome.php:718
1284
  msgid "Submit"
1285
  msgstr ""
1286
 
1287
- #: ../includes/welcome.php:640
1288
  msgid "Compliance Sign in"
1289
  msgstr ""
1290
 
1291
- #: ../includes/welcome.php:642
1292
  msgid "Sign in to your existing Cookie Compliance&trade; account and select your preferred plan."
1293
  msgstr ""
1294
 
1295
- #: ../includes/welcome.php:646
1296
  msgid "Account Login"
1297
  msgstr ""
1298
 
1299
- #: ../includes/welcome.php:671
1300
  msgid "Don't have an account yet?"
1301
  msgstr ""
1302
 
1303
- #: ../includes/welcome.php:671
1304
  msgid "Sign up"
1305
  msgstr ""
1306
 
1307
- #: ../includes/welcome.php:685
1308
  msgid "Use License"
1309
  msgstr ""
1310
 
1311
- #: ../includes/welcome.php:728
1312
  msgid "Select subscription"
1313
  msgstr ""
1314
 
1315
- #: ../includes/welcome.php:729
1316
  msgid "Licenses"
1317
  msgstr ""
1318
 
1319
- #: ../includes/welcome.php:752
1320
  msgid "Success!"
1321
  msgstr ""
1322
 
1323
- #: ../includes/welcome.php:753
1324
- msgid "You have successfully upgraded your website to Cookie Compliance&trade;"
1325
  msgstr ""
1326
 
1327
- #: ../includes/welcome.php:753
1328
  #, php-format
1329
- msgid "Go to Cookie Compliance&trade; application now. Or access it anytime from your <a href=\"%s\">Cookie Notice settings page</a>."
1330
  msgstr ""
2
  msgid ""
3
  msgstr ""
4
  "Project-Id-Version: Cookie Notice\n"
5
+ "POT-Creation-Date: 2022-12-08 15:49+0100\n"
6
  "PO-Revision-Date: 2015-03-24 11:30+0100\n"
7
  "Last-Translator: Bartosz Arendt <info@dfactory.eu>\n"
8
  "Language-Team: dFactory <info@dfactory.eu>\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 3.2.2\n"
14
  "X-Poedit-KeywordsList: gettext;gettext_noop;__;_e;_n\n"
15
  "X-Poedit-Basepath: .\n"
16
  "X-Poedit-SourceCharset: UTF-8\n"
17
  "X-Poedit-SearchPath-0: ..\n"
18
 
19
+ #: ../cookie-notice.php:630
20
  msgid "German Court Fines Website Owner for Using Google-Hosted Fonts"
21
  msgstr ""
22
 
23
+ #: ../cookie-notice.php:630
24
  msgid "The German Court ruled that use of Google Fonts without prior consent is a violation of Europe’s GDPR (General Data Protection Regulation) because Google Fonts exposes the visitor’s IP address. Court’s ruling threatens a fine of €250,000 for each case of infringement if the site owner does not comply. If your website uses Google Fonts, click \"Run Compliance Check\" to make sure your website complies with the latest consent capture and cookie blocking requirements."
25
  msgstr ""
26
 
27
+ #: ../cookie-notice.php:630 ../includes/dashboard.php:513
28
  msgid "Run Compliance Check"
29
  msgstr ""
30
 
31
+ #: ../cookie-notice.php:630
32
  msgid "Dismiss Notice"
33
  msgstr ""
34
 
35
+ #: ../cookie-notice.php:665
36
  msgid "Cookie Compliance Warning"
37
  msgstr ""
38
 
39
+ #: ../cookie-notice.php:665
40
  #, php-format
41
  msgid "Your website has reached the <b>%1$s visits usage limit for the Cookie Compliance Free Plan</b>. Compliance services such as Consent Record Storage, Autoblocking, and Consent Analytics have been deactivated until current usage cycle ends on %2$s."
42
  msgstr ""
43
 
44
+ #: ../cookie-notice.php:665
45
  #, php-format
46
  msgid "To reactivate compliance services now, <a href=\"%s\" target=\"_blank\">upgrade your domain to a Pro plan.</a>"
47
  msgstr ""
48
 
49
+ #: ../cookie-notice.php:987
50
  msgid "Cookie Notice & Compliance - Deactivation survey"
51
  msgstr ""
52
 
53
+ #: ../cookie-notice.php:1053
54
  msgid "Settings"
55
  msgstr ""
56
 
57
+ #: ../cookie-notice.php:1066
58
  msgid "Free Upgrade"
59
  msgstr ""
60
 
61
+ #: ../cookie-notice.php:1091
62
  msgid "We're sorry to see you go. Could you please tell us what happened?"
63
  msgstr ""
64
 
65
+ #: ../cookie-notice.php:1095
66
  msgid "I couldn't figure out how to make it work."
67
  msgstr ""
68
 
69
+ #: ../cookie-notice.php:1096
70
  msgid "I found another plugin to use for the same task."
71
  msgstr ""
72
 
73
+ #: ../cookie-notice.php:1097
74
  msgid "The Cookie Compliance banner is too big."
75
  msgstr ""
76
 
77
+ #: ../cookie-notice.php:1098
78
  msgid "The Cookie Compliance consent choices (Silver, Gold, Platinum) are confusing."
79
  msgstr ""
80
 
81
+ #: ../cookie-notice.php:1099
82
  msgid "The Cookie Compliance default settings are too strict."
83
  msgstr ""
84
 
85
+ #: ../cookie-notice.php:1100
86
  msgid "The web application user interface is not clear to me."
87
  msgstr ""
88
 
89
+ #: ../cookie-notice.php:1101
90
  msgid "Support isn't timely."
91
  msgstr ""
92
 
93
+ #: ../cookie-notice.php:1102
94
  msgid "Other"
95
  msgstr ""
96
 
97
+ #: ../cookie-notice.php:1116
98
  msgid "Cancel"
99
  msgstr ""
100
 
101
+ #: ../cookie-notice.php:1117
102
  msgid "Deactivate"
103
  msgstr ""
104
 
105
+ #: ../cookie-notice.php:1118
106
  msgid "Deactivate & Submit"
107
  msgstr ""
108
 
192
  msgid "Cookie Compliance Status"
193
  msgstr ""
194
 
195
+ #: ../includes/dashboard.php:506
196
  msgid "Your site does not have Cookie Compliance"
197
  msgstr ""
198
 
199
+ #: ../includes/dashboard.php:509 ../includes/settings.php:200
200
+ #: ../includes/welcome.php:379
201
  msgid "Cookie Notice"
202
  msgstr ""
203
 
204
+ #: ../includes/dashboard.php:512
205
  msgid "Run Compliance Check to determine your site's compliance with updated data processing and consent rules under GDPR, CCPA and other international data privacy laws."
206
  msgstr ""
207
 
208
+ #: ../includes/settings.php:52 ../includes/welcome.php:456
209
  msgid "Top"
210
  msgstr ""
211
 
212
+ #: ../includes/settings.php:53 ../includes/welcome.php:455
213
  msgid "Bottom"
214
  msgstr ""
215
 
245
  msgid "Banner"
246
  msgstr ""
247
 
248
+ #: ../includes/settings.php:76 ../includes/settings.php:422
249
  msgid "Message"
250
  msgstr ""
251
 
350
  msgstr ""
351
 
352
  #: ../includes/settings.php:133 ../includes/settings.php:157
353
+ #: ../includes/settings.php:424
354
  msgid "Privacy policy"
355
  msgstr ""
356
 
406
  msgid "You can revoke your consent any time using the Revoke consent button."
407
  msgstr ""
408
 
409
+ #: ../includes/settings.php:156 ../includes/settings.php:426
410
  msgid "Revoke consent"
411
  msgstr ""
412
 
414
  msgid "Cookies"
415
  msgstr ""
416
 
417
+ #: ../includes/settings.php:219
418
  msgid "Cookie Notice & Compliance for GDPR/CCPA"
419
  msgstr ""
420
 
421
+ #: ../includes/settings.php:231
422
+ msgid "Your Cookie Compliance plan:"
423
  msgstr ""
424
 
425
+ #: ../includes/settings.php:232 ../includes/welcome.php:291
426
+ msgid "Professional"
 
427
  msgstr ""
428
 
429
+ #: ../includes/settings.php:232 ../includes/welcome.php:270
430
+ #: ../includes/welcome.php:548 ../includes/welcome.php:646
431
+ msgid "Basic"
432
  msgstr ""
433
 
434
+ #: ../includes/settings.php:235 ../includes/welcome.php:274
435
+ #: ../includes/welcome.php:304
436
+ msgid "GDPR, CCPA, ePrivacy, PECR compliance"
437
+ msgstr ""
438
+
439
+ #: ../includes/settings.php:236 ../includes/welcome.php:275
440
+ #: ../includes/welcome.php:305
441
+ msgid "Consent Analytics Dashboard"
442
+ msgstr ""
443
+
444
+ #: ../includes/settings.php:237 ../includes/welcome.php:306
445
+ msgid "<b>Unlimited</b> visits"
446
+ msgstr ""
447
+
448
+ #: ../includes/settings.php:238 ../includes/welcome.php:307
449
+ msgid "<b>Lifetime</b> consent storage"
450
+ msgstr ""
451
+
452
+ #: ../includes/settings.php:239 ../includes/welcome.php:278
453
+ #: ../includes/welcome.php:308
454
+ msgid "<b>Geolocation</b> support"
455
+ msgstr ""
456
+
457
+ #: ../includes/settings.php:240 ../includes/welcome.php:309
458
+ msgid "<b>Unlimited</b> languages"
459
+ msgstr ""
460
+
461
+ #: ../includes/settings.php:241 ../includes/welcome.php:310
462
+ msgid "<b>Priority</b> Support"
463
  msgstr ""
464
 
465
  #: ../includes/settings.php:246
466
+ msgid "Upgrade to Pro"
467
+ msgstr ""
468
+
469
+ #: ../includes/settings.php:255
470
+ msgid "with Cookie Compliance&trade;"
471
+ msgstr ""
472
+
473
+ #: ../includes/settings.php:257
474
+ msgid "Deliver better consent experiences and comply with GDPR, CCPA and other data privacy laws more effectively."
475
+ msgstr ""
476
+
477
+ #: ../includes/settings.php:259
478
+ msgid "Cookie Compliance dashboard"
479
+ msgstr ""
480
+
481
+ #: ../includes/settings.php:260
482
+ msgid "Learn more"
483
+ msgstr ""
484
+
485
+ #: ../includes/settings.php:270
486
  msgid "F.A.Q."
487
  msgstr ""
488
 
489
+ #: ../includes/settings.php:274
490
  msgid "Does the Cookie Notice make my site fully compliant with GDPR?"
491
  msgstr ""
492
 
493
+ #: ../includes/settings.php:275
494
  msgid "It is not possible to provide the required technical compliance features using only a WordPress plugin. Features like consent record storage, purpose categories and script blocking that bring your site into full compliance with GDPR are only available through the Cookie Compliance integration."
495
  msgstr ""
496
 
497
+ #: ../includes/settings.php:279
498
+ msgid "Does the Cookie Compliance integration make my site fully compliant with GDPR?"
499
  msgstr ""
500
 
501
+ #: ../includes/settings.php:280
502
  msgid "Yes! The plugin + web application version includes technical compliance features to meet requirements for over 100 countries and legal jurisdictions."
503
  msgstr ""
504
 
505
+ #: ../includes/settings.php:284
506
  msgid "Is Cookie Compliance free?"
507
  msgstr ""
508
 
509
+ #: ../includes/settings.php:285
510
  msgid "Yes, but with limits. Cookie Compliance includes both free and paid plans to choose from depending on your needs and your website monthly traffic."
511
  msgstr ""
512
 
513
+ #: ../includes/settings.php:289
514
  msgid "Where can I find pricing options?"
515
  msgstr ""
516
 
517
+ #: ../includes/settings.php:290
518
  msgid "You can learn more about the features and pricing by visiting the Cookie Compliance website here:"
519
  msgstr ""
520
 
521
+ #: ../includes/settings.php:335
522
  msgid "Reset to defaults"
523
  msgstr ""
524
 
525
+ #: ../includes/settings.php:362 ../includes/settings.php:367
526
  msgid "Network Settings"
527
  msgstr ""
528
 
529
+ #: ../includes/settings.php:363
530
  msgid "Global Settings Override"
531
  msgstr ""
532
 
533
+ #: ../includes/settings.php:364
534
  msgid "Global Cookie"
535
  msgstr ""
536
 
537
+ #: ../includes/settings.php:399 ../includes/settings.php:415
538
  msgid "Compliance Settings"
539
  msgstr ""
540
 
541
+ #: ../includes/settings.php:400 ../includes/settings.php:416
542
  msgid "Compliance status"
543
  msgstr ""
544
 
545
+ #: ../includes/settings.php:401 ../includes/settings.php:417
546
  msgid "App ID"
547
  msgstr ""
548
 
549
+ #: ../includes/settings.php:402 ../includes/settings.php:418
550
  msgid "App Key"
551
  msgstr ""
552
 
553
+ #: ../includes/settings.php:405
554
  msgid "Miscellaneous Settings"
555
  msgstr ""
556
 
557
+ #: ../includes/settings.php:406 ../includes/settings.php:506
558
+ #: ../includes/settings.php:520 ../includes/settings.php:539
559
+ #: ../includes/welcome.php:380
560
  msgid "Autoblocking"
561
  msgstr ""
562
 
563
+ #: ../includes/settings.php:407
564
  msgid "Hide for logged in"
565
  msgstr ""
566
 
567
+ #: ../includes/settings.php:408
568
  msgid "Debug mode"
569
  msgstr ""
570
 
571
+ #: ../includes/settings.php:409
572
  msgid "Cache"
573
  msgstr ""
574
 
575
+ #: ../includes/settings.php:410 ../includes/settings.php:433
576
  msgid "Script placement"
577
  msgstr ""
578
 
579
+ #: ../includes/settings.php:411 ../includes/settings.php:434
580
  msgid "Deactivation"
581
  msgstr ""
582
 
583
+ #: ../includes/settings.php:421
584
  msgid "Notice Settings"
585
  msgstr ""
586
 
587
+ #: ../includes/settings.php:423
588
  msgid "Button text"
589
  msgstr ""
590
 
591
+ #: ../includes/settings.php:425
592
  msgid "Refuse consent"
593
  msgstr ""
594
 
595
+ #: ../includes/settings.php:427
596
  msgid "Script blocking"
597
  msgstr ""
598
 
599
+ #: ../includes/settings.php:428
600
  msgid "Reloading"
601
  msgstr ""
602
 
603
+ #: ../includes/settings.php:429
604
  msgid "On scroll"
605
  msgstr ""
606
 
607
+ #: ../includes/settings.php:430
608
  msgid "On click"
609
  msgstr ""
610
 
611
+ #: ../includes/settings.php:431
612
  msgid "Accepted expiry"
613
  msgstr ""
614
 
615
+ #: ../includes/settings.php:432
616
  msgid "Rejected expiry"
617
  msgstr ""
618
 
619
+ #: ../includes/settings.php:437
620
  msgid "Notice Design"
621
  msgstr ""
622
 
623
+ #: ../includes/settings.php:438
624
  msgid "Position"
625
  msgstr ""
626
 
627
+ #: ../includes/settings.php:439
628
  msgid "Animation"
629
  msgstr ""
630
 
631
+ #: ../includes/settings.php:440
632
  msgid "Colors"
633
  msgstr ""
634
 
635
+ #: ../includes/settings.php:441
636
  msgid "Button class"
637
  msgstr ""
638
 
639
+ #: ../includes/settings.php:453
640
  msgid "Enable global network settings override."
641
  msgstr ""
642
 
643
+ #: ../includes/settings.php:454
644
  msgid "Every site in the network will use the same settings. Site administrators will not be able to change them."
645
  msgstr ""
646
 
647
+ #: ../includes/settings.php:468
648
  msgid "This option works only for domain-based networks."
649
  msgstr ""
650
 
651
+ #: ../includes/settings.php:474
652
  msgid "Enable global network cookie consent."
653
  msgstr ""
654
 
655
+ #: ../includes/settings.php:475
656
  msgid "Cookie consent in one of the network sites results in a consent in all of the sites on the network."
657
  msgstr ""
658
 
659
+ #: ../includes/settings.php:486
660
  msgid "Global network settings override is active. Every site will use the same network settings. Please contact super administrator if you want to have more control over the settings."
661
  msgstr ""
662
 
663
+ #: ../includes/settings.php:505 ../includes/settings.php:519
664
+ #: ../includes/settings.php:538
665
  msgid "Notice"
666
  msgstr ""
667
 
668
+ #: ../includes/settings.php:505 ../includes/settings.php:506
669
+ #: ../includes/settings.php:507 ../includes/settings.php:508
670
+ #: ../includes/settings.php:519 ../includes/settings.php:538
671
  msgid "Active"
672
  msgstr ""
673
 
674
+ #: ../includes/settings.php:507 ../includes/settings.php:521
675
+ #: ../includes/settings.php:540 ../includes/welcome.php:381
676
  msgid "Cookie Categories"
677
  msgstr ""
678
 
679
+ #: ../includes/settings.php:508 ../includes/settings.php:522
680
+ #: ../includes/settings.php:541 ../includes/welcome.php:382
681
  msgid "Proof-of-Consent"
682
  msgstr ""
683
 
684
+ #: ../includes/settings.php:511
685
  msgid "Log in & Configure"
686
  msgstr ""
687
 
688
+ #: ../includes/settings.php:512
689
  msgid "Log into the Cookie Compliance&trade; web application and configure your Privacy Experience."
690
  msgstr ""
691
 
692
+ #: ../includes/settings.php:520 ../includes/settings.php:521
693
+ #: ../includes/settings.php:522
694
  msgid "Pending"
695
  msgstr ""
696
 
697
+ #: ../includes/settings.php:525
698
  msgid "Log in & configure"
699
  msgstr ""
700
 
701
+ #: ../includes/settings.php:526
702
  msgid "Log into the Cookie Compliance&trade; web application and complete the setup process."
703
  msgstr ""
704
 
705
+ #: ../includes/settings.php:539 ../includes/settings.php:540
706
+ #: ../includes/settings.php:541
707
  msgid "Inactive"
708
  msgstr ""
709
 
710
+ #: ../includes/settings.php:544
711
  msgid "Add Compliance features"
712
  msgstr ""
713
 
714
+ #: ../includes/settings.php:545
715
+ #, php-format
716
+ msgid "Sign up to <a href=\"%s\" target=\"_blank\">Cookie Compliance&trade;</a> and add GDPR, CCPA and other international data privacy laws compliance features."
717
  msgstr ""
718
 
719
+ #: ../includes/settings.php:560
720
  msgid "Enter your Cookie Compliance&trade; application ID."
721
  msgstr ""
722
 
723
+ #: ../includes/settings.php:573
724
  msgid "Enter your Cookie Compliance&trade; application secret key."
725
  msgstr ""
726
 
727
+ #: ../includes/settings.php:585
728
  msgid "Enable to automatically block 3rd party scripts before user consent."
729
  msgstr ""
730
 
731
+ #: ../includes/settings.php:586
732
  msgid "In case you're experiencing issues with your site disable that feature temporarily."
733
  msgstr ""
734
 
735
+ #: ../includes/settings.php:599
736
  msgid "Purge Cache"
737
  msgstr ""
738
 
739
+ #: ../includes/settings.php:601
740
  msgid "Click the Purge Cache button to refresh the app configuration."
741
  msgstr ""
742
 
743
+ #: ../includes/settings.php:613
744
  msgid "Enable to hide the consent banner for logged in users."
745
  msgstr ""
746
 
747
+ #: ../includes/settings.php:625
748
  msgid "Enable to run the consent banner in debug mode."
749
  msgstr ""
750
 
751
+ #: ../includes/settings.php:638
752
  msgid "Enter the cookie notice message."
753
  msgstr ""
754
 
755
+ #: ../includes/settings.php:651
756
  msgid "The text of the option to accept the notice and make it disappear."
757
  msgstr ""
758
 
759
+ #: ../includes/settings.php:663
760
  msgid "Enable to give to the user the possibility to refuse third party non functional cookies."
761
  msgstr ""
762
 
763
+ #: ../includes/settings.php:667
764
  msgid "The text of the button to refuse the consent."
765
  msgstr ""
766
 
767
+ #: ../includes/settings.php:686
768
  msgid "Head"
769
  msgstr ""
770
 
771
+ #: ../includes/settings.php:687
772
  msgid "Body"
773
  msgstr ""
774
 
775
+ #: ../includes/settings.php:690
776
  msgid "The code to be used in your site header, before the closing head tag."
777
  msgstr ""
778
 
779
+ #: ../includes/settings.php:694
780
  msgid "The code to be used in your site footer, before the closing body tag."
781
  msgstr ""
782
 
783
+ #: ../includes/settings.php:698
784
  msgid "Enter non functional cookies Javascript code here (for e.g. Google Analitycs) to be used after the notice is accepted."
785
  msgstr ""
786
 
787
+ #: ../includes/settings.php:698
788
  msgid "To get the user consent status use the <code>cn_cookies_accepted()</code> function."
789
  msgstr ""
790
 
791
+ #: ../includes/settings.php:711
792
  msgid "Enable to give to the user the possibility to revoke their consent <i>(requires \"Refuse consent\" option enabled)</i>."
793
  msgstr ""
794
 
795
+ #: ../includes/settings.php:714
796
  msgid "Enter the revoke message."
797
  msgstr ""
798
 
799
+ #: ../includes/settings.php:716
800
  msgid "The text of the button to revoke the consent."
801
  msgstr ""
802
 
803
+ #: ../includes/settings.php:724
804
  msgid "Select the method for displaying the revoke button - automatic (in the banner) or manual using <code>[cookies_revoke]</code> shortcode."
805
  msgstr ""
806
 
807
+ #: ../includes/settings.php:738
808
  msgid "Enable to reload the page after the notice is accepted."
809
  msgstr ""
810
 
811
+ #: ../includes/settings.php:765
812
  msgid "Enable privacy policy link."
813
  msgstr ""
814
 
815
+ #: ../includes/settings.php:768
816
  msgid "The text of the privacy policy button."
817
  msgstr ""
818
 
819
+ #: ../includes/settings.php:780
820
  msgid "Select where to redirect user for more information."
821
  msgstr ""
822
 
823
+ #: ../includes/settings.php:783
824
  msgid "-- select page --"
825
  msgstr ""
826
 
827
+ #: ../includes/settings.php:794
828
  msgid "Select from one of your site's pages."
829
  msgstr ""
830
 
831
+ #: ../includes/settings.php:800
832
  msgid "Synchronize with WordPress Privacy Policy page."
833
  msgstr ""
834
 
835
+ #: ../includes/settings.php:807
836
  msgid "Enter the full URL starting with http(s)://"
837
  msgstr ""
838
 
839
+ #: ../includes/settings.php:852
840
  msgid "The amount of time that the cookie should be stored for when user accepts the notice."
841
  msgstr ""
842
 
843
+ #: ../includes/settings.php:875
844
  msgid "The amount of time that the cookie should be stored for when the user doesn't accept the notice."
845
  msgstr ""
846
 
847
+ #: ../includes/settings.php:894
848
  msgid "Select where all the plugin scripts should be placed."
849
  msgstr ""
850
 
851
+ #: ../includes/settings.php:915
852
  msgid "Select location for the notice."
853
  msgstr ""
854
 
855
+ #: ../includes/settings.php:936
856
  msgid "Select the animation style."
857
  msgstr ""
858
 
859
+ #: ../includes/settings.php:948
860
  msgid "Enable to accept the notice when user scrolls."
861
  msgstr ""
862
 
863
+ #: ../includes/settings.php:951
864
  msgid "Number of pixels user has to scroll to accept the notice and make it disappear."
865
  msgstr ""
866
 
867
+ #: ../includes/settings.php:964
868
  msgid "Enable to accept the notice on any click on the page."
869
  msgstr ""
870
 
871
+ #: ../includes/settings.php:976
872
  msgid "Enable if you want all plugin data to be deleted on deactivation."
873
  msgstr ""
874
 
875
+ #: ../includes/settings.php:989
876
  msgid "Enter additional button CSS classes separated by spaces."
877
  msgstr ""
878
 
879
+ #: ../includes/settings.php:1015
880
  msgid "Bar opacity"
881
  msgstr ""
882
 
883
+ #: ../includes/settings.php:1169
884
  msgid "Settings saved."
885
  msgstr ""
886
 
887
+ #: ../includes/settings.php:1179
888
  msgid "Settings restored to defaults."
889
  msgstr ""
890
 
891
+ #: ../includes/settings.php:1274
892
  msgid "Are you sure you want to reset these settings to defaults?"
893
  msgstr ""
894
 
895
+ #: ../includes/welcome-api.php:34 ../includes/welcome-api.php:37
896
+ #: ../includes/welcome-api.php:40 ../includes/welcome-api.php:43
897
  #: ../includes/welcome.php:184 ../includes/welcome.php:192
898
  #: ../includes/welcome.php:195
899
  msgid "You do not have permission to access this page."
900
  msgstr ""
901
 
902
+ #: ../includes/welcome-api.php:103 ../includes/welcome-api.php:321
903
+ #: ../includes/welcome-api.php:363 ../includes/welcome-api.php:514
904
+ #: ../includes/welcome-api.php:588 ../includes/welcome-api.php:1118
905
  #: ../includes/welcome.php:83
906
  msgid "Unexpected error occurred. Please try again later."
907
  msgstr ""
908
 
909
+ #: ../includes/welcome-api.php:128
910
  msgid "Empty plan or payment method data."
911
  msgstr ""
912
 
913
+ #: ../includes/welcome-api.php:163
914
  msgid "Unable to create customer data."
915
  msgstr ""
916
 
917
+ #: ../includes/welcome-api.php:212
918
  msgid "Unable to create payment mehotd."
919
  msgstr ""
920
 
921
+ #: ../includes/welcome-api.php:218
922
  msgid "No payment method token."
923
  msgstr ""
924
 
925
+ #: ../includes/welcome-api.php:264
926
  msgid "Please accept the Terms of Service to proceed."
927
  msgstr ""
928
 
929
+ #: ../includes/welcome-api.php:269 ../includes/welcome-api.php:486
930
  msgid "Email is not allowed to be empty."
931
  msgstr ""
932
 
933
+ #: ../includes/welcome-api.php:274 ../includes/welcome-api.php:491
934
  msgid "Password is not allowed to be empty."
935
  msgstr ""
936
 
937
+ #: ../includes/welcome-api.php:279
938
  msgid "Passwords do not match."
939
  msgstr ""
940
 
946
  msgid "Failed"
947
  msgstr ""
948
 
949
+ #: ../includes/welcome.php:86 ../includes/welcome.php:292
950
+ #: ../includes/welcome.php:549 ../includes/welcome.php:647
951
  msgid "monthly"
952
  msgstr ""
953
 
963
  msgid "<em>Compliance Passed!</em>Congratulations. Your website meets minimum viable compliance."
964
  msgstr ""
965
 
966
+ #: ../includes/welcome.php:93 ../includes/welcome.php:649
967
  msgid "available"
968
  msgstr ""
969
 
971
  msgid "Please fill all the required fields."
972
  msgstr ""
973
 
974
+ #: ../includes/welcome.php:213 ../includes/welcome.php:250
975
+ msgid "The next generation of Cookie Notice"
976
+ msgstr ""
977
+
978
  #: ../includes/welcome.php:215
979
  msgid "Cookie Compliance is a free web application that enables websites to take a proactive approach to data protection and consent laws."
980
  msgstr ""
995
  msgid "Skip for now"
996
  msgstr ""
997
 
998
+ #: ../includes/welcome.php:252
999
  msgid "Take a proactive approach to data protection and consent laws by signing up for Cookie Compliance account. Then select a limited Basic Plan for free or get one of the Professional Plans for unlimited visits, consent storage, languages and customizations."
1000
  msgstr ""
1001
 
1002
+ #: ../includes/welcome.php:256
1003
  msgid "Compliance Plans"
1004
  msgstr ""
1005
 
1006
+ #: ../includes/welcome.php:259
1007
  msgid "Monthly"
1008
  msgstr ""
1009
 
1010
+ #: ../includes/welcome.php:262
1011
  msgid "Yearly"
1012
  msgstr ""
1013
 
1014
+ #: ../includes/welcome.php:262
1015
  msgid "Save 12%"
1016
  msgstr ""
1017
 
1018
+ #: ../includes/welcome.php:271
 
 
 
 
 
1019
  msgid "Free"
1020
  msgstr ""
1021
 
1022
+ #: ../includes/welcome.php:276
 
 
 
 
 
 
 
 
1023
  msgid "<b>1,000</b> visits / month"
1024
  msgstr ""
1025
 
1026
+ #: ../includes/welcome.php:277
1027
  msgid "<b>30 days</b> consent storage"
1028
  msgstr ""
1029
 
1030
+ #: ../includes/welcome.php:279
1031
  msgid "<b>1 additional</b> language"
1032
  msgstr ""
1033
 
1034
+ #: ../includes/welcome.php:280
1035
  msgid "<b>Basic</b> Support"
1036
  msgstr ""
1037
 
1038
+ #: ../includes/welcome.php:283
1039
  msgid "Start Basic"
1040
  msgstr ""
1041
 
1042
+ #: ../includes/welcome.php:293
 
 
 
 
1043
  msgid "Recommended"
1044
  msgstr ""
1045
 
1046
+ #: ../includes/welcome.php:295
1047
  msgid "Pricing options"
1048
  msgstr ""
1049
 
1050
+ #: ../includes/welcome.php:296 ../includes/welcome.php:297
1051
+ #: ../includes/welcome.php:298 ../includes/welcome.php:299
1052
  #, php-format
1053
  msgid "%s domain license"
1054
  msgstr ""
1055
 
1056
+ #: ../includes/welcome.php:313
1057
+ msgid "Start Professional"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1058
  msgstr ""
1059
 
1060
+ #: ../includes/welcome.php:319
1061
  msgid "I don’t want to create an account now"
1062
  msgstr ""
1063
 
1064
+ #: ../includes/welcome.php:338
1065
  msgid "Congratulations"
1066
  msgstr ""
1067
 
1068
+ #: ../includes/welcome.php:339
1069
+ msgid "You have successfully signed up to a Professional plan."
1070
  msgstr ""
1071
 
1072
+ #: ../includes/welcome.php:339
1073
+ msgid "You have successfully signed up to a limited, Basic plan."
1074
  msgstr ""
1075
 
1076
+ #: ../includes/welcome.php:341
1077
+ msgid "Log in to your Cookie Compliance account and continue configuring your Privacy Experience."
1078
+ msgstr ""
1079
+
1080
+ #: ../includes/welcome.php:344
1081
  msgid "Go to Application"
1082
  msgstr ""
1083
 
1084
+ #: ../includes/welcome.php:369
1085
  msgid "Compliance check"
1086
  msgstr ""
1087
 
1088
+ #: ../includes/welcome.php:370
1089
  msgid "This is a Compliance Check to determine your site’s compliance with updated data processing and consent rules under GDPR, CCPA and other international data privacy laws."
1090
  msgstr ""
1091
 
1092
+ #: ../includes/welcome.php:372
1093
  msgid "Site URL"
1094
  msgstr ""
1095
 
1096
+ #: ../includes/welcome.php:373
1097
  msgid "Site Name"
1098
  msgstr ""
1099
 
1100
+ #: ../includes/welcome.php:376
1101
  msgid "Checking..."
1102
  msgstr ""
1103
 
1104
+ #: ../includes/welcome.php:379
1105
  msgid "Notifies visitors that site uses cookies."
1106
  msgstr ""
1107
 
1108
+ #: ../includes/welcome.php:380
1109
  msgid "Non-essential cookies blocked until consent is registered."
1110
  msgstr ""
1111
 
1112
+ #: ../includes/welcome.php:381
1113
  msgid "Separate consent requested per purpose of use."
1114
  msgstr ""
1115
 
1116
+ #: ../includes/welcome.php:382
1117
  msgid "Proof-of-consent stored in secure audit format."
1118
  msgstr ""
1119
 
1120
+ #: ../includes/welcome.php:398
1121
  msgid "Live Setup"
1122
  msgstr ""
1123
 
1124
+ #: ../includes/welcome.php:399
1125
  msgid "Configure your Cookie Notice & Compliance design and compliance features through the options below. Click Apply Setup to save the configuration and go to selecting your preferred cookie solution."
1126
  msgstr ""
1127
 
1128
+ #: ../includes/welcome.php:403
1129
  msgid "Banner Compliance"
1130
  msgstr ""
1131
 
1132
+ #: ../includes/welcome.php:424
1133
  msgid "Select the laws that apply to your business"
1134
  msgstr ""
1135
 
1136
+ #: ../includes/welcome.php:426
1137
  msgid "GDPR"
1138
  msgstr ""
1139
 
1140
+ #: ../includes/welcome.php:427
1141
  msgid "CCPA"
1142
  msgstr ""
1143
 
1144
+ #: ../includes/welcome.php:431
1145
  msgid "Select a naming style for the consent choices"
1146
  msgstr ""
1147
 
1148
+ #: ../includes/welcome.php:433
1149
  msgid "Silver, Gold, Platinum (Default)​"
1150
  msgstr ""
1151
 
1152
+ #: ../includes/welcome.php:434
1153
  msgid "Private, Balanced, Personalized"
1154
  msgstr ""
1155
 
1156
+ #: ../includes/welcome.php:435
1157
  msgid "Reject All, Accept Some, Accept All​"
1158
  msgstr ""
1159
 
1160
+ #: ../includes/welcome.php:439
1161
  msgid "Select additional information to include in the banner:"
1162
  msgstr ""
1163
 
1164
+ #: ../includes/welcome.php:441
1165
  msgid "Display <b>Privacy Paper</b> to provide helpful data privacy and consent information to visitors."
1166
  msgstr ""
1167
 
1168
+ #: ../includes/welcome.php:442
1169
  msgid "Display <b>Privacy Contact</b> to provide Data Controller contact information and links to external data privacy resources."
1170
  msgstr ""
1171
 
1172
+ #: ../includes/welcome.php:445 ../includes/welcome.php:473
1173
  msgid "available for Cookie Compliance&trade; Pro plans only"
1174
  msgstr ""
1175
 
1176
+ #: ../includes/welcome.php:449
1177
  msgid "Banner Design"
1178
  msgstr ""
1179
 
1180
+ #: ../includes/welcome.php:453
1181
  msgid "Select your preferred display position"
1182
  msgstr ""
1183
 
1184
+ #: ../includes/welcome.php:457
1185
  msgid "Left"
1186
  msgstr ""
1187
 
1188
+ #: ../includes/welcome.php:458
1189
  msgid "Right"
1190
  msgstr ""
1191
 
1192
+ #: ../includes/welcome.php:459
1193
  msgid "Center"
1194
  msgstr ""
1195
 
1196
+ #: ../includes/welcome.php:463
1197
  msgid "Adjust the banner color scheme"
1198
  msgstr ""
1199
 
1200
+ #: ../includes/welcome.php:465
1201
  msgid "Color of the buttons and interactive elements."
1202
  msgstr ""
1203
 
1204
+ #: ../includes/welcome.php:466
1205
  msgid "Color of the banner background."
1206
  msgstr ""
1207
 
1208
+ #: ../includes/welcome.php:467
1209
  msgid "Color of the body text."
1210
  msgstr ""
1211
 
1212
+ #: ../includes/welcome.php:468
1213
  msgid "Color of the borders and inactive elements."
1214
  msgstr ""
1215
 
1216
+ #: ../includes/welcome.php:469
1217
  msgid "Color of the heading text."
1218
  msgstr ""
1219
 
1220
+ #: ../includes/welcome.php:470
1221
  msgid "Color of the button text."
1222
  msgstr ""
1223
 
1224
+ #: ../includes/welcome.php:478
1225
  msgid "Apply Setup"
1226
  msgstr ""
1227
 
1228
+ #: ../includes/welcome.php:496
1229
  msgid "Compliance account"
1230
  msgstr ""
1231
 
1232
+ #: ../includes/welcome.php:498
1233
  msgid "Create a Cookie Compliance&trade; account and select your preferred plan."
1234
  msgstr ""
1235
 
1236
+ #: ../includes/welcome.php:502
1237
  msgid "Create Account"
1238
  msgstr ""
1239
 
1240
+ #: ../includes/welcome.php:507 ../includes/welcome.php:615
1241
  msgid "Email address"
1242
  msgstr ""
1243
 
1244
+ #: ../includes/welcome.php:510 ../includes/welcome.php:618
1245
  msgid "Password"
1246
  msgstr ""
1247
 
1248
+ #: ../includes/welcome.php:513
1249
  msgid "Confirm Password"
1250
  msgstr ""
1251
 
1252
+ #: ../includes/welcome.php:517
1253
  #, php-format
1254
  msgid "I have read and agree to the <a href=\"%s\" target=\"_blank\">Terms of Service"
1255
  msgstr ""
1256
 
1257
+ #: ../includes/welcome.php:521
1258
  msgid "Sign Up"
1259
  msgstr ""
1260
 
1261
+ #: ../includes/welcome.php:535
1262
  msgid "Already have an account?"
1263
  msgstr ""
1264
 
1265
+ #: ../includes/welcome.php:535 ../includes/welcome.php:621
1266
  msgid "Sign in"
1267
  msgstr ""
1268
 
1269
+ #: ../includes/welcome.php:542 ../includes/welcome.php:640
1270
  msgid "Select Plan"
1271
  msgstr ""
1272
 
1273
+ #: ../includes/welcome.php:549 ../includes/welcome.php:647
1274
  msgid "<b>Professional</b>"
1275
  msgstr ""
1276
 
1277
+ #: ../includes/welcome.php:553 ../includes/welcome.php:655
1278
+ #: ../includes/welcome.php:696
1279
  msgid "Confirm"
1280
  msgstr ""
1281
 
1282
+ #: ../includes/welcome.php:558 ../includes/welcome.php:661
1283
  msgid "Payment Method"
1284
  msgstr ""
1285
 
1286
+ #: ../includes/welcome.php:560 ../includes/welcome.php:663
1287
  msgid "Credit Card"
1288
  msgstr ""
1289
 
1290
+ #: ../includes/welcome.php:561 ../includes/welcome.php:664
1291
  msgid "PayPal"
1292
  msgstr ""
1293
 
1294
+ #: ../includes/welcome.php:567 ../includes/welcome.php:670
1295
  msgid "Card Number"
1296
  msgstr ""
1297
 
1298
+ #: ../includes/welcome.php:571 ../includes/welcome.php:674
1299
  msgid "Expiration Date"
1300
  msgstr ""
1301
 
1302
+ #: ../includes/welcome.php:575 ../includes/welcome.php:678
1303
  msgid "CVC/CVV"
1304
  msgstr ""
1305
 
1306
+ #: ../includes/welcome.php:579 ../includes/welcome.php:682
1307
  msgid "Submit"
1308
  msgstr ""
1309
 
1310
+ #: ../includes/welcome.php:604
1311
  msgid "Compliance Sign in"
1312
  msgstr ""
1313
 
1314
+ #: ../includes/welcome.php:606
1315
  msgid "Sign in to your existing Cookie Compliance&trade; account and select your preferred plan."
1316
  msgstr ""
1317
 
1318
+ #: ../includes/welcome.php:610
1319
  msgid "Account Login"
1320
  msgstr ""
1321
 
1322
+ #: ../includes/welcome.php:635
1323
  msgid "Don't have an account yet?"
1324
  msgstr ""
1325
 
1326
+ #: ../includes/welcome.php:635
1327
  msgid "Sign up"
1328
  msgstr ""
1329
 
1330
+ #: ../includes/welcome.php:649
1331
  msgid "Use License"
1332
  msgstr ""
1333
 
1334
+ #: ../includes/welcome.php:692
1335
  msgid "Select subscription"
1336
  msgstr ""
1337
 
1338
+ #: ../includes/welcome.php:693
1339
  msgid "Licenses"
1340
  msgstr ""
1341
 
1342
+ #: ../includes/welcome.php:716
1343
  msgid "Success!"
1344
  msgstr ""
1345
 
1346
+ #: ../includes/welcome.php:717
1347
+ msgid "You have successfully integrated your website to Cookie Compliance;"
1348
  msgstr ""
1349
 
1350
+ #: ../includes/welcome.php:717
1351
  #, php-format
1352
+ msgid "Go to Cookie Compliance application now. Or access it anytime from your <a href=\"%s\">Cookie Notice settings page</a>."
1353
  msgstr ""
readme.txt CHANGED
@@ -3,8 +3,8 @@ Contributors: humanityco
3
  Tags: gdpr, ccpa, cookies, consent, compliance
4
  Requires at least: 4.7
5
  Requires PHP: 5.4
6
- Tested up to: 6.1
7
- Stable tag: 2.4.2
8
  License: MIT License
9
  License URI: http://opensource.org/licenses/MIT
10
 
@@ -121,6 +121,9 @@ Yes! The plugin + web appliaction version includes technical compliance features
121
 
122
  == Changelog ==
123
 
 
 
 
124
  = 2.4.2 =
125
  * New: Compatibility with Autoptimize plugin
126
  * Fix: Improved Contact Form 7 reCaptcha support
@@ -438,6 +441,5 @@ Initial release
438
 
439
  == Upgrade Notice ==
440
 
441
- = 2.4.2 =
442
- * New: Compatibility with Autoptimize plugin
443
- * Fix: Improved Contact Form 7 reCaptcha support
3
  Tags: gdpr, ccpa, cookies, consent, compliance
4
  Requires at least: 4.7
5
  Requires PHP: 5.4
6
+ Tested up to: 6.1.1
7
+ Stable tag: 2.4.3
8
  License: MIT License
9
  License URI: http://opensource.org/licenses/MIT
10
 
121
 
122
  == Changelog ==
123
 
124
+ = 2.4.3 =
125
+ * Fix: Deprecated preg_replace() notice in PHP 8.1
126
+
127
  = 2.4.2 =
128
  * New: Compatibility with Autoptimize plugin
129
  * Fix: Improved Contact Form 7 reCaptcha support
441
 
442
  == Upgrade Notice ==
443
 
444
+ = 2.4.3 =
445
+ * Fix: Deprecated preg_replace() notice in PHP 8.1