eventTermine in der Wettkampfplanung im MaterialDesign (in laufender Entwicklung)

geändert:       phpLib/cwsvJudo/wkKalender.php
	neue Datei:     wkParticipo/index.php
	neue Datei:     wkParticipo/lib/wkParticipoLib.inc.php
	neue Datei:     wkParticipo/wkParticipo.css
This commit is contained in:
marko
2018-07-22 06:52:52 +02:00
parent a9e0a30538
commit cba6521dc2
4 changed files with 1646 additions and 0 deletions

View File

@@ -187,6 +187,8 @@ $htmlWkTableString = "";
str_replace("pokal", "­pokal", $wk['Veranstaltung']);
$wk['Veranstaltung'] =
str_replace("randori", "­randori", $wk['Veranstaltung']);
$wk['Veranstaltung'] =
str_replace("spiele", "­spiele", $wk['Veranstaltung']);
$htmlWkTableString .=
"<tr>".

View File

@@ -0,0 +1,275 @@
<?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');
$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">
<link rel="stylesheet" href="style.css">
<link rel="stylesheet" href="wkParticipo.css">
<link rel="stylesheet" href="http://cwsvjudo.bplaced.net/ressourcen/css/cwsvJudoNavBar.css">
</head>
<body>
<?php echo $login_status; ?>
<h1>Wettkampf&shy;planung - Übersicht</h1>
<nav class="navBar">
<ul>
<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>
</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);
?>
<h3><?php echo( mb_convert_encoding($kindDaten['name'].", ".$kindDaten['vorname'].": ", 'UTF-8', 'ISO-8859-1') );?></h3>
<?php
$wkEventData = getUsersCommingWkEvents( $mysqli, $kindId, array('outCharset'=>"UTF-8") );
if(empty($wkEventData)){
?>
<?php echo( mb_convert_encoding($kindDaten['name'].", ".$kindDaten['vorname']." ", 'UTF-8', 'ISO-8859-1') );?> ist derzeit bei keinem Wettkampf eingetragen!
<?php
}
else{
foreach($wkEventData as $wkEvent){
?>
<div class="wkInfoCard">
<time class="wkInfoCardDate" datetime="<?php echo( $wkEvent['Datum'] );?>">
<span class="wkInfoCardDateWeekday">
<?php echo( strftime("%a", strtotime($wkEvent['Datum'])));?>
</span>
<span class="wkInfoCardDateDay">
<?php echo( strftime("%d", strtotime($wkEvent['Datum'])));?>
</span>
<span class="wkInfoCardDateMonth">
<?php echo( strftime("%b", strtotime($wkEvent['Datum'])));?>
</span>
<span class="wkInfoCardDateYear">
<?php echo( strftime("%Y", strtotime($wkEvent['Datum'])));?>
</span>
</time>
<div class="wkInfoCardWkData">
<div class="wkInfoCardWkInfo">
<h4 class="fontWeightLighter" ><?php echo( $wkEvent['Veranstaltung'] );?></h4>
<ul>
<li>Datum: <time datetime="<?php echo( $wkEvent['Datum'] );?>"><?php echo( $wkEvent['Datum'] );?></time></li>
<li>Altersklassen: <?php echo( $wkEvent['Altersklassen'] );?></li>
<li>Eingeschrieben als: <?php echo( $startTyp[$wkEvent['type']] );?></li>
</ul>
</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['Datum'] ) );?>" 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: <?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);
if( empty($wkEvents) ){
?>
<p>Momentan befinden sich anscheinend keine Wettkämpfe in Planung!</p>
<?php
}
else{
foreach( $wkEvents as $wk){
//print_r($wk);
$wkEvent = getWkEventData($mysqlConn, $wk['id']);
?>
<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>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>
<h2 id="menue">Menü</h2>
<nav class="navBar">
<ul >
<li><a href="./userInfo.php">Zur Benutzer&shy;übersichts&shy;seite</a></li>
<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>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,109 @@
/* blau: #291670 */
/* gelb: #fff500*/
.wkInfoCard{
border-left: .5rem solid #291670;
margin: 1rem 0;
display: flex;
background-color: #FFAE00;
border-radius: 2px;
box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.16),
0 2px 10px 0 rgba(0, 0, 0, 0.12);
position: relative;
a{
text-decoration: none;
}
}
.wkInfoCardDate{
align-items: center;
color: #291670;
display: flex;
flex-direction: column;
justify-content: center;
padding: 0rem 0.5rem 0rem 0rem;
width: 6rem;
}
.wkInfoCardDateDay{
font-size: 1.75rem;
}
.wkInfoCardDateWeekday{
font-size: 1.15rem;
}
.wkInfoCardDateMonth{
font-size: 1.15rem;
}
.wkInfoCardWkData{
display: flex;
flex-direction: column;
flex-grow: 1;
background-color: #FF8100;
}
@media (min-width: 640px){
.wkInfoCardWkData{
flex-direction: row;
}
}
.wkInfoCardWkInfo{
padding: 0 1rem;
flex-grow: 1;
}
.wkInfoCardButtonBar{
align-items: center;
display: flex;
flex-direction: column;
justify-content: center;
padding: 1rem;
}
.wkInfoCardButton{
background-color: #fff;
border-radius: 2px;
color: #333;
font-size: .9rem;
margin: .5rem 0;
padding: .75rem 1rem;
text-align: center;
width: 7rem;
}
.wkInfoCardButtonSuccess {
background-color: #291670;
color: #eee;
}
.wkInfoCardButtonRaised {
box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.16),
0 2px 10px 0 rgba(0, 0, 0, 0.12);
}
.fontWeightLighter {
font-weight: lighter;
}
.card__icon {
align-items: center;
color: #1ABC9C;
display: flex;
flex-direction: column;
padding: 1rem 2rem 1rem 0;
justify-content: center;
width: 6rem;
}
.event-icon {
font-size: 36px;
}
.material-icons {
width: 1rem;
}