peliprint/app/BlueprintFramework/Services/TelemetryService/BlueprintTelemetryService.php

43 lines
1.3 KiB
PHP
Raw Normal View History

2023-04-11 14:47:38 -04:00
<?php
namespace Pterodactyl\BlueprintFramework\Services\TelemetryService;
2023-04-11 14:47:38 -04:00
use Pterodactyl\Contracts\Repository\SettingsRepositoryInterface;
use Pterodactyl\BlueprintFramework\Services\VariableService\BlueprintVariableService;
2023-04-11 14:47:38 -04:00
class BlueprintTelemetryService
{
// Construct core
public function __construct(
private SettingsRepositoryInterface $settings,
private BlueprintVariableService $bp,
) {
}
2023-04-11 14:47:38 -04:00
public function send($event) {
if ($this->settings->get('blueprint::telemetry') == "") { $this->settings->set('blueprint::telemetry', "true"); };
if ($this->settings->get('blueprint::telemetry') == "false") {
$this->bp->config('TELEMETRY_ID','KEY_NOT_UPDATED');
return;
};
2023-04-11 15:54:57 -04:00
$curl = curl_init();
2023-04-11 15:54:57 -04:00
curl_setopt_array($curl, array(
CURLOPT_URL => 'http://data.ptero.shop:3481/send/'.$this->settings->get('blueprint::panel:id')."/".$event."/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
));
2023-04-11 15:54:57 -04:00
$response = curl_exec($curl);
2023-04-11 15:54:57 -04:00
curl_close($curl);
$this->bp->config('TELEMETRY_ID',$this->settings->get("blueprint::panel:id"));
return;
}
}