2023-02-19 13:30:47 -05:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace Pterodactyl\Services\Helpers;
|
2023-02-26 08:39:44 -05:00
|
|
|
use Pterodactyl\Contracts\Repository\SettingsRepositoryInterface;
|
2023-02-19 13:30:47 -05:00
|
|
|
|
|
|
|
class BlueprintVariableService
|
|
|
|
{
|
|
|
|
// Construct BlueprintVariableService
|
2023-02-26 08:39:44 -05:00
|
|
|
public function __construct(
|
|
|
|
private SettingsRepositoryInterface $settings,
|
|
|
|
) {
|
2023-02-21 03:21:45 -05:00
|
|
|
}
|
|
|
|
|
2023-02-19 13:30:47 -05:00
|
|
|
|
|
|
|
// $bp->licenseIsValid()
|
2023-02-21 03:21:45 -05:00
|
|
|
public function licenseIsValid(): bool{
|
|
|
|
$curl = curl_init();
|
|
|
|
|
|
|
|
curl_setopt_array($curl, array(
|
2023-02-22 15:13:48 -05:00
|
|
|
CURLOPT_URL => 'http://api.ptero.shop:28015/validate/'.$this->licenseKey(),
|
2023-02-21 03:21:45 -05:00
|
|
|
CURLOPT_RETURNTRANSFER => true,
|
|
|
|
CURLOPT_ENCODING => '',
|
|
|
|
CURLOPT_MAXREDIRS => 10,
|
2023-02-23 16:01:51 -05:00
|
|
|
CURLOPT_TIMEOUT => 1000,
|
2023-02-21 03:21:45 -05:00
|
|
|
CURLOPT_FOLLOWLOCATION => true,
|
|
|
|
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
|
|
|
|
CURLOPT_CUSTOMREQUEST => 'GET',
|
|
|
|
));
|
|
|
|
|
|
|
|
$response = curl_exec($curl);
|
|
|
|
|
|
|
|
curl_close($curl);
|
|
|
|
|
|
|
|
if($response === "true") {
|
|
|
|
return true;
|
|
|
|
};
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
|
|
|
// $bp->licenseIsBlacklisted()
|
|
|
|
public function licenseIsBlacklisted(): bool{
|
|
|
|
$curl = curl_init();
|
|
|
|
|
|
|
|
curl_setopt_array($curl, array(
|
2023-02-22 15:13:48 -05:00
|
|
|
CURLOPT_URL => 'http://api.ptero.shop:28015/validate/'.$this->licenseKey(),
|
2023-02-21 03:21:45 -05:00
|
|
|
CURLOPT_RETURNTRANSFER => true,
|
|
|
|
CURLOPT_ENCODING => '',
|
|
|
|
CURLOPT_MAXREDIRS => 10,
|
2023-02-23 16:01:51 -05:00
|
|
|
CURLOPT_TIMEOUT => 1000,
|
2023-02-21 03:21:45 -05:00
|
|
|
CURLOPT_FOLLOWLOCATION => true,
|
|
|
|
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
|
|
|
|
CURLOPT_CUSTOMREQUEST => 'GET',
|
|
|
|
));
|
|
|
|
|
|
|
|
$response = curl_exec($curl);
|
|
|
|
|
|
|
|
curl_close($curl);
|
|
|
|
|
|
|
|
if($response === "1") {
|
|
|
|
return true;
|
|
|
|
};
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
|
|
|
// $bp->licenseKey()
|
|
|
|
public function licenseKey(): string{
|
2023-02-23 16:01:51 -05:00
|
|
|
return "J4E40M60A1906DQCE";
|
2023-02-21 03:21:45 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
// $bp->licenseKeyCensored()
|
|
|
|
public function licenseKeyCensored(): string{
|
|
|
|
return substr($this->licenseKey(), 0, 5) . "••••••••••••";
|
|
|
|
}
|
2023-02-22 13:47:18 -05:00
|
|
|
|
|
|
|
// $bp->version()
|
|
|
|
public function version(): string{
|
|
|
|
return "indev";
|
|
|
|
}
|
2023-02-26 08:39:44 -05:00
|
|
|
|
|
|
|
// $bp->dbGet('db:record')
|
|
|
|
public function dbGet($key): string
|
|
|
|
{
|
|
|
|
$a = $this->settings->get('blueprint::' . $key);
|
|
|
|
if(!$a) {
|
|
|
|
return "";
|
|
|
|
} else {
|
|
|
|
return $a;
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
// $bp->dbSet('db:record', 'value')
|
|
|
|
public function dbSet($key, $value): void
|
|
|
|
{
|
|
|
|
$this->settings->set('blueprint::' . $key, $value);
|
|
|
|
return;
|
|
|
|
}
|
2023-02-19 13:30:47 -05:00
|
|
|
}
|