19cf9796dSSatoshi Sahara<?php 29cf9796dSSatoshi Sahara 39cf9796dSSatoshi Saharanamespace dokuwiki\Ui; 49cf9796dSSatoshi Sahara 59cf9796dSSatoshi Saharause dokuwiki\Form\Form; 6e2d055f5SAndreas Gohruse dokuwiki\Menu\Item\Register; 7e2d055f5SAndreas Gohruse dokuwiki\Menu\Item\Resendpwd; 89cf9796dSSatoshi Sahara 99cf9796dSSatoshi Sahara/** 10e4286a88SSatoshi Sahara * DokuWiki User Login Interface (Login Form) 119cf9796dSSatoshi Sahara * 129cf9796dSSatoshi Sahara * @package dokuwiki\Ui 139cf9796dSSatoshi Sahara */ 149cf9796dSSatoshi Saharaclass Login extends Ui 159cf9796dSSatoshi Sahara{ 16e4286a88SSatoshi Sahara protected $showIcon = false; 17e4286a88SSatoshi Sahara 18e4286a88SSatoshi Sahara /** 19e4286a88SSatoshi Sahara * Login Ui constructor 20e4286a88SSatoshi Sahara * 21e4286a88SSatoshi Sahara * @param bool $showIcon Whether to show svg icons in the register and resendpwd links or not 22e4286a88SSatoshi Sahara */ 23e4286a88SSatoshi Sahara public function __construct($showIcon = false) 24e4286a88SSatoshi Sahara { 25e4286a88SSatoshi Sahara $this->showIcon = (bool)$showIcon; 26e4286a88SSatoshi Sahara } 27e4286a88SSatoshi Sahara 289cf9796dSSatoshi Sahara /** 299cf9796dSSatoshi Sahara * Display the Login Form Panel 309cf9796dSSatoshi Sahara * 31e2d055f5SAndreas Gohr * @return void 329cf9796dSSatoshi Sahara * @author Andreas Gohr <andi@splitbrain.org> 339cf9796dSSatoshi Sahara * 349cf9796dSSatoshi Sahara */ 35e4286a88SSatoshi Sahara public function show() 369cf9796dSSatoshi Sahara { 379cf9796dSSatoshi Sahara global $lang; 389cf9796dSSatoshi Sahara global $conf; 399cf9796dSSatoshi Sahara global $ID; 409cf9796dSSatoshi Sahara global $INPUT; 419cf9796dSSatoshi Sahara 429cf9796dSSatoshi Sahara // print intro 43*26dfc232SAndreas Gohr echo p_locale_xhtml('login'); 44*26dfc232SAndreas Gohr echo '<div class="centeralign">' . NL; 459cf9796dSSatoshi Sahara 469cf9796dSSatoshi Sahara // create the login form 471e6e7b77SSatoshi Sahara $form = new Form(['id' => 'dw__login', 'action' => wl($ID)]); 489cf9796dSSatoshi Sahara $form->addTagOpen('div')->addClass('no'); 499cf9796dSSatoshi Sahara $form->addFieldsetOpen($lang['btn_login']); 509cf9796dSSatoshi Sahara $form->setHiddenField('id', $ID); 519cf9796dSSatoshi Sahara $form->setHiddenField('do', 'login'); 529cf9796dSSatoshi Sahara 539cf9796dSSatoshi Sahara $input = $form->addTextInput('u', $lang['user'])->id('focus__this')->addClass('edit') 54e2d055f5SAndreas Gohr ->val(($INPUT->bool('http_credentials')) ? '' : $INPUT->str('u')); 559cf9796dSSatoshi Sahara $input->getLabel()->attr('class', 'block'); 569cf9796dSSatoshi Sahara $form->addHTML("<br>\n"); 579cf9796dSSatoshi Sahara 589cf9796dSSatoshi Sahara $input = $form->addPasswordInput('p', $lang['pass'])->addClass('block edit'); 599cf9796dSSatoshi Sahara $input->getLabel()->attr('class', 'block'); 609cf9796dSSatoshi Sahara $form->addHTML("<br>\n"); 619cf9796dSSatoshi Sahara 629cf9796dSSatoshi Sahara if ($conf['rememberme']) { 639cf9796dSSatoshi Sahara $form->addCheckbox('r', $lang['remember'])->id('remember__me')->val('1'); 649cf9796dSSatoshi Sahara } 659cf9796dSSatoshi Sahara $form->addButton('', $lang['btn_login'])->attr('type', 'submit'); 669cf9796dSSatoshi Sahara $form->addFieldsetClose(); 679cf9796dSSatoshi Sahara $form->addTagClose('div'); 689cf9796dSSatoshi Sahara 699cf9796dSSatoshi Sahara if (actionOK('register')) { 70e2d055f5SAndreas Gohr $registerLink = (new Register())->asHtmlLink('', $this->showIcon); 719cf9796dSSatoshi Sahara $form->addHTML('<p>' . $lang['reghere'] . ': ' . $registerLink . '</p>'); 729cf9796dSSatoshi Sahara } 739cf9796dSSatoshi Sahara 749cf9796dSSatoshi Sahara if (actionOK('resendpwd')) { 75e2d055f5SAndreas Gohr $resendPwLink = (new Resendpwd())->asHtmlLink('', $this->showIcon); 769cf9796dSSatoshi Sahara $form->addHTML('<p>' . $lang['pwdforget'] . ': ' . $resendPwLink . '</p>'); 779cf9796dSSatoshi Sahara } 789cf9796dSSatoshi Sahara 79*26dfc232SAndreas Gohr echo $form->toHTML('Login'); 809cf9796dSSatoshi Sahara 81*26dfc232SAndreas Gohr echo '</div>'; 829cf9796dSSatoshi Sahara } 839cf9796dSSatoshi Sahara} 84