HEX
Server: Apache/2.4.54 (Debian)
System: Linux a5825d2beacc 4.15.0-197-generic #208-Ubuntu SMP Tue Nov 1 17:23:37 UTC 2022 x86_64
User: root (0)
PHP: 8.1.14
Disabled: NONE
Upload Files
File: /var/www/html/wp-content/plugins/complianz-gdpr/integrations/services/hubspot.php
<?php
defined( 'ABSPATH' ) or die( "you do not have access to this page!" );

add_filter( 'cmplz_known_script_tags', 'cmplz_hs_tracking_script' );
function cmplz_hs_tracking_script( $tags ) {
	$tags[] = 'track.hubspot.com';
	$tags[] = 'js.hs-analytics.net';

	return $tags;
}

/**
 * Sync the Complianz banner with the hubspot banner by clicking on the apropriate buttonn when consent is given.
 */

function cmplz_hubspot_clicker() {
	if (cmplz_get_value('block_hubspot_service') === 'yes') {
		ob_start();
		?>
		<script>
			document.addEventListener("cmplz_enable_category", cmplzHubspotScriptHandler);
			function cmplzHubspotScriptHandler(consentData) {
				let hubspotAcceptBtn = document.getElementById("hs-eu-confirmation-button");
				let hubspotDeclinetBtn = document.getElementById("hs-eu-decline-button");
				if ( consentData.detail.category === 'marketing' ) {
					if ( hubspotAcceptBtn != null ) {
						hubspotAcceptBtn.click();
					}
				} else {
					if ( hubspotDeclinetBtn != null ) {
						hubspotDeclinetBtn.click();
					}
				}

				if ( hubspotAcceptBtn ) {
					hubspotAcceptBtn.parentNode.removeChild(hubspotAcceptBtn);
				}
			}
		</script>
		<?php
		$script = ob_get_clean();
		$script = str_replace(array('<script>', '</script>'), '', $script);
		wp_add_inline_script( 'cmplz-cookiebanner', $script);
	}
}
add_action( 'wp_enqueue_scripts', 'cmplz_hubspot_clicker', PHP_INT_MAX);

/**
 * Add custom hubspot css
 */
function cmplz_hubspot_css() {
	if (cmplz_get_value('block_hubspot_service') === 'yes'){ ?>
		<style>
			div#hs-eu-cookie-confirmation {display: none;}
		</style>
	<?php
	}
}
add_action( 'wp_footer', 'cmplz_hubspot_css' );