From 6c5282138979a7d56feeb5d38462761f1102f1d1 Mon Sep 17 00:00:00 2001 From: Michael Weimann Date: Tue, 29 Jan 2019 19:42:12 +0100 Subject: [PATCH] Make the where is your data section optional Signed-off-by: Michael Weimann --- .../Settings/Personal/PersonalInfo.php | 31 +++++++++++++++---- .../settings/personal/personal.info.php | 6 +++- 2 files changed, 30 insertions(+), 7 deletions(-) diff --git a/lib/private/Settings/Personal/PersonalInfo.php b/lib/private/Settings/Personal/PersonalInfo.php index 306e5271d8..c018ea80de 100644 --- a/lib/private/Settings/Personal/PersonalInfo.php +++ b/lib/private/Settings/Personal/PersonalInfo.php @@ -116,9 +116,6 @@ class PersonalInfo implements ISettings { $localeParameters = $this->getLocales($user); $messageParameters = $this->getMessageParameters($userData); - $adminContactConfigId = $this->config->getSystemValue(ServerInfo::SETTING_PROVIDER_ADMIN_CONTACT); - $adminContact = $this->userManager->get($adminContactConfigId); - $parameters = [ 'total_space' => $totalSpace, 'usage' => \OC_Helper::humanFileSize($storageInfo['used']), @@ -144,16 +141,38 @@ class PersonalInfo implements ISettings { 'twitterScope' => $userData[AccountManager::PROPERTY_TWITTER]['scope'], 'twitterVerification' => $userData[AccountManager::PROPERTY_TWITTER]['verified'], 'groups' => $this->getGroups($user), + ] + $this->getWhereIsYourDataParams() + $messageParameters + $languageParameters + $localeParameters; + + return new TemplateResponse('settings', 'settings/personal/personal.info', $parameters, ''); + } + + /** + * Returns the "where is your data" template params. + * + * @return array + */ + private function getWhereIsYourDataParams() { + + $adminContactConfigId = $this->config->getSystemValue(ServerInfo::SETTING_PROVIDER_ADMIN_CONTACT); + $adminContact = $this->userManager->get($adminContactConfigId); + + $params = [ 'dataLocation' => $this->config->getSystemValue(ServerInfo::SETTING_LOCATION), 'provider' => $this->config->getSystemValue(ServerInfo::SETTING_PROVIDER), 'providerLink' => $this->config->getSystemValue(ServerInfo::SETTING_PROVIDER_WEBSITE), 'providerPrivacyLink' => $this->config->getSystemValue(ServerInfo::SETTING_PROVIDER_PRIVACY_LINK), 'encryptionEnabled' => $this->encryptionManager->isEnabled(), 'adminName' => $adminContact !== null ? $adminContact->getDisplayName() : '', - 'adminMail' => $adminContact !== null ? $adminContact->getEMailAddress() : '', - ] + $messageParameters + $languageParameters + $localeParameters; + 'adminMail' => $adminContact !== null ? $adminContact->getEMailAddress() : '' + ]; + + $params['show_where_is_your_data_section'] = empty($params['dataLocation']) === false + || empty($params['provider']) === false + || $params['encryptionEnabled'] === true + || empty($params['adminName']) === false; + + return $params; - return new TemplateResponse('settings', 'settings/personal/personal.info', $parameters, ''); } /** diff --git a/settings/templates/settings/personal/personal.info.php b/settings/templates/settings/personal/personal.info.php index 5743777b4b..a6e3eaf345 100644 --- a/settings/templates/settings/personal/personal.info.php +++ b/settings/templates/settings/personal/personal.info.php @@ -95,7 +95,11 @@ script('settings', [ 80): ?> class="warn" > - +