Phase1 Bearbeitung
This commit is contained in:
@@ -0,0 +1,119 @@
|
||||
<?php
|
||||
$scope = trim((string) ($scope ?? old('scope')));
|
||||
|
||||
if ($scope === '') {
|
||||
$scope = trim((string) ($_GET['scope'] ?? ''));
|
||||
}
|
||||
|
||||
$scope = $scope === 'tenant' ? 'tenant' : 'platform';
|
||||
|
||||
$tenantSlug = trim((string) ($tenantSlug ?? old('tenant_slug')));
|
||||
|
||||
if ($tenantSlug === '') {
|
||||
$tenantSlug = trim((string) ($_GET['tenantSlug'] ?? $_GET['tenant'] ?? ''));
|
||||
}
|
||||
|
||||
$tenantName = trim((string) ($tenantName ?? old('tenant_name')));
|
||||
|
||||
if ($tenantName === '') {
|
||||
$tenantName = trim((string) ($_GET['tenantName'] ?? ''));
|
||||
}
|
||||
|
||||
if ($tenantName === '' && $tenantSlug !== '') {
|
||||
$tenantName = 'Standort ' . $tenantSlug;
|
||||
}
|
||||
|
||||
if ($tenantName === '') {
|
||||
$tenantName = 'Standortzugang';
|
||||
}
|
||||
|
||||
$token = trim((string) ($token ?? old('token')));
|
||||
$resetToken = isset($resetToken) && is_array($resetToken) ? $resetToken : null;
|
||||
$hasValidResetToken = $resetToken !== null;
|
||||
$loginUrl = $scope === 'tenant'
|
||||
? ($tenantSlug !== '' ? tenant_url($tenantSlug, 'login') : '/')
|
||||
: '/admin/login';
|
||||
$requestUrl = '/password/forgot?scope=' . rawurlencode($scope);
|
||||
|
||||
if ($scope === 'tenant' && $tenantSlug !== '') {
|
||||
$requestUrl .= '&tenantSlug=' . rawurlencode($tenantSlug);
|
||||
}
|
||||
|
||||
if ($scope === 'tenant' && $tenantName !== '') {
|
||||
$requestUrl .= '&tenantName=' . rawurlencode($tenantName);
|
||||
}
|
||||
|
||||
$resetEmail = trim((string) ($resetToken['email'] ?? ''));
|
||||
$expiresAt = trim((string) ($resetToken['expires_at'] ?? ''));
|
||||
require __DIR__ . '/../partials/layout-top.php';
|
||||
?>
|
||||
|
||||
<section class="page-head">
|
||||
<span class="eyebrow">Reset bestaetigen</span>
|
||||
<h1>Neues Passwort setzen</h1>
|
||||
<p>
|
||||
<?= e($hasValidResetToken
|
||||
? ($scope === 'platform'
|
||||
? 'Der Plattformzugang bekommt hier sein neues Passwort.'
|
||||
: 'Der Standortzugang fuer ' . $tenantName . ' bekommt hier sein neues Passwort.')
|
||||
: 'Hier wird nur mit einem gueltigen Reset-Link ein neues Passwort gesetzt.') ?>
|
||||
So bleibt der Login-Reset von PIN, RFID und sonstigen Standortdaten getrennt.
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<div class="two-column">
|
||||
<?php if ($hasValidResetToken): ?>
|
||||
<form class="card form-card" method="post" action="<?= e(current_path()) ?>">
|
||||
<?= csrf_field($csrf) ?>
|
||||
<input type="hidden" name="scope" value="<?= e($scope) ?>">
|
||||
<?php if ($tenantSlug !== ''): ?>
|
||||
<input type="hidden" name="tenant_slug" value="<?= e($tenantSlug) ?>">
|
||||
<?php endif; ?>
|
||||
<?php if ($scope === 'tenant' && $tenantName !== ''): ?>
|
||||
<input type="hidden" name="tenant_name" value="<?= e($tenantName) ?>">
|
||||
<?php endif; ?>
|
||||
<input type="hidden" name="token" value="<?= e($token) ?>">
|
||||
<?php if ($resetEmail !== '' || $expiresAt !== ''): ?>
|
||||
<p class="muted">
|
||||
<?= e($resetEmail !== '' ? 'Link fuer ' . $resetEmail . '.' : 'Der Reset-Link wurde geprueft.') ?>
|
||||
<?php if ($expiresAt !== ''): ?>
|
||||
Gueltig bis <?= e($expiresAt) ?> UTC.
|
||||
<?php endif; ?>
|
||||
</p>
|
||||
<?php endif; ?>
|
||||
<label>
|
||||
<span>Neues Passwort</span>
|
||||
<input type="password" name="password" minlength="12" required>
|
||||
</label>
|
||||
<label>
|
||||
<span>Passwort wiederholen</span>
|
||||
<input type="password" name="password_confirm" minlength="12" required>
|
||||
</label>
|
||||
<button class="button button-primary" type="submit">Passwort uebernehmen</button>
|
||||
<p class="muted">Nach erfolgreicher Bestaetigung soll dieser Flow wieder in den passenden Login zurueckfuehren.</p>
|
||||
<p><a class="text-link" href="<?= e($loginUrl) ?>">Zurueck zum Login</a></p>
|
||||
</form>
|
||||
<?php else: ?>
|
||||
<div class="card form-card">
|
||||
<h2>Reset-Link neu anfordern</h2>
|
||||
<p class="muted">
|
||||
<?= e($token === ''
|
||||
? 'Oeffne den Reset-Link aus der E-Mail, um hier ein neues Passwort zu setzen.'
|
||||
: 'Dieser Reset-Link ist ungueltig oder abgelaufen. Bitte fordere einen neuen Link an.') ?>
|
||||
</p>
|
||||
<p><a class="text-link" href="<?= e($requestUrl) ?>">Neuen Reset-Link anfordern</a></p>
|
||||
<p><a class="text-link" href="<?= e($loginUrl) ?>">Zurueck zum Login</a></p>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
<aside class="card">
|
||||
<span class="eyebrow">Worauf geachtet wird</span>
|
||||
<ul class="feature-list">
|
||||
<li>Mindestens 12 Zeichen fuer Plattform- und Standortzugang</li>
|
||||
<li>Das neue Passwort ersetzt nur den Login, nicht PIN oder RFID-Zuweisungen</li>
|
||||
<li>Bei Rueckfragen bleibt das Standortteam im Pilot die erste Anlaufstelle</li>
|
||||
</ul>
|
||||
</aside>
|
||||
</div>
|
||||
|
||||
<?php require __DIR__ . '/../partials/layout-bottom.php'; ?>
|
||||
Reference in New Issue
Block a user