Version Description
- css improvements
- openstreetmap blocking improved
- performance improvements
- privacy policy: restored texts of mandatory service
- WPGlobus compatibility
Download this release
Release Info
Developer | shapepress |
Plugin | WP DSGVO Tools |
Version | 3.1.7 |
Comparing to | |
See all releases |
Code changes from version 3.1.6 to 3.1.7
- README.txt +169 -35
- includes/class-sp-dsgvo-embedding-api-base.php +1 -0
- includes/class-sp-dsgvo-integration-api-base.php +6 -4
- includes/class-sp-dsgvo-javascript.php +1 -1
- includes/class-sp-dsgvo-language-tools.php +19 -3
- includes/class-sp-dsgvo.php +354 -331
- includes/integrations/embeddings/openstreetmap/class-sp-dsgvo-openstreetmap-api.php +1 -1
- includes/integrations/targeting/gadsense/class-sp-dsgvo-gadsense-api.php +29 -1
- public/actions/legal-web-text-action.php +9 -9
- public/class-sp-dsgvo-public.php +100 -3
- public/css/sp-dsgvo-popup.css +3 -1
- public/css/sp-dsgvo-popup.min.css +1 -1
- public/shortcodes/imprint.php +9 -1
- public/shortcodes/privacy-policy.php +15 -2
- public/shortcodes/subject-access-request/subject-access-request.php +1 -1
- public/shortcodes/super-unsubscribe/unsubscribe-form.php +1 -1
- sp-dsgvo.php +2 -2
README.txt
CHANGED
@@ -4,7 +4,7 @@ Donate link: https://legalweb.io
|
|
4 |
Tags: gdpr, dsgvo, datenschutz, privacy, privacy policy, imprint, impressum, wordpress, compliance, privacy, woocommerce, law
|
5 |
Requires at least: 3.0.1
|
6 |
Tested up to: 5.4.0
|
7 |
-
Stable tag: 3.1.
|
8 |
Requires PHP: 5.6.0
|
9 |
License: GPLv2 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
@@ -13,47 +13,174 @@ WP DSGVO Tools (GDPR) by <a target="_blank" href="https://www.legalweb.io">legal
|
|
13 |
|
14 |
== Description ==
|
15 |
|
16 |
-
#
|
17 |
-
The GDPR (General Data Protection Regulation) brings with it many requirements and hurdles for **WordPress & WooCommerce** operators. Our mission is to make this as easy as possible for you and to protect you from warnings in the best possible way.
|
18 |
-
Easy installation, dozens of useful features and lots of information on how to make your website GDPR compliant. Manufactured by IT professionals and lawyers (for more information, visit <a target="_blank" href="https://www.legalweb.io">legalweb.io</a>).
|
19 |
|
20 |
-
|
21 |
-
Our cookie popup has been designed in such a way that it meets the requirements of the courts & data protection authorities or the legal situation. Services are loaded **automatically** depending on the setting and grouped correctly. Users have the option of agreeing to services without nudging or not.
|
22 |
|
23 |
-
|
24 |
-
|
25 |
|
26 |
-
|
27 |
-
In the free version, **Google Analytics, Matomo & WP Statistics** are directly integrated for you. Additional services are available in our premium version.
|
28 |
|
29 |
-
|
30 |
-
|
|
|
|
|
|
|
|
|
31 |
|
32 |
-
##
|
33 |
-
### Free Features
|
34 |
-
* **Cookie pop-up & cookie notice** with selective opt-in & opt-out
|
35 |
-
* **Legally compliant data protection texts for AT, DE and third countries**
|
36 |
-
* **Google Analytics, Matomo & WP Statistics GDPR compliant** integration
|
37 |
-
* **Right to be forgotten** (with time management)
|
38 |
-
* **Automated directory query** (as PDF and JSON) and deletion
|
39 |
-
* Translatable, multilingual support – **officially WPML certified**
|
40 |
-
* Pseudonymization
|
41 |
|
42 |
-
|
43 |
-
*
|
44 |
-
* Automatic updating of texts on data protection guidelines
|
45 |
-
* Compatibility with **Google Tag Manager and Matomo Tag Manager** (opt-in for tags)
|
46 |
-
* **Custom codes** and Java scripts of integration can be customized
|
47 |
-
* Further integrations: **Facebook Pixel, Criteo, Clicky, Piwik, Etracker, Hotjar, Bing Ads, LinkedIn Pixel** – are continuously being expanded
|
48 |
-
* Embeddings: **YouTube, Facebook, Instagram, Google Maps, OpenStreetMap, Soundcloud, Twitter, Vimeo**
|
49 |
-
* **WooCommerce Features:** Checkbox, data extract, request for deletion
|
50 |
-
* Receive email notifications of new requests
|
51 |
-
* A full list of all features you can find at <a href="https://legalweb.io" target="_blank">https://legalweb.io</a>.
|
52 |
|
53 |
-
|
54 |
|
55 |
-
**
|
56 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
57 |
|
58 |
== Installation ==
|
59 |
|
@@ -76,6 +203,13 @@ Just install via wordpress plugin feature or upload zip and activate it.
|
|
76 |
|
77 |
|
78 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
79 |
= 3.1.6 =
|
80 |
* IE fixes
|
81 |
|
@@ -215,7 +349,7 @@ Just install via wordpress plugin feature or upload zip and activate it.
|
|
215 |
* In the beginning there was a version 1
|
216 |
|
217 |
== Upgrade Notice ==
|
218 |
-
= 3.1.
|
219 |
* Important if you upgrade from V2: In V3 a lot of important changes have been made. Please check all your settings after updating to ensure correct functionality
|
220 |
* THE PLUGIN NEEDS A COMPLETE RECONFIGURATION TO FULFILL THE LATEST GDPR LAWS IF YOU UPDATE FROM V2 to V3
|
221 |
* the changelog can be found here: <a href="https://wordpress.org/plugins/shapepress-dsgvo/#developers" target="_blank">https://wordpress.org/plugins/shapepress-dsgvo/#developers</a>
|
4 |
Tags: gdpr, dsgvo, datenschutz, privacy, privacy policy, imprint, impressum, wordpress, compliance, privacy, woocommerce, law
|
5 |
Requires at least: 3.0.1
|
6 |
Tested up to: 5.4.0
|
7 |
+
Stable tag: 3.1.7
|
8 |
Requires PHP: 5.6.0
|
9 |
License: GPLv2 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
13 |
|
14 |
== Description ==
|
15 |
|
16 |
+
# **ALL-IN-ONE SOLUTION**
|
|
|
|
|
17 |
|
18 |
+
#### As a user of WP GDPR you have two simple tasks:
|
|
|
19 |
|
20 |
+
* Selection of the services used
|
21 |
+
* Filling of a few input fields
|
22 |
|
23 |
+
## WP GDPR does everything else:
|
|
|
24 |
|
25 |
+
* Creation of the cookie popup
|
26 |
+
* Creation of the cookie notice
|
27 |
+
* Control of services
|
28 |
+
* Control of embeddings
|
29 |
+
* Generation of the data protection information
|
30 |
+
* Creation of the imprint
|
31 |
|
32 |
+
## Also available from around mid-April 2020:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
33 |
|
34 |
+
* Terms & Conditions
|
35 |
+
* Seal of approval
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
36 |
|
37 |
+
# **TOP PRIORITY**
|
38 |
|
39 |
+
Our top priority is **compliance with the laws and the regulations of courts and of data protection authorities**. We do not offer options that are not legally or legally highly controversial.
|
40 |
+
|
41 |
+
**Why so strict?** Because our users have neither the desire nor the budget to lead complex procedures through all appeals, just to find out whether any cool feature is legally permissible or not.
|
42 |
+
|
43 |
+
**But don't worry:** there are never any end features, just scroll down, down, down ... :)
|
44 |
+
|
45 |
+
# **LAWYER CREATED**
|
46 |
+
|
47 |
+
All legal texts were created by the law firm Marketingrecht.eu, which specializes in IT, internet and data protection law.
|
48 |
+
|
49 |
+
# **TRANSLATED BY COURT INTERPRETERS**
|
50 |
+
|
51 |
+
We do not use community translations. All translations have been translated by sworn and certified interpreters. Official certified by WPML. Works also with Polylang and WPGlobus.
|
52 |
+
|
53 |
+
# **BASIC FEATURES**
|
54 |
+
* Free & Premium
|
55 |
+
* from around mid-April 2020: Cloud
|
56 |
+
* optimized for Germany & Austria
|
57 |
+
* can also be used in other EU countries and third countries
|
58 |
+
* Tag Manager compatible
|
59 |
+
|
60 |
+
# **IMPRINT**
|
61 |
+
* Automatic creation
|
62 |
+
* Integration via page selection or shortcode
|
63 |
+
* (from cloud version: significantly expanded imprint generator)
|
64 |
+
|
65 |
+
# **COOKIE POPUP / COOKIE NOTICE / PRIVACY INFO**
|
66 |
+
* Our feature list gets longer and longer every month.
|
67 |
+
* Opt-in / consent management
|
68 |
+
* Opt-out / cancellation management
|
69 |
+
* definable validity of consent
|
70 |
+
* definable waiting time until the new request for consent
|
71 |
+
* correct grouping of services
|
72 |
+
* Display of all mandatory information
|
73 |
+
* No illegal nudging (obtaining consent through psychotricks)
|
74 |
+
* Style configurator
|
75 |
+
|
76 |
+
#### **Responsible & data protection officer**
|
77 |
+
* Responsible
|
78 |
+
* Data protection officer
|
79 |
+
* Data protection officer
|
80 |
+
|
81 |
+
#### **Host provider**
|
82 |
+
1 & 1 IONOS SE, 1blu, Amazon AWS, Alfahosting, All-inkl.com, Awardspace, Bluehost, Contabo, Dogado, domainfactory GmbH, DWZI GmbH, GoDaddy, Hetzner Online GmbH, Host Europe GmbH, HostProfis ISP Telekom GmbH, Kinsta, Lima City , Magenta- / T-Mobile Austria GmbH, Mittwald CM Service GmbH & Co. KG, Microsoft Azure, Netcup, OVH, platformSH, Rackspace, Raidboxes, Schlundtech, SiteGround, Strato, Telekom Austria AG, UnitedDomains, Vautron Rechenzentrum AG, webgo, World4You Internet Services GmbH, ZAP hosting
|
83 |
+
freely configurable provider
|
84 |
+
|
85 |
+
#### **Log files**
|
86 |
+
* definable storage period
|
87 |
+
|
88 |
+
#### **CDN**
|
89 |
+
* Akamai CDN, AWS Cloudfront CDN, Azure CDN, Bunny CDN, CacheFly, CDN.NET, CDN 77, Cloudflare CDN, Fastly CDN, Google Cloud CDN, G-Core Labs CDN, Key CDN, Medianova, OVH CDN, StackPath
|
90 |
+
* freely configurable provider
|
91 |
+
|
92 |
+
#### **Webshop checkout**
|
93 |
+
* freely selectable data protection notice
|
94 |
+
|
95 |
+
#### **Payment services**
|
96 |
+
* Cash, cash on delivery, bank transfer, 1 & 1 ipayment, Amazon Pay, Apple Pay, Arvato Infoscore, B + S Card Services, Commdoo, Concardis, Deutsche Card Services, Docdata Payments, Easycash, Easypay, Ecardon, EOS, Google Pay, Heidelpay, Klarna, Girosolution, Micropayment, mPay24, Novalnet, Paymorrow, PAYONE, PayPal, Secupay, Stripe, Telecash, VR-Pay Virtuell, Wirecard
|
97 |
+
* (from cloud version: freely configurable payment services)
|
98 |
+
|
99 |
+
#### **Font services**
|
100 |
+
* Google Fonts, Adobe Fonts, Font Awesome, Fonts.com
|
101 |
+
* (from cloud version: freely configurable font services)
|
102 |
+
|
103 |
+
#### **Forms**
|
104 |
+
* Contact form, application form, registration form, competition form, comment form
|
105 |
+
* (from cloud version: freely configurable forms)
|
106 |
+
|
107 |
+
#### **Captchas**
|
108 |
+
* local captcha, Google reCAPTCHA
|
109 |
+
* freely selectable captcha
|
110 |
+
|
111 |
+
#### **Newsletter services**
|
112 |
+
* Local newsletter service, AWeber, ActiveCampaign, CleverReach, Klick-tipp, MailChimp, Mailjet, MailPoet, newslettertwogo, Rapidmail
|
113 |
+
* freely selectable newsletter service
|
114 |
+
|
115 |
+
#### **Tag manager**
|
116 |
+
* Google Tag Manager
|
117 |
+
* Matomo Tag Manager
|
118 |
+
|
119 |
+
#### **Statistics / analysis**
|
120 |
+
* WP Statistics, Matomo (On Premise / Agentur / Cloud), Piwik (On Premise / Agentur / Cloud), E-Tracker, Google Analytics, Clicky, Hotjar
|
121 |
+
* (from cloud version: freely configurable statstics)
|
122 |
+
|
123 |
+
#### **Targeting / advertising**
|
124 |
+
* Facebook Pixel, Criteo, LinkedIn Pixel, Bing Ads
|
125 |
+
* (from cloud version: freely configurable ad software)
|
126 |
+
|
127 |
+
#### **Embeddings**
|
128 |
+
* Google Maps, Open Street Map, Youtube, Vimeo, Sound Cloud, Facebook, Instagram, Twitter
|
129 |
+
|
130 |
+
#### **Additional functions**
|
131 |
+
* Data extract
|
132 |
+
* Deletion request
|
133 |
+
|
134 |
+
# **FREE VERSION**
|
135 |
+
The free version includes all the services that are important for private websites:
|
136 |
+
|
137 |
+
* Cookie popup
|
138 |
+
* Cookie notice
|
139 |
+
* Data protection info
|
140 |
+
* Google Analytics
|
141 |
+
* Matomo
|
142 |
+
* WP Statistics
|
143 |
+
* Right to be forgotten (with time management)
|
144 |
+
* Automated directory query (as PDF and JSON) and deletion
|
145 |
+
* Translatable, multilingual support - officially WPML certified
|
146 |
+
|
147 |
+
# **PREMIUM VERSION**
|
148 |
+
The premium version includes all services that are important for websites of bloggers, influencers & entrepreneurs.
|
149 |
+
|
150 |
+
* all functions as listed above
|
151 |
+
* available here: legalweb.io
|
152 |
+
|
153 |
+
# **CLOUD VERSION**
|
154 |
+
The cloud version also makes our services accessible to other CMS and brings new features.
|
155 |
+
|
156 |
+
* from around mid-April 2020
|
157 |
+
* no price increase for existing Premium users when switching
|
158 |
+
* CMS independent
|
159 |
+
* Data acquisition via REST API or manual implementation
|
160 |
+
* Plugins for Wordpress, Typo3, Joomla, NEOS, Shopware, Magento
|
161 |
+
* extended imprint generator
|
162 |
+
* further services for the data protection generator
|
163 |
+
* Terms and conditions generator
|
164 |
+
* seal of approval
|
165 |
+
|
166 |
+
# **UPDATES**
|
167 |
+
We have very short update cycles to fix any bugs immediately and to continuously deliver new features.
|
168 |
+
|
169 |
+
# **SUPPORT & FAQ**
|
170 |
+
We are here for you!
|
171 |
+
|
172 |
+
* Free webinars every Wednesday at 4 p.m.: legalweb.io
|
173 |
+
* for all users: wordpress.org
|
174 |
+
* for premium & cloud users: legalweb.io/support/
|
175 |
+
|
176 |
+
# **TEAM**
|
177 |
+
Our team is small but nice! Lawyer, programmer, marketing - everything is there :)
|
178 |
+
|
179 |
+
* Attorney Peter Harlander, <a target="_blank" href="https://marketingrecht.eu">marketingrecht.eu</a>
|
180 |
+
* CEO & CMO Daniel Höller, <a target="_blank" href="https://shapepress.com">shapepress.com</a>
|
181 |
+
* CEO & CTO Matthias Redl, <a target="_blank" href="https://bytekitchen.at">bytekitchen.at</a>
|
182 |
+
|
183 |
+
**Important note:** This plugin only supports you in fulfilling the guidelines for compliance with the GDPR. Installation is not enough - correct configuration of this plugin by a website administrator is required to achieve conformity. A 100% conformity only through the plugin cannot be guaranteed, as this depends on several other aspects.
|
184 |
|
185 |
== Installation ==
|
186 |
|
203 |
|
204 |
|
205 |
== Changelog ==
|
206 |
+
= 3.1.7 =
|
207 |
+
* css improvements
|
208 |
+
* openstreetmap blocking improved
|
209 |
+
* performance improvements
|
210 |
+
* privacy policy: restored texts of mandatory service
|
211 |
+
* WPGlobus compatibility
|
212 |
+
|
213 |
= 3.1.6 =
|
214 |
* IE fixes
|
215 |
|
349 |
* In the beginning there was a version 1
|
350 |
|
351 |
== Upgrade Notice ==
|
352 |
+
= 3.1.7 =
|
353 |
* Important if you upgrade from V2: In V3 a lot of important changes have been made. Please check all your settings after updating to ensure correct functionality
|
354 |
* THE PLUGIN NEEDS A COMPLETE RECONFIGURATION TO FULFILL THE LATEST GDPR LAWS IF YOU UPDATE FROM V2 to V3
|
355 |
* the changelog can be found here: <a href="https://wordpress.org/plugins/shapepress-dsgvo/#developers" target="_blank">https://wordpress.org/plugins/shapepress-dsgvo/#developers</a>
|
includes/class-sp-dsgvo-embedding-api-base.php
CHANGED
@@ -236,4 +236,5 @@ abstract class SPDSGVOEmbeddingApiBase
|
|
236 |
{
|
237 |
return apply_filters('sp_dsgvo_integrationapis_'.$type, array());
|
238 |
}
|
|
|
239 |
}
|
236 |
{
|
237 |
return apply_filters('sp_dsgvo_integrationapis_'.$type, array());
|
238 |
}
|
239 |
+
|
240 |
}
|
includes/class-sp-dsgvo-integration-api-base.php
CHANGED
@@ -18,6 +18,7 @@ abstract class SPDSGVOIntegrationApiBase
|
|
18 |
public $optionTechMandatory = false;
|
19 |
public $supportsMultipleImplementationModes = false;
|
20 |
public $implementationModes = [];
|
|
|
21 |
|
22 |
protected function __construct()
|
23 |
{
|
@@ -71,6 +72,11 @@ abstract class SPDSGVOIntegrationApiBase
|
|
71 |
return $this->cookieNames;
|
72 |
}
|
73 |
|
|
|
|
|
|
|
|
|
|
|
74 |
public final function getCategory($backendMode = false)
|
75 |
{
|
76 |
if ($backendMode == false && $this->getIsTechMandatoryOptionEnabled() == true)
|
@@ -142,10 +148,6 @@ abstract class SPDSGVOIntegrationApiBase
|
|
142 |
return $this->optionTechMandatory;
|
143 |
}
|
144 |
|
145 |
-
public final function getHosts()
|
146 |
-
{
|
147 |
-
return '';
|
148 |
-
}
|
149 |
|
150 |
public function getDefaultSettings($ownCodeEnabledByDefault = false)
|
151 |
{
|
18 |
public $optionTechMandatory = false;
|
19 |
public $supportsMultipleImplementationModes = false;
|
20 |
public $implementationModes = [];
|
21 |
+
public $hosts = '';
|
22 |
|
23 |
protected function __construct()
|
24 |
{
|
72 |
return $this->cookieNames;
|
73 |
}
|
74 |
|
75 |
+
public final function getHosts()
|
76 |
+
{
|
77 |
+
return $this->hosts;
|
78 |
+
}
|
79 |
+
|
80 |
public final function getCategory($backendMode = false)
|
81 |
{
|
82 |
if ($backendMode == false && $this->getIsTechMandatoryOptionEnabled() == true)
|
148 |
return $this->optionTechMandatory;
|
149 |
}
|
150 |
|
|
|
|
|
|
|
|
|
151 |
|
152 |
public function getDefaultSettings($ownCodeEnabledByDefault = false)
|
153 |
{
|
includes/class-sp-dsgvo-javascript.php
CHANGED
@@ -55,7 +55,7 @@ class SPDSGVOJavascript
|
|
55 |
'usedTagmanager' => (array_key_exists('usedTagmanager', $integrationSettings) && $integrationSettings['usedTagmanager'] != '') ? $integrationSettings['usedTagmanager'] : '',
|
56 |
'jsCode' => base64_encode(($integration->getJsCode($integrationSettings))),
|
57 |
'hosts' => $integration->getHosts(),
|
58 |
-
'placeholder' => $integration->
|
59 |
];
|
60 |
|
61 |
$gtmNeeded += (array_key_exists('usedTagmanager', $integrationSettings) && $integrationSettings['usedTagmanager'] == SPDSGVOGoogleTagmanagerApi::getInstance()->getSlug()) ? 1 : 0;
|
55 |
'usedTagmanager' => (array_key_exists('usedTagmanager', $integrationSettings) && $integrationSettings['usedTagmanager'] != '') ? $integrationSettings['usedTagmanager'] : '',
|
56 |
'jsCode' => base64_encode(($integration->getJsCode($integrationSettings))),
|
57 |
'hosts' => $integration->getHosts(),
|
58 |
+
'placeholder' => empty($integration->getHosts()) == false ? SPDSGVOEmbeddingsManager::getDummyPlaceholderForMutationObserver($integration) : ''
|
59 |
];
|
60 |
|
61 |
$gtmNeeded += (array_key_exists('usedTagmanager', $integrationSettings) && $integrationSettings['usedTagmanager'] == SPDSGVOGoogleTagmanagerApi::getInstance()->getSlug()) ? 1 : 0;
|
includes/class-sp-dsgvo-language-tools.php
CHANGED
@@ -34,10 +34,11 @@ class SPDSGVOLanguageTools
|
|
34 |
|
35 |
public function getTypeOfLanguagePlugin()
|
36 |
{
|
37 |
-
if ((defined('ICL_LANGUAGE_CODE') || defined('POLYLANG_FILE')) == false) return 'none';
|
38 |
else {
|
39 |
if(function_exists('icl_get_languages')) return 'wpml';
|
40 |
if(function_exists('pll_current_language')) return 'polylang';
|
|
|
41 |
}
|
42 |
|
43 |
return "none";
|
@@ -47,8 +48,7 @@ class SPDSGVOLanguageTools
|
|
47 |
{
|
48 |
$currentLanguage = null;
|
49 |
|
50 |
-
switch ($this->getTypeOfLanguagePlugin())
|
51 |
-
{
|
52 |
case "wpml":
|
53 |
$currentLanguage = apply_filters('wpml_current_language', null);
|
54 |
break;
|
@@ -59,6 +59,17 @@ class SPDSGVOLanguageTools
|
|
59 |
$currentLanguage = pll_default_language();
|
60 |
}
|
61 |
break;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
62 |
case "none":
|
63 |
$currentLanguage = $this->defaultLanguage;
|
64 |
break;
|
@@ -89,6 +100,9 @@ class SPDSGVOLanguageTools
|
|
89 |
$currentLanguage = pll_default_language();
|
90 |
}
|
91 |
break;
|
|
|
|
|
|
|
92 |
case "none":
|
93 |
$currentLanguage = $this->defaultLanguage;
|
94 |
break;
|
@@ -115,6 +129,8 @@ class SPDSGVOLanguageTools
|
|
115 |
static function normalizeLocaleCode($locale)
|
116 |
{
|
117 |
try {
|
|
|
|
|
118 |
if (substr( $locale, 0, 2 ) === 'de') $locale = 'de_DE';
|
119 |
if (substr( $locale, 0, 2 ) === 'en') $locale = 'en_EN';
|
120 |
if (substr( $locale, 0, 2 ) === 'fr') $locale = 'fr_FR';
|
34 |
|
35 |
public function getTypeOfLanguagePlugin()
|
36 |
{
|
37 |
+
if ((defined('ICL_LANGUAGE_CODE') || defined('POLYLANG_FILE') || class_exists( 'WPGlobus' )) == false) return 'none';
|
38 |
else {
|
39 |
if(function_exists('icl_get_languages')) return 'wpml';
|
40 |
if(function_exists('pll_current_language')) return 'polylang';
|
41 |
+
if(class_exists( 'WPGlobus' )) return 'wpglobus';
|
42 |
}
|
43 |
|
44 |
return "none";
|
48 |
{
|
49 |
$currentLanguage = null;
|
50 |
|
51 |
+
switch ($this->getTypeOfLanguagePlugin()) {
|
|
|
52 |
case "wpml":
|
53 |
$currentLanguage = apply_filters('wpml_current_language', null);
|
54 |
break;
|
59 |
$currentLanguage = pll_default_language();
|
60 |
}
|
61 |
break;
|
62 |
+
case "wpglobus":
|
63 |
+
/*
|
64 |
+
$languageCookieThere = isset($_COOKIE[WPGlobus::_COOKIE]);
|
65 |
+
if ($languageCookieThere == false) {
|
66 |
+
$currentLanguage = WPGlobus::Config()->language;
|
67 |
+
} else
|
68 |
+
{
|
69 |
+
$currentLanguage = stripslashes($_COOKIE[WPGlobus::_COOKIE]);
|
70 |
+
}*/
|
71 |
+
$currentLanguage = WPGlobus::Config()->language;
|
72 |
+
break;
|
73 |
case "none":
|
74 |
$currentLanguage = $this->defaultLanguage;
|
75 |
break;
|
100 |
$currentLanguage = pll_default_language();
|
101 |
}
|
102 |
break;
|
103 |
+
case "wpglobus":
|
104 |
+
$currentLanguage = WPGlobus::Config()->default_language;
|
105 |
+
break;
|
106 |
case "none":
|
107 |
$currentLanguage = $this->defaultLanguage;
|
108 |
break;
|
129 |
static function normalizeLocaleCode($locale)
|
130 |
{
|
131 |
try {
|
132 |
+
$locale = strtolower($locale);
|
133 |
+
|
134 |
if (substr( $locale, 0, 2 ) === 'de') $locale = 'de_DE';
|
135 |
if (substr( $locale, 0, 2 ) === 'en') $locale = 'en_EN';
|
136 |
if (substr( $locale, 0, 2 ) === 'fr') $locale = 'fr_FR';
|
includes/class-sp-dsgvo.php
CHANGED
@@ -27,159 +27,165 @@
|
|
27 |
* @subpackage WP DSGVO Tools/includes
|
28 |
* @author Shapepress eU
|
29 |
*/
|
30 |
-
class SPDSGVO
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
|
|
|
|
64 |
$this->defineAdminHooks();
|
65 |
} else {
|
66 |
$this->definePublicHooks();
|
67 |
}
|
68 |
}
|
69 |
|
70 |
-
protected function __clone()
|
|
|
|
|
71 |
|
72 |
-
public static function instance()
|
73 |
-
|
|
|
74 |
static::$instance = new static;
|
75 |
}
|
76 |
|
77 |
return static::$instance;
|
78 |
}
|
79 |
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
|
|
95 |
*/
|
96 |
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
SPDSGVO::pluginDir('includes/class-sp-dsgvo-constants.php'),
|
102 |
-
|
103 |
SPDSGVO::pluginDir('includes/class-sp-dsgvo-cache-manager.php'),
|
104 |
SPDSGVO::pluginDir('includes/class-sp-dsgvo-migrator.php'),
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
SPDSGVO::pluginDir('includes/class-sp-dsgvo-embedding-api-base.php'),
|
115 |
SPDSGVO::pluginDir('includes/class-sp-dsgvo-embeddings-manager.php'),
|
116 |
SPDSGVO::pluginDir('includes/class-sp-dsgvo-integration-api-base.php'),
|
117 |
SPDSGVO::pluginDir('includes/class-sp-dsgvo-integration.php'),
|
118 |
SPDSGVO::pluginDir('includes/class-sp-dsgvo-javascript.php'),
|
119 |
-
|
120 |
-
|
121 |
SPDSGVO::pluginDir('includes/class-sp-dsgvo-language-tools.php'),
|
122 |
SPDSGVO::pluginDir('includes/class-sp-dsgvo-cookie-category-api.php'),
|
123 |
SPDSGVO::pluginDir('includes/class-sp-dsgvo-upgrade-notice-tools.php'),
|
124 |
-
|
125 |
|
126 |
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
|
133 |
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
SPDSGVO::pluginDir('includes/cron/do-validate-license.php'),
|
140 |
SPDSGVO::pluginDir('includes/cron/do-check-privacy-policy-texts.php'),
|
141 |
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
SPDSGVO::pluginDir('public/actions/legal-web-text-action.php'),
|
152 |
SPDSGVO::pluginDir('public/actions/update-privacy-policy-texts-action.php'),
|
153 |
|
154 |
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
|
168 |
|
169 |
-
|
170 |
-
|
171 |
|
172 |
SPDSGVO::pluginDir('public/shortcodes/privacy-policy-link-shortcode.php'),
|
173 |
SPDSGVO::pluginDir('public/shortcodes/cookie-popup-shortcode.php'),
|
174 |
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
|
184 |
// tag manager
|
185 |
SPDSGVO::pluginDir('includes/integrations/tagmanager/googletagmanager/class-sp-dsgvo-google-tagmanager-api.php'),
|
@@ -216,7 +222,7 @@ class SPDSGVO{
|
|
216 |
//SPDSGVO::pluginDir('includes/integrations/targeting/gadsense/class-sp-dsgvo-gadsense-api.php'),
|
217 |
//SPDSGVO::pluginDir('includes/integrations/targeting/gadsense/class-sp-dsgvo-gadsense-integration.php'),
|
218 |
|
219 |
-
|
220 |
SPDSGVO::pluginDir('includes/integrations/embeddings/youtube/class-sp-dsgvo-youtube-api.php'),
|
221 |
SPDSGVO::pluginDir('includes/integrations/embeddings/youtube/class-sp-dsgvo-youtube-integration.php'),
|
222 |
SPDSGVO::pluginDir('includes/integrations/embeddings/gmaps/class-sp-dsgvo-gmaps-api.php'),
|
@@ -234,264 +240,281 @@ class SPDSGVO{
|
|
234 |
SPDSGVO::pluginDir('includes/integrations/embeddings/soundcloud/class-sp-dsgvo-soundcloud-api.php'),
|
235 |
SPDSGVO::pluginDir('includes/integrations/embeddings/soundcloud/class-sp-dsgvo-soundcloud-integration.php'),
|
236 |
|
237 |
-
//======================================================================
|
238 |
-
// Admin Pages
|
239 |
-
//======================================================================
|
240 |
-
|
241 |
-
SPDSGVO::pluginDir('admin/tabs/v3/info/class-sp-dsgvo-info-tab.php'),
|
242 |
-
SPDSGVO::pluginDir('admin/tabs/v3/webinars/class-sp-dsgvo-webinars-tab.php'),
|
243 |
-
|
244 |
-
SPDSGVO::pluginDir('admin/tabs/setup/class-sp-dsgvo-create-page-action.php'),
|
245 |
|
246 |
-
|
247 |
-
|
248 |
-
|
|
|
249 |
|
250 |
-
|
251 |
-
SPDSGVO::pluginDir('admin/tabs/v3/super-unsubscribe/class-sp-dsgvo-super-unsubscribe-tab.php'),
|
252 |
-
SPDSGVO::pluginDir('admin/tabs/v3/super-unsubscribe/class-sp-dsgvo-super-unsubscribe-action.php'),
|
253 |
-
/* i592995 */
|
254 |
-
SPDSGVO::pluginDir('admin/tabs/v3/super-unsubscribe/class-sp-dsgvo-dismiss-unsubscribe-action.php'),
|
255 |
-
/* i592995 */
|
256 |
|
|
|
|
|
|
|
257 |
|
|
|
258 |
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
-
SPDSGVO::pluginDir('admin/tabs/v3/common-settings/class-sp-dsgvo-common-settings-activate-action.php'),
|
263 |
-
SPDSGVO::pluginDir('admin/tabs/v3/common-settings/class-sp-dsgvo-common-settings-validate-license-action.php'),
|
264 |
|
265 |
-
|
|
|
|
|
|
|
|
|
|
|
266 |
|
|
|
|
|
|
|
|
|
|
|
267 |
|
268 |
-
|
269 |
-
SPDSGVO::pluginDir('admin/tabs/v3/popup-notice/class-sp-dsgvo-cookie-notice-tab.php'),
|
270 |
-
SPDSGVO::pluginDir('admin/tabs/v3/popup-notice/class-sp-dsgvo-cookie-notice-action.php'),
|
271 |
|
272 |
-
|
273 |
-
|
274 |
-
|
275 |
-
SPDSGVO::pluginDir('admin/tabs/v3/operator/class-sp-dsgvo-imprint-action.php'),
|
276 |
|
277 |
-
|
278 |
-
|
279 |
-
|
|
|
280 |
|
281 |
-
|
282 |
-
|
283 |
-
|
284 |
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
|
289 |
-
|
290 |
-
|
291 |
-
|
292 |
|
293 |
-
|
294 |
-
|
295 |
-
|
296 |
|
297 |
-
|
298 |
-
|
299 |
-
|
300 |
|
301 |
-
|
|
|
|
|
|
|
|
|
|
|
302 |
|
303 |
-
// Gravity Forms
|
304 |
-
if(class_exists( 'GFAPI' )){
|
305 |
-
$load[] = SPDSGVO::pluginDir('admin/tabs/gravity-forms/class-sp-dsgvo-gravity-forms-tab.php');
|
306 |
-
$load[] = SPDSGVO::pluginDir('admin/tabs/gravity-forms/class-sp-dsgvo-gravity-forms-action.php');
|
307 |
-
}
|
308 |
|
309 |
-
|
310 |
-
|
311 |
-
|
|
|
|
|
312 |
|
313 |
-
|
314 |
-
|
|
|
315 |
|
316 |
-
|
317 |
-
|
318 |
-
}
|
319 |
|
320 |
-
|
321 |
-
|
322 |
-
|
|
|
323 |
|
|
|
|
|
|
|
|
|
324 |
|
325 |
|
326 |
-
|
327 |
-
|
328 |
-
|
329 |
-
|
330 |
-
|
331 |
-
|
332 |
-
|
333 |
-
|
334 |
-
|
335 |
-
|
336 |
-
|
337 |
-
|
|
|
338 |
|
339 |
-
|
340 |
|
341 |
-
|
342 |
-
|
343 |
|
344 |
-
|
345 |
-
|
346 |
|
347 |
-
|
348 |
-
|
349 |
|
350 |
-
|
351 |
-
|
352 |
-
|
353 |
|
354 |
-
|
355 |
-
$this->loader->add_action(
|
356 |
// do migration logic
|
357 |
//$this->loader->add_action('upgrader_process_complete', SPDSGVOMigrator::getInstance(), 'checkForMigrations', 10, 2);
|
358 |
$this->loader->add_action('plugins_loaded', SPDSGVOMigrator::getInstance(), 'checkForMigrations');
|
359 |
-
|
360 |
-
|
361 |
-
|
362 |
-
|
363 |
-
|
364 |
-
|
365 |
-
|
366 |
-
|
367 |
-
|
368 |
-
|
369 |
-
|
370 |
-
|
371 |
-
|
372 |
-
$this->loader->add_action('wp_enqueue_scripts',
|
373 |
-
|
374 |
-
|
375 |
-
|
376 |
-
|
377 |
-
|
378 |
-
|
379 |
-
|
380 |
-
|
381 |
-
$this->loader->add_action('
|
|
|
382 |
|
383 |
$this->loader->add_filter('the_content', SPDSGVOEmbeddingsManager::getInstance(), 'findAndProcessIframes', 50, 1);
|
384 |
$this->loader->add_filter('widget_text_content', SPDSGVOEmbeddingsManager::getInstance(), 'findAndProcessIframes', 50, 1);
|
385 |
$this->loader->add_filter('widget_custom_html_content', SPDSGVOEmbeddingsManager::getInstance(), 'findAndProcessIframes', 50, 1);
|
386 |
$this->loader->add_filter('embed_oembed_html', SPDSGVOEmbeddingsManager::getInstance(), 'findAndProcessOembeds', 50, 2);
|
387 |
|
388 |
-
|
389 |
-
|
390 |
-
|
391 |
-
|
392 |
-
|
393 |
-
|
394 |
-
|
395 |
-
|
396 |
-
|
397 |
-
|
398 |
-
|
399 |
-
|
400 |
-
|
401 |
-
|
402 |
-
|
403 |
-
|
404 |
-
|
405 |
-
|
406 |
-
|
407 |
-
|
408 |
-
|
409 |
-
|
410 |
-
|
411 |
-
|
412 |
-
|
413 |
-
|
414 |
-
|
415 |
-
|
416 |
-
|
417 |
-
|
418 |
-
|
419 |
-
|
420 |
-
|
421 |
-
|
422 |
-
|
423 |
-
|
424 |
-
|
425 |
-
|
426 |
-
|
427 |
-
|
428 |
-
|
429 |
-
|
430 |
-
|
431 |
-
|
432 |
-
|
433 |
-
|
434 |
-
|
435 |
-
|
436 |
-
|
437 |
-
|
438 |
-
|
439 |
-
|
440 |
-
|
441 |
-
|
442 |
-
|
443 |
-
|
444 |
-
|
445 |
-
|
446 |
-
|
447 |
-
|
448 |
-
|
449 |
-
|
450 |
-
|
451 |
-
|
452 |
-
|
453 |
-
|
454 |
-
|
455 |
-
|
456 |
-
|
457 |
-
|
458 |
-
|
459 |
-
|
460 |
-
|
461 |
-
|
462 |
-
|
463 |
-
|
464 |
-
|
465 |
-
|
466 |
-
|
467 |
-
|
468 |
-
|
469 |
-
|
470 |
-
|
471 |
-
|
472 |
-
|
473 |
-
|
474 |
-
|
475 |
-
|
476 |
-
|
477 |
-
|
478 |
-
|
479 |
-
|
480 |
-
|
481 |
-
|
482 |
-
|
483 |
-
|
484 |
-
|
485 |
-
|
486 |
-
|
487 |
-
|
488 |
-
|
489 |
-
|
490 |
-
|
491 |
-
|
492 |
-
|
493 |
-
|
494 |
-
|
495 |
-
|
496 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
497 |
}
|
27 |
* @subpackage WP DSGVO Tools/includes
|
28 |
* @author Shapepress eU
|
29 |
*/
|
30 |
+
class SPDSGVO
|
31 |
+
{
|
32 |
+
/**
|
33 |
+
* The loader that's responsible for maintaining and registering all hooks that power
|
34 |
+
* the plugin.
|
35 |
+
*
|
36 |
+
* @since 1.0.0
|
37 |
+
* @access protected
|
38 |
+
* @var sp_dsgvo_Loader $loader Maintains and registers all hooks for the plugin.
|
39 |
+
*/
|
40 |
+
protected $loader;
|
41 |
+
|
42 |
+
/**
|
43 |
+
* The current version of the plugin.
|
44 |
+
*
|
45 |
+
* @since 1.0.0
|
46 |
+
* @access protected
|
47 |
+
* @var string $version The current version of the plugin.
|
48 |
+
*/
|
49 |
+
protected $version;
|
50 |
+
|
51 |
+
/**
|
52 |
+
* Singleton
|
53 |
+
*
|
54 |
+
* @since 1.0.0
|
55 |
+
* @access protected
|
56 |
+
* @var object $instance The singleton instance
|
57 |
+
*/
|
58 |
+
protected static $instance = null;
|
59 |
+
|
60 |
+
protected function __construct()
|
61 |
+
{
|
62 |
+
$this->version = sp_dsgvo_VERSION;
|
63 |
+
$this->loadDependencies();
|
64 |
+
|
65 |
+
if (is_admin()) {
|
66 |
$this->defineAdminHooks();
|
67 |
} else {
|
68 |
$this->definePublicHooks();
|
69 |
}
|
70 |
}
|
71 |
|
72 |
+
protected function __clone()
|
73 |
+
{
|
74 |
+
}
|
75 |
|
76 |
+
public static function instance()
|
77 |
+
{
|
78 |
+
if (!isset(static::$instance)) {
|
79 |
static::$instance = new static;
|
80 |
}
|
81 |
|
82 |
return static::$instance;
|
83 |
}
|
84 |
|
85 |
+
private function loadDependencies()
|
86 |
+
{
|
87 |
+
require_once plugin_dir_path(dirname(__FILE__)) . 'includes/class-sp-dsgvo-loader.php';
|
88 |
+
$this->loader = new SPDSGVOLoader();
|
89 |
+
|
90 |
+
if (file_exists(dirname(dirname(__FILE__)) . '/vendor/autoload.php')) {
|
91 |
+
require_once dirname(dirname(__FILE__)) . '/vendor/autoload.php';
|
92 |
+
}
|
93 |
+
|
94 |
+
/*
|
95 |
+
* moved to subject-access-request.php -> just load it only if required
|
96 |
+
*
|
97 |
+
if(!class_exists('TCPDF')){
|
98 |
+
require_once SPDSGVO::pluginDir('includes/lib/tcpdf/dsgdf.php');
|
99 |
+
require_once SPDSGVO::pluginDir('includes/class-sp-dsgvo-pdf.php');
|
100 |
+
}
|
101 |
*/
|
102 |
|
103 |
+
$load = array(
|
104 |
+
//======================================================================
|
105 |
+
// Libraries
|
106 |
+
//======================================================================
|
107 |
SPDSGVO::pluginDir('includes/class-sp-dsgvo-constants.php'),
|
108 |
+
SPDSGVO::pluginDir('includes/helpers.php'),
|
109 |
SPDSGVO::pluginDir('includes/class-sp-dsgvo-cache-manager.php'),
|
110 |
SPDSGVO::pluginDir('includes/class-sp-dsgvo-migrator.php'),
|
111 |
+
SPDSGVO::pluginDir('admin/class-sp-dsgvo-admin.php'),
|
112 |
+
SPDSGVO::pluginDir('admin/class-sp-dsgvo-admin-tab.php'),
|
113 |
+
SPDSGVO::pluginDir('includes/class-sp-dsgvo-ajax-action.php'),
|
114 |
+
SPDSGVO::pluginDir('admin/class-sp-dsgvo-admin-action.php'),
|
115 |
+
SPDSGVO::pluginDir('includes/class-sp-dsgvo-settings.php'),
|
116 |
+
SPDSGVO::pluginDir('includes/class-sp-dsgvo-settings-polylang.php'),
|
117 |
+
SPDSGVO::pluginDir('includes/class-sp-dsgvo-mail.php'),
|
118 |
+
SPDSGVO::pluginDir('includes/class-sp-dsgvo-data-collecter.php'),
|
119 |
+
SPDSGVO::pluginDir('includes/class-sp-dsgvo-log.php'),
|
120 |
SPDSGVO::pluginDir('includes/class-sp-dsgvo-embedding-api-base.php'),
|
121 |
SPDSGVO::pluginDir('includes/class-sp-dsgvo-embeddings-manager.php'),
|
122 |
SPDSGVO::pluginDir('includes/class-sp-dsgvo-integration-api-base.php'),
|
123 |
SPDSGVO::pluginDir('includes/class-sp-dsgvo-integration.php'),
|
124 |
SPDSGVO::pluginDir('includes/class-sp-dsgvo-javascript.php'),
|
125 |
+
SPDSGVO::pluginDir('includes/class-sp-dsgvo-slim-model.php'),
|
126 |
+
SPDSGVO::pluginDir('includes/class-sp-dsgvo-cron.php'),
|
127 |
SPDSGVO::pluginDir('includes/class-sp-dsgvo-language-tools.php'),
|
128 |
SPDSGVO::pluginDir('includes/class-sp-dsgvo-cookie-category-api.php'),
|
129 |
SPDSGVO::pluginDir('includes/class-sp-dsgvo-upgrade-notice-tools.php'),
|
130 |
+
SPDSGVO::pluginDir('public/class-sp-dsgvo-public.php'),
|
131 |
|
132 |
|
133 |
+
//======================================================================
|
134 |
+
// Models
|
135 |
+
//======================================================================
|
136 |
+
SPDSGVO::pluginDir('includes/models/unsubscriber.php'),
|
137 |
+
SPDSGVO::pluginDir('includes/models/subject-access-request.php'),
|
138 |
|
139 |
|
140 |
+
//======================================================================
|
141 |
+
// Cron
|
142 |
+
//======================================================================
|
143 |
+
SPDSGVO::pluginDir('includes/cron/do-subject-access-request.php'),
|
144 |
+
SPDSGVO::pluginDir('includes/cron/do-delete-data-request.php'),
|
145 |
SPDSGVO::pluginDir('includes/cron/do-validate-license.php'),
|
146 |
SPDSGVO::pluginDir('includes/cron/do-check-privacy-policy-texts.php'),
|
147 |
|
148 |
+
//======================================================================
|
149 |
+
// Actions
|
150 |
+
//======================================================================
|
151 |
+
SPDSGVO::pluginDir('public/actions/unsubscribe.php'),
|
152 |
+
SPDSGVO::pluginDir('public/actions/user-permissions.php'),
|
153 |
+
/* i592995 */
|
154 |
+
SPDSGVO::pluginDir('public/actions/popup-accept.php'),
|
155 |
+
/* i592995 */
|
156 |
+
SPDSGVO::pluginDir('public/actions/notice-action.php'),
|
157 |
SPDSGVO::pluginDir('public/actions/legal-web-text-action.php'),
|
158 |
SPDSGVO::pluginDir('public/actions/update-privacy-policy-texts-action.php'),
|
159 |
|
160 |
|
161 |
+
//======================================================================
|
162 |
+
// Shortcodes
|
163 |
+
//======================================================================
|
164 |
+
// SAR
|
165 |
+
SPDSGVO::pluginDir('public/shortcodes/subject-access-request/download-subject-access-request.php'),
|
166 |
+
SPDSGVO::pluginDir('public/shortcodes/subject-access-request/subject-access-request-action.php'),
|
167 |
+
SPDSGVO::pluginDir('public/shortcodes/subject-access-request/subject-access-request.php'),
|
168 |
|
169 |
+
// Super Unsubscribe
|
170 |
+
SPDSGVO::pluginDir('public/shortcodes/super-unsubscribe/unsubscribe-form.php'),
|
171 |
+
SPDSGVO::pluginDir('public/shortcodes/super-unsubscribe/unsubscribe-form-action.php'),
|
172 |
+
SPDSGVO::pluginDir('public/shortcodes/super-unsubscribe/unsubscribe-confirm-action.php'),
|
173 |
|
174 |
|
175 |
+
SPDSGVO::pluginDir('public/shortcodes/privacy-policy.php'),
|
176 |
+
SPDSGVO::pluginDir('public/shortcodes/imprint.php'),
|
177 |
|
178 |
SPDSGVO::pluginDir('public/shortcodes/privacy-policy-link-shortcode.php'),
|
179 |
SPDSGVO::pluginDir('public/shortcodes/cookie-popup-shortcode.php'),
|
180 |
|
181 |
+
//======================================================================
|
182 |
+
// Default Integrations
|
183 |
+
//======================================================================
|
184 |
+
SPDSGVO::pluginDir('includes/integrations/mailchimp/MailchimpIntegration.php'),
|
185 |
+
SPDSGVO::pluginDir('includes/integrations/woocommerce/WoocommerceIntegration.php'),
|
186 |
+
SPDSGVO::pluginDir('includes/integrations/cf7/Cf7Integration.php'),
|
187 |
+
SPDSGVO::pluginDir('includes/integrations/bbpress/BbpressIntegration.php'),
|
188 |
+
SPDSGVO::pluginDir('includes/integrations/buddypress/BuddyPressIntegration.php'),
|
189 |
|
190 |
// tag manager
|
191 |
SPDSGVO::pluginDir('includes/integrations/tagmanager/googletagmanager/class-sp-dsgvo-google-tagmanager-api.php'),
|
222 |
//SPDSGVO::pluginDir('includes/integrations/targeting/gadsense/class-sp-dsgvo-gadsense-api.php'),
|
223 |
//SPDSGVO::pluginDir('includes/integrations/targeting/gadsense/class-sp-dsgvo-gadsense-integration.php'),
|
224 |
|
225 |
+
// embeddings
|
226 |
SPDSGVO::pluginDir('includes/integrations/embeddings/youtube/class-sp-dsgvo-youtube-api.php'),
|
227 |
SPDSGVO::pluginDir('includes/integrations/embeddings/youtube/class-sp-dsgvo-youtube-integration.php'),
|
228 |
SPDSGVO::pluginDir('includes/integrations/embeddings/gmaps/class-sp-dsgvo-gmaps-api.php'),
|
240 |
SPDSGVO::pluginDir('includes/integrations/embeddings/soundcloud/class-sp-dsgvo-soundcloud-api.php'),
|
241 |
SPDSGVO::pluginDir('includes/integrations/embeddings/soundcloud/class-sp-dsgvo-soundcloud-integration.php'),
|
242 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
243 |
|
244 |
+
);
|
245 |
+
//======================================================================
|
246 |
+
// Admin Pages
|
247 |
+
//======================================================================
|
248 |
|
249 |
+
if (is_admin()) {
|
|
|
|
|
|
|
|
|
|
|
250 |
|
251 |
+
array_push($load,
|
252 |
+
SPDSGVO::pluginDir('admin/tabs/v3/info/class-sp-dsgvo-info-tab.php'),
|
253 |
+
SPDSGVO::pluginDir('admin/tabs/v3/webinars/class-sp-dsgvo-webinars-tab.php'),
|
254 |
|
255 |
+
SPDSGVO::pluginDir('admin/tabs/setup/class-sp-dsgvo-create-page-action.php'),
|
256 |
|
257 |
+
// Subject Access Request
|
258 |
+
SPDSGVO::pluginDir('admin/tabs/v3/subject-access-request/class-sp-dsgvo-subject-access-request-tab.php'),
|
259 |
+
SPDSGVO::pluginDir('admin/tabs/v3/subject-access-request/class-sp-dsgvo-subject-access-request-action.php'),
|
|
|
|
|
260 |
|
261 |
+
// Super Unsubscribe
|
262 |
+
SPDSGVO::pluginDir('admin/tabs/v3/super-unsubscribe/class-sp-dsgvo-super-unsubscribe-tab.php'),
|
263 |
+
SPDSGVO::pluginDir('admin/tabs/v3/super-unsubscribe/class-sp-dsgvo-super-unsubscribe-action.php'),
|
264 |
+
/* i592995 */
|
265 |
+
SPDSGVO::pluginDir('admin/tabs/v3/super-unsubscribe/class-sp-dsgvo-dismiss-unsubscribe-action.php'),
|
266 |
+
/* i592995 */
|
267 |
|
268 |
+
// Common Settings
|
269 |
+
SPDSGVO::pluginDir('admin/tabs/v3/common-settings/class-sp-dsgvo-common-settings-tab.php'),
|
270 |
+
SPDSGVO::pluginDir('admin/tabs/v3/common-settings/class-sp-dsgvo-common-settings-action.php'),
|
271 |
+
SPDSGVO::pluginDir('admin/tabs/v3/common-settings/class-sp-dsgvo-common-settings-activate-action.php'),
|
272 |
+
SPDSGVO::pluginDir('admin/tabs/v3/common-settings/class-sp-dsgvo-common-settings-validate-license-action.php'),
|
273 |
|
274 |
+
SPDSGVO::pluginDir('admin/tabs/v3/common-settings/class-sp-dsgvo-privacy-policy-action.php'),
|
|
|
|
|
275 |
|
276 |
+
// Cookie Notice
|
277 |
+
SPDSGVO::pluginDir('admin/tabs/v3/popup-notice/class-sp-dsgvo-cookie-notice-tab.php'),
|
278 |
+
SPDSGVO::pluginDir('admin/tabs/v3/popup-notice/class-sp-dsgvo-cookie-notice-action.php'),
|
|
|
279 |
|
280 |
+
// Operator
|
281 |
+
SPDSGVO::pluginDir('admin/tabs/v3/operator/class-sp-dsgvo-operator-tab.php'),
|
282 |
+
SPDSGVO::pluginDir('admin/tabs/v3/operator/class-sp-dsgvo-operator-action.php'),
|
283 |
+
SPDSGVO::pluginDir('admin/tabs/v3/operator/class-sp-dsgvo-imprint-action.php'),
|
284 |
|
285 |
+
// Page Basics
|
286 |
+
SPDSGVO::pluginDir('admin/tabs/v3/page-basics/class-sp-dsgvo-page-basics-tab.php'),
|
287 |
+
SPDSGVO::pluginDir('admin/tabs/v3/page-basics/class-sp-dsgvo-page-basics-action.php'),
|
288 |
|
289 |
+
// Tagmanager Integrations
|
290 |
+
SPDSGVO::pluginDir('admin/tabs/v3/tagmanager/class-sp-dsgvo-tagmanager-tab.php'),
|
291 |
+
SPDSGVO::pluginDir('admin/tabs/v3/tagmanager/class-sp-dsgvo-tagmanager-action.php'),
|
292 |
|
293 |
+
// Statistic Integrations
|
294 |
+
SPDSGVO::pluginDir('admin/tabs/v3/stats/class-sp-dsgvo-stats-tab.php'),
|
295 |
+
SPDSGVO::pluginDir('admin/tabs/v3/stats/class-sp-dsgvo-stats-action.php'),
|
296 |
|
297 |
+
// Targeting Integrations
|
298 |
+
SPDSGVO::pluginDir('admin/tabs/v3/targeting/class-sp-dsgvo-targeting-tab.php'),
|
299 |
+
SPDSGVO::pluginDir('admin/tabs/v3/targeting/class-sp-dsgvo-targeting-action.php'),
|
300 |
|
301 |
+
// Embedding Integrations
|
302 |
+
SPDSGVO::pluginDir('admin/tabs/v3/embeddings/class-sp-dsgvo-embeddings-tab.php'),
|
303 |
+
SPDSGVO::pluginDir('admin/tabs/v3/embeddings/class-sp-dsgvo-embeddings-action.php'),
|
304 |
|
305 |
+
// Integrations
|
306 |
+
SPDSGVO::pluginDir('admin/tabs/integrations/class-sp-dsgvo-integrations-tab.php'),
|
307 |
+
SPDSGVO::pluginDir('admin/tabs/integrations/class-sp-dsgvo-integrations-action.php')
|
308 |
+
);
|
309 |
+
//array_push($load, $loadAdmin);
|
310 |
+
}
|
311 |
|
|
|
|
|
|
|
|
|
|
|
312 |
|
313 |
+
// Gravity Forms
|
314 |
+
if (class_exists('GFAPI')) {
|
315 |
+
$load[] = SPDSGVO::pluginDir('admin/tabs/gravity-forms/class-sp-dsgvo-gravity-forms-tab.php');
|
316 |
+
$load[] = SPDSGVO::pluginDir('admin/tabs/gravity-forms/class-sp-dsgvo-gravity-forms-action.php');
|
317 |
+
}
|
318 |
|
319 |
+
foreach ($load as $path) {
|
320 |
+
require_once $path;
|
321 |
+
}
|
322 |
|
323 |
+
do_action('sp_dsgvo_booted');
|
324 |
+
}
|
|
|
325 |
|
326 |
+
public static function version()
|
327 |
+
{
|
328 |
+
return (new self)->version;
|
329 |
+
}
|
330 |
|
331 |
+
public static function isTesting()
|
332 |
+
{
|
333 |
+
return (defined('sp_dsgvo_TESTING') && sp_dsgvo_TESTING === '1');
|
334 |
+
}
|
335 |
|
336 |
|
337 |
+
/**
|
338 |
+
* Register all of the hooks related to the admin area functionality
|
339 |
+
* of the plugin.
|
340 |
+
*
|
341 |
+
* @since 1.0.0
|
342 |
+
* @access private
|
343 |
+
*/
|
344 |
+
private function defineAdminHooks()
|
345 |
+
{
|
346 |
+
$admin = new SPDSGVOAdmin();
|
347 |
+
$this->loader->add_action('init', $admin, 'adminInit');
|
348 |
+
$this->loader->add_action('admin_enqueue_scripts', $admin, 'enqueue_styles');
|
349 |
+
$this->loader->add_action('admin_enqueue_scripts', $admin, 'enqueue_scripts');
|
350 |
|
351 |
+
$this->loader->add_action('admin_menu', $admin, 'menuItem');
|
352 |
|
353 |
+
// $this->loader->add_filter('manage_users_columns', $admin, 'addExplicitPermissionColumn');
|
354 |
+
// $this->loader->add_filter('manage_users_custom_column', $admin, 'explicitPermissionColumnCallback', 1, 3);
|
355 |
|
356 |
+
//$this->loader->add_action('show_user_profile', $admin, 'showCustomProfileFields');
|
357 |
+
//$this->loader->add_action('edit_user_profile', $admin, 'showCustomProfileFields');
|
358 |
|
359 |
+
$this->loader->add_action('admin_enqueue_scripts', $admin, 'enqueueColorPicker');
|
360 |
+
$this->loader->add_action('display_post_states', $admin, 'addCustomPostStates', 1, 3);
|
361 |
|
362 |
+
// gravity forms action
|
363 |
+
$this->loader->add_action('gform_after_submission', $admin, 'gf_after_submisison_cleanse', 10, 2);
|
364 |
+
$this->loader->add_action('admin_notices', $admin, 'dsvgvo_admin_notices');
|
365 |
|
366 |
+
// upgrade notice
|
367 |
+
$this->loader->add_action('in_plugin_update_message-shapepress-dsgvo/sp-dsgvo.php', $admin, 'showUpgradeMessage', 10, 2);
|
368 |
// do migration logic
|
369 |
//$this->loader->add_action('upgrader_process_complete', SPDSGVOMigrator::getInstance(), 'checkForMigrations', 10, 2);
|
370 |
$this->loader->add_action('plugins_loaded', SPDSGVOMigrator::getInstance(), 'checkForMigrations');
|
371 |
+
}
|
372 |
+
|
373 |
+
/**
|
374 |
+
* Register all of the hooks related to the public-facing functionality
|
375 |
+
* of the plugin.
|
376 |
+
*
|
377 |
+
* @since 1.0.0
|
378 |
+
* @access private
|
379 |
+
*/
|
380 |
+
private function definePublicHooks()
|
381 |
+
{
|
382 |
+
$public = new SPDSGVOPublic();
|
383 |
+
$this->loader->add_action('wp_enqueue_scripts', $public, 'enqueue_styles');
|
384 |
+
$this->loader->add_action('wp_enqueue_scripts', $public, 'enqueue_scripts');
|
385 |
+
$this->loader->add_action('wp_enqueue_scripts', SPDSGVOJavascript::getInstance(), 'register');
|
386 |
+
$this->loader->add_action('upload_mimes', $public, 'allowJSON');
|
387 |
+
//$this->loader->add_action('user_register', $public, 'newUserRegistered', 10, 1);
|
388 |
+
//$this->loader->add_action('wp', $public, 'forcePermisson');
|
389 |
+
$this->loader->add_action('init', $public, 'publicInit');
|
390 |
+
$this->loader->add_action('sp_dsgvo_collect_user_data', $public, 'collectUserData');
|
391 |
+
$this->loader->add_action('wp_print_footer_scripts', $public, 'wp_print_footer_scripts');
|
392 |
+
$this->loader->add_action('wp_footer', $public, 'writeFooterScripts', 1000);
|
393 |
+
$this->loader->add_action('wp_head', $public, 'writeHeaderScripts');
|
394 |
+
$this->loader->add_action('wp_body_open', $public, 'writeBodyStartScripts');
|
395 |
|
396 |
$this->loader->add_filter('the_content', SPDSGVOEmbeddingsManager::getInstance(), 'findAndProcessIframes', 50, 1);
|
397 |
$this->loader->add_filter('widget_text_content', SPDSGVOEmbeddingsManager::getInstance(), 'findAndProcessIframes', 50, 1);
|
398 |
$this->loader->add_filter('widget_custom_html_content', SPDSGVOEmbeddingsManager::getInstance(), 'findAndProcessIframes', 50, 1);
|
399 |
$this->loader->add_filter('embed_oembed_html', SPDSGVOEmbeddingsManager::getInstance(), 'findAndProcessOembeds', 50, 2);
|
400 |
|
401 |
+
/**
|
402 |
+
* If activated by user, block google-fonts if cookies are not accepted
|
403 |
+
*/
|
404 |
+
/*
|
405 |
+
if(hasUserGivenPermissionFor('google-fonts')) {
|
406 |
+
SPDSGVOPublic::blockGoogleFonts();
|
407 |
+
}
|
408 |
+
*/
|
409 |
+
|
410 |
+
$this->loader->add_action('woocommerce_review_order_before_submit', $public, 'wooAddCustomFields', 20);
|
411 |
+
|
412 |
+
}
|
413 |
+
|
414 |
+
/**
|
415 |
+
* Run the loader to execute all of the hooks with WordPress.
|
416 |
+
*
|
417 |
+
* @since 1.0.0
|
418 |
+
*/
|
419 |
+
public function run()
|
420 |
+
{
|
421 |
+
$this->loader->run();
|
422 |
+
}
|
423 |
+
|
424 |
+
/**
|
425 |
+
* The name of the plugin used to uniquely identify it within the context of
|
426 |
+
* WordPress and to define internationalization functionality.
|
427 |
+
*
|
428 |
+
* @return string The name of the plugin.
|
429 |
+
* @since 1.0.0
|
430 |
+
*/
|
431 |
+
public function get_sp_dsgvo()
|
432 |
+
{
|
433 |
+
return sp_dsgvo_NAME;
|
434 |
+
}
|
435 |
+
|
436 |
+
/**
|
437 |
+
* The reference to the class that orchestrates the hooks with the plugin.
|
438 |
+
*
|
439 |
+
* @return sp_dsgvo_Loader Orchestrates the hooks of the plugin.
|
440 |
+
* @since 1.0.0
|
441 |
+
*/
|
442 |
+
public function get_loader()
|
443 |
+
{
|
444 |
+
return $this->loader;
|
445 |
+
}
|
446 |
+
|
447 |
+
/**
|
448 |
+
* Retrieve the version number of the plugin.
|
449 |
+
*
|
450 |
+
* @return string The version number of the plugin.
|
451 |
+
* @since 1.0.0
|
452 |
+
*/
|
453 |
+
public function get_version()
|
454 |
+
{
|
455 |
+
return $this->version;
|
456 |
+
}
|
457 |
+
|
458 |
+
public function testPermissions()
|
459 |
+
{
|
460 |
+
return wp_upload_bits('sp-dsgvo-test-file.txt', NULL, time())['error'] === FALSE;
|
461 |
+
}
|
462 |
+
|
463 |
+
|
464 |
+
//======================================================================
|
465 |
+
// Helpers
|
466 |
+
//======================================================================
|
467 |
+
public static function adminURL($params = NULL)
|
468 |
+
{
|
469 |
+
if (is_null($params)) {
|
470 |
+
$params = array();
|
471 |
+
}
|
472 |
+
|
473 |
+
$params = http_build_query(array_merge(array(
|
474 |
+
'page' => 'sp-dsgvo',
|
475 |
+
), $params));
|
476 |
+
|
477 |
+
return admin_url() . '?' . $params;
|
478 |
+
}
|
479 |
+
|
480 |
+
public static function pluginDir($append = '')
|
481 |
+
{
|
482 |
+
return plugin_dir_path(dirname(__FILE__)) . $append;
|
483 |
+
}
|
484 |
+
|
485 |
+
public static function pluginURI($append = '')
|
486 |
+
{
|
487 |
+
return plugin_dir_url(dirname(__FILE__)) . $append;
|
488 |
+
}
|
489 |
+
|
490 |
+
public static function isAjax()
|
491 |
+
{
|
492 |
+
return (strpos($_SERVER['REQUEST_URI'], 'admin-ajax.php') !== FALSE);
|
493 |
+
}
|
494 |
+
|
495 |
+
public function slugify($text)
|
496 |
+
{
|
497 |
+
$text = preg_replace('~[^\pL\d]+~u', '-', $text);
|
498 |
+
|
499 |
+
// transliterate
|
500 |
+
$text = iconv('utf-8', 'us-ascii//TRANSLIT', $text);
|
501 |
+
|
502 |
+
// remove unwanted characters
|
503 |
+
$text = preg_replace('~[^-\w]+~', '', $text);
|
504 |
+
|
505 |
+
// trim
|
506 |
+
$text = trim($text, '-');
|
507 |
+
|
508 |
+
// remove duplicate -
|
509 |
+
$text = preg_replace('~-+~', '-', $text);
|
510 |
+
|
511 |
+
// lowercase
|
512 |
+
$text = strtolower($text);
|
513 |
+
|
514 |
+
if (empty($text)) {
|
515 |
+
return 'n-a';
|
516 |
+
}
|
517 |
+
|
518 |
+
return $text;
|
519 |
+
}
|
520 |
}
|
includes/integrations/embeddings/openstreetmap/class-sp-dsgvo-openstreetmap-api.php
CHANGED
@@ -11,7 +11,7 @@ class SPDSGVOOpenstreetmapApi extends SPDSGVOEmbeddingApiBase
|
|
11 |
$this->storageId = 'osm';
|
12 |
$this->cookieCategory = SPDSGVOConstants::CATEGORY_SLUG_EMBEDDINGS;
|
13 |
$this->cookieNames = '';
|
14 |
-
$this->hosts = '
|
15 |
|
16 |
parent::__construct();
|
17 |
}
|
11 |
$this->storageId = 'osm';
|
12 |
$this->cookieCategory = SPDSGVOConstants::CATEGORY_SLUG_EMBEDDINGS;
|
13 |
$this->cookieNames = '';
|
14 |
+
$this->hosts = 'openstreetmap.org';
|
15 |
|
16 |
parent::__construct();
|
17 |
}
|
includes/integrations/targeting/gadsense/class-sp-dsgvo-gadsense-api.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
|
3 |
class SPDSGVOGadsenseApi extends SPDSGVOIntegrationApiBase
|
4 |
{
|
5 |
-
|
6 |
|
7 |
protected function __construct()
|
8 |
{
|
@@ -16,6 +16,9 @@ class SPDSGVOGadsenseApi extends SPDSGVOIntegrationApiBase
|
|
16 |
$this->insertLocation = 'head';
|
17 |
$this->isPremium = true;
|
18 |
$this->isTagManagerCompatible = false;
|
|
|
|
|
|
|
19 |
}
|
20 |
|
21 |
public static function getDefaultJsCode($propertyId)
|
@@ -26,7 +29,32 @@ class SPDSGVOGadsenseApi extends SPDSGVOIntegrationApiBase
|
|
26 |
|
27 |
}
|
28 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
29 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
}
|
31 |
|
32 |
SPDSGVOGadsenseApi::getInstance()->register();
|
2 |
|
3 |
class SPDSGVOGadsenseApi extends SPDSGVOIntegrationApiBase
|
4 |
{
|
5 |
+
public $overlayText;
|
6 |
|
7 |
protected function __construct()
|
8 |
{
|
16 |
$this->insertLocation = 'head';
|
17 |
$this->isPremium = true;
|
18 |
$this->isTagManagerCompatible = false;
|
19 |
+
$this->hosts = 'doubleclick.net';
|
20 |
+
|
21 |
+
$this->overlayText = SPDSGVOLanguageTools::getLwText($this->slug, 'overlay', '');
|
22 |
}
|
23 |
|
24 |
public static function getDefaultJsCode($propertyId)
|
29 |
|
30 |
}
|
31 |
|
32 |
+
// copied fro embeddings-manager for special case of adsense
|
33 |
+
public function processContent($content)
|
34 |
+
{
|
35 |
+
// if its allowed by cookie nothing is to do here. otherwise replace iframes, show image, add optin handler
|
36 |
+
if ($this->checkIfIntegrationIsAllowed($this->slug) == true) return;
|
37 |
+
|
38 |
+
$replacedContent = $this->getOptInContentReplacementHtml($content);
|
39 |
+
|
40 |
+
return $replacedContent;
|
41 |
+
}
|
42 |
|
43 |
+
public function getOptInContentReplacementHtml($content)
|
44 |
+
{
|
45 |
+
|
46 |
+
$output = '<div class="sp-dsgvo-blocked-embedding-placeholder sp-dsgvo-blocked-embedding-placeholder-'.$this->slug.'">';
|
47 |
+
$output .=' <div class="sp-dsgvo-blocked-embedding-placeholder-header"><img class="sp-dsgvo-blocked-embedding-placeholder-header-icon" src="'. SPDSGVO::pluginURI('public/images/embeddings/icon-'.$this->slug .'.svg') .'"/>'.sprintf(__('We need your consent to load the content of %s.','shapepress-dsgvo'), $this->name).'</div>';
|
48 |
+
$output .=' <div class="sp-dsgvo-blocked-embedding-placeholder-body">';
|
49 |
+
$output .= $this->overlayText;
|
50 |
+
$output .=' <div class="sp-dsgvo-blocked-embedding-button-container"> <a href="#" class="sp-dsgvo-direct-enable-popup sp-dsgvo-blocked-embedding-button-enable" data-slug="'.$this->slug.'">'.__('Click here to enable this content.','shapepress-dsgvo').'</a></div>';
|
51 |
+
$output .=' </div>';
|
52 |
+
if (empty($this->additionalCss) == false) $output.= '<style>'.$this->additionalCss .'</style>';
|
53 |
+
|
54 |
+
$output .='</div>';
|
55 |
+
|
56 |
+
return $output;
|
57 |
+
}
|
58 |
}
|
59 |
|
60 |
SPDSGVOGadsenseApi::getInstance()->register();
|
public/actions/legal-web-text-action.php
CHANGED
@@ -44,22 +44,22 @@ Class SPDSGVOLegalWebTextAction extends SPDSGVOAjaxAction{
|
|
44 |
$settings = SPDSGVOPiwikApi::getInstance()->getSettings();
|
45 |
break;
|
46 |
}
|
|
|
47 |
if ($settings['showAsTechMandatory'] == '1')
|
48 |
{
|
49 |
$slug .= '-mandatory';
|
50 |
} else
|
51 |
{
|
52 |
-
$slug .= '-';
|
53 |
-
$slug .= (array_key_exists('implementationMode',$settings)) ? $settings['implementationMode'] : 'on-premises';
|
54 |
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
}
|
61 |
|
62 |
-
|
|
|
|
|
63 |
}
|
64 |
}
|
65 |
|
44 |
$settings = SPDSGVOPiwikApi::getInstance()->getSettings();
|
45 |
break;
|
46 |
}
|
47 |
+
/*
|
48 |
if ($settings['showAsTechMandatory'] == '1')
|
49 |
{
|
50 |
$slug .= '-mandatory';
|
51 |
} else
|
52 |
{
|
|
|
|
|
53 |
|
54 |
+
}
|
55 |
+
*/
|
56 |
+
|
57 |
+
$slug .= '-';
|
58 |
+
$slug .= (array_key_exists('implementationMode',$settings)) ? $settings['implementationMode'] : 'on-premises';
|
|
|
59 |
|
60 |
+
if (array_key_exists('agency', $settings['meta']) == true)
|
61 |
+
{
|
62 |
+
$webAgencyText = $settings['meta']['agency'];
|
63 |
}
|
64 |
}
|
65 |
|
public/class-sp-dsgvo-public.php
CHANGED
@@ -57,7 +57,7 @@ class SPDSGVOPublic
|
|
57 |
{
|
58 |
wp_enqueue_style(sp_dsgvo_NAME.'_twbs4_grid', plugin_dir_url(__FILE__) . 'css/bootstrap-grid.min.css', array(), sp_dsgvo_VERSION, 'all');
|
59 |
wp_enqueue_style(sp_dsgvo_NAME, plugin_dir_url(__FILE__) . 'css/sp-dsgvo-public.min.css', array(), sp_dsgvo_VERSION, 'all');
|
60 |
-
wp_enqueue_style(sp_dsgvo_NAME.'_popup', plugin_dir_url(__FILE__) . 'css/sp-dsgvo-popup.
|
61 |
wp_enqueue_style('simplebar', plugin_dir_url(__FILE__) . 'css/simplebar.min.css');
|
62 |
|
63 |
}
|
@@ -514,6 +514,54 @@ class SPDSGVOPublic
|
|
514 |
</div><!-- .popup-language-switcher -->
|
515 |
<?php endif; ?>
|
516 |
<?php endif; ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
517 |
</div><!-- .lang-wrapper -->
|
518 |
</div>
|
519 |
|
@@ -526,7 +574,7 @@ class SPDSGVOPublic
|
|
526 |
|
527 |
<div class="lwb-row" style="margin-bottom: 3px;">
|
528 |
|
529 |
-
<div class="lwb-col-md-
|
530 |
<div class="sp-dsgvo-logo-wrapper">
|
531 |
<?php
|
532 |
$src = sp_dsgvo_URL . 'public/images/legalwebio-icon.png';
|
@@ -548,7 +596,7 @@ class SPDSGVOPublic
|
|
548 |
|
549 |
</div>
|
550 |
</div>
|
551 |
-
<div class="sp-dsgvo-link-wrapper lwb-col-md-
|
552 |
<a href="<?= $imprintUrl; ?>" target="_blank"><?= __('Imprint', 'shapepress-dsgvo');?></a>
|
553 |
<span>|</span>
|
554 |
<a href="<?= $privacyPolicyUrl; ?>" target="_blank"><?= SPDSGVOSettings::get('privacy_policy_custom_header');?></a>
|
@@ -586,6 +634,55 @@ class SPDSGVOPublic
|
|
586 |
</div><!-- .popup-language-switcher -->
|
587 |
<?php endif; ?>
|
588 |
<?php endif; ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
589 |
</div><!-- .lang-wrapper -->
|
590 |
<div class="lwb-col-md-1" style="text-align: right">
|
591 |
<?php
|
57 |
{
|
58 |
wp_enqueue_style(sp_dsgvo_NAME.'_twbs4_grid', plugin_dir_url(__FILE__) . 'css/bootstrap-grid.min.css', array(), sp_dsgvo_VERSION, 'all');
|
59 |
wp_enqueue_style(sp_dsgvo_NAME, plugin_dir_url(__FILE__) . 'css/sp-dsgvo-public.min.css', array(), sp_dsgvo_VERSION, 'all');
|
60 |
+
wp_enqueue_style(sp_dsgvo_NAME.'_popup', plugin_dir_url(__FILE__) . 'css/sp-dsgvo-popup.css', array(), sp_dsgvo_VERSION, 'all');
|
61 |
wp_enqueue_style('simplebar', plugin_dir_url(__FILE__) . 'css/simplebar.min.css');
|
62 |
|
63 |
}
|
514 |
</div><!-- .popup-language-switcher -->
|
515 |
<?php endif; ?>
|
516 |
<?php endif; ?>
|
517 |
+
<?php
|
518 |
+
/**
|
519 |
+
* WPGlobus language switcher.
|
520 |
+
*/
|
521 |
+
if ( class_exists( 'WPGlobus' ) ): ?>
|
522 |
+
<div class="sp-dsgvo-popup-language-switcher">
|
523 |
+
|
524 |
+
<?php
|
525 |
+
|
526 |
+
$currentLanguage = WPGlobus::Config()->language;
|
527 |
+
$enabled_languages = apply_filters( 'wpglobus_extra_languages', WPGlobus::Config()->enabled_languages, WPGlobus::Config()->language );
|
528 |
+
?>
|
529 |
+
|
530 |
+
<span class="sp-dsgvo-lang-active">
|
531 |
+
<img src="<?php echo WPGlobus::Config()->flags_url . WPGlobus::Config()->flag[ $currentLanguage ]; ?>" alt="<?= __('Country flag', 'shapepress-dsgvo');?>" style="vertical-align: middle;"/>
|
532 |
+
<span><?php echo WPGlobus::Config()->en_language_name[$currentLanguage]; ?></span>
|
533 |
+
<svg width="10" height="6">
|
534 |
+
<line x1="0" y1="0" x2="5" y2="5" />
|
535 |
+
<line x1="5" y1="5" x2="10" y2="0" />
|
536 |
+
</svg>
|
537 |
+
</span>
|
538 |
+
|
539 |
+
<div class="sp-dsgvo-lang-dropdown">
|
540 |
+
|
541 |
+
<?php
|
542 |
+
|
543 |
+
/**
|
544 |
+
* Filter that prevent using language that has `draft` status.
|
545 |
+
* That works with module `Publish` from WPGlobus Plus add-on.
|
546 |
+
*/
|
547 |
+
|
548 |
+
foreach ( $enabled_languages as $language ):
|
549 |
+
$url = null;
|
550 |
+
|
551 |
+
if ( $language != WPGlobus::Config()->language ) {
|
552 |
+
$url = WPGlobus_Utils::localize_current_url( $language );
|
553 |
+
}
|
554 |
+
|
555 |
+
echo '<a href="'.esc_url( $url ).'">
|
556 |
+
<img src="'.WPGlobus::Config()->flags_url . WPGlobus::Config()->flag[ $language ].'" alt="'. __('Country flag', 'shapepress-dsgvo').'" />
|
557 |
+
<span>'.WPGlobus::Config()->en_language_name[$language].'</span>
|
558 |
+
</a>';
|
559 |
+
|
560 |
+
endforeach; ?>
|
561 |
+
|
562 |
+
</div>
|
563 |
+
</div>
|
564 |
+
<?php endif; ?>
|
565 |
</div><!-- .lang-wrapper -->
|
566 |
</div>
|
567 |
|
574 |
|
575 |
<div class="lwb-row" style="margin-bottom: 3px;">
|
576 |
|
577 |
+
<div class="lwb-col-md-4 pr-2">
|
578 |
<div class="sp-dsgvo-logo-wrapper">
|
579 |
<?php
|
580 |
$src = sp_dsgvo_URL . 'public/images/legalwebio-icon.png';
|
596 |
|
597 |
</div>
|
598 |
</div>
|
599 |
+
<div class="sp-dsgvo-link-wrapper lwb-col-md-5 px-0">
|
600 |
<a href="<?= $imprintUrl; ?>" target="_blank"><?= __('Imprint', 'shapepress-dsgvo');?></a>
|
601 |
<span>|</span>
|
602 |
<a href="<?= $privacyPolicyUrl; ?>" target="_blank"><?= SPDSGVOSettings::get('privacy_policy_custom_header');?></a>
|
634 |
</div><!-- .popup-language-switcher -->
|
635 |
<?php endif; ?>
|
636 |
<?php endif; ?>
|
637 |
+
<?php
|
638 |
+
/**
|
639 |
+
* WPGlobus language switcher.
|
640 |
+
*/
|
641 |
+
if ( class_exists( 'WPGlobus' ) ): ?>
|
642 |
+
<div class="sp-dsgvo-popup-language-switcher">
|
643 |
+
|
644 |
+
<?php
|
645 |
+
|
646 |
+
$currentLanguage = WPGlobus::Config()->language;
|
647 |
+
$enabled_languages = apply_filters( 'wpglobus_extra_languages', WPGlobus::Config()->enabled_languages, WPGlobus::Config()->language );
|
648 |
+
?>
|
649 |
+
|
650 |
+
<span class="sp-dsgvo-lang-active">
|
651 |
+
<img src="<?php echo WPGlobus::Config()->flags_url . WPGlobus::Config()->flag[ $currentLanguage ]; ?>" alt="<?= __('Country flag', 'shapepress-dsgvo');?>" style="vertical-align: middle;"/>
|
652 |
+
<span><?php echo WPGlobus::Config()->en_language_name[$currentLanguage]; ?></span>
|
653 |
+
<svg width="10" height="6">
|
654 |
+
<line x1="0" y1="0" x2="5" y2="5" />
|
655 |
+
<line x1="5" y1="5" x2="10" y2="0" />
|
656 |
+
</svg>
|
657 |
+
</span>
|
658 |
+
|
659 |
+
<div class="sp-dsgvo-lang-dropdown">
|
660 |
+
|
661 |
+
<?php
|
662 |
+
|
663 |
+
/**
|
664 |
+
* Filter that prevent using language that has `draft` status.
|
665 |
+
* That works with module `Publish` from WPGlobus Plus add-on.
|
666 |
+
*/
|
667 |
+
|
668 |
+
foreach ( $enabled_languages as $language ):
|
669 |
+
$url = null;
|
670 |
+
|
671 |
+
if ( $language != WPGlobus::Config()->language ) {
|
672 |
+
$url = WPGlobus_Utils::localize_current_url( $language );
|
673 |
+
}
|
674 |
+
|
675 |
+
echo '<a href="'.esc_url( $url ).'">
|
676 |
+
<img src="'.WPGlobus::Config()->flags_url . WPGlobus::Config()->flag[ $language ].'" alt="'. __('Country flag', 'shapepress-dsgvo').'" />
|
677 |
+
<span>'.WPGlobus::Config()->en_language_name[$language].'</span>
|
678 |
+
</a>';
|
679 |
+
|
680 |
+
endforeach; ?>
|
681 |
+
|
682 |
+
</div>
|
683 |
+
</div>
|
684 |
+
<?php endif; ?>
|
685 |
+
|
686 |
</div><!-- .lang-wrapper -->
|
687 |
<div class="lwb-col-md-1" style="text-align: right">
|
688 |
<?php
|
public/css/sp-dsgvo-popup.css
CHANGED
@@ -115,6 +115,7 @@
|
|
115 |
background-color: white;
|
116 |
color: black;
|
117 |
letter-spacing: normal;
|
|
|
118 |
}
|
119 |
|
120 |
@media (max-width: 320px)
|
@@ -299,6 +300,7 @@ a.close
|
|
299 |
.sp-dsgvo-privacy-popup .sp-dsgvo-lang-dropdown a img {
|
300 |
margin-right: 5px;
|
301 |
padding-left: 3px;
|
|
|
302 |
}
|
303 |
|
304 |
.sp-dsgvo-privacy-category-content,
|
@@ -377,7 +379,7 @@ a.close
|
|
377 |
|
378 |
|
379 |
.sp-dsgvo-privacy-popup-title {
|
380 |
-
font-size:
|
381 |
font-weight: 500;
|
382 |
margin-bottom: 0;
|
383 |
}
|
115 |
background-color: white;
|
116 |
color: black;
|
117 |
letter-spacing: normal;
|
118 |
+
box-sizing: border-box;
|
119 |
}
|
120 |
|
121 |
@media (max-width: 320px)
|
300 |
.sp-dsgvo-privacy-popup .sp-dsgvo-lang-dropdown a img {
|
301 |
margin-right: 5px;
|
302 |
padding-left: 3px;
|
303 |
+
vertical-align: middle;
|
304 |
}
|
305 |
|
306 |
.sp-dsgvo-privacy-category-content,
|
379 |
|
380 |
|
381 |
.sp-dsgvo-privacy-popup-title {
|
382 |
+
font-size: 0.9em;
|
383 |
font-weight: 500;
|
384 |
margin-bottom: 0;
|
385 |
}
|
public/css/sp-dsgvo-popup.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
@font-face{font-family:'Roboto';font-style:italic;font-weight:300;src:local('Roboto Light Italic'),local('Roboto-LightItalic'),url(fonts/roboto/Roboto-LightItalic-webfont.woff) format('woff');font-display:swap}@font-face{font-family:'Roboto';font-style:italic;font-weight:400;src:local('Roboto Italic'),local('Roboto-Italic'),url(fonts/roboto/Roboto-Italic-webfont.woff) format('woff');font-display:swap}@font-face{font-family:'Roboto';font-style:italic;font-weight:700;src:local('Roboto Bold Italic'),local('Roboto-BoldItalic'),url(fonts/roboto/Roboto-BoldItalic-webfont.woff) format('woff');font-display:swap}@font-face{font-family:'Roboto';font-style:italic;font-weight:900;src:local('Roboto Black Italic'),local('Roboto-BlackItalic'),url(fonts/roboto/Roboto-BlackItalic-webfont.woff) format('woff');font-display:swap}@font-face{font-family:'Roboto';font-style:normal;font-weight:300;src:local('Roboto Light'),local('Roboto-Light'),url(fonts/roboto/Roboto-Light-webfont.woff) format('woff');font-display:swap}@font-face{font-family:'Roboto';font-style:normal;font-weight:400;src:local('Roboto Regular'),local('Roboto-Regular'),url(fonts/roboto/Roboto-Regular-webfont.woff) format('woff');font-display:swap}@font-face{font-family:'Roboto';font-style:normal;font-weight:700;src:local('Roboto Bold'),local('Roboto-Bold'),url(fonts/roboto/Roboto-Bold-webfont.woff) format('woff');font-display:swap}@font-face{font-family:'Roboto';font-style:normal;font-weight:900;src:local('Roboto Black'),local('Roboto-Black'),url(fonts/roboto/Roboto-Black-webfont.woff) format('woff');font-display:swap}.sp-dsgvo-popup-overlay,.sp-dsgvo-cookie-overlay{position:fixed;left:0;top:0;width:100%;height:100%;background-color:rgba(34,34,34,.8);z-index:9999999}.sp-dsgvo-privacy-popup{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:100%;max-width:500px;font-family:'Roboto',Roboto,"Helvetica Neue",Arial,sans-serif;font-size:22px;padding-bottom:10px;padding-left:5px !important;padding-right:5px !important;line-height:normal;background-color:white;color:black;letter-spacing:normal}@media(max-width:320px){.sp-dsgvo-privacy-popup{max-width:310px;font-size:18px}}@media(max-width:540px){.sp-dsgvo-privacy-popup{max-width:360px;font-size:20px}}@media(min-width:541px){.sp-dsgvo-privacy-popup{max-width:620px}}.sp-dsgvo-popup-overlay.sp-dsgvo-overlay-hidden{display:none}.sp-dsgvo-privacy-popup .sp-dsgvo-popup-top{padding:20px 10px 10px 10px;box-sizing:border-box}.sp-dsgvo-privacy-popup .sp-dsgvo-popup-more-information-top{padding:10px;height:50px;box-sizing:border-box}.sp-dsgvo-popup-close,.sp-dsgvo-popup-more-information-close{height:10px}a.sp-dsgvo-popup-close,a.close{background:none !important;border:none !important}.sp-dsgvo-popup-close svg{vertical-align:top}.sp-dsgvo-popup-more-information-close svg{vertical-align:middle}.sp-dsgvo-popup-close svg line,.sp-dsgvo-popup-more-information-close svg line{stroke-width:2px;stroke:#000}.sp-dsgvo-privacy-popup .sp-dsgvo-logo-wrapper{width:40px;float:left;margin-right:5px}.sp-dsgvo-privacy-popup .sp-dsgvo-logo-wrapper img{max-height:35px;max-width:35px;position:relative}@media(max-width:480px){.sp-dsgvo-privacy-popup .sp-dsgvo-logo-wrapper img{max-width:100px}}.sp-dsgvo-header-description-text{font-size:.65em}.sp-dsgvo-privacy-popup .sp-dsgvo-link-wrapper a,.sp-dsgvo-privacy-popup .sp-dsgvo-link-wrapper span{font-size:.5em;font-weight:bold;color:#555}.sp-dsgvo-privacy-popup .sp-dsgvo-lang-dropdown{display:none;position:absolute;left:0;top:calc(100% - 10px);width:100%;border:1px solid #f1f1f1;background-color:#fff;border-radius:5px;z-index:10}.sp-dsgvo-privacy-popup .sp-dsgvo-lang-wrapper{display:flex;justify-content:flex-end}.sp-dsgvo-privacy-popup .dsgvo-lang-active{cursor:pointer;font-size:12px;font-weight:600;display:flex;align-items:flex-start}.sp-dsgvo-privacy-popup .sp-dsgvo-lang-active span{width:calc(100% /*!*/- 38px)}.sp-dsgvo-privacy-popup .sp-dsgvo-popup-language-switcher{position:relative}.sp-dsgvo-privacy-popup .sp-dsgvo-popup-language-switcher span{font-size:.75em}.sp-dsgvo-privacy-popup .sp-dsgvo-lang-active img{margin-right:5px}.sp-dsgvo-privacy-popup .sp-dsgvo-lang-active svg{margin-left:3px;vertical-align:middle}@media(max-width:540px){.sp-dsgvo-privacy-popup .sp-dsgvo-lang-active svg{margin-top:5px;vertical-align:top}}.sp-dsgvo-privacy-popup .sp-dsgvo-lang-active svg line{stroke-width:2px;stroke:#000}.sp-dsgvo-privacy-popup .sp-dsgvo-lang-dropdown.active{display:block}.sp-dsgvo-privacy-popup .sp-dsgvo-lang-dropdown a,.sp-dsgvo-privacy-popup .sp-dsgvo-lang-dropdown a span{width:100%;font-size:.6em;font-weight:500;align-items:center;padding:3px;color:black}.sp-dsgvo-privacy-popup .sp-dsgvo-lang-dropdown a img{margin-right:5px;padding-left:3px}.sp-dsgvo-privacy-category-content,.sp-dsgvo-popup-more-information-content{overflow-y:auto;overflow-x:hidden}.sp-dsgvo-popup-more-information-content strong{color:black}#sp-dsgvo-popup-more-information-content>p{line-height:initial;text-align:left;line-height:normal}@media(max-width:540px){.sp-dsgvo-privacy-category-content{overflow-y:scroll;max-height:412px}.sp-dsgvo-popup-more-information-content{overflow-y:scroll;max-height:330px}}.sp-dsgvo-privacy-popup p,.sp-dsgvo-privacy-popup span{font-size:.7em}.sp-dsgvo-popup-more-information-content p,.sp-dsgvo-popup-more-information-content span{font-size:.6em;margin:0}@media(max-height:568px){.sp-dsgvo-privacy-content-category-content{max-height:250px !important}.sp-dsgvo-popup-more-information-content{max-height:280px !important}}@media(min-height:569px) and (max-height:667px){.sp-dsgvo-privacy-content-category-content,.sp-dsgvo-popup-more-information-content{max-height:370px !important}}@media(min-height:668px){.sp-dsgvo-privacy-content-category-content,.sp-dsgvo-popup-more-information-content{max-height:430px !important}}.sp-dsgvo-privacy-popup-title{font-size:1.0;font-weight:500;margin-bottom:0}.sp-dsgvo-privacy-content{padding:10px}.sp-dsgvo-category-container{border-radius:3px;background-color:#f0f0f0;padding:10px 15px 10px 15px;margin-bottom:5px}.sp-dsgvo-category-name,.sp-dsgvo-popup-more-information-title{font-size:.8em;font-weight:bold}.sp-dsgvo-category-name small{font-size:75%;font-weight:400}.sp-dsgvo-category-count{font-size:.7em;width:80px}.sp-dsgvo-category-description{font-size:.6em}.sp-dsgvo-category-item{margin-left:10px;margin-top:5px;margin-bottom:5px}.sp-dsgvo-category-item-name{font-size:.7em;font-weight:bold}.sp-dsgvo-category-item-name small{font-size:70%;font-weight:600}.sp-dsgvo-category-item-company{font-size:.60em}.sp-dsgvo-category-item-description-url a{font-size:.6em;color:#006d91 !important;text-decoration:none !important}.sp-dsgvo-category-container hr{margin:1px 0 1px 0 !important;height:1px;border:0;color:white;background-color:white}.sp-dsgvo-category-item-toggle input[type=checkbox],.sp-dsgvo-category-toggle input[type=checkbox]{height:0;width:0;visibility:hidden;display:block}.sp-dsgvo-category-item-toggle label,.sp-dsgvo-category-toggle label{margin-bottom:0}.sp-dsgvo-category-item-toggle>.switch,.sp-dsgvo-category-toggle>.switch{display:block;margin-bottom:5px}.switch{position:relative;display:inline-block;vertical-align:top;width:65px;height:24px;padding:2px;cursor:pointer;border-radius:18px}.switch-input{position:absolute;top:0;left:0;opacity:0}.switch-label{position:relative;display:block;height:20px;font-size:11px !important;text-transform:uppercase;background:#eceeef;border-radius:inherit;box-shadow:inset 0 1px 2px rgba(0,0,0,0.12),inset 0 0 2px rgba(0,0,0,0.15);-webkit-transition:.15s ease-out;-moz-transition:.15s ease-out;-o-transition:.15s ease-out;transition:.15s ease-out;-webkit-transition-property:opacity background;-moz-transition-property:opacity background;-o-transition-property:opacity background;transition-property:opacity background}.switch-label:before,.switch-label:after{position:absolute;top:50%;margin-top:-.5em;line-height:1;-webkit-transition:inherit;-moz-transition:inherit;-o-transition:inherit;transition:inherit}.switch-label:before{content:attr(data-off);right:11px;color:#aaa;text-shadow:0 1px rgba(255,255,255,0.5)}.switch-label:after{content:attr(data-on);left:11px;color:white;text-shadow:0 1px rgba(0,0,0,0.2);opacity:0}.switch-input:checked ~ .switch-label{background:#47a8d8;box-shadow:inset 0 1px 2px rgba(0,0,0,0.15),inset 0 0 3px rgba(0,0,0,0.2)}.switch-input:checked ~ .switch-label:before{opacity:0}.switch-input:checked ~ .switch-label:after{opacity:1}.switch-handle{position:absolute;top:4px;left:4px;width:17px;height:17px;background:white;border-radius:10px;box-shadow:1px 1px 5px rgba(0,0,0,0.2);background-image:-webkit-linear-gradient(top,white 40%,#f0f0f0);background-image:-moz-linear-gradient(top,white 40%,#f0f0f0);background-image:-o-linear-gradient(top,white 40%,#f0f0f0);background-image:linear-gradient(to bottom,white 40%,#f0f0f0);-webkit-transition:left .15s ease-out;-moz-transition:left .15s ease-out;-o-transition:left .15s ease-out;transition:left .15s ease-out}.switch-handle:before{content:'';position:absolute;top:50%;left:50%;margin:-6px 0 0 -6px;width:12px;height:12px;background:#f9f9f9;border-radius:6px;box-shadow:inset 0 1px rgba(0,0,0,0.02);background-image:-webkit-linear-gradient(top,#eee,white);background-image:-moz-linear-gradient(top,#eee,white);background-image:-o-linear-gradient(top,#eee,white);background-image:linear-gradient(to bottom,#eee,white)}.switch-input:checked ~ .switch-handle{left:40px;box-shadow:-1px 1px 5px rgba(0,0,0,0.2)}.switch-green>.switch-input:checked ~ .switch-label{background:#4fb845}.switch-green>.switch-input:disabled ~ .switch-label{background:#a9a9a9}.sp-dsgvo-privacy-bottom a.sp-dsgvo-popup-button{text-transform:uppercase;font-size:.62em;font-weight:500 !important;padding:6px 11px 6px 11px !important;display:inline-block !important;position:relative;box-shadow:inset 0 1px rgba(0,0,0,0.02) !important;border-radius:3px !important;color:white !important;text-decoration:none !important}.sp-dsgvo-privacy-bottom a.sp-dsgvo-popup-button:hover,.sp-dsgvo-privacy-bottom a.sp-dsgvo-popup-button:focus,.sp-dsgvo-privacy-bottom a.sp-dsgvo-popup-button:active{text-decoration:none !important;color:#fafafa !important}@media(max-width:540px){.sp-dsgvo-privacy-bottom a.sp-dsgvo-popup-button{margin-left:0 !important;margin-right:0 !important;text-align:center;font-size:.55em;padding:5px 5px 5px 5px !important}}.sp-dsgvo-privacy-bottom a.grey{color:white;border-color:#4d4c53;background-color:#4d4c53}.sp-dsgvo-privacy-bottom a.blue{color:white;border-color:#27a1e5;background-color:#27a1e5}.sp-dsgvo-privacy-bottom a.green{color:white;border-color:#4fb845;background-color:#4fb845}.sp-dsgvo-privacy-bottom a.sp-dsgvo-popup-button:hover{color:#555}.sp-dsgvo .progress{display:-webkit-box;display:-ms-flexbox;display:flex;height:10px;overflow:hidden;font-size:.703125rem;background-color:#ccc;border-radius:0}.sp-dsgvo .progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}.sp-dsgvo .progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.sp-dsgvo .progress-bar{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;color:#fff;text-align:center;white-space:nowrap;background-color:#999;-webkit-transition:width .6s ease;transition:width .6s ease;font-size:12px;font-weight:500}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}
|
1 |
+
@font-face{font-family:'Roboto';font-style:italic;font-weight:300;src:local('Roboto Light Italic'),local('Roboto-LightItalic'),url(fonts/roboto/Roboto-LightItalic-webfont.woff) format('woff');font-display:swap}@font-face{font-family:'Roboto';font-style:italic;font-weight:400;src:local('Roboto Italic'),local('Roboto-Italic'),url(fonts/roboto/Roboto-Italic-webfont.woff) format('woff');font-display:swap}@font-face{font-family:'Roboto';font-style:italic;font-weight:700;src:local('Roboto Bold Italic'),local('Roboto-BoldItalic'),url(fonts/roboto/Roboto-BoldItalic-webfont.woff) format('woff');font-display:swap}@font-face{font-family:'Roboto';font-style:italic;font-weight:900;src:local('Roboto Black Italic'),local('Roboto-BlackItalic'),url(fonts/roboto/Roboto-BlackItalic-webfont.woff) format('woff');font-display:swap}@font-face{font-family:'Roboto';font-style:normal;font-weight:300;src:local('Roboto Light'),local('Roboto-Light'),url(fonts/roboto/Roboto-Light-webfont.woff) format('woff');font-display:swap}@font-face{font-family:'Roboto';font-style:normal;font-weight:400;src:local('Roboto Regular'),local('Roboto-Regular'),url(fonts/roboto/Roboto-Regular-webfont.woff) format('woff');font-display:swap}@font-face{font-family:'Roboto';font-style:normal;font-weight:700;src:local('Roboto Bold'),local('Roboto-Bold'),url(fonts/roboto/Roboto-Bold-webfont.woff) format('woff');font-display:swap}@font-face{font-family:'Roboto';font-style:normal;font-weight:900;src:local('Roboto Black'),local('Roboto-Black'),url(fonts/roboto/Roboto-Black-webfont.woff) format('woff');font-display:swap}.sp-dsgvo-popup-overlay,.sp-dsgvo-cookie-overlay{position:fixed;left:0;top:0;width:100%;height:100%;background-color:rgba(34,34,34,.8);z-index:9999999}.sp-dsgvo-privacy-popup{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:100%;max-width:500px;font-family:'Roboto',Roboto,"Helvetica Neue",Arial,sans-serif;font-size:22px;padding-bottom:10px;padding-left:5px !important;padding-right:5px !important;line-height:normal;background-color:white;color:black;letter-spacing:normal;box-sizing:border-box}@media(max-width:320px){.sp-dsgvo-privacy-popup{max-width:310px;font-size:18px}}@media(max-width:540px){.sp-dsgvo-privacy-popup{max-width:360px;font-size:20px}}@media(min-width:541px){.sp-dsgvo-privacy-popup{max-width:620px}}.sp-dsgvo-popup-overlay.sp-dsgvo-overlay-hidden{display:none}.sp-dsgvo-privacy-popup .sp-dsgvo-popup-top{padding:20px 10px 10px 10px;box-sizing:border-box}.sp-dsgvo-privacy-popup .sp-dsgvo-popup-more-information-top{padding:10px;height:50px;box-sizing:border-box}.sp-dsgvo-popup-close,.sp-dsgvo-popup-more-information-close{height:10px}a.sp-dsgvo-popup-close,a.close{background:none !important;border:none !important}.sp-dsgvo-popup-close svg{vertical-align:top}.sp-dsgvo-popup-more-information-close svg{vertical-align:middle}.sp-dsgvo-popup-close svg line,.sp-dsgvo-popup-more-information-close svg line{stroke-width:2px;stroke:#000}.sp-dsgvo-privacy-popup .sp-dsgvo-logo-wrapper{width:40px;float:left;margin-right:5px}.sp-dsgvo-privacy-popup .sp-dsgvo-logo-wrapper img{max-height:35px;max-width:35px;position:relative}@media(max-width:480px){.sp-dsgvo-privacy-popup .sp-dsgvo-logo-wrapper img{max-width:100px}}.sp-dsgvo-header-description-text{font-size:.65em}.sp-dsgvo-privacy-popup .sp-dsgvo-link-wrapper a,.sp-dsgvo-privacy-popup .sp-dsgvo-link-wrapper span{font-size:.5em;font-weight:bold;color:#555}.sp-dsgvo-privacy-popup .sp-dsgvo-lang-dropdown{display:none;position:absolute;left:0;top:calc(100% - 10px);width:100%;border:1px solid #f1f1f1;background-color:#fff;border-radius:5px;z-index:10}.sp-dsgvo-privacy-popup .sp-dsgvo-lang-wrapper{display:flex;justify-content:flex-end}.sp-dsgvo-privacy-popup .dsgvo-lang-active{cursor:pointer;font-size:12px;font-weight:600;display:flex;align-items:flex-start}.sp-dsgvo-privacy-popup .sp-dsgvo-lang-active span{width:calc(100% /*!*/- 38px)}.sp-dsgvo-privacy-popup .sp-dsgvo-popup-language-switcher{position:relative}.sp-dsgvo-privacy-popup .sp-dsgvo-popup-language-switcher span{font-size:.75em}.sp-dsgvo-privacy-popup .sp-dsgvo-lang-active img{margin-right:5px}.sp-dsgvo-privacy-popup .sp-dsgvo-lang-active svg{margin-left:3px;vertical-align:middle}@media(max-width:540px){.sp-dsgvo-privacy-popup .sp-dsgvo-lang-active svg{margin-top:5px;vertical-align:top}}.sp-dsgvo-privacy-popup .sp-dsgvo-lang-active svg line{stroke-width:2px;stroke:#000}.sp-dsgvo-privacy-popup .sp-dsgvo-lang-dropdown.active{display:block}.sp-dsgvo-privacy-popup .sp-dsgvo-lang-dropdown a,.sp-dsgvo-privacy-popup .sp-dsgvo-lang-dropdown a span{width:100%;font-size:.6em;font-weight:500;align-items:center;padding:3px;color:black}.sp-dsgvo-privacy-popup .sp-dsgvo-lang-dropdown a img{margin-right:5px;padding-left:3px;vertical-align:middle}.sp-dsgvo-privacy-category-content,.sp-dsgvo-popup-more-information-content{overflow-y:auto;overflow-x:hidden}.sp-dsgvo-popup-more-information-content strong{color:black}#sp-dsgvo-popup-more-information-content>p{line-height:initial;text-align:left;line-height:normal}@media(max-width:540px){.sp-dsgvo-privacy-category-content{overflow-y:scroll;max-height:412px}.sp-dsgvo-popup-more-information-content{overflow-y:scroll;max-height:330px}}.sp-dsgvo-privacy-popup p,.sp-dsgvo-privacy-popup span{font-size:.7em}.sp-dsgvo-popup-more-information-content p,.sp-dsgvo-popup-more-information-content span{font-size:.6em;margin:0}@media(max-height:568px){.sp-dsgvo-privacy-content-category-content{max-height:250px !important}.sp-dsgvo-popup-more-information-content{max-height:280px !important}}@media(min-height:569px) and (max-height:667px){.sp-dsgvo-privacy-content-category-content,.sp-dsgvo-popup-more-information-content{max-height:370px !important}}@media(min-height:668px){.sp-dsgvo-privacy-content-category-content,.sp-dsgvo-popup-more-information-content{max-height:430px !important}}.sp-dsgvo-privacy-popup-title{font-size:.9em;font-weight:500;margin-bottom:0}.sp-dsgvo-privacy-content{padding:10px}.sp-dsgvo-category-container{border-radius:3px;background-color:#f0f0f0;padding:10px 15px 10px 15px;margin-bottom:5px}.sp-dsgvo-category-name,.sp-dsgvo-popup-more-information-title{font-size:.8em;font-weight:bold}.sp-dsgvo-category-name small{font-size:75%;font-weight:400}.sp-dsgvo-category-count{font-size:.7em;width:80px}.sp-dsgvo-category-description{font-size:.6em}.sp-dsgvo-category-item{margin-left:10px;margin-top:5px;margin-bottom:5px}.sp-dsgvo-category-item-name{font-size:.7em;font-weight:bold}.sp-dsgvo-category-item-name small{font-size:70%;font-weight:600}.sp-dsgvo-category-item-company{font-size:.60em}.sp-dsgvo-category-item-description-url a{font-size:.6em;color:#006d91 !important;text-decoration:none !important}.sp-dsgvo-category-container hr{margin:1px 0 1px 0 !important;height:1px;border:0;color:white;background-color:white}.sp-dsgvo-category-item-toggle input[type=checkbox],.sp-dsgvo-category-toggle input[type=checkbox]{height:0;width:0;visibility:hidden;display:block}.sp-dsgvo-category-item-toggle label,.sp-dsgvo-category-toggle label{margin-bottom:0}.sp-dsgvo-category-item-toggle>.switch,.sp-dsgvo-category-toggle>.switch{display:block;margin-bottom:5px}.switch{position:relative;display:inline-block;vertical-align:top;width:65px;height:24px;padding:2px;cursor:pointer;border-radius:18px}.switch-input{position:absolute;top:0;left:0;opacity:0}.switch-label{position:relative;display:block;height:20px;font-size:11px !important;text-transform:uppercase;background:#eceeef;border-radius:inherit;box-shadow:inset 0 1px 2px rgba(0,0,0,0.12),inset 0 0 2px rgba(0,0,0,0.15);-webkit-transition:.15s ease-out;-moz-transition:.15s ease-out;-o-transition:.15s ease-out;transition:.15s ease-out;-webkit-transition-property:opacity background;-moz-transition-property:opacity background;-o-transition-property:opacity background;transition-property:opacity background}.switch-label:before,.switch-label:after{position:absolute;top:50%;margin-top:-.5em;line-height:1;-webkit-transition:inherit;-moz-transition:inherit;-o-transition:inherit;transition:inherit}.switch-label:before{content:attr(data-off);right:11px;color:#aaa;text-shadow:0 1px rgba(255,255,255,0.5)}.switch-label:after{content:attr(data-on);left:11px;color:white;text-shadow:0 1px rgba(0,0,0,0.2);opacity:0}.switch-input:checked ~ .switch-label{background:#47a8d8;box-shadow:inset 0 1px 2px rgba(0,0,0,0.15),inset 0 0 3px rgba(0,0,0,0.2)}.switch-input:checked ~ .switch-label:before{opacity:0}.switch-input:checked ~ .switch-label:after{opacity:1}.switch-handle{position:absolute;top:4px;left:4px;width:17px;height:17px;background:white;border-radius:10px;box-shadow:1px 1px 5px rgba(0,0,0,0.2);background-image:-webkit-linear-gradient(top,white 40%,#f0f0f0);background-image:-moz-linear-gradient(top,white 40%,#f0f0f0);background-image:-o-linear-gradient(top,white 40%,#f0f0f0);background-image:linear-gradient(to bottom,white 40%,#f0f0f0);-webkit-transition:left .15s ease-out;-moz-transition:left .15s ease-out;-o-transition:left .15s ease-out;transition:left .15s ease-out}.switch-handle:before{content:'';position:absolute;top:50%;left:50%;margin:-6px 0 0 -6px;width:12px;height:12px;background:#f9f9f9;border-radius:6px;box-shadow:inset 0 1px rgba(0,0,0,0.02);background-image:-webkit-linear-gradient(top,#eee,white);background-image:-moz-linear-gradient(top,#eee,white);background-image:-o-linear-gradient(top,#eee,white);background-image:linear-gradient(to bottom,#eee,white)}.switch-input:checked ~ .switch-handle{left:40px;box-shadow:-1px 1px 5px rgba(0,0,0,0.2)}.switch-green>.switch-input:checked ~ .switch-label{background:#4fb845}.switch-green>.switch-input:disabled ~ .switch-label{background:#a9a9a9}.sp-dsgvo-privacy-bottom a.sp-dsgvo-popup-button{text-transform:uppercase;font-size:.62em;font-weight:500 !important;padding:6px 11px 6px 11px !important;display:inline-block !important;position:relative;box-shadow:inset 0 1px rgba(0,0,0,0.02) !important;border-radius:3px !important;color:white !important;text-decoration:none !important}.sp-dsgvo-privacy-bottom a.sp-dsgvo-popup-button:hover,.sp-dsgvo-privacy-bottom a.sp-dsgvo-popup-button:focus,.sp-dsgvo-privacy-bottom a.sp-dsgvo-popup-button:active{text-decoration:none !important;color:#fafafa !important}@media(max-width:540px){.sp-dsgvo-privacy-bottom a.sp-dsgvo-popup-button{margin-left:0 !important;margin-right:0 !important;text-align:center;font-size:.55em;padding:5px 5px 5px 5px !important}}.sp-dsgvo-privacy-bottom a.grey{color:white;border-color:#4d4c53;background-color:#4d4c53}.sp-dsgvo-privacy-bottom a.blue{color:white;border-color:#27a1e5;background-color:#27a1e5}.sp-dsgvo-privacy-bottom a.green{color:white;border-color:#4fb845;background-color:#4fb845}.sp-dsgvo-privacy-bottom a.sp-dsgvo-popup-button:hover{color:#555}.sp-dsgvo .progress{display:-webkit-box;display:-ms-flexbox;display:flex;height:10px;overflow:hidden;font-size:.703125rem;background-color:#ccc;border-radius:0}.sp-dsgvo .progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}.sp-dsgvo .progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.sp-dsgvo .progress-bar{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;color:#fff;text-align:center;white-space:nowrap;background-color:#999;-webkit-transition:width .6s ease;transition:width .6s ease;font-size:12px;font-weight:500}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}
|
public/shortcodes/imprint.php
CHANGED
@@ -1,7 +1,15 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
function SPDSGVOImprintShortcode(){
|
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
$settings = SPDSGVOSettings::getAll();
|
6 |
|
7 |
|
1 |
<?php
|
2 |
|
3 |
+
function SPDSGVOImprintShortcode($atts){
|
4 |
|
5 |
+
$locale = SPDSGVOLanguageTools::getInstance()->getCurrentLanguageCode();
|
6 |
+
/*
|
7 |
+
$params = shortcode_atts(array(
|
8 |
+
'lang' => $locale
|
9 |
+
), $atts);
|
10 |
+
|
11 |
+
$locale = $params['lang'];
|
12 |
+
*/
|
13 |
$settings = SPDSGVOSettings::getAll();
|
14 |
|
15 |
|
public/shortcodes/privacy-policy.php
CHANGED
@@ -1,9 +1,16 @@
|
|
1 |
<?php
|
2 |
|
3 |
|
4 |
-
function SPDSGVOPrivacyPolicyShortcode(){
|
5 |
|
6 |
$locale = SPDSGVOLanguageTools::getInstance()->getCurrentLanguageCode();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
$hTagTitle = "h1";
|
8 |
$hTagSubtitle = "h2";
|
9 |
$hTagSubSubtitle = "h3";
|
@@ -49,7 +56,7 @@ function SPDSGVOPrivacyPolicyShortcode(){
|
|
49 |
$responsibleText .= SPDSGVOSettings::get('spdsgvo_company_info_loc') .", ";
|
50 |
$responsibleText .= SPDSGVOSettings::get('spdsgvo_company_info_countrycode') .", ";
|
51 |
if (empty(SPDSGVOSettings::get('spdsgvo_company_info_email')) == false)
|
52 |
-
$responsibleText .= '<a href=
|
53 |
if (empty(SPDSGVOSettings::get('spdsgvo_company_info_phone')) == false) $responsibleText .= SPDSGVOSettings::get('spdsgvo_company_info_phone');
|
54 |
$privacyPolicy[] = SPDSGVOGetFormatedHtmlTextArray('p', $responsibleText);
|
55 |
// </editor-fold>
|
@@ -363,6 +370,12 @@ function SPDSGVOPrivacyPolicyShortcode(){
|
|
363 |
|
364 |
// <editor-fold desc="Analyse">
|
365 |
$integrations = SPDSGVOIntegrationApiBase::getAllIntegrationApis(SPDSGVOConstants::CATEGORY_SLUG_STATISTICS, FALSE);
|
|
|
|
|
|
|
|
|
|
|
|
|
366 |
$enabledIntegrationCount = 0;
|
367 |
$integrationTexts = null;
|
368 |
foreach ($integrations as $integrationSlug => $integration)
|
1 |
<?php
|
2 |
|
3 |
|
4 |
+
function SPDSGVOPrivacyPolicyShortcode($atts){
|
5 |
|
6 |
$locale = SPDSGVOLanguageTools::getInstance()->getCurrentLanguageCode();
|
7 |
+
/*
|
8 |
+
$params = shortcode_atts(array(
|
9 |
+
'lang' => $locale
|
10 |
+
), $atts);
|
11 |
+
|
12 |
+
$locale = $params['lang'];
|
13 |
+
*/
|
14 |
$hTagTitle = "h1";
|
15 |
$hTagSubtitle = "h2";
|
16 |
$hTagSubSubtitle = "h3";
|
56 |
$responsibleText .= SPDSGVOSettings::get('spdsgvo_company_info_loc') .", ";
|
57 |
$responsibleText .= SPDSGVOSettings::get('spdsgvo_company_info_countrycode') .", ";
|
58 |
if (empty(SPDSGVOSettings::get('spdsgvo_company_info_email')) == false)
|
59 |
+
$responsibleText .= '<a href="mailto:' . SPDSGVOSettings::get('spdsgvo_company_info_email').'">'.SPDSGVOSettings::get("spdsgvo_company_info_email").'</a>' .", ";
|
60 |
if (empty(SPDSGVOSettings::get('spdsgvo_company_info_phone')) == false) $responsibleText .= SPDSGVOSettings::get('spdsgvo_company_info_phone');
|
61 |
$privacyPolicy[] = SPDSGVOGetFormatedHtmlTextArray('p', $responsibleText);
|
62 |
// </editor-fold>
|
370 |
|
371 |
// <editor-fold desc="Analyse">
|
372 |
$integrations = SPDSGVOIntegrationApiBase::getAllIntegrationApis(SPDSGVOConstants::CATEGORY_SLUG_STATISTICS, FALSE);
|
373 |
+
|
374 |
+
// add techn. required too (wp stats, matomo, piwik) because the have another catin the filter
|
375 |
+
if (SPDSGVOMatomoApi::getInstance()->getIsEnabled()) $integrations[SPDSGVOMatomoApi::getInstance()->getSlug()] =SPDSGVOMatomoApi::getInstance();
|
376 |
+
if (SPDSGVOWpStatisticsApi::getInstance()->getIsEnabled()) $integrations[SPDSGVOWpStatisticsApi::getInstance()->getSlug()] = SPDSGVOWpStatisticsApi::getInstance();
|
377 |
+
if (SPDSGVOPiwikApi::getInstance()->getIsEnabled()) $integrations[SPDSGVOPiwikApi::getInstance()->getSlug()] = SPDSGVOPiwikApi::getInstance();
|
378 |
+
|
379 |
$enabledIntegrationCount = 0;
|
380 |
$integrationTexts = null;
|
381 |
foreach ($integrations as $integrationSlug => $integration)
|
public/shortcodes/subject-access-request/subject-access-request.php
CHANGED
@@ -18,7 +18,7 @@ function SPDSGVODownloadMyDataShortcode($atts){
|
|
18 |
<p class="sp-dsgvo sar-success-message"><?php _e('Your request has been created','shapepress-dsgvo')?> <br> <?php _e('You will receive an email from us with a current extract of your data stored with us.','shapepress-dsgvo')?></p>
|
19 |
|
20 |
<?php else: ?>
|
21 |
-
<div class="sp-dsgvo">
|
22 |
<form method="post" action="<?= SPDSGVOSubjectAccessRequestAction::url() ?>" class="sp-dsgvo-framework">
|
23 |
<?php wp_nonce_field( SPDSGVOSubjectAccessRequestAction::getActionName(). '-nonce' ); ?>
|
24 |
<fieldset>
|
18 |
<p class="sp-dsgvo sar-success-message"><?php _e('Your request has been created','shapepress-dsgvo')?> <br> <?php _e('You will receive an email from us with a current extract of your data stored with us.','shapepress-dsgvo')?></p>
|
19 |
|
20 |
<?php else: ?>
|
21 |
+
<div class="sp-dsgvo sp-sar-form">
|
22 |
<form method="post" action="<?= SPDSGVOSubjectAccessRequestAction::url() ?>" class="sp-dsgvo-framework">
|
23 |
<?php wp_nonce_field( SPDSGVOSubjectAccessRequestAction::getActionName(). '-nonce' ); ?>
|
24 |
<fieldset>
|
public/shortcodes/super-unsubscribe/unsubscribe-form.php
CHANGED
@@ -23,7 +23,7 @@ function SPDSGVOUnsubscribeShortcode($atts){
|
|
23 |
<p class="sp-dsgvo us-success-message"><?php _e('Request successfully completed. Your data has been completely deleted.','shapepress-dsgvo')?></p>
|
24 |
|
25 |
<?php else: ?>
|
26 |
-
<div class="sp-dsgvo">
|
27 |
<form method="post" action="<?= SPDSGVOSuperUnsubscribeFormAction::url() ?>" >
|
28 |
<?php wp_nonce_field( SPDSGVOSuperUnsubscribeFormAction::getActionName(). '-nonce' ); ?>
|
29 |
<fieldset>
|
23 |
<p class="sp-dsgvo us-success-message"><?php _e('Request successfully completed. Your data has been completely deleted.','shapepress-dsgvo')?></p>
|
24 |
|
25 |
<?php else: ?>
|
26 |
+
<div class="sp-dsgvo sp-unsubsribe-form">
|
27 |
<form method="post" action="<?= SPDSGVOSuperUnsubscribeFormAction::url() ?>" >
|
28 |
<?php wp_nonce_field( SPDSGVOSuperUnsubscribeFormAction::getActionName(). '-nonce' ); ?>
|
29 |
<fieldset>
|
sp-dsgvo.php
CHANGED
@@ -16,7 +16,7 @@
|
|
16 |
* Plugin Name: WP DSGVO Tools (GDPR)
|
17 |
* Plugin URI: https://legalweb.io
|
18 |
* Description: WP DSGVO Tools (GDPR) help you to fulfill the GDPR (DGSVO) compliance guidance (<a target="_blank" href="https://ico.org.uk/for-organisations/data-protection-reform/overview-of-the-gdpr/">GDPR</a>)
|
19 |
-
* Version: 3.1.
|
20 |
* Author: legalweb
|
21 |
* Author URI: https://www.legalweb.io
|
22 |
* License URI: http://www.gnu.org/licenses/gpl-2.0.txt
|
@@ -28,7 +28,7 @@ if (! defined('WPINC')) {
|
|
28 |
die();
|
29 |
}
|
30 |
|
31 |
-
define('sp_dsgvo_VERSION', '3.1.
|
32 |
define('sp_dsgvo_NAME', 'sp-dsgvo');
|
33 |
define('sp_dsgvo_PLUGIN_NAME', 'shapepress-dsgvo');
|
34 |
define('sp_dsgvo_LEGAL_TEXTS_MIN_VERSION', '1579021814');
|
16 |
* Plugin Name: WP DSGVO Tools (GDPR)
|
17 |
* Plugin URI: https://legalweb.io
|
18 |
* Description: WP DSGVO Tools (GDPR) help you to fulfill the GDPR (DGSVO) compliance guidance (<a target="_blank" href="https://ico.org.uk/for-organisations/data-protection-reform/overview-of-the-gdpr/">GDPR</a>)
|
19 |
+
* Version: 3.1.7
|
20 |
* Author: legalweb
|
21 |
* Author URI: https://www.legalweb.io
|
22 |
* License URI: http://www.gnu.org/licenses/gpl-2.0.txt
|
28 |
die();
|
29 |
}
|
30 |
|
31 |
+
define('sp_dsgvo_VERSION', '3.1.7');
|
32 |
define('sp_dsgvo_NAME', 'sp-dsgvo');
|
33 |
define('sp_dsgvo_PLUGIN_NAME', 'shapepress-dsgvo');
|
34 |
define('sp_dsgvo_LEGAL_TEXTS_MIN_VERSION', '1579021814');
|