Frontend-Umbau (Kevin, 06.07.2026), Ergebnis des businessportal24-Audits: - Fake-Anzeigen und Mock-/Fallback-Daten entfernt (focus-ad, feed-ad, highlight-card, press-release-card, featured-releases, press-releases-grid); Sektionen rendern nur noch mit echten Daten oder gar nicht - Newsletter-Strip und Newsletter-Box zurueckgebaut (Feature nachgelagert, vor Reaktivierung DOI-Flow noetig) - Echte Boersendaten: MarketDataService (Yahoo-Finance-Quotes, config/market.php, Cache) + market:refresh alle 15 Min. im Scheduler; live-ticker blendet sich ohne Daten aus - EN-Lokalisierung der Kern-Seiten via lang/de/web.php + lang/en/web.php; Carbon-Locale folgt app()->getLocale() - Web-Tests auf den neuen Frontend-Stand nachgezogen (Suite: 993 gruen) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
36 lines
930 B
PHP
36 lines
930 B
PHP
<?php
|
|
|
|
namespace App\Console\Commands;
|
|
|
|
use App\Services\Web\MarketDataService;
|
|
use Illuminate\Console\Command;
|
|
|
|
class RefreshMarketData extends Command
|
|
{
|
|
protected $signature = 'market:refresh';
|
|
|
|
protected $description = 'Kursdaten (DAX, EUR/USD, Brent) für den Web-Ticker abrufen und cachen';
|
|
|
|
public function handle(MarketDataService $marketData): int
|
|
{
|
|
if (! config('market.enabled')) {
|
|
$this->info('Marktdaten sind deaktiviert (MARKET_DATA_ENABLED=false).');
|
|
|
|
return self::SUCCESS;
|
|
}
|
|
|
|
$slides = $marketData->refresh();
|
|
|
|
if ($slides === []) {
|
|
$this->warn('Keine Kursdaten erhalten — Cache unverändert.');
|
|
|
|
return self::FAILURE;
|
|
}
|
|
|
|
foreach ($slides as $slide) {
|
|
$this->line(sprintf('%s: %s (%s)', $slide['label'], $slide['value'], $slide['delta']));
|
|
}
|
|
|
|
return self::SUCCESS;
|
|
}
|
|
}
|