Files
cwsvJudo/homepage/wkParticipo/index.php
2020-08-30 18:31:07 +02:00

309 lines
13 KiB
PHP

<?php
setlocale (LC_ALL, 'de_DE@euro', 'de_DE', 'de', 'ge');
require_once('./local/wkParticipoConf.php.inc');
require_once('./auth.php');
require_once('./local/db.php.inc');
require_once('./lib/wkParticipoLib.inc.php');
$basePath = "/users/cwsvjudo/www";
require_once($basePath."/config/cwsvJudo.config.php");
require_once($basePath."/config/phpcount.config.php");
require_once($basePath."/ressourcen/phpLib/phpcount/phpcount.php");
require_once($basePath."/ressourcen/phpLib/cwsvJudo/miscAssis.php");
$sqlMessage = array();
$mysqlConn = @new mysqli($db_server, $db_user, $db_password, $db_name);
if ($mysqlConn->connect_error) {
$sqlMessage['error'] .= 'Datenbankverbindung fehlgeschlagen: ' . $mysqlConn->connect_error;
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Wettkampfplanung der Judoka des CWSV</title>
<meta name="description" content="App zum Planen anstehender Wettkämpfe für die Judoka des Chemnitzer WSV">
<link rel="icon" href="/ressourcen/graphiken/icons/cwsv.ico" />
<link rel="apple-touch-icon" href="/apple-touch-icon.png">
<style>
<?php
$css = file_get_contents( $basePath."/pages/desktop/wkParticipo/wkParticipo.css");
echo(colorThemeCss($_SESSION['user']['userConfig']['colors']));
echo($css);
?>
</style>
<?php PHPCount::AddHit("Wettkampfplaner (".htmlspecialchars($_SESSION['user']['username']).")");?>
</head>
<body>
<?php echo $login_status; ?>
<h1>Wettkampf&shy;planung - Übersicht</h1>
<nav class="navBar">
<ul>
<li><a href="./infoZettel.php">Infozettel</a></li>
<li>
<a href ="./eventKalender.php">alle geplanten Wettkämpfe als Liste</a>
</li>
<li>
<a href="http://cwsvjudo.bplaced.net/pages/desktop/wkParticipo/calendar.php">die geplanten Wettkämpfe als iCal</a>
</li>
<li>
<a href="https://www.google.com/calendar/render?cid=http://cwsvjudo.bplaced.net/pages/desktop/wkParticipo/calendar.php">alle geplanten Wettkämpfe in den Google Kalender übernehmen</a>
</li>
<?php if(isUserAdmin(getCwsvJudoDbConn(), $_SESSION['user']['userId'])) echo("<li><a href=\"./admin/\">Admin</a></li>");?>
</ul>
</nav>
<h2>Springe zu den ...</h2>
<nav class="navBar">
<ul>
<li>
<a href="#meldungen">einge&shy;schriebenen Wettkämpfen.</a>
</li>
<li>
<a href="#mitfahrgelegenheiten">ange&shy;botene Mitfahr&shy;gelegen&shy;heiten.</a>
</li>
<li>
<a href="#wettkaempfen">kommenden Wett&shy;kämpfen.</a>
</li>
<li>
<a href="#hilfe">Erklärungen</a>
</li>
<li>
<a href="#menue">Menü</a>
</li>
</ul>
</nav>
<hr />
<?php
$mysqli = @new mysqli($db_server, $db_user, $db_password, $db_name);
if ($mysqli->connect_error) {
$message['error'] = 'Datenbankverbindung fehlgeschlagen: ' . $mysqli->connect_error;
echo $message['error']; die();
}
?>
<h2 id="meldungen">Eingeschrieben zu kommenden Wettkämpfen:</h2>
<?php
foreach( explode( ',', getUserData($mysqli, $_SESSION['user']['userId'])['kinder']) as $kindId){
$kindDaten = getUserData($mysqli, $kindId, array('outCharset'=>"UTF-8") );
?>
<h3><?php echo( $kindDaten['name'].", ".$kindDaten['vorname'].": " );?></h3>
<?php
$wkEventData = getUsersCommingWkEvents( $mysqli, $kindId, array('outCharset'=>"UTF-8") );
if(empty($wkEventData)){
?>
<?php echo( $kindDaten['name'].", ".$kindDaten['vorname'] );?> ist derzeit bei keinem Wettkampf eingetragen!
<?php
}
else{
foreach($wkEventData as $wkEvent){
?>
<div class="wkInfoCard">
<time class="wkInfoCardDate" datetime="<?php echo( $wkEvent['date'] );?>">
<span class="wkInfoCardDateWeekday">
<?php echo( strftime("%a", strtotime($wkEvent['date'])));?>
</span>
<span class="wkInfoCardDateDay">
<?php echo( strftime("%d", strtotime($wkEvent['date'])));?>
</span>
<span class="wkInfoCardDateMonth">
<?php echo( strftime("%b", strtotime($wkEvent['date'])));?>
</span>
<span class="wkInfoCardDateYear">
<?php echo( strftime("%Y", strtotime($wkEvent['date'])));?>
</span>
</time>
<div class="wkInfoCardWkData">
<div class="wkInfoCardWkInfo">
<h4 class="fontWeightLighter" ><?php echo( $wkEvent['Veranstaltung'] );?></h4>
<dl>
<dt>Datum</dt><dd><time datetime="<?php echo( $wkEvent['date'] );?>"><?php echo( $wkEvent['date'] );?></time></dd>
<dt>Altersklassen<a href="#hilfeAltersklassen"><sup>?</sup></a></dt><dd><?php echo( $wkEvent['Altersklassen'] );?></dd>
<dt>Eingeschrieben als</dt><dd><?php echo( $startTyp[$wkEvent['type']] );?></dd>
</dl>
</div>
<div class="wkInfoCardButtonBar">
<a href ="./showWkEvent.php?eventId=<?php echo $wkEvent['eventId']?>" class="wkInfoCardButton wkInfoCardButtonSuccess wkInfoCardButtonRaised">
Detailansicht
</a>
<a href ="/ressourcen/phpLib/calendar.php?wkID=<?php echo $wkEvent['lfdeNr']?>" class="wkInfoCardButton wkInfoCardButtonSuccess wkInfoCardButtonRaised">
Termin als iCal
</a>
<a href ="<?php echo( addToGcalUrl( $wkEvent['Veranstaltung'], $wkEvent['date'] ) );?>" class="wkInfoCardButton wkInfoCardButtonSuccess wkInfoCardButtonRaised">
In den Google Calendar
</a>
</div>
</div>
</div>
<?php
}
echo "</ul>";
}
}
?>
<hr />
<h2 id="mitfahrgelegenheiten">Angebotene Mitfahrgelegenheiten</h2>
<?php
$fahrten = array();
$fahrten = getUsersCommingFahrten($mysqli, $_SESSION['user']['userId']);
if( empty($fahrten) ){
?>
Keine Mitfahrangebote gefunden
<?php
}
else{
foreach($fahrten as $fahrt){
$mitfahrerData = getMitfahrer($mysqli, $fahrt['id']);
?>
<h3><?php echo (isset($fahrt['Veranstaltung']) ? mb_convert_encoding($fahrt['Veranstaltung'], 'UTF-8', 'ISO-8859-1') : "<fehlender Wettkampfname>" );?></h3>
<div class="wkBox">
<div class="wkInfo"><ul>
<li>Datum: <?php echo (isset($fahrt['Datum']) ? "<time datetime=\"".mb_convert_encoding($fahrt['Datum'], 'UTF-8', 'ISO-8859-1')."\">".mb_convert_encoding($fahrt['Datum'], 'UTF-8', 'ISO-8859-1')."</time>" : "<fehlendes Datum>" );?></li>
<li>Einschreibefrist: <?php echo (isset($fahrt['meldefrist']) ? "<time datetime=\"".mb_convert_encoding($fahrt['meldefrist'], 'UTF-8', 'ISO-8859-1')."\">".mb_convert_encoding($fahrt['meldefrist'], 'UTF-8', 'ISO-8859-1')."</time>" : "<fehlende Meldefrist>" );?></li>
<li>Altersklassen<a href="#hilfeAltersklassen"><sup>?</sup></a>: <?php echo (isset($fahrt['Altersklassen']) ? mb_convert_encoding($fahrt['Altersklassen'], 'UTF-8', 'ISO-8859-1') : "<fehlende Altersklassen>" );?></li>
<li>Ort: <a href="<?php echo (isset($fahrt['Routenplaner']) ? mb_convert_encoding($fahrt['Routenplaner'], 'UTF-8', 'ISO-8859-1') : "" );?>"><?php echo (isset($fahrt['Ort']) ? mb_convert_encoding($fahrt['Ort'], 'UTF-8', 'ISO-8859-1') : "<fehlender Ort>" );?></a></li>
<li>Anzahl Plätze: <?php echo count($mitfahrerData)."/".$fahrt['plaetze'];?><ul><?php foreach($mitfahrerData as $mitfahrer){echo "<li>".mb_convert_encoding($mitfahrer['name'], 'UTF-8', 'ISO-8859-1').", ".mb_convert_encoding($mitfahrer['vorname'], 'UTF-8', 'ISO-8859-1')."</li>";};?></ul></li>
</ul></div>
<nav>
<ul>
<li>
<a href ="./showWkEvent.php?eventId=<?php echo $fahrt['eventId']?>">
<div>Detailansicht</div>
</a>
</li>
<li>
<a href ="/ressourcen/phpLib/calendar.php?wkID=<?php echo $fahrt['lfdeNr']?>">
<div>Termin in Kalender übernehmen</div>
</a>
</li>
</ul>
</nav>
</div>
<hr />
<?php
}
}
?>
<hr />
<h2 id="wettkaempfen">Anstehende Wettkämpfe</h2>
<?php
$wkEvents = getCommingWkEvents($mysqli, array('outCharset'=>"UTF-8") );
if( empty($wkEvents) ){
?>
<p>Momentan befinden sich anscheinend keine Wettkämpfe in Planung!</p>
<?php
}
else{
foreach( $wkEvents as $wk){
$wkEvent = getWkEventData($mysqlConn, $wk['id'], array('outCharset'=>"UTF-8"));
?>
<h3><?php echo( $wkEvent['Veranstaltung'] );?></h3>
<?php
echo(
htmlWkEvent(
$wkEvent,
getStarterForEvent($mysqlConn, $wkEvent['id']),
getFahrtenForEvent($mysqlConn, $wkEvent['id'])
)
);
?>
<hr />
<?php
}
}
?>
<h2 id="hilfe">Erklärungen</h2>
<h3 id="hilfeFristen">Fristen</h3>
<p>
Es gibt zwei verschiedene Fristen. Zum einen die Frist vom Veranstalter, bis wann ihm alle Starter gemeldet sein müssen und zum anderen eine Frist bis wann man einen Starter für einen geplanten Wettkampf bei uns im Planer einschreiben kann. Logischerweise muss vor der Meldung bekannt sein, wer gemeldet werden kann. Deshalb ist die Einschreibefrist des Wettkampfplaners vor der Meldefrist des Veranstalters. Üblicherweise wird mit Meldeschluss die Meldung an den Veranstalter geschickt. Aber nicht immer, z. B. wenn die Teilnehmerzahl beschränkt ist. Sollte mal die Einschreibefrist verstrichen sein und man möchte trotzdem noch jemanden einschreiben, kann dies in den meisten Fällen noch erfolgen indem man mit dem Übungsleiter Rücksprache hält bevor dieser die Meldung an den Veranstalter abschickt.
</p>
<h3 id="hilfeAltersklassen">Altersklassen</h3>
<p>
<p>
Im Judo werden die Kämpfer gemäß ihrem Alter, der Masse und (meistens auch) nach ihrem Geschlecht in Gruppen eingeteilt um miteinander zu kämpfen. Weder die Einteilung in <emph>Alters-</emph> noch die in <emph>Gewichtsklassen</emph> ist dabei einheitlich. Da die Wettkämpfe immer jeweils nur für bestimmte Altersklassen und manchmal auch nur für entweder männlich oder weiblich veranstaltet werden, sollte immer auf der Ausschreibung nachgesehen werden, wie der Veranstalter die Altersklassen definiert.
</p>
<p>
Bezeichnet werden die Altersklassen im Judo meistens mit Ux, wobei x eine Zahl ist. Ux steht für unter x Jahre. Man ist unter x Jahre, wenn man im laufenden Kalenderjahr nicht mehr x Jahre alt wird. Eine Altersklasse geht normalerweise über zwei (teilweise auch drei) Jahrgänge. Zur U11 z.B. würden normalerweise all diejenigen gehören, die im laufenden Jahr 10 oder 9 (bei drei Jahrgängen auch 8) Jahre alt werden. Es gibt aber auch Wettkämpfe in denen die Altersklassen mehr Jahrgänge umfassen. Um dies im Wettkampfplaner ersichtlicher zu machen, habe ich eine eigene Schreibweise eingeführt. Am Bsp. der U11:<ul><li>Eine U11 geht über 2 Jahre.</li><li>Eine U11- geht über 3 Jahre.</li><li>Eine U11-- geht über 4 Jahre.</li><li>Eine &le;U11 ist nach unten offen.</li></ul>Diese Bezeichnung ist aber in keinster Weise offiziell!
</p>
<p>Im Zweifelsfall kann man mich auch jederzeit fragen.</p>
<p>
Für offizielle, vom Verband ausgerichtete Wettkämpfe gibt es festgelegte Alters- und Gewichtsklassen:
<ul>
<li><a href='http://cwsvjudo.bplaced.net/JudoWiki/AkGk/Jvs2020'>Alters- und Gewichtsklassen des Judoverbandes Sachsen</a></li>
<li><a href='http://cwsvjudo.bplaced.net/JudoWiki/AkGk/Djb2020'>Alters- und Gewichtsklassen im Deutschen Judo Bundes</a></li>
</ul>
</p>
<p><em>Achtung</em>: Bindend ist immer die Altersklasse auf der Ausschreibung. Ich kann mich beim Abschreiben ja auch mal vertan haben.</p>
</p>
<h2 id="menue">Menü</h2>
<nav class="navBar">
<ul >
<li><a href="./userInfo.php">Zur Benutzer&shy;übersichts&shy;seite</a></li>
<!-- Seit dem Umzug der Bilder auf lima-city ohne Funktion!
<li><a href="./galImgPicker.php">Bilder&shy;auswahl</a></li>
-->
<li><a href="./infoZettel.php">Infozettel</a></li>
<li><a href="./horstWolfJudosport.php">Wurflexikon</a></li>
<li><a href="./logout.php">Abmelden</a></li>
</ul>
</nav>
<!--
<h2 id="ergebnisse">Letzte Ergebnisse</h2>
<ul>
<?php
foreach( explode( ',', getUserData($mysqli, $_SESSION['user']['userId'])['kinder']) as $kindId){
$kindDaten = getUserData($mysqli, $kindId);
echo "<li>".$kindDaten['name'].", ".$kindDaten['vorname'].":<ul>";
$ergebnisse = getUsersErgebnisse($mysqli, $kindId);
foreach( $ergebnisse as $ergebnis ){
?>
<li>Datum: <?php echo (isset($ergebnis['Datum']) ? "<time datetime=\"".mb_convert_encoding($ergebnis['Datum'], 'UTF-8', 'ISO-8859-1')."\">".mb_convert_encoding($ergebnis['Datum'], 'UTF-8', 'ISO-8859-1')."</time>" : "<fehlendes Datum>" );?></li>
<li><?php echo mb_convert_encoding($ergebnis['Veranstaltung'], 'UTF-8', 'ISO-8859-1');?></li>
<li>Platz: <?php echo mb_convert_encoding($ergebnis['platz'], 'UTF-8', 'ISO-8859-1'); ?></li>
<?php
}
?>
</ul></li>
<?php
}
?>
</ul>
<?php
$mysqli->close();
$mysqlConn->close();
?>
-->
<!--Beginn der Einbindung des Counters-->
<?php
$chCounter_page_title = "Wettkampfplaner -- Übersicht";
$chCounter_page_url = $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] . "?user=".$_SESSION['user']['username'];
$chCounter_visible=0;
// include( $_SERVER['DOCUMENT_ROOT'].'/expCounter/counter.php');
?>
</body>
</html>