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');
function echoWkTitle(){
echo(
getWkName(
$_GET['wkId'],
"Wettkampfkalender der Judoka des Chemnitzer Freizeit- und Wohngebiets­sportvereines e. V."
)
);
echo( getWkName( $_GET['wkId'] ) );
}
/// Einen Wettkampfnamen per ID abfragen
@@ -34,13 +29,13 @@ if( empty($optionsArray['outCharset']) ) $optionsArray['outCharset'] = "UTF-8";
try{
$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->execute();
$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){
// $siteData['errors'][] = "Error!: " . $db_error->getMessage();
@@ -176,11 +171,9 @@ $htmlWkTableString = "";
}
);
//echo( "locale is ".get_locale() );
if($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);
@@ -343,9 +336,9 @@ return
"\"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'] )."\",".
"\"performer\": {".
"\"@type\": \"PerformingGroup\"\,".
"\"@type\": \"PerformingGroup\",".
"\"name\": \"Judoka der Altersklasse(n) ".nicerAkList( $wk['Altersklassen'] )."\"".
"}".
"},".
"\"location\": {".
"\"@type\": \"Place\",".
"\"name\": \"".$wk['Ort']."\",".
@@ -383,26 +376,25 @@ function wkTableHtml(){
if( !empty($wkInfo) ){
foreach($wkInfo as $wk){
$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>".
"<div class=\"wkInfoBox\">".
"<script type=\"application/ld+json\">".wkArray2jsonSdEvent($wk)."</script>".
"<h2>".$wk['Veranstaltung']."</h2>".
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'] .=
"<h3>Veranstaltungsdaten</h3>".
"<ul>".
@@ -420,7 +412,6 @@ function wkTableHtml(){
"</nav>".
"</div>".
"<hr />";
// echo(wkInfoBoxHtml($wk));
}
}
else{
@@ -489,6 +480,9 @@ function wkTableHtml(){
}
$ergebnis = $db_connection->query($query);
$siteData['mainContent'] .= htmlWkMonthBar($ergebnis);
$ergebnis = $db_connection->query($query);
$siteData['mainContent'] .= wkList2htmlWkTable($ergebnis);
$siteData['mainContent'] .=
@@ -536,9 +530,21 @@ return;
function wkInfoBoxHtml($aWk){
//var_dump($aWk);
if(empty($aWk)) return null;
$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).
"<h1>Einzelansicht ".$aWk['Veranstaltung']."</h1>".
"<h2>Veranstaltungsdaten</h2>".
@@ -620,4 +626,50 @@ $retHtml .= "</div>"; // Ende wkBoxMediaGallery
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";
}
?>