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:
@@ -9,6 +9,47 @@ $basePath = "/users/cwsvjudo/www";
|
||||
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){
|
||||
$ret = "";
|
||||
if( !is_array($anArray) )
|
||||
|
||||
@@ -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>".
|
||||
|
||||
|
||||
Reference in New Issue
Block a user