The GDPR Framework By Data443 - Version 1.0.46

Version Description

(10/26/2021) = * FRAM-242 Add a PREMIUM hyperlink in the admin plugins screen * FRAM-244 Add information about the premium version in the admin settings tabs * FRAM-245 Add more contact information in the admin settings tabs * FRAM-256 Update FileFacets tab

Download this release

Release Info

Developer data443
Plugin Icon 128x128 The GDPR Framework By Data443
Version 1.0.46
Comparing to
See all releases

Code changes from version 1.0.45 to 1.0.46

assets/images/filefacets-logo.png DELETED
Binary file
assets/images/tick.png ADDED
Binary file
gdpr-framework.php CHANGED
@@ -4,7 +4,7 @@
4
  * Plugin Name: The GDPR Framework
5
  * Plugin URI: https://www.data443.com/gdpr-framework/
6
  * Description: Tools to help make your website GDPR-compliant. Fully documented, extendable and developer-friendly.
7
- * Version: 1.0.45
8
  * Author: Data443
9
  * Author URI: https://www.data443.com/
10
  * Text Domain: gdpr-framework
@@ -18,7 +18,7 @@ if (!defined('WPINC'))
18
  die;
19
  }
20
 
21
- define('GDPR_FRAMEWORK_VERSION', '1.0.45');
22
 
23
  add_shortcode( 'gdpr_privacy_safe', 'render_privacy_safe' ); // preserve backward compatibility
24
  add_shortcode( 'data443_privacy_safe', 'render_privacy_safe' );
@@ -179,6 +179,9 @@ function my_profile_update( $user_id, $old_user_data )
179
  }
180
 
181
  register_activation_hook(__FILE__, function () {
 
 
 
182
  $model = new \Codelight\GDPR\Components\Consent\UserConsentModel();
183
  $model->createTable();
184
  $model->createUserTable();
4
  * Plugin Name: The GDPR Framework
5
  * Plugin URI: https://www.data443.com/gdpr-framework/
6
  * Description: Tools to help make your website GDPR-compliant. Fully documented, extendable and developer-friendly.
7
+ * Version: 1.0.46
8
  * Author: Data443
9
  * Author URI: https://www.data443.com/
10
  * Text Domain: gdpr-framework
18
  die;
19
  }
20
 
21
+ define('GDPR_FRAMEWORK_VERSION', '1.0.46');
22
 
23
  add_shortcode( 'gdpr_privacy_safe', 'render_privacy_safe' ); // preserve backward compatibility
24
  add_shortcode( 'data443_privacy_safe', 'render_privacy_safe' );
179
  }
180
 
181
  register_activation_hook(__FILE__, function () {
182
+ if (in_array('gdpr-framework-pro/gdpr-framework.php', apply_filters('active_plugins', get_option('active_plugins')))) {
183
+ die('This plugin could not be activated because the PRO version of this plugin is active.');
184
+ }
185
  $model = new \Codelight\GDPR\Components\Consent\UserConsentModel();
186
  $model->createTable();
187
  $model->createUserTable();
gdpr-helper-functions.php CHANGED
@@ -243,4 +243,23 @@ if($enabled_gdpf_cookie_popup)
243
  popup_gdpr();
244
  }
245
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
246
  }
243
  popup_gdpr();
244
  }
245
  }
246
+ }
247
+
248
+ // Add link to settings page from the Plugin List
249
+ //
250
+
251
+ add_filter('plugin_action_links_gdpr-framework/gdpr-framework.php', 'gdpr_plugin_links');
252
+
253
+ function gdpr_plugin_links($links)
254
+ {
255
+ $url = gdpr('helpers')->getAdminUrl();
256
+ $premium = gdpr('helpers')->premiumStore();
257
+ $settings = array();
258
+ $settings[] = "<a href='$url'>" . __('Settings', 'gdpr-framework' ) . '</a>';
259
+ $settings[] = "<a href='$premium' target='_blank'>" . __('PREMIUM', 'gdpr-framework' ) . '</a>';
260
+ $links = array_merge(
261
+ $settings,
262
+ $links
263
+ );
264
+ return $links;
265
  }
readme.txt CHANGED
@@ -117,6 +117,12 @@ We are also planning to add other important privacy-related features missing fro
117
 
118
  == Change log ==
119
 
 
 
 
 
 
 
120
  = 1.0.45 (9/24/2021) =
121
  * FRAM-219 Fix Fatal Error seen when editing a user profile
