Compare commits

...

2 Commits

Author SHA1 Message Date
tracer 1bf327cc00 modified curl handling
Signed-off-by: tracer <tracer@24unix.net>
2022-01-29 14:56:07 +01:00
tracer 1567520a5b error check on check:panels
Signed-off-by: tracer <tracer@24unix.net>
2022-01-29 14:55:40 +01:00
2 changed files with 22 additions and 7 deletions

View File

@ -152,9 +152,6 @@ class BindAPI
{
$nameServers = $this->nameserverController->findAll();
foreach($nameServers as $nameServer) {
if ($nameServer['name'] == 'ns1.24unix.net') {
continue;
}
echo COLOR_DEFAULT . ' ' . $nameServer['name'];
if (!empty($nameServer['aaaa'])) {
$result = $this->checkController->sendCommand(serverName: $nameServer['name'],
@ -199,7 +196,6 @@ class BindAPI
post: true,
body: $body);
}
die();
} else {
echo 'error';
}
@ -211,7 +207,9 @@ class BindAPI
function handleCheckPanels()
{
$id = $this->getId();
$parsedArguments = $this->parseArguments();
print_r($this->arguments);
$id = intval(value: $this->arguments[1] ?? 0);
print("id: $id " . PHP_EOL);
if ($id != 0) {
@ -229,10 +227,21 @@ class BindAPI
command: 'domains',
type: 'panel');
}
if ($result['error']) {
echo $result['data'] . PHP_EOL;
exit(1);
}
$domains = json_decode(json: $result['data']);
if ($domains['error']) {
echo $domains['data'];
exit(1);
}
$maxDomainName = 0;
// TODO this is ugly code
foreach ($domains as $domain) {
if (($domain->id_parent_domain == 0 && !str_contains(haystack: $domain->domain, needle: $panel['name'])) && (strlen(string: $domain->domain) > $maxDomainName)) {
$maxDomainName = strlen(string: $domain->domain);
@ -564,6 +573,8 @@ class BindAPI
if (str_contains(haystack: $argument, needle: '=')) {
[$key, $value] = explode(separator: '=', string: $argument);
$arguments[strtolower(string: $key)] = $value;
} else {
$arguments[strtolower(string: $argument)] = $argument;
}
}
return $arguments;

View File

@ -21,6 +21,7 @@ class CheckController
*/
function sendCommand(String $serverName, int $versionIP, String $apiKey, String $command, String $type, bool $post = false, array $body = []): array
{
$error = false;
$curl = curl_init();
if ($type == "panel") {
curl_setopt(handle: $curl, option: CURLOPT_URL, value: "https://$serverName/api/v2/" . $command);
@ -28,7 +29,8 @@ class CheckController
curl_setopt(handle: $curl, option: CURLOPT_URL, value: "https://$serverName/api/" . $command);
}
curl_setopt(handle: $curl, option: CURLOPT_RETURNTRANSFER, value: 1);
curl_setopt(handle: $curl, option: CURLOPT_TIMEOUT_MS, value: 1000);
curl_setopt(handle: $curl, option: CURLOPT_TIMEOUT_MS, value: 3000);
curl_setopt(handle: $curl, option: CURLOPT_HTTP_VERSION, value: CURL_HTTP_VERSION_2TLS);
if ($versionIP == 4) {
curl_setopt(handle: $curl, option: CURLOPT_IPRESOLVE, value: CURL_IPRESOLVE_V4);
@ -66,10 +68,12 @@ class CheckController
$result = 'Unhandled error: ' . $httpResponse;
}
} else {
$error = true;
$result = curl_error(handle: $curl);
}
curl_close(handle: $curl);
return [
'error' => true,
'data' => $result,
'header' => $httpResponse ?? ''
];