1<?php 2 3namespace dokuwiki\Action; 4 5use dokuwiki\Action\Exception\ActionAbort; 6use dokuwiki\Action\Exception\ActionDisabledException; 7use dokuwiki\Ui; 8 9/** 10 * Class Register 11 * 12 * Self registering a new user 13 * 14 * @package dokuwiki\Action 15 */ 16class Register extends AbstractAclAction 17{ 18 /** @inheritdoc */ 19 public function minimumPermission() 20 { 21 return AUTH_NONE; 22 } 23 24 /** @inheritdoc */ 25 public function checkPreconditions() 26 { 27 parent::checkPreconditions(); 28 29 /** @var \dokuwiki\Extension\AuthPlugin $auth */ 30 global $auth; 31 global $conf; 32 if (isset($conf['openregister']) && !$conf['openregister']) throw new ActionDisabledException(); 33 if (!$auth->canDo('addUser')) throw new ActionDisabledException(); 34 } 35 36 /** @inheritdoc */ 37 public function preProcess() 38 { 39 if (register()) { // FIXME could be moved from auth to here 40 throw new ActionAbort('login'); 41 } 42 } 43 44 /** @inheritdoc */ 45 public function tplContent() 46 { 47 (new Ui\UserRegister)->show(); 48 } 49 50} 51