Skip to content
Snippets Groups Projects
configure.php 1.93 KiB
Newer Older
Rasmus Fuhse's avatar
Rasmus Fuhse committed
<?php

class ConfigureController extends PluginController
{
    public function myarea_action()
    {
Rasmus Fuhse's avatar
Rasmus Fuhse committed
        if (Navigation::hasItem('/files/my_files')) {
            Navigation::activateItem('/files/my_files');
        } elseif (Navigation::hasItem('/contents/files/my_files')) {
            Navigation::activateItem('/contents/files/my_files');
        }
        PageLayout::setTitle(Config::get()->NEXTCLOUD_NAME);
        if (Request::isPost() && Request::submitted("remove")) {
            $config = UserConfig::get($GLOBALS['user']->id);
            $config->unsetValue("NEXTCLOUD_ACCESS_TOKEN");
            $config->unsetValue("NEXTCLOUD_REFRESH_TOKEN");
            $config->unsetValue("NEXTCLOUD_ACTIVATED");
            $config->unsetValue("NEXTCLOUD_ACCESS_TOKEN_EXPIRES");
            PageLayout::postSuccess(sprintf(dgettext('NextcloudPlugin', "Die Zugangsdaten zu %s wurden gelöscht."), Config::get()->NEXTCLOUD_NAME));
            $this->redirect(URLHelper::getURL("dispatch.php/files"));
            return;
        }
Rasmus Fuhse's avatar
Rasmus Fuhse committed
        if (Request::isPost()) {
            $config = UserConfig::get($GLOBALS['user']->id);
            $data = Request::getArray("nextcloud");
Rasmus Fuhse's avatar
Rasmus Fuhse committed
            foreach ($data as $key => $value) {
                $config->store("NEXTCLOUD_" . strtoupper($key) . ($key === "activated" ? "" : "_USER"), $value);
Rasmus Fuhse's avatar
Rasmus Fuhse committed
            }
            if (!$data['activated']) {
                $config->store("NEXTCLOUD_ACTIVATED", 0);
                $this->redirect(URLHelper::getURL("dispatch.php/files"));
            } else {
                if (\Nextcloud\OAuth::hasAccessToken()) {
                    $this->redirect(URLHelper::getURL("dispatch.php/files/system/" . $this->plugin->getPluginId()));
                } else {
                    $this->redirect("oauth/request_access_token");
                }
Rasmus Fuhse's avatar
Rasmus Fuhse committed
            }
            PageLayout::postSuccess(dgettext('NextcloudPlugin', "Die Konfiguration wurde gespeichert."));
Rasmus Fuhse's avatar
Rasmus Fuhse committed
        }
    }