summaryrefslogtreecommitdiffstats
path: root/apps/encryption/js
diff options
context:
space:
mode:
Diffstat (limited to 'apps/encryption/js')
-rw-r--r--apps/encryption/js/detect-migration.js33
-rw-r--r--apps/encryption/js/encryption.js16
-rw-r--r--apps/encryption/js/settings-admin.js55
-rw-r--r--apps/encryption/js/settings-personal.js89
4 files changed, 193 insertions, 0 deletions
diff --git a/apps/encryption/js/detect-migration.js b/apps/encryption/js/detect-migration.js
new file mode 100644
index 00000000000..f5627edf4e4
--- /dev/null
+++ b/apps/encryption/js/detect-migration.js
@@ -0,0 +1,33 @@
+/**
+ * Copyright (c) 2013
+ * Bjoern Schiessle <schiessle@owncloud.com>
+ * This file is licensed under the Affero General Public License version 3 or later.
+ * See the COPYING-README file.
+ */
+
+
+$(document).ready(function(){
+ $('form[name="login"]').on('submit', function() {
+ var user = $('#user').val();
+ var password = $('#password').val();
+ $.ajax({
+ type: 'POST',
+ url: OC.linkTo('files_encryption', 'ajax/getMigrationStatus.php'),
+ dataType: 'json',
+ data: {user: user, password: password},
+ async: false,
+ success: function(response) {
+ if (response.data.migrationStatus === OC.Encryption.MIGRATION_OPEN) {
+ var message = t('files_encryption', 'Initial encryption started... This can take some time. Please wait.');
+ $('#messageText').text(message);
+ $('#message').removeClass('hidden').addClass('update');
+ } else if (response.data.migrationStatus === OC.Encryption.MIGRATION_IN_PROGRESS) {
+ var message = t('files_encryption', 'Initial encryption running... Please try again later.');
+ $('#messageText').text(message);
+ $('#message').removeClass('hidden').addClass('update');
+ }
+ }
+ });
+ });
+
+});
diff --git a/apps/encryption/js/encryption.js b/apps/encryption/js/encryption.js
new file mode 100644
index 00000000000..d2d1c3a1fc5
--- /dev/null
+++ b/apps/encryption/js/encryption.js
@@ -0,0 +1,16 @@
+/**
+ * Copyright (c) 2014
+ * Bjoern Schiessle <schiessle@owncloud.com>
+ * This file is licensed under the Affero General Public License version 3 or later.
+ * See the COPYING-README file.
+ */
+
+/**
+ * @namespace
+ * @memberOf OC
+ */
+OC.Encryption={
+ MIGRATION_OPEN:0,
+ MIGRATION_COMPLETED:1,
+ MIGRATION_IN_PROGRESS:-1,
+};
diff --git a/apps/encryption/js/settings-admin.js b/apps/encryption/js/settings-admin.js
new file mode 100644
index 00000000000..2242c1f7124
--- /dev/null
+++ b/apps/encryption/js/settings-admin.js
@@ -0,0 +1,55 @@
+/**
+ * Copyright (c) 2013
+ * Sam Tuke <samtuke@owncloud.com>
+ * Robin Appelman <icewind1991@gmail.com>
+ * Bjoern Schiessle <schiessle@owncloud.com>
+ * This file is licensed under the Affero General Public License version 3 or later.
+ * See the COPYING-README file.
+ */
+
+$(document).ready(function(){
+
+ $( 'input:radio[name="adminEnableRecovery"]' ).change(
+ function() {
+ var recoveryStatus = $( this ).val();
+ var oldStatus = (1+parseInt(recoveryStatus)) % 2;
+ var recoveryPassword = $( '#encryptionRecoveryPassword' ).val();
+ var confirmPassword = $( '#repeatEncryptionRecoveryPassword' ).val();
+ OC.msg.startSaving('#encryptionSetRecoveryKey .msg');
+ $.post(
+ OC.filePath( 'files_encryption', 'ajax', 'adminrecovery.php' )
+ , { adminEnableRecovery: recoveryStatus, recoveryPassword: recoveryPassword, confirmPassword: confirmPassword }
+ , function( result ) {
+ OC.msg.finishedSaving('#encryptionSetRecoveryKey .msg', result);
+ if (result.status === "error") {
+ $('input:radio[name="adminEnableRecovery"][value="'+oldStatus.toString()+'"]').attr("checked", "true");
+ } else {
+ if (recoveryStatus === "0") {
+ $('p[name="changeRecoveryPasswordBlock"]').addClass("hidden");
+ } else {
+ $('input:password[name="changeRecoveryPassword"]').val("");
+ $('p[name="changeRecoveryPasswordBlock"]').removeClass("hidden");
+ }
+ }
+ }
+ );
+ }
+ );
+
+ // change recovery password
+
+ $('button:button[name="submitChangeRecoveryKey"]').click(function() {
+ var oldRecoveryPassword = $('#oldEncryptionRecoveryPassword').val();
+ var newRecoveryPassword = $('#newEncryptionRecoveryPassword').val();
+ var confirmNewPassword = $('#repeatedNewEncryptionRecoveryPassword').val();
+ OC.msg.startSaving('#encryptionChangeRecoveryKey .msg');
+ $.post(
+ OC.filePath( 'files_encryption', 'ajax', 'changeRecoveryPassword.php' )
+ , { oldPassword: oldRecoveryPassword, newPassword: newRecoveryPassword, confirmPassword: confirmNewPassword }
+ , function( data ) {
+ OC.msg.finishedSaving('#encryptionChangeRecoveryKey .msg', data);
+ }
+ );
+ });
+
+});
diff --git a/apps/encryption/js/settings-personal.js b/apps/encryption/js/settings-personal.js
new file mode 100644
index 00000000000..b798ba7e4e1
--- /dev/null
+++ b/apps/encryption/js/settings-personal.js
@@ -0,0 +1,89 @@
+/**
+ * Copyright (c) 2013, Sam Tuke <samtuke@owncloud.com>
+ * This file is licensed under the Affero General Public License version 3 or later.
+ * See the COPYING-README file.
+ */
+
+function updatePrivateKeyPasswd() {
+ var oldPrivateKeyPassword = $('input:password[id="oldPrivateKeyPassword"]').val();
+ var newPrivateKeyPassword = $('input:password[id="newPrivateKeyPassword"]').val();
+ OC.msg.startSaving('#encryption .msg');
+ $.post(
+ OC.filePath( 'files_encryption', 'ajax', 'updatePrivateKeyPassword.php' )
+ , { oldPassword: oldPrivateKeyPassword, newPassword: newPrivateKeyPassword }
+ , function( data ) {
+ if (data.status === "error") {
+ OC.msg.finishedSaving('#encryption .msg', data);
+ } else {
+ OC.msg.finishedSaving('#encryption .msg', data);
+ }
+ }
+ );
+}
+
+$(document).ready(function(){
+
+ // Trigger ajax on recoveryAdmin status change
+ $( 'input:radio[name="userEnableRecovery"]' ).change(
+ function() {
+ var recoveryStatus = $( this ).val();
+ OC.msg.startAction('#userEnableRecovery .msg', 'Updating recovery keys. This can take some time...');
+ $.post(
+ OC.filePath( 'files_encryption', 'ajax', 'userrecovery.php' )
+ , { userEnableRecovery: recoveryStatus }
+ , function( data ) {
+ OC.msg.finishedAction('#userEnableRecovery .msg', data);
+ }
+ );
+ // Ensure page is not reloaded on form submit
+ return false;
+ }
+ );
+
+ $("#encryptAll").click(
+ function(){
+
+ // Hide feedback messages in case they're already visible
+ $('#encryptAllSuccess').hide();
+ $('#encryptAllError').hide();
+
+ var userPassword = $( '#userPassword' ).val();
+ var encryptAll = $( '#encryptAll' ).val();
+
+ $.post(
+ OC.filePath( 'files_encryption', 'ajax', 'encryptall.php' )
+ , { encryptAll: encryptAll, userPassword: userPassword }
+ , function( data ) {
+ if ( data.status == "success" ) {
+ $('#encryptAllSuccess').show();
+ } else {
+ $('#encryptAllError').show();
+ }
+ }
+ );
+ // Ensure page is not reloaded on form submit
+ return false;
+ }
+
+ );
+
+ // update private key password
+
+ $('input:password[name="changePrivateKeyPassword"]').keyup(function(event) {
+ var oldPrivateKeyPassword = $('input:password[id="oldPrivateKeyPassword"]').val();
+ var newPrivateKeyPassword = $('input:password[id="newPrivateKeyPassword"]').val();
+ if (newPrivateKeyPassword !== '' && oldPrivateKeyPassword !== '' ) {
+ $('button:button[name="submitChangePrivateKeyPassword"]').removeAttr("disabled");
+ if(event.which === 13) {
+ updatePrivateKeyPasswd();
+ }
+ } else {
+ $('button:button[name="submitChangePrivateKeyPassword"]').attr("disabled", "true");
+ }
+ });
+
+ $('button:button[name="submitChangePrivateKeyPassword"]').click(function() {
+ updatePrivateKeyPasswd();
+ });
+
+});