public function aktuellesWetter($detailed = false) { $GLOBALS['TSFE']->additionalHeaderData['he_tools'] .= $this->css; $url = 'https://www14.hs-esslingen.de/wetterstation/datenpunkte.xml'; $report = array(); $content = tx_he_tools_rz_skripte::getURL($url, false, false, $report); $data = simplexml_load_string($content) or die("Error: Cannot create object"); $zeitpunkt = date("d.m.Y H:i", time()); $messdaten = array(); $elemente = $data->{'datenpunkt'}; foreach ($elemente as $element) { $id = '' . $element->attributes()->{'ID'}; $messdaten[$id] = array('label' => $element->attributes()->beschreibung[0], 'einheit' => $element->attributes()->einheit[0], 'value' => $element->wert); if (!empty($element->datenpunkt)) { foreach ($element->datenpunkt as $unterElement) { $id = '' . $unterElement->attributes()->{'ID'}; $messdaten[$id] = array('label' => $unterElement->attributes()->beschreibung[0], 'einheit' => $unterElement->attributes()->einheit[0], 'value' => $unterElement->wert); } } } if (!$detailed) { $windrichtungsIcon = sprintf("wind%02d.png", floor($messdaten['8']['value'] / 10)); $windrichtung = sprintf("Windrichtung: %.2f Grad", floatval($messdaten['8']['value'])); $temperatur = sprintf("%.2f", floatval($messdaten['1']['value'])); $luftfeuchtigkeit = sprintf("%.2f", floatval($messdaten['2']['value'])); $windgeschwindigkeit = sprintf("%.2f", floatval($messdaten['7']['value']) * 3.6); $messWerte['temperatur'] = floatval($messdaten['1']['value']); $messWerte['niederschlag'] = floatval($messdaten['9']['value']); $messWerte['helligkeit'] = floatval($messdaten['3']['value']); if (floatval($messdaten['7']['value']) <= 1) { $windrichtungClass = ' hidden'; } else { $windrichtungClass = ''; } /* Wolkig? */ if ($messWerte['helligkeit'] < 700) { /* Regen? */ if ($messWerte['niederschlag'] > 0) { $wetterIcon = 'night_rain.png'; $wetterIconAlt = 'regnerisch'; } else { $wetterIcon = 'night.png'; $wetterIconAlt = 'trocken'; } } else { if ($messWerte['helligkeit'] < 7000) { /* Regen? */ if ($messWerte['niederschlag'] > 0) { $wetterIcon = 'cloudy_rain.png'; $wetterIconAlt = 'bewölkt mit Regen'; } else { $wetterIcon = 'cloudy_no_sun.png'; $wetterIconAlt = 'bewölkt'; } /* Wolkig mit Sonne? */ } else { if ($messWerte['helligkeit'] < 25000) { /* Regen? */ if ($messWerte['niederschlag'] > 0) { $wetterIcon = 'cloudy_sun_rain.png'; $wetterIconAlt = 'bewölkt mit leichtem Regen'; } else { $wetterIcon = 'cloudy_sun.png'; $wetterIconAlt = 'leicht bewölkt'; } } else { $wetterIcon = 'sunny.png'; $wetterIconAlt = 'sonnig'; } } } $out = $out = '<table class="wetter">' . '<tr><td>' . '<div class="wettericon"><img alt="' . $wetterIconAlt . '" title="' . $wetterIconAlt . '" src="' . t3lib_extMgm::siteRelPath('he_tools') . 'res/images/wetter/' . $wetterIcon . '" /></div>' . '</td></tr>' . '<tr><td>' . '<table class="werte">' . '<tr><td class="label">T:</td><td class="value">' . $temperatur . '</td><td class="unit">°C</td></tr>' . '<tr><td class="label">r.F:</td><td class="value">' . $luftfeuchtigkeit . '</td><td class="unit">%</td></tr>' . '<tr><td class="label">Wind:</td><td class="value">' . $windgeschwindigkeit . '</td><td class="unit"> km/h</td></tr>' . '</table>' . '</td></tr>' . '<tr><td>' . '<table class="windrichtung' . $windrichtungClass . '"> <tr><td> </td><td>N</td><td> </td></tr> <tr><td>W</td><td><img alt="' . $windrichtung . '" title="' . $windrichtung . '" src="' . t3lib_extMgm::siteRelPath('he_tools') . 'res/images/wetter/' . $windrichtungsIcon . '" /></td><td>O</td></tr> <tr><td> </td><td>S</td><td> </td></tr> </table>' . '</td></tr>' . '</table>'; } else { $out = '<h2>Uhrzeit der letzten Messung: ' . $zeitpunkt . '</h2>'; $out .= '<table class="tab50 zweifarbig grid">'; $out .= '<tr><th>Bezeichnung</th><th>Messwert</th></tr>'; foreach ($messdaten as $id => $eintrag) { $out .= '<tr><td>' . $eintrag['label'] . '</td><td>' . $eintrag['value'] . $eintrag['einheit'] . '</td></tr>'; } $out .= '</table>'; } return $out; }