122
  * FRAM-208 Update description tab
117
 
118
  == Change log ==
119
 
120
+ = 1.0.46 (10/26/2021) =
121
+ * FRAM-242 Add a PREMIUM hyperlink in the admin plugins screen
122
+ * FRAM-244 Add information about the premium version in the admin settings tabs
123
+ * FRAM-245 Add more contact information in the admin settings tabs
124
+ * FRAM-256 Update FileFacets tab
125
+
126
  = 1.0.45 (9/24/2021) =
127
  * FRAM-219 Fix Fatal Error seen when editing a user profile
128
  * FRAM-208 Update description tab
src/Admin/AdminTab.php CHANGED
@@ -95,8 +95,40 @@ abstract class AdminTab implements AdminTabInterface
95
  */
96
  public function renderContents()
97
  {
 
98
  ob_start();
99
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
100
  do_action("gdpr/tabs/{$this->getSlug()}/before", $this);
101
  settings_fields($this->getOptionsGroupName());
102
  do_settings_sections($this->getOptionsGroupName());
@@ -104,6 +136,54 @@ abstract class AdminTab implements AdminTabInterface
104
 
105
  $this->renderSubmitButton();
106
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
107
  return ob_get_clean();
108
  }
109
 
95
  */
96
  public function renderContents()
97
  {
98
+ $tabs = array("general", "cookie-popup", "consent", "privacy-policy", "do-not-sell", "support");
99
  ob_start();
100
 
101
+ if (in_array($this->slug, $tabs)) {
102
+ ?>
103
+ <style>
104
+ .column {
105
+ float: left;
106
+ }
107
+ .left {
108
+ width: 75%;
109
+ }
110
+
111
+ .right {
112
+ width: 25%;
113
+ }
114
+
115
+ /* Clear floats after the columns */
116
+ .row:after {
117
+ content: "";
118
+ display: table;
119
+ clear: both;
120
+ }
121
+ @media screen and (max-width: 600px) {
122
+ .column {
123
+ width: 100%;
124
+ }
125
+ }
126
+ </style>
127
+ <div class="row">
128
+ <div class="column left">
129
+ <?php
130
+ }
131
+
132
  do_action("gdpr/tabs/{$this->getSlug()}/before", $this);
133
  settings_fields($this->getOptionsGroupName());
134
  do_settings_sections($this->getOptionsGroupName());
136
 
137
  $this->renderSubmitButton();
138
 
139
+ if (in_array($this->slug, $tabs)) {
140
+ ?>
141
+ </div>
142
+ <div class="column right">
143
+ <div style="float:left;max-width:250px;margin:9px;margin-left:20px;margin-top:50px;">
144
+ <b>How to contact us?</b>
145
+ <ul style="list-style:circle;margin-left:20px;">
146
+ <li>
147
+ <a href="<?=gdpr('helpers')->data443()?>" target="_blank">Data443 (homepage)</a>
148
+ </li>
149
+ <li>
150
+ <a href="<?=gdpr('helpers')->supportRequest()?>" target="_blank">Contact Support</a>
151
+ </li>
152
+ <li>
153
+ <a href="https://www.facebook.com/data443/" target="_blank">Like us on Facebook</a>
154
+ </li>
155
+ <li>
156
+ <a href="https://twitter.com/data443risk" target="_blank">Follow us on Twitter</a>
157
+ </li>
158
+ <li>
159
+ <a href="<?=gdpr('helpers')->wordpressReview()?>" target="_blank">Rate us on WordPress</a>
160
+ </li>
161
+ </ul>
162
+ <div style="border: solid 1px black;border-radius: 5px;background: #f2efe6;padding:10px;padding-bottom:30px;">
163
+ <p style="margin-top:0px;">Do you like this plugin?</p>
164
+ <p>With the <b>PREMIUM</b> version you can have other awesome features:</p>
165
+
166
+ <div style="clear:both; margin-top: 2px;"></div>
167
+ <div style="float:left; vertical-align:middle; height:24px; margin-right:5px; margin-top:-5px;">
168
+ <img src="<?=gdpr('config')->get('plugin.url')?>/assets/images/tick.png" />
169
+ </div>
170
+ <div style="float:left; vertical-align:middle; height:24px;">Custom Consent Text</div>
171
+
172
+ <div style="clear:both; margin-top: 2px;"></div>
173
+ <div style="float:left; vertical-align:middle; height:24px; margin-right:5px; margin-top:-5px;">
174
+ <img src="<?=gdpr('config')->get('plugin.url')?>/assets/images/tick.png" />
175
+ </div>
176
+ <div style="float:left; vertical-align:middle; height:24px;">Data Rectification</div>
177
+
178
+ <div style="clear:both;"></div>
179
+ <div style="height:10px;"></div>
180
+ <div style="float:right;"><a href="<?=gdpr('helpers')->premiumStore()?>" target="_blank">Get PREMIUM now >></a></div>
181
+ </div>
182
+ </div>
183
+ </div>
184
+ </div>
185
+ <?php
186
+ }
187
  return ob_get_clean();
188
  }
