You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
- <?php
-
- namespace dokuwiki\Action;
-
- use dokuwiki\Ui\UserRegister;
- use dokuwiki\Action\Exception\ActionAbort;
- use dokuwiki\Action\Exception\ActionDisabledException;
- use dokuwiki\Extension\AuthPlugin;
- use dokuwiki\Ui;
-
- /**
- * Class Register
- *
- * Self registering a new user
- *
- * @package dokuwiki\Action
- */
- class Register extends AbstractAclAction
- {
- /** @inheritdoc */
- public function minimumPermission()
- {
- return AUTH_NONE;
- }
-
- /** @inheritdoc */
- public function checkPreconditions()
- {
- parent::checkPreconditions();
-
- /** @var AuthPlugin $auth */
- global $auth;
- global $conf;
- if (isset($conf['openregister']) && !$conf['openregister']) throw new ActionDisabledException();
- if (!$auth->canDo('addUser')) throw new ActionDisabledException();
- }
-
- /** @inheritdoc */
- public function preProcess()
- {
- if (register()) { // FIXME could be moved from auth to here
- throw new ActionAbort('login');
- }
- }
-
- /** @inheritdoc */
- public function tplContent()
- {
- (new UserRegister())->show();
- }
- }
|