Version Description
- added mautic
- fixed bug with forcing cookie popup
- translation updates
- fixed path of roboto font
Download this release
Release Info
Developer | legalweb |
Plugin | WP DSGVO Tools |
Version | 3.1.21 |
Comparing to | |
See all releases |
Code changes from version 3.1.20 to 3.1.21
- README.txt +10 -3
- includes/class-sp-dsgvo-language-tools.php +7 -1
- includes/class-sp-dsgvo.php +2 -0
- includes/integrations/statistics/mautic/class-sp-dsgvo-mautic-api.php +88 -0
- includes/integrations/statistics/mautic/class-sp-dsgvo-mautic-integration.php +51 -0
- includes/integrations/statistics/mautic/page.php +110 -0
- languages/shapepress-dsgvo-de_DE.mo +0 -0
- languages/shapepress-dsgvo-de_DE.po +3 -3
- public/actions/legal-web-text-action.php +5 -2
- public/class-sp-dsgvo-public.php +13 -10
- public/js/sp-dsgvo-public.js +15 -1
- public/shortcodes/privacy-policy.php +2 -1
- sp-dsgvo.php +2 -2
README.txt
CHANGED
@@ -3,8 +3,8 @@ Contributors: legalweb
|
|
3 |
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.
|
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
|
@@ -117,7 +117,7 @@ freely configurable provider
|
|
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**
|
@@ -203,6 +203,13 @@ Just install via wordpress plugin feature or upload zip and activate it.
|
|
203 |
|
204 |
|
205 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
206 |
= 3.1.20 =
|
207 |
* translation updates
|
208 |
|
3 |
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.8.2
|
7 |
+
Stable tag: 3.1.21
|
8 |
Requires PHP: 5.6.0
|
9 |
License: GPLv2 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
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, Mautic
|
121 |
* (from cloud version: freely configurable statstics)
|
122 |
|
123 |
#### **Targeting / advertising**
|
203 |
|
204 |
|
205 |
== Changelog ==
|
206 |
+
|
207 |
+
= 3.1.21 =
|
208 |
+
* added mautic
|
209 |
+
* fixed bug with forcing cookie popup
|
210 |
+
* translation updates
|
211 |
+
* fixed path of roboto font
|
212 |
+
|
213 |
= 3.1.20 =
|
214 |
* translation updates
|
215 |
|
includes/class-sp-dsgvo-language-tools.php
CHANGED
@@ -179,7 +179,13 @@ class SPDSGVOLanguageTools
|
|
179 |
$xmlTextsJson = json_decode($resultCleaned, true);
|
180 |
|
181 |
if ($xmlTextsJson != null) {
|
182 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
183 |
$version = $xmlTextsJson['Version'];
|
184 |
$lang = $xmlTextsJson['Language'];
|
185 |
if ($version == null || $version == '') $version = time();
|
179 |
$xmlTextsJson = json_decode($resultCleaned, true);
|
180 |
|
181 |
if ($xmlTextsJson != null) {
|
182 |
+
|
183 |
+
$xmlTextsBase64 = $xmlTextsJson['Texts'];
|
184 |
+
if (strtoupper($lang) == 'CH') { // ch does not use an ß
|
185 |
+
$xmlTextsBase64 = str_replace("ß", "ss",$xmlTextsBase64);
|
186 |
+
$xmlTextsBase64 = str_replace("ß", "ss",$xmlTextsBase64);
|
187 |
+
}
|
188 |
+
$xmlTextsBase64 = base64_encode($xmlTextsBase64);
|
189 |
$version = $xmlTextsJson['Version'];
|
190 |
$lang = $xmlTextsJson['Language'];
|
191 |
if ($version == null || $version == '') $version = time();
|
includes/class-sp-dsgvo.php
CHANGED
@@ -207,6 +207,8 @@ class SPDSGVO
|
|
207 |
SPDSGVO::pluginDir('includes/integrations/statistics/etracker/class-sp-dsgvo-etracker-integration.php'),
|
208 |
SPDSGVO::pluginDir('includes/integrations/statistics/hotjar/class-sp-dsgvo-hotjar-api.php'),
|
209 |
SPDSGVO::pluginDir('includes/integrations/statistics/hotjar/class-sp-dsgvo-hotjar-integration.php'),
|
|
|
|
|
210 |
|
211 |
// targeting
|
212 |
SPDSGVO::pluginDir('includes/integrations/targeting/fbpixel/class-sp-dsgvo-fb-pixel-api.php'),
|
207 |
SPDSGVO::pluginDir('includes/integrations/statistics/etracker/class-sp-dsgvo-etracker-integration.php'),
|
208 |
SPDSGVO::pluginDir('includes/integrations/statistics/hotjar/class-sp-dsgvo-hotjar-api.php'),
|
209 |
SPDSGVO::pluginDir('includes/integrations/statistics/hotjar/class-sp-dsgvo-hotjar-integration.php'),
|
210 |
+
SPDSGVO::pluginDir('includes/integrations/statistics/mautic/class-sp-dsgvo-mautic-api.php'),
|
211 |
+
SPDSGVO::pluginDir('includes/integrations/statistics/mautic/class-sp-dsgvo-mautic-integration.php'),
|
212 |
|
213 |
// targeting
|
214 |
SPDSGVO::pluginDir('includes/integrations/targeting/fbpixel/class-sp-dsgvo-fb-pixel-api.php'),
|
includes/integrations/statistics/mautic/class-sp-dsgvo-mautic-api.php
ADDED
@@ -0,0 +1,88 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class SPDSGVOMauticApi extends SPDSGVOIntegrationApiBase
|
4 |
+
{
|
5 |
+
|
6 |
+
protected function __construct()
|
7 |
+
{
|
8 |
+
$this->name = "Mautic";
|
9 |
+
$this->company = "Acquia Inc";
|
10 |
+
$this->country = "USA";
|
11 |
+
$this->slug = 'mautic';
|
12 |
+
$this->storageId = 'mautic';
|
13 |
+
$this->cookieCategory = SPDSGVOConstants::CATEGORY_SLUG_STATISTICS;
|
14 |
+
$this->cookieNames = 'mautic_*;mtc_*'; // mehrer cookie pattern spezifizeiren
|
15 |
+
$this->insertLocation = 'body';
|
16 |
+
$this->optionTechMandatory = true;
|
17 |
+
$this->supportsMultipleImplementationModes = true;
|
18 |
+
$this->implementationModes = ['on-premises', 'by-agency'];
|
19 |
+
}
|
20 |
+
|
21 |
+
public function getDefaultJsCode($propertyId)
|
22 |
+
{
|
23 |
+
|
24 |
+
return "<!-- $this->name -->
|
25 |
+
<script type='text/javascript'>
|
26 |
+
(function(w,d,t,u,n,a,m){w['MauticTrackingObject']=n;
|
27 |
+
w[n]=w[n]||function(){(w[n].q=w[n].q||[]).push(arguments)},a=d.createElement(t),
|
28 |
+
m=d.getElementsByTagName(t)[0];a.async=1;a.src=u;m.parentNode.insertBefore(a,m)
|
29 |
+
})(window,document,'script','http(s)://yourmautic.com/mtc.js','mt');
|
30 |
+
|
31 |
+
mt('send', 'pageview');
|
32 |
+
</script>
|
33 |
+
<!-- End $this->name -->";
|
34 |
+
}
|
35 |
+
|
36 |
+
|
37 |
+
public function getIfOptInNeeded()
|
38 |
+
{
|
39 |
+
$settings = $this->getSettings();
|
40 |
+
|
41 |
+
if ($this->optionTechMandatory == true && $settings['showAsTechMandatory'] == 1) return false;
|
42 |
+
return $settings['implementationMode'] != 'on-premises';
|
43 |
+
}
|
44 |
+
|
45 |
+
public function getShowInPopup()
|
46 |
+
{
|
47 |
+
$settings = $this->getSettings();
|
48 |
+
|
49 |
+
if (SPDSGVOSettings::get('force_cookie_info') == '1') return true;
|
50 |
+
return $settings['implementationMode'] != 'on-premises';
|
51 |
+
}
|
52 |
+
|
53 |
+
|
54 |
+
public function getDefaultSettings($ownCodeEnabledByDefault = false)
|
55 |
+
{
|
56 |
+
$defaults = parent::getDefaultSettings($ownCodeEnabledByDefault);
|
57 |
+
|
58 |
+
$defaults['implementationMode'] = 'on-premises';
|
59 |
+
|
60 |
+
return $defaults;
|
61 |
+
}
|
62 |
+
|
63 |
+
public function getSettings()
|
64 |
+
{
|
65 |
+
$settings = parent::getSettings();
|
66 |
+
$settings['useOwnCode'] = '1';
|
67 |
+
|
68 |
+
if (array_key_exists('agency', $settings['meta']) == false)
|
69 |
+
{
|
70 |
+
$settings['meta']['agency'] = '';
|
71 |
+
}
|
72 |
+
|
73 |
+
// fallback for cloud mode
|
74 |
+
$hasImplementationModeKey = array_key_exists('implementationMode', $settings);
|
75 |
+
if (array_key_exists('cloudMode', $settings)
|
76 |
+
&& $hasImplementationModeKey == false && !empty($settings['implementationMode']))
|
77 |
+
{
|
78 |
+
$settings['implementationMode'] = $settings['cloudMode'] == '1' ? 'cloud' : 'on-premises';
|
79 |
+
}
|
80 |
+
|
81 |
+
return $settings;
|
82 |
+
}
|
83 |
+
}
|
84 |
+
|
85 |
+
SPDSGVOMauticApi::getInstance()->register();
|
86 |
+
|
87 |
+
add_filter('sp_dsgvo_integrations_head', [SPDSGVOMauticApi::getInstance(),'processHeadAction']);
|
88 |
+
add_filter('sp_dsgvo_integrations_body_end',[SPDSGVOMauticApi::getInstance(), 'processBodyEndAction']);
|
includes/integrations/statistics/mautic/class-sp-dsgvo-mautic-integration.php
ADDED
@@ -0,0 +1,51 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class SPDSGVOMauticIntegration extends SPDSGVOIntegration{
|
4 |
+
|
5 |
+
public function __construct()
|
6 |
+
{
|
7 |
+
$this->boot();
|
8 |
+
}
|
9 |
+
|
10 |
+
public function boot(){
|
11 |
+
$this->isHidden = FALSE;
|
12 |
+
$this->integrationCategory = SPDSGVOMauticApi::getInstance()->getCategory();
|
13 |
+
$this->slug = SPDSGVOMauticApi::getInstance()->getSlug();
|
14 |
+
$this->title = SPDSGVOMauticApi::getInstance()->getName();
|
15 |
+
$this->isPremium = SPDSGVOMauticApi::getInstance()->getIsPremium();
|
16 |
+
$this->apiInstance = SPDSGVOMauticApi::getInstance();
|
17 |
+
}
|
18 |
+
|
19 |
+
public function view(){
|
20 |
+
if (file_exists(dirname(__FILE__) .'/page.php')) {
|
21 |
+
include dirname(__FILE__) . '/page.php';
|
22 |
+
}
|
23 |
+
}
|
24 |
+
|
25 |
+
public function viewSubmit(){
|
26 |
+
|
27 |
+
$settings = SPDSGVOMauticApi::getInstance()->getSettings();
|
28 |
+
|
29 |
+
$settings['enabled'] = $this->get( $this->slug.'_enable', '0');
|
30 |
+
$settings['propertyId'] = $this->get($this->slug.'_tag_number', '');
|
31 |
+
$settings['implementationMode'] = $this->get( $this->slug.'_implementationMode', '');
|
32 |
+
$settings['meta']['agency'] = $this->get( $this->slug.'_meta_agency', '');
|
33 |
+
$settings['showAsTechMandatory'] = $this->get( $this->slug.'_showAsTechMandatory', '0');
|
34 |
+
$settings['useOwnCode'] = '1';//$this->get($this->slug.'_own_code', '1');
|
35 |
+
//$settings['usedTagmanager'] = $this->get( $this->slug.'_usedTagmanager', '');
|
36 |
+
if ($settings['useOwnCode'] == '1')
|
37 |
+
{
|
38 |
+
$settings['jsCode'] = $this->get($this->slug.'_code', SPDSGVOMauticApi::getInstance()->getDefaultJsCode($settings['propertyId']));
|
39 |
+
} else
|
40 |
+
{
|
41 |
+
$settings['jsCode'] = $this->get(SPDSGVOMauticApi::getInstance()->getDefaultJsCode($settings['propertyId']));
|
42 |
+
}
|
43 |
+
|
44 |
+
SPDSGVOMauticApi::getInstance()->setSettings($settings);
|
45 |
+
|
46 |
+
$this->redirectBack();
|
47 |
+
}
|
48 |
+
|
49 |
+
}
|
50 |
+
|
51 |
+
SPDSGVOMauticIntegration::register();
|
includes/integrations/statistics/mautic/page.php
ADDED
@@ -0,0 +1,110 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
<?php
|
3 |
+
$isPremium = isValidPremiumEdition();
|
4 |
+
$isBlog = isValidBlogEdition();
|
5 |
+
$hasValidLicense = isValidPremiumEdition() || isValidBlogEdition();
|
6 |
+
$settings = SPDSGVOMauticApi::getInstance()->getSettings();
|
7 |
+
$apiInstance = SPDSGVOMauticApi::getInstance();
|
8 |
+
?>
|
9 |
+
|
10 |
+
<div class="card">
|
11 |
+
<div class="card-header">
|
12 |
+
<h4 class="card-title"><?= $apiInstance->getName(); ?></h4>
|
13 |
+
</div>
|
14 |
+
<div class="card-body integration-container">
|
15 |
+
|
16 |
+
|
17 |
+
<form method="post" action="<?= SPDSGVOMauticIntegration::formURL() ?>">
|
18 |
+
<input type="hidden" name="action" value="<?= SPDSGVOMauticIntegration::action() ?>">
|
19 |
+
<?php wp_nonce_field(SPDSGVOMauticIntegration::action() . '-nonce'); ?>
|
20 |
+
|
21 |
+
<?php
|
22 |
+
spDsgvoWriteInput('switch', '', $apiInstance->getSlug().'_enable', $settings['enabled'],
|
23 |
+
sprintf(__('Use %s', 'shapepress-dsgvo'), $apiInstance->getName()),
|
24 |
+
'',
|
25 |
+
sprintf(__("Enabling inserts the js code of %s.",'shapepress-dsgvo'), $apiInstance->getName()));
|
26 |
+
?>
|
27 |
+
|
28 |
+
|
29 |
+
<?php
|
30 |
+
|
31 |
+
if ($apiInstance->getSupportsMultipleImplementationModes())
|
32 |
+
{
|
33 |
+
spDsgvoWriteSelect($apiInstance->getImplementationModes(), '', $apiInstance->getSlug() . '_implementationMode', $settings['implementationMode'],
|
34 |
+
__('Way of integration', 'shapepress-dsgvo'),
|
35 |
+
'',
|
36 |
+
sprintf(__('Defines the way how you integrate %s or rather host %s .', 'shapepress-dsgvo'), $apiInstance->getName(), $apiInstance->getName()),
|
37 |
+
true, 'implementation-mode');
|
38 |
+
|
39 |
+
|
40 |
+
spDsgvoWriteInput('text', '', $apiInstance->getSlug() .'_meta_agency', $settings['meta']['agency'],
|
41 |
+
__('Agency address', 'shapepress-dsgvo'),
|
42 |
+
__('Company, Address, Zip, Location, Country', 'shapepress-dsgvo'),
|
43 |
+
__('Because you set the way of integration to "agency", you need to specifiy the full address of this agency in the text field above. This information is needed in the privacy policy.','shapepress-dsgvo'),
|
44 |
+
true, 'meta-agency ' , '1', true, ($settings['implementationMode'] == 'by-agency'));
|
45 |
+
}
|
46 |
+
?>
|
47 |
+
|
48 |
+
<?php
|
49 |
+
|
50 |
+
if ($apiInstance->getIsTechMandatoryOptionEnabled())
|
51 |
+
{
|
52 |
+
spDsgvoWriteInput('switch', '', $apiInstance->getSlug().'_showAsTechMandatory', $settings['showAsTechMandatory'],
|
53 |
+
__('Show in category "technically necessary" in popup', 'shapepress-dsgvo'),
|
54 |
+
'',
|
55 |
+
sprintf(__("Enable if you have configured %s not to collect private data (according to it's documentation). If yes you does not need an opt-in by your visitors and %s will be enabled by default.",'shapepress-dsgvo'), $apiInstance->getName(), $apiInstance->getName()));
|
56 |
+
}
|
57 |
+
|
58 |
+
?>
|
59 |
+
|
60 |
+
<?php
|
61 |
+
/* if ($apiInstance->getIsTagManagerCompatible()) {
|
62 |
+
|
63 |
+
spDsgvoWriteSelect($apiInstance->getCompatibleTagManager(), '', $apiInstance->getSlug() . '_usedTagmanager', $settings['usedTagmanager'],
|
64 |
+
sprintf(__('Use Tagmanager', 'shapepress-dsgvo'), $apiInstance->getName()),
|
65 |
+
__('No', 'shapepress-dsgvo'),
|
66 |
+
__('If enabled, enable own tracking code and insert the custom event code there. In this code you should fire a custom trigger event surrounded by script tags. The event will be fired after a visitor opts in. For more information visit the documentation of your used tag manager.', 'shapepress-dsgvo'));
|
67 |
+
}
|
68 |
+
*/ ?>
|
69 |
+
|
70 |
+
<?php
|
71 |
+
/*
|
72 |
+
spDsgvoWriteInput('text', '', $apiInstance->getSlug().'_tag_number', $settings['propertyId'],
|
73 |
+
__('GTAG number', 'shapepress-dsgvo'),
|
74 |
+
'XX-XXXXXX-X',
|
75 |
+
'');
|
76 |
+
*/
|
77 |
+
?>
|
78 |
+
|
79 |
+
|
80 |
+
<?php
|
81 |
+
/*
|
82 |
+
spDsgvoWriteInput('switch', '', $apiInstance->getSlug().'_own_code', $settings['useOwnCode'],
|
83 |
+
__('Use own tracking code', 'shapepress-dsgvo'),
|
84 |
+
'',
|
85 |
+
__('You can customize the tracking code by yourself. Wrong codes results in invalid or no functionality.','shapepress-dsgvo'), true,'own-code-toggle');
|
86 |
+
*/
|
87 |
+
?>
|
88 |
+
|
89 |
+
|
90 |
+
<?php
|
91 |
+
|
92 |
+
$jsCode = $settings['jsCode'];
|
93 |
+
if ($jsCode == '') {
|
94 |
+
$jsCode = $apiInstance->getDefaultJsCode($settings['propertyId']);
|
95 |
+
}
|
96 |
+
|
97 |
+
spDsgvoWriteInput('textarea', '', $apiInstance->getSlug().'_code',
|
98 |
+
$jsCode,
|
99 |
+
$apiInstance->getName() .' '.__('code', 'shapepress-dsgvo'),
|
100 |
+
'',
|
101 |
+
__('If left blank, the standard script will be used.', 'shapepress-dsgvo'), true, 'own-code-text', '1', $settings['useOwnCode'] == '1');
|
102 |
+
?>
|
103 |
+
|
104 |
+
|
105 |
+
<div class="form-group">
|
106 |
+
<input type="submit" class="btn btn-primary btn-block" value="<?= _e('Save changes', 'shapepress-dsgvo');?>">
|
107 |
+
</div>
|
108 |
+
</form>
|
109 |
+
</div>
|
110 |
+
</div>
|
languages/shapepress-dsgvo-de_DE.mo
CHANGED
Binary file
|
languages/shapepress-dsgvo-de_DE.po
CHANGED
@@ -2,14 +2,14 @@ msgid ""
|
|
2 |
msgstr ""
|
3 |
"Project-Id-Version: \n"
|
4 |
"POT-Creation-Date: 2021-03-11 11:04+0100\n"
|
5 |
-
"PO-Revision-Date: 2021-
|
6 |
"Last-Translator: \n"
|
7 |
"Language-Team: \n"
|
8 |
"Language: de_DE\n"
|
9 |
"MIME-Version: 1.0\n"
|
10 |
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
"Content-Transfer-Encoding: 8bit\n"
|
12 |
-
"X-Generator: Poedit
|
13 |
"X-Poedit-Basepath: ..\n"
|
14 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
15 |
"X-Poedit-KeywordsList: __;_e\n"
|
@@ -1585,7 +1585,7 @@ msgstr "USt. Id:"
|
|
1585 |
|
1586 |
#: admin/tabs/v3/operator/page.php:266 public/shortcodes/imprint.php:125
|
1587 |
msgid "Responsible for content"
|
1588 |
-
msgstr "Verantwortlich für Inhalt"
|
1589 |
|
1590 |
#: admin/tabs/v3/operator/page.php:268
|
1591 |
msgid "The person who is responsible for the content of this website."
|
2 |
msgstr ""
|
3 |
"Project-Id-Version: \n"
|
4 |
"POT-Creation-Date: 2021-03-11 11:04+0100\n"
|
5 |
+
"PO-Revision-Date: 2021-06-23 14:09+0200\n"
|
6 |
"Last-Translator: \n"
|
7 |
"Language-Team: \n"
|
8 |
"Language: de_DE\n"
|
9 |
"MIME-Version: 1.0\n"
|
10 |
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
"Content-Transfer-Encoding: 8bit\n"
|
12 |
+
"X-Generator: Poedit 3.0\n"
|
13 |
"X-Poedit-Basepath: ..\n"
|
14 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
15 |
"X-Poedit-KeywordsList: __;_e\n"
|
1585 |
|
1586 |
#: admin/tabs/v3/operator/page.php:266 public/shortcodes/imprint.php:125
|
1587 |
msgid "Responsible for content"
|
1588 |
+
msgstr "Verantwortlich für den Inhalt"
|
1589 |
|
1590 |
#: admin/tabs/v3/operator/page.php:268
|
1591 |
msgid "The person who is responsible for the content of this website."
|
public/actions/legal-web-text-action.php
CHANGED
@@ -30,8 +30,8 @@ Class SPDSGVOLegalWebTextAction extends SPDSGVOAjaxAction{
|
|
30 |
die;
|
31 |
}
|
32 |
|
33 |
-
//special case for matomo
|
34 |
-
$specialIntegrations = array('matomo', 'piwik');
|
35 |
$webAgencyText = "";
|
36 |
if (in_array($slug, $specialIntegrations)) {
|
37 |
|
@@ -43,6 +43,9 @@ Class SPDSGVOLegalWebTextAction extends SPDSGVOAjaxAction{
|
|
43 |
case SPDSGVOPiwikApi::getInstance()->getSlug():
|
44 |
$settings = SPDSGVOPiwikApi::getInstance()->getSettings();
|
45 |
break;
|
|
|
|
|
|
|
46 |
}
|
47 |
|
48 |
$slug .= '-';
|
30 |
die;
|
31 |
}
|
32 |
|
33 |
+
//special case for matomo, piwik, mautic. only in cloud mode they are in popup, so attach -cloud to get correct popup text
|
34 |
+
$specialIntegrations = array('matomo', 'piwik', 'mautic');
|
35 |
$webAgencyText = "";
|
36 |
if (in_array($slug, $specialIntegrations)) {
|
37 |
|
43 |
case SPDSGVOPiwikApi::getInstance()->getSlug():
|
44 |
$settings = SPDSGVOPiwikApi::getInstance()->getSettings();
|
45 |
break;
|
46 |
+
case SPDSGVOMauticApi::getInstance()->getSlug():
|
47 |
+
$settings = SPDSGVOMauticApi::getInstance()->getSettings();
|
48 |
+
break;
|
49 |
}
|
50 |
|
51 |
$slug .= '-';
|
public/class-sp-dsgvo-public.php
CHANGED
@@ -923,7 +923,7 @@ class SPDSGVOPublic
|
|
923 |
font-weight: 300;
|
924 |
src: local('Roboto Light Italic'),
|
925 |
local('Roboto-LightItalic'),
|
926 |
-
url(fonts/roboto/Roboto-LightItalic-webfont.woff) format('woff');
|
927 |
font-display: swap;
|
928 |
|
929 |
}
|
@@ -935,7 +935,7 @@ class SPDSGVOPublic
|
|
935 |
font-weight: 400;
|
936 |
src: local('Roboto Italic'),
|
937 |
local('Roboto-Italic'),
|
938 |
-
url(fonts/roboto/Roboto-Italic-webfont.woff) format('woff');
|
939 |
font-display: swap;
|
940 |
}
|
941 |
|
@@ -946,7 +946,7 @@ class SPDSGVOPublic
|
|
946 |
font-weight: 700;
|
947 |
src: local('Roboto Bold Italic'),
|
948 |
local('Roboto-BoldItalic'),
|
949 |
-
url(fonts/roboto/Roboto-BoldItalic-webfont.woff) format('woff');
|
950 |
font-display: swap;
|
951 |
}
|
952 |
|
@@ -957,7 +957,7 @@ class SPDSGVOPublic
|
|
957 |
font-weight: 900;
|
958 |
src: local('Roboto Black Italic'),
|
959 |
local('Roboto-BlackItalic'),
|
960 |
-
url(fonts/roboto/Roboto-BlackItalic-webfont.woff) format('woff');
|
961 |
font-display: swap;
|
962 |
}
|
963 |
|
@@ -968,7 +968,7 @@ class SPDSGVOPublic
|
|
968 |
font-weight: 300;
|
969 |
src: local('Roboto Light'),
|
970 |
local('Roboto-Light'),
|
971 |
-
url(fonts/roboto/Roboto-Light-webfont.woff) format('woff');
|
972 |
font-display: swap;
|
973 |
}
|
974 |
|
@@ -979,7 +979,7 @@ class SPDSGVOPublic
|
|
979 |
font-weight: 400;
|
980 |
src: local('Roboto Regular'),
|
981 |
local('Roboto-Regular'),
|
982 |
-
url(fonts/roboto/Roboto-Regular-webfont.woff) format('woff');
|
983 |
font-display: swap;
|
984 |
}
|
985 |
|
@@ -990,7 +990,7 @@ class SPDSGVOPublic
|
|
990 |
font-weight: 700;
|
991 |
src: local('Roboto Bold'),
|
992 |
local('Roboto-Bold'),
|
993 |
-
url(fonts/roboto/Roboto-Bold-webfont.woff) format('woff');
|
994 |
font-display: swap;
|
995 |
}
|
996 |
|
@@ -1001,7 +1001,7 @@ class SPDSGVOPublic
|
|
1001 |
font-weight: 900;
|
1002 |
src: local('Roboto Black'),
|
1003 |
local('Roboto-Black'),
|
1004 |
-
url(fonts/roboto/Roboto-Black-webfont.woff) format('woff');
|
1005 |
font-display: swap;
|
1006 |
}
|
1007 |
</style>
|
@@ -1127,8 +1127,8 @@ class SPDSGVOPublic
|
|
1127 |
return "invalid textId";
|
1128 |
}
|
1129 |
|
1130 |
-
//special case for matomo and
|
1131 |
-
$specialIntegrations = array('matomo', 'piwik');
|
1132 |
$webAgencyText = "";
|
1133 |
if (in_array($slug, $specialIntegrations)) {
|
1134 |
|
@@ -1140,6 +1140,9 @@ class SPDSGVOPublic
|
|
1140 |
case SPDSGVOPiwikApi::getInstance()->getSlug():
|
1141 |
$settings = SPDSGVOPiwikApi::getInstance()->getSettings();
|
1142 |
break;
|
|
|
|
|
|
|
1143 |
}
|
1144 |
|
1145 |
$slug .= '-';
|
923 |
font-weight: 300;
|
924 |
src: local('Roboto Light Italic'),
|
925 |
local('Roboto-LightItalic'),
|
926 |
+
url(/wp-content/plugins/shapepress-dsgvo/public/css/fonts/roboto/Roboto-LightItalic-webfont.woff) format('woff');
|
927 |
font-display: swap;
|
928 |
|
929 |
}
|
935 |
font-weight: 400;
|
936 |
src: local('Roboto Italic'),
|
937 |
local('Roboto-Italic'),
|
938 |
+
url(/wp-content/plugins/shapepress-dsgvo/public/css/fonts/roboto/Roboto-Italic-webfont.woff) format('woff');
|
939 |
font-display: swap;
|
940 |
}
|
941 |
|
946 |
font-weight: 700;
|
947 |
src: local('Roboto Bold Italic'),
|
948 |
local('Roboto-BoldItalic'),
|
949 |
+
url(/wp-content/plugins/shapepress-dsgvo/public/css/fonts/roboto/Roboto-BoldItalic-webfont.woff) format('woff');
|
950 |
font-display: swap;
|
951 |
}
|
952 |
|
957 |
font-weight: 900;
|
958 |
src: local('Roboto Black Italic'),
|
959 |
local('Roboto-BlackItalic'),
|
960 |
+
url(/wp-content/plugins/shapepress-dsgvo/public/css/fonts/roboto/Roboto-BlackItalic-webfont.woff) format('woff');
|
961 |
font-display: swap;
|
962 |
}
|
963 |
|
968 |
font-weight: 300;
|
969 |
src: local('Roboto Light'),
|
970 |
local('Roboto-Light'),
|
971 |
+
url(/wp-content/plugins/shapepress-dsgvo/public/css/fonts/roboto/Roboto-Light-webfont.woff) format('woff');
|
972 |
font-display: swap;
|
973 |
}
|
974 |
|
979 |
font-weight: 400;
|
980 |
src: local('Roboto Regular'),
|
981 |
local('Roboto-Regular'),
|
982 |
+
url(/wp-content/plugins/shapepress-dsgvo/public/css/fonts/roboto/Roboto-Regular-webfont.woff) format('woff');
|
983 |
font-display: swap;
|
984 |
}
|
985 |
|
990 |
font-weight: 700;
|
991 |
src: local('Roboto Bold'),
|
992 |
local('Roboto-Bold'),
|
993 |
+
url(/wp-content/plugins/shapepress-dsgvo/public/css/fonts/roboto/Roboto-Bold-webfont.woff) format('woff');
|
994 |
font-display: swap;
|
995 |
}
|
996 |
|
1001 |
font-weight: 900;
|
1002 |
src: local('Roboto Black'),
|
1003 |
local('Roboto-Black'),
|
1004 |
+
url(/wp-content/plugins/shapepress-dsgvo/public/css/fonts/roboto/Roboto-Black-webfont.woff) format('woff');
|
1005 |
font-display: swap;
|
1006 |
}
|
1007 |
</style>
|
1127 |
return "invalid textId";
|
1128 |
}
|
1129 |
|
1130 |
+
//special case for matomo, piwik and mautic. only in cloud mode they are in popup, so attach -cloud to get correct popup text
|
1131 |
+
$specialIntegrations = array('matomo', 'piwik', 'mautic');
|
1132 |
$webAgencyText = "";
|
1133 |
if (in_array($slug, $specialIntegrations)) {
|
1134 |
|
1140 |
case SPDSGVOPiwikApi::getInstance()->getSlug():
|
1141 |
$settings = SPDSGVOPiwikApi::getInstance()->getSettings();
|
1142 |
break;
|
1143 |
+
case SPDSGVOMauticApi::getInstance()->getSlug():
|
1144 |
+
$settings = SPDSGVOMauticApi::getInstance()->getSettings();
|
1145 |
+
break;
|
1146 |
}
|
1147 |
|
1148 |
$slug .= '-';
|
public/js/sp-dsgvo-public.js
CHANGED
@@ -361,7 +361,7 @@ const CATEGORY_SLUG_MANDATORY = 'necessary';
|
|
361 |
{
|
362 |
if (spDsgvoIntegrationConfig == null) return;
|
363 |
|
364 |
-
if (spDsgvoIntegrationConfig.length == 0 && spDsgvoGeneralConfig.forceCookieInfo == 0) return;
|
365 |
|
366 |
if (spDsgvoGeneralConfig.currentPageId == spDsgvoGeneralConfig.privacyPolicyPageId ||
|
367 |
spDsgvoGeneralConfig.currentPageId == spDsgvoGeneralConfig.imprintPageId)
|
@@ -1032,6 +1032,20 @@ const CATEGORY_SLUG_MANDATORY = 'necessary';
|
|
1032 |
return integrationObject;
|
1033 |
}
|
1034 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1035 |
function isIntegrationAllowedByCookieSettings(slug)
|
1036 |
{
|
1037 |
var found = false;
|
361 |
{
|
362 |
if (spDsgvoIntegrationConfig == null) return;
|
363 |
|
364 |
+
if (getNonMandatoryIntegrations(spDsgvoIntegrationConfig).length == 0 && spDsgvoGeneralConfig.forceCookieInfo == 0) return;
|
365 |
|
366 |
if (spDsgvoGeneralConfig.currentPageId == spDsgvoGeneralConfig.privacyPolicyPageId ||
|
367 |
spDsgvoGeneralConfig.currentPageId == spDsgvoGeneralConfig.imprintPageId)
|
1032 |
return integrationObject;
|
1033 |
}
|
1034 |
|
1035 |
+
function getNonMandatoryIntegrations(integrationsArray)
|
1036 |
+
{
|
1037 |
+
var result = [];
|
1038 |
+
integrationsArray.forEach(function(integration) {
|
1039 |
+
|
1040 |
+
if (integration.category != CATEGORY_SLUG_MANDATORY)
|
1041 |
+
{
|
1042 |
+
result.push(integration);
|
1043 |
+
}
|
1044 |
+
});
|
1045 |
+
|
1046 |
+
return result;
|
1047 |
+
}
|
1048 |
+
|
1049 |
function isIntegrationAllowedByCookieSettings(slug)
|
1050 |
{
|
1051 |
var found = false;
|
public/shortcodes/privacy-policy.php
CHANGED
@@ -370,10 +370,11 @@ function SPDSGVOPrivacyPolicyShortcode($atts){
|
|
370 |
// <editor-fold desc="Analyse">
|
371 |
$integrations = SPDSGVOIntegrationApiBase::getAllIntegrationApis(SPDSGVOConstants::CATEGORY_SLUG_STATISTICS, FALSE);
|
372 |
|
373 |
-
// add techn. required too (wp stats, matomo, piwik) because the have another catin the filter
|
374 |
if (SPDSGVOMatomoApi::getInstance()->getIsEnabled()) $integrations[SPDSGVOMatomoApi::getInstance()->getSlug()] =SPDSGVOMatomoApi::getInstance();
|
375 |
if (SPDSGVOWpStatisticsApi::getInstance()->getIsEnabled()) $integrations[SPDSGVOWpStatisticsApi::getInstance()->getSlug()] = SPDSGVOWpStatisticsApi::getInstance();
|
376 |
if (SPDSGVOPiwikApi::getInstance()->getIsEnabled()) $integrations[SPDSGVOPiwikApi::getInstance()->getSlug()] = SPDSGVOPiwikApi::getInstance();
|
|
|
377 |
|
378 |
$enabledIntegrationCount = 0;
|
379 |
$integrationTexts = null;
|
370 |
// <editor-fold desc="Analyse">
|
371 |
$integrations = SPDSGVOIntegrationApiBase::getAllIntegrationApis(SPDSGVOConstants::CATEGORY_SLUG_STATISTICS, FALSE);
|
372 |
|
373 |
+
// add techn. required too (wp stats, matomo, piwik, mautic) because the have another catin the filter
|
374 |
if (SPDSGVOMatomoApi::getInstance()->getIsEnabled()) $integrations[SPDSGVOMatomoApi::getInstance()->getSlug()] =SPDSGVOMatomoApi::getInstance();
|
375 |
if (SPDSGVOWpStatisticsApi::getInstance()->getIsEnabled()) $integrations[SPDSGVOWpStatisticsApi::getInstance()->getSlug()] = SPDSGVOWpStatisticsApi::getInstance();
|
376 |
if (SPDSGVOPiwikApi::getInstance()->getIsEnabled()) $integrations[SPDSGVOPiwikApi::getInstance()->getSlug()] = SPDSGVOPiwikApi::getInstance();
|
377 |
+
if (SPDSGVOMauticApi::getInstance()->getIsEnabled()) $integrations[SPDSGVOMauticApi::getInstance()->getSlug()] = SPDSGVOMauticApi::getInstance();
|
378 |
|
379 |
$enabledIntegrationCount = 0;
|
380 |
$integrationTexts = null;
|
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.21
|
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.21');
|
32 |
define('sp_dsgvo_NAME', 'sp-dsgvo');
|
33 |
define('sp_dsgvo_PLUGIN_NAME', 'shapepress-dsgvo');
|
34 |
define('sp_dsgvo_LEGAL_TEXTS_MIN_VERSION', '1579021814');
|