xref: /plugin/twofactor/OtpField.php (revision a01d09a89e31f5aece2ef0d49fbc9704ef99a198)
1*a01d09a8SAndreas Gohr<?php
2*a01d09a8SAndreas Gohr
3*a01d09a8SAndreas Gohrnamespace dokuwiki\plugin\twofactor;
4*a01d09a8SAndreas Gohr
5*a01d09a8SAndreas Gohruse dokuwiki\Form\InputElement;
6*a01d09a8SAndreas Gohr
7*a01d09a8SAndreas Gohr/**
8*a01d09a8SAndreas Gohr * A Form field for OTP codes
9*a01d09a8SAndreas Gohr *
10*a01d09a8SAndreas Gohr * Providers should use this field when asking for the code
11*a01d09a8SAndreas Gohr */
12*a01d09a8SAndreas Gohrclass OtpField extends InputElement
13*a01d09a8SAndreas Gohr{
14*a01d09a8SAndreas Gohr
15*a01d09a8SAndreas Gohr    /** @inheritdoc */
16*a01d09a8SAndreas Gohr    public function __construct($name, $label = '')
17*a01d09a8SAndreas Gohr    {
18*a01d09a8SAndreas Gohr        if ($label === '') {
19*a01d09a8SAndreas Gohr            $label = (Manager::getInstance())->getLang('otp');
20*a01d09a8SAndreas Gohr        }
21*a01d09a8SAndreas Gohr        parent::__construct('password', $name, $label);
22*a01d09a8SAndreas Gohr
23*a01d09a8SAndreas Gohr        $this->attr('autofocus', 'on');
24*a01d09a8SAndreas Gohr        $this->attr('autocomplete', 'one-time-code');
25*a01d09a8SAndreas Gohr        $this->attr('inputmode', 'numeric');
26*a01d09a8SAndreas Gohr        $this->useInput(false);
27*a01d09a8SAndreas Gohr    }
28*a01d09a8SAndreas Gohr
29*a01d09a8SAndreas Gohr}
30