xref: /dokuwiki/inc/Action/Profile.php (revision 79a2d7845d5e5e48fe3be8f192717de9294aaba5)
1f21dad39SAndreas Gohr<?php
2f21dad39SAndreas Gohr
3f21dad39SAndreas Gohrnamespace dokuwiki\Action;
4f21dad39SAndreas Gohr
5f21dad39SAndreas Gohruse dokuwiki\Action\Exception\ActionAbort;
6480336a3SAndreas Gohruse dokuwiki\Action\Exception\ActionDisabledException;
7*79a2d784SGerrit Uitslaguse dokuwiki\Extension\AuthPlugin;
8877c5a1bSSatoshi Saharause dokuwiki\Ui;
9f21dad39SAndreas Gohr
10ab583a1bSAndreas Gohr/**
11ab583a1bSAndreas Gohr * Class Profile
12ab583a1bSAndreas Gohr *
13ab583a1bSAndreas Gohr * Handle the profile form
14ab583a1bSAndreas Gohr *
15ab583a1bSAndreas Gohr * @package dokuwiki\Action
16ab583a1bSAndreas Gohr */
17877c5a1bSSatoshi Saharaclass Profile extends AbstractUserAction
18877c5a1bSSatoshi Sahara{
19f21dad39SAndreas Gohr    /** @inheritdoc */
20877c5a1bSSatoshi Sahara    public function minimumPermission()
21877c5a1bSSatoshi Sahara    {
22f21dad39SAndreas Gohr        return AUTH_NONE;
23f21dad39SAndreas Gohr    }
24f21dad39SAndreas Gohr
25ab583a1bSAndreas Gohr    /** @inheritdoc */
26877c5a1bSSatoshi Sahara    public function checkPreconditions()
27877c5a1bSSatoshi Sahara    {
28b2c9cd19SAndreas Gohr        parent::checkPreconditions();
29480336a3SAndreas Gohr
30*79a2d784SGerrit Uitslag        /** @var AuthPlugin $auth */
31480336a3SAndreas Gohr        global $auth;
32480336a3SAndreas Gohr        if(!$auth->canDo('Profile')) throw new ActionDisabledException();
33480336a3SAndreas Gohr    }
34480336a3SAndreas Gohr
35480336a3SAndreas Gohr    /** @inheritdoc */
36877c5a1bSSatoshi Sahara    public function preProcess()
37877c5a1bSSatoshi Sahara    {
38f21dad39SAndreas Gohr        global $lang;
39f21dad39SAndreas Gohr        if (updateprofile()) {
40f21dad39SAndreas Gohr            msg($lang['profchanged'], 1);
41f21dad39SAndreas Gohr            throw new ActionAbort('show');
42f21dad39SAndreas Gohr        }
43f21dad39SAndreas Gohr    }
44f21dad39SAndreas Gohr
45ab583a1bSAndreas Gohr    /** @inheritdoc */
46877c5a1bSSatoshi Sahara    public function tplContent()
47877c5a1bSSatoshi Sahara    {
48877c5a1bSSatoshi Sahara        (new Ui\UserProfile)->show();
49f21dad39SAndreas Gohr    }
50f21dad39SAndreas Gohr
51f21dad39SAndreas Gohr}
52