Skip to content
Snippets Groups Projects
AnalyticsTrait.php 1.31 KiB
Newer Older
<?php

/**
 * @copyright  2021 Podlibre
 * @license    https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3
 * @link       https://castopod.org/
 */

namespace Analytics;

    protected function registerPodcastWebpageHit(int $podcastId): void
    {
        helper('analytics');

        set_user_session_deny_list_ip();
        set_user_session_browser();
        set_user_session_referer();
        set_user_session_entry_page();

        $session->start();

        if (!$session->get('denyListIp')) {

            $referer = $session->get('referer');
            $domain = empty(parse_url($referer, PHP_URL_HOST))
                ? '- Direct -'
                : parse_url($referer, PHP_URL_HOST);
            parse_str(parse_url($referer, PHP_URL_QUERY), $queries);
            $keywords = empty($queries['q']) ? null : $queries['q'];

            $procedureName = $db->prefixTable('analytics_website');
            $db->query("call {$procedureName}(?,?,?,?,?,?)", [
                $podcastId,
                $session->get('browser'),
                $session->get('entryPage'),
                $referer,
                $domain,
                $keywords,
            ]);
        }
    }
}