%PDF- %PDF-
Direktori : /home/tradesc/www/relax/wp-content/plugins/complianz-gdpr/config/ |
Current File : /home/tradesc/www/relax/wp-content/plugins/complianz-gdpr/config/class-config.php |
<?php defined( 'ABSPATH' ) or die( "you do not have access to this page!" ); if ( ! class_exists( "cmplz_config" ) ) { class cmplz_config { private static $_this; public $fields = array(); public $formal_languages = array(); public $generic_documents_list; public $supported_states; public $cookie_consent_converter; public $language_codes; public $supported_regions; public $thirdparty_services = array( 'activecampaign' => 'Active Campaign', "adobe-fonts" => 'Adobe Fonts', 'google-fonts' => 'Google Fonts', 'google-recaptcha' => 'Google reCAPTCHA', "google-maps" => 'Google Maps', "openstreetmaps" => 'OpenStreetMaps', "vimeo" => 'Vimeo', "youtube" => 'YouTube', "videopress" => 'VideoPress', "dailymotion" => 'Dailymotion', "soundcloud" => 'SoundCloud', "twitch" => 'Twitch', "paypal" => 'PayPal', "spotify" => 'Spotify', "hotjar" => 'Hotjar', "addthis" => 'AddThis', "addtoany" => 'AddToAny', "sharethis" => 'ShareThis', "livechat" => 'LiveChat', "hubspot" => 'HubSpot', "calendly" => 'Calendly', "microsoftads" => 'Microsoft Ads' ); public $thirdparty_socialmedia = array( 'facebook' => 'Facebook', 'twitter' => 'Twitter', 'linkedin' => 'LinkedIn', 'whatsapp' => 'WhatsApp', 'instagram' => 'Instagram', 'tiktok' => 'TikTok', 'disqus' => 'Disqus', 'pinterest' => 'Pinterest', ); /** * The services for which a placeholder exists in the assets/images/placeholders folder. * @var array */ public $placeholders; /** * This is used in the scan function to tell the user he/she uses social media * Also in the function to determine a media type for the placeholders * Based on this the cookie warning is enabled. * * */ public $social_media_markers = array( "linkedin" => array( "platform.linkedin.com", 'addthis_widget.js', 'linkedin.com/embed/feed' ), "twitter" => array( 'super-socializer', 'sumoSiteId', 'addthis_widget.js', "platform.twitter.com", 'twitter-widgets.js' ), "facebook" => array( 'fbq', 'super-socializer', 'sumoSiteId', 'addthis_widget.js', "fb-root", "<!-- Facebook Pixel Code -->", 'connect.facebook.net', 'www.facebook.com/plugins', 'pixel-caffeine', 'facebook.com/plugins', ), "pinterest" => array( 'super-socializer', 'assets.pinterest.com' ), "disqus" => array( 'disqus.com' ), "tiktok" => array( 'tiktok.com' ), "instagram" => array( 'instawidget.net/js/instawidget.js', 'instagram.com', ), ); /** * Scripts with this string in the content get listed in the third party list. * Also used in cmplz_placeholder() * */ public $thirdparty_service_markers = array( "google-maps" => array( 'apis.google.com/js/platform.js', 'new google.maps.', 'google.com/maps', 'maps.google.com', 'wp-google-maps', 'new google.maps.InfoWindow', 'new google.maps.Marker', 'new google.maps.Map', 'var mapOptions', 'var map', 'var Latlng', ), "soundcloud" => array( 'w.soundcloud.com/player' ), "openstreetmaps" => array( 'openstreetmap.org', 'osm/js/osm' ), "vimeo" => array( 'player.vimeo.com', 'i.vimeocdn.com', ), "google-recaptcha" => array( 'google.com/recaptcha', 'grecaptcha', 'recaptcha.js', 'recaptcha/api' ), "youtube" => array( 'youtube.com', 'youtube-nocookie.com', 'youtu.be', 'yotuwp', ), "videopress" => array( 'videopress.com/embed', 'videopress.com/videopress-iframe.js' ), "dailymotion" => array( 'dailymotion.com/embed/video/' ), "hotjar" => array( 'static.hotjar.com' ), "spotify" => array( 'open.spotify.com/embed' ), "google-fonts" => array( 'fonts.googleapis.com' ), "paypal" => array( 'www.paypal.com/tagmanager/pptm.js', 'www.paypalobjects.com/api/checkout.js' ), "disqus" => array( 'disqus.com' ), "addthis" => array( 'addthis.com' ), "addtoany" => array( 'static.addtoany.com/menu/page.js' ), "sharethis" => array( 'sharethis.com' ), "microsoftads" => array('bat.bing.com'), "livechat" => array( 'cdn.livechatinc.com/tracking.js' ), "hubspot" => array( 'js.hs-scripts.com/', 'hbspt.forms.create', 'js.hsforms.net','track.hubspot.com','js.hs-analytics.net'), "calendly" => array( 'assets.calendly.com' ), "twitch" => array( 'twitch.tv', 'player.twitch.tv'), "adobe-fonts" => array( 'p.typekit.net', 'use.typekit.net'), ); public $stats = array( 'google-analytics' => 'Google Analytics', 'google-tag-manager' => 'Tag Manager', 'matomo' => 'Matomo', 'clicky' => 'Clicky', 'yandex' => 'Yandex', 'clarity' => 'Clarity', ); public $stats_markers = array( 'google-analytics' => array( 'google-analytics.com/ga.js', 'www.google-analytics.com/analytics.js', '_getTracker', "gtag('js'", ), 'google-tag-manager' => array( 'gtm.start', 'gtm.js', ), 'matomo' => array( 'piwik.js', 'matomo.js' ), 'clicky' => array( 'static.getclicky.com/js', 'clicky_site_ids' ), 'yandex' => array( 'mc.yandex.ru/metrika/watch.js' ), 'clarity' => array( 'clarity.ms' ), ); public $amp_tags = array( 'amp-ad-exit', 'amp-ad', 'amp-analytics', 'amp-auto-ads', 'amp-call-tracking', 'amp-experiment', 'amp-pixel', 'amp-sticky-ad', // Dynamic content. 'amp-google-document-embed', 'amp-gist', // Media. 'amp-brightcove', 'amp-dailymotion', 'amp-hulu', 'amp-soundcloud', 'amp-vimeo', 'amp-youtube', 'amp-iframe', // Social. 'amp-addthis', 'amp-beopinion', 'amp-facebook-comments', 'amp-facebook-like', 'amp-facebook-page', 'amp-facebook', 'amp-gfycat', 'amp-instagram', 'amp-pinterest', 'amp-reddit', 'amp-riddle-quiz', 'amp-social-share', 'amp-twitter', 'amp-vine', 'amp-vk', ); public $lawful_bases; public $sections; public $pages = array(); public $warning_types; public $yes_no; public $countries; public $purposes; public $details_per_purpose_us; public $regions; public $eu_countries; public $collected_info_children; function __construct() { if ( isset( self::$_this ) ) { wp_die( sprintf( '%s is a singleton class and you cannot create a second instance.', get_class( $this ) ) ); } self::$_this = $this; /** * The legal version is only updated when document contents or the questions leading to it are changed * 1: start version * 2: introduction of US privacy questions * 3: new questions * 4: new questions * 5: UK as separate region * 6: CA as separate region * 7: Impressum in germany * */ define( 'CMPLZ_LEGAL_VERSION', '8' ); require_once( cmplz_path . '/config/countries.php' ); //common options type $this->yes_no = array( 'yes' => __( 'Yes', 'complianz-gdpr' ), 'no' => __( 'No', 'complianz-gdpr' ), ); $this->lawful_bases = [ '1' => __('I obtain permission from the person concerned', 'complianz-gdpr'), '2' => __('It is necessary for the execution of an agreement with the person concerned', 'complianz-gdpr'), '3' => __('I am obligated by law', 'complianz-gdpr'), '4' => __('It is necessary to fulfilll a task concerning public law', 'complianz-gdpr'), '5' => __('It is necessary for my own legitimate interest, and that interest outweighs the interest of the person concerned', 'complianz-gdpr'), '6' => __('It is necessary to protect the life or physical safety of a person', 'complianz-gdpr'), ]; $this->placeholders = array( 'default' => __('Default','complianz-gdpr'), 'calendly' => 'Calendly', 'facebook' => 'Facebook', 'google-maps' => 'Google Maps', 'google-recaptcha' => 'Google Recaptcha', 'instagram' => 'Instagram', 'openstreetmaps' => 'Open Street Maps', 'soundcloud' => 'SoundCloud', 'spotify' => 'Spotify', 'ted' => 'Ted', 'twitter' => 'Twitter', 'tiktok' => 'Tik Tok' ); require_once( cmplz_path . '/config/purpose.php' ); require_once( cmplz_path . '/config/documents/documents.php' ); //always load the fields, for translation purposes etc. require_once( cmplz_path . 'settings/config/config.php' ); if ( file_exists(cmplz_path . 'pro/settings/config.php') ) { require_once( cmplz_path . 'pro/settings/config.php'); require_once( cmplz_path . 'pro/config/dynamic-document-elements.php'); } require_once( cmplz_path . '/cookiebanner/settings.php' ); /** * Preload fields with a filter, to allow for overriding types */ add_action( 'plugins_loaded', array( $this, 'init' ), 10 ); add_action( 'plugins_loaded', array( $this, 'load_pages' ), 10 ); } static function this() { return self::$_this; } /** * Get full array of regions, but only active ones * @return array */ public function active_regions(){ return array_intersect_key( COMPLIANZ::$config->regions, cmplz_get_regions(false, 'short') ); } public function init(){ /** * For the Brazil privacy law there are some additional options. These should only be enabled when the only chosen region is Brazil. */ if ( cmplz_has_region('br') && cmplz_multiple_regions() == false) { $this->lawful_bases['7'] = __('It is necessary to carry out studies by a research body, ensuring, whenever possible, the anonymization of personal data', 'complianz-gdpr'); $this->lawful_bases['8'] = __('It is necessary for the regular exercise of rights in judicial, administrative or arbitration proceedings', 'complianz-gdpr'); $this->lawful_bases['9'] = __('It is necessary for the protection of health, exclusively, in a procedure performed by health professionals, health services or health authority', 'complianz-gdpr'); $this->lawful_bases['10'] = __('It is necessary for credit protection', 'complianz-gdpr'); } $files = []; $regions = cmplz_get_regions(); $privacy_statement = cmplz_get_option( 'privacy-statement' ) === 'generated'; $files[] = '/pro/config/documents/documents.php'; foreach ($regions as $region) { $files[] = "/config/documents/cookie-policy-$region.php"; if ($privacy_statement) $files[] = "/pro/config/documents/$region/privacy-policy.php"; $files[] = "/pro/config/documents/$region/privacy-policy-children.php"; } if (cmplz_get_option( 'disclaimer' ) === 'generated') $files[] = '/pro/config/documents/disclaimer.php'; if (cmplz_get_option( 'impressum' ) === 'generated') $files[] = '/pro/config/documents/impressum.php'; foreach ($files as $file) { if ( file_exists( cmplz_path . $file ) ) { require_once( cmplz_path . $file ); } } $this->stats_markers = apply_filters( 'cmplz_stats_markers', $this->stats_markers ); //ensure that indexes are sequential with array_values $this->fields = array_values(apply_filters( 'cmplz_fields', [] )); } public function load_pages(){ $this->pages = apply_filters( 'cmplz_pages_load_types', $this->pages ); $regions = cmplz_get_regions(); foreach ($regions as $region) { if ( !isset( $this->pages[ $region ] ) ) { continue; } foreach ( $this->pages[ $region ] as $type => $data ) { if ( !isset( $this->pages[ $region ][ $type ]['document_elements'] ) ) { continue; } $this->pages[ $region ][ $type ]['document_elements'] = apply_filters( 'cmplz_document_elements', $this->pages[ $region ][ $type ]['document_elements'], $region, $type, $this->fields ); } } } } //class closure }