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 * 17*e2d055f5SAndreas Gohr * @return void 18a838eeebSSatoshi Sahara * @author Andreas Gohr <andi@splitbrain.org> 19a838eeebSSatoshi Sahara * 20*e2d055f5SAndreas Gohr * @author Benoit Chesneau <benoit@bchesneau.info> 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 39c6977b3aSSatoshi 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'); 60*e2d055f5SAndreas Gohr 61a838eeebSSatoshi Sahara $input = $form->addPasswordInput('pass', $lang['pass'])->attr('size', '50')->addClass('edit'); 62a838eeebSSatoshi Sahara $input->getLabel()->attr('class', 'block'); 63a838eeebSSatoshi Sahara $form->addHTML("<br>\n"); 64a838eeebSSatoshi Sahara $input = $form->addPasswordInput('passchk', $lang['passchk'])->attr('size', '50')->addClass('edit'); 65a838eeebSSatoshi Sahara $input->getLabel()->attr('class', 'block'); 66a838eeebSSatoshi Sahara $form->addHTML("<br>\n"); 672c210ad7SSatoshi Sahara $form->addButton('', $lang['btn_resendpwd'])->attr('type', 'submit'); 68a838eeebSSatoshi Sahara $form->addFieldsetClose(); 69a838eeebSSatoshi Sahara $form->addTagClose('div'); 702c210ad7SSatoshi Sahara return $form; 712c210ad7SSatoshi Sahara } 722c210ad7SSatoshi Sahara 732c210ad7SSatoshi Sahara /** 742c210ad7SSatoshi Sahara * create a form ui to request new password 752c210ad7SSatoshi Sahara * 762c210ad7SSatoshi Sahara * @return Form 772c210ad7SSatoshi Sahara */ 782c210ad7SSatoshi Sahara protected function formResendPassword() 792c210ad7SSatoshi Sahara { 802c210ad7SSatoshi Sahara global $lang; 812c210ad7SSatoshi Sahara 82a838eeebSSatoshi Sahara // create the form 83a838eeebSSatoshi Sahara $form = new Form(['id' => 'dw__resendpwd']); 84a838eeebSSatoshi Sahara $form->addTagOpen('div')->addClass('no'); 85a838eeebSSatoshi Sahara $form->addFieldsetOpen($lang['btn_resendpwd']); 86a838eeebSSatoshi Sahara $form->setHiddenField('do', 'resendpwd'); 87a838eeebSSatoshi Sahara $form->setHiddenField('save', '1'); 88a838eeebSSatoshi Sahara $form->addHTML("<br>\n"); 89*e2d055f5SAndreas Gohr 902c210ad7SSatoshi Sahara $input = $form->addTextInput('login', $lang['user'])->addClass('edit'); 91a838eeebSSatoshi Sahara $input->getLabel()->attr('class', 'block'); 92a838eeebSSatoshi Sahara $form->addHTML("<br>\n"); 93a838eeebSSatoshi Sahara $form->addHTML("<br>\n"); 942c210ad7SSatoshi Sahara $form->addButton('', $lang['btn_resendpwd'])->attr('type', 'submit'); 95a838eeebSSatoshi Sahara $form->addFieldsetClose(); 96a838eeebSSatoshi Sahara $form->addTagClose('div'); 972c210ad7SSatoshi Sahara return $form; 98a838eeebSSatoshi Sahara } 99a838eeebSSatoshi Sahara 100a838eeebSSatoshi Sahara} 101