2023-04-11 14:47:38 -04:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace Pterodactyl\Services\Helpers;
|
|
|
|
use Pterodactyl\Contracts\Repository\SettingsRepositoryInterface;
|
|
|
|
|
|
|
|
class BlueprintTelemetryService
|
|
|
|
{
|
|
|
|
// Construct BlueprintTelemetryService
|
|
|
|
public function __construct(
|
|
|
|
private SettingsRepositoryInterface $settings,
|
|
|
|
) {
|
|
|
|
}
|
|
|
|
|
2023-04-11 15:54:57 -04:00
|
|
|
public function send($event) {
|
2023-05-09 15:35:06 -04:00
|
|
|
if ($this->settings->get('blueprint::telemetry') == "") { $this->settings->set('blueprint::telemetry', "true"); };
|
2023-06-18 12:32:02 -04:00
|
|
|
if ($this->settings->get('blueprint::telemetry') == "false") {
|
2023-06-18 13:56:42 -04:00
|
|
|
shell_exec('blueprint -exec key KEY_NOT_UPDATED');
|
2023-06-18 12:32:02 -04:00
|
|
|
return;
|
|
|
|
};
|
2023-04-11 15:54:57 -04:00
|
|
|
|
|
|
|
$curl = curl_init();
|
|
|
|
|
|
|
|
curl_setopt_array($curl, array(
|
2023-05-31 08:19:13 -04:00
|
|
|
CURLOPT_URL => 'http://data.ptero.shop:3481/send/'.$this->settings->get('blueprint::panel:id')."/".$event."/",
|
2023-04-11 15:54:57 -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',
|
|
|
|
));
|
|
|
|
|
|
|
|
$response = curl_exec($curl);
|
|
|
|
|
2023-05-31 08:19:13 -04:00
|
|
|
curl_close($curl);
|
2023-06-18 12:33:39 -04:00
|
|
|
shell_exec("blueprint -exec key "$this->settings->get("blueprint::panel:id"));
|
2023-04-11 15:54:57 -04:00
|
|
|
return;
|
2023-04-11 14:47:38 -04:00
|
|
|
}
|
2023-06-18 12:32:02 -04:00
|
|
|
}
|