diff --git a/WEBROOT/Commands/WeatherLog.php b/WEBROOT/Commands/WeatherLog.php new file mode 100644 index 0000000..433dabc --- /dev/null +++ b/WEBROOT/Commands/WeatherLog.php @@ -0,0 +1,26 @@ +getWeather()); +echo ""; + +$aktuell=($data->getWeather()['aktuell']); +$min=($data->getWeather()['min']); +$max=($data->getWeather()['max']); +$gefuehlt=($data->getWeather()['gefuehlt']); +$zeit=(date("d.m.Y H:i:s")); + +DatabaseInsert( + "Wetter", + "ZEIT, AKTUELL, MIN, MAX, GEFUEHLT", + $zeit, + $aktuell, + $min, + $max, + $gefuehlt, +); \ No newline at end of file diff --git a/WEBROOT/controller/DataController.php b/WEBROOT/controller/DataController.php index 4b13e6f..39ed28d 100644 --- a/WEBROOT/controller/DataController.php +++ b/WEBROOT/controller/DataController.php @@ -2,6 +2,38 @@ class getSpecificData { + public function getWeather() { + $url = "https://api.openweathermap.org/data/2.5/weather?q=Berlin,DE&APPID=5bc3e1a438c58fca444c4370ac0517b2&units=metric"; + + $ch = curl_init(); + curl_setopt($ch, CURLOPT_URL, $url); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); + curl_setopt($ch, CURLOPT_TIMEOUT, 10); + + $response = curl_exec($ch); + + if(curl_errno($ch)) { + echo "cURL Fehler: " . curl_error($ch); + exit; + } + + $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); + curl_close($ch); + + if ($httpCode === 200) { + $data = json_decode($response, true); + + return [ + 'aktuell' => $data['main']['temp'], + 'min' => $data['main']['temp_min'], + 'max' => $data['main']['temp_max'], + 'gefuehlt' => $data['main']['feels_like'] + ]; + } else { + return "API Fehler. HTTP Code: " . $httpCode; + } + } + public function getUserAgent(): string { return $_SERVER['HTTP_USER_AGENT'] ?? 'Unbekannt'; } diff --git a/WEBROOT/services/home_info.php b/WEBROOT/services/home_info.php index 41f718a..1ad4d95 100644 --- a/WEBROOT/services/home_info.php +++ b/WEBROOT/services/home_info.php @@ -77,6 +77,9 @@ $db_res = DatabaseShow(
Database IP:
= htmlspecialchars((new getSpecificData())->getDatabase()) ?>
Wetter:
+ = htmlspecialchars((new getSpecificData())->getWeather()['aktuell']) ?>
+