Files
2026-04-28 15:13:50 +02:00

408 lines
15 KiB
PHP
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?php
defined( 'ABSPATH' ) or die();
add_filter( 'cmplz_fields', 'cmplz_wizard_fields', 10 );
function cmplz_wizard_fields($fields){
$fields += [
[
'id' => 'regions',
'premium' => [
'label' => __( "Which region(s) do you target with your website?","complianz-gdpr"),
'url' => 'https://complianz.io/pricing/',
'comment' => ' ',//an empty string doesn't override the premium string
],
'menu_id' => 'visitors',
'type' => 'radio',
'label' => __( "Which privacy law or guideline do you want to use as the default for your worldwide visitors?", 'complianz-gdpr' ),
'options' => COMPLIANZ::$config->supported_regions,
'help' => [
'label' => 'default',
'title' => __( "Which region(s) do I target?", 'complianz-gdpr' ),
'text' => __( "You dont need to configure your website for accidental visitors. Only choose the regions your website is intended for.", 'complianz-gdpr'),
'url' => 'https://complianz.io/what-regions-do-i-target/',
],
'default' => false,
'revoke_consent_onchange' => true,
'required' => true,
'comment' => __("If you want to dynamically apply privacy laws based on the visitor's location, consider upgrading to the premium version, which allows you to apply a privacy law specific for that region.", 'complianz-gdpr' ),
],
[
'id' => 'other_region_behaviour',
'menu_id' => 'visitors',
'type' => 'select',
'default' => 'none',
'label' => __( "Which banner do you want to display in other regions?", 'complianz-gdpr' ),
'options' => ['none'=> __("None", 'complianz-gdpr')] + COMPLIANZ::$config->supported_regions,
'revoke_consent_onchange' => true,
'react_conditions' => [
'relation' => 'AND',
[
'use_country' => true,
]
]
],
[
'id' => 'eu_consent_regions',
'menu_id' => 'visitors',
'type' => 'radio',
'default' => 'no',
'label' => __( "Do you target visitors from Germany, Austria, Belgium and/or Spain?", 'complianz-gdpr' ),
'options' => COMPLIANZ::$config->yes_no,
'revoke_consent_onchange' => true,
'required' => true,
'react_conditions' => [
'relation' => 'AND',
[
'regions' => ['eu'],
]
]
],
[
'id' => 'uk_consent_regions',
'menu_id' => 'visitors',
'type' => 'radio',
'default' => 'no',
'label' => __( "Do you target visitors from Jersey or Guernsey?", 'complianz-gdpr' ),
'options' => COMPLIANZ::$config->yes_no,
'revoke_consent_onchange' => true,
'required' => true,
'react_conditions' => [
'relation' => 'AND',
[
'regions' => ['uk'],
]
]
],
[
'id' => 'ca_targets_quebec',
'menu_id' => 'visitors',
'type' => 'radio',
'default' => '',
'label' => __( "Do you target visitors from Quebec?", 'complianz-gdpr' ),
'options' => COMPLIANZ::$config->yes_no,
'revoke_consent_onchange' => true,
'tooltip' => __( "This will apply an opt-in mechanism for all visitors from Canada, as required by Quebec bill 64.", 'complianz-gdpr' ),
'required' => false,
'react_conditions' => [
'relation' => 'AND',
[
'regions' => ['ca'],
]
]
],
[
'id' => 'us_states',
'menu_id' => 'visitors',
'type' => 'multicheckbox',
'options' => COMPLIANZ::$config->supported_states,
// 'help' => [
// 'label' => 'default',
// 'title' => __( "Do Not Sell My Personal Information", 'complianz-gdpr' ),
// 'text' => __( "If you choose California you will be able to generate a DNSMPI page.", 'complianz-gdpr' ),
// 'url' => 'https://complianz.io/privacy-in-the-united-states/',
// ],
'label' => __( "Do you specifically target visitors from these states?", 'complianz-gdpr' ),
'tooltip' => __( "There are some laws that only apply to one or more states and are described separately if needed.", 'complianz-gdpr' ),
'required' => false,
'react_conditions' => [
'relation' => 'AND',
[
'regions' => ['us'],
]
],
],
[
'id' => 'wp_admin_access_users',
'menu_id' => 'visitors',
'type' => 'radio',
'default' => 'no',
'label' => __( "Does your site have visitors with log-in access to a restricted area of the website?", 'complianz-gdpr' ),
'tooltip' => __( "If so, the scan will be extended to the wp-admin part of your site. ", 'complianz-gdpr' ),
'required' => false,
'options' => COMPLIANZ::$config->yes_no,
],
[
'id' => 'cookie-statement',
'menu_id' => 'documents',
'default' => 'generated',
'type' => 'document',
'options' => [
[ 'label' => __('Generated with Complianz','complianz-gdpr'), 'value'=> 'generated' ],
[ 'label' => __('Existing page','complianz-gdpr'), 'value'=> 'custom' ],
[ 'label' => 'URL', 'value'=> 'url' ],
],
'label' => __( "Cookie Policy", 'complianz-gdpr' ),
'required' => true,
'tooltip' => __( 'A Cookie Policy is required to inform your visitors about the way cookies and similar techniques are used on your website.', "complianz-gdpr" ),
],
[
'id' => 'privacy-statement',
'premium' => [
'url' => 'https://complianz.io/pricing/',
'default' => 'generated',
'disabled' => false,
],
'menu_id' => 'documents',
'disabled' => ['generated'],
'type' => 'document',
'default' => 'custom',
'label' => __( "Privacy Statement", 'complianz-gdpr' ),
'options' => [
[ 'label' => __('Generated with Complianz','complianz-gdpr'), 'value'=> 'generated' ],
[ 'label' => __('Existing page','complianz-gdpr'), 'value'=> 'custom' ],
[ 'label' => 'URL', 'value'=> 'url' ],
[ 'label' => __('None','complianz-gdpr'), 'value'=> 'none' ],
],
'required' => true,
'tooltip' => __("A Privacy Statement is required to inform your visitors about the way you deal with the privacy of website visitors. A link to this document is placed on your consent banner.", 'complianz-gdpr'),
],
[
'id' => 'impressum',
'menu_id' => 'documents',
'premium' => [
'url' => 'https://complianz.io/pricing/',
],
'disabled' => ['generated'],
'default' => 'none',
'type' => 'document',
'label' => __( "Imprint", 'complianz-gdpr' ),
'options' => [
[ 'label' => __('Generated with Complianz','complianz-gdpr'), 'value'=> 'generated' ],
[ 'label' => __('Existing page','complianz-gdpr'), 'value'=> 'custom' ],
[ 'label' => 'URL', 'value'=> 'url' ],
[ 'label' => __('None','complianz-gdpr'), 'value'=> 'none' ],
],
'required' => true,
'tooltip' => __("An Imprint provides general contact information about the organization behind this website and might be required in your region.", 'complianz-gdpr'),
],
[
'id' => 'disclaimer',
'menu_id' => 'documents',
'premium' => [
'url' => 'https://complianz.io/pricing/',
],
'disabled' => ['generated'],
'default' => 'none',
'type' => 'document',
'options' => [
[ 'label' => __('Generated','complianz-gdpr'), 'value'=> 'generated' ],
[ 'label' => __('Existing page','complianz-gdpr'), 'value'=> 'custom' ],
[ 'label' => 'URL', 'value'=> 'url' ],
[ 'label' => __('None','complianz-gdpr'), 'value'=> 'none' ],
],
'label' => __( "Disclaimer", 'complianz-gdpr' ),
'required' => true,
'tooltip' => __("A Disclaimer is commonly used to exclude or limit liability or to make statements about the content of the website. Having a Disclaimer is not legally required.", 'complianz-gdpr'),
],
[
'id' => 'organisation_name',
'menu_id' => 'website-information',
'type' => 'text',
'default' => '',
'placeholder' => __( "Name or company name", 'complianz-gdpr' ),
'label' => __( "Who is the owner of the website?", 'complianz-gdpr' ),
'react_conditions' => [
'relation' => 'OR',
[
'impressum' => 'generated',
'cookie-statement' => 'generated',
'privacy-statement' => 'generated',
'disclaimer' => 'generated',
]
],
'required' => true,
],
[
'id' => 'address_company',
'menu_id' => 'website-information',
'placeholder' => __( 'Address, City and Zipcode', 'complianz-gdpr' ),
'type' => 'textarea',
'default' => '',
'label' => __( "What is your address?", 'complianz-gdpr' ),
'required' => true,
'react_conditions' => [
'relation' => 'OR',
[
'impressum' => 'generated',
'cookie-statement' => 'generated',
'privacy-statement' => 'generated',
'disclaimer' => 'generated',
]
],
],
[
'id' => 'country_company',
'menu_id' => 'website-information',
'type' => 'select',
'options' => COMPLIANZ::$config->countries,
'default' => 'NL',
'label' => __( "What is your country?", 'complianz-gdpr' ),
'required' => true,
'tooltip' => __( "This setting is automatically selected based on your WordPress language setting.", 'complianz-gdpr' ),
],
[
'id' => 'email_company',
'menu_id' => 'website-information',
'type' => 'email',
'default' => '',
'tooltip' => __( "The email address will be obfuscated on the front-end to prevent spidering.", 'complianz-gdpr' ),
'label' => __( "What is the email address your visitors can use to contact you about privacy issues?", 'complianz-gdpr' ),
'required' => true,
'react_conditions' => [
'relation' => 'OR',
[
'impressum' => 'generated',
'cookie-statement' => 'generated',
'privacy-statement' => 'generated',
'disclaimer' => 'generated',
]
],
],
[
'id' => 'telephone_company',
'menu_id' => 'website-information',
'type' => 'phone',
'default' => '',
'document_label' => __( 'Phone number:', 'complianz-gdpr' ) . ' ',
'label' => __( "What is the telephone number your visitors can use to contact you about privacy issues?", 'complianz-gdpr' ),
'required' => false,
'react_conditions' => [
'relation' => 'OR',
[
'impressum' => 'generated',
'cookie-statement' => 'generated',
'privacy-statement' => 'generated',
'disclaimer' => 'generated',
]
],
],
[
'id' => 'ca_name_accountable_person',
'menu_id' => 'website-information',
'type' => 'text',
'required' => true,
'default' => '',
'react_conditions' => [
'relation' => 'AND',
[
'privacy-statement' => 'generated',
'regions' => ['ca', 'au', 'za'],
]
],
'label' => __("Person who is accountable for the organizations policies and practices and to whom complaints or inquiries can be forwarded.", 'complianz-gdpr'),
],
[
'id' => 'ca_address_accountable_person',
'menu_id' => 'website-information',
'type' => 'textarea',
'required' => true,
'default' => '',
'react_conditions' => [
'relation' => 'AND',
[
'privacy-statement' => 'generated',
'regions' => ['ca', 'au', 'za'],
]
],
'label' => __("What is the address where complaints or inquiries can be forwarded?", 'complianz-gdpr'),
],
[
'id' => 'purpose_personaldata',
'menu_id' => 'purpose',
'type' => 'multicheckbox',
'disabled' => false,
#In the free version, the purpose is not necessary for EU. In the premium it is necessary if a privacy statement is needed.
'premium' => [
'react_conditions' => [
'relation' => 'OR',
[
'privacy-statement' => 'generated',
'regions' => ['us'],
]
]
],
'default' => '',
'label' => __( "Indicate for what purpose personal data is processed via your website:", 'complianz-gdpr' ),
'required' => true,
'options' => COMPLIANZ::$config->purposes,
'react_conditions' => [
'relation' => 'OR',
[
'regions' => ['us'],
]
]
],
[
'id' => 'records_of_consent',
'menu_id' => 'security-consent',
'premium' => [
'url' => 'https://complianz.io/pricing/',
'description' => __( "Extend Proof of Consent with Records of Consent", 'complianz-gdpr' ),
],
'label' => __( "Do you want to enable Records of Consent?", 'complianz-gdpr' ),
'type' => 'radio',
'options' => COMPLIANZ::$config->yes_no,
'default' => 'no',
'disabled' => true,
'help' => [
'label' => 'default',
'title' => __( "Records of Consent", 'complianz-gdpr' ),
'text' => __( "Enabling this option will extend our Proof of Consent method with user consent registration.", 'complianz-gdpr' ).' '.
__( "This option is recommended in combination with TCF and will store consent data in your database.", 'complianz-gdpr' ),
'url' => 'https://complianz.io/records-of-consent',
],
],
[
'id' => 'datarequest',
'menu_id' => 'security-consent',
'premium' => [
'url' => 'https://complianz.io/pricing/',
'description' => __( "Do you want to enable Data Request Forms?", 'complianz-gdpr' ),
],
'label' => __( "Do you want to enable Data Request Forms?", 'complianz-gdpr' ),
'type' => 'radio',
'options' => COMPLIANZ::$config->yes_no,
'default' => 'no',
'disabled' => true,
'help' => [
'label' => 'default',
'title' => __( "What are data request forms?", 'complianz-gdpr' ),
'text' => __( "This will enable Data Requests Forms for your Privacy Statements.", 'complianz-gdpr' ),
'url' => 'https://complianz.io/data-requests-forms/',
],
],
[
'id' => 'respect_dnt',
'menu_id' => 'security-consent',
'type' => 'radio',
'options' => COMPLIANZ::$config->yes_no,
'default' => 'no',
'label' => __( "Respect Do Not Track and Global Privacy Control?", 'complianz-gdpr' ),
'tooltip' => __( 'If you enable this option, Complianz will not show the consent banner to users that enabled a Do Not Track or \'Global Privacy Control\' setting in their browsers and their default consent status is set to denied.', 'complianz-gdpr' ),
],
[
'id' => 'sensitive_information_processed',
'menu_id' => 'security-consent',
'type' => 'radio',
'required' => false,
'default' => '',
'options' => COMPLIANZ::$config->yes_no,
'label' => __( "Does your website contain or process sensitive (personal) information?", 'complianz-gdpr' ),
'react_conditions' => [
'relation' => 'AND',
[
'privacy-statement' => 'generated',
'regions' => ['ca', 'au'],
]
],
'tooltip' => __( 'Sensitive personal information is considered data that is very likely to have a greater impact on Privacy. For example medical, religious or legal information.', 'complianz-gdpr' ),
],
];
return $fields;
}