1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- <?php
- namespace dokuwiki\Ui;
- use dokuwiki\Form\Form;
- /**
- * DokuWiki Resend Password Request Interface
- *
- * @package dokuwiki\Ui
- */
- class UserResendPwd extends Ui
- {
- /**
- * Display the form to request a new password for an existing account
- *
- * @author Benoit Chesneau <benoit@bchesneau.info>
- * @author Andreas Gohr <andi@splitbrain.org>
- *
- * @return void
- */
- public function show()
- {
- global $conf;
- global $INPUT;
- $token = preg_replace('/[^a-f0-9]+/', '', $INPUT->str('pwauth'));
- // print intro
- print p_locale_xhtml('resetpwd');
- print '<div class="centeralign">';
- if (!$conf['autopasswd'] && $token) {
- $form = $this->formSetNewPassword($token);
- } else {
- $form = $this->formResendPassword();
- }
- print $form->toHTML('ResendPwd');
- print '</div>';
- }
- /**
- * create a form ui to set new password
- *
- * @params string $token cleaned pwauth request variable
- * @return Form
- */
- protected function formSetNewPassword($token)
- {
- global $lang;
- // create the form
- $form = new Form(['id' => 'dw__resendpwd']);
- $form->addTagOpen('div')->addClass('no');
- $form->addFieldsetOpen($lang['btn_resendpwd']);
- $form->setHiddenField('token', $token);
- $form->setHiddenField('do', 'resendpwd');
- $input = $form->addPasswordInput('pass', $lang['pass'])->attr('size', '50')->addClass('edit');
- $input->getLabel()->attr('class', 'block');
- $form->addHTML("<br>\n");
- $input = $form->addPasswordInput('passchk', $lang['passchk'])->attr('size', '50')->addClass('edit');
- $input->getLabel()->attr('class', 'block');
- $form->addHTML("<br>\n");
- $form->addButton('', $lang['btn_resendpwd'])->attr('type', 'submit');
- $form->addFieldsetClose();
- $form->addTagClose('div');
- return $form;
- }
- /**
- * create a form ui to request new password
- *
- * @return Form
- */
- protected function formResendPassword()
- {
- global $lang;
- // create the form
- $form = new Form(['id' => 'dw__resendpwd']);
- $form->addTagOpen('div')->addClass('no');
- $form->addFieldsetOpen($lang['btn_resendpwd']);
- $form->setHiddenField('do', 'resendpwd');
- $form->setHiddenField('save', '1');
- $form->addHTML("<br>\n");
- $input = $form->addTextInput('login', $lang['user'])->addClass('edit');
- $input->getLabel()->attr('class', 'block');
- $form->addHTML("<br>\n");
- $form->addHTML("<br>\n");
- $form->addButton('', $lang['btn_resendpwd'])->attr('type', 'submit');
- $form->addFieldsetClose();
- $form->addTagClose('div');
- return $form;
- }
- }
|