xref: /dokuwiki/inc/Action/Profile.php (revision 877c5a1b1bcf5f6749f0d251c3a871e36863c1f7)
1f21dad39SAndreas Gohr<?php
2f21dad39SAndreas Gohr
3f21dad39SAndreas Gohrnamespace dokuwiki\Action;
4f21dad39SAndreas Gohr
5f21dad39SAndreas Gohruse dokuwiki\Action\Exception\ActionAbort;
6480336a3SAndreas Gohruse dokuwiki\Action\Exception\ActionDisabledException;
7*877c5a1bSSatoshi Saharause dokuwiki\Ui;
8f21dad39SAndreas Gohr
9ab583a1bSAndreas Gohr/**
10ab583a1bSAndreas Gohr * Class Profile
11ab583a1bSAndreas Gohr *
12ab583a1bSAndreas Gohr * Handle the profile form
13ab583a1bSAndreas Gohr *
14ab583a1bSAndreas Gohr * @package dokuwiki\Action
15ab583a1bSAndreas Gohr */
16*877c5a1bSSatoshi Saharaclass Profile extends AbstractUserAction
17*877c5a1bSSatoshi Sahara{
18f21dad39SAndreas Gohr    /** @inheritdoc */
19*877c5a1bSSatoshi Sahara    public function minimumPermission()
20*877c5a1bSSatoshi Sahara    {
21f21dad39SAndreas Gohr        return AUTH_NONE;
22f21dad39SAndreas Gohr    }
23f21dad39SAndreas Gohr
24ab583a1bSAndreas Gohr    /** @inheritdoc */
25*877c5a1bSSatoshi Sahara    public function checkPreconditions()
26*877c5a1bSSatoshi Sahara    {
27b2c9cd19SAndreas Gohr        parent::checkPreconditions();
28480336a3SAndreas Gohr
29e1d9dcc8SAndreas Gohr        /** @var \dokuwiki\Extension\AuthPlugin $auth */
30480336a3SAndreas Gohr        global $auth;
31480336a3SAndreas Gohr        if(!$auth->canDo('Profile')) throw new ActionDisabledException();
32480336a3SAndreas Gohr    }
33480336a3SAndreas Gohr
34480336a3SAndreas Gohr    /** @inheritdoc */
35*877c5a1bSSatoshi Sahara    public function preProcess()
36*877c5a1bSSatoshi Sahara    {
37f21dad39SAndreas Gohr        global $lang;
38f21dad39SAndreas Gohr        if (updateprofile()) {
39f21dad39SAndreas Gohr            msg($lang['profchanged'], 1);
40f21dad39SAndreas Gohr            throw new ActionAbort('show');
41f21dad39SAndreas Gohr        }
42f21dad39SAndreas Gohr    }
43f21dad39SAndreas Gohr
44ab583a1bSAndreas Gohr    /** @inheritdoc */
45*877c5a1bSSatoshi Sahara    public function tplContent()
46*877c5a1bSSatoshi Sahara    {
47*877c5a1bSSatoshi Sahara        (new Ui\UserProfile)->show();
48f21dad39SAndreas Gohr    }
49f21dad39SAndreas Gohr
50f21dad39SAndreas Gohr}
51