189
 
src/Components/AdvancedIntegration/AdminTabAdvancedIntegration.php CHANGED
@@ -14,7 +14,7 @@ class AdminTabAdvancedIntegration extends AdminTab
14
 
15
  public function __construct()
16
  {
17
- $this->title = _x('FileFacets', '(Admin)', 'gdpr-framework');
18
 
19
  add_action('gdpr/admin/action/AdvancedIntegration/generate', [$this, 'generateAdvancedIntegration']);
20
  }
@@ -23,7 +23,7 @@ class AdminTabAdvancedIntegration extends AdminTab
23
  {
24
  $this->registerSettingSection(
25
  'gdpr_section_privacy_policy',
26
- _x('FileFacets', '(Admin)', 'gdpr-framework'),
27
  [$this, 'renderHeader']
28
  );
29
  }
14
 
15
  public function __construct()
16
  {
17
+ $this->title = _x('Data Hound', '(Admin)', 'gdpr-framework');
18
 
19
  add_action('gdpr/admin/action/AdvancedIntegration/generate', [$this, 'generateAdvancedIntegration']);
20
  }
23
  {
24
  $this->registerSettingSection(
25
  'gdpr_section_privacy_policy',
26
+ _x('Data Hound', '(Admin)', 'gdpr-framework'),
27
  [$this, 'renderHeader']
28
  );
29
  }
src/Components/PrivacyPolicy/AdminTabPrivacyPolicy.php CHANGED
@@ -374,33 +374,13 @@ class AdminTabPrivacyPolicy extends AdminTab
374
  */
375
  public function renderContents()
376
  {
377
- if (isset($_GET['generate']) && 'yes' == $_GET['generate']) {
378
  return $this->renderPolicy();
379
  } else {
380
- return $this->renderSettings();
381
  }
382
  }
383
 
384
- /**
385
- * Render the contents including settings fields, sections and submit button.
386
- * Trigger hooks for rendering content before and after the settings fields.
387
- *
388
- * @return string
389
- */
390
- public function renderSettings()
391
- {
392
- ob_start();
393
-
394
- do_action("gdpr/tabs/{$this->getSlug()}/before", $this);
395
- $this->settingsFields($this->getOptionsGroupName());
396
- do_settings_sections($this->getOptionsGroupName());
397
- do_action("gdpr/tabs/{$this->getSlug()}/after", $this);
398
-
399
- $this->renderSubmitButton();
400
-
401
- return ob_get_clean();
402
- }
403
-
404
  public function renderPolicy()
405
  {
406
  $policyPageId = gdpr('options')->get('policy_page');
@@ -441,18 +421,4 @@ class AdminTabPrivacyPolicy extends AdminTab
441
  {
442
  submit_button(_x('Save & Generate Policy', '(Admin)', 'gdpr-framework'));
443
  }
444
-
445
- /**
446
- * In order to set up a proper redirect to the generated policy
447
- * after saving settings, we modify the way wp_nonce_field is called and insert our own referer input.
448
- *
449
- * @param $optionGroup
450
- */
451
- public function settingsFields($optionGroup)
452
- {
453
- echo "<input type='hidden' name='option_page' value='" . esc_attr($optionGroup) . "' />";
454
- echo '<input type="hidden" name="action" value="update" />';
455
- wp_nonce_field("$optionGroup-options", '_wpnonce', false);
456
- echo '<input type="hidden" name="_wp_http_referer" value="'. esc_attr( wp_unslash( $_SERVER['REQUEST_URI'] ) . '&generate=yes' ) . '" />';
457
- }
458
  }
374
  */
375
  public function renderContents()
376
  {
377
+ if (isset($_GET['settings-updated']) && 'true' == $_GET['settings-updated']) {
378
  return $this->renderPolicy();
379
  } else {
380
+ return parent::renderContents();
381
  }
382
  }
