2023-04-11 14:47:38 -04:00
|
|
|
<?php
|
|
|
|
|
2023-09-07 10:17:04 -04:00
|
|
|
namespace Pterodactyl\BlueprintFramework\Services\TelemetryService;
|
2023-04-11 14:47:38 -04:00
|
|
|
use Pterodactyl\Contracts\Repository\SettingsRepositoryInterface;
|
2024-03-10 17:26:41 -04:00
|
|
|
use Pterodactyl\BlueprintFramework\Services\ConfigService\BlueprintConfigService;
|
2024-04-18 12:16:57 -04:00
|
|
|
use Pterodactyl\BlueprintFramework\Services\PlaceholderService\BlueprintPlaceholderService;
|
2023-04-11 14:47:38 -04:00
|
|
|
|
|
|
|
class BlueprintTelemetryService
|
|
|
|
{
|
2023-09-07 10:17:04 -04:00
|
|
|
// Construct core
|
2023-06-18 14:29:35 -04:00
|
|
|
public function __construct(
|
|
|
|
private SettingsRepositoryInterface $settings,
|
2024-03-10 17:26:41 -04:00
|
|
|
private BlueprintConfigService $ConfigService,
|
2024-04-18 12:16:57 -04:00
|
|
|
private BlueprintPlaceholderService $PlaceholderService,
|
2023-06-18 14:29:35 -04:00
|
|
|
) {
|
|
|
|
}
|
2023-04-11 14:47:38 -04:00
|
|
|
|
2023-06-18 14:29:35 -04:00
|
|
|
public function send($event) {
|
2023-11-01 10:24:00 -04:00
|
|
|
if ($this->settings->get('blueprint::telemetry') == "false") { return; };
|
2023-04-11 15:54:57 -04:00
|
|
|
|
2023-06-18 14:29:35 -04:00
|
|
|
$curl = curl_init();
|
|
|
|
curl_setopt_array($curl, array(
|
2024-04-18 12:16:57 -04:00
|
|
|
CURLOPT_URL => $this->PlaceholderService->api_url().'/send/'.$this->settings->get('blueprint::panel:id')."/".$event."/",
|
2023-06-18 14:29:35 -04:00
|
|
|
CURLOPT_RETURNTRANSFER => true,
|
|
|
|
CURLOPT_ENCODING => '',
|
|
|
|
CURLOPT_MAXREDIRS => 10,
|
2024-04-10 13:41:19 -04:00
|
|
|
CURLOPT_TIMEOUT => 3,
|
2023-06-18 14:29:35 -04:00
|
|
|
CURLOPT_FOLLOWLOCATION => true,
|
|
|
|
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
|
|
|
|
CURLOPT_CUSTOMREQUEST => 'GET',
|
2024-04-10 13:41:19 -04:00
|
|
|
CURLOPT_CONNECTTIMEOUT => 2,
|
2023-06-18 14:29:35 -04:00
|
|
|
));
|
|
|
|
curl_close($curl);
|
2024-04-20 06:48:57 -04:00
|
|
|
|
2024-03-10 17:26:41 -04:00
|
|
|
$this->ConfigService->config('TELEMETRY_ID',$this->settings->get("blueprint::panel:id"));
|
2023-06-18 14:29:35 -04:00
|
|
|
return;
|
|
|
|
}
|
2023-06-18 12:32:02 -04:00
|
|
|
}
|