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; }
function tools($kuerzel, $get, &$conf = '') { $dbSuche = t3lib_div::makeInstance('tx_he_tools_lib_db_suche'); switch ($kuerzel) { case 'CONTENTELEMENT': $uid = $get['uid']; $out = tx_he_tools_util::renderContentElem($this->cObj, $uid); break; case 'HOCHSCHULE_A_BIS_Z': $eingabe = $get['eingabe']; $buchstabe = $get['buchstabe']; $out = $dbSuche->hochschuleABisZSucheContent($this, $eingabe, $buchstabe); break; case 'ABFALL_A_BIS_Z': $eingabe = $get['eingabe']; $buchstabe = $get['buchstabe']; $out = $dbSuche->abfallABisZSucheContent($this, $eingabe, $buchstabe); break; case "CAL_EXPORT": $calexport = new tx_he_tools_calexport($this->extKey); $out = $calexport->main(); break; case "FLINC": $out = tx_he_tools_rz_skripte::flinc(); break; case 'WER_MACHT_WAS_A_BIS_Z': $eingabe = $get['eingabe']; $buchstabe = $get['buchstabe']; $out = $dbSuche->werMachtWasABisZSucheContent($this, $eingabe, $buchstabe); break; case 'GOOGLE_MAPS': $url = $this->pi_getFFvalue($this->cObj->data['pi_flexform'], 'iframe_url', 'settings'); $hoehe = $this->pi_getFFvalue($this->cObj->data['pi_flexform'], 'iframe_hoehe', 'settings'); $out = tx_he_tools_util::renderIframe($url, $hoehe); break; case 'INFOSCREEN': $GLOBALS["TSFE"]->set_no_cache(); $app = $this->pi_getFFvalue($this->cObj->data['pi_flexform'], 'infoscreen_app', 'settings'); $infoscreenDelay = $this->pi_getFFvalue($this->cObj->data['pi_flexform'], 'infoscreen_delay', 'settings'); $delay = $infoscreenDelay * 1000; $infoscreenForceReload = $this->pi_getFFvalue($this->cObj->data['pi_flexform'], 'infoscreen_force_reload', 'settings'); $reload = $infoscreenForceReload * 60; $app = $this->pi_getFFvalue($this->cObj->data['pi_flexform'], 'infoscreen_app', 'settings'); $infoScreen = t3lib_div::makeInstance('tx_he_tools_infoscreen', $this->cObj, $delay, $reload); if ($app == 'MAIN') { return $infoScreen->redirectMain(); } else { if ($app == 'VIDEO') { $videoDatei = $this->pi_getFFvalue($this->cObj->data['pi_flexform'], 'infoscreen_video', 'settings'); return $infoScreen->zeigeVideo($videoDatei); } else { if ($app == 'UEBERSICHT') { $GLOBALS["TSFE"]->set_no_cache(); return $infoScreen->zeigeUebersichtsSeite(); } else { if ($app == 'SEITENINHALT') { $dauerAnzeige = $this->pi_getFFvalue($this->cObj->data['pi_flexform'], 'infoscreen_cal_daueranzeige', 'settings'); $dauerUebergang = $this->pi_getFFvalue($this->cObj->data['pi_flexform'], 'infoscreen_cal_daueruebergang', 'settings'); $sponsoren = $this->pi_getFFvalue($this->cObj->data['pi_flexform'], 'infoscreen_sponsoren', 'settings'); $gebaeude = $this->pi_getFFvalue($this->cObj->data['pi_flexform'], 'infoscreen_gebaeude', 'settings'); $ttContentId = $this->pi_getFFvalue($this->cObj->data['pi_flexform'], 'infoscreen_seiteninhalt', 'settings'); return $infoScreen->zeigeSeitenInhalt($ttContentId, $dauerAnzeige * 1000, $dauerUebergang * 1000, $sponsoren, $gebaeude); } else { if ($app == 'SEITENINHALT_LISTE') { $dauerAnzeige = $this->pi_getFFvalue($this->cObj->data['pi_flexform'], 'infoscreen_cal_daueranzeige', 'settings'); $dauerUebergang = $this->pi_getFFvalue($this->cObj->data['pi_flexform'], 'infoscreen_cal_daueruebergang', 'settings'); $sponsoren = $this->pi_getFFvalue($this->cObj->data['pi_flexform'], 'infoscreen_sponsoren', 'settings'); $gebaeude = $this->pi_getFFvalue($this->cObj->data['pi_flexform'], 'infoscreen_gebaeude', 'settings'); $standardText = $this->pi_getFFvalue($this->cObj->data['pi_flexform'], 'infoscreen_standard_anzeigetext', 'settings'); $ttContentPid = $this->pi_getFFvalue($this->cObj->data['pi_flexform'], 'infoscreen_seiteninhalt_seite', 'settings'); return $infoScreen->zeigeSeitenInhaltListe($ttContentPid, $dauerAnzeige * 1000, $dauerUebergang * 1000, $sponsoren, $gebaeude, $standardText); } else { if ($app == 'FLEXIBEL') { $standardmeldung = 'Herzlich willkommen an der Hochschule Esslingen'; $dauerAnzeige = $this->pi_getFFvalue($this->cObj->data['pi_flexform'], 'infoscreen_cal_daueranzeige', 'settings'); $dauerUebergang = $this->pi_getFFvalue($this->cObj->data['pi_flexform'], 'infoscreen_cal_daueruebergang', 'settings'); $sponsoren = $this->pi_getFFvalue($this->cObj->data['pi_flexform'], 'infoscreen_sponsoren', 'settings'); $gebaeude = $this->pi_getFFvalue($this->cObj->data['pi_flexform'], 'infoscreen_gebaeude', 'settings'); $standort = $this->pi_getFFvalue($this->cObj->data['pi_flexform'], 'infoscreen_standort', 'settings'); $elemente = $this->pi_getFFvalue($this->cObj->data['pi_flexform'], 'infoscreen_elemente', 'settings'); return $infoScreen->zeigeFlexiblenInhalt($standardmeldung, $elemente, $dauerAnzeige * 1000, $dauerUebergang * 1000, $sponsoren, $gebaeude, $standort); } else { $standardmeldung = 'Herzlich willkommen an der Hochschule Esslingen'; $category = $this->pi_getFFvalue($this->cObj->data['pi_flexform'], 'infoscreen_cal_cat', 'settings'); $dauerAnzeige = $this->pi_getFFvalue($this->cObj->data['pi_flexform'], 'infoscreen_cal_daueranzeige', 'settings'); $dauerUebergang = $this->pi_getFFvalue($this->cObj->data['pi_flexform'], 'infoscreen_cal_daueruebergang', 'settings'); $sponsoren = $this->pi_getFFvalue($this->cObj->data['pi_flexform'], 'infoscreen_sponsoren', 'settings'); $gebaeude = $this->pi_getFFvalue($this->cObj->data['pi_flexform'], 'infoscreen_gebaeude', 'settings'); $standort = $this->pi_getFFvalue($this->cObj->data['pi_flexform'], 'infoscreen_standort', 'settings'); return $infoScreen->zeigeKalendertermine($category, $standardmeldung, $dauerAnzeige * 1000, $dauerUebergang * 1000, $sponsoren, $gebaeude, $standort); } } } } } } break; case 'CAMPUS_LEBEN': $imgLink = $this->pi_getFFvalue($this->cObj->data['pi_flexform'], 'campus_leben_imglink', 'settings'); $link = $this->pi_getFFvalue($this->cObj->data['pi_flexform'], 'campus_leben_link', 'settings'); $email = $this->pi_getFFvalue($this->cObj->data['pi_flexform'], 'campus_leben_email', 'settings'); return tx_he_tools_rz_skripte::campusLeben($link, $imgLink, $email); break; case 'VERANSTALTUNGEN': $funktion = $this->pi_getFFvalue($this->cObj->data['pi_flexform'], 'veranstaltungen', 'settings'); $out = $this->veranstaltungen($funktion, $conf, $get); break; case 'KMS_ANTRAG': $GLOBALS["TSFE"]->set_no_cache(); $kmsFormular = t3lib_div::makeInstance('tx_he_tools_kms_formular'); $out = $kmsFormular->formularAnzeigen(); break; case 'GASTKENNUNG_BEANTRAGEN': $GLOBALS["TSFE"]->set_no_cache(); /** @var tx_he_tools_gast_kennungen $gastFormular */ $gastFormular = t3lib_div::makeInstance('tx_he_tools_gast_kennungen'); $out = $gastFormular->formularAnzeigen(); break; case 'GASTKENNUNG_VERWALTEN': $GLOBALS["TSFE"]->set_no_cache(); /** @var tx_he_tools_gast_kennungen $gastFormular */ $gastFormular = t3lib_div::makeInstance('tx_he_tools_gast_kennungen'); $out = $gastFormular->kennungenVerwalten(); break; case 'RZ_EINFUEHRUNG_ANMELDUNG': $einfuehrungAnmeldungen = t3lib_div::makeInstance('tx_he_tools_einfuehrung_anmeldungen'); $out = $einfuehrungAnmeldungen->main(); break; case 'HTACCESS_HILFE': $out = tx_he_tools_util::htaccessErzeugen(); break; case 'MENSA_SPEISEPLAN': $mensa = t3lib_div::makeInstance('tx_he_tools_mensa'); $out = $mensa->zeigeMensaDaten($this); break; case 'SPEZIAL': $spezialFunktion = t3lib_div::makeInstance('tx_he_tools_spezialfunktionen'); $funktion = $this->pi_getFFvalue($this->cObj->data['pi_flexform'], 'spezialfunktionen', 'settings'); return $spezialFunktion->main($funktion); break; case 'SHIB_LOGIN_REDIRECT': $anzeigeText = $this->pi_getFFvalue($this->cObj->data['pi_flexform'], 'login_anzeigetext', 'settings'); return tx_he_tools_rz_skripte::erzeugeShibLoginMitRedirect($anzeigeText); break; case 'SHOW_BROWSERINFO': return tx_he_tools_rz_skripte::showBrowserInfo(); case 'SHOP_ROEM_GESCHENKE': return tx_he_tools_rz_skripte::roemGeschenke($this->cObj); case 'GU_QR_ADMIN': $GLOBALS["TSFE"]->set_no_cache(); $guQrAdmin = t3lib_div::makeInstance('tx_he_tools_gu_qr_admin'); return $guQrAdmin->main($this->cObj, $get); default: $out = '<h3>noch nicht implementiert : ' . $kuerzel . '</h3>'; } return $out; }