383
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
384
  public function renderPolicy()
385
  {
386
  $policyPageId = gdpr('options')->get('policy_page');
421
  {
422
  submit_button(_x('Save & Generate Policy', '(Admin)', 'gdpr-framework'));
423
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
424
  }
src/Helpers.php CHANGED
@@ -340,6 +340,11 @@ class Helpers
340
  return admin_url('tools.php?page=privacy' . $suffix);
341
  }
342
 
 
 
 
 
 
343
  public function getDashboardDataPageUrl($suffix = '')
344
  {
345
  return admin_url('users.php?page=gdpr-profile' . $suffix);
@@ -378,6 +383,21 @@ class Helpers
378
  return 'https://www.data443.com/' . $url;
379
  }
380
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
381
  public function siteOwnersGuide()
382
  {
383
  return 'https://data443.atlassian.net/servicedesk/customer/portal/2/article/2078998660';
340
  return admin_url('tools.php?page=privacy' . $suffix);
341
  }
342
 
343
+ public function premiumStore()
344
+ {
345
+ return 'https://orders.data443.com/index.php?rp=/store/gdpr-framework';
346
+ }
347
+
348
  public function getDashboardDataPageUrl($suffix = '')
349
  {
350
  return admin_url('users.php?page=gdpr-profile' . $suffix);
383
  return 'https://www.data443.com/' . $url;
384
  }
385
 
386
+ public function data443()
387
+ {
388
+ return 'https://data443.com/';
389
+ }
390
+
391
+ public function wordpressReview()
392
+ {
393
+ return 'https://wordpress.org/plugins/gdpr-framework/#reviews';
394
+ }
395
+
396
+ public function supportRequest()
397
+ {
398
+ return 'https://data443.atlassian.net/servicedesk/customer/portal/2/group/6';
399
+ }
400
+
401
  public function siteOwnersGuide()
