• 05.05.2024
      07:04 Uhr
      vertikal - horizontal. Glaubens- und Gewissensfragen Mission mit Musik? | Das Erste
       

      500 Jahre evangelisches Gesangbuch - Eine Sendung von Brigitte Lehnhoff und Florian Breitmeier

      Wenige Jahre nach dem Beginn der Reformation erschienen 1524 die ersten Gemeindegesangbücher. Ein in Erfurt gedrucktes Exemplar wird in Goslar in der historischen Marktkirchenbibliothek verwahrt. Welche Geschichte steckt dahinter? Aktuell wird an einer Neuausgabe des Evangelischen Gesangbuchs gearbeitet: Was wird sich ändern? Und wird es der Kirche wie vor 500 Jahren gelingen, mit neuen Liedern die persönliche Spiritualität von Menschen zu beflügeln?

      Sonntag, 05.05.24
      07:04 - 07:30 Uhr (26 Min.)
      26 Min.

      (bernd) /srv/www/programm.ard.de/htdocs/modules/class/viewer.php, 385
      InvalidArgumentException Object
      (
          [message:protected] => $timestamp argument is neither a valid UNIX timestamp, a valid date-time string or a DateTime object.
          [string:Exception:private] => 
          [code:protected] => 0
          [file:protected] => /srv/www/programm.ard.de/htdocs/modules/include/deprecated.php
          [line:protected] => 39
          [trace:Exception:private] => Array
              (
                  [0] => Array
                      (
                          [file] => /srv/www/programm.ard.de/ipg-class/Event.php
                          [line] => 737
                          [function] => PHP82_BC\strftime
                          [args] => Array
                              (
                                  [0] => %H:%M
                                  [1] => 
                              )
      
                      )
      
                  [1] => Array
                      (
                          [file] => /srv/www/programm.ard.de/htdocs/modules/class/viewer.php(375) : eval()'d code
                          [line] => 4552
                          [function] => getShortVPSTime
                          [class] => Event
                          [type] => ->
                          [args] => Array
                              (
                              )
      
                      )
      
                  [2] => Array
                      (
                          [file] => /srv/www/programm.ard.de/htdocs/modules/class/viewer.php
                          [line] => 375
                          [function] => eval
                      )
      
                  [3] => Array
                      (
                          [file] => /srv/www/programm.ard.de/htdocs/modules/class/viewer.php
                          [line] => 127
                          [function] => executePage
                          [class] => Viewer
                          [type] => ->
                          [args] => Array
                              (
                                  [0] =>  wird bearbeitet beim Thema Archivkonzept
      *
      * V3.2
      * V3.2.1 Möglichkeit per CMS das Anzeigen von Tipps und Thumbnails in der List zu unterdrücken
      * V3.2.2 Möglichkeit anstelle des Klammerteasers einen Sendungsteaser mit einer definierten Logik anzuzeigen
      * 		  Anpassung ipg-search
      * V3.5 	Refactored
      * 			neue ipg->frontEndSearch
      * 			neues INCL Template Suchparameter
      * 			Vereinfachung
      *				Neue Option "Keine Bilder anzeigen"
      * V3.5.1 JS für BG Picture raus. Wird global über den Header geregelt
      * V3.5.2 Individueller Text für "keine Sendungen gefunden" möglich
      * V3.5.3 Auch in der Listenansicht kann (vier Wochen) zurück gesucht werden
      * V3.5.4
      * - Text im Klammerteaser kann auf invisible gestellt werden, damit Grafik/Schrift im JPG stattfinden kann
      * - Neue Gestaltungsoption
      * - Zeit einstellbar
      */
      ?>
       Evopage Funktionen
      * INC [HtmlHeader] => Hmtl Header
      * INC [ARD Masternavi] => Die ARD Navi
      * INC [Menü - Programm.ARD.de] => Die Navi von programm.ARD.de
      * VAR [skin] => Evopage Variable, die für unterschiedliches Aussehen genutzt werden kann, Default: "programm"
      * VAR $pageName => PHP Variable, die für unterschiedliches Aussehen genutzt werden kann, Default: "programm"
      * Evopage Syntax wird vor php ausgeführt => if-Abfragen mit [include] gehen nur mit der Evopage-Variable
      * VAR $includePath => sollte relativ sein, wenn auf dem eigenen Server. Pfad zum Einbinden aller statischen Dateien (CSS, JS, Icons)
      *
      * V3.2
      * V3.2.1 Themenwoche 2015
      *
      * V3.5
      * V3.5 $bodyClass als zusätzliche css-Klasse hinzugefügt (Kann von Seiten, die den Header einbinden gesetzt werden)
      * V3.5 Abfrage für ONE Programmkalender
      * V3.5.1 Zeiteinschränkung für bgpicture für Startseite
      */
      ?>
       Ausgelagerte PHP Funktionen für das Frontend
       * Alle Evopage und IPG relevanten Dinge werden initialisiert
       * VAR $HEADER wird am Ende auf TRUE gesetzt, damit bei Ajax Funktionen, der Header nicht noch einmal geladen wird
       *
       * V3.2
       * V3.2.1 Updates Suche
       * V3.2.2 Updates Suche
       *
       * V3.5
       *
       *
       */
      require_once IPG_CLASS_PATH . 'MetaTags.php';
      if (! $ipg) {
      	$ipg = &getIPG ();
      }
      // Personalisierung
      $program_user = $ipg->loadUser ();
      $memos = $ipg->fetchMemos ( $program_user );
      // Sendungsdatensatz
      $detail_event = null;
      if ($_REQUEST ['sendung']) {
      	$archiveMode = false;
      	$detail_event = $ipg->fetchFullById ( $_REQUEST ['sendung'], 1, false );
      	if ($detail_event->getID () == 0) {
      		$detail_event = $ipg->fetchFullById ( $_REQUEST ['sendung'], 1, true );
      		$archiveMode = true;
      	}
      } else {
      	if ($_SESSION ['previewEvent']) {
      		$detail_event = $_SESSION ['previewEvent'];
      		unset ( $_SESSION ['previewEvent'] );
      	}
      }
      $metaTags = new MetaTags ( $detail_event, '/TV/Themenschwerpunkte/Kirche und Religion/Religion Hörfunk/Startseite', $_REQUEST ['sender'] );
      require_once IPG_CLASS_PATH . 'TimeManager.php';
      require_once EVO_MODULES_PATH . "/addOn/classes/ipg.php";
      require_once EVO_MODULES_PATH . "/addOn/classes/teaserManager.php";
      // Teaser
      $teaser_manager = new TeaserManager ( $ipg );
      if (! $_SESSION ['lists']) {
      	$_SESSION ['lists'] = array ();
      }
      // Genre
      $genrePaths = getGenrePaths ();
      // Suche
      if ($_REQUEST ['detailsuche']) {
      	$_SESSION ['detailsuche'] = array ();
      	$_SESSION ['detailsuche'] ['sendungstitel'] = $_REQUEST ['sendungstitel'];
      	$_SESSION ['detailsuche'] ['mitwirkende'] = $_REQUEST ['mitwirkende'];
      	$_SESSION ['detailsuche'] ['volltext'] = $_REQUEST ['volltext'];
      	$_SESSION ['detailsuche'] ['senderauswahl'] = $_REQUEST ['senderauswahl'];
      	$_SESSION ['detailsuche'] ['sender_id'] = $_REQUEST ['sender_id'];
      	$_SESSION ['detailsuche'] ['kategorienauswahl'] = $_REQUEST ['kategorienauswahl'];
      	$_SESSION ['detailsuche'] ['kategorie_id'] = $_REQUEST ['kategorie_id'];
      	$_SESSION ['detailsuche'] ['ausstrahlungswahl'] = $_REQUEST ['ausstrahlungswahl'];
      	$_SESSION ['detailsuche'] ['sendezeitauswahl'] = $_REQUEST ['sendezeitauswahl'];
      
      	if ($_REQUEST ['uhrzeitStart'] && $ipg->validDate ( $_REQUEST ['uhrzeitStart'] )) {
      		$_SESSION ['detailsuche'] ['uhrzeitStart'] = $_REQUEST ['uhrzeitStart'];
      	} else {
      		unset ( $_SESSION ['detailsuche'] ['uhrzeitStart'] );
      	}
      	if ($_REQUEST ['uhrzeitEnde'] && $ipg->validDate ( $_REQUEST ['uhrzeitEnde'] )) {
      		$_SESSION ['detailsuche'] ['uhrzeitEnde'] = $_REQUEST ['uhrzeitEnde'];
      	} else {
      		unset ( $_SESSION ['detailsuche'] ['uhrzeitEnde'] );
      	}
      	if ($_REQUEST ['uhrzeitStartKurz'] && $ipg->validTime ( $_REQUEST ['uhrzeitStartKurz'] )) {
      		$_SESSION ['detailsuche'] ['uhrzeitStartKurz'] = $_REQUEST ['uhrzeitStartKurz'];
      	} else {
      		unset ( $_SESSION ['detailsuche'] ['uhrzeitStartKurz'] );
      	}
      	if ($_REQUEST ['uhrzeitEndeKurz'] && $ipg->validTime ( $_REQUEST ['uhrzeitEndeKurz'] )) {
      		$_SESSION ['detailsuche'] ['uhrzeitEndeKurz'] = $_REQUEST ['uhrzeitEndeKurz'];
      	} else {
      		unset ( $_SESSION ['detailsuche'] ['uhrzeitEndeKurz'] );
      	}
      	$_SESSION ['detailsuche'] ['bildformat'] = $_REQUEST ['bildformat'];
      	$_SESSION ['detailsuche'] ['audioformat'] = $_REQUEST ['audioformat'];
      	$_SESSION ['detailsuche'] ['techoptionen'] = $_REQUEST ['techoptionen'];
      	if (! isset ( $_REQUEST ['maxCount'] )) {
      		$_REQUEST ['maxCount'] = 400;
      	}
      	$_SESSION ['detailsuche'] ['maxCount'] = $_REQUEST ['maxCount'];
      	$_SESSION ['detailsuche'] ['sort'] = $_REQUEST ['sort'];
      }
      // Sender
      $tvStations = $ipg->fetchAllTvStations ();
      $radioStations = $ipg->fetchAllRadioStations ();
      ?>
      ';
          print_r($d);
          echo '
      '; } function ifdebug($d, $type = false) { $n = 'debug'; if ($type) { $n = 'debug-' . $type; } if ($_REQUEST[$n]) { debug($d); } } function isAjax() { // Das haut nicht hin, schon gar nicht mit dem CDN // wir nehmen aLoad=1 als Parameter, der das indiziert //if (isset ( $_SERVER ['HTTP_X_REQUESTED_WITH'] ) && $_SERVER ['HTTP_X_REQUESTED_WITH'] == "XMLHttpRequest") if ($_REQUEST['aLoad'] == 1) { return true; } else { return false; } } /** * Stellt die Informationen über LiveStreams bereit * * @param * $event * @return Links */ function jetztEinschalten($event) { if ($event->nowRunning() || $_REQUEST['debug']) { $id = $event->getStationID(); if ($id == 28106) $link = 'https://www.ardmediathek.de/daserste/live/Y3JpZDovL2Rhc2Vyc3RlLmRlL2xpdmUvY2xpcC9hYmNhMDdhMy0zNDc2LTQ4NTEtYjE2Mi1mZGU4ZjY0NmQ0YzQ'; else if ($id == 28229 or $id == "-28229") $link = 'https://www.ardmediathek.de/mdr/live/Y3JpZDovL21kci5kZS9MaXZlc3RyZWFtLU1EUi1TYWNoc2Vu'; else if ($id == 28111 or $id == "-28111") $link = 'https://www.ardmediathek.de/wdr/live/Y3JpZDovL3dkci5kZS9CZWl0cmFnLTNkYTY2NGRlLTE4YzItNDY1MC1hNGZmLTRmNjQxNDcyMDcyYg'; else if ($id == 28205 or $id == "-28205") //$link = 'http://mediathek.rbb-online.de/tv-livestream/rbb-brandenburg?documentId=14940044'; $link = 'https://www.ardmediathek.de/rbb/live/Y3JpZDovL3JiYi1vbmxpbmUuZGUvcmJiZmVybnNlaGVuL2xpdmVfYnJhbmRlbmJ1cmcvc2VuZGVwbGF0ei0tLWxpdmVzdHJlYW0tLS1icmFuZGVuYnVyZy0tLWhsczE'; else if ($id == 28226 or $id == "-28226") $link = 'https://www.ardmediathek.de/ndr/live/Y3JpZDovL25kci5kZS9MaXZlc3RyZWFtLU5EUi1OaWVkZXJzYWNoc2Vu'; else if ($id == 28108) $link = 'https://www.ardmediathek.de/hr/live/Y3JpZDovL2hyLmRlL0xpdmVzdHJlYW0tSFI'; else if ($id == 28721) $link = 'https://www.ardmediathek.de/ard/live/Y3JpZDovL2Rhc2Vyc3RlLmRlL3RhZ2Vzc2NoYXUvbGl2ZXN0cmVhbQ'; else if ($id == 28724) $link = 'https://www.ardmediathek.de/ard/live/Y3JpZDovL2FydGUuZGUvTGl2ZXN0cmVhbS1BUlRF'; else if ($id == 28008) $link = 'https://www.ardmediathek.de/kika/live/Y3JpZDovL2tpa2EuZGUvTGl2ZXN0cmVhbS1LaUth'; else if ($id == 28113) $link = 'https://www.ardmediathek.de/swr/live/Y3JpZDovL3N3ci5kZS8xMzQ4MTA0Mg'; else if ($id == 28231) $link = 'https://www.ardmediathek.de/swr/live/Y3JpZDovL3N3ci5kZS8xMzQ4MTIzMA'; else if ($id == 28007) $link = 'https://www.ardmediathek.de/ard/live/Y3JpZDovLzNzYXQuZGUvTGl2ZXN0cmVhbS0zc2F0'; else if ($id == 28107 or $id == "-28107") $link = 'https://www.ardmediathek.de/br/live/Y3JpZDovL2JyLmRlL0xpdmVzdHJlYW0tQlItU8O8ZA'; else if ($id == 28487) $link = 'https://www.ardmediathek.de/alpha/live/Y3JpZDovL2JyLmRlL0xpdmVzdHJlYW0tQVJELUFscGhh'; else if ($id == 28486) $link = 'https://www.ardmediathek.de/ard/live/Y3JpZDovL3NyLW9ubGluZS5kZS8yODQ4NjAvbGl2ZXN0cmVhbQ'; else if ($id == 28722) $link = 'https://www.ardmediathek.de/one/live/Y3JpZDovL3dkci5kZS9CZWl0cmFnLTFlNjA0YWFlLTViODctNGMzNC04ZDhmLTg4OWI1ZjE2ZDU3Mw'; else if ($id == 28725) $link = 'https://www.ardmediathek.de/phoenix/live/Y3JpZDovL3dkci5kZS9CZWl0cmFnLTE3YTg4ZDdmLWI5NTAtNDcyNy05M2E0LWE3NzI3YjkxNjVkZQ'; else if ($id == 28014) $link = 'http://uefafrauenem.sportschau.de/niederlande2017/live/index.html'; else if ($id == 28011) $link = 'https://www.zdf.de/sport'; return $link; } return false; } /** * Wandelt Links in Texten in klickbare Links um */ function autolink($str, $stationID = NULL, $attributes = array()) { $attrs = ''; foreach ($attributes as $attribute => $value) { $attrs .= " {$attribute}=\"{$value}\""; } $str = ' ' . $str; $str = preg_replace('`([^"=\'>])(((http|https|ftp)://|www.)[^\s<]+[^\s<\.)])`i', '$1$2', $str); $str = substr($str, 1); $str = preg_replace('`href=\"www`', 'href="http://www', $str); if ($stationID != 28007) { preg_match_all("/

      .*?<\/p>/si", $str, $matches); $matches = $matches[0]; if (is_array($matches)) { foreach ($matches as $m) { $nm = str_replace("\n", "
      ", $m); $str = str_replace($m, $nm, $str); } } } return $str; } /* * Liest die Linksinformationen aus highlight->getAdditionalLink{1,2,3,4, usw.} in ein array der länge $num */ function get_highlight_links($highlight, $num = 3) { $links = array(); foreach (range(1, $num) as $i) { if ($highlight->{'issetAdditionalLink' . $i}() and $highlight->{'getAdditionalLink' . $i}() != $_SERVER['REQUEST_URI']) { $links[] = array( 'url' => $highlight->{'getAdditionalLink' . $i}(), 'text' => $highlight->{'getAdditionalLinkText' . $i}(), 'target' => $highlight->{'getAdditionalLinkTarget' . $i}() ); } } return $links; } /** * Liefert einen String zurück der für foundation interchange die verschiedenen Bilder den verschiednen Größen zuordnet */ function interchange($image) { $sizes = array('xsmall', 'small', 'medium', 'large', 'xlarge'); $sizes2 = array('xs' => 'xsmall', 's' => 'small', 'm' => 'medium', 'l' => 'large', 'xl' => 'xlarge'); if (getType($image) == 'string') { $image = ['xs' => $image]; } if ($image['xs']) { $sizes = $sizes2; } //$s = '['; foreach ($image as $size => $im) { if ($sizes[$size]) { $s .= $lim . '[' . $im . ', ' . $sizes[$size] . ']'; $lim = ','; } } // $s.=']'; //debug($s); return $s; } /** * */ function responsive_image($size, $pic) { $sizes = [ /*xs, sm, md, lg, xl*/ 'breaking' => [292, 452, 730, 186, 270], 'wide' => [292, 452, 746, 980, 1408], 'normal' => [292, 452, 238, 308, 448], 'mini' => [292, 452, 243, 233, 340], 'big' => [292, 452, 366, 490, 690], 'picture' => [292, 452, 496, 660, 750] ]; $sizes = $sizes[$size]; $imgSwap = []; if ($sizes) { foreach ($sizes as $size) { $imgSwap[] = $pic->getScaledPath($size); } } return $imgSwap; } /** * XMP Daten aus Bilddatei auslesen und in einem Array zurückgeben */ function get_xmp_data($file) { $content = file_get_contents($file); $xmp_data_start = strpos($content, ''); $xmp_length = $xmp_data_end - $xmp_data_start; $xmp_data = substr($content, $xmp_data_start, $xmp_length + 12); $simple = $xmp_data; $p = xml_parser_create(); xml_parse_into_struct($p, $simple, $vals, $index); xml_parser_free($p); return $vals; } /** * Gibt bei einer Uhrzeit im Format "ab:cd" nur "ab" zurück */ function get_hour($hour) { if (strpos(':', $hour) !== false) { $t = explode(':', $h); $hour = $t[0]; } return intval($hour); } /** * Untersucht die Links zu einer Sendung, und sortiert nach Mediathek, Livestream, andere Links * * @param $urls * @param $event * @param $source * @return Links */ function mediatheksLinks($urls, $event, $source = NULL) { // Wenn Sendung älter als 30 Tage => Return False $onDemand = array(); $livestream = array(); $reihe = array(); $links = array(); if ($event->nowRunning()) { $status = "running"; } else if ($event->getStartTime() > time()) { $status = "future"; } else { $status = "past"; } // Vorsortieren if ($urls) { $returnURLs = array(); $j=0; foreach ($urls as $url) { // Ein Hack um doofe Tabs, die aus dem EPG kommen, rauszuhauen $url['url'] = str_replace("\t", "", $url['url']); $url['url'] = str_replace(" ", "", $url['url']); $url['url'] = str_replace("http://http://", "http://", $url['url']); $url['url'] = str_replace("http://https://", "https://", $url['url']); // Ein Hack um kaputte 3sat Links zu reparieren $url['url'] = str_replace("http://www.3sat.de/mediathek/http://www.3sat.de/mediathek/", "http://www.3sat.de/mediathek/", $url['url']); // Livestream if ($url['description'] == "Mediathek: LiveStream") { // Livestream ARD Mediathek if ($status != "past") { $livestream[2]['url'] = $url['url']; $livestream[2]['description'] = "Livestream in der ARD Mediathek"; $livestream[2]['source'] = "ardmt"; } } // Alle OnDemand Links erst einmal sammeln elseif ($url['description'] == "Mediathek: OnDemand-Clip" or $url['rank'] >= 100 or (preg_match('/^\[/', $url['description']) && !preg_match('/(hbbtv|json)/i', $url['description']))) { $onDemandClips[] = $url; } // Reihen in Mediatheken elseif ($url['description'] == "DasErsteHbbTV") { // Reihe Das Erste Mediathek HbbTV } elseif ($url['description'] == "DasErsteWeb") { // Reihe Das Erste Mediathek Web $DasErsteReiheURL = $url; } elseif ($url['description'] == "Mediathek: Sendereihe") { // Reihe ARD Mediathek $reihe[1]['url'] = $url['url']; $reihe[1]['description'] = "Sendereihe [ARD Mediathek]"; $reihe[1]['source'] = "ardmt"; } // Links auf Sendungsseiten else { // alle anderen if (!stripos($url['url'], "hbbtv") and !stripos($url['url'], "json")) { $links[$j]['url'] = $url['url']; if ($url['title']) { $links[$j]['description'] = $url['title']; } else { $links[$j]['description'] = "Sendungsseite im Internet"; } $j++; } } } } if (jetztEinschalten($event) and $source != "ardmt") { $livestream[1]['url'] = jetztEinschalten($event); //24/7 Livestreams $livestream[1]['description'] = "Livestream jetzt einschalten"; } // Auswerten der diversen OnDemand Clips // in [0] ist das erste Video, was teilweise priorisiert angezeigt wird. if ($onDemandClips) { $i = 1; foreach ($onDemandClips as $url) { if ($url['rank'] < 100) { // Kommt aus iMex, immer Prio 1 if (!strstr($url['title'], "orschau")) { $onDemand[1][$i]['url'] = $url['url']; $onDemand[1][$i]['description'] = $url['title'] . ' [ARD Mediathek]'; $onDemand[1][$i]['source'] = "ardmt"; // In bestimmten Fällen das Video als erstes nehmen if (strstr($url['title'], "Sendung vom") or strstr($url['title'], "Ganze Sendung")) { $onDemand[1][0] = $onDemand[1][$i]; } if (strstr($url['title'], "Hörfassung") or strstr($url['title'], "Audiodeskription") or strstr($url['title'], "mit Gebärdensprache")) { $onDemand[1][$i + 100] = $onDemand[1][$i]; unset($onDemand[1][$i]); } //echo $url['title'].'
      '; } } else { if (!strstr($url['url'], "hbbtv") and !strstr($url['title'], "orschau")) { // Sonderfall arte URL if (strstr($url['url'], "_PLUS7")) { preg_match_all("=/D[^>](.*)_PLUS7=siU", $url['url'], $a); $id = $a[1][0]; /*$urlName = str_replace('ä', 'a', str_replace('ö', 'o', str_replace('ü', 'u', strtolower($event->getTitle())))); $urlName = preg_replace('/[^a-zA-Z]+/', '-', $urlName);*/ $onDemand[2][$i]['url'] = 'http://www.arte.tv/guide/de/' . $id . '-A/abc'; //$onDemand[2][$i]['url'] = $url['url']; } else { $onDemand[2][$i]['url'] = $url['url']; } if (strstr($url['url'], 'arte.') && $_REQUEST['debug']) { preg_match('#/de/([^/]+)#', $url['url'], $m); $onDemand[2][$i]['embed'] = ['id' => $m[1], 'source' => 'arte']; } $onDemand[2][$i]['description'] = $url['title']; $onDemand[2][$i]['source'] = "houston"; // In bestimmten Fällen das Video als erstes nehmen if (strstr($url['title'], "Sendung vom") or strstr($url['title'], "Ganze Sendung")) { $onDemand[1][0] = $onDemand[2][$i]; } if (strstr($url['title'], "Hörfassung") or strstr($url['title'], "Audiodeskription") or strstr($url['title'], "mit Gebärdensprache")) { $onDemand[2][$i + 100] = $onDemand[2][$i]; unset($onDemand[2][$i]); } //echo $url['title'].'
      '; } } $i++; } } ifdebug($onDemand, 'links'); // Damit die "aussortierten" nach hinten gehen if ($onDemand[1]) { ksort($onDemand[1]); } if ($onDemand[2]) { ksort($onDemand[2]); } ifdebug($onDemand, 'links'); // 30 Tage in die Vergangenheit wird kein Link mehr angezeigt. if (time() < ($event->getStartTime() + 2592000)) { $returnURLs['livestream'] = $livestream; $returnURLs['onDemand'] = $onDemand; } $returnURLs['reihe'] = $reihe; $returnURLs['links'] = $links; if ($returnURLs['livestream'] || $returnURLs['onDemand'] || $returnURLs['reihe'] || $returnURLs['links']) { return $returnURLs; } else { return false; } } function getEventUrl($a, $eventUrls, $wholeObject = false) { switch ($a) { case 'livestream': for ($x = 1; $x <= 3; $x++) { // maximal 3 Livestreameinträge if ($eventUrls['livestream'][$x]['url']) { if (stripos($eventUrls['livestream'][$x]['url'], "http") !== 0) continue; return $wholeObject ? $eventUrls['livestream'][$x] : $eventUrls['livestream'][$x]['url']; } } break; case 'onDemand': for ($x = 1; $x <= 3; $x++) { /* maximal 3 Livestreameinträge */ if ($eventUrls['onDemand'][$x]) { foreach ($eventUrls['onDemand'][$x] as $url) { //if(!$url['url']) continue; /* Manchmal ist die URL leer (Das Erste, Dr. Kleist z.B.) */ if (stripos($url['url'], "http") !== 0) continue; return $wholeObject ? $url : $url['url']; } } } break; case 'reihe': for ($x = 1; $x <= 3; $x++) { if ($eventUrls['reihe'][$x]) { if (stripos($eventUrls['reihe'][$x]['url'], "http://") === false) continue; return $wholeObject ? $eventUrls['reihe'][$x] : $eventUrls['reihe'][$x]['url']; } } break; } return false; } /** * Gibt den Code aus um einem HTML-Element ein Tooltip hinzuzufügen */ function tooltip($s = false) { if ($s) { echo ' data-tooltip '; } } function loader_gif($includePath = '', $alt = 'Wird geladen...') { return '' . $alt . ''; } function url_has_protocol($url) { return stripos($url, "http://") !== false || stripos($url, "https://") !== false; } define('FUNCTIONS', true); // macht klar, dass das Ding schon einmal geladen wurde } // Liest die Verknüpfung zwischen Schlagworten und Schwerpunktlinks aus // Auf das Array $tagLinks kann dann u.a. in der Detailansicht zugegriffen werden ?> Hochsetzen bei Aktualisierung, dann wird das CDN ausgetrickst $t=91; if($_REQUEST['debugjs']) $t = time(); if ($_REQUEST['debugInclude'] == "martin"){$includePath = "http://headkino.de/ard/programm/35/";} if ($_REQUEST['debugInclude'] == "robert"){$includePath = "http://liga.parkdrei.de/programmARDde/35/";} if (! isset ( $pageName )) { $pageName = "programm"; } if ( isset ( $bodyClass )) { $bodyClass = " ".$bodyClass; } // Erst abfragen, ob ein globales Hintergrundbild da ist ?>

      >
      Für Inline CSS Angaben. Diese müssen immer zeitnah in die statischen CSS Dateien transportiert werden * INC [Inline TW Styles] => Für Inline CSS Angaben für die TW (2014) * * steuert mit "content" die Dauer, die eine Seite im Redis-Cache vorgehalten wird * * Embedding aller CSS und JS Dateien sowie der schon im Heder notwendigen Skripte * Die Reihenfolge der CSS Includes ist wichtig, da einige Angaben in programm.css Skins für den ARD Prototypen beinhalten * * letztes Minimieren und Zusammenfassen der JS - 09.03.15 * letztes Minimieren und Zusammenfassen der CSS-Dateien - 09.03.15 * * Die minimierten und zusammengefassten Dateien stehen lokal im jeweiligen Unterordner "prod" * * V3.2 * V3.2.1 Themenwoche 2015 * V3.2.2 Bugfix print.css * * V3.5 * * * * * TODO muss hier schon irgendetwas von der Pixelung rein? */ ?> <?= $metaTags->getTitle() ?> getTags()?> getBlocked () && ! $detail_event->getContentBlocked ()) { ?> getPicturePaths ( 'teaser_huge' ); if (is_array ( $picturePaths ) && count ( $picturePaths )) { foreach ( $picturePaths as $i => $pp ) { ?> > prepareHighlights(15254); ?> false, 'bottom' => false, 'showDate' => true, 'hideThumb' => false, 'hideTipp' => false, 'max' => 10000, 'showStation' => true, //Hinter der Beschreibung wird der Sender angezeigt. 'now' => false, //Jetzt im TV 'headline' => false, 'noMenu' => true, 'includeDetail' => true //Detailansicht ); ?>
      fetchFullById ( $eid, 1, false ); if ($detail_event->getID () == 0) { $detail_event = $ipg->fetchFullById ( $eid, 1, true ); $archiveMode = true; } } echo ''; // Sendungen aelter als 3 Monate ausblenden (#12542) if ($detail_event->getStartTime () < strtotime('-3 month')){ $detail_event = null; } if($detail_event){ $events_by_day[0][] = $detail_event; }else{ $events_by_day = []; } ?> false, 'bottom' => false, 'showDate' => false, 'hideThumb' => false, 'hideTipp' => false, 'max' => 10000, 'showStation' => false, //Hinter der Beschreibung wird der Sender angezeigt. 'now' => false, //Jetzt im TV 'headline' => false, 'noMenu' => false, 'includeDetail' => false, //Nur für Detailansicht 'embedded' => false //Ist Liste mittels iframe eingebettet? (WM, Olympia, etc.) );} if (! $list_ops ['max']) { $list_ops ['max'] = 10000; } if (! $list_ops ['opendays']){ $list_ops ['opendays'] = 2; } //Vergangenheit verstecken, wenn nicht jetzt im TV & nicht kein Menü & ... if (!isset($list_ops['hidepast'])){ $list_ops ['hidepast'] = !$list_ops['now'] && !$list_ops['noMenu'] && ($listmenu_ops ['calendar'] && ! $list_ops ['daily'] && (! $_REQUEST ['datum'] || strtotime ( $_REQUEST ['datum'] ) == strtotime ( date ( 'd.m.Y' ) ))); } /**** Daten *****/ $c = 0; $lim = ''; $time = time (); $_SESSION ['lists'] ['functionList'] = array (); $_SESSION ['lists'] ['themenschwerpunkt'] = array (); $list_entries = $list_events = $delayedTaggableEventIdStrings = array(); if(!is_array($events_by_day) || count($events_by_day) == 1 && array_key_exists(0, $events_by_day) && !$events_by_day[0]){ # der hintere Teil ist nötig bei UT-Sendungen nach Sender $events_by_day = array(); } //debug($events_by_day, 'list'); $total_events_count = 0; foreach ( $events_by_day as $day => $events ) { if(!is_array($events)) { $events = array($events); } $event_count = count ( $events ); $future_event_count = 0; $memo_count = 0; if ($c > $list_ops ['max']) { break; } for($z = 0; $z < $event_count; $z ++) { if ($not_next > 0) { $not_next--; continue; } $event = $events[$z]; if ($event && !$event->getBlocked()) { $new_day = $day; $entry = array(); if($list_ops ['hidepast']) { $in_past = ($event->getEndTime () <= $time); $new_day = $in_past ? 'past' : $day; } $c++; $eid = $event->getID (); $entry['eid'] = $eid; $entry['stationID'] = $event->getStationID (); $base_station_id = $ipg->fetchRegionalBaseStationId ( $entry['stationID'] ); $base_station = $ipg->fetchStationIgnoreShowNotInLists ( $base_station_id, 'tv' ); $entry['stationName'] = $base_station->getName(); $_SESSION ['lists'] ['themenschwerpunkt'] [] = array ( 'id' => $event->getID (), 'title' => $event->getShortTitle ( 24 ), 'url' => $event->getEventUrl ()); $_SESSION ['lists'] ['functionList'] [] = array ( 'id' => $event->getID (), 'title' => $event->getTitle (), 'startTime' => $event->getStartTime (), 'ISOStartDateTime' => $event->getISOStartDateTime (), 'url' => $event->getEventUrl ()); if($event->isRegional () and !$list_ops['showStation']) { /*********** REGIONAL *************/ $start_time = $event->getShortStartTime (); //$regional_events = $list_ops['all_regional_events'][$start_time]; $regional_events = $all_regional_events[$start_time]; $entry['regional_events'] = $regional_events; } else { /***********NICHT REGIONAL*************/ if ($pageName == "Themenwoche") { if ($event->getDescription () and $event->getDescription () != 'ARD-Themenwoche "Heimat"') { ?>getDescription () ).' | '; } } else { if ($event->getDescription()) { $entry['subtitle'] = $event->getDescription (); } } if($list_ops['showStation']) { if (strlen(trim($event->getDescription ())) > 1 and $pageName != "Themenwoche") { $entry['subtitle'] .= ' | '; } if ($event->isRegional()){ $entry['subtitle'] .= $event->getStation(); } else { $entry['subtitle'] .= $base_station->getName(); } $i = 1; while ( $events [$z + $i] && $events [$z + $i]->getTitle () == $event->getTitle () && $events [$z + $i]->getDescription () == $event->getDescription () && $events [$z + $i]->getStartTime () == $event->getStartTime () ) { $next_event = $events [$z + $i]; if ($next_event->getType () == "tv") { $next_base_station_id = $ipg->fetchRegionalBaseStationId ( $next_event->getStationID () ); $next_station = $ipg->fetchStationIgnoreShowNotInLists ( $next_base_station_id, 'tv' ); } $entry['subtitle'] .= ', ' . $next_station->getName (); $not_next ++; $i ++; } } $urls = $event->getURLs (); // Zugriff Links (neu) //ifdebug($urls); $eventUrls = mediatheksLinks ( $urls, $event ); //ifdebug($eventUrls); $entry['onDemand'] = $eventUrls['onDemand']; if ($event->isTip() || $eventUrls['onDemand'] || $event->nowRunning() || $event->getTrailer()) { $firstPic = ''; $picture = $event->getPicture ( 0 ); if ($picture) { $entry['firstPic'] = $firstPic = $picture->getScaledPath ( '160' ); $pictureAlt = "Bild: " . $event->getTitle (); } $entry['trailer'] = $event->getTrailer(); if ($eventUrls ['livestream'] and $event->nowRunning ()) { $entry['livestream'] = getEventUrl('livestream', $eventUrls); } else { unset ( $eventUrls ['livestream'] ); } if($eventUrls['onDemand'] AND !$eventUrls['livestream']){ $entry['mediathek_url'] = getEventUrl('onDemand', $eventUrls); $entry['mediathek_url'] = str_replace("https://www.ardmediathek.de/ard/player/", "https://www.ardmediathek.de/video/", $entry['mediathek_url']); } } // Sonderfall Alle Sender SWR RP, SR und Radio Bremen => Keine Tipps anzeigen, würden sich doppeln if ($list_ops['now'] AND ($entry['stationID'] == 28385 OR $entry['stationID'] == 28486 OR $entry['stationID'] == 28231)){ $entry['firstPic'] = ''; $entry['hideTipp'] = true; } if ($firstPic){ $imgSwap [0] = ""; $imgSwap [1] = ""; $imgSwap [2] = $firstPic; $imgSwap [3] = $firstPic; $imgSwap [4] = $firstPic; $entry['attSwapImg'] = interchange($imgSwap); $picture = $event->getPicture ( 0 ); if($picture) { $entry['pictureTitle'] = $picture->getAltTitle(); } } } $entry['date'] = $list_ops ['showDate'] ? $event->getShortStartDate () . '
      ' . $event->getShortStartTime (true) . ' Uhr' : $event->getShortStartTime (false, true) . ""; $entry['date-class'] = $list_ops ['showDate'] ? ' show-date' : ''; $list_events[$new_day][] = $event; //Event objects $list_entries[$new_day][] = $entry; //Array mit vorbereiteten Ausgaben für jedes Event, Datum, Zeit etc. $total_events_count++; } } } //ifdebug($list_events); /******ENDE DATEN*******/ if ($list_ops['headline']) { ?>

      >
      > false, 'now' => false, '20uhr' => false, '22uhr' => false, 'evening' => false, 'calendar' => false, 'calendar_nodate' => false, //Text um Button einzublenden, um Datum zu löschen 'classes' => [], //Liste von Elementen ['name' => 'CSS-Classname'] //Bsp.: ['calendar' => 'show-for-medium', 'filter-1' => '...'] 'heute' => false, 'weekdays' => false, // Sonst array(Startdatum, Enddatum) jeweils im Format d.m.Y 'stations' => false, 'bottom' => false, 'mediathek' => false, 'showArchiv' => false, 'stickTop' => false //Beim Scrollen mitgehen/oben festkleben ); if (count ( $listmenu_ops ['calendar'] ) == 2) { $listmenu_ops ['minDate'] = $listmenu_ops ['calendar'] [0]; $listmenu_ops ['maxDate'] = $listmenu_ops ['calendar'] [1]; } else { $listmenu_ops ['minDate'] = - 365; $listmenu_ops ['maxDate'] = 28; } $no_menu = ! $listmenu_ops ['time'] && ! $listmenu_ops ['calendar'] && ! $listmenu_ops ['weekdays'] && ! $listmenu_ops ['stations'] && ! $listmenu_ops ['mediathek'] && ! $listmenu_ops ['bottom']; if (! $no_menu) { $wochentage = array ( 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa', 'So' ); $wochentageFull = array ( 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag', 'Sonntag' ); $stationManager = new StationManager($GLOBALS['ipgConnection']); $endDate = $stationManager->getEndDate($stationid); $datepicker = array( 'language' => 'de', 'endDate' => $listmenu_ops['maxDate'] ? $listmenu_ops ['maxDate'] : $endDate, 'format' => 'dd.mm.yyyy', 'weekStart' => 1 ); if($listmenu_ops ['minDate']) { $datepicker['startDate'] = $listmenu_ops ['minDate']; //debug($datepicker); } $timepicker = array( 'language' => 'de', 'format' => 'hh:ii', 'pickTime' => true, 'maxView' => 'day', 'minView' => 'day', 'startView' => "day" ); $archivVar = ''; $archivVarYesterday = ''; $archivVarTomorrow = ''; // Archivparameter if ($date){ if (strtotime($date) < strtotime(date("d.m.Y"))){ $archivVar = "&archiv=1"; $_REQUEST['archiv'] = 1; } if (strtotime($date." + 1day") < strtotime(date("d.m.Y"))){ $archivVarTomorrow = "&archiv=1"; } if (strtotime($date." - 1day") < strtotime(date("d.m.Y"))){ $archivVarYesterday = "&archiv=1"; } } if (! $listmenu_ops ['bottom']) { if ($listmenu_ops ['time']) { $sheight = "80"; } else { $sHeight = "30"; } if (! $_REQUEST ['datum']) { $_REQUEST['datum'] = date ( "d.m.Y", time() ); } ?>
      false, 'now' => false, '20uhr' => false, '22uhr' => false, 'evening' => false, 'calendar' => false, 'heute' => false, 'weekdays' => false, // Sonst array(Startdatum, Enddatum) jeweils im Format d.m.Y 'stations' => false, 'bottom' => false, 'mediathek' => false, 'showArchiv' => false, 'stickTop' => false //Beim Scrollen mitgehen/oben festkleben ); if (is_countable($listmenu_ops ['calendar']) && count ( $listmenu_ops ['calendar'] ) == 2) { $listmenu_ops ['minDate'] = $listmenu_ops ['calendar'] [0]; $listmenu_ops ['maxDate'] = $listmenu_ops ['calendar'] [1]; } else { $listmenu_ops ['minDate'] = - 356; $listmenu_ops ['maxDate'] = 28; } $no_menu = ! $listmenu_ops ['time'] && ! $listmenu_ops ['calendar'] && ! $listmenu_ops ['weekdays'] && ! $listmenu_ops ['stations'] && ! $listmenu_ops ['mediathek'] && ! $listmenu_ops ['bottom']; if (! $no_menu) { if (! isset ( $hour )) { $hour = get_hour($_REQUEST ['hour']); if (! isset ( $hour )) $hour = date ( 'G' ); } if ($hour > 29) { $hour = 6; $date = date ( 'd.m.Y', strtotime ( '+1 day', strtotime ( $date ) ) ); } $shour = $hour; if ($shour >= 24) $shour = $shour % 24; $next_hour = ($shour + 1) % 24; $prev_hour = ($shour - 1 + 24) % 24; $wochentage = array ( 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa', 'So' ); $wochentageFull = array ( 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag', 'Sonntag' ); $stationManager = new StationManager($GLOBALS['ipgConnection']); $endDate = $stationManager->getEndDate($stationid); $datepicker = array( 'language' => 'de', 'endDate' => $endDate, 'format' => 'dd.mm.yyyy', 'weekStart' => 1 ); $timepicker = array( 'language' => 'de', 'format' => 'hh:ii', 'pickTime' => true, 'maxView' => 'day', 'minView' => 'day', 'startView' => "day" ); $archivVar = ''; $archivVarYesterday = ''; $archivVarTomorrow = ''; // Archivparameter if ($date){ if (strtotime($date) < strtotime(date("d.m.Y"))){ $archivVar = "&archiv=1"; $_REQUEST['archiv'] = 1; } if (strtotime($date." + 1day") < strtotime(date("d.m.Y"))){ $archivVarTomorrow = "&archiv=1"; } if (strtotime($date." - 1day") < strtotime(date("d.m.Y"))){ $archivVarYesterday = "&archiv=1"; } } if (! $listmenu_ops ['bottom']) { if ($listmenu_ops ['time']) { $sheight = "80"; } else { $sHeight = "30"; } if (! $_REQUEST ['datum']) { $_REQUEST ['datum'] = date ( "d.m.Y", time() ); } ?>
      = 1475272800) { ?>
      EinsPlus wird zum 1.10.2016 eingestellt.
        $events ) { $entries = $list_entries[$day]; $c++; //ifdebug($day); $isActive = ($day === 'past' && !$list_ops['includeDetail']) || ($list_ops['daily'] && $c > $list_ops['opendays']); if ($list_ops['now']){$isActive = ""; } $titlePadding = !($day === 'past' || $list_ops['daily']); ?>
      •   Alle Sendungen des Tages anzeigen Abgelaufene Sendungen verbergen
          getStartTime()) ? 'Heute' : \PHP82_BC\strftime("%A, %d.%m.%y", $events[0]->getStartTime()); ?>
          $event) { $loop_count++; $last_class = ($loop_count == $event_number ? ' last' : ''); $title_class = 'accordion-title'.$last_class; $entry = $entries[$key]; ?>
        • isRegional () and !$list_ops['showStation']) { ?> getID(); $delayedTaggableEventIdString = "memo_".$delayedTaggableEventId.'_'.uniqid(); $delayedTaggableEventTime = urlencode($event->getISOStartDateTime()); $delayedTaggableEventIdStrings[$delayedTaggableEventId] = $delayedTaggableEventIdString; ?> < class="sendungslink " href="/TV/Themenschwerpunkte/Kirche-und-Religion/Religion-Hoerfunk/Startseite/?sendung=" data-href="/TV/Programm/Load/Event35?sendung=&aLoad=1&shortdetail=&special=" data-container=".accordion-content">
          getRoofTitle()){ ?> getRoofTitle(); ?> getTitle()); } else if ($list_ops['special'] == "em2020"){ echo str_replace("UEFA EURO 2020: ", "", $event->getTitle()); } else { ?> getTitle(); ?> isTip() || $entry['onDemand'] || $event->nowRunning()) { ?> <?= $entry['pictureTitle'] ?> nowRunning ()) { ?> Livestream isTip() AND $event->getStartTime() > time() AND !$entry['onDemand'] AND !$entry['livestream'] AND !$entry['hideTipp'] AND !$entry['trailer']) { ?> Tipp Mediathek Trailer
          >
          '; print_r($d); echo ''; } function ifdebug($d, $type = false) { $n = 'debug'; if ($type) { $n = 'debug-' . $type; } if ($_REQUEST[$n]) { debug($d); } } function isAjax() { // Das haut nicht hin, schon gar nicht mit dem CDN // wir nehmen aLoad=1 als Parameter, der das indiziert //if (isset ( $_SERVER ['HTTP_X_REQUESTED_WITH'] ) && $_SERVER ['HTTP_X_REQUESTED_WITH'] == "XMLHttpRequest") if ($_REQUEST['aLoad'] == 1) { return true; } else { return false; } } /** * Stellt die Informationen über LiveStreams bereit * * @param * $event * @return Links */ function jetztEinschalten($event) { if ($event->nowRunning() || $_REQUEST['debug']) { $id = $event->getStationID(); if ($id == 28106) $link = 'https://www.ardmediathek.de/daserste/live/Y3JpZDovL2Rhc2Vyc3RlLmRlL2xpdmUvY2xpcC9hYmNhMDdhMy0zNDc2LTQ4NTEtYjE2Mi1mZGU4ZjY0NmQ0YzQ'; else if ($id == 28229 or $id == "-28229") $link = 'https://www.ardmediathek.de/mdr/live/Y3JpZDovL21kci5kZS9MaXZlc3RyZWFtLU1EUi1TYWNoc2Vu'; else if ($id == 28111 or $id == "-28111") $link = 'https://www.ardmediathek.de/wdr/live/Y3JpZDovL3dkci5kZS9CZWl0cmFnLTNkYTY2NGRlLTE4YzItNDY1MC1hNGZmLTRmNjQxNDcyMDcyYg'; else if ($id == 28205 or $id == "-28205") //$link = 'http://mediathek.rbb-online.de/tv-livestream/rbb-brandenburg?documentId=14940044'; $link = 'https://www.ardmediathek.de/rbb/live/Y3JpZDovL3JiYi1vbmxpbmUuZGUvcmJiZmVybnNlaGVuL2xpdmVfYnJhbmRlbmJ1cmcvc2VuZGVwbGF0ei0tLWxpdmVzdHJlYW0tLS1icmFuZGVuYnVyZy0tLWhsczE'; else if ($id == 28226 or $id == "-28226") $link = 'https://www.ardmediathek.de/ndr/live/Y3JpZDovL25kci5kZS9MaXZlc3RyZWFtLU5EUi1OaWVkZXJzYWNoc2Vu'; else if ($id == 28108) $link = 'https://www.ardmediathek.de/hr/live/Y3JpZDovL2hyLmRlL0xpdmVzdHJlYW0tSFI'; else if ($id == 28721) $link = 'https://www.ardmediathek.de/ard/live/Y3JpZDovL2Rhc2Vyc3RlLmRlL3RhZ2Vzc2NoYXUvbGl2ZXN0cmVhbQ'; else if ($id == 28724) $link = 'https://www.ardmediathek.de/ard/live/Y3JpZDovL2FydGUuZGUvTGl2ZXN0cmVhbS1BUlRF'; else if ($id == 28008) $link = 'https://www.ardmediathek.de/kika/live/Y3JpZDovL2tpa2EuZGUvTGl2ZXN0cmVhbS1LaUth'; else if ($id == 28113) $link = 'https://www.ardmediathek.de/swr/live/Y3JpZDovL3N3ci5kZS8xMzQ4MTA0Mg'; else if ($id == 28231) $link = 'https://www.ardmediathek.de/swr/live/Y3JpZDovL3N3ci5kZS8xMzQ4MTIzMA'; else if ($id == 28007) $link = 'https://www.ardmediathek.de/ard/live/Y3JpZDovLzNzYXQuZGUvTGl2ZXN0cmVhbS0zc2F0'; else if ($id == 28107 or $id == "-28107") $link = 'https://www.ardmediathek.de/br/live/Y3JpZDovL2JyLmRlL0xpdmVzdHJlYW0tQlItU8O8ZA'; else if ($id == 28487) $link = 'https://www.ardmediathek.de/alpha/live/Y3JpZDovL2JyLmRlL0xpdmVzdHJlYW0tQVJELUFscGhh'; else if ($id == 28486) $link = 'https://www.ardmediathek.de/ard/live/Y3JpZDovL3NyLW9ubGluZS5kZS8yODQ4NjAvbGl2ZXN0cmVhbQ'; else if ($id == 28722) $link = 'https://www.ardmediathek.de/one/live/Y3JpZDovL3dkci5kZS9CZWl0cmFnLTFlNjA0YWFlLTViODctNGMzNC04ZDhmLTg4OWI1ZjE2ZDU3Mw'; else if ($id == 28725) $link = 'https://www.ardmediathek.de/phoenix/live/Y3JpZDovL3dkci5kZS9CZWl0cmFnLTE3YTg4ZDdmLWI5NTAtNDcyNy05M2E0LWE3NzI3YjkxNjVkZQ'; else if ($id == 28014) $link = 'http://uefafrauenem.sportschau.de/niederlande2017/live/index.html'; else if ($id == 28011) $link = 'https://www.zdf.de/sport'; return $link; } return false; } /** * Wandelt Links in Texten in klickbare Links um */ function autolink($str, $stationID = NULL, $attributes = array()) { $attrs = ''; foreach ($attributes as $attribute => $value) { $attrs .= " {$attribute}=\"{$value}\""; } $str = ' ' . $str; $str = preg_replace('`([^"=\'>])(((http|https|ftp)://|www.)[^\s<]+[^\s<\.)])`i', '$1$2', $str); $str = substr($str, 1); $str = preg_replace('`href=\"www`', 'href="http://www', $str); if ($stationID != 28007) { preg_match_all("/

          .*?<\/p>/si", $str, $matches); $matches = $matches[0]; if (is_array($matches)) { foreach ($matches as $m) { $nm = str_replace("\n", "
          ", $m); $str = str_replace($m, $nm, $str); } } } return $str; } /* * Liest die Linksinformationen aus highlight->getAdditionalLink{1,2,3,4, usw.} in ein array der länge $num */ function get_highlight_links($highlight, $num = 3) { $links = array(); foreach (range(1, $num) as $i) { if ($highlight->{'issetAdditionalLink' . $i}() and $highlight->{'getAdditionalLink' . $i}() != $_SERVER['REQUEST_URI']) { $links[] = array( 'url' => $highlight->{'getAdditionalLink' . $i}(), 'text' => $highlight->{'getAdditionalLinkText' . $i}(), 'target' => $highlight->{'getAdditionalLinkTarget' . $i}() ); } } return $links; } /** * Liefert einen String zurück der für foundation interchange die verschiedenen Bilder den verschiednen Größen zuordnet */ function interchange($image) { $sizes = array('xsmall', 'small', 'medium', 'large', 'xlarge'); $sizes2 = array('xs' => 'xsmall', 's' => 'small', 'm' => 'medium', 'l' => 'large', 'xl' => 'xlarge'); if (getType($image) == 'string') { $image = ['xs' => $image]; } if ($image['xs']) { $sizes = $sizes2; } //$s = '['; foreach ($image as $size => $im) { if ($sizes[$size]) { $s .= $lim . '[' . $im . ', ' . $sizes[$size] . ']'; $lim = ','; } } // $s.=']'; //debug($s); return $s; } /** * */ function responsive_image($size, $pic) { $sizes = [ /*xs, sm, md, lg, xl*/ 'breaking' => [292, 452, 730, 186, 270], 'wide' => [292, 452, 746, 980, 1408], 'normal' => [292, 452, 238, 308, 448], 'mini' => [292, 452, 243, 233, 340], 'big' => [292, 452, 366, 490, 690], 'picture' => [292, 452, 496, 660, 750] ]; $sizes = $sizes[$size]; $imgSwap = []; if ($sizes) { foreach ($sizes as $size) { $imgSwap[] = $pic->getScaledPath($size); } } return $imgSwap; } /** * XMP Daten aus Bilddatei auslesen und in einem Array zurückgeben */ function get_xmp_data($file) { $content = file_get_contents($file); $xmp_data_start = strpos($content, ''); $xmp_length = $xmp_data_end - $xmp_data_start; $xmp_data = substr($content, $xmp_data_start, $xmp_length + 12); $simple = $xmp_data; $p = xml_parser_create(); xml_parse_into_struct($p, $simple, $vals, $index); xml_parser_free($p); return $vals; } /** * Gibt bei einer Uhrzeit im Format "ab:cd" nur "ab" zurück */ function get_hour($hour) { if (strpos(':', $hour) !== false) { $t = explode(':', $h); $hour = $t[0]; } return intval($hour); } /** * Untersucht die Links zu einer Sendung, und sortiert nach Mediathek, Livestream, andere Links * * @param $urls * @param $event * @param $source * @return Links */ function mediatheksLinks($urls, $event, $source = NULL) { // Wenn Sendung älter als 30 Tage => Return False $onDemand = array(); $livestream = array(); $reihe = array(); $links = array(); if ($event->nowRunning()) { $status = "running"; } else if ($event->getStartTime() > time()) { $status = "future"; } else { $status = "past"; } // Vorsortieren if ($urls) { $returnURLs = array(); $j=0; foreach ($urls as $url) { // Ein Hack um doofe Tabs, die aus dem EPG kommen, rauszuhauen $url['url'] = str_replace("\t", "", $url['url']); $url['url'] = str_replace(" ", "", $url['url']); $url['url'] = str_replace("http://http://", "http://", $url['url']); $url['url'] = str_replace("http://https://", "https://", $url['url']); // Ein Hack um kaputte 3sat Links zu reparieren $url['url'] = str_replace("http://www.3sat.de/mediathek/http://www.3sat.de/mediathek/", "http://www.3sat.de/mediathek/", $url['url']); // Livestream if ($url['description'] == "Mediathek: LiveStream") { // Livestream ARD Mediathek if ($status != "past") { $livestream[2]['url'] = $url['url']; $livestream[2]['description'] = "Livestream in der ARD Mediathek"; $livestream[2]['source'] = "ardmt"; } } // Alle OnDemand Links erst einmal sammeln elseif ($url['description'] == "Mediathek: OnDemand-Clip" or $url['rank'] >= 100 or (preg_match('/^\[/', $url['description']) && !preg_match('/(hbbtv|json)/i', $url['description']))) { $onDemandClips[] = $url; } // Reihen in Mediatheken elseif ($url['description'] == "DasErsteHbbTV") { // Reihe Das Erste Mediathek HbbTV } elseif ($url['description'] == "DasErsteWeb") { // Reihe Das Erste Mediathek Web $DasErsteReiheURL = $url; } elseif ($url['description'] == "Mediathek: Sendereihe") { // Reihe ARD Mediathek $reihe[1]['url'] = $url['url']; $reihe[1]['description'] = "Sendereihe [ARD Mediathek]"; $reihe[1]['source'] = "ardmt"; } // Links auf Sendungsseiten else { // alle anderen if (!stripos($url['url'], "hbbtv") and !stripos($url['url'], "json")) { $links[$j]['url'] = $url['url']; if ($url['title']) { $links[$j]['description'] = $url['title']; } else { $links[$j]['description'] = "Sendungsseite im Internet"; } $j++; } } } } if (jetztEinschalten($event) and $source != "ardmt") { $livestream[1]['url'] = jetztEinschalten($event); //24/7 Livestreams $livestream[1]['description'] = "Livestream jetzt einschalten"; } // Auswerten der diversen OnDemand Clips // in [0] ist das erste Video, was teilweise priorisiert angezeigt wird. if ($onDemandClips) { $i = 1; foreach ($onDemandClips as $url) { if ($url['rank'] < 100) { // Kommt aus iMex, immer Prio 1 if (!strstr($url['title'], "orschau")) { $onDemand[1][$i]['url'] = $url['url']; $onDemand[1][$i]['description'] = $url['title'] . ' [ARD Mediathek]'; $onDemand[1][$i]['source'] = "ardmt"; // In bestimmten Fällen das Video als erstes nehmen if (strstr($url['title'], "Sendung vom") or strstr($url['title'], "Ganze Sendung")) { $onDemand[1][0] = $onDemand[1][$i]; } if (strstr($url['title'], "Hörfassung") or strstr($url['title'], "Audiodeskription") or strstr($url['title'], "mit Gebärdensprache")) { $onDemand[1][$i + 100] = $onDemand[1][$i]; unset($onDemand[1][$i]); } //echo $url['title'].'
          '; } } else { if (!strstr($url['url'], "hbbtv") and !strstr($url['title'], "orschau")) { // Sonderfall arte URL if (strstr($url['url'], "_PLUS7")) { preg_match_all("=/D[^>](.*)_PLUS7=siU", $url['url'], $a); $id = $a[1][0]; /*$urlName = str_replace('ä', 'a', str_replace('ö', 'o', str_replace('ü', 'u', strtolower($event->getTitle())))); $urlName = preg_replace('/[^a-zA-Z]+/', '-', $urlName);*/ $onDemand[2][$i]['url'] = 'http://www.arte.tv/guide/de/' . $id . '-A/abc'; //$onDemand[2][$i]['url'] = $url['url']; } else { $onDemand[2][$i]['url'] = $url['url']; } if (strstr($url['url'], 'arte.') && $_REQUEST['debug']) { preg_match('#/de/([^/]+)#', $url['url'], $m); $onDemand[2][$i]['embed'] = ['id' => $m[1], 'source' => 'arte']; } $onDemand[2][$i]['description'] = $url['title']; $onDemand[2][$i]['source'] = "houston"; // In bestimmten Fällen das Video als erstes nehmen if (strstr($url['title'], "Sendung vom") or strstr($url['title'], "Ganze Sendung")) { $onDemand[1][0] = $onDemand[2][$i]; } if (strstr($url['title'], "Hörfassung") or strstr($url['title'], "Audiodeskription") or strstr($url['title'], "mit Gebärdensprache")) { $onDemand[2][$i + 100] = $onDemand[2][$i]; unset($onDemand[2][$i]); } //echo $url['title'].'
          '; } } $i++; } } ifdebug($onDemand, 'links'); // Damit die "aussortierten" nach hinten gehen if ($onDemand[1]) { ksort($onDemand[1]); } if ($onDemand[2]) { ksort($onDemand[2]); } ifdebug($onDemand, 'links'); // 30 Tage in die Vergangenheit wird kein Link mehr angezeigt. if (time() < ($event->getStartTime() + 2592000)) { $returnURLs['livestream'] = $livestream; $returnURLs['onDemand'] = $onDemand; } $returnURLs['reihe'] = $reihe; $returnURLs['links'] = $links; if ($returnURLs['livestream'] || $returnURLs['onDemand'] || $returnURLs['reihe'] || $returnURLs['links']) { return $returnURLs; } else { return false; } } function getEventUrl($a, $eventUrls, $wholeObject = false) { switch ($a) { case 'livestream': for ($x = 1; $x <= 3; $x++) { // maximal 3 Livestreameinträge if ($eventUrls['livestream'][$x]['url']) { if (stripos($eventUrls['livestream'][$x]['url'], "http") !== 0) continue; return $wholeObject ? $eventUrls['livestream'][$x] : $eventUrls['livestream'][$x]['url']; } } break; case 'onDemand': for ($x = 1; $x <= 3; $x++) { /* maximal 3 Livestreameinträge */ if ($eventUrls['onDemand'][$x]) { foreach ($eventUrls['onDemand'][$x] as $url) { //if(!$url['url']) continue; /* Manchmal ist die URL leer (Das Erste, Dr. Kleist z.B.) */ if (stripos($url['url'], "http") !== 0) continue; return $wholeObject ? $url : $url['url']; } } } break; case 'reihe': for ($x = 1; $x <= 3; $x++) { if ($eventUrls['reihe'][$x]) { if (stripos($eventUrls['reihe'][$x]['url'], "http://") === false) continue; return $wholeObject ? $eventUrls['reihe'][$x] : $eventUrls['reihe'][$x]['url']; } } break; } return false; } /** * Gibt den Code aus um einem HTML-Element ein Tooltip hinzuzufügen */ function tooltip($s = false) { if ($s) { echo ' data-tooltip '; } } function loader_gif($includePath = '', $alt = 'Wird geladen...') { return '' . $alt . ''; } function url_has_protocol($url) { return stripos($url, "http://") !== false || stripos($url, "https://") !== false; } define('FUNCTIONS', true); // macht klar, dass das Ding schon einmal geladen wurde } // Liest die Verknüpfung zwischen Schlagworten und Schwerpunktlinks aus // Auf das Array $tagLinks kann dann u.a. in der Detailansicht zugegriffen werden ?> loadUser (); $memos = $ipg->fetchMemos ( $program_user ); if ($_REQUEST ['sendung'] && ! $detail_event) { $archiveMode = false; $detail_event = $ipg->fetchFullById ( $_REQUEST ['sendung'], 1, false ); if ($detail_event->getID () == 0) { $detail_event = $ipg->fetchFullById ( $_REQUEST ['sendung'], 1, true ); $archiveMode = true; } } else { if ($_SESSION ['previewEvent']) { $detail_event = $_SESSION ['previewEvent']; unset ( $_SESSION ['previewEvent'] ); } } if ($_REQUEST['debug'] == "robert") { print "


          (bernd) " . __FILE__ . ", " . __LINE__ . "
          \n";
              print_r($detail_event);
              print "

          \n"; } $metaTags = new MetaTags ( $detail_event, '/TV/Themenschwerpunkte/Kirche und Religion/Religion Hörfunk/Startseite', $_REQUEST ['sender'] ); require_once IPG_CLASS_PATH . 'TimeManager.php'; require_once EVO_MODULES_PATH . "/addOn/classes/ipg.php"; require_once EVO_MODULES_PATH . "/addOn/classes/teaserManager.php"; $teaser_manager = new TeaserManager ( $ipg ); // V3.5.9 $hoerbarRust = false; if ($detail_event->getTitle() == "Hörbar Rust") { $hoerbarRust = true; } // V3.5.5 MDR $mdrBefore2017 = false; if (\PHP82_BC\in_array($detail_event->getStationID(), array("28229", "-28229", "28228", "28230"))) { if ($detail_event->getStartTime() < 1483228800){ $mdrBefore2017 = true; } } // Special if ($pageName == "tagesschau24"){ $_REQUEST['special'] = "tagesschau24"; } // Alles nur ausführen, wenn das Event nicht gesperrt ist if ($detail_event && $detail_event->getID () && ! $detail_event->getBlocked () && ! $detail_event->getContentBlocked () AND !$mdrBefore2017 AND !$hoerbarRust) { $ID = $detail_event->getID (); $mode = $detail_event->getBroadcastType (); if (strpos ( $_SERVER ['REQUEST_URI'], '68_1' ) == false) { // Zähler im Highlightpool $ipg->storeEventHit ( $detail_event, $archiveMode ); } $noEventLinks = true; $bookmarks = $detail_event->getBookmarks (); // URLs holen $urls = $detail_event->getURLs (); $eventUrls = mediatheksLinks ( $urls, $detail_event, $_REQUEST ['mediathek'] ); $base_station_id = $ipg->fetchRegionalBaseStationId ( $detail_event->getStationID () ); if (! $base_station_id) { $base_station_id = $detail_event->getStationID (); } $base_station = $ipg->fetchStationIgnoreShowNotInLists ( $base_station_id, 'tv' ); $detailevent_stationname = $base_station->getName (); $detailevent_stationlink = $base_station->getURL (); $event = $detail_event; /* Gibt es einen Trailer */ $showTrailer = false; $highlightmanager = new HighlightManager (); $highlightmanager->initialize ( $GLOBALS ['connection'] ); $highlight = $highlightmanager->fetchByEventID ( $detail_event->getID (), $archiveMode ); if (isset ( $highlight ) && $highlight->getTrailer ()) { if (($detail_event->getEndTime ()) > TimeManager::getTime ()) { // Sendung muss in der Zukunft liegen, nur dann wird der Trailer abgespielt $counter = 1; $fsk = $highlight->getTrailerFSK (); // FSK if (! $fsk or $fsk == 0) { $showTrailer = TRUE; } if ($fsk == "12" and (date ( "G" ) > 19 or date ( "G" ) < 6)) { $showTrailer = TRUE; } if ($fsk == "16" and (date ( "G" ) > 21 or date ( "G" ) < 6)) { $showTrailer = TRUE; } if ($fsk == "18" and (date ( "G" ) > 22 or date ( "G" ) < 6)) { $showTrailer = TRUE; } } } $links = array (); // TODO Auslagern in ein inkludiertes Template zum LinkHandling, Ist soweit jetzt ausgelagert in functions.php, alter Code noch in Kommentaren falls ein Fehler auftritt. if ($eventUrls ['livestream'] && time() < $detail_event->getEndTime()) { $url = getEventUrl('livestream', $eventUrls, true); $links [] = array ( $url ['url'], $url ['description'] ); /* for($x = 1; $x <= 3; $x ++) { if ($eventUrls ['livestream'] [$x]) { if (stripos ( $eventUrls ['livestream'] [$x] ['url'], "http://" ) !== false) { $links [] = array ( $eventUrls ['livestream'] [$x] ['url'], $eventUrls ['livestream'] [$x] ['description'] ); } } }*/ } if ($eventUrls ['onDemand']) { $url = getEventUrl('onDemand', $eventUrls, true); $links [] = array ( $url ['url'], $url ['description'] ); $onDemand = $url; /* for($x = 1; $x <= 3; $x ++) { if ($eventUrls ['onDemand'] [$x]) { foreach ( $eventUrls ['onDemand'] [$x] as $url ) { if (stripos ( $url ['url'], "http://" ) !== false) { $links [] = array ( $url ['url'], $url ['description'] ); } } } }*/ } if ($eventUrls ['reihe']) { $url = getEventUrl('reihe', $eventUrls, true); $links [] = array ( $url['url'], $url['description'] ); /* for($x = 1; $x <= 3; $x ++) { if ($eventUrls ['reihe'] [$x]) { if (stripos ( $eventUrls ['reihe'] [$x] ['url'], "http://" ) !== false) { $links [] = array ( $eventUrls ['reihe'] [$x] ['url'], $eventUrls ['reihe'] [$x] ['description'] ); } } }*/ } // TODO Auslagern in ein Include-Template $sumPics = $detail_event->getPictureCount (); // Senderlogo nur wenn kein Bild UND Trailer oder Livestreamlink oder Mediathekslink if (! $sumPics AND ($showTrailer OR ($eventUrls ['livestream'] && time() < $detail_event->getEndTime ()) OR $eventUrls ['onDemand'])) { $sender_logo = "http://programm.ard.de/files/265/2007/2778/".$detail_event->getStationID().'.jpg'; $picturePaths = array( $sender_logo ); $sumPics = 1; } else { $picturePaths = $event->getPicturePaths ( 'teaser_huge' ); $pictures = $event->getPictures(); } foreach ( array ( 'xs' => 'teaser_normal', 's' => 'teaser_normal', 'm' => 'teaser_huge', 'l' => 'teaser_huge', 'xl' => 'original' ) as $k => $size ) { foreach ( $picturePaths as $i => $pp ) { $picture = $pictures[$i]; $images [$i] [$k] = str_replace ( '/teaser_huge/', '/' . $size . '/', $pp ); if($picture) { $images [$i] ['title'] = $picture->getAltTitle(); } } } $hour = date ( "G", $detail_event->getStartTime () ); $minute = date ( "i", $detail_event->getStartTime () ); if ($hour < 5 or ($hour == 5 and $minute > 30)) { // Sendungen zwischen 0 und 5:30 Uhr $tag [0] = "Sonntag "; $tag [1] = "Montag "; $tag [2] = "Dienstag "; $tag [3] = "Mittwoch "; $tag [4] = "Donnerstag "; $tag [5] = "Freitag "; $tag [- 1] = "Samstag "; $previousday = date ( "w", $detail_event->getStartTime () ) - 1; $nightstring = 'Nacht von ' . $tag [$previousday] . ' auf '; } // Um die Bildergalerien in pixelgenaues 16:9 zu zwingen if ($_REQUEST ['showEventDetailJetztImTV'] == 1) { $showEventDetailJetztImTV = TRUE; } if ($_REQUEST ['showEventDetail'] == 1) { $showEventDetail = TRUE; } $hasDetails = $detail_event->getBackground () || $detail_event->getBackground () || $detail_event->getDetails (); $hasBesetzung = $detail_event->hasParticipants () || $detail_event->getPeople (); // Links in den Texten erkennen und als solche ausgeben $detailText = autolink ( $detail_event->getMoreContent (), $detail_event->getStationID () ) . autolink ( $detail_event->getBackground (), $detail_event->getStationID () ); foreach ( $detail_event->getDetails () as $detail ) { if (! $detail_event->isPeopleDetail ( $detail ['type'] ) && ! $detail_event->isStreamDetail ( $detail ['type'] )) { $hasdetails = TRUE; $detailText .= autolink ( $detail ['text'], $detail_event->getStationID () ); } } $detailText = trim ( $detailText ); // Festlegen des StartTabs // Wenn Darsteller und Regie und Schlagwort "Film" => Besetzung $replayTab = ""; $similarTab = ""; $crewTab = ""; $detailsTab = ""; if ($bookmarks){ foreach ($bookmarks as $bookmark){ if (($bookmark->name == "Film" OR $bookmark->name == "Serie") AND $hasBesetzung){ $crewTab = "is-active"; } } } if (!$crewTab){ $detailsTab = "is-active"; } if (!$hasDetails) { $detailText = "Keine weiteren Informationen"; $hasDetails = true; } /******* ENDE der LOGIK *************/ // ACHTUNG: Wenn nach dem PHP-Endtag in der nächsten Zeile eine Leerzeile ist, lässt sich das Akkordeon im IE 8 und 9 (zumindest unter Windows XP) nicht öffnen. (Filed under: Verrücktester Fehler der Welt) // Hängt wahrscheinlich damit zusammen, dass der Browser, obwohl der Inhalt geladen wird, "NICHTS" zurückgibt, falls er kein Zeichen an Position 1 hat ?>
          ">
           
          getContentBlocked() || !$detail_event->getContent()) { ?>

          Keine weiteren Informationen

          getContent(), $detail_event->getStationID())?> Zeitplan und Ergebnisse: '; $i = 0; foreach ( $bookmarks as $bookmark ) { //$b_name = $bookmark->name; if ($_REQUEST['debug'] == "olymp"){ //debug ($bookmark); //echo $bookmark->name; } if ($o_links[$bookmark->name]){ if ($i > 0){ echo ' | '; } $i++; echo ''.$bookmark->name.' '; } } } } // Special für die WM-Seiten if ($_REQUEST['special'] == "em2020"){ $em_links['Deutschland'] = 'https://www.sportschau.de/fussball/uefaeuro2020/deutschesteam/index.html'; $em_links['Belgien'] = 'https://www.sportschau.de/fussball/uefaeuro2020/teams/uebersicht-belgien-euro-zwanzigzwanzig-100.html'; $em_links['Dänemark'] = 'https://www.sportschau.de/fussball/uefaeuro2020/teams/uebersicht-daenemark-euro-zwanzigzwanzig-100.html'; $em_links['England'] = 'https://www.sportschau.de/fussball/uefaeuro2020/teams/uebersicht-england-euro-zwanzigzwanzig-100.html'; $em_links['Finnland'] = 'https://www.sportschau.de/fussball/uefaeuro2020/teams/uebersicht-finnland-euro-zwanzigzwanzig-100.html'; $em_links['Frankreich'] = 'https://www.sportschau.de/fussball/uefaeuro2020/teams/uebersicht-frankreich-euro-zwanzigzwanzig-100.html'; $em_links['Italien'] = 'https://www.sportschau.de/fussball/uefaeuro2020/teams/uebersicht-italien-euro-zwanzigzwanzig-100.html'; $em_links['Kroatien'] = 'https://www.sportschau.de/fussball/uefaeuro2020/teams/uebersicht-kroatien-euro-zwanzigzwanzig-100.html'; $em_links['Niederlande'] = 'https://www.sportschau.de/fussball/uefaeuro2020/teams/uebersicht-niederlande-euro-zwanzigzwanzig-100.html'; $em_links['Nordmazedonien'] = 'https://www.sportschau.de/fussball/uefaeuro2020/teams/uebersicht-nordmazedonien-euro-zwanzigzwanzig-100.html'; $em_links['Österreich'] = 'https://www.sportschau.de/fussball/uefaeuro2020/teams/uebersicht-oesterreich-euro-zwanzigzwanzig-100.html'; $em_links['Polen'] = 'https://www.sportschau.de/fussball/uefaeuro2020/teams/uebersicht-polen-euro-zwanzigzwanzig-100.html'; $em_links['Portugal'] = 'https://www.sportschau.de/fussball/uefaeuro2020/teams/uebersicht-portugal-euro-zwanzigzwanzig-100.html'; $em_links['Russland'] = 'https://www.sportschau.de/fussball/uefaeuro2020/teams/uebersicht-russland-euro-zwanzigzwanzig-100.html'; $em_links['Schottland'] = 'https://www.sportschau.de/fussball/uefaeuro2020/teams/uebersicht-schottland-euro-zwanzigzwanzig-100.html'; $em_links['Schweden'] = 'https://www.sportschau.de/fussball/uefaeuro2020/teams/uebersicht-schweden-euro-zwanzigzwanzig-100.html'; $em_links['Schweiz'] = 'https://www.sportschau.de/fussball/uefaeuro2020/teams/uebersicht-schweiz-euro-zwanzigzwanzig-100.html'; $em_links['Slowakei'] = 'https://www.sportschau.de/fussball/uefaeuro2020/teams/uebersicht-slowakei-euro-zwanzigzwanzig-100.html'; $em_links['Spanien'] = 'https://www.sportschau.de/fussball/uefaeuro2020/teams/uebersicht-spanien-euro-zwanzigzwanzig-100.html'; $em_links['Tschechien'] = 'https://www.sportschau.de/fussball/uefaeuro2020/teams/uebersicht-tschechien-euro-zwanzigzwanzig-100.html'; $em_links['Türkei'] = 'https://www.sportschau.de/fussball/uefaeuro2020/teams/uebersicht-tuerkei-euro-zwanzigzwanzig-100.html'; $em_links['Ukraine'] = 'https://www.sportschau.de/fussball/uefaeuro2020/teams/uebersicht-ukraine-euro-zwanzigzwanzig-100.html'; $em_links['Ungarn'] = 'https://www.sportschau.de/fussball/uefaeuro2020/teams/uebersicht-ungarn-euro-zwanzigzwanzig-100.html'; $em_links['Wales'] = 'https://www.sportschau.de/fussball/uefaeuro2020/teams/uebersicht-wales-euro-zwanzigzwanzig-100.html'; $i = 0; foreach ($em_links as $key => $link){ if (strpos($event->getTitle(), $key)){ if ($i > 0){ echo ' | '; } if ($i == 0){ echo 'Infos zu: '; } $i++; echo ''.$key.' '; } } } // Special für die WM-Seiten if ($_REQUEST['special'] == "wm2018"){ $wm_links['Ägypten'] = 'https://www.sportschau.de/fifa-wm-2018/teams/aegypten/kader/index.html'; $wm_links['Australien'] = 'https://www.sportschau.de/fifa-wm-2018/teams/australien/kader/index.html'; $wm_links['Belgien'] = 'https://www.sportschau.de/fifa-wm-2018/teams/belgien/kader/index.html'; $wm_links['Brasilien'] = 'https://www.sportschau.de/fifa-wm-2018/teams/brasilien/kader/index.html'; $wm_links['Argentinien'] = 'https://www.sportschau.de/fifa-wm-2018/teams/argentinien/kader/index.html'; $wm_links['Costa Rica'] = 'https://www.sportschau.de/fifa-wm-2018/teams/costa-rica/kader/index.html'; $wm_links['Dänemark'] = 'https://www.sportschau.de/fifa-wm-2018/teams/daenemark/kader/index.html'; $wm_links['Deutschland'] = 'https://www.sportschau.de/fifa-wm-2018/teams/deutschland/kader/index.html'; $wm_links['England'] = 'https://www.sportschau.de/fifa-wm-2018/teams/england/kader/index.html'; $wm_links['Frankreich'] = 'https://www.sportschau.de/fifa-wm-2018/teams/frankreich/kader/index.html'; $wm_links['Iran'] = 'https://www.sportschau.de/fifa-wm-2018/teams/iran/kader/index.html'; $wm_links['Island'] = 'https://www.sportschau.de/fifa-wm-2018/teams/island/kader/index.html'; $wm_links['Japan'] = 'https://www.sportschau.de/fifa-wm-2018/teams/japan/kader/index.html'; $wm_links['Kolumbien'] = 'https://www.sportschau.de/fifa-wm-2018/teams/kolumbien/kader/index.html'; $wm_links['Kroatien'] = 'https://www.sportschau.de/fifa-wm-2018/teams/kroatien/kader/index.html'; $wm_links['Marokko'] = 'https://www.sportschau.de/fifa-wm-2018/teams/marokko/kader/index.html'; $wm_links['Mexiko'] = 'https://www.sportschau.de/fifa-wm-2018/teams/mexiko/kader/index.html'; $wm_links['Nigeria'] = 'https://www.sportschau.de/fifa-wm-2018/teams/nigeria/kader/index.html'; $wm_links['Panama'] = 'https://www.sportschau.de/fifa-wm-2018/teams/panama/kader/index.html'; $wm_links['Peru'] = 'https://www.sportschau.de/fifa-wm-2018/teams/peru/kader/index.html'; $wm_links['Polen'] = 'https://www.sportschau.de/fifa-wm-2018/teams/polen/kader/index.html'; $wm_links['Portugal'] = 'https://www.sportschau.de/fifa-wm-2018/teams/portugal/kader/index.html'; $wm_links['Russland'] = 'https://www.sportschau.de/fifa-wm-2018/teams/russland/kader/index.html'; $wm_links['Saudi-Arabien'] = 'https://www.sportschau.de/fifa-wm-2018/teams/saudi-arabien/kader/index.html'; $wm_links['Schweden'] = 'https://www.sportschau.de/fifa-wm-2018/teams/schweden/kader/index.html'; $wm_links['Schweiz'] = 'https://www.sportschau.de/fifa-wm-2018/teams/schweiz/kader/index.html'; $wm_links['Senegal'] = 'https://www.sportschau.de/fifa-wm-2018/teams/senegal/kader/index.html'; $wm_links['Serbien'] = 'https://www.sportschau.de/fifa-wm-2018/teams/serbien/kader/index.html'; $wm_links['Spanien'] = 'https://www.sportschau.de/fifa-wm-2018/teams/spanien/kader/index.html'; $wm_links['Südkorea'] = 'https://www.sportschau.de/fifa-wm-2018/teams/suedkorea/kader/index.html'; $wm_links['Tunesien'] = 'https://www.sportschau.de/fifa-wm-2018/teams/tunesien/kader/index.html'; $wm_links['Uruguay'] = 'https://www.sportschau.de/fifa-wm-2018/teams/uruguay/kader/index.html'; $i = 0; foreach ($wm_links as $key => $link){ if (strpos($event->getTitle(), $key)){ if ($i > 0){ echo ' | '; } if ($i == 0){ echo 'Infos zu: '; } $i++; echo ''.$key.' '; } } } ?>
          getTrailer(); $images[0]['title'] = $highlight->getHeadline(); } else if($onDemand['embed']){ if (!$images[0]['m']){ $images[0]['m'] = $includePath.'/css/img/rahmen.png'; } $images[0]['embed'] = $onDemand['embed']; $images[0]['title'] = $highlight->getHeadline(); } if ($sumPics > 0) { ?> '', 's' => '', 'm' => '', 'l' => '', 'xl' => '' ); if(!$gal_ops) { $gal_ops = array( 'xmp_description' => false, 'show_thumbs' => false, 'link' => false, ); } $gal_src_duplicates = []; $sliderOptions = array( 'slidesToShow' => 1, 'slidesToScroll' => 1, 'autoplay' => false, 'infinite' => false, 'prevArrow' => '#gallery_'.$gal_id.' .prev', 'nextArrow' => '#gallery_'.$gal_id.' .next', ); ?>
          $image) { ?>
          '', 's' => '', 'm' => '', 'l' => '', 'xl' => '' ); if(!$gal_ops) { $gal_ops = array( 'xmp_description' => false, 'show_thumbs' => false, 'link' => false, ); } $gal_src_duplicates = []; $sliderOptions = array( 'slidesToShow' => 1, 'slidesToScroll' => 1, 'autoplay' => false, 'infinite' => false, 'prevArrow' => '#gallery_'.$gal_id.' .prev', 'nextArrow' => '#gallery_'.$gal_id.' .next', ); ?>
          $image) { ?>
          getEndTime () and $_REQUEST['special'] != "olympia" and $_REQUEST ['mediathek'] != "ardmt" && !$onDemand['embed']) { $url = getEventUrl('livestream', $eventUrls); if($url) { ?> S Livestream nowRunning () AND $_REQUEST['special'] == "olympia" AND $event->getStationID() != 28006) { ?> S Livestream S Mediathek
          getStartTime())?> getStartTime()) ? 'Heute' : \PHP82_BC\strftime("%A, %d.%m.%y", $detail_event->getStartTime())?>
          getShortStarttime(true) ?> - getShortEndTime(true)?> Uhr (getLength() ?> Min.)
          getLength() ?> Min.
          getVPSTime() != $detail_event->getStartTime() ? 'VPS ' . $detail_event->getShortVPSTime() . '' : ''?> getTimeInfo() == 'neu im programm' ? '
          Neu im Programm
          ' : ''?> getTimeInfo() == 'geaenderte zeiten' ? '
          Geänderte Sendezeit!
          ' : ''?>
          setEvent ( $detail_event ); foreach ( $iconmanager->getEventIcons() as $icon ) { if ($_REQUEST['debug'] == "robert"){ } if ($icon->getTitle () != "16 zu 9 Format" and $icon->getTitle () != "4 zu 3 Format") { // 4zu3 und 16zu9 werden nicht mehr angezeigt if ($icon->getTitle () == "Untertitel für Gehörgeschädigte") { ?>getTitle () == "Audiodeskription") { ?> <?= $icon->getTitle() ?>getTitle () == "Untertitel für Gehörgeschädigte" or $icon->getTitle () == "Audiodeskription") { ?>name == "Originalversion"){ ?> Sendung auch in Orignalversion
          getContentBlocked() || !$detail_event->getContent()) { ?>

          Keine weiteren Informationen

          getContent(), $detail_event->getStationID())?>
           

          Stab und Besetzung

          getPeople () && !$detail_event->getParticipants()) { foreach ( $detail_event->getPeople () as $person_set ) { ?> = 2) { ?> getParticipants(array("Darsteller", "Regie")); if ($participants) { $lastCategory = 'x'; foreach ( $participants as $person ) { ?> getCategory(); } } // ... dann der Rest // $participants = $detail_event->getRemainingParticipants(); if ($participants) { $lastCategory = 'x'; foreach ( $participants as $person ) { ?> getCategory(); } } ?>
          getCategory() == "Darsteller") {echo $person->getRoleName();} else if($lastCategory != $person->getCategory()) {echo $person->getCategory();} ?> getName() ?>
          getCategory() == "Darsteller") { echo $person->getRoleName(); } else if($lastCategory != $person->getCategory()) { if ($person->getCategory() == "Musikalische Leitung"){ echo "Musik"; } elseif ($person->getCategory() == "Cutting") { echo "Schnitt"; } elseif ($person->getCategory() == "Kostueme") { echo "Kostüm"; } elseif ($person->getCategory() == "Klanggestaltung") { echo "Musik"; } else { echo $person->getCategory(); } } ?> getName() ?>
          getStartTime())?> getStartTime()) ? 'Heute' : \PHP82_BC\strftime("%A, %d.%m.%y", $detail_event->getStartTime())?>
          getShortStarttime(true) ?> - getShortEndTime(true)?> Uhr (getLength() ?> Min.)
          getLength() ?> Min.
          getVPSTime() != $detail_event->getStartTime() ? 'VPS ' . $detail_event->getShortVPSTime() . '' : ''?> getTimeInfo() == 'neu im programm' ? '
          Neu im Programm
          ' : ''?> getTimeInfo() == 'geaenderte zeiten' ? '
          Geänderte Sendezeit!
          ' : ''?>
          setEvent ( $detail_event ); foreach ( $iconmanager->getEventIcons() as $icon ) { if ($_REQUEST['debug'] == "robert"){ } if ($icon->getTitle () != "16 zu 9 Format" and $icon->getTitle () != "4 zu 3 Format") { // 4zu3 und 16zu9 werden nicht mehr angezeigt if ($icon->getTitle () == "Untertitel für Gehörgeschädigte") { ?>getTitle () == "Audiodeskription") { ?> <?= $icon->getTitle() ?>getTitle () == "Untertitel für Gehörgeschädigte" or $icon->getTitle () == "Audiodeskription") { ?>name == "Originalversion"){ ?> Sendung auch in Orignalversion
            name; $z = $z + 1; ?>
          • Infos drucken
          • iCal-Export
          • link($detail_event, null, 'tv', null, $base_station); $shareTitle = $metaTags->getTitle(); $body = date('d.m.Y', $detail_event->getStartTime()). ' | '.$detail_event->getShortStarttime().' | '.$detailevent_stationname; $body .= ' | '.$detail_event->getTitle().' | '; $mailbody = $body; $body .= urlencode($shareUrl); ?>
          • Senden
          • Teilen
          nowRunning ()) { $progressBar = $event->getRunningTimeInPercent (); ?>
          Drucken Fenster schließen
      $list_ops['max']) { ?> false, 'now' => false, '20uhr' => false, '22uhr' => false, 'evening' => false, 'calendar' => false, 'heute' => false, 'weekdays' => false, // Sonst array(Startdatum, Enddatum) jeweils im Format d.m.Y 'stations' => false, 'bottom' => false, 'mediathek' => false, 'showArchiv' => false, 'stickTop' => false //Beim Scrollen mitgehen/oben festkleben ); if (is_countable($listmenu_ops ['calendar']) && count ( $listmenu_ops ['calendar'] ) == 2) { $listmenu_ops ['minDate'] = $listmenu_ops ['calendar'] [0]; $listmenu_ops ['maxDate'] = $listmenu_ops ['calendar'] [1]; } else { $listmenu_ops ['minDate'] = - 356; $listmenu_ops ['maxDate'] = 28; } $no_menu = ! $listmenu_ops ['time'] && ! $listmenu_ops ['calendar'] && ! $listmenu_ops ['weekdays'] && ! $listmenu_ops ['stations'] && ! $listmenu_ops ['mediathek'] && ! $listmenu_ops ['bottom']; if (! $no_menu) { if (! isset ( $hour )) { $hour = get_hour($_REQUEST ['hour']); if (! isset ( $hour )) $hour = date ( 'G' ); } if ($hour > 29) { $hour = 6; $date = date ( 'd.m.Y', strtotime ( '+1 day', strtotime ( $date ) ) ); } $shour = $hour; if ($shour >= 24) $shour = $shour % 24; $next_hour = ($shour + 1) % 24; $prev_hour = ($shour - 1 + 24) % 24; $wochentage = array ( 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa', 'So' ); $wochentageFull = array ( 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag', 'Sonntag' ); $stationManager = new StationManager($GLOBALS['ipgConnection']); $endDate = $stationManager->getEndDate($stationid); $datepicker = array( 'language' => 'de', 'endDate' => $endDate, 'format' => 'dd.mm.yyyy', 'weekStart' => 1 ); $timepicker = array( 'language' => 'de', 'format' => 'hh:ii', 'pickTime' => true, 'maxView' => 'day', 'minView' => 'day', 'startView' => "day" ); $archivVar = ''; $archivVarYesterday = ''; $archivVarTomorrow = ''; // Archivparameter if ($date){ if (strtotime($date) < strtotime(date("d.m.Y"))){ $archivVar = "&archiv=1"; $_REQUEST['archiv'] = 1; } if (strtotime($date." + 1day") < strtotime(date("d.m.Y"))){ $archivVarTomorrow = "&archiv=1"; } if (strtotime($date." - 1day") < strtotime(date("d.m.Y"))){ $archivVarYesterday = "&archiv=1"; } } if (! $listmenu_ops ['bottom']) { if ($listmenu_ops ['time']) { $sheight = "80"; } else { $sHeight = "30"; } if (! $_REQUEST ['datum']) { $_REQUEST ['datum'] = date ( "d.m.Y", time() ); } ?>

      programm.ARD.de © rbb | ARD Play-Out-Center ||

      ) ) [4] => Array ( [file] => /srv/www/programm.ard.de/htdocs/modules/class/viewer.php [line] => 238 [function] => generatePage [class] => Viewer [type] => -> [args] => Array ( [0] => 2 [1] => 1 ) ) [5] => Array ( [file] => /srv/www/programm.ard.de/htdocs/index.php [line] => 553 [function] => showPage [class] => Viewer [type] => -> [args] => Array ( [0] => 2 [1] => 1 [2] => 1 ) ) ) [previous:Exception:private] => )