19cf9796dSSatoshi Sahara<?php 29cf9796dSSatoshi Sahara 39cf9796dSSatoshi Saharanamespace dokuwiki\Ui; 49cf9796dSSatoshi Sahara 59cf9796dSSatoshi Saharause dokuwiki\Form\Form; 69cf9796dSSatoshi Sahara 79cf9796dSSatoshi Sahara/** 8e4286a88SSatoshi Sahara * DokuWiki User Login Interface (Login Form) 99cf9796dSSatoshi Sahara * 109cf9796dSSatoshi Sahara * @package dokuwiki\Ui 119cf9796dSSatoshi Sahara */ 129cf9796dSSatoshi Saharaclass Login extends Ui 139cf9796dSSatoshi Sahara{ 14e4286a88SSatoshi Sahara protected $showIcon = false; 15e4286a88SSatoshi Sahara 16e4286a88SSatoshi Sahara /** 17e4286a88SSatoshi Sahara * Login Ui constructor 18e4286a88SSatoshi Sahara * 19e4286a88SSatoshi Sahara * @param bool $showIcon Whether to show svg icons in the register and resendpwd links or not 20e4286a88SSatoshi Sahara */ 21e4286a88SSatoshi Sahara public function __construct($showIcon = false) 22e4286a88SSatoshi Sahara { 23e4286a88SSatoshi Sahara $this->showIcon = (bool)$showIcon; 24e4286a88SSatoshi Sahara } 25e4286a88SSatoshi Sahara 269cf9796dSSatoshi Sahara /** 279cf9796dSSatoshi Sahara * Display the Login Form Panel 289cf9796dSSatoshi Sahara * 299cf9796dSSatoshi Sahara * @author Andreas Gohr <andi@splitbrain.org> 309cf9796dSSatoshi Sahara * 319cf9796dSSatoshi Sahara * @return void 329cf9796dSSatoshi Sahara */ 33e4286a88SSatoshi Sahara public function show() 349cf9796dSSatoshi Sahara { 359cf9796dSSatoshi Sahara global $lang; 369cf9796dSSatoshi Sahara global $conf; 379cf9796dSSatoshi Sahara global $ID; 389cf9796dSSatoshi Sahara global $INPUT; 399cf9796dSSatoshi Sahara 409cf9796dSSatoshi Sahara // print intro 419cf9796dSSatoshi Sahara print p_locale_xhtml('login'); 429cf9796dSSatoshi Sahara print '<div class="centeralign">'.NL; 439cf9796dSSatoshi Sahara 449cf9796dSSatoshi Sahara // create the login form 451e6e7b77SSatoshi Sahara $form = new Form(['id' => 'dw__login', 'action' => wl($ID)]); 469cf9796dSSatoshi Sahara $form->addTagOpen('div')->addClass('no'); 479cf9796dSSatoshi Sahara $form->addFieldsetOpen($lang['btn_login']); 489cf9796dSSatoshi Sahara $form->setHiddenField('id', $ID); 499cf9796dSSatoshi Sahara $form->setHiddenField('do', 'login'); 509cf9796dSSatoshi Sahara 519cf9796dSSatoshi Sahara $input = $form->addTextInput('u', $lang['user'])->id('focus__this')->addClass('edit') 529cf9796dSSatoshi Sahara ->val((!$INPUT->bool('http_credentials')) ? $INPUT->str('u') : ''); 539cf9796dSSatoshi Sahara $input->getLabel()->attr('class', 'block'); 549cf9796dSSatoshi Sahara $form->addHTML("<br>\n"); 559cf9796dSSatoshi Sahara 569cf9796dSSatoshi Sahara $input = $form->addPasswordInput('p', $lang['pass'])->addClass('block edit'); 579cf9796dSSatoshi Sahara $input->getLabel()->attr('class', 'block'); 589cf9796dSSatoshi Sahara $form->addHTML("<br>\n"); 599cf9796dSSatoshi Sahara 609cf9796dSSatoshi Sahara if ($conf['rememberme']) { 619cf9796dSSatoshi Sahara $form->addCheckbox('r', $lang['remember'])->id('remember__me')->val('1'); 629cf9796dSSatoshi Sahara } 639cf9796dSSatoshi Sahara $form->addButton('', $lang['btn_login'])->attr('type', 'submit'); 649cf9796dSSatoshi Sahara $form->addFieldsetClose(); 659cf9796dSSatoshi Sahara $form->addTagClose('div'); 669cf9796dSSatoshi Sahara 679cf9796dSSatoshi Sahara if(actionOK('register')){ 68e4286a88SSatoshi Sahara $registerLink = (new \dokuwiki\Menu\Item\Register())->asHtmlLink('', $this->showIcon); 699cf9796dSSatoshi Sahara $form->addHTML('<p>'.$lang['reghere'].': '. $registerLink .'</p>'); 709cf9796dSSatoshi Sahara } 719cf9796dSSatoshi Sahara 729cf9796dSSatoshi Sahara if (actionOK('resendpwd')) { 73e4286a88SSatoshi Sahara $resendPwLink = (new \dokuwiki\Menu\Item\Resendpwd())->asHtmlLink('', $this->showIcon); 749cf9796dSSatoshi Sahara $form->addHTML('<p>'.$lang['pwdforget'].': '. $resendPwLink .'</p>'); 759cf9796dSSatoshi Sahara } 769cf9796dSSatoshi Sahara 77*c6977b3aSSatoshi Sahara print $form->toHTML('Login'); 789cf9796dSSatoshi Sahara 79628d5475SSatoshi Sahara print '</div>'; 809cf9796dSSatoshi Sahara } 819cf9796dSSatoshi Sahara 829cf9796dSSatoshi Sahara} 83