Cookie Law / GDPR Info - Version 1.8.3

Version Description

  • PHP 7.4 compatibility
  • Security fix
Download this release

Release Info

Developer webtoffee
Plugin Icon Cookie Law / GDPR Info
Version 1.8.3
Comparing to
See all releases

Code changes from version 1.8.1 to 1.8.3

admin/class-cookie-law-info-admin.php CHANGED
@@ -214,7 +214,11 @@ class Cookie_Law_Info_Admin {
214
  public function admin_non_necessary_cookie_page()
215
  {
216
  wp_enqueue_style($this->plugin_name);
217
- wp_enqueue_script($this->plugin_name);
 
 
 
 
218
  $options = array('thirdparty_on_field',
219
  'third_party_default_state',
220
  'thirdparty_description',
@@ -272,7 +276,11 @@ class Cookie_Law_Info_Admin {
272
  public function admin_necessary_cookie_page()
273
  {
274
  wp_enqueue_style($this->plugin_name);
275
- wp_enqueue_script($this->plugin_name);
 
 
 
 
276
  $options = array('necessary_description'
277
  );
278
  // Get options:
214
  public function admin_non_necessary_cookie_page()
215
  {
216
  wp_enqueue_style($this->plugin_name);
217
+ wp_enqueue_script($this->plugin_name);
218
+ if (!current_user_can('manage_options'))
219
+ {
220
+ wp_die(__('You do not have sufficient permission to perform this operation', 'cookie-law-info'));
221
+ }
222
  $options = array('thirdparty_on_field',
223
  'third_party_default_state',
224
  'thirdparty_description',
276
  public function admin_necessary_cookie_page()
277
  {
278
  wp_enqueue_style($this->plugin_name);
279
+ wp_enqueue_script($this->plugin_name);
280
+ if (!current_user_can('manage_options'))
281
+ {
282
+ wp_die(__('You do not have sufficient permission to perform this operation', 'cookie-law-info'));
283
+ }
284
  $options = array('necessary_description'
285
  );
286
  // Get options:
admin/modules/cli-policy-generator/assets/js/cli-policy-generator-admin.js CHANGED
@@ -7,17 +7,17 @@
7
  cli_pg_lefth_tmr:null,
8
  cli_pg_editormode_tmr:null,
9
  active_elm:null,
10
- autosave_interval:2000,
11
  onPrg:false,
12
  Set:function()
13
  {
14
  this.leftBoxHeight();
15
  this.tabView();
16
  this.regAddNew();
 
17
  setTimeout(function(){
18
  CLI_pg.editOnChange();
19
  },1000);
20
- this.regAutoSaveForPreview();
21
  this.regSaveData();
22
  this.refreshCurrentPolicyPageId();
23
  },
@@ -121,36 +121,49 @@
121
  });
122
  },
123
  regAutoSaveForPreview:function()
124
- {
125
- var content_data=this.genContentData();
126
-
127
- var data = {
128
- action: 'cli_policy_generator',
129
- security: cli_policy_generator.nonces.cli_policy_generator,
130
- cli_policy_generator_action:'autosave_contant_data',
131
- content_data:content_data,
132
- page_id:cli_policy_generator.page_id,
133
- enable_webtofee_powered_by:($('[name="enable_webtofee_powered_by"]').is(':checked') ? 1 : 0)
134
- };
135
- $.ajax({
136
- url: cli_policy_generator.ajax_url,
137
- data: data,
138
- datatype:'json',
139
- type: 'POST',
140
- success:function(data)
141
- {
142
- setTimeout(function(){
143
- CLI_pg.regAutoSaveForPreview();
144
- },CLI_pg.autosave_interval);
145
- },
146
- error:function()
147
- {
148
- setTimeout(function(){
149
- CLI_pg.regAutoSaveForPreview();
150
- },CLI_pg.autosave_interval);
151
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
152
  });
153
-
154
  },
155
  editOnChange:function()
156
  {
7
  cli_pg_lefth_tmr:null,
8
  cli_pg_editormode_tmr:null,
9
  active_elm:null,
10
+ autosave_interval:10000,
11
  onPrg:false,
12
  Set:function()
13
  {
14
  this.leftBoxHeight();
15
  this.tabView();
16
  this.regAddNew();
17
+ this.regAutoSaveForPreview();
18
  setTimeout(function(){
19
  CLI_pg.editOnChange();
20
  },1000);
 
21
  this.regSaveData();
22
  this.refreshCurrentPolicyPageId();
23
  },
121
  });
122
  },
123
  regAutoSaveForPreview:function()
124
+ {
125
+ $('[name="cli_pg_live_preview"]').on('click',function(event){
126
+ event.preventDefault();
127
+ if(CLI_pg.onPrg)
128
+ {
129
+ return false;
130
+ }
131
+ var content_data=CLI_pg.genContentData();
132
+ var preview_page_url=$(this).attr('href');
133
+ var data = {
134
+ action: 'cli_policy_generator',
135
+ security: cli_policy_generator.nonces.cli_policy_generator,
136
+ cli_policy_generator_action:'autosave_contant_data',
137
+ content_data:content_data,
138
+ page_id:cli_policy_generator.page_id,
139
+ enable_webtofee_powered_by:($('[name="enable_webtofee_powered_by"]').is(':checked') ? 1 : 0)
140
+ };
141
+ $.ajax({
142
+ url: cli_policy_generator.ajax_url,
143
+ data: data,
144
+ datatype:'json',
145
+ type: 'POST',
146
+ success:function(data)
147
+ {
148
+ data=JSON.parse(data);
149
+ CLI_pg.onPrg=false;
150
+ if(data.response===true)
151
+ {
152
+ window.location.href=preview_page_url;
153
+ }
154
+ else
155
+ {
156
+ cli_notify_msg.error(cli_policy_generator.labels.error);
157
+ }
158
+ },
159
+ error:function()
160
+ {
161
+ CLI_pg.onPrg=false;
162
+ $('.cli_pg_footer a').css({'opacity':1,'cursor':'pointer'});
163
+ cli_notify_msg.error(cli_policy_generator.labels.error);
164
+ }
165
+ });
166
  });
 
167
  },
168
  editOnChange:function()
169
  {
admin/modules/cli-policy-generator/classes/class-policy-generator-ajax.php CHANGED
@@ -15,7 +15,12 @@ class Cookie_Law_Info_Policy_Generator_Ajax extends Cookie_Law_Info_Cli_Policy_G
15
  * Main Ajax hook for processing requests
16
  */
17
  public function ajax_policy_generator()
18
- {
 
 
 
 
 
19
  $out=array(
20
  'response'=>false,
21
  'message'=>__('Unable to handle your request.','cookie-law-info'),
15
  * Main Ajax hook for processing requests
16
  */
17
  public function ajax_policy_generator()
18
+ {
19
+ check_ajax_referer('cli_policy_generator','security');
20
+ if (!current_user_can('manage_options'))
21
+ {
22
+ wp_die(__('You do not have sufficient permission to perform this operation', 'cookie-law-info'));
23
+ }
24
  $out=array(
25
  'response'=>false,
26
  'message'=>__('Unable to handle your request.','cookie-law-info'),
admin/partials/cookie-law-info-privacy_overview.php CHANGED
@@ -2,7 +2,11 @@
2
  // If this file is called directly, abort.
3
  if ( ! defined( 'WPINC' ) ) {
4
  die;
5
- }
 
 
 
 
6
  $options = array(
7
  'privacy_overview_title',
8
  'privacy_overview_content',
2
  // If this file is called directly, abort.
3
  if ( ! defined( 'WPINC' ) ) {
4
  die;
5
+ }
6
+ if (!current_user_can('manage_options'))
7
+ {
8
+ wp_die(__('You do not have sufficient permission to perform this operation', 'cookie-law-info'));
9
+ }
10
  $options = array(
11
  'privacy_overview_title',
12
  'privacy_overview_content',
cookie-law-info.php CHANGED
@@ -16,7 +16,7 @@
16
  * Plugin Name: GDPR Cookie Consent
17
  * Plugin URI: https://www.webtoffee.com/product/gdpr-cookie-consent/
18
  * Description: A simple way to show your website complies with the EU Cookie Law / GDPR.
19
- * Version: 1.8.1
20
  * Author: WebToffee
21
  * Author URI: http://cookielawinfo.com/
22
  * License: GPLv3
@@ -63,7 +63,7 @@ define ( 'CLI_POST_TYPE','cookielawinfo');
63
  * Currently plugin version.
64
  * Rename this for your plugin and update it as you release new versions.
65
  */
66
- define( 'CLI_VERSION', '1.8.1' );
67
 
68
  function wt_cookie_law_info_update_message( $data, $response )
69
  {
16
  * Plugin Name: GDPR Cookie Consent
17
  * Plugin URI: https://www.webtoffee.com/product/gdpr-cookie-consent/
18
  * Description: A simple way to show your website complies with the EU Cookie Law / GDPR.
19
+ * Version: 1.8.3
20
  * Author: WebToffee
21
  * Author URI: http://cookielawinfo.com/
22
  * License: GPLv3
63
  * Currently plugin version.
64
  * Rename this for your plugin and update it as you release new versions.
65
  */
66
+ define( 'CLI_VERSION', '1.8.3' );
67
 
68
  function wt_cookie_law_info_update_message( $data, $response )
69
  {
includes/class-cookie-law-info.php CHANGED
@@ -74,9 +74,9 @@ class Cookie_Law_Info {
74
  {
75
  $this->version = CLI_VERSION;
76
  }
77
- else
78
  {
79
- $this->version = '1.8.1';
80
  }
81
  $this->plugin_name = 'cookie-law-info';
82
 
@@ -708,11 +708,10 @@ class Cookie_Law_Info {
708
  //trigger_error( "Invalid hex color length", E_USER_ERROR );
709
  return $supplied_hex;
710
  }
711
-
712
  // Start shifting
713
- $RGB_values['R'] = hexdec( $supplied_hex{0} . $supplied_hex{1} );
714
- $RGB_values['G'] = hexdec( $supplied_hex{2} . $supplied_hex{3} );
715
- $RGB_values['B'] = hexdec( $supplied_hex{4} . $supplied_hex{5} );
716
 
717
  foreach ( $RGB_values as $c => $v ) {
718
  switch ( $shift_method ) {
74
  {
75
  $this->version = CLI_VERSION;
76
  }
77
+ else
78
  {
79
+ $this->version = '1.8.3';
80
  }
81
  $this->plugin_name = 'cookie-law-info';
82
 
708
  //trigger_error( "Invalid hex color length", E_USER_ERROR );
709
  return $supplied_hex;
710
  }
 
711
  // Start shifting
712
+ $RGB_values['R'] = hexdec( $supplied_hex[0] . $supplied_hex[1] );
713
+ $RGB_values['G'] = hexdec( $supplied_hex[2] . $supplied_hex[3] );
714
+ $RGB_values['B'] = hexdec( $supplied_hex[4] . $supplied_hex[5] );
715
 
716
  foreach ( $RGB_values as $c => $v ) {
717
  switch ( $shift_method ) {
public/class-cookie-law-info-public.php CHANGED
@@ -307,8 +307,8 @@ class Cookie_Law_Info_Public {
307
 
308
  /** Removes leading # characters from a string */
309
  public static function cookielawinfo_remove_hash( $str )
310
- {
311
- if( $str{0} == "#" )
312
  {
313
  $str = substr( $str, 1, strlen($str) );
314
  }
@@ -499,12 +499,14 @@ class Cookie_Law_Info_Public {
499
  if(isset($GLOBALS['wp_fastest_cache']) && method_exists($GLOBALS['wp_fastest_cache'],'deleteCache'))
500
  {
501
  $cli_flush_cache=1;
502
- }
 
503
  ?>
504
  <script type="text/javascript">
505
  var cli_flush_cache=<?php echo $cli_flush_cache; ?>;
506
  </script>
507
  <?php
 
508
  }
509
 
510
 
307
 
308
  /** Removes leading # characters from a string */
309
  public static function cookielawinfo_remove_hash( $str )
310
+ {
311
+ if( $str[0] == "#" )
312
  {
313
  $str = substr( $str, 1, strlen($str) );
314
  }
499
  if(isset($GLOBALS['wp_fastest_cache']) && method_exists($GLOBALS['wp_fastest_cache'],'deleteCache'))
500
  {
501
  $cli_flush_cache=1;
502
+ }
503
+ if($cli_flush_cache == 1):
504
  ?>
505
  <script type="text/javascript">
506
  var cli_flush_cache=<?php echo $cli_flush_cache; ?>;
507
  </script>
508
  <?php
509
+ endif;
510
  }
511
 
512
 
public/css/cookie-law-info-gdpr.css CHANGED
@@ -1009,7 +1009,7 @@ color:inherit;
1009
  border:none;
1010
  min-width: 40px;
1011
  }
1012
- .cli-tab-container h4 {
1013
  font-family: inherit;
1014
  font-size: 16px;
1015
  margin-bottom: 15px;
@@ -1176,4 +1176,10 @@ span.cli-necessary-caption {
1176
  .cli_settings_button
1177
  {
1178
  cursor: pointer;
 
 
 
 
 
 
1179
  }
1009
  border:none;
1010
  min-width: 40px;
1011
  }
1012
+ .cli-tab-container h4,.cli-tab-container h1 {
1013
  font-family: inherit;
1014
  font-size: 16px;
1015
  margin-bottom: 15px;
1176
  .cli_settings_button
1177
  {
1178
  cursor: pointer;
1179
+ }
1180
+ /* Accessibility Fix */
1181
+ .wt-cli-sr-only
1182
+ {
1183
+ display: none;
1184
+ font-size:16px;
1185
  }
public/modules/shortcode/shortcode.php CHANGED
@@ -296,7 +296,7 @@ class Cookie_Law_Info_Shortcode {
296
  $settings = wp_parse_args(Cookie_Law_Info::get_settings(),$defaults);
297
  $button_1_text=__($settings['button_1_text'],'cookie-law-info');
298
  $margin_style=$margin!="" ? ' style="margin:'.$margin.';" ' : '';
299
- return '<a class="cli_action_button cli-accept-button medium cli-plugin-button ' . $colour . '" data-cli_action="accept"'.$margin_style.'>' . stripslashes($button_1_text) . '</a>';
300
  }
301
 
302
  /** Returns HTML for a standard (green, medium sized) 'Reject' button */
@@ -319,7 +319,7 @@ class Cookie_Law_Info_Shortcode {
319
  {
320
  $classr=' class="cookie_action_close_header_reject cli_action_button" ';
321
  }
322
- $url_reject = ( $settings['button_3_action'] == "CONSTANT_OPEN_URL" && $settings['button_3_url'] != "#" ) ? "href='$settings[button_3_url]'" : "";
323
  $link_tag = '';
324
  $link_tag .= ' <a '.$url_reject.' id="'.Cookie_Law_Info_Public::cookielawinfo_remove_hash($settings['button_3_action']).'" ';
325
  $link_tag .= ($settings['button_3_new_win'] ) ? 'target="_blank" ' : '' ;
@@ -352,7 +352,7 @@ class Cookie_Law_Info_Shortcode {
352
  }
353
 
354
  //adding custom style
355
- $url_s = ( $settings['button_4_action'] == "CONSTANT_OPEN_URL" && $settings['button_4_url'] != "#" ) ? "href='$settings[button_4_url]'" : "";
356
  $link_tag = '';
357
  $link_tag .= '<a ' . $url_s;
358
  $link_tag .= ( $settings['button_4_new_win'] ) ? ' target="_blank" ' : '' ;
@@ -385,7 +385,7 @@ class Cookie_Law_Info_Shortcode {
385
  }
386
 
387
  // If is action not URL then don't use URL!
388
- $url = ( $settings['button_1_action'] == "CONSTANT_OPEN_URL" && $settings['button_1_url'] != "#" ) ? "href='$settings[button_1_url]'" : "";
389
  $link_tag = '<a '.$url.' data-cli_action="accept" id="' . Cookie_Law_Info_Public::cookielawinfo_remove_hash ( $settings['button_1_action'] ) . '" ';
390
  $link_tag .= ( $settings['button_1_new_win'] ) ? 'target="_blank" ' : '' ;
391
  $link_tag .= $class.' style="display:inline-block; '.$margin_style.'">' . stripslashes( __($settings['button_1_text'],'cookie-law-info') ) . '</a>';
@@ -509,7 +509,7 @@ class Cookie_Law_Info_Shortcode {
509
  }
510
 
511
  // If is action not URL then don't use URL!
512
- $url = ( $settings['button_x_action'] == "CONSTANT_OPEN_URL" && $settings['button_x_url'] != "#" ) ? "href='$settings[button_x_url]'" : "";
513
  $link_tag = '<a '. $url . ' id="' . Cookie_Law_Info_Public::cookielawinfo_remove_hash ( $settings['button_x_action'] ) . '" ';
514
  $link_tag .= ( $settings['button_x_new_win'] ) ? 'target="_blank" ' : '' ;
515
  $link_tag .= $class.' style="display:inline-block;'.$margin_style.'" >' . $settings['button_x_text'] . '</a>';
296
  $settings = wp_parse_args(Cookie_Law_Info::get_settings(),$defaults);
297
  $button_1_text=__($settings['button_1_text'],'cookie-law-info');
298
  $margin_style=$margin!="" ? ' style="margin:'.$margin.';" ' : '';
299
+ return '<a role="button" tabindex="0" class="cli_action_button cli-accept-button medium cli-plugin-button ' . $colour . '" data-cli_action="accept"'.$margin_style.'>' . stripslashes($button_1_text) . '</a>';
300
  }
301
 
302
  /** Returns HTML for a standard (green, medium sized) 'Reject' button */
319
  {
320
  $classr=' class="cookie_action_close_header_reject cli_action_button" ';
321
  }
322
+ $url_reject = ( $settings['button_3_action'] == "CONSTANT_OPEN_URL" && $settings['button_3_url'] != "#" ) ? "href='$settings[button_3_url]'" : "role='button' tabindex='0'";
323
  $link_tag = '';
324
  $link_tag .= ' <a '.$url_reject.' id="'.Cookie_Law_Info_Public::cookielawinfo_remove_hash($settings['button_3_action']).'" ';
325
  $link_tag .= ($settings['button_3_new_win'] ) ? 'target="_blank" ' : '' ;
352
  }
353
 
354
  //adding custom style
355
+ $url_s = ( $settings['button_4_action'] == "CONSTANT_OPEN_URL" && $settings['button_4_url'] != "#" ) ? "href='$settings[button_4_url]'" : "role='button' tabindex='0'";
356
  $link_tag = '';
357
  $link_tag .= '<a ' . $url_s;
358
  $link_tag .= ( $settings['button_4_new_win'] ) ? ' target="_blank" ' : '' ;
385
  }
386
 
387
  // If is action not URL then don't use URL!
388
+ $url = ( $settings['button_1_action'] == "CONSTANT_OPEN_URL" && $settings['button_1_url'] != "#" ) ? "href='$settings[button_1_url]'" : "role='button' tabindex='0'";
389
  $link_tag = '<a '.$url.' data-cli_action="accept" id="' . Cookie_Law_Info_Public::cookielawinfo_remove_hash ( $settings['button_1_action'] ) . '" ';
390
  $link_tag .= ( $settings['button_1_new_win'] ) ? 'target="_blank" ' : '' ;
391
  $link_tag .= $class.' style="display:inline-block; '.$margin_style.'">' . stripslashes( __($settings['button_1_text'],'cookie-law-info') ) . '</a>';
509
  }
510
 
511
  // If is action not URL then don't use URL!
512
+ $url = ( $settings['button_x_action'] == "CONSTANT_OPEN_URL" && $settings['button_x_url'] != "#" ) ? "href='$settings[button_x_url]'" : "role='button' tabindex='0'";
513
  $link_tag = '<a '. $url . ' id="' . Cookie_Law_Info_Public::cookielawinfo_remove_hash ( $settings['button_x_action'] ) . '" ';
514
  $link_tag .= ( $settings['button_x_new_win'] ) ? 'target="_blank" ' : '' ;
515
  $link_tag .= $class.' style="display:inline-block;'.$margin_style.'" >' . $settings['button_x_text'] . '</a>';
public/views/cookie-law-info_bar.php CHANGED
@@ -18,6 +18,7 @@ if(file_exists($pop_content_html_file))
18
  <div class="cli-modal-content cli-bar-popup">
19
  <button type="button" class="cli-modal-close" id="cliModalClose">
20
  <svg class="" viewBox="0 0 24 24"><path d="M19 6.41l-1.41-1.41-5.59 5.59-5.59-5.59-1.41 1.41 5.59 5.59-5.59 5.59 1.41 1.41 5.59-5.59 5.59 5.59 1.41-1.41-5.59-5.59z"></path><path d="M0 0h24v24h-24z" fill="none"></path></svg>
 
21
  </button>
22
  <div class="cli-modal-body">
23
  <?php
18
  <div class="cli-modal-content cli-bar-popup">
19
  <button type="button" class="cli-modal-close" id="cliModalClose">
20
  <svg class="" viewBox="0 0 24 24"><path d="M19 6.41l-1.41-1.41-5.59 5.59-5.59-5.59-1.41 1.41 5.59 5.59-5.59 5.59 1.41 1.41 5.59-5.59 5.59 5.59 1.41-1.41-5.59-5.59z"></path><path d="M0 0h24v24h-24z" fill="none"></path></svg>
21
+ <span class="wt-cli-sr-only"><?php echo __('Close', 'cookie-law-info'); ?></span>
22
  </button>
23
  <div class="cli-modal-body">
24
  <?php
public/views/cookie-law-info_popup_content.php CHANGED
@@ -20,7 +20,7 @@ $necessary_cookie_options=get_option('cookielawinfo_necessary_settings');
20
  $content_length=strlen(strip_tags($privacy_overview_content));
21
  $overview_title = trim($overview_title);
22
  if(isset($overview_title) === true && $overview_title !== '') {
23
- echo "<h4>".$overview_title."</h4>";
24
  }
25
  ?>
26
  <div class="cli-privacy-content">
@@ -30,19 +30,6 @@ $necessary_cookie_options=get_option('cookielawinfo_necessary_settings');
30
  </div>
31
  </div>
32
  <div class="cli-col-12 cli-align-items-stretch cli-px-0 cli-tab-section-container">
33
- <div class="cli-tab-section cli-privacy-tab">
34
- <div class="cli-tab-header">
35
- <a class="cli-nav-link cli-settings-mobile" >
36
- <?php echo $overview_title; ?>
37
- </a>
38
- </div>
39
- <div class="cli-tab-content">
40
- <div class="cli-tab-pane cli-fade">
41
- <p><?php echo $privacy_overview_content;?></p>
42
- </div>
43
- </div>
44
-
45
- </div>
46
  <?php
47
  $cookie_categories = self::get_cookie_categories();
48
  foreach ($cookie_categories as $key => $value)
@@ -76,8 +63,8 @@ $necessary_cookie_options=get_option('cookielawinfo_necessary_settings');
76
  {
77
  $cli_switch=
78
  '<div class="cli-switch">
79
- <input type="checkbox" id="checkbox-'.$key.'" class="cli-user-preference-checkbox" data-id="checkbox-'.$key.'" '.$cli_checked.' />
80
- <label for="checkbox-'.$key.'" class="cli-slider" data-cli-enable="'.$cli_enable_text.'" data-cli-disable="'.$cli_disable_text.'">'.$value.'</label>
81
  </div>';
82
  $cli_cat_content=isset($third_party_cookie_options['thirdparty_description']) ? $third_party_cookie_options['thirdparty_description'] : '';
83
  }
@@ -93,7 +80,7 @@ $necessary_cookie_options=get_option('cookielawinfo_necessary_settings');
93
  {?>
94
  <div class="cli-tab-section">
95
  <div class="cli-tab-header">
96
- <a class="cli-nav-link cli-settings-mobile" data-target="<?php echo $key; ?>" data-toggle="cli-toggle-tab" >
97
  <?php echo $value ?>
98
  </a>
99
  <?php echo $cli_switch; ?>
20
  $content_length=strlen(strip_tags($privacy_overview_content));
21
  $overview_title = trim($overview_title);
22
  if(isset($overview_title) === true && $overview_title !== '') {
23
+ echo "<h1>".$overview_title."</h1>";
24
  }
25
  ?>
26
  <div class="cli-privacy-content">
30
  </div>
31
  </div>
32
  <div class="cli-col-12 cli-align-items-stretch cli-px-0 cli-tab-section-container">
 
 
 
 
 
 
 
 
 
 
 
 
 
33
  <?php
34
  $cookie_categories = self::get_cookie_categories();
35
  foreach ($cookie_categories as $key => $value)
63
  {
64
  $cli_switch=
65
  '<div class="cli-switch">
66
+ <input type="checkbox" id="wt-cli-checkbox-'.$key.'" class="cli-user-preference-checkbox" data-id="checkbox-'.$key.'" '.$cli_checked.' />
67
+ <label for="wt-cli-checkbox-'.$key.'" class="cli-slider" data-cli-enable="'.$cli_enable_text.'" data-cli-disable="'.$cli_disable_text.'"><span class="wt-cli-sr-only">'.$value.'</span></label>
68
  </div>';
69
  $cli_cat_content=isset($third_party_cookie_options['thirdparty_description']) ? $third_party_cookie_options['thirdparty_description'] : '';
70
  }
80
  {?>
81
  <div class="cli-tab-section">
82
  <div class="cli-tab-header">
83
+ <a role="button" tabindex="0" class="cli-nav-link cli-settings-mobile" data-target="<?php echo $key; ?>" data-toggle="cli-toggle-tab" >
84
  <?php echo $value ?>
85
  </a>
86
  <?php echo $cli_switch; ?>
readme.txt CHANGED
@@ -1,10 +1,10 @@
1
  === GDPR Cookie Consent ===
2
- Contributors: webtoffee,markwt
3
  Donate link: https://www.webtoffee.com/plugins/
4
  Tags: eu cookie law, GDPR, cookie law, cookie consent, eu privacy directive, privacy directive, cookies, privacy, compliance
5
  Requires at least: 3.3.1
6
- Tested up to: 5.2
7
- Stable tag: 1.8.1
8
  License: GPLv3
9
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
10
 
@@ -12,46 +12,42 @@ A simple way to get GDPR Cookie Consent as per EU GDPR/Cookie Law regulations. S
12
 
13
  == Description ==
14
 
15
- NOTE: INSTALLING THIS PLUGIN ALONE DOES NOT MAKE YOUR SITE GDPR COMPLIANT. SINCE EACH SITE USES DIFFERENT COOKIES, YOU MAY NEED TO ENSURE YOU HAVE NECESSARY CONFIGURATIONS IN PLACE.
16
 
17
- Our plugin will help you to become GDPR compliant with following features.
18
 
19
- - Plugin will show a notice with Accept and Reject options. By default the cookie value will be set to 'null'. If the user clicks 'Accept' button the value will be changed to 'yes'. IF the user clicks on 'Reject' the value will be set to 'no'. Your developer can check this value to set a cookie
20
 
21
- - Admin can add cookie details from the backend. The list of cookies can be displayed in your cookie policy page by using a short code
22
 
 
23
 
24
- This plugin adds a subtle banner to your website either in the header or footer so you can show your compliance status regarding the new EU Cookie Law.
25
 
 
26
 
27
- You can fully customise the style so it fits in with your existing website- change the colours, fonts, styles, the position on the page and even how it behaves when you click "accept".
28
 
29
 
30
- You can choose to make the cookie bar disappear after a few seconds (completely configurable) or to accept on scroll (an option available under Italian law).
31
 
 
32
 
33
- It also has a Cookie Audit module so you can easily show what cookies your site uses and display them neatly in a table on your Privacy & Cookies Policy page.
34
-
35
-
36
- The plugin uses the following cookies.
37
-
38
- - viewed_cookie_policy - Is the primary cookie that records the user consent for the usage of the cookies upon accept and reject. It doesn’t track any personal data and is set only upon user action(accept/reject).
39
-
40
- - cookielawinfo-checkbox-necessary/cookielawinfo-checkbox-non-necessary - Records the default button state of the corresponding category. It works only in coordination with the primary cookie.
41
 
42
 
43
  This plugin supports WPML and qTranslate so your translation needs are covered.
44
 
45
 
46
- Features:
47
 
48
- * Fully customisable to look just like your own website's style: customise the colours, styles and fonts
49
  * Put the cookie bar in either the header or the footer
50
  * (Optional) accept cookie policy if the user scrolls
51
- * (Optional) automatically close the cookie bar after a delay (delay is configurable)
52
- * (Optional) cookie bar can be permanently dismissed or accessible through a "show again" tab
53
- * (Optional) "show again" tab is fully customisable including position shown on page and styles
54
- * "Cookie Audit" shortcode to construct a nicely-styled 'Privacy & Cookie Policy'
55
  * WPML compatible
56
  * qTranslate support
57
 
@@ -59,71 +55,68 @@ Features:
59
 
60
  <blockquote>
61
 
62
- = GDPR Cookie Consent Premium Version Features =
63
- &#9989; Manage list of cookies ( Name, CookieID, Description, Duration, Type, Category, Header Script, Footer Script).
64
- &#9989; Manage Cookie Categories.
65
- &#9989; Scan and auto block scripts - Google Analytics, FB Pixel, Google tag manager, Hotjar, Instagram, etc.
66
- &#9989; Location based exclusion of cookie notice for EU countries.
67
- &#9989; Provide the users with the granular control over the cookies/scipts used by the website.
68
- &#9989; Optionally log users' consent and export into a CSV file.
69
- &#9989; Customize the privacy overview in the cookie settings popup.
70
- &#9989; Export/import cookies and related information via CSV file.
71
- &#9989; Scan and import/export the cookies
72
- &#9989; Allow to display cookie cettings popup where site visitors can opt-in or give consent to cookie categories.
73
- &#9989; Customisable to look just like your own website’s style: customise the colours, styles and fonts.
74
- &#9989; Put the cookie bar in either the header or the footer.
75
- &#9989; Cookie bar preview in admin settings
76
- &#9989; (Optional) accept cookie policy if the user scrolls.
77
- &#9989; (Optional) automatically close the cookie bar after a delay (delay is configurable).
78
- &#9989; (Optional) cookie bar can be permanently dismissed or accessible through a “show again” tab.
79
- &#9989; (Optional) “show again” tab is fully customisable including position shown on page and styles.
80
- &#9989; “Cookie Audit” shortcode to construct a nicely-styled ‘Privacy & Cookie Policy’.
81
- &#9989; WPML compatible
82
- &#9989; qTranslate support
 
 
83
 
84
  For complete list of features and details, Please visit <a rel="nofollow" href="https://www.webtoffee.com/product/gdpr-cookie-consent/">GDPR Cookie Consent Premium Plugin</a> for more details
85
 
86
  </blockquote>
87
 
88
- == Installation ==
89
 
90
- This section describes how to install the plugin and get it working.
91
-
92
- 1. Upload the `cookie-law-info` folder to the `/wp-content/plugins/` directory
93
- 2. Activate the plugin through the 'Plugins' menu in WordPress
94
- 3. Go to "Cookie Law Info / Cookie Law Settings" to configure the banner with your own text, colours and styles
95
 
96
  == Frequently Asked Questions ==
97
 
98
- There's a lot of help available on the main plugin website. See:
99
 
100
  https://cookielawinfo.com/faq
101
  https://cookielawinfo.com/user-guide
102
  https://cookielawinfo.com/support
103
 
104
- = The cookie header isn't displaying =
105
  First check you have installed the plugin and have activated it in the plugins panel.
106
- To check if it is switched on or not, go to 'Settings / Cookie Law Info' and then enable the header by setting 'Display cookie bar?' to 'yes'.
107
 
108
- = The header doesn't work on my browser =
109
  Please report a bug on the support forum. Be sure to include the following information:
110
 
111
  * Your URL (I will need this in order to help you!)
112
- * WordPress version e.g. 4.2.2 (found in bottom right hand corner of dashboard)
113
  * Browser e.g. FireFox, Chrome, IE
114
  * Describe the problem
115
 
116
- The more information you give, the quicker I can respond.
117
 
118
  = What does this plugin do? =
119
  This plugin will:
120
 
121
- 1. Add a banner to the top/bottom of all pages on your website, notifying the visitor that you have a clearly defined privacy and cookie policy.
122
  2. Allow you to record which cookies your site uses, and:
123
  3. Neatly display a list of these cookies (via a shortcode). You can put this list on your Privacy & Cookie Policy page, for example.
124
 
125
  = Does this plugin block all cookies? =
126
- No. This plugin restricts cookies by optionally loading the scripts. For this you have to add all cookies using the add cookie feature. It is not currently technically possible to completely block all cookies on your WordPress website without first updating all plugins that use cookies in some way. That is beyond the scope of any single plugin.
127
  A more realistic approach for WordPress website owners is to move the scripts that place cookies( for eg Google Analytics tracking code) to the GDPR Cookie Consent plugin and then allow visitors to control it by giving consent.
128
 
129
 
@@ -131,13 +124,13 @@ A more realistic approach for WordPress website owners is to move the scripts th
131
  No. Only the 'necessary' cookies will be loaded till the user gives consent.
132
 
133
  = Does this plugin stop cookies from being stored? =
134
- We provide you the facility to add cookies and the corresponding scripts (This works if the cookies are placed when a script is added to the site header or footer as in the case of Google analytics, Hotjar etc..). In our premium version, visitors can reject the category of cookies they don't want to get installed. In such cases all cookies in that category will be blocked for the user. In the free version you can still block the scripts but doesn't have category level granularity.
135
 
136
  But if another plugin adds scripts or places a cookie then we do not have any control. We have no way of knowing what plugins you use or how they work, so blocking/deleting cookies on a WordPress website/blog would possibly/probably break your site. Larger websites with huge budgets may well invest in such technology, but this plugin aims to help you provide a certain level of compliance without taking drastic action.
137
 
138
  = Does this plugin guarantee that I comply with this law? =
139
  No.
140
- As a generic plugin there's no way we can know anything about your specific circumstances. It can be used as part of an overall plan of action to comply, but just installing it and doing nothing more does nothing to help you. In all cases, you need to assess your own website's use of cookies and decide an appropriate course of action. If you are looking for specialist legal advice relating to your website you should always consult a lawyer.
141
  See http://cookielawinfo.com for more information on what is required.
142
 
143
 
@@ -150,6 +143,15 @@ See http://cookielawinfo.com for more information on what is required.
150
 
151
  == Changelog ==
152
 
 
 
 
 
 
 
 
 
 
153
  = 1.8.1 =
154
 
155
  * Added option in admin to modify the default button state of the non-necessary cookie category
@@ -384,9 +386,7 @@ See http://cookielawinfo.com for more information on what is required.
384
 
385
  == Upgrade Notice ==
386
 
387
- = 1.8.1 =
388
 
389
- * Added option in admin to modify the default button state of the non-necessary cookie category
390
- * [Bug fix] Show more / show less issue when custom text editor is used in the privacy overview content.
391
- * Updated translations
392
- * Read me updates
1
  === GDPR Cookie Consent ===
2
+ Contributors: webtoffee
3
  Donate link: https://www.webtoffee.com/plugins/
4
  Tags: eu cookie law, GDPR, cookie law, cookie consent, eu privacy directive, privacy directive, cookies, privacy, compliance
5
  Requires at least: 3.3.1
6
+ Tested up to: 5.3
7
+ Stable tag: 1.8.3
8
  License: GPLv3
9
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
10
 
12
 
13
  == Description ==
14
 
15
+ The GDPR Cookie Consent plugin will assist you in making your website GDPR compliant. It comes with a host of features some of which are listed below.
16
 
17
+ = Key Features =
18
 
19
+ - The plugin will enable a notice with Accept and Reject options. The cookies are not rendered by default and only upon user consent. (The cookie value will be set to null by default; it takes a value 'yes' when the user clicks ‘Accept’ and ‘no’ upon 'Reject'. Your developer can check this value to set a cookie accordingly.)
20
 
21
+ - Admin can configure cookie details and their description from the backend. The list of cookies can be displayed in your cookie policy page by using a shortcode.
22
 
23
+ - This plugin adds a subtle cookie banner to your website either in the header or footer so you can show your compliance status regarding the new GDPR law.
24
 
25
+ - You can fully customise the cookie notice style so it blends with your existing website: change the colours, fonts, styles, the position on the page and even how it behaves when you click “Accept”.
26
 
27
+ - You can choose to make the cookie notice bar disappear after a few seconds (completely configurable) or to accept on scroll (an option available under Italian law).
28
 
29
+ - It also has a Cookie Audit module so you can easily show what cookies your site uses and display them neatly in a table on your Privacy & Cookies Policy page.
30
 
31
 
32
+ = The plugin uses the following cookies =
33
 
34
+ - viewed_cookie_policy – Is the primary cookie that records the user consent for the usage of the cookies upon accept and reject. It doesn’t track any personal data and is set only upon user action(accept/reject).
35
 
36
+ - cookielawinfo-checkbox-necessary/cookielawinfo-checkbox-non-necessary Records the default button state of the corresponding category. It works only in coordination with the primary cookie.
 
 
 
 
 
 
 
37
 
38
 
39
  This plugin supports WPML and qTranslate so your translation needs are covered.
40
 
41
 
42
+ = Features =
43
 
44
+ * Fully customisable to look just like your own websites style: customise the colours, styles and fonts
45
  * Put the cookie bar in either the header or the footer
46
  * (Optional) accept cookie policy if the user scrolls
47
+ * (Optional) automatically close the cookie notice bar after a delay (delay is configurable)
48
+ * (Optional) cookie banner can be permanently dismissed or accessible through a show again tab
49
+ * (Optional) show again tab is fully customisable including position shown on page and styles
50
+ * Cookie Audit shortcode to construct a nicely-styled Privacy & Cookie Policy
51
  * WPML compatible
52
  * qTranslate support
53
 
55
 
56
  <blockquote>
57
 
58
+ = GDPR COOKIE CONSENT PREMIUM VERSION FEATURES =
59
+ &#9989; Manage list of cookies ( Name, CookieID, Description, Duration, Type, Category, Header Script, Footer Script).
60
+ &#9989; Manage Cookie Categories.
61
+ &#9989; Scan and auto block scripts Google Analytics, FB Pixel, Google tag manager, Hotjar, Instagram, etc.
62
+ &#9989; Location based exclusion of cookie notice for EU countries.
63
+ &#9989; Provide the users with the granular control over the cookies/scripts used by the website.
64
+ &#9989; Option to renew consents when there is a change in policy.
65
+ &#9989; Optionally log users’ consent and export into a CSV file.
66
+ &#9989; Customize the privacy overview in the cookie banner settings popup.
67
+ &#9989; Export/import cookies and related information via CSV file.
68
+ &#9989; Scan and import/export the cookies
69
+ &#9989; Allow to display cookie notice settings popup where site visitors can opt-in or give consent to cookie categories.
70
+ &#9989; Customisable to look just like your own website’s style: customise the colours, styles and fonts.
71
+ &#9989; Put the cookie banner in either the header or the footer.
72
+ &#9989; Compatibility with major caching servers and plugins.
73
+ &#9989; Cookie policy generator
74
+ &#9989; Cookie banner preview in admin settings
75
+ &#9989; (Optional) accept cookie notice if the user scrolls.
76
+ &#9989; (Optional) automatically close the cookie bar after a delay (delay is configurable).
77
+ &#9989; (Optional) cookie banner can be permanently dismissed or accessible through a “show again” tab.
78
+ &#9989; (Optional) “show again” tab is fully customisable including position shown on page and styles.
79
+ &#9989; “Cookie Audit” shortcode to construct a nicely-styled ‘Privacy & Cookie Policy’.
80
+ &#9989; WPML,qTranslate,Polylang compatible
81
 
82
  For complete list of features and details, Please visit <a rel="nofollow" href="https://www.webtoffee.com/product/gdpr-cookie-consent/">GDPR Cookie Consent Premium Plugin</a> for more details
83
 
84
  </blockquote>
85
 
 
86
 
87
+ = NOTE: INSTALLING THIS PLUGIN ALONE DOES NOT MAKE YOUR SITE GDPR COMPLIANT. SINCE EACH SITE USES DIFFERENT COOKIES, YOU NEED TO ENSURE YOU HAVE THE NECESSARY CONFIGURATIONS IN PLACE WITH A SUPPORTING COOKIE NOTICE. =
 
 
 
 
88
 
89
  == Frequently Asked Questions ==
90
 
91
+ Theres a lot of help available on the main plugin website. See:
92
 
93
  https://cookielawinfo.com/faq
94
  https://cookielawinfo.com/user-guide
95
  https://cookielawinfo.com/support
96
 
97
+ = The cookie notice header isnt displaying ? =
98
  First check you have installed the plugin and have activated it in the plugins panel.
99
+ To check if it is switched on or not, go to Settings / Cookie Law Info and then enable the header by setting Display cookie bar?’ to yes’.
100
 
101
+ = The cookie notice header doesnt work on my browser ? =
102
  Please report a bug on the support forum. Be sure to include the following information:
103
 
104
  * Your URL (I will need this in order to help you!)
105
+ * WordPress version e.g. 4.2.2 (found in bottom right hand corner of the dashboard)
106
  * Browser e.g. FireFox, Chrome, IE
107
  * Describe the problem
108
 
109
+ The more information you give, the quicker we can respond.
110
 
111
  = What does this plugin do? =
112
  This plugin will:
113
 
114
+ 1. Add a cookie banner to the top/bottom of all pages on your website, notifying the visitor that you have a clearly defined privacy and cookie policy.
115
  2. Allow you to record which cookies your site uses, and:
116
  3. Neatly display a list of these cookies (via a shortcode). You can put this list on your Privacy & Cookie Policy page, for example.
117
 
118
  = Does this plugin block all cookies? =
119
+ No. This plugin restricts cookies by optionally loading the scripts. For this, you have to add all cookies using the add cookie feature. It is not currently technically possible to completely block all cookies on your WordPress website without first updating all plugins that use cookies in some way. That is beyond the scope of any single plugin.
120
  A more realistic approach for WordPress website owners is to move the scripts that place cookies( for eg Google Analytics tracking code) to the GDPR Cookie Consent plugin and then allow visitors to control it by giving consent.
121
 
122
 
124
  No. Only the 'necessary' cookies will be loaded till the user gives consent.
125
 
126
  = Does this plugin stop cookies from being stored? =
127
+ We provide you the facility to add cookies and the corresponding scripts (This works if the cookies are placed when a script is added to the site header or footer as in the case of Google analytics, Hotjar etc..). In our premium version, visitors can reject the category of cookies they don't want to get installed. In such cases, all cookies in that category will be blocked for the user. In the free version, you can still block the scripts but doesn't have category level granularity.
128
 
129
  But if another plugin adds scripts or places a cookie then we do not have any control. We have no way of knowing what plugins you use or how they work, so blocking/deleting cookies on a WordPress website/blog would possibly/probably break your site. Larger websites with huge budgets may well invest in such technology, but this plugin aims to help you provide a certain level of compliance without taking drastic action.
130
 
131
  = Does this plugin guarantee that I comply with this law? =
132
  No.
133
+ As a generic plugin, there's no way we can know anything about your specific circumstances. It can be used as part of an overall plan of action to comply, but just installing it and doing nothing more does nothing to help you. In all cases, you need to assess your own website's use of cookies and decide an appropriate course of action. If you are looking for specialist legal advice relating to your website you should always consult a lawyer.
134
  See http://cookielawinfo.com for more information on what is required.
135
 
136
 
143
 
144
  == Changelog ==
145
 
146
+ = 1.8.3 =
147
+
148
+ * PHP 7.4 compatibility
149
+ * Security fix
150
+
151
+ = 1.8.2 =
152
+
153
+ * Tested ok with WP 5.3
154
+
155
  = 1.8.1 =
156
 
157
  * Added option in admin to modify the default button state of the non-necessary cookie category
386
 
387
  == Upgrade Notice ==
388
 
389
+ = 1.8.3 =
390
 
391
+ * PHP 7.4 compatibility
392
+ * Security fix