PluginProbe
Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode / 4.7.3
Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode v4.7.3
4.7.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 All 93 releases
cookiebot / src / shortcode / Cookiebot_Embedding_Shortcode.php

Cookiebot_Embedding_Shortcode.php in Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode 4.7.3, at src/shortcode/Cookiebot_Embedding_Shortcode.php

52 lines 1.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
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