<?php

/**
 * Class RetailCrmCollector
 */
class RetailCrmCollector
{
    public static $MODULE_ID = 'intaro.retailcrm';
    public static $CRM_COLL_KEY = 'coll_key';
    public static $CRM_COLL = 'collector';

    /**
     * Add Daemon Collector script
     *
     * @return bool
     */
    public static function add()
    {
        $keys = unserialize(COption::GetOptionString(self::$MODULE_ID, self::$CRM_COLL_KEY, 0));
        $collector = COption::GetOptionString(self::$MODULE_ID, self::$CRM_COLL, 0);

        if ($collector === 'Y' && !empty($keys[SITE_ID]) && ADMIN_SECTION !== true) {
            global $USER;

            $params = array();
            if ($USER->IsAuthorized()) {
                $params['customerId'] = $USER->GetID();
            }

            $str = "<script type=\"text/javascript\">
            (function(_,r,e,t,a,i,l){_['retailCRMObject']=a;_[a]=_[a]||function(){(_[a].q=_[a].q||[]).push(arguments)};_[a].l=1*new Date();l=r.getElementsByTagName(e)[0];i=r.createElement(e);i.async=!0;i.src=t;l.parentNode.insertBefore(i,l)})(window,document,'script','https://collector.retailcrm.pro/w.js','_rc');
            _rc('create', '" . $keys[SITE_ID] . "', " . json_encode((object) $params) . ");
            _rc('send', 'pageView');
            </script>";
            \Bitrix\Main\Page\Asset::getInstance()->addString($str, true);

            return true;
        } else {
            return false;
        }
    }
}