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;
 }
Пример #2
0
 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;
 }