397 lines
17 KiB
PHP
397 lines
17 KiB
PHP
<?php
|
|
/// Einbinden der Konfiguration, insbesondere Basisvariablen
|
|
/// relative Pfadangabe, jedes Verzeichnis soll seine eigene haben
|
|
require_once("./config.inc.php");
|
|
setlocale(LC_ALL, 'de_DE.UTF8'); // sollte vlt. in config
|
|
/// Daten für den Datenbankzugriff
|
|
require_once( $basePath."/bonus/db.inc");
|
|
|
|
/// @todo: Beschreibung
|
|
require_once($basePath."/ressourcen/phpLib/cwsvJudo/miscAssis.php");
|
|
|
|
header("Content-Type: text/html; charset=utf-8");
|
|
header("Cache-Control: max-age=3600");
|
|
|
|
require_once($basePath."/ressourcen/phpLib/breadcrumbList.php");
|
|
// require_once($basePath."/ressourcen/phpLib/miscAssis.php");
|
|
|
|
try{
|
|
$db_connection = new PDO('mysql:host='.$db_server.';dbname='.$db_name, $db_user, $db_password);
|
|
}
|
|
catch(PDOException $db_error){
|
|
$siteData['errors'][] = "Error!: " . $db_error->getMessage();
|
|
}
|
|
|
|
/* @todo: Bevor es entfernt wird, sollte noch verglichen werden ob in
|
|
* der phpLib dieselbe Fuktion steht!
|
|
/// Den htmlCode für die Haupt-Navigationsleiste bereitstellen
|
|
function getHtmlMainNav($someNavElements, $someOptions = array()){
|
|
$retHtml = "";
|
|
foreach($someNavElements as $navElement){
|
|
$retHtml .= "<a class=\"mainNavElement".( !empty($navElement['isActive'])?" activeNav\"":"\"" );
|
|
$retHtml .= " title=\"".( !empty($navElement['title'])?$navElement['title']:"" )."\"";
|
|
$retHtml .= " href=\"".( !empty($navElement['href'])?$navElement['href']:"" )."\"";
|
|
$retHtml .= ">";
|
|
$retHtml .= !empty($navElement['icon']) ? "<img class=\"mainNavElementIcon\" src=\"".$navElement['icon']."\" alt=\"".(!empty($navElement['caption'])?$navElement['caption']:"Icon")."\" ".(!empty($navElement['title'])?"title=\"".$navElement['title']."\"":"").">" : "";
|
|
$retHtml .= "<span class=\"mainNavElementCaption\">".(!empty($navElement['caption']) ? $navElement['caption'] : "")."</span>";
|
|
$retHtml .= "</a>";
|
|
}
|
|
return $retHtml;
|
|
}
|
|
*/
|
|
|
|
|
|
/// Wettkämpfe per ID abfragen
|
|
///
|
|
/// Der Rückgabewert sollte vor Verwendung (und zur Fehlerbehandlung)
|
|
/// auf NULL und/oder leeres Array getestet werden.
|
|
/// Der Zeichensatz wird von "ISO-8859-1" auf "UTF-8" gesetzt
|
|
/// @optionsArray
|
|
/// dbCharset - Zeichensatz der Datenbank
|
|
/// outCharset - Ausgabezeichensatz in den konvertiert werden soll
|
|
/// @return Array von Wettkampfdaten im Erfolsfalle (evtl. aber leer, wenn in der Datenbank keine entsprechenden Nachrichten gefunden wurden), sonst NULL
|
|
/// ohne
|
|
function getWk($aMysqlConn, $optionsArray = array("dbCharset" => "ISO-8859-1", "outCharset" => "UTF-8", "limit" => "1", "wkId" => "0")){
|
|
if(!$aMysqlConn) return NULL;
|
|
|
|
if( empty($optionsArray['dbCharset']) ) $optionsArray['dbCharset'] = "ISO-8859-1";
|
|
if( empty($optionsArray['outCharset']) ) $optionsArray['outCharset'] = "UTF-8";
|
|
|
|
if( !is_positive_integer($optionsArray['limit']) ) $optionsArray['limit'] = "1";
|
|
|
|
$ret = array();
|
|
|
|
// Falls eine (valide) wkId übergeben wurde, dann sollen die Wettkämpfe ab da abgefragt werden.
|
|
if( is_positive_integer($optionsArray['wkId']) ){
|
|
// datenbank.tabelle könnte noch vaiabel gestaltet werden
|
|
$pdoStatementForQuerryingWkById = $aMysqlConn->prepare(
|
|
//"SELECT * FROM cwsvjudo.wettkampfkalender WHERE wettkampfkalender.Datum <= (SELECT wettkampfkalender.Datum FROM wettkampfkalender WHERE wettkampfkalender.lfdeNr = :wkId ) ORDER BY wettkampfkalender.Datum DESC LIMIT :limit OFFSET 0;"
|
|
//"SELECT * FROM cwsvjudo.wettkampfkalender WHERE wettkampfkalender.Datum <= (SELECT wettkampfkalender.Datum FROM wettkampfkalender WHERE wettkampfkalender.lfdeNr = :wkId ) ORDER BY wettkampfkalender.Datum DESC;"
|
|
"SELECT * FROM cwsvjudo.wettkampfkalender WHERE wettkampfkalender.lfdeNr = :wkId UNION SELECT * FROM cwsvjudo.wettkampfkalender WHERE ( wettkampfkalender.Datum <= (SELECT wettkampfkalender.Datum FROM wettkampfkalender WHERE wettkampfkalender.lfdeNr = :wkId ) ) AND ( wettkampfkalender.lfdeNr != :wkId ) ORDER BY Datum DESC LIMIT :limit OFFSET 0;"
|
|
);
|
|
$pdoStatementForQuerryingWkById->bindParam(':limit', intval($optionsArray['limit']), PDO::PARAM_INT);
|
|
$pdoStatementForQuerryingWkById->bindParam(':wkId', intval($optionsArray['wkId']), PDO::PARAM_INT);
|
|
$pdoStatementForQuerryingWkById->execute();
|
|
$ret = $pdoStatementForQuerryingWkById->fetchAll(PDO::FETCH_ASSOC);
|
|
// var_dump($ret);
|
|
}
|
|
else{
|
|
$pdoStatementForQuerryingWkById = $aMysqlConn->prepare(
|
|
"SELECT * FROM wettkampfkalender ORDER BY Datum DESC, lfdeNr DESC LIMIT :limit;"
|
|
);
|
|
$pdoStatementForQuerryingWkById->bindParam(':limit', intval($optionsArray['limit']), PDO::PARAM_INT);
|
|
$pdoStatementForQuerryingWkById->execute();
|
|
$ret = $pdoStatementForQuerryingWkById->fetchAll(PDO::FETCH_ASSOC);
|
|
}
|
|
// Zeichensatzkonvertierung
|
|
foreach($ret as &$entry){
|
|
array_walk(
|
|
$entry,
|
|
function (&$value, $key, $optionsArray) {
|
|
$value = iconv($optionsArray['dbCharset'], $optionsArray['outCharset'], $value);
|
|
},
|
|
$optionsArray
|
|
);
|
|
}
|
|
|
|
return $ret;
|
|
}
|
|
|
|
/// Einen Gallerie per ID abfragen
|
|
///
|
|
/// Der Rückgabewert sollte vor Verwendung (und zur Fehlerbehandlung)
|
|
/// auf NULL und/oder leeres Array getestet werden.
|
|
/// Der Zeichensatz wird von "ISO-8859-1" auf "UTF-8" gesetzt
|
|
/// @optionsArray
|
|
/// dbCharset - Zeichensatz der Datenbank
|
|
/// outCharset - Ausgabezeichensatz in den konvertiert werden soll
|
|
/// @return Array von Galleriedaten im Erfolsfalle (evtl. aber leer, wenn in der Datenbank keine entsprechenden Nachrichten gefunden wurden), sonst NULL
|
|
function getGal($aMysqlConn, $optionsArray = array("dbCharset" => "ISO-8859-1", "outCharset" => "UTF-8", "limit" => "1", "galId" => "0", "wkId"=>"0")){
|
|
if(!$aMysqlConn) return NULL;
|
|
|
|
if( empty($optionsArray['dbCharset']) ) $optionsArray['dbCharset'] = "ISO-8859-1";
|
|
if( empty($optionsArray['outCharset']) ) $optionsArray['outCharset'] = "UTF-8";
|
|
|
|
if( !is_positive_integer($optionsArray['limit']) ) $optionsArray['limit'] = "1";
|
|
|
|
$ret = array();
|
|
|
|
if( is_positive_integer($optionsArray['wkId']) ){
|
|
// datenbank.tabelle könnte noch vaiabel gestaltet werden
|
|
$pdoStatementForQuerryingGalById = $aMysqlConn->prepare(
|
|
"SELECT * FROM cwsvjudo.wkGalerien WHERE wkGalerien.datum <= (SELECT wkGalerien.datum FROM wkGalerien WHERE wkGalerien.wkId = :wkId ) ORDER BY wkGalerien.datum DESC LIMIT :limit OFFSET 0;"
|
|
);
|
|
$pdoStatementForQuerryingGalById->bindParam(':limit', intval($optionsArray['limit']), PDO::PARAM_INT);
|
|
$pdoStatementForQuerryingGalById->bindParam(':wkId', intval($optionsArray['wkId']), PDO::PARAM_INT);
|
|
$pdoStatementForQuerryingGalById->execute();
|
|
$ret = $pdoStatementForQuerryingGalById->fetchAll(PDO::FETCH_ASSOC);
|
|
}
|
|
else{
|
|
$pdoStatementForQuerryingGalById = $aMysqlConn->prepare(
|
|
"SELECT * FROM wkGalerien ORDER BY datum DESC, id DESC LIMIT :limit;"
|
|
);
|
|
$pdoStatementForQuerryingGalById->bindParam(':limit', intval($optionsArray['limit']), PDO::PARAM_INT);
|
|
$pdoStatementForQuerryingGalById->execute();
|
|
$ret = $pdoStatementForQuerryingGalById->fetchAll(PDO::FETCH_ASSOC);
|
|
}
|
|
// Zeichensatzkonvertierung
|
|
foreach($ret as &$entry){
|
|
array_walk(
|
|
$entry,
|
|
function (&$value, $key, $optionsArray) {
|
|
$value = iconv($optionsArray['dbCharset'], $optionsArray['outCharset'], $value);
|
|
},
|
|
$optionsArray
|
|
);
|
|
}
|
|
|
|
return $ret;
|
|
}
|
|
|
|
/// Aus einer Liste von Wettkämpfen den htmlCode der Wettkampftabelle bereit stellen
|
|
function wkList2htmlWkTable( $aWkList, $someOptions = [] ){
|
|
if( empty($aWkList) )
|
|
return "";
|
|
|
|
$htmlWkTableString = "";
|
|
|
|
$htmlWkTableString .=
|
|
"<table class=\"wkKalender\">".
|
|
"<thead>".
|
|
"<tr>".
|
|
"<th>Datum</th>".
|
|
"<th>Veranstaltung</th>".
|
|
"<th>Ort</th>".
|
|
"<th>Altersklasse(n)</th>".
|
|
"<th>iCal</th>".
|
|
"</tr>".
|
|
"</thead>".
|
|
"<tbody>";
|
|
|
|
$lastMonthName = "";
|
|
|
|
foreach($aWkList as $wk){
|
|
// Zeichensatzkonvertierung
|
|
array_walk(
|
|
$wk,
|
|
function (&$value, $key){
|
|
$value = iconv("ISO-8859-1", "UTF-8", $value);
|
|
}
|
|
);
|
|
|
|
if($lastMonthName != strftime("%B %Y", strtotime($wk['Datum']) )){
|
|
$lastMonthName = strftime("%B %Y", strtotime($wk['Datum']) );
|
|
$htmlWkTableString .= "<tr><th colspan=\"5\" >".$lastMonthName."</th></tr><tr style=\"display:none;\" ><th colspan=\"5\"></th></tr>";
|
|
}
|
|
|
|
$htmlWkTableString .=
|
|
"<tr>".
|
|
"<script type=\"application/ld+json\">".wkArray2jsonSdEvent($wk)."</script>".
|
|
"<td data-title=\"Datum\" class=\"noWrap\">".
|
|
"<time datetime=\"".$wk['Datum']."\">".strftime("%Y-%m-%d (%a)", strtotime($wk['Datum']) )."</time>".
|
|
"</td>".
|
|
"<td data-title=\"Ausschreibung\" class=\"hyphenate\">".
|
|
"<a title=\"Ausschreibung ".$wk['Veranstaltung']."\" href=\"".$wk['Ausschreibung']."\"><span property=\"name\">".$wk['Veranstaltung']."</span></a>".
|
|
"</td>".
|
|
"<td data-title=\"Wegbeschreibung\">".
|
|
"<a title=\"Wegbeschreibung ".$wk['Veranstaltung']."\" href=\"".$wk['Routenplaner']."\"><span>".$wk['Ort']."</span></a>".
|
|
"</td>".
|
|
"<td data-title=\"Altersklassen\">".
|
|
$wk['Altersklassen'].
|
|
"</td>".
|
|
"<td data-title=\"iCal\">".
|
|
"<a title=\"Termin für ".$wk['Veranstaltung']." in Kalender übernehmen\" href=\"/ressourcen/phpLib/calendar.php?wkID=".$wk['lfdeNr']."\">iCal</a>".
|
|
"</td>".
|
|
"</tr>\n";
|
|
}
|
|
$htmlWkTableString .=
|
|
"</tbody>".
|
|
"<tfoot>".
|
|
"<tr>".
|
|
"<th>Datum</th>".
|
|
"<th>Veranstaltung</th>".
|
|
"<th>Ort</th>".
|
|
"<th>Altersklasse(n)</th>".
|
|
"<th>iCal</th>".
|
|
"</tr>".
|
|
"</tfoot>".
|
|
"</table>";
|
|
|
|
return $htmlWkTableString;
|
|
}
|
|
|
|
/// Wettkampfdaten als json-formatierte strukturierte Event-Daten
|
|
function wkArray2jsonSdEvent($wk){
|
|
return
|
|
"{".
|
|
"\"@context\": \"http://schema.org\",".
|
|
"\"@type\": \"Event\",".
|
|
"\"name\": \"".$wk['Veranstaltung']."\",".
|
|
"\"startDate\": \"".$wk['Datum']."\",".
|
|
"\"endDate\": \"".$wk['Datum']."\",".
|
|
"\"url\": \"http://cwsvjudo.bplaced.net/pages/desktop/verein.wettkampfkalender.php?wkId=".$wk['lfdeNr']."\",".
|
|
"\"description\": \"Judo-Wettkampf der Altersklasse(n) ".$wk['Altersklassen']."\",".
|
|
"\"location\": {".
|
|
"\"@type\": \"Place\",".
|
|
"\"name\": \"".$wk['Ort']."\",".
|
|
"\"address\": {".
|
|
"\"@type\": \"PostalAddress\",".
|
|
"\"addressLocality\": \"".$wk['Ort']."\"".
|
|
"}".
|
|
"}".
|
|
"}";
|
|
}
|
|
|
|
// Abfrage der Wettkampfdaten der Einzelansicht
|
|
if(!empty($_GET['wkId'])){
|
|
$wkInfo=getWk ($db_connection, array('wkId'=>$_GET['wkId']) );
|
|
$wkGals=getGal($db_connection, array('wkId'=>$_GET['wkId']) );
|
|
// var_dump($wkInfo);
|
|
}
|
|
// var_dump($wkInfo);
|
|
|
|
$siteData['head']['canonicalLink'] = "http://cwsvjudo.bplaced.net/pages/desktop/verein.wettkampfkalender.php";
|
|
if ( !empty($wkInfo) ){
|
|
$siteData['head']['title'] = $wkInfo['Veranstaltung'];
|
|
}
|
|
else{
|
|
$siteData['head']['title'] = ((isset($_GET["jahr"]) ? "Wettkampfkalender ".$_GET["jahr"] : "Aktueller Wettkampfkalender"));
|
|
}
|
|
$siteData['head']['description'] = (isset($_GET["jahr"]) ? "Wettkampfkalender ".$_GET["jahr"] : "Aktueller Wettkampfkalender")." der Abteilung Judo des Chemnitzer Freizeit- und Wohngebietssportvereines";
|
|
$siteData['head']['keywords'] = "Termine, Wettkampf, Judo";
|
|
$siteData['head']['author'] = "Marko Bunzel";
|
|
// $siteData['head']['ampLink'] = "http://amp.cwsvjudo.bplaced.net";
|
|
$siteData['head']['structuredDataJsons'][] = file_get_contents($basePath."/ressourcen/structuredData/json/cwsvJudo.json");
|
|
$siteData['head']['structuredDataJsons'][] = file_get_contents($basePath."/ressourcen/structuredData/json/cwsvJudoWebsite.json");
|
|
|
|
// $siteData['header']['zitat'] = getRandomCite( $db_connection );
|
|
$siteData['header']['breadcrumbs'] = array(
|
|
array("linkTarget" => "http://cwsvjudo.bplaced.net/pages/desktop/", "linkTitle" => "Startseite der Homepage der Sektion Judo des Chemnitzer Freizeit- und Wohngebietssportvereines", "caption" => "<img class=\"charImg\" src=\"/ressourcen/graphiken/banner/cwsv-judo-logo.png\" alt=\"Judo im Chemnitzer WSV - Logo\" title=\"Judo im Chemnitzer WSV\" />"),
|
|
array("linkTarget" => "http://cwsvjudo.bplaced.net/pages/desktop/verein.wettkampfkalender.php", "linkTitle" => "Wettkampfkalender der Sektion Judo des Chemnitzer Freizeit- und Wohngebietssportvereines in Kontakt zu treten", "caption" => "Wettkampkalender")
|
|
);
|
|
if(is_positive_integer($_GET['wkId']))
|
|
$siteData['header']['breadcrumbs'][] = array("linkTarget" => "http://cwsvjudo.bplaced.net/pages/desktop/verein.wettkampf.php?wkId=".$_GET['wkId'], "linkTitle" => "Wettkampf Nr. ".$GET['wkID'], "caption" => $_GET['wkId']);
|
|
|
|
|
|
$siteData['mainNav'] = jsonLinkFile2NavLinkList(
|
|
"cwsvJudo-Links.json",
|
|
["home", "news", "verein", "extras", "kontakt"]
|
|
);
|
|
|
|
$siteData['mainContent'] = "";
|
|
// Eine Einzelansicht, falls ein wkInfo ausgefüllt wurde
|
|
if( !empty($wkInfo) ){
|
|
foreach($wkInfo as $wk){
|
|
$siteData['mainContent'] .=
|
|
"<h2>".$wk['Veranstaltung']."</h2>".
|
|
"<ul>".
|
|
"<li>Datum: <time datetime=".$wk['Datum'].">".strftime("%a, %d. %B %Y", strtotime($wk['Datum']))."</time></li>".
|
|
"<li>Altersklassen: ".$wk['Altersklassen']."</li>".
|
|
"<li>Ort: <a href=\"".$wk['Routenplaner']."\">".$wk['Ort']."</a></li>".
|
|
"</ul>".
|
|
"<nav>".
|
|
"<ul>".
|
|
"<li><a href =\"".$wk['Ausschreibung']."\"><div>Link zur Ausschreibung</div></a></li>".
|
|
"<li><a href =\"".$wk['Routenplaner'] ."\"><div>Link zum Routenplaner</div></a></li>".
|
|
"<li><a href =\"/ressourcen/phpLib/calendar.php?wkID=".$wk['lfdeNr']."\"><div>Termin in Kalender übernehmen</div></a></li>";
|
|
if( !empty($wkGals) ){
|
|
foreach($wkGals as $wkGal){
|
|
$siteData['mainContent'] .= "<li><a href=\"".$wkGal['url']."\">".$wkGal['typ']."galerie</a></li>";
|
|
}
|
|
}
|
|
$siteData['mainContent'] .=
|
|
"</ul>".
|
|
"</nav>".
|
|
"<hr />";
|
|
}
|
|
}
|
|
else{
|
|
$siteData['mainContent'] .= $message['error'];
|
|
}
|
|
|
|
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['mainContent'] .=
|
|
"<h2>Wettkampfkalender ".$jahr."</h2>";
|
|
}
|
|
else{
|
|
$siteData['mainContent'] .=
|
|
"Keine Wettkämpfe für das Jahr".$jahr." gefunden!";
|
|
}
|
|
}
|
|
else{
|
|
$minDate = date("Y-m-d", time());
|
|
$maxDate = "";
|
|
$siteData['mainContent'] .=
|
|
"<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['mainContent'] .= wkList2htmlWkTable($ergebnis);
|
|
|
|
$siteData['mainContent'] .=
|
|
"<div style=\"font-size:xx-small\">Alle Angaben ohne Gewähr! Fehler und Ergänzungen dürfen gerne gemeldet werden.</div>".
|
|
"<a href=\"/downloads/Ausschreibungen/\">Link zum Archiv mit allen Ausschreibungen</a>.";
|
|
/* @todo: Wettkampfselektor wieder ergänzen
|
|
<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="http://cwsvjudo.bplaced.net/ressourcen/phpLib/wkCustomICal.php" method="POST">
|
|
<label>Kommende Wettkämpfe:</label>
|
|
<div><select name="wkIDs[]" multiple="multiple" size="5">
|
|
<?php
|
|
$ergebnis = $db_connection->query($query);
|
|
foreach($ergebnis as $wk){
|
|
?>
|
|
<option value="<?php echo $wk['lfdeNr'];?>">
|
|
<?php echo mb_convert_encoding($wk['Datum'], 'UTF-8', 'ISO-8859-1');?>
|
|
--
|
|
<?php echo mb_convert_encoding($wk['Veranstaltung'], 'UTF-8', 'ISO-8859-1');?>
|
|
(<?php echo mb_convert_encoding($wk['Altersklassen'], 'UTF-8', 'ISO-8859-1');?>)
|
|
</option>
|
|
<?php
|
|
}
|
|
?>
|
|
</select></div>
|
|
<button type="submit">iCal erzeugen</button>
|
|
</form>
|
|
<?php
|
|
// Verbindung wieder schließen
|
|
$db_connection = NULL;
|
|
*/
|
|
}
|
|
catch(PDOException $db_error){
|
|
print "Error!: " . $db_error->getMessage() . "<br/>";
|
|
// die();
|
|
}
|
|
|
|
$siteData['sideNav'] =
|
|
"<a class=\"subNavElement\" title=\"Galerien mit Bildern der Wettkämpfe und Veranstaltungen der Abteilung Judo des Chemnitzer WSV\" href=\"/pages/desktop/verein.galerien.php\"><span class=\"subNavElementCaption\">Galerien</span></a>".
|
|
"<a class=\"subNavElement\" title=\"Wettkampfkalender der Abteilung Judo des Chemnitzer WSV\" href=\"/pages/desktop/verein.wettkampfkalender.php\"><span class=\"subNavElementCaption\">Wettkampf­kalender</span></a>".
|
|
"<a class=\"subNavElement\" title=\"Wettkampfplaner der Abteilung Judo des Chemnitzer WSV\" href=\"/pages/desktop/wkParticipo/\"><span class=\"subNavElementCaption\">Wettkampf­planer</span></a>".
|
|
"<a class=\"subNavElement\" title=\"Ein kleiner Test für alle Jodoka\" href=\"/pages/desktop/extras.quiz.php\"><span class=\"subNavElementCaption\">Quiz</span></a>".
|
|
"<a class=\"subNavElement\" title=\"Wissenswertes über Judo\" href=\"/JudoWiki\"><span class=\"subNavElementCaption\">JudoWiki</span></a>";
|
|
|
|
require_once('./template.php');
|
|
exit();
|
|
?>
|