����JFIF��x�x����'
| Server IP : 78.140.185.180 / Your IP : 216.73.216.170 Web Server : LiteSpeed System : Linux cpanel13.v.fozzy.com 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64 User : builderbox ( 1072) PHP Version : 7.3.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/builderbox/./././www/common/Settings/Validators/ |
Upload File : |
<?php
namespace Common\Settings\Validators;
use Config;
use Exception;
use Arr;
Use Str;
use Google_Service_Exception;
use Common\Admin\Analytics\Actions\GetGoogleAnalyticsData;
class AnalyticsCredentialsValidator
{
const KEYS = ['analytics_view_id', 'analytics_service_email', 'analytics.tracking_code', 'certificate'];
public function fails($settings)
{
$this->setConfigDynamically($settings);
try {
app(GetGoogleAnalyticsData::class)->execute(null);
} catch (Exception $e) {
return $this->getErrorMessage($e);
}
}
private function setConfigDynamically($settings)
{
if ($viewId = Arr::get($settings, 'analytics_view_id')) {
Config::set('analytics.view_id', $viewId);
}
}
/**
* @param Exception $e
* @return array
*/
private function getErrorMessage($e)
{
if ($e instanceof Google_Service_Exception) {
$message = Arr::get($e->getErrors(), '0.message');
} else if (Str::contains($e->getMessage(), "Could not find a credentials file at")) {
return ['certificate' => 'Google Service Account Key File is required and has not been uploaded yet.'];
} else {
$message = $e->getMessage();
}
return ['analytics_group' => 'Invalid credentials: ' . $message];
}
}