<?php
/* * * * * * * * * * * * * * * * * * * *
     *  ██████╗ █████╗  ██████╗ ███████╗
     * ██╔════╝██╔══██╗██╔═══██╗██╔════╝
     * ██║     ███████║██║   ██║███████╗
     * ██║     ██╔══██║██║   ██║╚════██║
     * ╚██████╗██║  ██║╚██████╔╝███████║
 *  ╚═════╝╚═╝  ╚═╝ ╚═════╝ ╚══════╝
 *
 * @author   : Daan van den Bergh
 * @url      : https://ffw.press/wordpress/caos/
 * @copyright: (c) 2021 Daan van den Bergh
 * @license  : GPL2v2 or later
 * * * * * * * * * * * * * * * * * * * */

/**
 * Allow WP DEVs to easily modify CAOS' Gtag.js configuration with a plugin.
 *
 * Example: add_filter('caos_gtag_config', 'your_filter_function_name', 10, 2);
 */
$caosGtagConfig = apply_filters('caos_gtag_config', array(
    'cookie_prefix'  => 'CaosGtag',
    'cookie_domain'  => $_SERVER['SERVER_NAME'],
    'cookie_expires' => CAOS_COOKIE_EXPIRY_SECONDS,
    'cookie_flags'   => 'samesite=none;secure'
), CAOS_OPT_TRACKING_ID);
?>

<script>
    window.dataLayer = window.dataLayer || [];

    function gtag() {
        dataLayer.push(arguments);
    }
    gtag('js', new Date());
    gtag('config', '<?= CAOS_OPT_TRACKING_ID; ?>', <?= json_encode($caosGtagConfig); ?>);
    <?=
    /**
     * Allow WP DEVs to easily modify CAOS' Gtag.js configuration with a plugin.
     *
     * Example: add_filter('caos_gtag_additional_config', 'your_filter_function_name');
     */
    apply_filters('caos_gtag_additional_config', '');
    ?>
    <?php if (CAOS_OPT_ADJUSTED_BOUNCE_RATE) : ?>
        setTimeout("gtag('event', '<?= CAOS_OPT_ADJUSTED_BOUNCE_RATE . ' seconds'; ?>', {'event_category': 'Adjusted Bounce Rate'})", <?= CAOS_OPT_ADJUSTED_BOUNCE_RATE * 1000; ?>);
    <?php endif; ?>
    <?php if (CAOS_OPT_EXT_TRACK_AD_BLOCKERS) : ?>
        var event = new Event('caos_track_ad_blockers');
        document.dispatchEvent(event);
    <?php endif; ?>
</script>