PluginProbe ʕ •ᴥ•ʔ
Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode / 4.0.2
Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode v4.0.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 / lib / Cookiebot_Javascript_Helper.php
cookiebot / src / lib Last commit date
buffer 4 years ago script_loader_tag 4 years ago traits 4 years ago Consent_API_Helper.php 4 years ago Cookie_Consent.php 4 years ago Cookie_Consent_Interface.php 4 years ago Cookiebot_Activated.php 4 years ago Cookiebot_Automatic_Updates.php 4 years ago Cookiebot_Deactivated.php 4 years ago Cookiebot_Javascript_Helper.php 4 years ago Cookiebot_WP.php 4 years ago Dependency_Container.php 4 years ago Settings_Page_Tab.php 4 years ago Settings_Service.php 4 years ago Settings_Service_Interface.php 4 years ago Supported_Languages.php 4 years ago WP_Rocket_Helper.php 4 years ago Widgets.php 4 years ago global-deprecations.php 4 years ago helper.php 4 years ago
Cookiebot_Javascript_Helper.php
132 lines
1 <?php
2
3 namespace cybot\cookiebot\lib;
4
5 use cybot\cookiebot\shortcode\Cookiebot_Declaration_Shortcode;
6 use InvalidArgumentException;
7
8 class Cookiebot_Javascript_Helper {
9 public function register_hooks() {
10 if ( is_admin() ) {
11 //Check if we should show cookie consent banner on admin pages
12 if ( ! Cookiebot_WP::cookiebot_disabled_in_admin() ) {
13 //adding cookie banner in admin area too
14 add_action( 'admin_head', array( $this, 'include_cookiebot_js' ), - 9999 );
15 }
16 }
17
18 //add JS
19 add_action( 'wp_head', array( $this, 'include_cookiebot_js' ), - 9997 );
20 add_action( 'wp_head', array( $this, 'include_google_tag_manager_js' ), - 9998 );
21 add_action( 'wp_head', array( $this, 'include_google_consent_mode_js' ), - 9999 );
22 ( new Cookiebot_Declaration_Shortcode() )->register_hooks();
23 }
24
25 /**
26 * Cookiebot_WP Add Cookiebot JS to <head>
27 *
28 * @param false $return_html
29 *
30 * @return string
31 * @throws InvalidArgumentException
32 */
33 public function include_cookiebot_js( $return_html = false ) {
34 $cbid = Cookiebot_WP::get_cbid();
35 if ( ! empty( $cbid ) && ! defined( 'COOKIEBOT_DISABLE_ON_PAGE' ) ) {
36 if ( is_multisite() && get_site_option( 'cookiebot-nooutput', false ) ) {
37 return ''; //Is multisite - and disabled output is checked as network setting
38 }
39
40 if ( get_option( 'cookiebot-nooutput', false ) ) {
41 return ''; //Do not show JS - output disabled
42 }
43
44 if (
45 Cookiebot_WP::get_cookie_blocking_mode() === 'auto' &&
46 Cookiebot_WP::can_current_user_edit_theme() &&
47 $return_html === true &&
48 get_site_option( 'cookiebot-output-logged-in' ) === false
49 ) {
50 return '';
51 }
52
53 $lang = cookiebot_get_language_from_setting();
54
55 if ( ! is_multisite() || get_site_option( 'cookiebot-script-tag-uc-attribute', 'custom' ) === 'custom' ) {
56 $tag_attr = get_option( 'cookiebot-script-tag-uc-attribute', 'async' );
57 } else {
58 $tag_attr = get_site_option( 'cookiebot-script-tag-uc-attribute' );
59 }
60
61 $view_path = 'frontend/scripts/cookiebot-js.php';
62 $view_args = array(
63 'cbid' => $cbid,
64 'lang' => $lang,
65 'tag_attr' => $tag_attr,
66 'cookie_blocking_mode' => Cookiebot_WP::get_cookie_blocking_mode(),
67 );
68
69 if ( $return_html ) {
70 return get_view_html( $view_path, $view_args );
71 } else {
72 include_view( $view_path, $view_args );
73 }
74 }
75 return '';
76 }
77
78 /**
79 * Cookiebot_WP Add Google Tag Manager JS to <head>
80 *
81 * @param bool $return_html
82 *
83 * @return string
84 * @throws InvalidArgumentException
85 */
86 public function include_google_tag_manager_js( $return_html = false ) {
87 if ( get_option( 'cookiebot-gtm' ) !== false ) {
88 if ( empty( get_option( 'cookiebot-data-layer' ) ) ) {
89 $data_layer = 'dataLayer';
90 } else {
91 $data_layer = get_option( 'cookiebot-data-layer' );
92 }
93
94 $view_path = 'frontend/scripts/google-tag-manager-js.php';
95 $view_args = array( 'data_layer' => $data_layer );
96 if ( $return_html ) {
97 return get_view_html( $view_path, $view_args );
98 } else {
99 include_view( $view_path, $view_args );
100 }
101 }
102 return '';
103 }
104
105 /**
106 * Cookiebot_WP Add Google Consent Mode JS to <head>
107 *
108 * @param bool $return_html
109 *
110 * @return string
111 * @throws InvalidArgumentException
112 */
113 public function include_google_consent_mode_js( $return_html = false ) {
114 if ( get_option( 'cookiebot-gcm' ) !== false ) {
115 if ( empty( get_option( 'cookiebot-data-layer' ) ) ) {
116 $data_layer = 'dataLayer';
117 } else {
118 $data_layer = get_option( 'cookiebot-data-layer' );
119 }
120
121 $view_path = 'frontend/scripts/google-consent-mode-js.php';
122 $view_args = array( 'data_layer' => $data_layer );
123 if ( $return_html ) {
124 return get_view_html( $view_path, $view_args );
125 } else {
126 include_view( $view_path, $view_args );
127 }
128 }
129 return '';
130 }
131 }
132