diff --git a/homepage/redesign2018/markdownExperiment/phpLib/cwsvJudo/wkKalender.php b/homepage/redesign2018/markdownExperiment/phpLib/cwsvJudo/wkKalender.php
index 499ca29..d3534c3 100644
--- a/homepage/redesign2018/markdownExperiment/phpLib/cwsvJudo/wkKalender.php
+++ b/homepage/redesign2018/markdownExperiment/phpLib/cwsvJudo/wkKalender.php
@@ -2,12 +2,7 @@
setlocale(LC_ALL, 'de_DE.utf8');
function echoWkTitle(){
- echo(
- getWkName(
- $_GET['wkId'],
- "Wettkampfkalender der Judoka des Chemnitzer Freizeit- und Wohngebietssportvereines 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 .= "
| ".$lastMonthName." |
|---|
|
";
+ $htmlWkTableString .= "| ".$lastMonthName." |
|---|
|
";
}
$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'] .=
+ "".
"Einzelansicht
".
"".
"
";
-// 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']
+ )
+ )
+ ).
"".wkArray2jsonSdEvent($aWk).
"
Einzelansicht ".$aWk['Veranstaltung']."
".
"Veranstaltungsdaten
".
@@ -620,4 +626,50 @@ $retHtml .= ""; // Ende wkBoxMediaGallery
return $retHtml;
}
+/// Eine Navigationsleiste mit den Wettkampfmonaten einer Wettkampfliste
+function htmlWkMonthBar($aWkList){
+setlocale(LC_ALL, 'de_DE.utf8');
+
+$wkMonthBar = "";
+$wkMonthBar .= "";
+
+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";
+}
?>
diff --git a/homepage/redesign2018/markdownExperiment/src/css/cwsvJudo-2018-content.css b/homepage/redesign2018/markdownExperiment/src/css/cwsvJudo-2018-content.css
index 4760f72..6c4e51c 100644
--- a/homepage/redesign2018/markdownExperiment/src/css/cwsvJudo-2018-content.css
+++ b/homepage/redesign2018/markdownExperiment/src/css/cwsvJudo-2018-content.css
@@ -3,7 +3,7 @@
*/
#content {
- overflow: auto;
+/* overflow: auto;*/
padding: 1em;
background: #FFAE00;
}
diff --git a/homepage/redesign2018/markdownExperiment/wkParticipo/lib/wkParticipo-userAttribute.php b/homepage/redesign2018/markdownExperiment/wkParticipo/lib/wkParticipo-userAttribute.php
index 23beb0a..a9da008 100644
--- a/homepage/redesign2018/markdownExperiment/wkParticipo/lib/wkParticipo-userAttribute.php
+++ b/homepage/redesign2018/markdownExperiment/wkParticipo/lib/wkParticipo-userAttribute.php
@@ -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() . "
";
+ 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) )
diff --git a/homepage/redesign2018/markdownExperiment/wkParticipo/lib/wkParticipoLib.inc.php b/homepage/redesign2018/markdownExperiment/wkParticipo/lib/wkParticipoLib.inc.php
index f586215..6afcfb1 100644
--- a/homepage/redesign2018/markdownExperiment/wkParticipo/lib/wkParticipoLib.inc.php
+++ b/homepage/redesign2018/markdownExperiment/wkParticipo/lib/wkParticipoLib.inc.php
@@ -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']) ){
"".