xref: /dokuwiki/inc/Action/Register.php (revision ed28f990b6e1705dab522ad34afa8c02b188dc91)
1f21dad39SAndreas Gohr<?php
2f21dad39SAndreas Gohr
3f21dad39SAndreas Gohrnamespace dokuwiki\Action;
4f21dad39SAndreas Gohr
56723156fSAndreas Gohruse dokuwiki\Ui\UserRegister;
6f21dad39SAndreas Gohruse dokuwiki\Action\Exception\ActionAbort;
7480336a3SAndreas Gohruse dokuwiki\Action\Exception\ActionDisabledException;
82b5a1390SSatoshi Saharause dokuwiki\Ui;
9f21dad39SAndreas Gohr
10ab583a1bSAndreas Gohr/**
11ab583a1bSAndreas Gohr * Class Register
12ab583a1bSAndreas Gohr *
13ab583a1bSAndreas Gohr * Self registering a new user
14ab583a1bSAndreas Gohr *
15ab583a1bSAndreas Gohr * @package dokuwiki\Action
16ab583a1bSAndreas Gohr */
172b5a1390SSatoshi Saharaclass Register extends AbstractAclAction
182b5a1390SSatoshi Sahara{
19f21dad39SAndreas Gohr    /** @inheritdoc */
202b5a1390SSatoshi Sahara    public function minimumPermission()
212b5a1390SSatoshi Sahara    {
22f21dad39SAndreas Gohr        return AUTH_NONE;
23f21dad39SAndreas Gohr    }
24f21dad39SAndreas Gohr
25ab583a1bSAndreas Gohr    /** @inheritdoc */
262b5a1390SSatoshi Sahara    public function checkPreconditions()
272b5a1390SSatoshi Sahara    {
28b2c9cd19SAndreas Gohr        parent::checkPreconditions();
29480336a3SAndreas Gohr
30*ed28f990SAndreas Gohr        // actionOK() bundles the disableactions, legacy openregister and addUser capability checks
31*ed28f990SAndreas Gohr        if (!actionOK('register')) throw new ActionDisabledException();
32480336a3SAndreas Gohr    }
33480336a3SAndreas Gohr
34480336a3SAndreas Gohr    /** @inheritdoc */
352b5a1390SSatoshi Sahara    public function preProcess()
362b5a1390SSatoshi Sahara    {
37f21dad39SAndreas Gohr        if (register()) { // FIXME could be moved from auth to here
38f21dad39SAndreas Gohr            throw new ActionAbort('login');
39f21dad39SAndreas Gohr        }
40f21dad39SAndreas Gohr    }
41f21dad39SAndreas Gohr
42ab583a1bSAndreas Gohr    /** @inheritdoc */
432b5a1390SSatoshi Sahara    public function tplContent()
442b5a1390SSatoshi Sahara    {
4573022918SAndreas Gohr        (new UserRegister())->show();
46f21dad39SAndreas Gohr    }
47f21dad39SAndreas Gohr}
48