419 lines
15 KiB
PHP
419 lines
15 KiB
PHP
<?php
|
|
// Standardvariablen und grundlegende Konfiguration (z.B. setlocale)
|
|
require_once( "./config.inc.php" );
|
|
require_once( $basePath."/bonus/db.inc" );
|
|
|
|
// Abfrage der Wettkampdaten der Einzelansicht
|
|
|
|
if(!empty($_GET['wkId'])){
|
|
if( (string)(int)$_GET['wkId'] != $_GET['wkId'] ){
|
|
$mysqlConn = @new mysqli($db_server, $db_user, $db_password, $db_name);
|
|
if ($mysqlConn->connect_error) {
|
|
$messages['error'] .= "Datenbankverbindung fehlgeschlagen: " . $mysqlConn->connect_error;
|
|
}
|
|
else{
|
|
$wkInfo = array();
|
|
$mysqlConn->query("USE cwsvjudo;");
|
|
$wkInfoQuery = sprintf(
|
|
"SELECT * FROM wettkampfkalender WHERE wettkampfkalender.lfdeNr = '%s';",
|
|
$mysqlConn->real_escape_string($_GET['wkId'])
|
|
);
|
|
$wkResults = $mysqlConn->query($wkInfoQuery);
|
|
if( empty($wkResults) ){
|
|
$messages['error'] .= "Fehler bei Datenbankabfrage (".$wkInfoQuery.")!";
|
|
}
|
|
else{
|
|
$wkInfo = $wkResults->fetch_assoc();
|
|
// Zeichensatzkonvertierung
|
|
array_walk(
|
|
$wkInfo,
|
|
function (&$value, $key) {
|
|
$value = iconv("ISO-8859-1", "UTF-8", $value);
|
|
}
|
|
);
|
|
}
|
|
}
|
|
if($mysqlConn) $mysqlConn->close();
|
|
}
|
|
}
|
|
|
|
$siteData = array();
|
|
|
|
$siteData['lang'] = "de";
|
|
|
|
$siteData['head']['title'] = "Judo im Chemnitzer WSV - Kinder- und Erwachsenentraining";
|
|
if ( !empty($wkInfo) ){
|
|
$siteData['head']['title'] = $wkInfo['Veranstaltung'];
|
|
}
|
|
else{
|
|
$siteData['head']['title'] = empty($_GET["jahr"]) ? "Aktueller Wettkampfkalender" : "Wettkampfkalender ".$_GET["jahr"];
|
|
}
|
|
$siteData['head']['description'] = ( empty($_GET["jahr"]) ? "Aktueller Wettkampfkalender" : "Wettkampfkalender ".$_GET["jahr"] ) ." der Abteilung Judo des Chemnitzer Freizeit- und Wohngebietssportvereines";
|
|
|
|
$siteData['head']['keywords'] = "Judo, Wettkampf";
|
|
$siteData['head']['author'] = "Marko Bunzel";
|
|
/// @todo Wenn ich hier nichts angebe, wird getCurPagesUrl verwendet, was eine eventuelle Umstellung auf https vereinfachen würde
|
|
/// @todo Sollte vielleicht nur verwendet werden, wenn wirklich ein alternativer Link (mobile/amp, andere domain ...) existiert
|
|
$siteData['head']['canonicalLink'] = $baseUrl."/pages/responsive/kalender.php";
|
|
$siteData['head']['alternateLink']['smallScreen'] = "http://cwsvjudo.bplaced.net/pages/mobile/verein.wettkampfkalender.php";
|
|
|
|
$siteData['structuredData']['website'] =
|
|
"{\"@context\": \"http://www.schema.org\", ".
|
|
"\"@type\": \"WebSite\", ".
|
|
"\"name\": \"".( empty($_GET["jahr"]) ? "Aktueller Wettkampfkalender" : "Wettkampfkalender ".$_GET["jahr"] )." der Judoka des Chemnitzer WSV\", ".
|
|
"\"alternateName\": \"Termine, Ausschreibungen und Wegbeschreibunge für Wettkämpfe der Abteilung Judo des Chemnitzer Freizeit- und Wohngebietssportvereines\", ".
|
|
"\"url\": \"".$baseUrl."/pages/responsive/kalender.php".( empty($_GET["jahr"]) ? "" : "?jahr=".$_GET["jahr"] )."\"".
|
|
"}";
|
|
|
|
$siteData['header']['h1'] = "Judo";
|
|
$siteData['header']['breadcrumbs'] = array(
|
|
array(
|
|
"linkTarget" => $baseUrl."/pages/responsive/",
|
|
"linkTitle" => "Startseite der Homepage der Sektion Judo des Chemnitzer Freizeit- und Wohngebietssportvereines",
|
|
"caption" => "<img class=\"charImg\" src=\"".$baseUrl."/ressourcen/graphiken/banner/cwsv-judo-logo.png\" alt=\"Judo im Chemnitzer WSV - Logo\" title=\"Judo im Chemnitzer WSV\" />",
|
|
),
|
|
array(
|
|
"linkTarget" => $baseUrl."/pages/responsive/kalender.php",
|
|
"linkTitle" => "Wettkampfkalender der Sektion Judo des Chemnitzer Freizeit- und Wohngebietssportvereines",
|
|
"caption" => "Wettkampfkalender",
|
|
),
|
|
);
|
|
if( !empty( $_GET["jahr"]) )
|
|
$siteData['header']['breadcrumbs'][] = array(
|
|
"linkTarget" => $baseUrl."/pages/responsive/kalender.php?jahr=".$_GET["jahr"],
|
|
"linkTitle" => "Wettkampfkalender ".$_GET["jahr"]." der Sektion Judo des Chemnitzer Freizeit- und Wohngebietssportvereines",
|
|
"caption" => $_GET["jahr"],
|
|
);
|
|
|
|
$siteData['mainNav'] = array(
|
|
array(
|
|
'caption' => 'Home',
|
|
'title' => 'Homepage der Abteilung Judo des Chemnitzer Freizeit- und Wohngebietsportvereines',
|
|
'href' => 'index.php',
|
|
'isActive' => 'true'
|
|
),
|
|
array(
|
|
'caption' => 'Verein',
|
|
'title' => 'Informationen über den Chemnitzer Freizeit- und Wohngebietssportverein und dessen Sektion Judo',
|
|
'href' => 'verein.php',
|
|
//'isActive' => 'true'
|
|
),
|
|
array(
|
|
'caption' => 'News',
|
|
'title' => 'Bekanntmachungen der Abteilung Judo des Chemnitzer Freizeit- und Wohngebietsportvereines',
|
|
'href' => 'news.php'
|
|
),
|
|
array(
|
|
'caption' => 'Extras',
|
|
'title' => 'Links, Downloads, ein kleines Quiz und Trainingshelferlein',
|
|
'href' => 'extras.php'
|
|
),
|
|
array(
|
|
'caption' => 'Kontakt',
|
|
'title' => 'Möglichkeiten mit dem Chemnitzer Freizeit- und Wohngebietssportverein in Kontakt zu treten',
|
|
'href' => 'kontakt.php',
|
|
//'isActive' => 'true',
|
|
),
|
|
);
|
|
|
|
// @todo Ersteinmal das Standarduntermenü übernommen. Muss noch gegen
|
|
// das Kalenderuntermenü ausgetauscht werden. Und es muss sich
|
|
// Gedanken gemacht werden, wie das Untermenü auszusehen hat...
|
|
$siteData['subNav'] = array(
|
|
array(
|
|
'caption' => "Trainings­zeiten",
|
|
'icon' => "/ressourcen/graphiken/icons/clockIconFriendly.svg",
|
|
'title' => "Trainingszeiten und -orte der Judoka des Chemnitzer WSV",
|
|
'href' => "trainingszeiten.php"
|
|
),
|
|
array(
|
|
'caption' => "Termine",
|
|
'icon' => "/ressourcen/graphiken/icons/calendarIcon.svg",
|
|
'title' => "Kalender mit Terminen für Wettkämpfe",
|
|
'href' => "kalender.php"
|
|
),
|
|
array(
|
|
'caption' => "Gallerien",
|
|
'icon' => "/ressourcen/graphiken/icons/gallery.svg",
|
|
'title' => "Bilder und Videos von unseren Wettkämpfen und sonstigen Veranstaltungen",
|
|
'href' => "verein.galerien.php"
|
|
),
|
|
array(
|
|
'caption' => "JudoWiki",
|
|
'icon' => "/ressourcen/graphiken/icons/wikipediaW.svg",
|
|
'title' => "Ein kleines Nachschlagewerk über Judo",
|
|
'href' => "/JudoWiki"
|
|
),
|
|
array(
|
|
'caption' => "Kontakt",
|
|
'icon' => "/ressourcen/graphiken/icons/contact4Ways.svg",
|
|
'title' => "Möglichkeiten mit dem Chemnitzer Freizeit- und Wohngebietssportverein in Kontakt zu treten",
|
|
'href' => "kontakt.php"
|
|
),
|
|
);
|
|
|
|
$siteData['main'] = "";
|
|
// Eine Einzelansicht, falls ein wkInfo ausgefüllt wurde
|
|
if( !empty($wkInfo) ){
|
|
$siteData['main'] .=
|
|
"<h2>".$wkInfo['Veranstaltung']."</h2>".
|
|
"<ul>".
|
|
"<li>Datum: <time datetime=\"".$wkInfo['Datum']."\">".strftime("%a, %d. %B %Y", strtotime($wkInfo['Datum']) )."</time></li>".
|
|
"<li>Altersklassen: ".$wkInfo['Altersklassen']."</li>".
|
|
"<li>Ort: <a href=\"".$wkInfo['Routenplaner']."\">".$wkInfo['Ort']."</a></li>".
|
|
"</ul>".
|
|
"<nav>".
|
|
"<ul>".
|
|
"<li>".
|
|
"<a href =\"".$wkInfo['Ausschreibung']."\">".
|
|
"<div>Link zur Ausschreibung</div>".
|
|
"</a>".
|
|
"</li>".
|
|
"<li>".
|
|
"<a href=\"".$wkInfo['Routenplaner']."\">".
|
|
"<div>Link zum Routenplaner</div>".
|
|
"</a>".
|
|
"</li>".
|
|
"<li>".
|
|
"<a href =\"".$basePath."/ressourcen/phpLib/calendar.php?wkID=".$wkInfo['lfdeNr']."\">".
|
|
"<div>Termin als iCal</div>".
|
|
"</a>".
|
|
"</li>".
|
|
"</ul>".
|
|
"</nav>".
|
|
"<hr />";
|
|
}
|
|
|
|
// Die Tabelle mit den kommenden Wettkämpfen oder den Wettkämpfen eines Jahres
|
|
try{
|
|
$db_connection = new PDO('mysql:host='.$db_server.';dbname='.$db_name, $db_user, $db_password);
|
|
// mögliche Werte für das jahr herausfinden
|
|
$jahre = array();
|
|
$query = "SELECT DISTINCT DATE_FORMAT( Datum, '%Y') FROM cwsvjudo.wettkampfkalender WHERE 1 ORDER BY DATE_FORMAT( Datum, '%Y' ) DESC";
|
|
$ergebnis = $db_connection->query($query);
|
|
foreach($ergebnis as $row){
|
|
array_push($jahre, $row["DATE_FORMAT( Datum, '%Y')"]);
|
|
}
|
|
// ist das übergebene jahr ein gültiges?
|
|
$jahr = $_GET["jahr"];
|
|
if($jahr){
|
|
if(in_array($jahr, $jahre)){
|
|
$minDate = $jahr."-01-01";
|
|
$maxDate = $jahr."-12-31";
|
|
|
|
$siteData['main'] .= "<h2>Wettkampfkalender ".$jahr."</h2>";
|
|
}
|
|
else{
|
|
$siteData['main'] .= "Keine Wettkämpfe für das Jahr ".$jahr." gefunden!";
|
|
}
|
|
}
|
|
else{
|
|
$minDate = date("Y-m-d", time());
|
|
$maxDate = "";
|
|
|
|
$siteData['main'] .= "<h2>Kommende Wettkämpfe</h2>";
|
|
}
|
|
|
|
$query="SELECT Datum,Veranstaltung,Ausschreibung,Ort,Routenplaner,Altersklassen,lfdeNr FROM wettkampfkalender WHERE Datum >= \"".$minDate."\" ORDER BY Datum ASC";
|
|
if($maxDate){
|
|
$query="SELECT Datum,Veranstaltung,Ausschreibung,Ort,Routenplaner,Altersklassen,lfdeNr FROM wettkampfkalender WHERE Datum >= \"".$minDate."\" AND Datum <= \"".$maxDate."\" ORDER BY Datum ASC";
|
|
}
|
|
$ergebnis = $db_connection->query($query);
|
|
|
|
$siteData['main'] .=
|
|
"<table class=\"wkKalender\">".
|
|
"<thead>".
|
|
"<tr>".
|
|
"<th>Datum</th>".
|
|
"<th>Veranstaltung</th>".
|
|
"<th>Ort</th>".
|
|
"<th>Altersklasse(n)</th>".
|
|
"<th>iCal</th>".
|
|
"</tr>".
|
|
"</thead>".
|
|
"<tbody>";
|
|
|
|
$ergebnis = $db_connection->query($query);
|
|
$lastMonthName = "";
|
|
foreach($ergebnis as $wk){
|
|
array_walk(
|
|
$wk,
|
|
function (&$value, $key) {
|
|
$value = iconv("ISO-8859-1", "UTF-8", $value);
|
|
}
|
|
);
|
|
if($lastMonthName != strftime("%B", strtotime($wk['Datum']) )){
|
|
$lastMonthName = strftime("%B", strtotime($wk['Datum']) );
|
|
$siteData['main'] .= "<tr><th colspan=\"5\">".$lastMonthName."</th></tr>";
|
|
$siteData['main'] .= "<tr><th colspan=\"5\"></th></tr>";
|
|
}
|
|
|
|
$siteData['main'] .=
|
|
"<tr>".
|
|
"<script type=\"application/ld+json\">".
|
|
"{".
|
|
"\"@context\": \"http://schema.org\", ".
|
|
"\"@type\": \"Event\", ".
|
|
"\"name\": \"".$wk['Veranstaltung']."\", ".
|
|
"\"startDate\": \"".$wk['Datum']."\", ".
|
|
"\"endDate\": \"".$wk['Datum']."\", ".
|
|
"\"url\": \"".$baseUrl."/pages/responsive/kalender.php?wkId=".$wk['lfdeNr']."\", ".
|
|
"\"description\": \"Judo-Wettkampf der Altersklasse(n) ".$wk['Altersklassen']."\", ".
|
|
"\"location\": {".
|
|
"\"@type\": \"Place\", ".
|
|
"\"name\": \"".$wk['Ort']."\", ".
|
|
"\"address\": {".
|
|
"\"@type\": \"PostalAddress\", ".
|
|
"\"addressLocality\": \"".$wk['Ort']."\"".
|
|
"}".
|
|
"}".
|
|
"}".
|
|
"</script>".
|
|
"<td class=\"noWrap\">".
|
|
"<time datetime=\"".$wk['Datum']."\">".
|
|
strftime("%Y-%m-%d (%a)", strtotime($wk['Datum']) ).
|
|
"</time>".
|
|
"</td>".
|
|
"<td class=\"hyphenate\">".
|
|
"<a title=\"Ausschreibung ".$wk['Veranstaltung']."\" href=\"".$wk['Ausschreibung']."\">".
|
|
"<span property=\"name\">".$wk['Veranstaltung']."</span>".
|
|
"</a>".
|
|
"</td>".
|
|
"<td>".
|
|
"<a title=\"Wegbeschreibung ".$wk['Veranstaltung']."\" href=\"".$wk['Routenplaner']."\">".
|
|
"<span>".$wk['Ort']."</span>".
|
|
"</a>".
|
|
"</td>".
|
|
"<td>".
|
|
$wk['Altersklassen'].
|
|
"</td>".
|
|
"<td>".
|
|
"<a title=\"Termin für ".$wk['Veranstaltung']." als iCal\" href=\"".$baseUrl."/ressourcen/phpLib/calendar.php?wkID=".$wk['lfdeNr']."\">iCal</a>".
|
|
"</td>".
|
|
"</tr>";
|
|
}
|
|
$siteData['main'] .=
|
|
"</tbody>".
|
|
"<tfoot>".
|
|
"<tr>".
|
|
"<th>Datum</th>".
|
|
"<th>Veranstaltung</th>".
|
|
"<th>Ort</th>".
|
|
"<th>Altersklasse(n)</th>".
|
|
"<th>iCal</th>".
|
|
"</tr>".
|
|
"</tfoot>".
|
|
"</table>".
|
|
"<div style=\"font-size:xx-small\">".
|
|
"Alle Angaben ohne Gewähr! Fehler und Ergänzungen dürfen gerne gemeldet werden.".
|
|
"</div>".
|
|
"<a href=\"".$baseUrl."/downloads/Ausschreibungen/\">Link zum Archiv mit allen Ausschreibungen</a>.".
|
|
"<hr />".
|
|
"<div class=\"wkSelektor\">".
|
|
"Im folgendem kann man sich mehrere Wettkampftermine in einer <a href=\"https://de.wikipedia.org/wiki/ICalendar\">ICalendar</a>-Datei zusammenstellen. Zum An-/Abwählen bei gedrückter Strg-Taste mit der linken Maustaste die jeweiligen Wettkämpfe anklicken.".
|
|
"<form action=\"".$baseUrl."/ressourcen/phpLib/wkCustomICal.php\" method=\"POST\">".
|
|
"<label>Kommende Wettkämpfe:</label>".
|
|
"<div><select name=\"wkIDs[]\" multiple=\"multiple\" size=\"5\">";
|
|
|
|
$ergebnis = $db_connection->query($query);
|
|
foreach($ergebnis as $wk){
|
|
array_walk(
|
|
$wk,
|
|
function (&$value, $key) {
|
|
$value = iconv("ISO-8859-1", "UTF-8", $value);
|
|
}
|
|
);
|
|
$siteData['main'] .=
|
|
"<option value=\"".$wk['lfdeNr']."\">".
|
|
$wk['Datum'].
|
|
"--".
|
|
$wk['Veranstaltung'].
|
|
"(".$wk['Altersklassen'].")".
|
|
"</option>";
|
|
}
|
|
|
|
$siteData['main'] .=
|
|
"</select></div>".
|
|
"<button type=\"submit\">iCal erzeugen</button>".
|
|
"</form>".
|
|
"</div>";
|
|
$db_connection = NULL;
|
|
}
|
|
catch(PDOException $db_error){
|
|
$messages['error'] .= "Error: ".$db_error->getMessage()."<br/>";
|
|
}
|
|
|
|
// Die Inhaltsdaten sind gesetzt, jetzt können sie in die Vorlage eingefügt werden
|
|
require_once($basePath."/pages/responsive/cwsvJudo-Template.inc.php");
|
|
|
|
exit();
|
|
?>
|
|
|
|
<!-- Vertikale Navigationsleiste an der Seite -->
|
|
<!-- @todo muss bei Gelegenheit mal überarbeitet werden -->
|
|
<div id="navVerti">
|
|
<nav><ul>
|
|
<li>
|
|
<a title="Wettkampfplaner der Abteilung Judo des Chemnitzer WSV" href="/pages/desktop/wkParticipo/">
|
|
Wett­kampf­pla­ner
|
|
</a>
|
|
</li>
|
|
<?php
|
|
if(!$_GET["jahr"]){
|
|
echo "<li class=\"activeNav\">kommende Wett­kämpfe</li>";
|
|
}
|
|
else{
|
|
echo "<li><a href=\"/pages/desktop/verein.wettkampfkalender.php\">komm­ende Wett­kämpfe</a></li>";
|
|
}
|
|
foreach($jahre as $runner){
|
|
if($_GET["jahr"] == $runner){
|
|
echo "<li class=\"activeNav\"> Wett­kämpfe ".$runner."</li>";
|
|
}
|
|
else{
|
|
echo "<li><a href=\"/pages/desktop/verein.wettkampfkalender.php?jahr=".$runner."\">Wett­kämpfe ".$runner."</a></li>";
|
|
}
|
|
}
|
|
?>
|
|
</ul></nav>
|
|
<hr />
|
|
<!--Anfang der Einbindung des Counters; die Zeile 'TEMPLATE;' DARF NICHT EINGERÜCKT SEIN-->
|
|
<div>
|
|
<?php
|
|
$chCounter_template = <<<TEMPLATE
|
|
<span class="bold">Besucher</span><br/>
|
|
Online: {V_VISITORS_CURRENTLY_ONLINE}<br/>
|
|
Heute: {V_VISITORS_TODAY}<br/>
|
|
Gestern: {V_VISITORS_YESTERDAY}<br/>
|
|
Tagesrekord: {V_MAX_VISITORS_PER_DAY}<br/>
|
|
Insgesamt: {V_TOTAL_VISITORS}<br/>
|
|
<span class="bold">Seitenaufrufe</span><br/>
|
|
Diese Seite: {V_PAGE_VIEWS_THIS_PAGE}<br/>
|
|
Insgesamt: {V_TOTAL_PAGE_VIEWS}<br/>
|
|
TEMPLATE;
|
|
$chCounter_page_title = "Wettkampfkalender";
|
|
if(!empty($_GET["jahr"])){
|
|
$chCounter_page_title .= " ".$_GET["jahr"];
|
|
}
|
|
if(!empty($wkInfo['Veranstaltung'])){
|
|
$chCounter_page_title .= " - ".mb_convert_encoding($wkInfo['Veranstaltung'], 'UTF-8', 'ISO-8859-1');
|
|
}
|
|
$chCounter_visible=1;
|
|
include($_SERVER['DOCUMENT_ROOT']."/expCounter/counter.php");
|
|
echo("<!--".$chCounter_page_title."-->");
|
|
?>
|
|
<!--Ende der Einbindung des Counters-->
|
|
</div>
|
|
</div>
|
|
|
|
<?php include($_SERVER['DOCUMENT_ROOT']."/pages/shared/sponsorList.html.inc");?>
|
|
|
|
<footer>
|
|
<p>
|
|
<a href="http://validator.w3.org/check?uri=http%3A%2F%2Fcwsvjudo.bplaced.net%2Fpages%2Fdesktop%2Fverein.wettkampfkalender.php<?php echo( urlencode(!empty($_SERVER['QUERY_STRING'])?"?".$_SERVER['QUERY_STRING']:"") );?>">Valid <img src="http://www.w3.org/html/logo/downloads/HTML5_1Color_Black.svg" alt="HTML 5" style="height:1em"></a>
|
|
</p>
|
|
</footer>
|
|
<link rel="stylesheet" media="screen and (min-width: 641px)" href="/ressourcen/css/cwsvJudo.css" />
|
|
<link rel="stylesheet" media="screen and (max-width: 640px)" href="/ressourcen/css/cwsvJudoMobile.css" />
|
|
</body>
|
|
</html>
|