PluginProbe ʕ •ᴥ•ʔ
Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode / 4.5.0
Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode v4.5.0
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 / view / admin / cb_frame / settings / iab-page.php
cookiebot / src / view / admin / cb_frame / settings Last commit date
multiple-configuration 1 year ago additional-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
iab-page.php
278 lines
1 <?php
2 /**
3 * @var bool $cookiebot_iab
4 * @var object $purposes
5 * @var object $special_purposes
6 * @var object $features
7 * @var object $special_features
8 * @var object $vendors
9 * @var array $vendor_data
10 * @var array $custom_tcf_purposes
11 * @var array $custom_tcf_special_purposes
12 * @var array $custom_tcf_features
13 * @var array $custom_tcf_special_features
14 * @var array $custom_tcf_vendors
15 * @var array $custom_tcf_restrictions
16 * @var array $custom_tcf_ac_vendors
17 * @var array $extra_providers
18 */
19
20 use cybot\cookiebot\settings\pages\Iab_Page;
21
22 $iab_page = new Iab_Page();
23 ?>
24 <div class="cb-settings__config__item">
25 <div class="cb-settings__config__content">
26 <h3 class="cb-settings__config__subtitle"><?php esc_html_e( 'IAB Integration:', 'cookiebot' ); ?></h3>
27 <p class="cb-general__info__text">
28 <?php esc_html_e( 'If you want to use the IAB Framework TCF within your Consent Management Platform (CMP) you can enable it on the right. Be aware that activating this could override some of the configurations you made with the default setup defined by the IAB.', 'cookiebot' ); ?>
29 </p>
30 <a href="https://support.cookiebot.com/hc/en-us/articles/360007652694-Cookiebot-and-the-IAB-Consent-Framework"
31 target="_blank" class="cb-btn cb-link-btn" rel="noopener">
32 <?php esc_html_e( 'Read more on IAB with Cookiebot CMP here', 'cookiebot' ); ?>
33 </a>
34 </div>
35 <div class="cb-settings__config__data">
36 <div class="cb-settings__config__data__inner">
37 <label class="switch-checkbox" for="cookiebot-iab">
38 <input type="checkbox" name="cookiebot-iab" id="cookiebot-iab" value="1"
39 <?php checked( 1, $cookiebot_iab ); ?>>
40 <div class="switcher"></div>
41 <?php esc_html_e( 'IAB TCF V2.2 integration', 'cookiebot' ); ?>
42 </label>
43 </div>
44 </div>
45 </div>
46
47 <?php if ( $vendor_data ) : ?>
48 <?php foreach ( $vendor_data as $name => $data ) : ?>
49 <?php if ( $name !== 'vendors' ) : ?>
50 <?php $item_attribute = Iab_Page::get_option_attribute_name( $name ); ?>
51 <div class="cb-settings__vendor__config__item">
52 <div class="cb-settings__config__content">
53 <h3 class="cb-settings__config__subtitle">
54 <?php echo esc_html( $data['title'] ); ?>
55 </h3>
56 <p class="cb-general__info__text"><?php echo esc_html( $data['description'] ); ?></p>
57 </div>
58 <div class="cb-settings__config__data">
59 <div class="cb-settings__config__data__inner">
60 <div class="vendor-selected-items search-list">
61 <?php foreach ( $data['items'] as $item ) : ?>
62 <label class="switch-checkbox"
63 for="cookiebot-<?php echo esc_attr( $item_attribute ); ?>-<?php echo esc_attr( $item['id'] ); ?>">
64 <input
65 type="checkbox"
66 name="cookiebot-tcf-<?php echo esc_attr( $item_attribute ); ?>[]"
67 id="cookiebot-<?php echo esc_attr( $item_attribute ); ?>-<?php echo esc_attr( $item['id'] ); ?>"
68 value="<?php echo esc_attr( $item['id'] ); ?>"
69 <?php echo $iab_page->vendor_checked( $item['id'], $data['selected'] ) ? 'checked' : ''; ?>>
70 <div class="switcher"></div>
71 <?php echo esc_html( $iab_page->return_translation_value( $name, $item ) ); ?>
72 </label>
73 <?php endforeach; ?>
74 </div>
75 </div>
76 </div>
77 </div>
78 <?php endif; ?>
79 <?php endforeach; ?>
80 <?php else : ?>
81 <div class="cb-settings__vendor__config__item vendor-list-offline">
82 <div class="cb-settings__config__content">
83 <h3 class="cb-settings__config__subtitle">
84 <?php echo esc_html_e( 'IAB vendor list is temporarily offline. Please try refreshing the page after a couple of minutes.', 'cookiebot' ); ?>
85 </h3>
86 <p class="cb-general__info__text"><?php echo esc_html_e( 'If you had previously saved configurations, don’t worry, they will continue to work.', 'cookiebot' ); ?></p>
87 </div>
88 </div>
89 <?php
90 //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
91 echo Iab_Page::get_backup_custom_option( 'cookiebot-tcf-purposes', $custom_tcf_purposes );
92 //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
93 echo Iab_Page::get_backup_custom_option( 'cookiebot-tcf-special-purposes', $custom_tcf_special_purposes );
94 //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
95 echo Iab_Page::get_backup_custom_option( 'cookiebot-tcf-features', $custom_tcf_features );
96 //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
97 echo Iab_Page::get_backup_custom_option( 'cookiebot-tcf-special-features', $custom_tcf_special_features );
98 //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
99 echo Iab_Page::get_backup_custom_option( 'cookiebot-tcf-vendors', $custom_tcf_vendors );
100 //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
101 echo Iab_Page::get_backup_custom_restrictions( $custom_tcf_restrictions );
102 ?>
103 <?php endif; ?>
104
105 <?php if ( ( $vendor_data && $vendor_data['vendors'] ) || $extra_providers ) : ?>
106 <div class="cb-settings__vendor__config__item">
107 <div class="cb-settings__config__content">
108 <h3 class="cb-settings__config__subtitle">
109 <?php esc_html_e( 'Sharing data with third-party vendors', 'cookiebot' ); ?>
110 </h3>
111 <p class="cb-general__info__text">
112 <?php
113 esc_html_e( 'Select vendors with whom you’ll share users’ data. We’ll include this information on the second layer of your consent banner, where users interested in more granular detail about who will access their data can view it.', 'cookiebot' );
114 ?>
115 </p>
116 </div>
117 </div>
118 <?php endif; ?>
119
120
121 <?php if ( $vendor_data && $vendor_data['vendors'] ) : ?>
122 <?php $item_attribute = Iab_Page::get_option_attribute_name( 'vendors' ); ?>
123 <div class="cb-settings__vendor__config__item">
124 <div class="cb-settings__config__content">
125 <h3 class="cb-settings__config__subtitle only-title">
126 <?php echo esc_html( $vendor_data['vendors']['title'] ); ?>
127 </h3>
128 </div>
129 <div class="cb-settings__config__data">
130 <div class="cb-settings__config__data__inner cb-vendor-settings">
131 <input type="text" class="cb-settings__selector-search checkbox-vendor-search"
132 placeholder="<?php esc_html_e( 'Search', 'cookiebot' ); ?>...">
133 <div class="cb-settings__selector-all cb-btn cb-main-btn"><?php esc_html_e( 'Select All', 'cookiebot' ); ?></div>
134 <div class="cb-settings__selector-none cb-btn cb-white-btn"><?php esc_html_e( 'Deselect All', 'cookiebot' ); ?></div>
135 <div class="vendor-selected-items-message hidden">
136 <span><?php esc_html_e( 'Select at least one vendor', 'cookiebot' ); ?></span></div>
137 <div class="vendor-selected-items search-list">
138 <?php foreach ( $vendor_data['vendors']['items'] as $item ) : ?>
139 <label class="switch-checkbox"
140 for="cookiebot-<?php echo esc_attr( $item_attribute ); ?>-<?php echo esc_attr( $item['id'] ); ?>">
141 <input
142 type="checkbox"
143 name="cookiebot-tcf-<?php echo esc_attr( $item_attribute ); ?>[]"
144 id="cookiebot-<?php echo esc_attr( $item_attribute ); ?>-<?php echo esc_attr( $item['id'] ); ?>"
145 value="<?php echo esc_attr( $item['id'] ); ?>"
146 <?php echo $iab_page->vendor_checked( $item['id'], $vendor_data['vendors']['selected'] ) ? 'checked' : ''; ?>>
147 <div class="switcher"></div>
148 <?php echo esc_html( $iab_page->return_translation_value( 'vendors', $item ) ); ?>
149 </label>
150 <?php endforeach; ?>
151 </div>
152 </div>
153 </div>
154 </div>
155 <?php endif; ?>
156
157 <?php if ( $extra_providers ) : ?>
158 <div class="cb-settings__vendor__config__item">
159 <div class="cb-settings__config__content">
160 <h3 class="cb-settings__config__subtitle only-title">
161 <?php esc_html_e( 'Google Ads certified external vendors', 'cookiebot' ); ?>
162 </h3>
163 </div>
164 <div class="cb-settings__config__data">
165 <div class="cb-settings__config__data__inner cb-vendor-settings">
166 <input type="text" class="cb-settings__selector-search checkbox-vendor-search"
167 placeholder="<?php esc_html_e( 'Search', 'cookiebot' ); ?>...">
168 <div class="cb-settings__selector-all cb-btn cb-main-btn"><?php esc_html_e( 'Select All', 'cookiebot' ); ?></div>
169 <div class="cb-settings__selector-none cb-btn cb-white-btn"><?php esc_html_e( 'Deselect All', 'cookiebot' ); ?></div>
170 <div class="vendor-selected-items search-list">
171 <?php foreach ( $extra_providers as $item ) : ?>
172 <label class="switch-checkbox" for="cookiebot-ac-vendor<?php echo esc_attr( $item['id'] ); ?>">
173 <input
174 type="checkbox"
175 name="cookiebot-tcf-ac-vendors[]"
176 id="cookiebot-ac-vendor<?php echo esc_attr( $item['id'] ); ?>"
177 value="<?php echo esc_attr( $item['id'] ); ?>"
178 <?php echo $iab_page->vendor_checked( $item['id'], $custom_tcf_ac_vendors ) ? 'checked' : ''; ?>>
179 <div class="switcher"></div>
180 <?php echo esc_html( $item['name'] ); ?>
181 </label>
182 <?php endforeach; ?>
183 </div>
184 </div>
185 </div>
186 </div>
187 <?php endif; ?>
188 <?php if ( $vendor_data ) : ?>
189
190 <div class="cb-settings__vendor__config__item">
191 <div class="cb-settings__config__content">
192 <h3 class="cb-settings__config__subtitle">
193 <?php esc_html_e( 'Restrictions of data use purposes for vendors', 'cookiebot' ); ?>
194 </h3>
195 <p class="cb-general__info__text">
196 <?php
197 esc_html_e(
198 'Set restrictions on data use purposes for specific vendors. Add vendors and the data use purposes that each vendor is allowed. We’ll share this information with users within your consent banner.',
199 'cookiebot'
200 );
201 ?>
202 </p>
203 <div class="cb-btn cb-main-btn restriction-vendor-add"><?php esc_html_e( 'Add Vendor', 'cookiebot' ); ?></div>
204 </div>
205 <?php
206 foreach ( $custom_tcf_restrictions as $vendor => $settings ) :
207 $select_name_attr = $vendor !== 0 ? 'cookiebot-tcf-disallowed[' . $vendor . ']' : '';
208 $vendors_list = $vendor_data['vendors'];
209 $selector_placeholder = __( 'Select Vendor', 'cookiebot' );
210 foreach ( $vendors_list['items'] as $item ) {
211 if ( $item['id'] === $vendor ) {
212 $selector_placeholder = $item['name'];
213 }
214 }
215 ?>
216 <div class="cb-settings__config__data cb-settings__vendor__restrictions">
217 <div class="cb-settings__config__data__inner">
218 <div class="cb-settings__selector__container">
219 <input type="hidden" name="<?php echo esc_html( $select_name_attr ); ?>"
220 class="cb-settings__selector__container-input">
221 <div class="cb-settings__selector-selector"
222 data-placeholder="<?php esc_attr_e( 'Select Vendor', 'cookiebot' ); ?>"><?php echo esc_html( $selector_placeholder ); ?></div>
223 <div class="cb-settings__selector-list-container hidden">
224 <div class="cb-settings__selector-veil"></div>
225 <input type="text" class="cb-settings__selector-search"
226 placeholder="<?php esc_html_e( 'Search', 'cookiebot' ); ?>...">
227 <div class="cb-settings__selector-list search-list">
228 <?php foreach ( $vendors_list['items'] as $item ) : ?>
229 <div
230 data-value="<?php echo esc_attr( $item['id'] ); ?>"
231 class="cb-settings__selector-list-item <?php echo $item['id'] === $vendor ? 'selected' : ''; ?>"><?php echo esc_html( $item['name'] ); ?></div>
232 <?php endforeach; ?>
233 </div>
234 </div>
235 </div>
236 <div class="cb-btn cb-main-btn vendor-purposes-show"><?php esc_html_e( 'Set Purposes', 'cookiebot' ); ?></div>
237 <div class="remove__restriction dashicons dashicons-dismiss"></div>
238 </div>
239 <div class="vendor-purposes-restrictions hidden">
240 <?php
241 foreach ( $vendor_data as $name => $data ) :
242 if ( $name === 'purposes' ) :
243 ?>
244 <div class="cb-settings__config__data__inner">
245 <div class="vendor-selected-items">
246 <?php foreach ( $data['items'] as $item ) : ?>
247
248 <?php
249 $item_attribute = str_replace( '_', '-', $name );
250 $item_name = $vendor !== 0 ? 'cookiebot-tcf-disallowed[' . $vendor . '][purposes][]' : '';
251 $item_id = 'cookiebot-vendor' . $vendor . '-' . $item_attribute . $item['id'];
252 ?>
253
254 <label class="switch-checkbox" for="<?php echo esc_html( $item_id ); ?>">
255 <input
256 type="checkbox"
257 name="<?php echo esc_attr( $item_name ); ?>"
258 id="<?php echo esc_html( $item_id ); ?>"
259 class="purpose-item"
260 value="<?php echo esc_attr( $item['id'] ); ?>"
261 <?php echo $iab_page->vendor_checked( $item['id'], $settings['purposes'] ) ? 'checked' : ''; ?>>
262
263 <div class="switcher"></div>
264 <?php echo esc_html( $iab_page->return_translation_value( $name, $item ) ); ?>
265 </label>
266 <?php endforeach; ?>
267 </div>
268 </div>
269 <?php
270 endif;
271 endforeach;
272 ?>
273 </div>
274 </div>
275 <?php endforeach; ?>
276 </div>
277 <?php endif; ?>
278