402
  {
403
  return 'https://data443.atlassian.net/servicedesk/customer/portal/2/article/2078998660';
vendor/autoload.php CHANGED
@@ -4,4 +4,4 @@
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
- return ComposerAutoloaderInitc70810113b668805402a579c4f942027::getLoader();
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
+ return ComposerAutoloaderInitd43c4b4c9731bd7d3efe71b0c6cb15b5::getLoader();
vendor/composer/autoload_real.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
- class ComposerAutoloaderInitc70810113b668805402a579c4f942027
6
  {
7
  private static $loader;
8
 
@@ -22,15 +22,15 @@ class ComposerAutoloaderInitc70810113b668805402a579c4f942027
22
  return self::$loader;
23
  }
24
 
25
- spl_autoload_register(array('ComposerAutoloaderInitc70810113b668805402a579c4f942027', 'loadClassLoader'), true, true);
26
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
27
- spl_autoload_unregister(array('ComposerAutoloaderInitc70810113b668805402a579c4f942027', 'loadClassLoader'));
28
 
29
  $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
30
  if ($useStaticLoader) {
31
  require_once __DIR__ . '/autoload_static.php';
32
 
33
- call_user_func(\Composer\Autoload\ComposerStaticInitc70810113b668805402a579c4f942027::getInitializer($loader));
34
  } else {
35
  $map = require __DIR__ . '/autoload_namespaces.php';
36
  foreach ($map as $namespace => $path) {
@@ -51,19 +51,19 @@ class ComposerAutoloaderInitc70810113b668805402a579c4f942027
51
  $loader->register(true);
52
 
53
  if ($useStaticLoader) {
54
- $includeFiles = Composer\Autoload\ComposerStaticInitc70810113b668805402a579c4f942027::$files;
55
  } else {
56
  $includeFiles = require __DIR__ . '/autoload_files.php';
57
  }
58
  foreach ($includeFiles as $fileIdentifier => $file) {
59
- composerRequirec70810113b668805402a579c4f942027($fileIdentifier, $file);
60
  }
61
 
62
  return $loader;
63
  }
64
  }
65
 
66
- function composerRequirec70810113b668805402a579c4f942027($fileIdentifier, $file)
67
  {
68
  if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
69
  require $file;
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
+ class ComposerAutoloaderInitd43c4b4c9731bd7d3efe71b0c6cb15b5
6
  {
7
  private static $loader;
8
 
22
  return self::$loader;
23
  }
24
 
25
+ spl_autoload_register(array('ComposerAutoloaderInitd43c4b4c9731bd7d3efe71b0c6cb15b5', 'loadClassLoader'), true, true);
26
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
27
+ spl_autoload_unregister(array('ComposerAutoloaderInitd43c4b4c9731bd7d3efe71b0c6cb15b5', 'loadClassLoader'));
28
 
29
  $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
30
  if ($useStaticLoader) {
31
  require_once __DIR__ . '/autoload_static.php';
32
 
33
+ call_user_func(\Composer\Autoload\ComposerStaticInitd43c4b4c9731bd7d3efe71b0c6cb15b5::getInitializer($loader));
34
  } else {
35
  $map = require __DIR__ . '/autoload_namespaces.php';
36
  foreach ($map as $namespace => $path) {
51
  $loader->register(true);
52
 
53
  if ($useStaticLoader) {
54
+ $includeFiles = Composer\Autoload\ComposerStaticInitd43c4b4c9731bd7d3efe71b0c6cb15b5::$files;
55
  } else {
56
  $includeFiles = require __DIR__ . '/autoload_files.php';
57
  }
58
  foreach ($includeFiles as $fileIdentifier => $file) {
59
+ composerRequired43c4b4c9731bd7d3efe71b0c6cb15b5($fileIdentifier, $file);
60
  }
61
 
62
  return $loader;
63
  }
64
  }
65
 
66
+ function composerRequired43c4b4c9731bd7d3efe71b0c6cb15b5($fileIdentifier, $file)
67
  {
68
  if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
69
  require $file;
vendor/composer/autoload_static.php CHANGED
@@ -4,7 +4,7 @@
4
 
5
  namespace Composer\Autoload;
6
 
7
- class ComposerStaticInitc70810113b668805402a579c4f942027
8
  {
9
  public static $files = array (
10
  '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/bootstrap.php',
@@ -632,9 +632,9 @@ class ComposerStaticInitc70810113b668805402a579c4f942027
632
  public static function getInitializer(ClassLoader $loader)
633
  {
634
  return \Closure::bind(function () use ($loader) {
635
- $loader->prefixLengthsPsr4 = ComposerStaticInitc70810113b668805402a579c4f942027::$prefixLengthsPsr4;
636
- $loader->prefixDirsPsr4 = ComposerStaticInitc70810113b668805402a579c4f942027::$prefixDirsPsr4;
637
- $loader->classMap = ComposerStaticInitc70810113b668805402a579c4f942027::$classMap;
638
 
639
  }, null, ClassLoader::class);
640
  }
4
 
5
  namespace Composer\Autoload;
6
 
7
+ class ComposerStaticInitd43c4b4c9731bd7d3efe71b0c6cb15b5
8
  {
9
  public static $files = array (
10
  '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/bootstrap.php',
632
  public static function getInitializer(ClassLoader $loader)
633
  {
634
  return \Closure::bind(function () use ($loader) {
635
+ $loader->prefixLengthsPsr4 = ComposerStaticInitd43c4b4c9731bd7d3efe71b0c6cb15b5::$prefixLengthsPsr4;
636
+ $loader->prefixDirsPsr4 = ComposerStaticInitd43c4b4c9731bd7d3efe71b0c6cb15b5::$prefixDirsPsr4;
637
+ $loader->classMap = ComposerStaticInitd43c4b4c9731bd7d3efe71b0c6cb15b5::$classMap;
638
 
639
  }, null, ClassLoader::class);
640
  }
views/admin/advanced-integration/header.php CHANGED
@@ -1,13 +1,8 @@
1
- <p>
2
- <a href="https://filefacets.com/content-analysis-report/" target="_blank">
3
- <img src="<?= gdpr('config')->get('plugin.url'); ?>assets/images/filefacets-logo.png" style="float:right;margin-right:50px" />
4
- </a>
5
- </p>
6
 
7
  <h3>Free Content Analysis Report!</h3>
8
 
9
  <p>Better understand what data you have and where it is stored, so that you can action it appropriately.<br/> Download our FREE scanner now:</p>
10
 
11
- <p><a href="https://filefacets.com/content-analysis-report/" target="_blank">Free Content Analysis Report - FileFacets</a></p>
12
 
13
  <div style="margin-top:300px;"></div>
 
 
 
 
 
1
 
2
  <h3>Free Content Analysis Report!</h3>
3
 
4
  <p>Better understand what data you have and where it is stored, so that you can action it appropriately.<br/> Download our FREE scanner now:</p>
5
 
6
+ <p><a href="https://data443.com/data-identification-manager/data-hound/" target="_blank">Free Content Analysis Report - Data Hound</a></p>
7
 
8
  <div style="margin-top:300px;"></div>
views/admin/settings-page.php CHANGED
@@ -29,7 +29,7 @@
29
  <em>
30
  <?= sprintf(
31
  esc_html_x('The GDPR Framework. Built with &#9829; by %sData443%s.', '(Admin)', 'gdpr-framework'),
32
- '<a href="https://www.data443.com/" target="_blank">',
33
  '</a>'
34
  ); ?>
35
  &nbsp;
@@ -45,7 +45,7 @@
45
  &nbsp;
46
  <?= sprintf(
47
  esc_html_x("Support our development efforts! leave a %s5-star rating%s.", '(Admin)', 'gdpr-framework'),
48
- '<a href="https://wordpress.org/plugins/gdpr-framework/#reviews" target="_blank">',
49
  '</a>'
50
  ); ?>
51
  </em>
29
  <em>
30
  <?= sprintf(
31
  esc_html_x('The GDPR Framework. Built with &#9829; by %sData443%s.', '(Admin)', 'gdpr-framework'),
32
+ '<a href="' . gdpr('helpers')->data443() . '" target="_blank">',
33
  '</a>'
34
  ); ?>
35
  &nbsp;
45
  &nbsp;
46
  <?= sprintf(
47
  esc_html_x("Support our development efforts! leave a %s5-star rating%s.", '(Admin)', 'gdpr-framework'),
48
+ '<a href="' . gdpr('helpers')->wordpressReview() . '" target="_blank">',
49
  '</a>'
50
  ); ?>
51
  </em>
views/admin/support/contents.php CHANGED
@@ -42,7 +42,7 @@
42
  <div class="row">
43
  <div class="col">
44
  <div class="col_image" style="background-image:url('<?= gdpr('config')->get('plugin.url'); ?>/assets/4.png');"></div>
45
- <a class="button button-primary" href="https://data443.atlassian.net/servicedesk/customer/portal/2/group/6" target="_blank">
46
  <?= esc_html_x('Submit a support request', '(Admin)', 'gdpr-framework'); ?>
47
  </a>
48
  <p>
42
  <div class="row">
43
  <div class="col">
44
  <div class="col_image" style="background-image:url('<?= gdpr('config')->get('plugin.url'); ?>/assets/4.png');"></div>
45
+ <a class="button button-primary" href="<?=gdpr('helpers')->supportRequest()?>" target="_blank">
46
  <?= esc_html_x('Submit a support request', '(Admin)', 'gdpr-framework'); ?>
47
  </a>
48
  <p>
views/installer/steps/consent.php CHANGED
@@ -28,7 +28,7 @@
28
  <h2>Withdrawing consent</h2>
29
 
30
  <p>
31
- Your customers can withdraw their given consents on the <a href="<?= $privacyToolsPageUrl; ?>" target="blank">Privacy Tools Page</a>.
32
  </p>
33
  <br>
34
  <hr>
28
  <h2>Withdrawing consent</h2>
29
 
30
  <p>
31
+ Your customers can withdraw their given consents on the <a href="<?= $privacyToolsPageUrl; ?>" target="_blank">Privacy Tools Page</a>.
32
  </p>
33
  <br>
34
  <hr>
views/installer/steps/finish.php CHANGED
@@ -47,7 +47,7 @@
47
  <div class="row">
48
  <div class="col">
49
  <div class="col_image" style="background-image:url('<?= gdpr('config')->get('plugin.url'); ?>/assets/4.png');"></div>
50
- <a class="button button-primary" href="https://data443.atlassian.net/servicedesk/customer/portal/2/group/6" target="_blank">
51
  <?= esc_html_x('Submit a support request', '(Admin)', 'gdpr-framework'); ?>
52
  </a>
53
  <p>
47
  <div class="row">
48
  <div class="col">
49
  <div class="col_image" style="background-image:url('<?= gdpr('config')->get('plugin.url'); ?>/assets/4.png');"></div>
50
+ <a class="button button-primary" href="<?=gdpr('helpers')->supportRequest()?>" target="_blank">
51
  <?= esc_html_x('Submit a support request', '(Admin)', 'gdpr-framework'); ?>
52
  </a>
53
  <p>