Kleinere Korrekturen und Erweiterungen

- der Wettkampfkalender soll nicht mehr hin und her gescrollt werden müssen
	geändert:       src/css/cwsvJudo-2018-content.css
- Funktion zum Abfragen aus der Datenbank; zum Schreibaufwand sparen
	geändert:       wkParticipo/lib/wkParticipo-userAttribute.php
- Ergänzung um Wettkampflose Event
	geändert:       wkParticipo/lib/wkParticipoLib.inc.php
- structured Data breadcrumbs für den Wettkampfkalender mit Einzelansicht
	geändert:       wkKalender.php
This commit is contained in:
marko
2019-02-03 15:06:33 +01:00
parent 436e74afd3
commit 0525e59d1d
4 changed files with 182 additions and 83 deletions

View File

@@ -2,12 +2,7 @@
setlocale(LC_ALL, 'de_DE.utf8'); setlocale(LC_ALL, 'de_DE.utf8');
function echoWkTitle(){ function echoWkTitle(){
echo( echo( getWkName( $_GET['wkId'] ) );
getWkName(
$_GET['wkId'],
"Wettkampfkalender der Judoka des Chemnitzer Freizeit- und Wohngebiets­sportvereines e. V."
)
);
} }
/// Einen Wettkampfnamen per ID abfragen /// Einen Wettkampfnamen per ID abfragen
@@ -34,13 +29,13 @@ if( empty($optionsArray['outCharset']) ) $optionsArray['outCharset'] = "UTF-8";
try{ try{
$pdoStatementForQuerryingWkById = $db_connection->prepare( $pdoStatementForQuerryingWkById = $db_connection->prepare(
"SELECT Veranstaltung FROM cwsvjudo.wettkampfkalender WHERE wettkampfkalender.lfdeNr = :wkId;" "SELECT Veranstaltung, Datum FROM cwsvjudo.wettkampfkalender WHERE wettkampfkalender.lfdeNr = :wkId;"
); );
$pdoStatementForQuerryingWkById->bindParam(':wkId', intval($wkId), PDO::PARAM_INT); $pdoStatementForQuerryingWkById->bindParam(':wkId', intval($wkId), PDO::PARAM_INT);
$pdoStatementForQuerryingWkById->execute(); $pdoStatementForQuerryingWkById->execute();
$ret = $pdoStatementForQuerryingWkById->fetchAll(PDO::FETCH_ASSOC); $ret = $pdoStatementForQuerryingWkById->fetchAll(PDO::FETCH_ASSOC);
return iconv($optionsArray['dbCharset'], $optionsArray['outCharset'], $ret[0]['Veranstaltung']); return iconv($optionsArray['dbCharset'], $optionsArray['outCharset'], $ret[0]['Veranstaltung']." am ".$ret[0]['Datum']);
} }
catch(PDOException $db_error){ catch(PDOException $db_error){
// $siteData['errors'][] = "Error!: " . $db_error->getMessage(); // $siteData['errors'][] = "Error!: " . $db_error->getMessage();
@@ -176,11 +171,9 @@ $htmlWkTableString = "";
} }
); );
//echo( "locale is ".get_locale() );
if($lastMonthName != strftime("%B %Y", strtotime($wk['Datum']) )){ if($lastMonthName != strftime("%B %Y", strtotime($wk['Datum']) )){
$lastMonthName = strftime("%B %Y", strtotime($wk['Datum']) ); $lastMonthName = strftime("%B %Y", strtotime($wk['Datum']) );
$htmlWkTableString .= "<tr><th colspan=\"5\" >".$lastMonthName."</th></tr><tr class=\"displayNone\" ><th colspan=\"5\"></th></tr>"; $htmlWkTableString .= "<tr id=\"".toAscii(strftime("%b %Y", strtotime($wk['Datum']) ))."\"><th colspan=\"5\" >".$lastMonthName."</th></tr><tr class=\"displayNone\" ><th colspan=\"5\"></th></tr>";
} }
$wkJsonSd = wkArray2jsonSdEvent($wk); $wkJsonSd = wkArray2jsonSdEvent($wk);
@@ -343,9 +336,9 @@ return
"\"url\": \"http://cwsvjudo.bplaced.net/wkKalender/".$wk['lfdeNr']."/".toAscii( html_entity_decode( $wk['Veranstaltung'] ))."-am-".$wk['Datum']."\",". "\"url\": \"http://cwsvjudo.bplaced.net/wkKalender/".$wk['lfdeNr']."/".toAscii( html_entity_decode( $wk['Veranstaltung'] ))."-am-".$wk['Datum']."\",".
"\"description\": \"Judo-Wettkampf der Altersklasse(n) ".nicerAkList( $wk['Altersklassen'] )."\",". "\"description\": \"Judo-Wettkampf der Altersklasse(n) ".nicerAkList( $wk['Altersklassen'] )."\",".
"\"performer\": {". "\"performer\": {".
"\"@type\": \"PerformingGroup\"\,". "\"@type\": \"PerformingGroup\",".
"\"name\": \"Judoka der Altersklasse(n) ".nicerAkList( $wk['Altersklassen'] )."\"". "\"name\": \"Judoka der Altersklasse(n) ".nicerAkList( $wk['Altersklassen'] )."\"".
"}". "},".
"\"location\": {". "\"location\": {".
"\"@type\": \"Place\",". "\"@type\": \"Place\",".
"\"name\": \"".$wk['Ort']."\",". "\"name\": \"".$wk['Ort']."\",".
@@ -383,26 +376,25 @@ function wkTableHtml(){
if( !empty($wkInfo) ){ if( !empty($wkInfo) ){
foreach($wkInfo as $wk){ foreach($wkInfo as $wk){
$siteData['mainContent'] .= $siteData['mainContent'] .=
"<script type=\"application/ld+json\">".breadrumbsSd(
array(
array(
'url'=>"http://cwsvjudo.bplaced.net", 'name'=>"cwsvJudo"
),
array(
'url'=>"http://cwsvjudo.bplaced.net/wkKalender", 'name'=>"Wettkampfkalender"
),
array(
'url'=>"http://cwsvjudo.bplaced.net/wkKalender/".$wk['lfdeNr'],'name'=>$wk['Veranstaltung']
)
)
)."</script>".
"<h1>Einzelansicht</h1>". "<h1>Einzelansicht</h1>".
"<div class=\"wkInfoBox\">". "<div class=\"wkInfoBox\">".
"<script type=\"application/ld+json\">".wkArray2jsonSdEvent($wk)."</script>". "<script type=\"application/ld+json\">".wkArray2jsonSdEvent($wk)."</script>".
"<h2>".$wk['Veranstaltung']."</h2>". "<h2>".$wk['Veranstaltung']."</h2>".
wkBoxMediaGalleryHtml($wkGals); wkBoxMediaGalleryHtml($wkGals);
/*
if( !empty($wkGals) ){
foreach($wkGals as $wkGal){
// Für den Fall einer ampSeite müssen die imgTags angepasst werden
if( strpos( $_SERVER['ORIG_PATH_TRANSLATED'], "pages/amp" ) !== false ){
$siteData['mainContent'] .=
"<li><a style=\"position:relative;display:block;\" href=\"".$wkGal['url']."\">".( !empty($wkGal['teaserBildUrl'])?("<amp-img layout=\"responsive\" width=\"200\" height=\"133\" class=\"valignMiddle\" src=\"".$wkGal['teaserBildUrl']."\" ></amp-img>"):"").("<div style=\"color:white;position:absolute;left:0;top:42%;\">".$wkGal['typ']."galerie</div>")."</a></li>";
}
else{
$siteData['mainContent'] .=
"<li><a style=\"position:relative;display:block;\" href=\"".$wkGal['url']."\">".( !empty($wkGal['teaserBildUrl'])?("<img class=\"valignMiddle\" src=\"".$wkGal['teaserBildUrl']."\" />"):"").("<div style=\"color:white;position:absolute;left:0;top:42%;\">".$wkGal['typ']."galerie</div>")."</a></li>";
}
}
}
*/
$siteData['mainContent'] .= $siteData['mainContent'] .=
"<h3>Veranstaltungsdaten</h3>". "<h3>Veranstaltungsdaten</h3>".
"<ul>". "<ul>".
@@ -420,7 +412,6 @@ function wkTableHtml(){
"</nav>". "</nav>".
"</div>". "</div>".
"<hr />"; "<hr />";
// echo(wkInfoBoxHtml($wk));
} }
} }
else{ else{
@@ -489,6 +480,9 @@ function wkTableHtml(){
} }
$ergebnis = $db_connection->query($query); $ergebnis = $db_connection->query($query);
$siteData['mainContent'] .= htmlWkMonthBar($ergebnis);
$ergebnis = $db_connection->query($query);
$siteData['mainContent'] .= wkList2htmlWkTable($ergebnis); $siteData['mainContent'] .= wkList2htmlWkTable($ergebnis);
$siteData['mainContent'] .= $siteData['mainContent'] .=
@@ -536,9 +530,21 @@ return;
function wkInfoBoxHtml($aWk){ function wkInfoBoxHtml($aWk){
//var_dump($aWk); //var_dump($aWk);
if(empty($aWk)) return null; if(empty($aWk)) return null;
$wkInfoBoxHtml = "";
$wkInfoBoxHtml .= $wkInfoBoxHtml .=
breadrumbsSd(
array(
array(
'url'=>"http://cwsvjudo.bplaced.net", 'name'=>"cwsvJudo"
),
array(
'url'=>"http://cwsvjudo.bplaced.net/wkKalender", 'name'=>"Wettkampfkalender"
),
array(
'url'=>"http://cwsvjudo.bplaced.net/wkKalender/".$aWk['lfdeNr'],'name'=>$aWk['Veranstaltung']
)
)
).
"<div class=\"wkInfoBox\">".wkArray2jsonSdEvent($aWk). "<div class=\"wkInfoBox\">".wkArray2jsonSdEvent($aWk).
"<h1>Einzelansicht ".$aWk['Veranstaltung']."</h1>". "<h1>Einzelansicht ".$aWk['Veranstaltung']."</h1>".
"<h2>Veranstaltungsdaten</h2>". "<h2>Veranstaltungsdaten</h2>".
@@ -620,4 +626,50 @@ $retHtml .= "</div>"; // Ende wkBoxMediaGallery
return $retHtml; return $retHtml;
} }
/// Eine Navigationsleiste mit den Wettkampfmonaten einer Wettkampfliste
function htmlWkMonthBar($aWkList){
setlocale(LC_ALL, 'de_DE.utf8');
$wkMonthBar = "";
$wkMonthBar .= "<nav class=\"wkMonthBar\" >";
$lastMonthName = "";
foreach($aWkList as $wk){
if($lastMonthName != strftime("%b %Y", strtotime($wk['Datum']) )){
$lastMonthName = strftime("%b %Y", strtotime($wk['Datum']) );
$wkMonthBar .= "<a href=\"#".toAscii($lastMonthName)."\">".$lastMonthName."</a>";
}
}
$wkMonthBar .= "</nav>";
return $wkMonthBar;
}
/// Breadcrumbs als structured Data
/// @param bcList Liste mit Breadcrumbs
function breadrumbsSd($bcList){
if (is_array($bcList) || is_object($bcList)){
$bcItemList = array();
$i=1;
foreach ($bcList as $bcItem){
$bcItemList[] = array(
'@type' => "ListItem",
'position' => $i,
'item' => array(
'@id' => $bcItem['url'],
'name' => $bcItem['name']
)
);
$i = $i+1;
}
return json_encode(array(
'@context' => "http://schema.org",
'@type' => "BreadcrumbList",
'itemListElement' => $bcItemList
), JSON_UNESCAPED_SLASHES);
}
return "blub";
}
?> ?>

View File

@@ -3,7 +3,7 @@
*/ */
#content { #content {
overflow: auto; /* overflow: auto;*/
padding: 1em; padding: 1em;
background: #FFAE00; background: #FFAE00;
} }

View File

@@ -9,6 +9,47 @@ $basePath = "/users/cwsvjudo/www";
require_once($basePath."/ressourcen/phpLib/cwsvJudo/miscAssis.php"); require_once($basePath."/ressourcen/phpLib/cwsvJudo/miscAssis.php");
function dbQuery($aDbConnection, $aQueryString, $aBindArray = array(), $someOptions = array( "dbCharset" => "ISO-8859-1", "outCharset" => "UTF-8" ) ){
//echo("Doing ".$aQueryString);
var_dump($aBindArray);
if( empty($someOptions['dbCharset']) ) $someOptions['dbCharset'] = "ISO-8859-1";
if( empty($someOptions['outCharset']) ) $someOptions['outCharset'] = "UTF-8";
/// @toDo: Bisher wird nur die Rückgabe konvertiert. Eigentlich muss
/// doch auch die Eingabe konvertiert werden. Aber das jetzt
/// umzustellen wird schwer! Die User m Wettkampfplaner sind ja z.B.
/// als UTF8 in latin1(?) gespeichert.
try{
$pdoStatement = $aDbConnection->prepare( $aQueryString );
foreach( $aBindArray as $bindName => $bind ){
$pdoStatement->bindValue(
$bindName,
$bind['value'],
(isset($bind['data_type'])?$bind['data_type']:PDO::PARAM_STR)
);
}
$pdoStatement->execute();
$ret = $pdoStatement->fetchAll(PDO::FETCH_ASSOC);
}
catch(PDOException $db_error){
print "Error!: " . $db_error->getMessage() . "<br/>";
return null;
}
//var_dump($ret);
// Zeichensatzkonvertierung
if( is_array($ret) ){
foreach($ret as &$entry){
array_walk(
$entry,
function (&$value, $key, $someOptions) {
$value = iconv($someOptions['dbCharset'], $someOptions['outCharset'], $value);
},
$someOptions
);
}
}
return $ret;
}
function array2htmlTableString($anArray){ function array2htmlTableString($anArray){
$ret = ""; $ret = "";
if( !is_array($anArray) ) if( !is_array($anArray) )

View File

@@ -309,8 +309,6 @@ return $ret;
/// ///
function getWkEventData($anMysqlConn, $anEventId, $someOptions = array()){ function getWkEventData($anMysqlConn, $anEventId, $someOptions = array()){
//var_dump($anMysqlConn, $anEventId, $someOptions);
if( empty($someOptions['dbCharset']) ) $someOptions['dbCharset'] = "ISO-8859-1"; if( empty($someOptions['dbCharset']) ) $someOptions['dbCharset'] = "ISO-8859-1";
if( empty($someOptions['outCharset']) ) $someOptions['outCharset'] = "UTF-8"; if( empty($someOptions['outCharset']) ) $someOptions['outCharset'] = "UTF-8";
@@ -343,21 +341,6 @@ if( (string)(int)$anEventId != $anEventId ) return $ret;
// Bei einem leeren Ergebnis (NULL oder leeres Array) soll ein leeres Array zurückgeliefert werden // Bei einem leeren Ergebnis (NULL oder leeres Array) soll ein leeres Array zurückgeliefert werden
if( empty($ret) ) return array(); if( empty($ret) ) return array();
// @todo: nur temporär: fehlende Wettkampdaten aus den Metadaten ergänzen
if( empty($ret['wkId']) ){
$tmpWkEvent = json_decode($ret['bemerkungen'], true);
if(!empty($tmpWkEvent)){
// var_dump( $tmpWkEvent );
// var_dump( json_decode($aWkEvent['bemerkungen'], true) );
$ret['Datum'] = $tmpWkEvent['Datum'];
$ret['Veranstaltung'] = $tmpWkEvent['Veranstaltung'];
$ret['Altersklassen'] = $tmpWkEvent['Altersklassen'];
$ret['bemerkungen'] = $tmpWkEvent['bemerkungen'];
}
}
// Zeichensatzkonvertierung // Zeichensatzkonvertierung
array_walk( array_walk(
$ret, $ret,
@@ -367,6 +350,23 @@ if( empty($ret['wkId']) ){
$someOptions $someOptions
); );
// @todo: nur temporär: fehlende Wettkampdaten aus den Metadaten ergänzen
if( empty($ret['wkId']) ){
$tmpWkEvent = json_decode($ret['bemerkungen'], true);
// var_dump($tmpWkEvent, $ret['bemerkungen']);
if(!empty($tmpWkEvent)){
// var_dump( $tmpWkEvent );
// var_dump( json_decode($aWkEvent['bemerkungen'], true) );
$ret['Datum'] = $tmpWkEvent['Datum'];
if($tmpWkEvent['Ort'])
$ret['Ort'] = $tmpWkEvent['Ort'];
if($tmpWkEvent['Routenplaner'])
$ret['Routenplaner'] = $tmpWkEvent['Routenplaner'];
$ret['Veranstaltung'] = $tmpWkEvent['Veranstaltung'];
$ret['Altersklassen'] = $tmpWkEvent['Altersklassen'];
$ret['bemerkungen'] = $tmpWkEvent['bemerkungen'];
}
}
return $ret; return $ret;
} }
@@ -379,7 +379,6 @@ return $ret;
/// selber. /// selber.
/// Der Rückgabewert sollte vor Verwendung (und zur Fehlerbeheandlung) /// Der Rückgabewert sollte vor Verwendung (und zur Fehlerbeheandlung)
/// auf NULL und/oder leeres Array getestet werden. /// auf NULL und/oder leeres Array getestet werden.
///
function getCommingWkEvents($anMysqlConn, $someOptions=array() ){ function getCommingWkEvents($anMysqlConn, $someOptions=array() ){
// wir befinden uns in der Übergangsphase: // wir befinden uns in der Übergangsphase:
@@ -410,7 +409,9 @@ $ret = array();
"FROM wkParticipo_Events ". "FROM wkParticipo_Events ".
"LEFT JOIN wettkampfkalender ". "LEFT JOIN wettkampfkalender ".
"ON wettkampfkalender.lfdeNr = wkParticipo_Events.wkId ". "ON wettkampfkalender.lfdeNr = wkParticipo_Events.wkId ".
"WHERE wettkampfkalender.Datum IS NULL OR wettkampfkalender.Datum >= CURDATE() ". // quickhack; muss noch getestet werden
// "WHERE wettkampfkalender.Datum IS NULL OR wettkampfkalender.Datum >= CURDATE() ".
"WHERE wkParticipo_Events.date >= CURDATE() ".
// "ORDER BY wettkampfkalender.Datum;" // "ORDER BY wettkampfkalender.Datum;"
"ORDER BY wkParticipo_Events.date;" "ORDER BY wkParticipo_Events.date;"
); );
@@ -631,25 +632,29 @@ $ret = array();
$anMysqlConn->query("USE cwsvjudo;"); $anMysqlConn->query("USE cwsvjudo;");
$query = sprintf( $query = sprintf(
"SELECT ". "SELECT ".
"wkParticipo_Events.id, ".
"wkParticipo_Events.wkId, ".
"wkParticipo_Events.date, ".
"wkParticipo_Events.meldefrist, ".
"wkParticipo_Events.bemerkungen, ".
"wkParticipo_Events.kvOptions, ".
"wettkampfkalender.lfdeNr, ". "wettkampfkalender.lfdeNr, ".
"wettkampfkalender.Datum, ". "wettkampfkalender.Datum, ".
"wettkampfkalender.Veranstaltung, ". "wettkampfkalender.Veranstaltung, ".
"wettkampfkalender.Altersklassen, ". "wettkampfkalender.Altersklassen, ".
"wettkampfkalender.Ort, ". "wettkampfkalender.Ort, ".
"wettkampfkalender.Ausschreibung, ".
"wettkampfkalender.Routenplaner, ". "wettkampfkalender.Routenplaner, ".
"wkParticipo_Events.id, ".
"wkParticipo_Events.meldefrist, ".
"wkParticipo_Events.wkId, ".
"wkParticipo_Starter.id, ". "wkParticipo_Starter.id, ".
"wkParticipo_Starter.eventId, ". "wkParticipo_Starter.eventId, ".
"wkParticipo_Starter.type ". "wkParticipo_Starter.type ".
"FROM wettkampfkalender ". "FROM wkParticipo_Events ".
"JOIN wkParticipo_Events ". "LEFT JOIN wettkampfkalender ON wettkampfkalender.lfdeNr = wkParticipo_Events.wkId ".
"ON wettkampfkalender.lfdeNr = wkParticipo_Events.wkId ". "LEFT JOIN wkParticipo_Starter ON wkParticipo_Starter.eventId = wkParticipo_Events.id ".
"JOIN wkParticipo_Starter ". "WHERE wkParticipo_Events.date >= CURDATE() AND wkParticipo_Starter.userId = '%s' ".
"ON wkParticipo_Starter.eventId = wkParticipo_Events.id ". // "WHERE wkParticipo_Starter.userId = '%s' ".
"WHERE wettkampfkalender.Datum >= CURDATE() AND wkParticipo_Starter.userId = '%s' ". // "ORDER BY wettkampfkalender.Datum;",
"ORDER BY wettkampfkalender.Datum;", "ORDER BY wkParticipo_Events.date;",
$anMysqlConn->real_escape_string($anUserId) ); $anMysqlConn->real_escape_string($anUserId) );
$results = $anMysqlConn->query($query); $results = $anMysqlConn->query($query);
if( !$results ) die("ERR: Fehler bei Datenbankabfrage (".$query.")!\n"); if( !$results ) die("ERR: Fehler bei Datenbankabfrage (".$query.")!\n");
@@ -665,8 +670,22 @@ $ret = array();
}, },
$someOptions $someOptions
); );
// @todo: nur temporär: fehlende Wettkampdaten aus den Metadaten ergänzen
if( empty($entry['wkId']) ){
$tmpWkEvent = json_decode($entry['bemerkungen'], true);
// var_dump($tmpWkEvent, $ret['bemerkungen']);
if(!empty($tmpWkEvent)){
// var_dump( $tmpWkEvent );
// var_dump( json_decode($aWkEvent['bemerkungen'], true) );
$entry['Datum'] = $tmpWkEvent['Datum'];
$entry['Veranstaltung'] = $tmpWkEvent['Veranstaltung'];
$entry['Altersklassen'] = $tmpWkEvent['Altersklassen'];
$entry['bemerkungen'] = $tmpWkEvent['bemerkungen'];
}
}
} }
return $ret; return $ret;
} }
@@ -675,23 +694,23 @@ $ret = array();
$anMysqlConn->query("USE cwsvjudo;"); $anMysqlConn->query("USE cwsvjudo;");
$query = sprintf( $query = sprintf(
"SELECT ". "SELECT ".
"wkParticipo_Events.id, ".
"wkParticipo_Events.wkId, ".
"wkParticipo_Events.meldefrist, ".
"wkParticipo_Events.bemerkungen, ".
"wkParticipo_Events.kvOptions, ".
"wettkampfkalender.lfdeNr, ". "wettkampfkalender.lfdeNr, ".
"wettkampfkalender.Datum, ". "wettkampfkalender.Datum, ".
"wettkampfkalender.Veranstaltung, ". "wettkampfkalender.Veranstaltung, ".
"wettkampfkalender.Altersklassen, ". "wettkampfkalender.Altersklassen, ".
"wettkampfkalender.Ort, ". "wettkampfkalender.Ort, ".
"wettkampfkalender.Ausschreibung, ".
"wettkampfkalender.Routenplaner, ". "wettkampfkalender.Routenplaner, ".
"wkParticipo_Events.id, ".
"wkParticipo_Events.meldefrist, ".
"wkParticipo_Events.wkId, ".
"wkParticipo_Starter.id, ". "wkParticipo_Starter.id, ".
"wkParticipo_Starter.eventId ". "wkParticipo_Starter.eventId ".
"FROM wettkampfkalender ". "FROM wkParticipo_Events ".
"JOIN wkParticipo_Events ". "LEFT JOIN wettkampfkalender ON wettkampfkalender.lfdeNr = wkParticipo_Events.wkId ".
"ON wettkampfkalender.lfdeNr = wkParticipo_Events.wkId ". "LEFT JOIN wkParticipo_Starter ON wkParticipo_Starter.eventId = wkParticipo_Events.id ".
"JOIN wkParticipo_Starter ".
"ON wkParticipo_Starter.eventId = wkParticipo_Events.id ".
// "WHERE wettkampfkalender.Datum >= CURDATE() AND wkParticipo_Starter.userId = '%s' ".
"WHERE wkParticipo_Starter.userId = '%s' ". "WHERE wkParticipo_Starter.userId = '%s' ".
"ORDER BY wettkampfkalender.Datum;", "ORDER BY wettkampfkalender.Datum;",
$anMysqlConn->real_escape_string($anUserId) ); $anMysqlConn->real_escape_string($anUserId) );
@@ -1223,21 +1242,8 @@ return $url;
/// Erzeugen des htmlCodes der Infobox für ein wkEvent /// Erzeugen des htmlCodes der Infobox für ein wkEvent
function htmlWkEvent($aWkEvent, $starters, $fahrten){ function htmlWkEvent($aWkEvent, $starters, $fahrten){
//var_dump($aWkEvent, $starters, $fahrten);
$retHtml = ""; $retHtml = "";
if( empty($aWkEvent['wkId']) ){
$tmpWkEvent = json_decode($aWkEvent['bemerkungen'], true);
// var_dump( $tmpWkEvent );
// var_dump( json_decode($aWkEvent['bemerkungen'], true) );
$aWkEvent['Datum'] = $tmpWkEvent['Datum'];
$aWkEvent['Veranstaltung'] = $tmpWkEvent['Veranstaltung'];
$aWkEvent['Altersklassen'] = $tmpWkEvent['Altersklassen'];
$aWkEvent['bemerkungen'] = $tmpWkEvent['bemerkungen'];
}
if( empty($aWkEvent['Datum']) ) if( empty($aWkEvent['Datum']) )
$aWkEvent['Datum'] = "0000-00-00"; $aWkEvent['Datum'] = "0000-00-00";
$anzPlätze = 0; $anzPlätze = 0;
@@ -1256,7 +1262,7 @@ if( empty($aWkEvent['wkId']) ){
"<time class=\"wkInfoCardDate\" datetime=\"".$aWkEvent['Datum']."\">". "<time class=\"wkInfoCardDate\" datetime=\"".$aWkEvent['Datum']."\">".
"<span class=\"wkInfoCardDateWeekday\">".strftime("%a", strtotime($aWkEvent['Datum']))."</span>". "<span class=\"wkInfoCardDateWeekday\">".strftime("%a", strtotime($aWkEvent['Datum']))."</span>".
"<span class=\"wkInfoCardDateDay\">" .strftime("%d", strtotime($aWkEvent['Datum']))."</span>". "<span class=\"wkInfoCardDateDay\">" .strftime("%d", strtotime($aWkEvent['Datum']))."</span>".
"<span class=\"wkInfoCardDateMonth\">" .strftime("%b", strtotime($aWkEvent['Datum']))."</span>". "<span class=\"wkInfoCardDateMonth\">" .utf8_encode(strftime("%b", strtotime($aWkEvent['Datum'])))."</span>".
"<span class=\"wkInfoCardDateYear\">" .strftime("%Y", strtotime($aWkEvent['Datum']))."</span>". "<span class=\"wkInfoCardDateYear\">" .strftime("%Y", strtotime($aWkEvent['Datum']))."</span>".
"</time>". "</time>".