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

260 lines
8.8 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";
// @todo Legacy libs! Remove!
require_once "./lib/api.php";
participo::init($CONFIG["cwsvJudo"], $SECRETS["cwsvJudo"]);
$userData = getUserData($_SESSION["user"]["userId"]);
$usersKids = getUsersKids($_SESSION["user"]["userId"]);
processPostData(dbConnector::getDbConnection(), $_POST);
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<?php readfile("./shared/imports.php"); ?>
<!-- inits for the materializeCss -->
<script>
document.addEventListener('DOMContentLoaded', function() {
var elems = document.querySelectorAll('.sidenav');
var instances = M.Sidenav.init(elems, {
// specify options here
});
});
</script>
<title>User-Config</title>
<meta name="description" content="Benutzereinstellungen">
<link rel="icon" href="/ressourcen/graphiken/icons/cwsv.ico" />
<link rel="apple-touch-icon" href="/ressourcen/ressourcen/graphiken/logos/favIcons/apple-touch-icon.png">
</head>
<body>
<header>
<nav class="indigo darken-4">cwsvJudo Apps<a
class="right top-nav sidenav-trigger waves-effect waves-light hide-on-large-only" href="#"
data-target="nav-mobile">
<i class="material-icons">menu</i>
</a></nav>
<ul class="sidenav sidenav-fixed sidenav-close" id="nav-mobile">
<li class="logo">
<a style="height:auto;" class="brand-logo" id="logo-container" href="/participo/">
<img style="max-width:100%;height:12vh;" class="responsive-img"
src="/ressourcen/graphiken/logos/cwsvJudoLogoWappen.256w.png" />
</a>
</li>
<li><?php require_once "sidenav/loginStatus.php"; ?>
</li>
<li class="bold">
<a class="waves-effect waves-teal" href="/participo">zurück</a>
</li>
<li class="bold">
<a class="waves-effect waves-teal" href="/participo/user#userInfos">Config</a>
</li>
<li class="bold">
<a class="waves-effect waves-teal" href="/participo/user#kidsList">Kinder</a>
</li>
</ul>
</header>
<?php if ($_SESSION["login"]) { ?>
<main>
<h1>Benutzer-Einstellungen</h1>
<p>
<?php if (array_key_exists("changePasswordSuccess", $_GET)) {
if ($_GET["changePasswordSuccess"] == "true") {
echo "<div>Password geändert</div>";
} else {
echo "<div>Fehler während des Setzens des Passwortes.</div>";
}
} ?>
</p>
<h2>Benutzer-Info</h2>
<p>Informationen zum eigenen Benutzerkonto</p>
<div id="userInfos" class="row">
<div style="padding:1%;" class="col s12 m6">
<div style="margin:1%;" class="card blue-grey darken-1">
<div class="card-content white-text">
<span
class="card-title"><?php echo $userData["name"]; ?>,
<?php echo $userData["vorname"]; ?></span>
<img style="max-height:10vh;" class="responsive-img" src="images/account.svg" />
<dl>
<dt>Name</dt>
<dd><?php echo $userData["name"]; ?>
</dd>
<dt>Vorname</dt>
<dd><?php echo $userData["vorname"]; ?>
</dd>
<dt>Email</dt>
<dd><?php echo $userData["eMail"]; ?>
</dd>
</dl>
</div>
</div>
<div class="card-action">
<!--
<a href="">kommt bald</a>
-->
</div>
</div>
<div style="padding:1%;" class="col s12 m6">
<div style="margin:1%;" class="card blue-grey darken-1">
<div class="card-content white-text">
<span class="card-title">Passwort setzen</span>
Im folgenden Formular kann das Passwort geändert werden. Man sollte darauf achten, dass man beim
<a
href="https://www.bsi-fuer-buerger.de/BSIFB/DE/Empfehlungen/Passwoerter/Umgang/umgang_node.html">Umgang
mit Passwörtern</a> die nötige Vorsicht walten lässt.
<form action="./user" method="post">
<input name="action" type="hidden" value="changePassword" />
<input name="redirectLocation" type="hidden" value="./user" />
<input name="changerId" type="hidden"
value="<?php echo $userData["id"]; ?>" />
<input name="changeeId" type="hidden"
value="<?php echo $userData["id"]; ?>" />
<fieldset>
<legend>Neues Passwort vergeben</legend>
<div>
<label for="changerPassword">Eigenes Passwort</label>
<input type="password" name="changerPassword" id="changerPassword" />
</div>
<div>
<label for="newPassword">Neues Passwort</label>
<input type="password" name="newPassword" id="newPassword" />
</div>
<div>
<label for="newPasswordAgain">Neues Passwort wiederholen</label>
<input type="password" name="newPasswordAgain" id="newPasswordAgain" />
</div>
</fieldset>
<fieldset>
<div><button type="submit">Passwort neu setzen</button></div>
</fieldset>
</form>
</div>
</div>
<div class="card-action">
<!--
<a href="">kommt bald</a>
-->
</div>
</div>
</div>
<h2>Berechtigungen</h2>
<p>Liste der User, für die man meldeberechtigt ist (bzw. Änderungen vornehmen darf). In der Regel ist das das
eigene Kind (bei Eltern) oder man selber (bei Volljährigen).</p>
<div class="row" id="kidsList">
<?php foreach ($usersKids as $kid) { ?>
<div style="padding:1%;" class="col s12 m6">
<div style="margin:1%;" class="card blue-grey darken-1">
<div class="card-content white-text">
<span
class="card-title"><?php echo $kid["name"]; ?>,
<?php echo $kid["vorname"]; ?></span>
<img style="max-height:10vh;" class="responsive-img" src="images/account.svg" />
<dl>
<dt>Name</dt>
<dd><?php echo $kid["name"]; ?>
</dd>
<dt>Vorname</dt>
<dd><?php echo $kid["vorname"]; ?>
</dd>
<dt>Geb.datum</dt>
<dd><?php echo $kid["gebDatum"]; ?>
</dd>
</dl>
</div>
<span class="card-title">Passwort</span>
<p>Im folgenden Formular kann das Passwort des Kindes gesetzt werden. Damit kann das Kind sich auch
in das System einloggen - um z.B. die Wissens-Apps zu benutzen - kann sich aber nicht bei
Wettkämpfen anmelden. Das eigene Passwort muss dabei noch einmal zur Kontrolle eingegeben
werden. Das neue Passwort muss zweimal blind eingegeben.</p>
<p>
<?php if ($kid["pwHash"] == "" || $kid["pwHash"] == null) {
echo "<p>Derzeit ist kein Passwort gesetzt!</p>";
} else {
echo "<p>Es ist derzeit ein Passwort gesetzt!</p>"; ?>
<p>Es besteht auch die Möglickeit, das Passwort ganz zu entfernen. Man kann sich dann nicht mehr mit
diesem Konto einloggen. Das eigene Passwort muss dabei noch einmal zur Kontrolle eingegeben
werden.</p>
<form action="./user" method="post">
<input name="action" type="hidden" value="changePassword" />
<input name="redirectLocation" type="hidden" value="./user" />
<input name="changerId" type="hidden"
value="<?php echo $userData["id"]; ?>" />
<input name="changeeId" type="hidden"
value="<?php echo $kid["kidId"]; ?>" />
<input name="newPassword" type="hidden" value="" />
<input name="newPasswordAgain" type="hidden" value="" />
<fieldset>
<div>
<label for="changerPassword">Eigenes Passwort</label>
<input type="password" name="changerPassword" id="changerPassword" />
</div>
</fieldset>
<fieldset>
<div><button type="submit">Passwort entfernen</button></div>
</fieldset>
</form>
<?php
} ?>
</p>
<form action="./user" method="post">
<input name="action" type="hidden" value="changePassword" />
<input name="redirectLocation" type="hidden" value="./user" />
<input name="changerId" type="hidden"
value="<?php echo $userData["id"]; ?>" />
<input name="changeeId" type="hidden"
value="<?php echo $kid["kidId"]; ?>" />
<fieldset>
<legend>Neues Passwort vergeben</legend>
<div>
<label for="changerPassword">Eigenes Passwort</label>
<input type="password" name="changerPassword" id="changerPassword" />
</div>
<div>
<label for="newPassword">Neues Passwort des Kindes</label>
<input type="password" name="newPassword" id="newPassword" />
</div>
<div>
<label for="newPasswordAgain">Neues Passwort wiederholen</label>
<input type="password" name="newPasswordAgain" id="newPasswordAgain" />
</div>
</fieldset>
<fieldset>
<div><button type="submit">Passwort neu setzen</button></div>
</fieldset>
</form>
<div class="card-action">
<!--
<a href="">kommt bald</a>
-->
</div>
</div>
</div>
<?php } ?>
</main>
<?php } ?>
</body>
</html>