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")); ?> -