PluginProbe ʕ •ᴥ•ʔ
Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode / 4.5.3
Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode v4.5.3
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 / shortcode / Cookiebot_Embedding_Shortcode.php
cookiebot / src / shortcode Last commit date
Cookiebot_Declaration_Shortcode.php 1 year ago Cookiebot_Embedding_Shortcode.php 1 year ago
Cookiebot_Embedding_Shortcode.php
52 lines
1 <?php
2
3 namespace cybot\cookiebot\shortcode;
4
5 use InvalidArgumentException;
6 use function cybot\cookiebot\lib\get_view_html;
7
8 class Cookiebot_Embedding_Shortcode {
9
10
11 public function register_hooks() {
12 add_shortcode( 'uc_embedding', array( static::class, 'show_declaration' ) );
13 }
14
15 /**
16 * Cookiebot_WP Output declation shortcode [cookie_declaration]
17 * Support attribute lang="LANGUAGE_CODE". Eg. lang="en".
18 *
19 * @throws InvalidArgumentException
20 * @since 1.0.0
21 * @version 2.2.0
22 */
23 public static function show_declaration( $shortcode_attributes = array() ) {
24 $class = self::get_embed_class( $shortcode_attributes['class'] );
25 $type = ! empty( $shortcode_attributes['type'] ) ? $shortcode_attributes['type'] : 'all';
26 $unique_service = ! empty( $shortcode_attributes['service'] ) ? $shortcode_attributes['service'] : false;
27 $toggle = self::get_embed_toggle( $shortcode_attributes['show-toggle'] );
28
29 if ( $type === 'service-specific' && ! $unique_service ) {
30 return esc_html__( 'Please add a service ID into the shortcode "service" parameter.', 'cookiebot' );
31 }
32
33 return get_view_html(
34 'frontend/shortcodes/uc-embed.php',
35 array(
36 'class' => $class,
37 'type' => $type,
38 'unique_service' => $unique_service,
39 'toggle' => $toggle,
40 )
41 );
42 }
43
44 private static function get_embed_class( $attribute ) {
45 return empty( $attribute ) || $attribute === 'gdpr' ? 'uc-embed' : 'uc-embed-tcf';
46 }
47
48 private static function get_embed_toggle( $attribute ) {
49 return empty( $attribute ) || $attribute === 'false' ? 'false' : 'true';
50 }
51 }
52