Merge branch 'main' of https://github.com/Eskimue/skyview.astronomiemuseum.de
This commit is contained in:
@@ -40,7 +40,7 @@ foreach (['host', 'dbname', 'user', 'pass'] as $requiredKey) {
|
||||
}
|
||||
}
|
||||
|
||||
$options = parseCliArguments($argv);
|
||||
$options = parseCliArguments(getCliArguments());
|
||||
|
||||
if (($options['help'] ?? false) === true) {
|
||||
writeUsage();
|
||||
@@ -341,6 +341,19 @@ function parseCliArguments(array $argv): array
|
||||
return $options;
|
||||
}
|
||||
|
||||
function getCliArguments(): array
|
||||
{
|
||||
if (isset($GLOBALS['argv']) && is_array($GLOBALS['argv'])) {
|
||||
return $GLOBALS['argv'];
|
||||
}
|
||||
|
||||
if (isset($_SERVER['argv']) && is_array($_SERVER['argv'])) {
|
||||
return $_SERVER['argv'];
|
||||
}
|
||||
|
||||
return [];
|
||||
}
|
||||
|
||||
function writeUsage(): void
|
||||
{
|
||||
$usageLines = [
|
||||
@@ -516,12 +529,10 @@ PS
|
||||
$response = curl_exec($ch);
|
||||
if ($response === false) {
|
||||
$error = curl_error($ch);
|
||||
curl_close($ch);
|
||||
throw new RuntimeException('Download fehlgeschlagen: ' . $error);
|
||||
}
|
||||
|
||||
$httpCode = (int) curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
|
||||
curl_close($ch);
|
||||
|
||||
if ($httpCode < 200 || $httpCode >= 300) {
|
||||
throw new RuntimeException("Download fehlgeschlagen. HTTP-Status: {$httpCode}");
|
||||
@@ -699,6 +710,31 @@ function jdToUtcString(float $jd): string
|
||||
function writeMessage(string $message, bool $isError = false): void
|
||||
{
|
||||
$prefix = '[' . date('Y-m-d H:i:s') . '] ';
|
||||
$stream = $isError ? STDERR : STDOUT;
|
||||
$stream = openOutputStream($isError);
|
||||
fwrite($stream, $prefix . $message . PHP_EOL);
|
||||
}
|
||||
|
||||
/**
|
||||
* `STDOUT` und `STDERR` sind in manchen CGI-/Web-Kontexten nicht definiert.
|
||||
* Daher greifen wir auf die entsprechenden php:// Streams zurueck.
|
||||
*
|
||||
* @return resource
|
||||
*/
|
||||
function openOutputStream(bool $isError)
|
||||
{
|
||||
if ($isError && defined('STDERR')) {
|
||||
return STDERR;
|
||||
}
|
||||
|
||||
if (!$isError && defined('STDOUT')) {
|
||||
return STDOUT;
|
||||
}
|
||||
|
||||
$stream = fopen($isError ? 'php://stderr' : 'php://stdout', 'wb');
|
||||
|
||||
if ($stream === false) {
|
||||
throw new RuntimeException('Ausgabestream konnte nicht geoeffnet werden.');
|
||||
}
|
||||
|
||||
return $stream;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user