PluginProbe ʕ •ᴥ•ʔ
Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode / 4.4.2
Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode v4.4.2
4.7.2 4.7.1 trunk 2.3.0 2.4.0 2.4.1 2.4.2 2.5.0 3.0.0 3.0.1 3.1.0 3.10.0 3.10.1 3.11.1 3.11.2 3.11.3 3.2.0 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.6.0 3.6.1 3.6.2 3.6.5 3.6.6 3.7.0 3.7.1 3.8.0 3.9.0 4.0.0 4.0.1 4.0.2 4.0.3 4.1.0 4.1.1 4.2.0 4.2.1 4.2.10 4.2.11 4.2.12 4.2.13 4.2.14 4.2.2 4.2.3 4.2.4 4.2.5 4.2.6 4.2.7 4.2.8 4.2.9 4.3.0 4.3.1 4.3.10 4.3.11 4.3.12 4.3.2 4.3.3 4.3.4 4.3.5 4.3.6 4.3.7 4.3.7.1 4.3.8 4.3.9 4.3.9.1 4.4.0 4.4.1 4.4.2 4.5.0 4.5.1 4.5.10 4.5.11 4.5.2 4.5.3 4.5.4 4.5.5 4.5.6 4.5.7 4.5.8 4.5.9 4.6.0 4.6.1 4.6.2 4.6.3 4.6.4 4.6.5 4.6.6 4.6.7 4.7.0
cookiebot / src / settings / pages / Multiple_Page.php
cookiebot / src / settings / pages Last commit date
Additional_Page.php 1 year ago Dashboard_Page.php 1 year ago Debug_Page.php 1 year ago Embeddings_Page.php 1 year ago Gcm_Page.php 1 year ago General_Page.php 1 year ago Gtm_Page.php 1 year ago Iab_Page.php 1 year ago Multiple_Page.php 1 year ago Settings_Page.php 1 year ago Settings_Page_Interface.php 1 year ago Support_Page.php 1 year ago
Multiple_Page.php
102 lines
1 <?php
2
3 namespace cybot\cookiebot\settings\pages;
4
5 use cybot\cookiebot\lib\Cookiebot_Frame;
6 use cybot\cookiebot\lib\Cookiebot_WP;
7 use cybot\cookiebot\lib\Supported_Regions;
8 use InvalidArgumentException;
9 use function cybot\cookiebot\lib\asset_url;
10 use function cybot\cookiebot\lib\include_view;
11
12 class Multiple_Page implements Settings_Page_Interface {
13
14
15 private function get_multiple_banners() {
16 $banners = get_option( 'cookiebot-multiple-banners' );
17
18 if ( ! $banners ) {
19 return null;
20 }
21
22 foreach ( $banners as $banner => $data ) {
23 $format_region = $this->selected_region_list( $data['region'], false );
24 $banners[ $banner ]['region'] = $format_region;
25 }
26
27 return $banners;
28 }
29
30 private function selected_region_list( $option, $second ) {
31 $countries = Supported_Regions::get();
32 $list = explode( ', ', $option );
33
34 if ( $second ) {
35 $ccpa = esc_attr( get_option( 'cookiebot-ccpa' ) );
36 if ( $ccpa === '1' && ! in_array( 'US-06', $list, true ) ) {
37 array_push( $list, 'US-06' );
38 }
39 }
40
41 $selected = array();
42
43 foreach ( $list as $item ) {
44 if ( isset( $countries[ $item ] ) ) {
45 $selected[ $item ] = $countries[ $item ];
46 }
47 }
48
49 return $selected;
50 }
51
52 private function retroSecondaryId() {
53 $ccpa_group_id = esc_attr( get_option( 'cookiebot-ccpa-domain-group-id' ) );
54 $secondary_group_id = esc_attr( get_option( 'cookiebot-second-banner-id' ) );
55
56 if ( $ccpa_group_id && ! $secondary_group_id ) {
57 $secondary_group_id = $ccpa_group_id;
58 update_option( 'cookiebot-second-banner-id', $ccpa_group_id );
59 delete_option( 'cookiebot-ccpa-domain-group-id' );
60 }
61
62 return $secondary_group_id;
63 }
64
65 public function getCountryName( $code ) {
66 $countries = Supported_Regions::get();
67
68 return $countries[ $code ];
69 }
70
71 /**
72 * @throws InvalidArgumentException
73 */
74 public function display() {
75 $args = array(
76 'cbid' => Cookiebot_WP::get_cbid(),
77 'secondary_group_id' => $this->retroSecondaryId(),
78 'supported_regions' => Supported_Regions::get(),
79 'ccpa_compatibility' => esc_attr( get_option( 'cookiebot-ccpa' ) ),
80 'selected_regions' => $this->selected_region_list( esc_attr( get_option( 'cookiebot-second-banner-regions' ) ), true ),
81 'multiple_banners' => $this->get_multiple_banners(),
82 );
83
84 wp_enqueue_style(
85 'cookiebot-multiple-page-css',
86 asset_url( 'css/backend/multiple_page.css' ),
87 null,
88 Cookiebot_WP::COOKIEBOT_PLUGIN_VERSION
89 );
90
91 wp_enqueue_script(
92 'cookiebot-multiple-page-js',
93 asset_url( 'js/backend/multiple-page.js' ),
94 null,
95 Cookiebot_WP::COOKIEBOT_PLUGIN_VERSION,
96 true
97 );
98
99 include_view( Cookiebot_Frame::get_view_path() . 'settings/multiple-configuration/page.php', $args );
100 }
101 }
102