Merge branch 'spidev' into 'master'

Login Passwort reset

See merge request fronk/thetool!1612
This commit is contained in:
Daniel Spitzer
2025-08-05 17:17:13 +00:00
6 changed files with 299 additions and 1 deletions

View File

@@ -0,0 +1,41 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title><?= MFAPPNAME_FULL ?> | Link versendet</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="assets/images/favicon.ico">
<link rel="stylesheet" href="<?= self::getResourcePath() ?>fontawesome/css/all.min.css">
<link rel="stylesheet" href="<?= self::getResourcePath() ?>css/adminlte.css">
<link rel="stylesheet" href="<?= self::getResourcePath() ?>css/fonts.css?<?= date('U') ?>">
<link rel="stylesheet" href="<?= self::getResourcePath() ?>css/main.css?<?= date('U') ?>">
<style>
.alert-success {
color: #155724;
background-color: #d4edda;
border-color: #c3e6cb;
}
</style>
</head>
<body class="hold-transition login-page">
<div class="login-box">
<div class="login-logo">
<a href="<?= self::getUrl("/") ?>"><img
src="<?= self::getResourcePath() ?>assets/images/<?= MFAPPNAME_SLUG ?>-logo.png"/></a>
</div>
<div class="card">
<div class="card-body login-card-body">
<p class="login-box-msg">Anfrage erhalten</p>
<div class="alert alert-success text-center" role="alert">
Wenn ein Konto mit diesem Benutzernamen oder dieser E-Mail existiert, wurde ein Link zum Zurücksetzen des Passworts gesendet.
</div>
<p class="mt-3 mb-1 text-center">
<a href="<?= self::getUrl("mfLogin", "index") ?>">Zurück zum Login</a>
</p>
</div>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,48 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title><?= MFAPPNAME_FULL ?> | Passwort vergessen</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="assets/images/favicon.ico">
<link rel="stylesheet" href="<?= self::getResourcePath() ?>fontawesome/css/all.min.css">
<link rel="stylesheet" href="<?= self::getResourcePath() ?>css/adminlte.css">
<link rel="stylesheet" href="<?= self::getResourcePath() ?>css/fonts.css?<?= date('U') ?>">
<link rel="stylesheet" href="<?= self::getResourcePath() ?>css/main.css?<?= date('U') ?>">
</head>
<body class="hold-transition login-page">
<div class="login-box">
<div class="login-logo">
<a href="<?= self::getUrl("/") ?>"><img
src="<?= self::getResourcePath() ?>assets/images/<?= MFAPPNAME_SLUG ?>-logo.png"/></a>
</div>
<div class="card">
<div class="card-body login-card-body">
<p class="login-box-msg">Passwort vergessen</p>
<p class="text-muted text-center mb-3">Gib deinen Benutzernamen oder Email ein, um einen Link zum Zurücksetzen des Passworts zu erhalten.</p>
<form action="<?= self::getUrl("UserPasswordReset", "sendResetLink") ?>" method="post">
<div class="input-group mb-3">
<input type="text" name="Username" class="form-control" placeholder="Benutzer" required>
<div class="input-group-append">
<div class="input-group-text">
<span class="fas fa-envelope"></span>
</div>
</div>
</div>
<div class="row">
<div class="col-12">
<button type="submit" class="btn btn-primary btn-block">Link anfordern</button>
</div>
</div>
</form>
<p class="mt-3 mb-1">
<a href="<?= self::getUrl("mfLogin", "index") ?>">Zurück zum Login</a>
</p>
</div>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,57 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title><?= MFAPPNAME_FULL ?> | Passwort zurücksetzen</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="assets/images/favicon.ico">
<link rel="stylesheet" href="<?= self::getResourcePath() ?>fontawesome/css/all.min.css">
<link rel="stylesheet" href="<?= self::getResourcePath() ?>css/adminlte.css">
<link rel="stylesheet" href="<?= self::getResourcePath() ?>css/fonts.css?<?= date('U') ?>">
<link rel="stylesheet" href="<?= self::getResourcePath() ?>css/main.css?<?= date('U') ?>">
</head>
<body class="hold-transition login-page">
<div class="login-box">
<div class="login-logo">
<a href="<?= self::getUrl("/") ?>"><img
src="<?= self::getResourcePath() ?>assets/images/<?= MFAPPNAME_SLUG ?>-logo.png"/></a>
</div>
<div class="card">
<div class="card-body login-card-body">
<p class="login-box-msg">Neues Passwort festlegen</p>
<?php if ($error): ?>
<div class="alert alert-danger"><?= $error ?></div>
<?php endif; ?>
<form action="<?= self::getUrl("UserPasswordReset", "updatePassword") ?>" method="post">
<input type="hidden" name="token" value="<?= $token ?>" />
<div class="input-group mb-3">
<input type="password" name="Password" class="form-control" placeholder="Neues Passwort" required>
<div class="input-group-append">
<div class="input-group-text">
<span class="fas fa-lock"></span>
</div>
</div>
</div>
<div class="input-group mb-3">
<input type="password" name="Password_confirm" class="form-control" placeholder="Passwort bestätigen" required>
<div class="input-group-append">
<div class="input-group-text">
<span class="fas fa-lock"></span>
</div>
</div>
</div>
<div class="row">
<div class="col-12">
<button type="submit" class="btn btn-primary btn-block">Passwort speichern</button>
</div>
</div>
</form>
</div>
</div>
</div>
</body>
</html>

View File

@@ -19,7 +19,7 @@ if ($requesttype == "2fa" || $requesttype == "false2fa") {
</div>
<div class="row justify-content-center">
<div class="mb-0 col-5">
<input type="number" required min="0" max="99999" class="form-control"
<input autofocus type="number" required min="0" max="99999" class="form-control"
name="TwofactorCode" id="TwofactorCode"/>
</div>
@@ -87,6 +87,7 @@ if ($requesttype == "2fa" || $requesttype == "false2fa") {
.cursor-pointer {
cursor: pointer;
}
.noselect {
-webkit-touch-callout: none; /* iOS Safari */
-webkit-user-select: none; /* Safari */
@@ -134,6 +135,9 @@ if ($requesttype == "2fa" || $requesttype == "false2fa") {
<?= $error ?>
<div class="row">
<div class="col-6 col-lg-8">
<p class="mb-1 mt-1">
<a href="<?= self::getUrl("UserPasswordReset", "forgotPassword") ?>">Passwort vergessen?</a>
</p>
</div>
<!-- /.col -->
<div class="col-6 col-lg-4">
@@ -166,6 +170,13 @@ if ($requesttype == "2fa" || $requesttype == "false2fa") {
$('#TwofactorCode').remove();
$('form').submit();
});
$(document).ready(function () {
if ($('#TwofactorCode').length > 0) {
$('#TwofactorCode').focus();
} else {
$('#mfUsername').focus();
}
})
</script>
</body>