HEX
Server: LiteSpeed
System: Linux s1049.use1.mysecurecloudhost.com 4.18.0-477.27.2.lve.el8.x86_64 #1 SMP Wed Oct 11 12:32:56 UTC 2023 x86_64
User: xedaptot (3356)
PHP: 8.3.31
Disabled: NONE
Upload Files
File: /home/xedaptot/iphim.naniguide.com/common/Settings/Validators/AnalyticsCredentialsValidator.php
<?php

namespace Common\Settings\Validators;

use Common\Admin\Analytics\Actions\BuildGoogleAnalyticsReport;
use Exception;
use Illuminate\Support\Arr;
use Illuminate\Support\Facades\Config;

class AnalyticsCredentialsValidator
{
    const KEYS = [
        'analytics_property_id',
        'analytics.tracking_code',
        'certificate',
    ];

    public function fails($settings): array|false
    {
        $this->setConfigDynamically($settings);

        try {
            app(BuildGoogleAnalyticsReport::class)->execute([]);
        } catch (Exception $e) {
            return [
                'analytics_group' => "Invalid credentials: {$e->getMessage()}",
            ];
        }

        return false;
    }

    private function setConfigDynamically(array $settings): void
    {
        if ($propertyId = Arr::get($settings, 'analytics_property_id')) {
            Config::set('services.google.analytics_property_id', $propertyId);
        }
    }
}