Version Description
- Fix reconsent not logging correctly on reconsent
- Fix reconsent bar not showing up.
Download this release
Release Info
Developer | fclaussen |
Plugin | GDPR |
Version | 2.0.2 |
Comparing to | |
See all releases |
Code changes from version 2.0.1 to 2.0.2
- README.txt +5 -1
- admin/class-gdpr-admin.php +3 -3
- assets/js/gdpr-public.js +1 -1
- gdpr.php +2 -2
README.txt
CHANGED
@@ -5,7 +5,7 @@ Tags: gdpr, compliance, privacy, law, general data protection regulation
|
|
5 |
Requires at least: 4.7
|
6 |
Requires PHP: 5.6
|
7 |
Tested up to: 4.9
|
8 |
-
Stable tag: 2.0.
|
9 |
License: GPLv2 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
11 |
|
@@ -206,6 +206,10 @@ Activating this plugin does not guarantee that an organisation is successfully m
|
|
206 |
|
207 |
== Changelog ==
|
208 |
|
|
|
|
|
|
|
|
|
209 |
= 2.0.1 =
|
210 |
* Removing things that should have been deleted prior to updating to 2.0.0.
|
211 |
* Fix new reconsent bar missing closing div.
|
5 |
Requires at least: 4.7
|
6 |
Requires PHP: 5.6
|
7 |
Tested up to: 4.9
|
8 |
+
Stable tag: 2.0.2
|
9 |
License: GPLv2 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
11 |
|
206 |
|
207 |
== Changelog ==
|
208 |
|
209 |
+
= 2.0.2 =
|
210 |
+
* Fix reconsent not logging correctly on reconsent
|
211 |
+
* Fix reconsent bar not showing up.
|
212 |
+
|
213 |
= 2.0.1 =
|
214 |
* Removing things that should have been deleted prior to updating to 2.0.0.
|
215 |
* Fix new reconsent bar missing closing div.
|
admin/class-gdpr-admin.php
CHANGED
@@ -707,7 +707,7 @@ class GDPR_Admin {
|
|
707 |
}
|
708 |
|
709 |
foreach ( $consent_types as $key => $consent ) {
|
710 |
-
if ( $consent['
|
711 |
if ( ! isset( $_POST['user_consents'][ $key ] ) ) {
|
712 |
$errors->add( 'missing_required_consents', sprintf(
|
713 |
'<strong>%s</strong>: %s %s.',
|
@@ -746,7 +746,7 @@ class GDPR_Admin {
|
|
746 |
$usermeta = get_user_meta( $user->ID, 'gdpr_consents' );
|
747 |
if ( in_array( $policy_id, $usermeta ) ) {
|
748 |
/* translators: 1: The name of the policy that was updated. */
|
749 |
-
GDPR_Audit_Log::log( $user->ID, sprintf( esc_html__( '%1$s has been updated. Removing the %1$s consent and requesting new consent.', 'gdpr' ) ) );
|
750 |
delete_user_meta( $user->ID, 'gdpr_consents', $policy_id );
|
751 |
}
|
752 |
}
|
@@ -876,7 +876,7 @@ class GDPR_Admin {
|
|
876 |
$consent_types = get_option( 'gdpr_consent_types', array() );
|
877 |
|
878 |
foreach ( $consent_types as $key => $consent ) {
|
879 |
-
$required = ( isset( $consent['
|
880 |
|
881 |
$fields['account']['user_consents_' . esc_attr( $key ) ] = array(
|
882 |
'type' => 'checkbox',
|
707 |
}
|
708 |
|
709 |
foreach ( $consent_types as $key => $consent ) {
|
710 |
+
if ( $consent['policy-page'] ) {
|
711 |
if ( ! isset( $_POST['user_consents'][ $key ] ) ) {
|
712 |
$errors->add( 'missing_required_consents', sprintf(
|
713 |
'<strong>%s</strong>: %s %s.',
|
746 |
$usermeta = get_user_meta( $user->ID, 'gdpr_consents' );
|
747 |
if ( in_array( $policy_id, $usermeta ) ) {
|
748 |
/* translators: 1: The name of the policy that was updated. */
|
749 |
+
GDPR_Audit_Log::log( $user->ID, sprintf( esc_html__( '%1$s has been updated. Removing the %1$s consent and requesting new consent.', 'gdpr' ), esc_html( $policy_name ) ) );
|
750 |
delete_user_meta( $user->ID, 'gdpr_consents', $policy_id );
|
751 |
}
|
752 |
}
|
876 |
$consent_types = get_option( 'gdpr_consent_types', array() );
|
877 |
|
878 |
foreach ( $consent_types as $key => $consent ) {
|
879 |
+
$required = ( isset( $consent['policy-page'] ) && $consent['policy-page'] ) ? 'required' : '';
|
880 |
|
881 |
$fields['account']['user_consents_' . esc_attr( $key ) ] = array(
|
882 |
'type' => 'checkbox',
|
assets/js/gdpr-public.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
!function(e){"use strict";var r=location.search,
|
1 |
+
!function(e){"use strict";var r=location.search,n=location.protocol+"//"+location.host+location.pathname;function t(r,n,t){t=void 0!==t,e(".gdpr-general-confirmation .gdpr-box-title h3").html(r),e(".gdpr-general-confirmation .gdpr-content p").html(n),t?(e(".gdpr-general-confirmation").addClass("gdpr-delete-confirmation"),e(".gdpr-general-confirmation footer").html('<button class="gdpr-delete-account">'+GDPR.i18n.continue+'</button> <button class="gdpr-cancel">'+GDPR.i18n.cancel+"</button>")):e(".gdpr-general-confirmation footer").html('<button class="gdpr-ok">'+GDPR.i18n.ok+"</button>"),e(".gdpr-overlay").fadeIn(),e("body").addClass("gdpr-noscroll"),e(".gdpr.gdpr-general-confirmation .gdpr-wrapper").css({display:"flex"}).hide().fadeIn()}window.has_consent=function(e){if(Cookies.get("gdpr[consent_types]")&&JSON.parse(Cookies.get("gdpr[consent_types]")).indexOf(e)>-1)return!0;return!1},window.is_allowed_cookie=function(e){if(Cookies.get("gdpr[allowed_cookies]")&&JSON.parse(Cookies.get("gdpr[allowed_cookies]")).indexOf(e)>-1)return!0;return!1},e(function(){-1!==r.indexOf("notify=1")&&(window.history.replaceState({},document.title,n),e("body").addClass("gdpr-notification")),e(document).on("submit",".gdpr-privacy-preferences-frm",function(r){r.preventDefault();e(this);var n=e(this).serialize();e.post(GDPR.ajaxurl,n,function(r){r.success?(Cookies.set("gdpr[privacy_bar]",1,{expires:365}),GDPR.refresh?window.location.reload():(e(".gdpr-overlay").fadeOut(),e("body").removeClass("gdpr-noscroll"),e(".gdpr.gdpr-privacy-preferences .gdpr-wrapper").fadeOut(),e(".gdpr-privacy-bar").fadeOut())):t(r.data.title,r.data.content)})}),e(document).on("submit",".gdpr-request-form",function(r){r.preventDefault();e(this),e(this).find('input[name="type"]').val();var n=e(this).serialize();e.post(GDPR.ajaxurl,n,function(e){t(e.data.title,e.data.content)})}),e(document).on("change",".gdpr-cookie-category",function(){var r=e(this).data("category"),n=e(this).prop("checked");e('[data-category="'+r+'"]').prop("checked",n)}),Cookies.get("gdpr[privacy_bar]")||0==e(".gdpr-reconsent-bar").length&&e(".gdpr.gdpr-privacy-bar").delay(1e3).slideDown(600),e(".gdpr-reconsent-bar").length>0&&e(".gdpr.gdpr-reconsent-bar").delay(1e3).slideDown(600),e(document).on("click",".gdpr.gdpr-privacy-bar .gdpr-agreement",function(){e(".gdpr-privacy-preferences-frm").submit()}),e(document).on("click",".gdpr.gdpr-reconsent-bar .gdpr-agreement",function(){var r=[];e('.gdpr-policy-list input[type="hidden"]').each(function(){r.push(e(this).val())}),e.post(GDPR.ajaxurl,{action:"agree_with_new_policies",nonce:e(this).data("nonce"),consents:r},function(r){r.success?GDPR.refresh?window.location.reload():(e(".gdpr-reconsent-bar").slideUp(600),Cookies.get("gdpr[privacy_bar]")||e(".gdpr.gdpr-privacy-bar").delay(1e3).slideDown(600)):t(response.data.title,response.data.content)})}),e(document).on("click",".gdpr-preferences",function(r){r.preventDefault();e(this).data("type");e(".gdpr-overlay").fadeIn(),e("body").addClass("gdpr-noscroll"),e(".gdpr.gdpr-privacy-preferences .gdpr-wrapper").fadeIn()}),e(document).on("click",".gdpr.gdpr-privacy-preferences .gdpr-close, .gdpr-overlay",function(){e(".gdpr-overlay").fadeOut(),e("body").removeClass("gdpr-noscroll"),e(".gdpr.gdpr-privacy-preferences .gdpr-wrapper").fadeOut()}),e(document).on("click",".gdpr.gdpr-privacy-preferences .gdpr-tabs button",function(){var r="."+e(this).data("target");e(".gdpr.gdpr-privacy-preferences .gdpr-tab-content > div").removeClass("gdpr-active"),e(".gdpr.gdpr-privacy-preferences .gdpr-tab-content "+r).addClass("gdpr-active"),e(".gdpr.gdpr-privacy-preferences .gdpr-tabs").hasClass("gdpr-mobile-expanded")&&(e(".gdpr.gdpr-privacy-preferences .gdpr-mobile-menu button").removeClass("gdpr-active"),e(".gdpr.gdpr-privacy-preferences .gdpr-tabs").toggle()),e(".gdpr.gdpr-privacy-preferences .gdpr-tabs button").removeClass("gdpr-active"),e(".gdpr-subtabs li button").removeClass("gdpr-active"),e(this).hasClass("gdpr-tab-button")?(e(this).addClass("gdpr-active"),e(this).hasClass("gdpr-cookie-settings")&&e(".gdpr-subtabs").find("li button").first().addClass("gdpr-active")):(e(".gdpr-cookie-settings").addClass("gdpr-active"),e(this).addClass("gdpr-active"))}),e(document).on("click",".gdpr.gdpr-privacy-preferences .gdpr-mobile-menu button",function(r){e(this).toggleClass("gdpr-active"),e(".gdpr.gdpr-privacy-preferences .gdpr-tabs").toggle().addClass("gdpr-mobile-expanded")}),e(window).resize(function(){e(window).width()>640&&e(".gdpr.gdpr-privacy-preferences .gdpr-tabs").hasClass("gdpr-mobile-expanded")&&(e(".gdpr.gdpr-privacy-preferences .gdpr-mobile-menu button").removeClass("gdpr-active"),e(".gdpr.gdpr-privacy-preferences .gdpr-tabs").removeClass("gdpr-mobile-expanded").removeAttr("style"))}),e("form.gdpr-add-to-deletion-requests").on("submit",function(r){e(this).hasClass("confirmed")||(r.preventDefault(),e(".gdpr-overlay").fadeIn(),e("body").addClass("gdpr-noscroll"),e(".gdpr.gdpr-delete-confirmation .gdpr-wrapper").css({display:"flex"}).hide().fadeIn())}),e(document).on("click",".gdpr.gdpr-delete-confirmation button.gdpr-delete-account",function(){e("form.gdpr-add-to-deletion-requests").addClass("confirmed"),e('form.gdpr-add-to-deletion-requests.confirmed input[type="submit"]').click(),e(".gdpr-overlay").fadeOut(),e("body").removeClass("gdpr-noscroll"),e(".gdpr.gdpr-delete-confirmation .gdpr-wrapper").fadeOut()}),e("body").hasClass("gdpr-notification")&&(e(".gdpr-overlay").fadeIn(),e("body").addClass("gdpr-noscroll"),e(".gdpr.gdpr-general-confirmation .gdpr-wrapper").css({display:"flex"}).hide().fadeIn()),e(document).on("click",".gdpr.gdpr-general-confirmation button.gdpr-ok",function(){e(".gdpr-overlay").fadeOut(),e("body").removeClass("gdpr-noscroll"),e(".gdpr.gdpr-general-confirmation .gdpr-wrapper").fadeOut()}),e(document).on("click",".gdpr-disagree",function(r){e(".gdpr-overlay").fadeIn(),e("body").addClass("gdpr-noscroll"),e(".gdpr.gdpr-disagree-confirmation .gdpr-wrapper").css({display:"flex"}).hide().fadeIn()}),e(document).on("click",".gdpr-disagree-confirm",function(r){r.preventDefault(),e(".gdpr-overlay").fadeOut(),e(".gdpr.gdpr-disagree-confirmation .gdpr-wrapper").fadeOut(),e(".gdpr-consent-buttons").fadeOut(300,function(){e(".gdpr-updating").html(GDPR.i18n.aborting),e(".gdpr-consent-loading").fadeIn(300)});var n=0;setInterval(function(){e(".gdpr-ellipsis").html();n<3?(e(".gdpr-ellipsis").append("."),n++):(e(".gdpr-ellipsis").html(""),n=0)},600);e.post(GDPR.ajaxurl,{action:"disagree_with_terms",nonce:e(this).data("nonce")},function(e){e.success&&location.reload()})})})}(jQuery),function(e){var r=!1;if("function"==typeof define&&define.amd&&(define(e),r=!0),"object"==typeof exports&&(module.exports=e(),r=!0),!r){var n=window.Cookies,t=window.Cookies=e();t.noConflict=function(){return window.Cookies=n,t}}}(function(){function e(){for(var e=0,r={};e<arguments.length;e++){var n=arguments[e];for(var t in n)r[t]=n[t]}return r}return function r(n){function t(r,o,d){var a;if("undefined"!=typeof document){if(arguments.length>1){if("number"==typeof(d=e({path:"/"},t.defaults,d)).expires){var p=new Date;p.setMilliseconds(p.getMilliseconds()+864e5*d.expires),d.expires=p}d.expires=d.expires?d.expires.toUTCString():"";try{a=JSON.stringify(o),/^[\{\[]/.test(a)&&(o=a)}catch(e){}o=n.write?n.write(o,r):encodeURIComponent(String(o)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent),r=(r=(r=encodeURIComponent(String(r))).replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent)).replace(/[\(\)]/g,escape);var i="";for(var s in d)d[s]&&(i+="; "+s,!0!==d[s]&&(i+="="+d[s]));return document.cookie=r+"="+o+i}r||(a={});for(var c=document.cookie?document.cookie.split("; "):[],g=/(%[0-9A-Z]{2})+/g,l=0;l<c.length;l++){var f=c[l].split("="),u=f.slice(1).join("=");this.json||'"'!==u.charAt(0)||(u=u.slice(1,-1));try{var m=f[0].replace(g,decodeURIComponent);if(u=n.read?n.read(u,m):n(u,m)||u.replace(g,decodeURIComponent),this.json)try{u=JSON.parse(u)}catch(e){}if(r===m){a=u;break}r||(a[m]=u)}catch(e){}}return a}}return t.set=t,t.get=function(e){return t.call(t,e)},t.getJSON=function(){return t.apply({json:!0},[].slice.call(arguments))},t.defaults={},t.remove=function(r,n){t(r,"",e(n,{expires:-1}))},t.withConverter=r,t}(function(){})});
|
gdpr.php
CHANGED
@@ -16,7 +16,7 @@
|
|
16 |
* Plugin Name: GDPR
|
17 |
* Plugin URI: https://trewknowledge.com
|
18 |
* Description: This plugin is meant to assist a Controller, Data Processor, and Data Protection Officer (DPO) with efforts to meet the obligations and rights enacted under the GDPR.
|
19 |
-
* Version: 2.0.
|
20 |
* Author: Trew Knowledge
|
21 |
* Author URI: https://trewknowledge.com
|
22 |
* License: GPL-2.0+
|
@@ -35,7 +35,7 @@ if ( ! defined( 'WPINC' ) ) {
|
|
35 |
* Start at version 1.0.0 and use SemVer - https://semver.org
|
36 |
* Rename this for your plugin and update it as you release new versions.
|
37 |
*/
|
38 |
-
define( 'GDPR_VERSION', '2.0.
|
39 |
|
40 |
/**
|
41 |
* The code that runs during plugin activation.
|
16 |
* Plugin Name: GDPR
|
17 |
* Plugin URI: https://trewknowledge.com
|
18 |
* Description: This plugin is meant to assist a Controller, Data Processor, and Data Protection Officer (DPO) with efforts to meet the obligations and rights enacted under the GDPR.
|
19 |
+
* Version: 2.0.2
|
20 |
* Author: Trew Knowledge
|
21 |
* Author URI: https://trewknowledge.com
|
22 |
* License: GPL-2.0+
|
35 |
* Start at version 1.0.0 and use SemVer - https://semver.org
|
36 |
* Rename this for your plugin and update it as you release new versions.
|
37 |
*/
|
38 |
+
define( 'GDPR_VERSION', '2.0.2' );
|
39 |
|
40 |
/**
|
41 |
* The code that runs during plugin activation.
|