assets(); if ($assets) { $assets->addStyle('/module/fx-rates/asset?file=fx-rates.css'); $assets->addScript('/module/fx-rates/asset?file=fx-rates.js', 'footer', true); } $settings = module_fn('fx-rates', 'settings'); $service = module_fn('fx-rates', 'service'); $preferredCurrencies = is_array($settings['preferred_currencies'] ?? null) ? $settings['preferred_currencies'] : []; $notice = trim((string) ($_GET['notice'] ?? '')); $error = trim((string) ($_GET['error'] ?? '')); if ((string) ($_GET['refresh'] ?? '') === '1') { try { $result = $service->refreshLatestRates(null, (string) ($settings['default_base_currency'] ?? '')); $params = [ 'notice' => sprintf( 'Aktuelle Kurse gespeichert. %d Werte aktualisiert.', (int) ($result['updated_count'] ?? 0) ), ]; } catch (\Throwable $exception) { $params = ['error' => $exception->getMessage() !== '' ? $exception->getMessage() : 'Kurse konnten nicht aktualisiert werden.']; } redirect('/module/fx-rates?' . http_build_query($params)); } $latest = $service->latestStatus(); $recentFetches = $service->recentFetches(12); $pageData = json_encode([ 'settings' => $settings, 'latest' => $latest, 'preferred_currencies' => $preferredCurrencies, 'recent_fetches' => $recentFetches, ], JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES); ?> 'Waehrungskurse', 'actions' => [ ['label' => 'Setup', 'href' => '/modules/setup/fx-rates', 'variant' => 'secondary', 'size' => 'sm'], ['label' => 'Aktuelle Kurse abrufen', 'href' => '/module/fx-rates?refresh=1', 'variant' => 'secondary', 'size' => 'sm'], ], ]) ?>
'>

Umrechnung

Umrechnung auf Basis des letzten verfuegbaren Kurses zwischen den bevorzugten Waehrungen.

Noch keine Umrechnung berechnet.

Letzte Kurse

Letzter gespeicherter Snapshot fuer .

Letzter Abruf:
Basis:
Waehrung Kurs
Noch keine Daten geladen.

Letzte Abrufe

Datum Basis Provider
Noch keine Abrufe vorhanden.