Add error handling to weather widget

- Wrap getCurrentWeather() in try-catch block
- Prevents white screen if weather API fails
- Shows error message in widget instead
- Add test-weather.php for debugging
This commit is contained in:
Claude
2026-01-22 21:06:50 +00:00
parent 20704b3cd8
commit 7e468d51ca
2 changed files with 36 additions and 1 deletions
+4
View File
@@ -2644,7 +2644,11 @@ body.theme-neo footer {
<!-- WEATHER WIDGET --> <!-- WEATHER WIDGET -->
<?php if ($settingsManager->isWeatherEnabled()): ?> <?php if ($settingsManager->isWeatherEnabled()): ?>
<?php <?php
try {
$weather = $weatherManager->getCurrentWeather(); $weather = $weatherManager->getCurrentWeather();
} catch (Exception $e) {
$weather = ['error' => 'Fehler: ' . $e->getMessage()];
}
if ($weather && !isset($weather['error'])): if ($weather && !isset($weather['error'])):
?> ?>
<div id="weather-widget" class="weather-widget"> <div id="weather-widget" class="weather-widget">
+31
View File
@@ -0,0 +1,31 @@
<?php
// Fehler anzeigen
error_reporting(E_ALL);
ini_set('display_errors', 1);
echo "Test 1: Settings Manager laden...<br>";
require_once 'SettingsManager.php';
echo "✓ SettingsManager.php geladen<br>";
echo "Test 2: Weather Manager laden...<br>";
require_once 'WeatherManager.php';
echo "✓ WeatherManager.php geladen<br>";
echo "Test 3: SettingsManager initialisieren...<br>";
$settingsManager = new SettingsManager();
echo "✓ SettingsManager initialisiert<br>";
echo "Test 4: WeatherManager initialisieren...<br>";
$weatherManager = new WeatherManager($settingsManager);
echo "✓ WeatherManager initialisiert<br>";
echo "Test 5: Wetter abrufen...<br>";
$weather = $weatherManager->getCurrentWeather();
echo "✓ Wetter abgerufen<br>";
echo "<pre>";
print_r($weather);
echo "</pre>";
echo "<br><br>✅ ALLE TESTS ERFOLGREICH!";
?>