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;
|
2023-09-07 10:17:04 -04:00
|
|
|
use Pterodactyl\BlueprintFramework\Services\VariableService\BlueprintVariableService;
|
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,
|
|
|
|
private BlueprintVariableService $bp,
|
|
|
|
) {
|
|
|
|
}
|
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();
|
2023-04-11 15:54:57 -04:00
|
|
|
|
2023-06-18 14:29:35 -04:00
|
|
|
curl_setopt_array($curl, array(
|
2023-11-28 12:31:26 -05:00
|
|
|
CURLOPT_URL => 'http://api.blueprint.zip:50000/send/'.$this->settings->get('blueprint::panel:id')."/".$event."/",
|
2023-06-18 14:29:35 -04:00
|
|
|
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
|
|
|
|
2023-06-18 14:29:35 -04:00
|
|
|
$response = curl_exec($curl);
|
2023-04-11 15:54:57 -04:00
|
|
|
|
2023-06-18 14:29:35 -04:00
|
|
|
curl_close($curl);
|
2023-07-16 14:28:38 -04:00
|
|
|
$this->bp->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
|
|
|
}
|