layout admin panel

This commit is contained in:
Daniel Seifert 2022-11-12 23:10:54 +01:00
parent e65c2e7acb
commit 42bab2bd25
Signed by: DanielS
GPG Key ID: 6A513E13AEE66170
3 changed files with 116 additions and 222 deletions

View File

@ -41,6 +41,7 @@ $aLang = [
'D3_TOTP_REGISTERDELETE_DESC' => 'Um die Registrierung zu ändern, löschen Sie diese bitte vorerst. Sie können sofort im Anschluss eine neue Registrierung anlegen.<br>Wenn Sie die Registrierung löschen, ist das Konto nicht mehr durch die Zwei-Faktor-Authentisierung geschützt.', 'D3_TOTP_REGISTERDELETE_DESC' => 'Um die Registrierung zu ändern, löschen Sie diese bitte vorerst. Sie können sofort im Anschluss eine neue Registrierung anlegen.<br>Wenn Sie die Registrierung löschen, ist das Konto nicht mehr durch die Zwei-Faktor-Authentisierung geschützt.',
'D3_TOTP_REGISTERDELETED' => 'Die Registrierung wurde gelöscht.', 'D3_TOTP_REGISTERDELETED' => 'Die Registrierung wurde gelöscht.',
'D3_TOTP_CONFIRMATION' => 'Bestätigung',
'D3_TOTP_BACKUPCODES' => 'Backupcodes', 'D3_TOTP_BACKUPCODES' => 'Backupcodes',
'D3_TOTP_BACKUPCODES_DESC' => 'Mit diesen Backupcodes können Sie sich anmelden, wenn die Generierung des Einmalpasswortes nicht möglich ist (z.B. Gerät verloren oder neu installiert). Sie können dann die Einstellungen zur Verwendung der 2-Faktor-Authentisierung ändern oder einen neuen Zugang erstellen. Speichern Sie sich diese Codes bitte in diesem Moment sicher ab. Nach Verlassen dieser Seite können diese Codes nicht erneut angezeigt werden.', 'D3_TOTP_BACKUPCODES_DESC' => 'Mit diesen Backupcodes können Sie sich anmelden, wenn die Generierung des Einmalpasswortes nicht möglich ist (z.B. Gerät verloren oder neu installiert). Sie können dann die Einstellungen zur Verwendung der 2-Faktor-Authentisierung ändern oder einen neuen Zugang erstellen. Speichern Sie sich diese Codes bitte in diesem Moment sicher ab. Nach Verlassen dieser Seite können diese Codes nicht erneut angezeigt werden.',
'D3_TOTP_AVAILBACKUPCODECOUNT' => 'noch %1$s Backupcode(s) verfügbar', 'D3_TOTP_AVAILBACKUPCODECOUNT' => 'noch %1$s Backupcode(s) verfügbar',

View File

@ -41,6 +41,7 @@ $aLang = [
'D3_TOTP_REGISTERDELETE_DESC' => 'To change the registration, please delete it. You can then immediately create a new registration. <br> If you delete the registration, the account is no longer protected by the two-factor authentication.', 'D3_TOTP_REGISTERDELETE_DESC' => 'To change the registration, please delete it. You can then immediately create a new registration. <br> If you delete the registration, the account is no longer protected by the two-factor authentication.',
'D3_TOTP_REGISTERDELETED' => 'The registration has been deleted.', 'D3_TOTP_REGISTERDELETED' => 'The registration has been deleted.',
'D3_TOTP_CONFIRMATION' => 'confirmation',
'D3_TOTP_BACKUPCODES' => 'backup codes', 'D3_TOTP_BACKUPCODES' => 'backup codes',
'D3_TOTP_BACKUPCODES_DESC' => 'You can use these backup codes to log on if it is not possible to generate the one-time password (e.g. device lost or newly installed). You can then change the settings to use 2-factor authentication or create a new 2FA login. Please save these codes safely at this moment. After leaving this page, these codes cannot be displayed again.', 'D3_TOTP_BACKUPCODES_DESC' => 'You can use these backup codes to log on if it is not possible to generate the one-time password (e.g. device lost or newly installed). You can then change the settings to use 2-factor authentication or create a new 2FA login. Please save these codes safely at this moment. After leaving this page, these codes cannot be displayed again.',
'D3_TOTP_AVAILBACKUPCODECOUNT' => '%1$s backup code(s) still available', 'D3_TOTP_AVAILBACKUPCODECOUNT' => '%1$s backup code(s) still available',

View File

@ -67,232 +67,124 @@
[{/if}] [{/if}]
[{if $oxid && $oxid != '-1'}] [{if $oxid && $oxid != '-1'}]
<div class="container-fluid"> <div class="container-fluid">
<div class="row"> <div class="row">
<div class="col-6"> <div class="col-4">
<div class="card"> <div class="card">
[{block name="user_d3user_totp_form1"}] [{block name="user_d3user_totp_form1"}]
[{if false == $totp->getId()}] [{if false == $totp->getId()}]
<div class="card-header"> <div class="card-header">
[{oxmultilang ident="D3_TOTP_REGISTERNEW"}] [{oxmultilang ident="D3_TOTP_REGISTERNEW"}]
</div> </div>
<div class="card-body"> <div class="card-body">
[{oxmultilang ident="D3_TOTP_QRCODE"}] <div class="row">
<div class="col-4">
[{$totp->getQrCodeElement()}] [{oxmultilang ident="D3_TOTP_QRCODE" suffix="COLON"}]
[{oxinputhelp ident="D3_TOTP_QRCODE_HELP"}] </div>
</div> <div class="col-8">
[{elseif $force2FA}] [{$totp->getQrCodeElement()}]
<div class="card-header"> [{oxinputhelp ident="D3_TOTP_QRCODE_HELP"}]
[{oxmultilang ident="D3_TOTP_ADMINBACKEND"}] </div>
</div> </div>
<div class="card-body"> </div>
<input [{elseif $force2FA}]
type="submit" class="edittext" id="oLockButton" name="delete" <div class="card-header">
value="[{oxmultilang ident="D3_TOTP_ADMINCONTINUE"}]" [{oxmultilang ident="D3_TOTP_ADMINBACKEND"}]
onClick="document.myedit.fnc.value='';document.myedit.cl.value='admin_start'" </div>
> <div class="card-body">
</div> <input
[{else}] type="submit" class="edittext" id="oLockButton" name="delete"
<div class="card-header"> value="[{oxmultilang ident="D3_TOTP_ADMINCONTINUE"}]"
[{oxmultilang ident="D3_TOTP_REGISTEREXIST"}] onClick="document.myedit.fnc.value='';document.myedit.cl.value='admin_start'"
</div> >
<div class="card-body"> </div>
<dl> [{else}]
<dt> <div class="card-header">
[{oxmultilang ident="D3_TOTP_REGISTERDELETE_DESC"}] [{oxmultilang ident="D3_TOTP_REGISTEREXIST"}]
</dt> </div>
<dd> <div class="card-body">
<input type="submit" class="edittext" id="oLockButton" name="delete" value="[{oxmultilang ident="D3_TOTP_REGISTERDELETE"}]" onClick="document.myedit.fnc.value='delete'" [{$readonly}]> <div class="row">
</dd> <div class="col-12">
</dl> [{oxmultilang ident="D3_TOTP_REGISTERDELETE_DESC"}]
</div> <br>
[{/if}] <br>
[{*****}] <button type="submit" [{$readonly}] class="btn btn-primary btn-outline-danger btn-sm" onClick="document.myedit.fnc.value='delete'">
[{/block}] [{oxmultilang ident="D3_TOTP_REGISTERDELETE"}]
</button>
</div>
</div>
<br>
</div>
[{/if}]
[{/block}]
</div>
</div> </div>
</div> <div class="col-8">
<div class="col-6"> <div class="card">
<div class="card"> [{block name="user_d3user_totp_form2"}]
[{block name="user_d3user_totp_form2"}] [{if false == $totp->getId()}]
[{if false == $totp->getId()}] <div class="card-header">
<div class="card-header"> [{oxmultilang ident="D3_TOTP_CONFIRMATION"}]
[{oxmultilang ident="D3_TOTP_BACKUPCODES"}] </div>
Bestaetigung <div class="card-body">
</div> <div class="row">
<div class="card-body"> <div class="col-4">
<label for="secret">[{oxmultilang ident="D3_TOTP_SECRET"}]</label> <label for="secret">[{oxmultilang ident="D3_TOTP_SECRET" suffix="COLON"}]</label>
<textarea rows="3" cols="50" id="secret" name="secret" class="editinput" readonly="readonly">[{$totp->getSecret()}]</textarea> </div>
[{oxinputhelp ident="D3_TOTP_SECRET_HELP"}] <div class="col-8">
<textarea rows="3" cols="50" id="secret" name="secret" class="editinput" readonly="readonly">[{$totp->getSecret()}]</textarea>
<label for="otp">[{oxmultilang ident="D3_TOTP_CURROTP"}]</label> [{oxinputhelp ident="D3_TOTP_SECRET_HELP"}]
<input type="text" class="editinput" size="6" maxlength="6" id="otp" name="otp" value="" [{$readonly}]> </div>
[{oxinputhelp ident="D3_TOTP_CURROTP_HELP"}] </div>
<div class="row" style="margin-top: 20px;">
<input type="submit" class="edittext" id="oLockButton" name="save" value="[{oxmultilang ident="D3_TOTP_SAVE"}]" onClick="document.myedit.fnc.value='save'" [{$readonly}]> <div class="col-4">
</div> <label for="otp">[{oxmultilang ident="D3_TOTP_CURROTP"}]</label>
[{else}] </div>
<div class="card-header"> <div class="col-8">
[{oxmultilang ident="D3_TOTP_BACKUPCODES"}] <input type="text" class="editinput" size="6" maxlength="6" id="otp" name="otp" value="" autofocus="autofocus" [{$readonly}]>
</div> [{oxinputhelp ident="D3_TOTP_CURROTP_HELP"}]
<div class="card-body"> </div>
[{if $oView->getBackupCodes()}] </div>
<tr> <div class="row">
<td> <div class="col-4"></div>
<label for="backupcodes">[{oxmultilang ident="D3_TOTP_BACKUPCODES_DESC"}]</label> <div class="col-8">
<br> <button type="submit" [{$readonly}] class="btn btn-primary btn-success btn-sm" onClick="document.myedit.fnc.value='save'">
<br> [{oxmultilang ident="D3_TOTP_SAVE"}]
<textarea id="backupcodes" rows="10" cols="20">[{$oView->getBackupCodes()}]</textarea> </button>
</td> </div>
</tr> </div>
[{else}] </div>
<tr> [{else}]
<td> <div class="card-header">
[{oxmultilang ident="D3_TOTP_AVAILBACKUPCODECOUNT" args=$oView->getAvailableBackupCodeCount()}] [{oxmultilang ident="D3_TOTP_BACKUPCODES"}]
</td> </div>
</tr> <div class="card-body">
<tr> [{if $oView->getBackupCodes()}]
<td> <div class="row">
[{oxmultilang ident="D3_TOTP_AVAILBACKUPCODECOUNT_DESC"}] <div class="col-6">
</td> <label for="backupcodes">[{oxmultilang ident="D3_TOTP_BACKUPCODES_DESC"}]</label>
</tr> </div>
[{/if}] <div class="col-6">
</div> <textarea id="backupcodes" rows="10" cols="20">[{$oView->getBackupCodes()}]</textarea>
[{/if}] </div>
[{/block}] </div>
[{else}]
<div class="row">
<div class="col-12">
[{oxmultilang ident="D3_TOTP_AVAILBACKUPCODECOUNT" args=$oView->getAvailableBackupCodeCount()}]
<br>
<br>
[{oxmultilang ident="D3_TOTP_AVAILBACKUPCODECOUNT_DESC"}]
</div>
</div>
[{/if}]
</div>
[{/if}]
[{/block}]
</div>
</div> </div>
</div> </div>
</div> </div>
</div>
<table style="padding:0; border:0; width:98%;">
<tr>
[{***
<td class="edittext" style="vertical-align: top; padding-top:10px;padding-left:10px; width: 50%;">
<table style="padding:0; border:0">
[{block name="user_d3user_totp_form1"}]
[{if false == $totp->getId()}]
<tr>
<td class="edittext" colspan="2">
<h4>[{oxmultilang ident="D3_TOTP_REGISTERNEW"}]</h4>
</td>
</tr>
<tr>
<td class="edittext">
[{oxmultilang ident="D3_TOTP_QRCODE"}]&nbsp;
</td>
<td class="edittext">
[{$totp->getQrCodeElement()}]
[{oxinputhelp ident="D3_TOTP_QRCODE_HELP"}]
</td>
</tr>
[{elseif $force2FA}]
<tr>
<td class="edittext" colspan="2">
<h4>[{oxmultilang ident="D3_TOTP_ADMINBACKEND"}]</h4>
</td>
</tr>
<tr>
<td class="edittext" colspan="2">
<input
type="submit" class="edittext" id="oLockButton" name="delete"
value="[{oxmultilang ident="D3_TOTP_ADMINCONTINUE"}]"
onClick="document.myedit.fnc.value='';document.myedit.cl.value='admin_start'"
>
</td>
</tr>
[{else}]
<tr>
<td class="edittext" colspan="2">
<h4>[{oxmultilang ident="D3_TOTP_REGISTEREXIST"}]</h4>
</td>
</tr>
<tr>
<td class="edittext" colspan="2">
[{oxmultilang ident="D3_TOTP_REGISTERDELETE_DESC"}]
</td>
</tr>
<tr>
<td class="edittext" colspan="2"><br><br>
<input type="submit" class="edittext" id="oLockButton" name="delete" value="[{oxmultilang ident="D3_TOTP_REGISTERDELETE"}]" onClick="document.myedit.fnc.value='delete'" [{$readonly}]>
</td>
</tr>
[{/if}]
[{/block}]
</table>
</td>
**}]
<!-- Anfang rechte Seite -->
<td class="edittext" style="text-align: left; vertical-align: top; height:99%;padding-left:5px;padding-bottom:30px;padding-top:10px; width: 50%;">
<table style="padding:0; border:0">
[{block name="user_d3user_totp_form2"}]
[{if false == $totp->getId()}]
<tr>
<td class="edittext" colspan="2">
<h4>&nbsp;</h4>
</td>
</tr>
<tr>
<td class="edittext">
<label for="secret">[{oxmultilang ident="D3_TOTP_SECRET"}]</label>
</td>
<td class="edittext">
<textarea rows="3" cols="50" id="secret" name="secret" class="editinput" readonly="readonly">[{$totp->getSecret()}]</textarea>
[{oxinputhelp ident="D3_TOTP_SECRET_HELP"}]
</td>
</tr>
<tr>
<td class="edittext">
<label for="otp">[{oxmultilang ident="D3_TOTP_CURROTP"}]</label>
</td>
<td class="edittext">
<input type="text" class="editinput" size="6" maxlength="6" id="otp" name="otp" value="" [{$readonly}]>
[{oxinputhelp ident="D3_TOTP_CURROTP_HELP"}]
</td>
</tr>
<tr>
<td class="edittext" colspan="2"><br><br>
<input type="submit" class="edittext" id="oLockButton" name="save" value="[{oxmultilang ident="D3_TOTP_SAVE"}]" onClick="document.myedit.fnc.value='save'" [{$readonly}]>
</td>
</tr>
[{else}]
<tr>
<td class="edittext" colspan="2">
<h4>[{oxmultilang ident="D3_TOTP_BACKUPCODES"}]</h4>
</td>
</tr>
[{if $oView->getBackupCodes()}]
<tr>
<td>
<label for="backupcodes">[{oxmultilang ident="D3_TOTP_BACKUPCODES_DESC"}]</label>
<br>
<br>
<textarea id="backupcodes" rows="10" cols="20">[{$oView->getBackupCodes()}]</textarea>
</td>
</tr>
[{else}]
<tr>
<td>
[{oxmultilang ident="D3_TOTP_AVAILBACKUPCODECOUNT" args=$oView->getAvailableBackupCodeCount()}]
</td>
</tr>
<tr>
<td>
[{oxmultilang ident="D3_TOTP_AVAILBACKUPCODECOUNT_DESC"}]
</td>
</tr>
[{/if}]
[{/if}]
[{/block}]
</table>
</td>
<!-- Ende rechte Seite -->
</tr>
</table>
[{/if}] [{/if}]
</form> </form>