Files
cwsvJudo/homepage/participo/addEvent.php
2025-12-07 20:40:33 +01:00

177 lines
5.7 KiB
PHP

<?php
/** @var array $CONFIG basic configurations (defined via bootstraping) */
/** @var array $SECRETS passwords and other stuff worth of protection (defined via bootstraping) */
require_once "bootstrap.php";
require_once "participoLib/participo.php";
participo::init($CONFIG["cwsvJudo"], $SECRETS["cwsvJudo"]);
$message = [];
$message["notice"] = "";
$message["error"] = "";
$message["success"] = "";
$message["wkData"] = "";
$wkId = isset($_POST["f"]["wkId"]) ? $_POST["f"]["wkId"] : "";
$date = isset($_POST["f"]["date"]) ? $_POST["f"]["date"] : "";
$deadline = isset($_POST["f"]["meldefrist"]) ? $_POST["f"]["meldefrist"] : "";
/// Abfrage Kommender Wettkämpfe
$wkData = dbConnector::query(
"SELECT lfdeNr, Datum, Veranstaltung, Altersklassen FROM wettkampfkalender WHERE wettkampfkalender.Datum >= CURDATE() ORDER BY wettkampfkalender.Datum ASC;",
);
$message["wkData"] .= "<ul>";
foreach ($wkData as $wk) {
$message["wkData"] .=
"<li>wkId: " .
$wk["lfdeNr"] .
"<ul>" .
"<li>Datum:" .
$wk["Datum"] .
"</li>" .
"<li>Name:" .
$wk["Veranstaltung"] .
"</li>" .
"<li>AK:" .
$wk["Altersklassen"] .
"</li>" .
"<li><form method=\"post\"><input type=\"hidden\" name=\"f[wkId]\" id=\"wkId\" value=\"" .
htmlspecialchars($wk["lfdeNr"]) .
"\" /><button>wkId übernehmen</button></form></li>" .
"</ul></li>";
}
$message["wkData"] .= "</ul><br />";
if (!empty($_POST)) {
if (
empty($_POST["f"]["wkId"]) ||
empty($_POST["f"]["date"]) ||
empty($_POST["f"]["meldefrist"])
) {
$message["notice"] .= "Alle Felder ausfüllen und abschicken!<br />";
if ($wkId != "") {
$query =
"SELECT lfdeNr, Datum, Veranstaltung, Altersklassen, Ort, Ausschreibung, Routenplaner FROM wettkampfkalender WHERE lfdeNr = :wkId;";
$params = [
":wkId" => [
"value" => $wkId,
"data_type" => PDO::PARAM_INT,
],
];
$results = dbConnector::query($query, $params);
if (!$results) {
$message["error"] .= "Fehler bei Datenbankabfrage {$query}";
} else {
$result = $results[0];
$message["notice"] .=
"<ul><li>" .
$result["lfdeNr"] .
"<ul>" .
"<li>" .
$result["Datum"] .
"</li>" .
"<li>" .
$result["Veranstaltung"] .
"</li>" .
"<li>" .
$result["Altersklassen"] .
"</li>" .
"</ul></li>" .
"</ul>";
$date = $result["Datum"];
$deadline = date(
"Y-m-d",
strtotime(
"last friday",
strtotime("last week", strtotime($result["Datum"])),
),
);
}
}
} else {
$wkId = filterId($_POST["f"]["wkId"]);
$date = $_POST["f"]["date"];
$deadline = $_POST["f"]["meldefrist"];
$query =
"INSERT INTO wkParticipo_Events (wkId, date, meldefrist) SELECT * FROM (SELECT :wkId, :date, :deadline) as new_event WHERE NOT EXISTS (SELECT wkId FROM wkParticipo_Events WHERE wkId = :wkId) LIMIT 1;";
$params = [
":wkId" => ["value" => $wkId, "data_type" => PDO::PARAM_INT],
":date" => ["value" => $date, "data_type" => PDO::PARAM_STR],
":deadline" => [
"value" => $deadline,
"data_type" => PDO::PARAM_STR,
],
];
$result = dbConnector::query($query, $params);
$message["success"] .=
"Neues Event zu wkId = " .
htmlspecialchars($_POST["f"]["wkId"]) .
" angelegt!" .
"<ul>" .
"<li><a href=\".\">Zum Adminbereich</a></li>" .
"<li><a href=\"../\">Zum Wettkampfplaner</a></li>" .
"</ul>";
}
} else {
$message["notice"] .=
"Übermitteln Sie das ausgefüllte Formular um ein neues Event zu erstellen.";
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>wkParticipo - addEvent.php</title>
<meta name="viewport" content="width=device-width" />
</head>
<body>
<form action="./addEvent.php" method="post">
<?php
if ($message["error"] != ""): ?>
<fieldset class="error"><legend>Fehler</legend><?php echo $message[
"error"
]; ?></fieldset>
<?php endif;
if ($message["success"] != ""): ?>
<fieldset class="success"><legend>Erfolg</legend><?php echo $message[
"success"
]; ?></fieldset>
<?php endif;
if ($message["notice"] != ""): ?>
<fieldset class="notice"><legend>Hinweis</legend><?php echo $message[
"notice"
]; ?></fieldset>
<?php endif;
?>
<fieldset>
<legend>Eventdaten</legend>
<div><label for="wkId">wkId</label> <input type="text" name="f[wkId]" id="wkId"<?php echo isset(
$_POST["f"]["wkId"],
)
? ' value="' . htmlspecialchars($_POST["f"]["wkId"]) . '"'
: ""; ?> /></div>
<div>
<label for="date">date</label>
<input type="text" name="f[date]" id="date" <?php echo $date ?? ""; ?> />
</div>
<div>
<label for="meldefrist">meldefrist</label>
<input type="text" name="f[meldefrist]" id="meldefrist" <?php echo $deadline ??
""; ?> />
</div>
</fieldset>
<fieldset>
<button>Erstellen</button>
</fieldset>
</form>
<?php if ($message["wkData"] != ""): ?>
<fieldset class="wkData"><legend>wkData</legend><?php echo $message[
"wkData"
]; ?></fieldset>
<?php endif; ?>
</body>
</html>