Compare commits
9 Commits
bb118e169e
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2e77ac243b | ||
| 42d3f01176 | |||
|
|
c4d62ac658 | ||
|
|
c1ffddfdb2 | ||
| dc4d28cd91 | |||
|
|
3598769c04 | ||
|
|
cfc9c96a17 | ||
|
|
e62be84d35 | ||
|
|
c3873744be |
@@ -4,13 +4,17 @@
|
||||
include("../scripts/functions.php");
|
||||
$user_data = check_login($con);
|
||||
|
||||
if($_SERVER['REQUEST_METHOD'] == "GET") {
|
||||
$s_id = sanitize_input($_GET['station']);
|
||||
}
|
||||
|
||||
if($_SERVER['REQUEST_METHOD'] == "POST") {
|
||||
if(isset($_POST['save'])){
|
||||
$s_id = sanitize_input($_GET['station']);
|
||||
if(isset($_POST['save']) && get_direct_points($con, $s_id)->fetch()['direkte_punkte'] == 1){
|
||||
$points = sanitize_input($_POST['points']);
|
||||
$minutes = sanitize_input($_POST['minutes']);
|
||||
$seconds = sanitize_input($_POST['seconds']);
|
||||
$miliseconds = sanitize_input($_POST['miliseconds']);
|
||||
$s_id = sanitize_input($_GET['station']);
|
||||
$m_id = sanitize_input($_POST['team']);
|
||||
|
||||
if($minutes == 0 && $seconds == 0 && $miliseconds == 0){
|
||||
@@ -30,6 +34,10 @@
|
||||
$time = "00:" . $minutes . ":" . $seconds . "." . $miliseconds;
|
||||
}
|
||||
write_points($con, $s_id, $m_id, $points, $time);
|
||||
} elseif (isset($_POST['save'])) {
|
||||
$result = sanitize_input($_POST['result']);
|
||||
$m_id = sanitize_input($_POST['team']);
|
||||
write_result($con, $s_id, $m_id, $result);
|
||||
}
|
||||
header("Location: statistik.php");
|
||||
die;
|
||||
@@ -51,27 +59,34 @@
|
||||
<?php load_teams_no_points($con, sanitize_input($_GET['station']))?>
|
||||
</select>
|
||||
</div>
|
||||
<div class="number_field">
|
||||
<label for="points">Punkte: </label>
|
||||
<input name="points" id="points" type="number" max="15" min="0" value="0" required/>
|
||||
<?php
|
||||
if(get_direct_points($con, $s_id)->fetch()['direkte_punkte'] == 1) {
|
||||
echo "<div class=\"number_field\">
|
||||
<label for=\"points\">Punkte: </label>
|
||||
<input name=\"points\" id=\"points\" type=\"number\" max=\"15\" min=\"0\" value=\"0\" required/>
|
||||
</div>
|
||||
<div class="headline">
|
||||
<div class=\"headline\">
|
||||
<h3>Zeit</h3>
|
||||
</div>
|
||||
<div id="zeit">
|
||||
<div class="number_field">
|
||||
<label for="minutes">Minuten</label>
|
||||
<input name="minutes" id="minutes" type="number" max="60" min="0" value="0"/>
|
||||
<div id=\"zeit\">
|
||||
<div class=\"number_field\">
|
||||
<label for=\"minutes\">Minuten</label>
|
||||
<input name=\"minutes\" id=\"minutes\" type=\"number\" max=\"60\" min=\"0\" value=\"0\"/>
|
||||
</div>
|
||||
<div class="number_field">
|
||||
<label for="seconds">Sekunden</label>
|
||||
<input name="seconds" id="seconds" type="number" max="60" min="0" value="0"/>
|
||||
<div class=\"number_field\">
|
||||
<label for=\"seconds\">Sekunden</label>
|
||||
<input name=\"seconds\" id=\"seconds\" type=\"number\" max=\"60\" min=\"0\" value=\"0\"/>
|
||||
</div>
|
||||
<div class="number_field">
|
||||
<label for="miliseconds">Millisekunden</label>
|
||||
<input name="miliseconds" id="miliseconds" type="number" max="99" min="0" value="0"/>
|
||||
<div class=\"number_field\">
|
||||
<label for=\"miliseconds\">Millisekunden</label>
|
||||
<input name=\"miliseconds\" id=\"miliseconds\" type=\"number\" max=\"99\" min=\"0\" value=\"0\"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>";} else {
|
||||
echo "<div class=\"number_field\">
|
||||
<label for=\"result\">Ergebnis: </label>
|
||||
<input name=\"result\" id=\"result\" type=\"number\" max=\"65535\" min=\"0\" value=\"0\" required/>
|
||||
</div>";
|
||||
}?>
|
||||
<div>
|
||||
<input id="button" type="submit" value="Eintragen" class="btn-confirm" name="save"/>
|
||||
<input id="close" type="submit" value="Schließen" class="btn-confirm" name="close">
|
||||
|
||||
@@ -8,7 +8,8 @@
|
||||
if(isset($_POST['save'])){
|
||||
$station_name = sanitize_input($_POST['station_name']);
|
||||
$station_pos = sanitize_input($_POST['station_pos']);
|
||||
write_station($con, $station_name, $station_pos);
|
||||
$station_direct_points = sanitize_input($_POST['direkte_punkte']);
|
||||
write_station($con, $station_name, $station_pos, $station_direct_points);
|
||||
}
|
||||
header("Location: stationen.php");
|
||||
die;
|
||||
@@ -34,6 +35,13 @@
|
||||
<span></span>
|
||||
<label for="station_pos">Standort</label>
|
||||
</div>
|
||||
<div class="dropdown">
|
||||
<label for="direkte_punkte">Punkte eintragen</label>
|
||||
<select name="direkte_punkte" id="direkte_punkte">
|
||||
<option value="1" selected>Ja</option>
|
||||
<option value="0">Nein</option>
|
||||
</select>
|
||||
</div>
|
||||
<input id="button" type="submit" value="Hinzufügen" class="btn-confirm" name="save"/>
|
||||
<a href="stationen.php" class="btn-close">Schließen</a>
|
||||
</form>
|
||||
|
||||
@@ -101,3 +101,12 @@ input[type="submit"]:hover{
|
||||
border-color: #2691d9;
|
||||
transition: .5s;
|
||||
}
|
||||
|
||||
.warnings {
|
||||
outline: none;
|
||||
margin-top: 0px;
|
||||
margin-bottom: 10px;
|
||||
background-color: #ff8080;
|
||||
border-radius: 4px;
|
||||
padding: 4px;
|
||||
}
|
||||
@@ -217,6 +217,14 @@ div.headline h2{
|
||||
visibility: visible;
|
||||
}
|
||||
|
||||
#icon-download {
|
||||
position:absolute;
|
||||
top: 6px;
|
||||
left: 5px;
|
||||
pointer-events: none;
|
||||
visibility: visible;
|
||||
}
|
||||
|
||||
.input-table{
|
||||
padding-left: 2px;
|
||||
padding-right: 2px;
|
||||
|
||||
@@ -10,6 +10,13 @@
|
||||
$stmt->bindParam(1, $_POST["m_id"], PDO::PARAM_INT);
|
||||
$stmt->bindParam(2, $_POST["s_id"], PDO::PARAM_INT);
|
||||
$stmt->execute();
|
||||
if(get_direct_points($con, $_POST['s_id'])->fetch()['direkte_punkte'] == 0) {
|
||||
$stmt = $con->prepare("DELETE FROM Ergebnisse WHERE m_id = ? AND s_id =?");
|
||||
$stmt->bindParam(1, $_POST["m_id"], PDO::PARAM_INT);
|
||||
$stmt->bindParam(2, $_POST["s_id"], PDO::PARAM_INT);
|
||||
$stmt->execute();
|
||||
update_points($con, $_POST["s_id"]);
|
||||
}
|
||||
} catch(PDOException $e) {
|
||||
handle_pdo_exception($e);
|
||||
}
|
||||
|
||||
@@ -6,8 +6,11 @@
|
||||
|
||||
if($_SERVER['REQUEST_METHOD'] == "POST") {
|
||||
try {
|
||||
$stmt = $con->prepare("DELETE FROM users WHERE id = :id");
|
||||
$stmt->execute(['id' => $_POST['id']]);
|
||||
$selected_user_id = get_id_user_by_user_id($con, $_SESSION['user_id']);
|
||||
if($selected_user_id != $_POST['id']) {
|
||||
$stmt = $con->prepare("DELETE FROM users WHERE id = :id");
|
||||
$stmt->execute(['id' => $_POST['id']]);
|
||||
}
|
||||
} catch(PDOException $e) {
|
||||
handle_pdo_exception($e);
|
||||
}
|
||||
|
||||
36
app/public/download_table.php
Normal file
36
app/public/download_table.php
Normal file
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
session_start();
|
||||
|
||||
include("../scripts/connection.php");
|
||||
include("../scripts/functions.php");
|
||||
$user_data = check_admin($con);
|
||||
|
||||
if(isset($_GET['table'])) {
|
||||
$table = $_GET['table'];
|
||||
}
|
||||
|
||||
ob_start('ob_gzhandler'); #compressing data which is sent to the browser, the browser will decompress the data automatically
|
||||
header('Content-type: text/csv; charset="UTF-8" ');
|
||||
header('Content-Disposition: attachment; filename="table.csv" ');
|
||||
|
||||
function download_table($stmt) {
|
||||
$output = fopen('php://output', 'w');
|
||||
$header = true;
|
||||
while ($row = $stmt->fetch()) {
|
||||
if ($header) {
|
||||
fputcsv($output, array_keys($row));
|
||||
$header = false;
|
||||
}
|
||||
fputcsv($output, $row);
|
||||
}
|
||||
fclose($output);
|
||||
}
|
||||
|
||||
if($table == "total-score") {
|
||||
$total_score = get_total_score($con);
|
||||
download_table($total_score);
|
||||
} else {
|
||||
$station = get_station($con, $table);
|
||||
download_table($station);
|
||||
}
|
||||
?>
|
||||
@@ -16,11 +16,13 @@
|
||||
$station_name = sanitize_input($_POST['station_name']);
|
||||
$station_pos = sanitize_input($_POST['station_pos']);
|
||||
$station_gewertet = sanitize_input($_POST['gewertet']);
|
||||
$station_direct_points = sanitize_input($_POST['direkte_punkte']);
|
||||
$station = get_station_all($con, $station_id)->fetch();
|
||||
$s_id = intval($station['s_id']);
|
||||
$name = strval($station['name']);
|
||||
$standort = strval($station['standort']);
|
||||
$gewertet = intval($station['gewertet']);
|
||||
$direct_points = intval($station['direkte_punkte']);
|
||||
if($name != $station_name) {
|
||||
update_station_name($con, $s_id, $station_name);
|
||||
}
|
||||
@@ -32,6 +34,10 @@
|
||||
if($gewertet != $station_gewertet) {
|
||||
update_station_gewertet($con, $s_id, $station_gewertet);
|
||||
}
|
||||
|
||||
if($direct_points != $station_direct_points) {
|
||||
update_station_direct_points($con, $s_id, $station_direct_points);
|
||||
}
|
||||
}
|
||||
header("Location: stationen.php");
|
||||
die;
|
||||
@@ -62,6 +68,13 @@
|
||||
<option value="0" <?php if($row['gewertet'] == '0'){echo " selected";}?>>Nein</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="dropdown">
|
||||
<label for="direkte_punkte">Punkte eintragen</label>
|
||||
<select name="direkte_punkte" id="direkte_punkte">
|
||||
<option value="1" <?php if($row['direkte_punkte'] == '1'){echo " selected";}?>>Ja</option>
|
||||
<option value="0" <?php if($row['direkte_punkte'] == '0'){echo " selected";}?>>Nein</option>
|
||||
</select>
|
||||
</div>
|
||||
<input type="hidden" name="station_id" <?php echo "value=\"" . $row ['s_id'] . "\""?>/>
|
||||
<div>
|
||||
<input type="submit" value="Speichern" class="btn-confirm"/>
|
||||
|
||||
@@ -5,14 +5,16 @@
|
||||
$user_data=check_login($con);
|
||||
|
||||
if($_SERVER['REQUEST_METHOD'] == "GET") {
|
||||
$row = get_result($con, $_GET["m_id"], $_GET['s_id'])->fetch();
|
||||
$m_id = intval(sanitize_input($_GET['m_id']));
|
||||
$s_id = intval(sanitize_input($_GET['s_id']));
|
||||
$row = get_result($con, $m_id, $s_id)->fetch();
|
||||
include("header_footer/header.php");
|
||||
}
|
||||
|
||||
if($_SERVER['REQUEST_METHOD'] == 'POST') {
|
||||
if(isset($_POST['button'])) {
|
||||
$m_id = intval(sanitize_input($_POST['m_id']));
|
||||
$s_id = intval(sanitize_input($_POST['s_id']));
|
||||
$s_id = intval(sanitize_input($_POST['s_id']));
|
||||
$m_id = intval(sanitize_input($_POST['m_id']));
|
||||
if(isset($_POST['save']) && get_direct_points($con, $s_id)->fetch()['direkte_punkte'] == 1) {
|
||||
$points = intval(sanitize_input($_POST['points']));
|
||||
$minutes = intval(sanitize_input($_POST['minutes']));
|
||||
$seconds = intval(sanitize_input($_POST['seconds']));
|
||||
@@ -36,6 +38,9 @@
|
||||
$time = "00:" . $minutes . ":" . $seconds . "." . $millis;
|
||||
change_time($con, $m_id, $s_id, $time);
|
||||
}
|
||||
} elseif(isset($_POST['save'])) {
|
||||
$result = intval(sanitize_input($_POST['result']));
|
||||
update_result($con, $s_id, $m_id, $result);
|
||||
}
|
||||
header("Location: statistik.php");
|
||||
die;
|
||||
@@ -50,31 +55,58 @@
|
||||
<form method="post">
|
||||
<label class="information">Mannschaftsname: <?php echo $row['name']?></label><br>
|
||||
<label for="fire_department" class="information">Feuerwehr: <?php echo $row["feuerwehr"]?></label><br>
|
||||
<div class="number_field">
|
||||
<label for="points">Punkte:</label>
|
||||
<input type="number" min="0" max="15" name="points" value="<?php echo $row['punkte']?>"/>
|
||||
<?php
|
||||
if (get_direct_points($con, $s_id)->fetch()['direkte_punkte'] == 1){
|
||||
echo "<div class=\"number_field\">
|
||||
<label for=\"points\">Punkte:</label>
|
||||
<input type=\"number\" min=\"0\" max=\"15\" name=\"points\" value=\"" . $row['punkte'] . "\"/>
|
||||
</div>
|
||||
<div class="headline">
|
||||
<div class=\"headline\">
|
||||
<h3>Zeit</h3>
|
||||
</div>
|
||||
<div id="time">
|
||||
<?php $time_set = check_time($con, $row['m_id'], $row['s_id']);?>
|
||||
<div class="number_field">
|
||||
<label for="minutes">Minuten:</label>
|
||||
<input name="minutes" type="number" min="0" max="60" value=<?php if(!$time_set){echo "\"0\"";} else {echo "\"" . get_minutes($con, $row['m_id'], $row['s_id'])->fetch()['minutes'] . "\""; }?>/>
|
||||
<div id=\"time\">";
|
||||
$time_set = check_time($con, $m_id, $s_id);
|
||||
echo "<div class=\"number_field\">
|
||||
<label for=\"minutes\">Minuten:</label>
|
||||
<input name=\"minutes\" type=\"number\" min=\"0\" max=\"60\" value=";
|
||||
if(!$time_set){
|
||||
echo "\"0\"";
|
||||
} else {
|
||||
echo "\"" . get_minutes($con, $m_id, $s_id)->fetch()['minutes'] . "\"";
|
||||
}
|
||||
echo "/>
|
||||
</div>
|
||||
<div class="number_field">
|
||||
<label for="seconds">Sekunden</label>
|
||||
<input name="seconds" type="number" min="0" max="60" value=<?php if(!$time_set){echo"\"0\"";} else { echo "\"" . get_seconds($con, $row['m_id'], $row['s_id'])->fetch()['seconds'] . "\""; }?>/>
|
||||
<div class=\"number_field\">
|
||||
<label for=\"seconds\">Sekunden</label>
|
||||
<input name=\"seconds\" type=\"number\" min=\"0\" max=\"60\" value=";
|
||||
if(!$time_set){
|
||||
echo"\"0\"";
|
||||
} else {
|
||||
echo "\"" . get_seconds($con, $m_id, $s_id)->fetch()['seconds'] . "\""; }
|
||||
echo"/>
|
||||
</div>
|
||||
<div class="number_field">
|
||||
<label for="millis">Millisekunden</label>
|
||||
<input name="millis" type="number" min="0" max="99" value=<?php if(!$time_set){echo"\"0\"";} else { echo "\"" . get_millis($con, $row['m_id'], $row['s_id'])->fetch()['millis'] / 1e4 . "\""; }?>/>
|
||||
<div class=\"number_field\">
|
||||
<label for=\"millis\">Millisekunden</label>
|
||||
<input name=\"millis\" type=\"number\" min=\"0\" max=\"99\" value=";
|
||||
if(!$time_set) {
|
||||
echo"\"0\"";
|
||||
} else {
|
||||
$millis = get_millis($con, $m_id, $s_id)->fetch()['millis'] / 1e4;
|
||||
echo "\"" . $millis . "\"";
|
||||
}
|
||||
echo"/>
|
||||
</div>
|
||||
</div>
|
||||
<input type="hidden" name="m_id" value=<?php echo $row['m_id'] ?>/>
|
||||
<input type="hidden" name="s_id" value=<?php echo $row['s_id'] ?>/>
|
||||
<input name="button" type="submit" value="Speichern" class="btn-confirm"/>
|
||||
</div>";
|
||||
} else {
|
||||
echo "<div class=\"number_field\">
|
||||
<label for=\"result\">Ergebnis: </label>
|
||||
<input name=\"result\" type=\"number\" min=\"0\" max=\"65535\" value=";
|
||||
echo "\"" . get_result_team_station($con, $s_id, $m_id) . "\"";
|
||||
echo "</div>";
|
||||
}?>
|
||||
<input type="hidden" name="m_id" value=<?php echo $m_id ?>/>
|
||||
<input type="hidden" name="s_id" value=<?php echo $s_id ?>/>
|
||||
<input name="save" type="submit" value="Speichern" class="btn-confirm"/>
|
||||
<input type="submit" name="close" value="Schließen" class="btn-confirm"/>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
session_start();
|
||||
include("../scripts/connection.php");
|
||||
include("../scripts/functions.php");
|
||||
$password_wrong = false;
|
||||
$wrong_data = false;
|
||||
|
||||
if($_SERVER['REQUEST_METHOD'] == "POST"){
|
||||
$user_name = sanitize_input($_POST['user_name']);
|
||||
@@ -21,14 +23,14 @@
|
||||
}
|
||||
die;
|
||||
} else {
|
||||
echo "Benutzername oder Passwort stimmen nicht";
|
||||
$password_wrong = true;
|
||||
}
|
||||
} else {
|
||||
echo "Benutzername oder Passwort stimmen nicht";
|
||||
$password_wrong = true;
|
||||
}
|
||||
|
||||
} else {
|
||||
echo "Gib bitte gültige Daten ein!";
|
||||
$wrong_data = true;
|
||||
}
|
||||
}
|
||||
$con = null;
|
||||
@@ -57,6 +59,21 @@
|
||||
<span></span>
|
||||
<label>Passwort</label>
|
||||
</div>
|
||||
<?php
|
||||
if ($password_wrong == true) {
|
||||
echo "
|
||||
<div class=\"warnings\" id=\"wrong_user_name\">
|
||||
<label for=\"warnings\">Benutzername oder <br>Passwort stimmen nicht!</label>
|
||||
</div>";
|
||||
}
|
||||
|
||||
if ($wrong_data == true) {
|
||||
echo "
|
||||
<div class=\"warnings\" id=\"wrong_data\">
|
||||
<label for=\"warnings\">Gib bitte gültige Daten ein!</label>
|
||||
</div>";
|
||||
}
|
||||
?>
|
||||
<input class="button" id="button" type="submit" value="Login"><br><br>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
@@ -43,6 +43,7 @@
|
||||
<th scope="col">Name</th>
|
||||
<th scope="col">Standort</th>
|
||||
<th scope="col">Gewertet</th>
|
||||
<th scope="col">Direkt Punkte eintragen</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
@@ -74,6 +74,16 @@
|
||||
</form>
|
||||
</div>\n";
|
||||
}
|
||||
|
||||
if($user_data['user_group'] == 'admin') {
|
||||
echo "<div class=\"btn-div\">
|
||||
<form action=\"download_table.php\" method=\"get\">
|
||||
<span class=\"gg-software-download icon\" id=\"icon-download\"></span>
|
||||
<input type=\"hidden\" name=\"table\" value=\"$session\">
|
||||
<input type=\"submit\" value=\"\">
|
||||
</form>
|
||||
</div>";
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
<div class="table-div">
|
||||
|
||||
@@ -167,11 +167,12 @@ function write_points($con, $s_id, $m_id, $points, $time) {
|
||||
}
|
||||
}
|
||||
|
||||
function write_station($con, $station_name, $station_pos) {
|
||||
function write_station($con, $station_name, $station_pos, $station_direct_points) {
|
||||
try {
|
||||
$stmt = $con->prepare("INSERT INTO Station (name, standort) VALUES (?, ?)");
|
||||
$stmt = $con->prepare("INSERT INTO Station (name, standort, direkte_punkte) VALUES (?, ?, ?)");
|
||||
$stmt->bindParam(1, $station_name, PDO::PARAM_STR);
|
||||
$stmt->bindParam(2, $station_pos, PDO::PARAM_STR);
|
||||
$stmt->bindParam(3, $station_direct_points, PDO::PARAM_INT);
|
||||
$stmt->execute();
|
||||
} catch(PDOException $e) {
|
||||
handle_pdo_exceptio($e);
|
||||
@@ -426,6 +427,17 @@ function update_station_gewertet($con, $s_id, $gewertet) {
|
||||
}
|
||||
}
|
||||
|
||||
function update_station_direct_points($con, $s_id, $direct_points) {
|
||||
try {
|
||||
$stmt = $con->prepare("UPDATE Station SET direkte_punkte = ? WHERE s_id = ?");
|
||||
$stmt->bindParam(1, $direct_points, PDO::PARAM_INT);
|
||||
$stmt->bindParam(2, $s_id, PDO::PARAM_INT);
|
||||
$stmt->execute();
|
||||
} catch(PDOExeption $e) {
|
||||
handle_pdo_exception($e);
|
||||
}
|
||||
}
|
||||
|
||||
function get_team($con, $m_id) {
|
||||
try {
|
||||
$stmt = $con->prepare("SELECT * FROM Mannschaft WHERE m_id = :m_id");
|
||||
@@ -457,4 +469,76 @@ function update_team_fire_department($con, $m_id, $dep) {
|
||||
} catch(PDOException $e) {
|
||||
handle_pdo_exception($e);
|
||||
}
|
||||
}
|
||||
|
||||
function get_direct_points($con, $s_id) {
|
||||
try {
|
||||
$stmt = $con->prepare("SELECT direkte_punkte FROM Station WHERE s_id = :s_id");
|
||||
$stmt->execute(['s_id' => $s_id]);
|
||||
$stmt->setFetchMode(PDO::FETCH_ASSOC);
|
||||
return $stmt;
|
||||
} catch(PDOException $e) {
|
||||
handle_pdo_exception($e);
|
||||
}
|
||||
}
|
||||
|
||||
function write_result_db($con, $s_id, $m_id, $result) {
|
||||
try {
|
||||
$stmt = $con->prepare("INSERT INTO Ergebnisse (s_id, m_id, erg) VALUES (?, ?, ?)");
|
||||
$stmt->bindParam(1, $s_id, PDO::PARAM_INT);
|
||||
$stmt->bindParam(2, $m_id, PDO::PARAM_INT);
|
||||
$stmt->bindParam(3, $result, PDO::PARAM_INT);
|
||||
$stmt->execute();
|
||||
} catch(PDOException $e) {
|
||||
handle_pdo_exception($e);
|
||||
}
|
||||
}
|
||||
|
||||
function get_results($con, $s_id) {
|
||||
try {
|
||||
$stmt = $con->prepare("SELECT * FROM Ergebnisse WHERE s_id = :s_id ORDER BY erg DESC");
|
||||
$stmt->execute(['s_id' => $s_id]);
|
||||
$stmt->setFetchMode(PDO::FETCH_ASSOC);
|
||||
return $stmt;
|
||||
} catch(PDOException $e) {
|
||||
handle_pdo_exception($e);
|
||||
}
|
||||
}
|
||||
|
||||
function update_result_db($con, $s_id, $m_id, $result) {
|
||||
try {
|
||||
$stmt = $con->prepare("UPDATE Ergebnisse SET erg = ? WHERE s_id = ? AND m_id = ?");
|
||||
$stmt->bindParam(1, $result, PDO::PARAM_INT);
|
||||
$stmt->bindParam(2, $s_id, PDO::PARAM_INT);
|
||||
$stmt->bindParam(3, $m_id, PDO::PARAM_INT);
|
||||
$stmt->execute();
|
||||
} catch(PDOException $e) {
|
||||
handle_pdo_exception($e);
|
||||
}
|
||||
}
|
||||
|
||||
function get_result_team_station($con, $s_id, $m_id) {
|
||||
try {
|
||||
$stmt = $con->prepare("SELECT * FROM Ergebnisse WHERE s_id = ? AND m_id = ?");
|
||||
$stmt->bindParam(1, $s_id, PDO::PARAM_INT);
|
||||
$stmt->bindParam(2, $m_id, PDO::PARAM_INT);
|
||||
$stmt->execute();
|
||||
$stmt->setFetchMode(PDO::FETCH_ASSOC);
|
||||
$result = $stmt->fetch()['erg'];
|
||||
return $result;
|
||||
} catch( PDOException $e) {
|
||||
handle_pdo_exception($e);
|
||||
}
|
||||
}
|
||||
|
||||
function get_id_user_by_user_id($con, $user_id) {
|
||||
try {
|
||||
$stmt = $con->prepare("SELECT * FROM users WHERE user_id = ?");
|
||||
$stmt->bindParam(1, $user_id, PDO::PARAM_STR);
|
||||
$stmt->execute();
|
||||
$stmt->setFetchMode(PDO::FETCH_ASSOC);
|
||||
return $stmt->fetch()['id'];
|
||||
} catch( PDOException $e) {
|
||||
handle_pdo_exception($e);
|
||||
}
|
||||
}
|
||||
@@ -38,14 +38,20 @@ function load_stations_table($con) {
|
||||
$stmt = get_stations_all($con);
|
||||
foreach($stmt->fetchAll() as $row) {
|
||||
if ($row['gewertet'] == '1') {
|
||||
$checked = "ja";
|
||||
$checked = "Ja";
|
||||
} else {
|
||||
$checked = "nein";
|
||||
$checked = "Nein";
|
||||
}
|
||||
if ($row['direkte_punkte'] == '1') {
|
||||
$direkte_punkte = "Ja";
|
||||
} else {
|
||||
$direkte_punkte = "Nein";
|
||||
}
|
||||
echo "<tr id=\"" . $row['s_id'] . "\">";
|
||||
echo "<td>" . $row['name'] . "</td>";
|
||||
echo "<td>" . $row['standort'] . "</td>";
|
||||
echo "<td>". $checked . "</td>";
|
||||
echo "<td>" . $direkte_punkte . "</td>";
|
||||
echo "</tr>";
|
||||
}
|
||||
}
|
||||
@@ -222,4 +228,24 @@ function get_time_str($con, $m_id, $s_id) {
|
||||
function sanitize_input ($input) {
|
||||
$return = strip_tags($input);
|
||||
return htmlspecialchars($return, ENT_QUOTES);
|
||||
}
|
||||
|
||||
function update_points($con, $s_id) {
|
||||
$results = get_results($con, $s_id)->fetchAll();
|
||||
$factor = $results[0]['erg']/ 15.0;
|
||||
foreach($results as $row) {
|
||||
$points = round($row['erg']/$factor);
|
||||
change_points($con, $row['m_id'], $s_id, $points);
|
||||
}
|
||||
}
|
||||
|
||||
function write_result($con, $s_id, $m_id, $result) {
|
||||
write_result_db($con, $s_id, $m_id, $result);
|
||||
write_points($con, $s_id, $m_id, 0, null);
|
||||
update_points($con, $s_id);
|
||||
}
|
||||
|
||||
function update_result($con, $s_id, $m_id, $result) {
|
||||
update_result_db($con, $s_id, $m_id, $result);
|
||||
update_points($con, $s_id);
|
||||
}
|
||||
@@ -1,8 +1,8 @@
|
||||
-- MariaDB dump 10.19 Distrib 10.8.3-MariaDB, for Linux (x86_64)
|
||||
-- MariaDB dump 10.19 Distrib 10.9.2-MariaDB, for Linux (x86_64)
|
||||
--
|
||||
-- Host: localhost Database: ksp
|
||||
-- ------------------------------------------------------
|
||||
-- Server version 10.7.3-MariaDB-1:10.7.3+maria~focal
|
||||
-- Server version 10.9.2-MariaDB-1:10.9.2+maria~ubu2204
|
||||
|
||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||
@@ -15,6 +15,26 @@
|
||||
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
|
||||
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
|
||||
|
||||
--
|
||||
-- Table structure for table `Ergebnisse`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `Ergebnisse`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!40101 SET character_set_client = utf8 */;
|
||||
CREATE TABLE `Ergebnisse` (
|
||||
`erg_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`s_id` tinyint(3) unsigned DEFAULT NULL,
|
||||
`m_id` tinyint(3) unsigned DEFAULT NULL,
|
||||
`erg` smallint(5) unsigned DEFAULT NULL,
|
||||
PRIMARY KEY (`erg_id`),
|
||||
KEY `s_id` (`s_id`),
|
||||
KEY `m_id` (`m_id`),
|
||||
CONSTRAINT `Ergebnisse_ibfk_1` FOREIGN KEY (`s_id`) REFERENCES `Station` (`s_id`),
|
||||
CONSTRAINT `Ergebnisse_ibfk_2` FOREIGN KEY (`m_id`) REFERENCES `Mannschaft` (`m_id`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Table structure for table `Mannschaft`
|
||||
--
|
||||
@@ -27,7 +47,7 @@ CREATE TABLE `Mannschaft` (
|
||||
`name` tinytext DEFAULT NULL,
|
||||
`feuerwehr` tinytext DEFAULT NULL,
|
||||
PRIMARY KEY (`m_id`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8mb4;
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8mb4;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
@@ -60,8 +80,10 @@ CREATE TABLE `Station` (
|
||||
`s_id` tinyint(3) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`name` tinytext DEFAULT NULL,
|
||||
`standort` text DEFAULT NULL,
|
||||
`gewertet` tinyint(1) DEFAULT 1,
|
||||
`direkte_punkte` tinyint(1) DEFAULT 1,
|
||||
PRIMARY KEY (`s_id`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4;
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
@@ -85,7 +107,7 @@ CREATE TABLE `users` (
|
||||
UNIQUE KEY `user_name` (`user_name`),
|
||||
KEY `s_id` (`s_id`),
|
||||
CONSTRAINT `users_ibfk_1` FOREIGN KEY (`s_id`) REFERENCES `Station` (`s_id`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4;
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8mb4;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
|
||||
|
||||
@@ -97,4 +119,4 @@ CREATE TABLE `users` (
|
||||
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
||||
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
||||
|
||||
-- Dump completed on 2022-06-19 22:58:36
|
||||
-- Dump completed on 2022-09-22 14:19:05
|
||||
|
||||
Reference in New Issue
Block a user