backup-codes-display.php
5 days ago
backup-codes-generate.php
5 days ago
backup-method-footer.php
5 days ago
backup-method-selection.php
5 days ago
completion.php
5 days ago
confirm-close.php
5 days ago
email-setup.php
5 days ago
email-verify.php
5 days ago
index.php
5 days ago
method-selection.php
5 days ago
modal.php
5 days ago
required-intro.php
5 days ago
totp-setup.php
5 days ago
totp-verify.php
5 days ago
welcome.php
5 days ago
totp-setup.php
54 lines
| 1 | <?php |
| 2 | /** |
| 3 | * WP 2FA Wizard Template: TOTP Setup |
| 4 | * |
| 5 | * Contains two template IDs: |
| 6 | * - wp2fa-totp-setup — QR code and manual key entry. |
| 7 | * - wp2fa-totp-setup-footer — Footer buttons for the setup step. |
| 8 | * |
| 9 | * tmpl-wp2fa-totp-setup data: |
| 10 | * - qrCodeUrl {string} URL for the QR code image. |
| 11 | * - totpKey {string} Manual entry key. |
| 12 | * - step1 {string} Instruction step 1 text. |
| 13 | * - step2 {string} Instruction step 2 text (may contain HTML). |
| 14 | * - step3 {string} Instruction step 3 text. |
| 15 | * - copyKeyLabel {string} Accessible label for the copy button. |
| 16 | * |
| 17 | * tmpl-wp2fa-totp-setup-footer data: |
| 18 | * - goBackLabel {string} "Go back" link text. |
| 19 | * - continueLabel {string} "Continue" / "I'm Ready" button text. |
| 20 | * |
| 21 | * @package wp2fa |
| 22 | * @since 4.0.0 |
| 23 | */ |
| 24 | |
| 25 | defined( 'ABSPATH' ) || exit; |
| 26 | ?> |
| 27 | <script type="text/html" id="tmpl-wp2fa-totp-setup"> |
| 28 | <div class="wp2fa-totp-setup-wrapper" id="wp2fa-totp-setup-wrapper"> |
| 29 | <div class="wp2fa-totp-qr-wrapper" id="wp2fa-totp-qr-wrapper"> |
| 30 | <img class="wp2fa-totp-qr-code" id="wp2fa-totp-qr-code" src="{{ data.qrCodeUrl }}" alt="TOTP QR Code" /> |
| 31 | </div> |
| 32 | <div class="wp2fa-totp-instructions" id="wp2fa-totp-instructions"> |
| 33 | <ol class="wp2fa-totp-steps-list" id="wp2fa-totp-steps-list"> |
| 34 | <li class="wp2fa-totp-step-item" id="wp2fa-totp-step-1">{{ data.step1 }}</li> |
| 35 | <li class="wp2fa-totp-step-item" id="wp2fa-totp-step-2"> |
| 36 | <div>{{{ data.step2 }}}</div> |
| 37 | <div class="wp2fa-totp-key-wrapper" id="wp2fa-totp-key-wrapper"> |
| 38 | <input type="text" class="wp2fa-totp-key-input" id="wp2fa-totp-key-input" readonly value="{{ data.totpKey }}" /> |
| 39 | <button type="button" class="wp2fa-totp-key-copy" id="wp2fa-totp-key-copy" aria-label="{{ data.copyKeyLabel }}"> |
| 40 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg> |
| 41 | </button> |
| 42 | </div> |
| 43 | </li> |
| 44 | <li class="wp2fa-totp-step-item" id="wp2fa-totp-step-3">{{ data.step3 }}</li> |
| 45 | </ol> |
| 46 | </div> |
| 47 | </div> |
| 48 | </script> |
| 49 | |
| 50 | <script type="text/html" id="tmpl-wp2fa-totp-setup-footer"> |
| 51 | <a class="wp2fa-wizard-btn wp2fa-wizard-btn-secondary wp-2fa-button-secondary" id="wp2fa-totp-btn-goback" href="#">{{ data.goBackLabel }}</a> |
| 52 | <button class="wp2fa-wizard-btn wp2fa-wizard-btn-primary wp-2fa-button-primary" id="wp2fa-totp-btn-ready" type="button">{{ data.continueLabel }}</button> |
| 53 | </script> |
| 54 |