From 794d3ef949b487011805d50e851e5a07ad7776d4 Mon Sep 17 00:00:00 2001
From: Bjoern Schiessle
Date: Tue, 7 Oct 2014 12:30:50 +0200
Subject: [PATCH] improved visual feedback if recovery key password gets
changed
---
.../ajax/changeRecoveryPassword.php | 26 +++++++++++++++++++
apps/files_encryption/js/settings-admin.js | 11 +++-----
.../templates/settings-admin.php | 4 +--
3 files changed, 32 insertions(+), 9 deletions(-)
diff --git a/apps/files_encryption/ajax/changeRecoveryPassword.php b/apps/files_encryption/ajax/changeRecoveryPassword.php
index 71fbe333fe..bf647f2c8f 100644
--- a/apps/files_encryption/ajax/changeRecoveryPassword.php
+++ b/apps/files_encryption/ajax/changeRecoveryPassword.php
@@ -21,6 +21,32 @@ $return = false;
$oldPassword = $_POST['oldPassword'];
$newPassword = $_POST['newPassword'];
+$confirmPassword = $_POST['confirmPassword'];
+
+//check if both passwords are the same
+if (empty($_POST['oldPassword'])) {
+ $errorMessage = $l->t('Please provide the old recovery password');
+ \OCP\JSON::error(array('data' => array('message' => $errorMessage)));
+ exit();
+}
+
+if (empty($_POST['newPassword'])) {
+ $errorMessage = $l->t('Please provide a new recovery password');
+ \OCP\JSON::error(array('data' => array('message' => $errorMessage)));
+ exit();
+}
+
+if (empty($_POST['confirmPassword'])) {
+ $errorMessage = $l->t('Please repeat the new recovery password');
+ \OCP\JSON::error(array('data' => array('message' => $errorMessage)));
+ exit();
+}
+
+if ($_POST['newPassword'] !== $_POST['confirmPassword']) {
+ $errorMessage = $l->t('Repeated recovery key password does not match the provided recovery key password');
+ \OCP\JSON::error(array('data' => array('message' => $errorMessage)));
+ exit();
+}
$view = new \OC\Files\View('/');
$util = new \OCA\Encryption\Util(new \OC\Files\View('/'), \OCP\User::getUser());
diff --git a/apps/files_encryption/js/settings-admin.js b/apps/files_encryption/js/settings-admin.js
index 38a5cd1b55..2242c1f712 100644
--- a/apps/files_encryption/js/settings-admin.js
+++ b/apps/files_encryption/js/settings-admin.js
@@ -41,17 +41,14 @@ $(document).ready(function(){
$('button:button[name="submitChangeRecoveryKey"]').click(function() {
var oldRecoveryPassword = $('#oldEncryptionRecoveryPassword').val();
var newRecoveryPassword = $('#newEncryptionRecoveryPassword').val();
- OC.msg.startSaving('#encryption .msg');
+ var confirmNewPassword = $('#repeatedNewEncryptionRecoveryPassword').val();
+ OC.msg.startSaving('#encryptionChangeRecoveryKey .msg');
$.post(
OC.filePath( 'files_encryption', 'ajax', 'changeRecoveryPassword.php' )
- , { oldPassword: oldRecoveryPassword, newPassword: newRecoveryPassword }
+ , { oldPassword: oldRecoveryPassword, newPassword: newRecoveryPassword, confirmPassword: confirmNewPassword }
, function( data ) {
- if (data.status == "error") {
- OC.msg.finishedSaving('#encryption .msg', data);
- } else {
- OC.msg.finishedSaving('#encryption .msg', data);
+ OC.msg.finishedSaving('#encryptionChangeRecoveryKey .msg', data);
}
- }
);
});
diff --git a/apps/files_encryption/templates/settings-admin.php b/apps/files_encryption/templates/settings-admin.php
index e97f64b648..d003f245bb 100644
--- a/apps/files_encryption/templates/settings-admin.php
+++ b/apps/files_encryption/templates/settings-admin.php
@@ -34,8 +34,9 @@
- >
+
>
t("Change recovery key password:")); ?>
+
t("Change Password")); ?>
-