Add the "where is your data?" frontend
Signed-off-by: Michael Weimann <mail@michael-weimann.eu>
This commit is contained in:
parent
71e26d12c0
commit
107fab9dfa
|
@ -60,11 +60,11 @@ a {
|
||||||
* {
|
* {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
a.external {
|
&.external {
|
||||||
margin: 0 3px;
|
margin: 0 3px;
|
||||||
text-decoration: underline;
|
text-decoration: underline;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
input {
|
input {
|
||||||
|
|
|
@ -38,6 +38,7 @@ use OCP\IUser;
|
||||||
use OCP\IUserManager;
|
use OCP\IUserManager;
|
||||||
use OCP\L10N\IFactory;
|
use OCP\L10N\IFactory;
|
||||||
use OCP\Settings\ISettings;
|
use OCP\Settings\ISettings;
|
||||||
|
use OCP\Encryption\IManager as EncryptionManager;
|
||||||
|
|
||||||
class PersonalInfo implements ISettings {
|
class PersonalInfo implements ISettings {
|
||||||
|
|
||||||
|
@ -55,6 +56,8 @@ class PersonalInfo implements ISettings {
|
||||||
private $l10nFactory;
|
private $l10nFactory;
|
||||||
/** @var IL10N */
|
/** @var IL10N */
|
||||||
private $l;
|
private $l;
|
||||||
|
/** @var EncryptionManager */
|
||||||
|
private $encryptionManager;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param IConfig $config
|
* @param IConfig $config
|
||||||
|
@ -71,7 +74,8 @@ class PersonalInfo implements ISettings {
|
||||||
AccountManager $accountManager,
|
AccountManager $accountManager,
|
||||||
IAppManager $appManager,
|
IAppManager $appManager,
|
||||||
IFactory $l10nFactory,
|
IFactory $l10nFactory,
|
||||||
IL10N $l
|
IL10N $l,
|
||||||
|
EncryptionManager $encryptionManager
|
||||||
) {
|
) {
|
||||||
$this->config = $config;
|
$this->config = $config;
|
||||||
$this->userManager = $userManager;
|
$this->userManager = $userManager;
|
||||||
|
@ -80,6 +84,7 @@ class PersonalInfo implements ISettings {
|
||||||
$this->appManager = $appManager;
|
$this->appManager = $appManager;
|
||||||
$this->l10nFactory = $l10nFactory;
|
$this->l10nFactory = $l10nFactory;
|
||||||
$this->l = $l;
|
$this->l = $l;
|
||||||
|
$this->encryptionManager = $encryptionManager;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -135,9 +140,15 @@ class PersonalInfo implements ISettings {
|
||||||
'twitterScope' => $userData[AccountManager::PROPERTY_TWITTER]['scope'],
|
'twitterScope' => $userData[AccountManager::PROPERTY_TWITTER]['scope'],
|
||||||
'twitterVerification' => $userData[AccountManager::PROPERTY_TWITTER]['verified'],
|
'twitterVerification' => $userData[AccountManager::PROPERTY_TWITTER]['verified'],
|
||||||
'groups' => $this->getGroups($user),
|
'groups' => $this->getGroups($user),
|
||||||
|
'dataLocation' => 'Germany',
|
||||||
|
'provider' => 'Hetzner Online GmbH',
|
||||||
|
'providerLink' => 'https://www.hetzner.de/',
|
||||||
|
'providerPrivacyLink' => 'https://www.hetzner.de/rechtliches/datenschutz',
|
||||||
|
'encryptionEnabled' => true || $this->encryptionManager->isEnabled(),
|
||||||
|
'adminName' => 'Michael Weimann',
|
||||||
|
'adminMail' => 'mail@michael-weimann.eu'
|
||||||
] + $messageParameters + $languageParameters + $localeParameters;
|
] + $messageParameters + $languageParameters + $localeParameters;
|
||||||
|
|
||||||
|
|
||||||
return new TemplateResponse('settings', 'settings/personal/personal.info', $parameters, '');
|
return new TemplateResponse('settings', 'settings/personal/personal.info', $parameters, '');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -98,6 +98,7 @@ input {
|
||||||
|
|
||||||
#personal-settings-avatar-container {
|
#personal-settings-avatar-container {
|
||||||
display: inline-grid;
|
display: inline-grid;
|
||||||
|
grid-row: span 3;
|
||||||
grid-template-columns: 1fr;
|
grid-template-columns: 1fr;
|
||||||
grid-template-rows: 2fr 1fr;
|
grid-template-rows: 2fr 1fr;
|
||||||
vertical-align: top;
|
vertical-align: top;
|
||||||
|
@ -178,6 +179,15 @@ select {
|
||||||
grid-template-columns: 1fr;
|
grid-template-columns: 1fr;
|
||||||
#personal-settings-avatar-container {
|
#personal-settings-avatar-container {
|
||||||
grid-template-rows: 1fr;
|
grid-template-rows: 1fr;
|
||||||
|
|
||||||
|
// swap "Where is my data" and "Detail"
|
||||||
|
*:nth-child(2) {
|
||||||
|
order: 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
*:nth-child(3) {
|
||||||
|
order: 2;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.personal-settings-container {
|
.personal-settings-container {
|
||||||
grid-template-columns: 1fr 1fr;
|
grid-template-columns: 1fr 1fr;
|
||||||
|
@ -1614,3 +1624,10 @@ doesnotexist:-o-prefocus, .strengthify-wrapper {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.where-is-your-data {
|
||||||
|
// @todo replace by common Nextcloud link style as soon as available
|
||||||
|
a {
|
||||||
|
border-bottom: 1px dotted;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,76 @@
|
||||||
|
<div class="personal-settings-setting-box personal-settings-group-box section where-is-your-data">
|
||||||
|
<h3>
|
||||||
|
<?php p($l->t('Where is your data?')); ?>
|
||||||
|
<a
|
||||||
|
target="_blank"
|
||||||
|
rel="noreferrer noopener"
|
||||||
|
class="icon-info"
|
||||||
|
title=""
|
||||||
|
href="https://nextcloud.com/yourdata/"
|
||||||
|
data-original-title="Open documentation"></a>
|
||||||
|
</h3>
|
||||||
|
<?php if (empty($_['dataLocation']) === false): ?>
|
||||||
|
<div class="personal-info icon-address">
|
||||||
|
<p>
|
||||||
|
<?php echo $l->t('Your data is located in <b>%s</b>.', [$_['dataLocation']]); ?>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<?php endif; ?>
|
||||||
|
|
||||||
|
<?php if (empty($_['provider']) === false): ?>
|
||||||
|
<div class="personal-info icon-category-integration">
|
||||||
|
<p>
|
||||||
|
<?php
|
||||||
|
if (empty($_['providerLink']) === false) {
|
||||||
|
echo $l->t('Your provider is %s%s%s.', [
|
||||||
|
'<a href="' . $_['providerLink'] . '" target="_blank" title="" rel="noreferrer noopener">',
|
||||||
|
$_['provider'],
|
||||||
|
'</a>'
|
||||||
|
]);
|
||||||
|
} else {
|
||||||
|
echo $l->t('Your provider is %s.', [$_['provider']]);
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
<?php
|
||||||
|
if (empty($_['providerPrivacyLink']) === false) {
|
||||||
|
echo $l->t('Read the %sprivacy policy%s now.', [
|
||||||
|
'<a href="' . $_['providerPrivacyLink'] . '" target="_blank" title="" rel="noreferrer noopener">',
|
||||||
|
'</a>'
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<?php endif; ?>
|
||||||
|
|
||||||
|
<?php if ($_['encryptionEnabled'] === true): ?>
|
||||||
|
<div class="personal-info icon-password">
|
||||||
|
<p>
|
||||||
|
<?php echo $l->t(
|
||||||
|
'Your data is protected by %sserver side encryption%s.',
|
||||||
|
[
|
||||||
|
'<a href="https://nextcloud.com/blog/encryption-in-nextcloud/" target="_blank" title="" rel="noreferrer noopener">',
|
||||||
|
'</a>'
|
||||||
|
]
|
||||||
|
); ?>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<?php endif; ?>
|
||||||
|
|
||||||
|
<?php if (empty($_['adminName']) === false): ?>
|
||||||
|
<div class="personal-info icon-user-admin">
|
||||||
|
<p>
|
||||||
|
<?php echo $l->t(
|
||||||
|
'%s%s%s is your admin. If you have any issues, %scontact them%s.',
|
||||||
|
[
|
||||||
|
'<a href="mailto:' . $_['adminMail'] . '" target="_blank" title="" rel="noreferrer noopener">',
|
||||||
|
$_['adminName'],
|
||||||
|
'</a>',
|
||||||
|
'<a href="mailto:' . $_['adminMail'] . '" target="_blank" title="" rel="noreferrer noopener">',
|
||||||
|
'</a>'
|
||||||
|
]
|
||||||
|
); ?>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<?php endif; ?>
|
||||||
|
</div>
|
|
@ -95,6 +95,7 @@ script('settings', [
|
||||||
<progress value="<?php p($_['usage_relative']); ?>" max="100"<?php if($_['usage_relative'] > 80): ?> class="warn" <?php endif; ?>></progress>
|
<progress value="<?php p($_['usage_relative']); ?>" max="100"<?php if($_['usage_relative'] > 80): ?> class="warn" <?php endif; ?>></progress>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<?php include __DIR__ . '/partials/where-is-your-data.php' ?>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="personal-settings-container">
|
<div class="personal-settings-container">
|
||||||
|
@ -375,9 +376,4 @@ script('settings', [
|
||||||
</div>
|
</div>
|
||||||
<span class="msg"></span>
|
<span class="msg"></span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="personal-settings-group-container">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
Loading…
Reference in New Issue