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

@@ -309,8 +309,6 @@ return $ret;
///
function getWkEventData($anMysqlConn, $anEventId, $someOptions = array()){
//var_dump($anMysqlConn, $anEventId, $someOptions);
if( empty($someOptions['dbCharset']) ) $someOptions['dbCharset'] = "ISO-8859-1";
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
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
array_walk(
$ret,
@@ -367,6 +350,23 @@ if( empty($ret['wkId']) ){
$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;
}
@@ -379,7 +379,6 @@ return $ret;
/// selber.
/// Der Rückgabewert sollte vor Verwendung (und zur Fehlerbeheandlung)
/// auf NULL und/oder leeres Array getestet werden.
///
function getCommingWkEvents($anMysqlConn, $someOptions=array() ){
// wir befinden uns in der Übergangsphase:
@@ -410,7 +409,9 @@ $ret = array();
"FROM wkParticipo_Events ".
"LEFT JOIN wettkampfkalender ".
"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 wkParticipo_Events.date;"
);
@@ -631,25 +632,29 @@ $ret = array();
$anMysqlConn->query("USE cwsvjudo;");
$query = sprintf(
"SELECT ".
"wkParticipo_Events.id, ".
"wkParticipo_Events.wkId, ".
"wkParticipo_Events.date, ".
"wkParticipo_Events.meldefrist, ".
"wkParticipo_Events.bemerkungen, ".
"wkParticipo_Events.kvOptions, ".
"wettkampfkalender.lfdeNr, ".
"wettkampfkalender.Datum, ".
"wettkampfkalender.Veranstaltung, ".
"wettkampfkalender.Altersklassen, ".
"wettkampfkalender.Ort, ".
"wettkampfkalender.Ausschreibung, ".
"wettkampfkalender.Routenplaner, ".
"wkParticipo_Events.id, ".
"wkParticipo_Events.meldefrist, ".
"wkParticipo_Events.wkId, ".
"wkParticipo_Starter.id, ".
"wkParticipo_Starter.eventId, ".
"wkParticipo_Starter.type ".
"FROM wettkampfkalender ".
"JOIN wkParticipo_Events ".
"ON wettkampfkalender.lfdeNr = wkParticipo_Events.wkId ".
"JOIN wkParticipo_Starter ".
"ON wkParticipo_Starter.eventId = wkParticipo_Events.id ".
"WHERE wettkampfkalender.Datum >= CURDATE() AND wkParticipo_Starter.userId = '%s' ".
"ORDER BY wettkampfkalender.Datum;",
"FROM wkParticipo_Events ".
"LEFT JOIN wettkampfkalender ON wettkampfkalender.lfdeNr = wkParticipo_Events.wkId ".
"LEFT JOIN wkParticipo_Starter ON wkParticipo_Starter.eventId = wkParticipo_Events.id ".
"WHERE wkParticipo_Events.date >= CURDATE() AND wkParticipo_Starter.userId = '%s' ".
// "WHERE wkParticipo_Starter.userId = '%s' ".
// "ORDER BY wettkampfkalender.Datum;",
"ORDER BY wkParticipo_Events.date;",
$anMysqlConn->real_escape_string($anUserId) );
$results = $anMysqlConn->query($query);
if( !$results ) die("ERR: Fehler bei Datenbankabfrage (".$query.")!\n");
@@ -665,8 +670,22 @@ $ret = array();
},
$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;
}
@@ -675,23 +694,23 @@ $ret = array();
$anMysqlConn->query("USE cwsvjudo;");
$query = sprintf(
"SELECT ".
"wkParticipo_Events.id, ".
"wkParticipo_Events.wkId, ".
"wkParticipo_Events.meldefrist, ".
"wkParticipo_Events.bemerkungen, ".
"wkParticipo_Events.kvOptions, ".
"wettkampfkalender.lfdeNr, ".
"wettkampfkalender.Datum, ".
"wettkampfkalender.Veranstaltung, ".
"wettkampfkalender.Altersklassen, ".
"wettkampfkalender.Ort, ".
"wettkampfkalender.Ausschreibung, ".
"wettkampfkalender.Routenplaner, ".
"wkParticipo_Events.id, ".
"wkParticipo_Events.meldefrist, ".
"wkParticipo_Events.wkId, ".
"wkParticipo_Starter.id, ".
"wkParticipo_Starter.eventId ".
"FROM wettkampfkalender ".
"JOIN wkParticipo_Events ".
"ON wettkampfkalender.lfdeNr = wkParticipo_Events.wkId ".
"JOIN wkParticipo_Starter ".
"ON wkParticipo_Starter.eventId = wkParticipo_Events.id ".
// "WHERE wettkampfkalender.Datum >= CURDATE() AND wkParticipo_Starter.userId = '%s' ".
"FROM wkParticipo_Events ".
"LEFT JOIN wettkampfkalender ON wettkampfkalender.lfdeNr = wkParticipo_Events.wkId ".
"LEFT JOIN wkParticipo_Starter ON wkParticipo_Starter.eventId = wkParticipo_Events.id ".
"WHERE wkParticipo_Starter.userId = '%s' ".
"ORDER BY wettkampfkalender.Datum;",
$anMysqlConn->real_escape_string($anUserId) );
@@ -1223,21 +1242,8 @@ return $url;
/// Erzeugen des htmlCodes der Infobox für ein wkEvent
function htmlWkEvent($aWkEvent, $starters, $fahrten){
//var_dump($aWkEvent, $starters, $fahrten);
$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']) )
$aWkEvent['Datum'] = "0000-00-00";
$anzPlätze = 0;
@@ -1256,7 +1262,7 @@ if( empty($aWkEvent['wkId']) ){
"<time class=\"wkInfoCardDate\" datetime=\"".$aWkEvent['Datum']."\">".
"<span class=\"wkInfoCardDateWeekday\">".strftime("%a", 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>".
"</time>".