summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan-Christoph Borchardt <hey@jancborchardt.net>2015-05-05 18:53:01 +0200
committerJan-Christoph Borchardt <hey@jancborchardt.net>2015-05-05 18:53:01 +0200
commit952a90f2e3ab60252b125b3e68193cc4995c0c54 (patch)
treec1c47eac13f5d03190fb57c8eaae4426e0b8ae9f
parent67836995011c2506e67e49e2e1857b0003f643fc (diff)
parenta1b944464370da51a9fc952250c3eb597bab30ad (diff)
downloadnextcloud-server-952a90f2e3ab60252b125b3e68193cc4995c0c54.tar.gz
nextcloud-server-952a90f2e3ab60252b125b3e68193cc4995c0c54.zip
Merge pull request #16037 from owncloud/enc_dont_disable_encryption
don't let the the user disable encryption once it was activated
-rw-r--r--core/css/styles.css4
-rw-r--r--settings/css/settings.css4
-rw-r--r--settings/js/admin.js19
-rw-r--r--settings/templates/admin.php18
4 files changed, 29 insertions, 16 deletions
diff --git a/core/css/styles.css b/core/css/styles.css
index 4cf5e4e18ca..c8704066cf1 100644
--- a/core/css/styles.css
+++ b/core/css/styles.css
@@ -224,6 +224,10 @@ textarea:disabled {
color: #999;
cursor: default;
}
+input:disabled+label, input:disabled:hover+label, input:disabled:focus+label {
+ color: #999 !important;
+ cursor: default;
+}
/* Primary action button, use sparingly */
.primary, input[type="submit"].primary, input[type="button"].primary, button.primary, .button.primary {
diff --git a/settings/css/settings.css b/settings/css/settings.css
index 583e8804951..4e398c64c4e 100644
--- a/settings/css/settings.css
+++ b/settings/css/settings.css
@@ -494,3 +494,7 @@ doesnotexist:-o-prefocus, .strengthify-wrapper {
#encryptionModules {
padding: 10px;
}
+
+#warning {
+ color: red;
+}
diff --git a/settings/js/admin.js b/settings/js/admin.js
index 9cdb7f5b0f1..8f705b9048d 100644
--- a/settings/js/admin.js
+++ b/settings/js/admin.js
@@ -54,20 +54,15 @@ $(document).ready(function(){
$('#shareAPI p:not(#enable)').toggleClass('hidden', !this.checked);
});
- $('#encryptionEnabled').change(function() {
- $('#encryptionAPI div#EncryptionSettingsArea').toggleClass('hidden');
+ $('#enableEncryption').change(function() {
+ $('#encryptionAPI div#EncryptionWarning').toggleClass('hidden');
});
- $('#encryptionAPI input').change(function() {
- var value = $(this).val();
- if ($(this).attr('type') === 'checkbox') {
- if (this.checked) {
- value = 'yes';
- } else {
- value = 'no';
- }
- }
- OC.AppConfig.setValue('core', $(this).attr('name'), value);
+ $('#reallyEnableEncryption').click(function() {
+ $('#encryptionAPI div#EncryptionWarning').toggleClass('hidden');
+ $('#encryptionAPI div#EncryptionSettingsArea').toggleClass('hidden');
+ OC.AppConfig.setValue('core', 'encryption_enabled', 'yes');
+ $('#enableEncryption').attr('disabled', 'disabled');
});
$('#startmigration').click(function(event){
diff --git a/settings/templates/admin.php b/settings/templates/admin.php
index 5edf4e2a9c7..638c3d7bff5 100644
--- a/settings/templates/admin.php
+++ b/settings/templates/admin.php
@@ -319,13 +319,23 @@ if ($_['cronErrors']) {
href="<?php p(link_to_docs('admin-encryption')); ?>"></a>
<p id="enable">
- <input type="checkbox" name="encryption_enabled"
- id="encryptionEnabled"
- value="1" <?php if ($_['encryptionEnabled']) print_unescaped('checked="checked"'); ?> />
+ <input type="checkbox"
+ id="enableEncryption"
+ value="1" <?php if ($_['encryptionEnabled']) print_unescaped('checked="checked" disabled="disabled"'); ?> />
<label
- for="encryptionEnabled"><?php p($l->t('Enable server-side encryption')); ?> <span id="startmigration_msg" class="msg"></span> </label><br/>
+ for="enableEncryption"><?php p($l->t('Enable server-side encryption')); ?> <span id="startmigration_msg" class="msg"></span> </label><br/>
</p>
+ <div id="EncryptionWarning" class="warning hidden">
+ <?php p($l->t('Encryption is a one way process. Once encryption is enabled,
+ all files from that point forward will be encrypted on the server and it
+ will not be possible to disable encryption at a later date. This is the final warning:
+ Do you really want to enable encryption?')) ?>
+ <input type="button"
+ id="reallyEnableEncryption"
+ value="<?php p($l->t("Enable encryption")); ?>" />
+ </div>
+
<div id="EncryptionSettingsArea" class="<?php if (!$_['encryptionEnabled']) p('hidden'); ?>">
<div id='selectEncryptionModules' class="<?php if (!$_['encryptionReady']) p('hidden'); ?>">
<?php