Failed Conditions
Pull Request — master (#3198)
by
unknown
03:26
created

UserResendPwd   A

Complexity

Total Complexity 5

Size/Duplication

Total Lines 89
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 5

Importance

Changes 0
Metric Value
dl 0
loc 89
rs 10
c 0
b 0
f 0
wmc 5
lcom 0
cbo 5

3 Methods

Rating   Name   Duplication   Size   Complexity  
A show() 0 22 3
A formSetNewPassword() 0 21 1
A formResendPassword() 0 20 1
1
<?php
2
3
namespace dokuwiki\Ui;
4
5
use dokuwiki\Extension\Event;
6
use dokuwiki\Form\Form;
7
8
/**
9
 * DokuWiki Resend Password Request Interface
10
 *
11
 * @package dokuwiki\Ui
12
 */
13
class UserResendPwd extends Ui
14
{
15
    /**
16
     * Display the form to request a new password for an existing account
17
     *
18
     * @author   Benoit Chesneau <[email protected]>
19
     * @author   Andreas Gohr <[email protected]>
20
     *
21
     * @triggers HTMLFORM_RESENDPWD_OUTPUT
22
     * @return void
23
     */
24
    public function show()
25
    {
26
        global $conf;
27
        global $INPUT;
28
29
        $token = preg_replace('/[^a-f0-9]+/', '', $INPUT->str('pwauth'));
30
31
        // print intro
32
        print p_locale_xhtml('resetpwd');
33
        print '<div class="centeralign">';
34
35
        if (!$conf['autopasswd'] && $token) {
36
            $form = $this->formSetNewPassword($token);
37
        } else {
38
            $form = $this->formResendPassword();
39
        }
40
41
        //print form that might be modified by HTMLFORM_RESENDPWD_OUTPUT event handlers
42
        print $form->toHTML('resendpwd');
43
44
        print '</div>';
45
    }
46
47
    /**
48
     * create a form ui to set new password
49
     *
50
     * @params string $token  cleaned pwauth request variable
51
     * @return Form
52
     */
53
    protected function formSetNewPassword($token)
54
    {
55
        global $lang;
56
57
        // create the form
58
        $form = new Form(['id' => 'dw__resendpwd']);
59
        $form->addTagOpen('div')->addClass('no');
60
        $form->addFieldsetOpen($lang['btn_resendpwd']);
61
        $form->setHiddenField('token', $token);
62
        $form->setHiddenField('do', 'resendpwd');
63
        $input = $form->addPasswordInput('pass', $lang['pass'])->attr('size', '50')->addClass('edit');
64
        $input->getLabel()->attr('class', 'block');
65
        $form->addHTML("<br>\n");
66
        $input = $form->addPasswordInput('passchk', $lang['passchk'])->attr('size', '50')->addClass('edit');
67
        $input->getLabel()->attr('class', 'block');
68
        $form->addHTML("<br>\n");
69
        $form->addButton('', $lang['btn_resendpwd'])->attr('type', 'submit');
70
        $form->addFieldsetClose();
71
        $form->addTagClose('div');
72
        return $form;
73
    }
74
75
    /**
76
     * create a form ui to request new password
77
     *
78
     * @return Form
79
     */
80
    protected function formResendPassword()
81
    {
82
        global $lang;
83
84
        // create the form
85
        $form = new Form(['id' => 'dw__resendpwd']);
86
        $form->addTagOpen('div')->addClass('no');
87
        $form->addFieldsetOpen($lang['btn_resendpwd']);
88
        $form->setHiddenField('do', 'resendpwd');
89
        $form->setHiddenField('save', '1');
90
        $form->addHTML("<br>\n");
91
        $input = $form->addTextInput('login', $lang['user'])->addClass('edit');
92
        $input->getLabel()->attr('class', 'block');
93
        $form->addHTML("<br>\n");
94
        $form->addHTML("<br>\n");
95
        $form->addButton('', $lang['btn_resendpwd'])->attr('type', 'submit');
96
        $form->addFieldsetClose();
97
        $form->addTagClose('div');
98
        return $form;
99
    }
100
101
}
102