1877c5a1bSSatoshi Sahara<?php 2877c5a1bSSatoshi Sahara 3877c5a1bSSatoshi Saharanamespace dokuwiki\Ui; 4877c5a1bSSatoshi Sahara 5877c5a1bSSatoshi Saharause dokuwiki\Form\Form; 6877c5a1bSSatoshi Sahara 7877c5a1bSSatoshi Sahara/** 8f9dfcbbeSSatoshi Sahara * DokuWiki User Profile Interface 9877c5a1bSSatoshi Sahara * 10877c5a1bSSatoshi Sahara * @package dokuwiki\Ui 11877c5a1bSSatoshi Sahara */ 12877c5a1bSSatoshi Saharaclass UserProfile extends Ui 13877c5a1bSSatoshi Sahara{ 14877c5a1bSSatoshi Sahara /** 15877c5a1bSSatoshi Sahara * Display the User Profile Form Panel 16877c5a1bSSatoshi Sahara * 17877c5a1bSSatoshi Sahara * @author Andreas Gohr <andi@splitbrain.org> 18877c5a1bSSatoshi Sahara * 19877c5a1bSSatoshi Sahara * @return void 20877c5a1bSSatoshi Sahara */ 21877c5a1bSSatoshi Sahara public function show() 22877c5a1bSSatoshi Sahara { 23877c5a1bSSatoshi Sahara global $lang; 24877c5a1bSSatoshi Sahara global $conf; 25877c5a1bSSatoshi Sahara global $INPUT; 26877c5a1bSSatoshi Sahara global $INFO; 27877c5a1bSSatoshi Sahara /** @var AuthPlugin $auth */ 28877c5a1bSSatoshi Sahara global $auth; 29877c5a1bSSatoshi Sahara 30877c5a1bSSatoshi Sahara // print intro 31877c5a1bSSatoshi Sahara print p_locale_xhtml('updateprofile'); 32628d5475SSatoshi Sahara print '<div class="centeralign">'; 33877c5a1bSSatoshi Sahara 34877c5a1bSSatoshi Sahara $fullname = $INPUT->post->str('fullname', $INFO['userinfo']['name'], true); 35877c5a1bSSatoshi Sahara $email = $INPUT->post->str('email', $INFO['userinfo']['mail'], true); 36877c5a1bSSatoshi Sahara 37877c5a1bSSatoshi Sahara // create the updateprofile form 38877c5a1bSSatoshi Sahara $form = new Form(['id' => 'dw__register']); 39877c5a1bSSatoshi Sahara $form->addTagOpen('div')->addClass('no'); 40877c5a1bSSatoshi Sahara $form->addFieldsetOpen($lang['profile']); 41877c5a1bSSatoshi Sahara $form->setHiddenField('do', 'profile'); 42877c5a1bSSatoshi Sahara $form->setHiddenField('save', '1'); 43877c5a1bSSatoshi Sahara 44877c5a1bSSatoshi Sahara $attr = array('size' => '50', 'disabled' => 'disabled'); 45877c5a1bSSatoshi Sahara $input = $form->addTextInput('login', $lang['user'])->attrs($attr)->addClass('edit') 4683f8872cSSatoshi Sahara ->val($INPUT->server->str('REMOTE_USER')); 47877c5a1bSSatoshi Sahara $input->getLabel()->attr('class', 'block'); 48877c5a1bSSatoshi Sahara $form->addHTML("<br>\n"); 49877c5a1bSSatoshi Sahara 50877c5a1bSSatoshi Sahara $attr = array('size' => '50'); 51877c5a1bSSatoshi Sahara if (!$auth->canDo('modName')) $attr['disabled'] = 'disabled'; 52877c5a1bSSatoshi Sahara $input = $form->addTextInput('fullname', $lang['fullname'])->attrs($attr)->addClass('edit') 53877c5a1bSSatoshi Sahara ->val($fullname); 54877c5a1bSSatoshi Sahara $input->getLabel()->attr('class', 'block'); 55877c5a1bSSatoshi Sahara $form->addHTML("<br>\n"); 56877c5a1bSSatoshi Sahara 57877c5a1bSSatoshi Sahara $attr = array('type' => 'email', 'size' => '50'); 58877c5a1bSSatoshi Sahara if (!$auth->canDo('modMail')) $attr['disabled'] = 'disabled'; 59877c5a1bSSatoshi Sahara $input = $form->addTextInput('email', $lang['email'])->attrs($attr)->addClass('edit') 60877c5a1bSSatoshi Sahara ->val($email); 61877c5a1bSSatoshi Sahara $input->getLabel()->attr('class', 'block'); 62877c5a1bSSatoshi Sahara $form->addHTML("<br>\n"); 63877c5a1bSSatoshi Sahara 64877c5a1bSSatoshi Sahara if ($auth->canDo('modPass')) { 65877c5a1bSSatoshi Sahara $attr = array('size'=>'50'); 66877c5a1bSSatoshi Sahara $input = $form->addPasswordInput('newpass', $lang['newpass'])->attrs($attr)->addClass('edit'); 67877c5a1bSSatoshi Sahara $input->getLabel()->attr('class', 'block'); 68877c5a1bSSatoshi Sahara $form->addHTML("<br>\n"); 69877c5a1bSSatoshi Sahara 70877c5a1bSSatoshi Sahara $input = $form->addPasswordInput('passchk', $lang['passchk'])->attrs($attr)->addClass('edit'); 71877c5a1bSSatoshi Sahara $input->getLabel()->attr('class', 'block'); 72877c5a1bSSatoshi Sahara $form->addHTML("<br>\n"); 73877c5a1bSSatoshi Sahara } 74877c5a1bSSatoshi Sahara 75877c5a1bSSatoshi Sahara if ($conf['profileconfirm']) { 76877c5a1bSSatoshi Sahara $form->addHTML("<br>\n"); 77877c5a1bSSatoshi Sahara $attr = array('size' => '50', 'required' => 'required'); 78877c5a1bSSatoshi Sahara $input = $form->addPasswordInput('oldpass', $lang['oldpass'])->attrs($attr)->addClass('edit'); 79877c5a1bSSatoshi Sahara $input->getLabel()->attr('class', 'block'); 80877c5a1bSSatoshi Sahara $form->addHTML("<br>\n"); 81877c5a1bSSatoshi Sahara } 82877c5a1bSSatoshi Sahara 83877c5a1bSSatoshi Sahara $form->addButton('', $lang['btn_save'])->attr('type', 'submit'); 84877c5a1bSSatoshi Sahara $form->addButton('', $lang['btn_reset'])->attr('type', 'reset'); 85877c5a1bSSatoshi Sahara 86877c5a1bSSatoshi Sahara $form->addFieldsetClose(); 87877c5a1bSSatoshi Sahara $form->addTagClose('div'); 88877c5a1bSSatoshi Sahara 89*c6977b3aSSatoshi Sahara print $form->toHTML('UpdateProfile'); 90877c5a1bSSatoshi Sahara 91877c5a1bSSatoshi Sahara 92877c5a1bSSatoshi Sahara if ($auth->canDo('delUser') && actionOK('profile_delete')) { 93877c5a1bSSatoshi Sahara 94877c5a1bSSatoshi Sahara // create the profiledelete form 95877c5a1bSSatoshi Sahara $form = new Form(['id' => 'dw__profiledelete']); 96877c5a1bSSatoshi Sahara $form->addTagOpen('div')->addClass('no'); 97877c5a1bSSatoshi Sahara $form->addFieldsetOpen($lang['profdeleteuser']); 98877c5a1bSSatoshi Sahara $form->setHiddenField('do', 'profile_delete'); 99877c5a1bSSatoshi Sahara $form->setHiddenField('delete', '1'); 100877c5a1bSSatoshi Sahara 101877c5a1bSSatoshi Sahara $form->addCheckbox('confirm_delete', $lang['profconfdelete']) 102877c5a1bSSatoshi Sahara ->attrs(['required' => 'required']) 103877c5a1bSSatoshi Sahara ->id('dw__confirmdelete') 104877c5a1bSSatoshi Sahara ->val('1'); 105877c5a1bSSatoshi Sahara 106877c5a1bSSatoshi Sahara if ($conf['profileconfirm']) { 107877c5a1bSSatoshi Sahara $form->addHTML("<br>\n"); 108877c5a1bSSatoshi Sahara $attr = array('size' => '50', 'required' => 'required'); 109877c5a1bSSatoshi Sahara $input = $form->addPasswordInput('oldppass', $lang['oldpass'])->attrs($attr) 110877c5a1bSSatoshi Sahara ->addClass('edit'); 111877c5a1bSSatoshi Sahara $input->getLabel()->attr('class', 'block'); 112877c5a1bSSatoshi Sahara $form->addHTML("<br>\n"); 113877c5a1bSSatoshi Sahara } 114877c5a1bSSatoshi Sahara 115877c5a1bSSatoshi Sahara $form->addButton('', $lang['btn_deleteuser'])->attr('type', 'submit'); 116877c5a1bSSatoshi Sahara $form->addFieldsetClose(); 117877c5a1bSSatoshi Sahara $form->addTagClose('div'); 118877c5a1bSSatoshi Sahara 119*c6977b3aSSatoshi Sahara print $form->toHTML('ProfileDelete'); 120877c5a1bSSatoshi Sahara } 121877c5a1bSSatoshi Sahara 122628d5475SSatoshi Sahara print '</div>'; 123877c5a1bSSatoshi Sahara } 124877c5a1bSSatoshi Sahara 125877c5a1bSSatoshi Sahara} 126