# simpleanalytics/1.47/src/Scripts/AnalyticsScript.php

Simple Analytics, version 1.47. 36 lines.

- Page: https://pluginprobe.com/plugins/simpleanalytics/1.47/code/src/Scripts/AnalyticsScript.php
- Raw: https://pluginprobe.com/plugins/simpleanalytics/1.47/raw/src/Scripts/AnalyticsScript.php
- Modified: 2024-09-13T11:41:00+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/simpleanalytics/1.47/code/src/Scripts/AnalyticsScript.php#L10-L20`.

```php
<?php

namespace SimpleAnalytics\Scripts;

use SimpleAnalytics\Scripts\Contracts\HasAttributes;
use SimpleAnalytics\Scripts\Contracts\HideScriptId;
use SimpleAnalytics\Scripts\Contracts\Script;
use SimpleAnalytics\Setting;
use SimpleAnalytics\SettingName;

class AnalyticsScript implements Script, HasAttributes, HideScriptId
{
    public function path(): string
    {
        return sprintf("https://%s/latest.js", Setting::get(SettingName::CUSTOM_DOMAIN, 'scripts.simpleanalyticscdn.com'));
    }

    public function handle(): string
    {
        return 'simpleanalytics';
    }

    public function attributes(): array
    {
        return array_filter([
            'data-mode'         => Setting::boolean(SettingName::HASH_MODE) ? 'hash' : null,
            'data-collect-dnt'  => Setting::boolean(SettingName::COLLECT_DNT) ? 'true' : null,
            'data-ignore-pages' => Setting::get(SettingName::IGNORE_PAGES),
            'data-auto-collect' => Setting::get(SettingName::MANUAL_COLLECT) ? 'true' : null,
            'data-onload'       => Setting::get(SettingName::ONLOAD_CALLBACK),
            'data-sa-global'    => Setting::get(SettingName::SA_GLOBAL),
            'data-hostname'     => Setting::get(SettingName::HOSTNAME),
        ]);
    }
}

```
