1a838eeebSSatoshi Sahara<?php 2a838eeebSSatoshi Sahara 3a838eeebSSatoshi Saharanamespace dokuwiki\Ui; 4a838eeebSSatoshi Sahara 5a838eeebSSatoshi Saharause dokuwiki\Form\Form; 6a838eeebSSatoshi Sahara 7a838eeebSSatoshi Sahara/** 8f9dfcbbeSSatoshi Sahara * DokuWiki Resend Password Request Interface 9a838eeebSSatoshi Sahara * 10a838eeebSSatoshi Sahara * @package dokuwiki\Ui 11a838eeebSSatoshi Sahara */ 12a838eeebSSatoshi Saharaclass UserResendPwd extends Ui 13a838eeebSSatoshi Sahara{ 14a838eeebSSatoshi Sahara /** 15a838eeebSSatoshi Sahara * Display the form to request a new password for an existing account 16a838eeebSSatoshi Sahara * 17a838eeebSSatoshi Sahara * @author Benoit Chesneau <benoit@bchesneau.info> 18a838eeebSSatoshi Sahara * @author Andreas Gohr <andi@splitbrain.org> 19a838eeebSSatoshi Sahara * 20a838eeebSSatoshi Sahara * @return void 21a838eeebSSatoshi Sahara */ 22a838eeebSSatoshi Sahara public function show() 23a838eeebSSatoshi Sahara { 24a838eeebSSatoshi Sahara global $conf; 25a838eeebSSatoshi Sahara global $INPUT; 26a838eeebSSatoshi Sahara 27a838eeebSSatoshi Sahara $token = preg_replace('/[^a-f0-9]+/', '', $INPUT->str('pwauth')); 28a838eeebSSatoshi Sahara 29a838eeebSSatoshi Sahara // print intro 30a838eeebSSatoshi Sahara print p_locale_xhtml('resetpwd'); 312c210ad7SSatoshi Sahara print '<div class="centeralign">'; 32a838eeebSSatoshi Sahara 33a838eeebSSatoshi Sahara if (!$conf['autopasswd'] && $token) { 342c210ad7SSatoshi Sahara $form = $this->formSetNewPassword($token); 352c210ad7SSatoshi Sahara } else { 362c210ad7SSatoshi Sahara $form = $this->formResendPassword(); 372c210ad7SSatoshi Sahara } 382c210ad7SSatoshi Sahara 39*c6977b3aSSatoshi Sahara print $form->toHTML('ResendPwd'); 402c210ad7SSatoshi Sahara 412c210ad7SSatoshi Sahara print '</div>'; 422c210ad7SSatoshi Sahara } 432c210ad7SSatoshi Sahara 442c210ad7SSatoshi Sahara /** 452c210ad7SSatoshi Sahara * create a form ui to set new password 462c210ad7SSatoshi Sahara * 472c210ad7SSatoshi Sahara * @params string $token cleaned pwauth request variable 482c210ad7SSatoshi Sahara * @return Form 492c210ad7SSatoshi Sahara */ 502c210ad7SSatoshi Sahara protected function formSetNewPassword($token) 512c210ad7SSatoshi Sahara { 522c210ad7SSatoshi Sahara global $lang; 532c210ad7SSatoshi Sahara 54a838eeebSSatoshi Sahara // create the form 55a838eeebSSatoshi Sahara $form = new Form(['id' => 'dw__resendpwd']); 56a838eeebSSatoshi Sahara $form->addTagOpen('div')->addClass('no'); 57a838eeebSSatoshi Sahara $form->addFieldsetOpen($lang['btn_resendpwd']); 58a838eeebSSatoshi Sahara $form->setHiddenField('token', $token); 59a838eeebSSatoshi Sahara $form->setHiddenField('do', 'resendpwd'); 60a838eeebSSatoshi Sahara $input = $form->addPasswordInput('pass', $lang['pass'])->attr('size', '50')->addClass('edit'); 61a838eeebSSatoshi Sahara $input->getLabel()->attr('class', 'block'); 62a838eeebSSatoshi Sahara $form->addHTML("<br>\n"); 63a838eeebSSatoshi Sahara $input = $form->addPasswordInput('passchk', $lang['passchk'])->attr('size', '50')->addClass('edit'); 64a838eeebSSatoshi Sahara $input->getLabel()->attr('class', 'block'); 65a838eeebSSatoshi Sahara $form->addHTML("<br>\n"); 662c210ad7SSatoshi Sahara $form->addButton('', $lang['btn_resendpwd'])->attr('type', 'submit'); 67a838eeebSSatoshi Sahara $form->addFieldsetClose(); 68a838eeebSSatoshi Sahara $form->addTagClose('div'); 692c210ad7SSatoshi Sahara return $form; 702c210ad7SSatoshi Sahara } 712c210ad7SSatoshi Sahara 722c210ad7SSatoshi Sahara /** 732c210ad7SSatoshi Sahara * create a form ui to request new password 742c210ad7SSatoshi Sahara * 752c210ad7SSatoshi Sahara * @return Form 762c210ad7SSatoshi Sahara */ 772c210ad7SSatoshi Sahara protected function formResendPassword() 782c210ad7SSatoshi Sahara { 792c210ad7SSatoshi Sahara global $lang; 802c210ad7SSatoshi Sahara 81a838eeebSSatoshi Sahara // create the form 82a838eeebSSatoshi Sahara $form = new Form(['id' => 'dw__resendpwd']); 83a838eeebSSatoshi Sahara $form->addTagOpen('div')->addClass('no'); 84a838eeebSSatoshi Sahara $form->addFieldsetOpen($lang['btn_resendpwd']); 85a838eeebSSatoshi Sahara $form->setHiddenField('do', 'resendpwd'); 86a838eeebSSatoshi Sahara $form->setHiddenField('save', '1'); 87a838eeebSSatoshi Sahara $form->addHTML("<br>\n"); 882c210ad7SSatoshi Sahara $input = $form->addTextInput('login', $lang['user'])->addClass('edit'); 89a838eeebSSatoshi Sahara $input->getLabel()->attr('class', 'block'); 90a838eeebSSatoshi Sahara $form->addHTML("<br>\n"); 91a838eeebSSatoshi Sahara $form->addHTML("<br>\n"); 922c210ad7SSatoshi Sahara $form->addButton('', $lang['btn_resendpwd'])->attr('type', 'submit'); 93a838eeebSSatoshi Sahara $form->addFieldsetClose(); 94a838eeebSSatoshi Sahara $form->addTagClose('div'); 952c210ad7SSatoshi Sahara return $form; 96a838eeebSSatoshi Sahara } 97a838eeebSSatoshi Sahara 98a838eeebSSatoshi Sahara} 99