summaryrefslogtreecommitdiffstats
path: root/apps/files
diff options
context:
space:
mode:
authorBjoern Schiessle <schiessle@owncloud.com>2013-09-06 12:27:40 +0200
committerBjoern Schiessle <schiessle@owncloud.com>2013-09-06 12:27:40 +0200
commitfb462e83ccde5c46565c23545c5eb894acbd6fd3 (patch)
tree4b334e82c8e61247419f4120b18922fc923f5cf7 /apps/files
parent69b1625f0e368e65771fef473f4b4d4a13456354 (diff)
downloadnextcloud-server-fb462e83ccde5c46565c23545c5eb894acbd6fd3.tar.gz
nextcloud-server-fb462e83ccde5c46565c23545c5eb894acbd6fd3.zip
no longer enforce log out, but provide useful errors/warnings instead
Diffstat (limited to 'apps/files')
-rw-r--r--apps/files/index.php7
-rw-r--r--apps/files/js/files.js9
-rw-r--r--apps/files/templates/index.php1
3 files changed, 16 insertions, 1 deletions
diff --git a/apps/files/index.php b/apps/files/index.php
index f1e120c872c..b81ba2bdde9 100644
--- a/apps/files/index.php
+++ b/apps/files/index.php
@@ -124,8 +124,12 @@ if ($needUpgrade) {
$storageInfo=OC_Helper::getStorageInfo($dir);
$maxUploadFilesize=OCP\Util::maxUploadFilesize($dir);
$publicUploadEnabled = \OC_Appconfig::getValue('core', 'shareapi_allow_public_upload', 'yes');
+ // if the encryption app is disabled, than everything is fine
+ $encryptionInitStatus = \OCA\Encryption\Session::INIT_SUCCESSFUL;
if (OC_App::isEnabled('files_encryption')) {
$publicUploadEnabled = 'no';
+ $session = new \OCA\Encryption\Session(new \OC\Files\View('/'));
+ $encryptionInitStatus = $session->getInitialized();
}
$trashEnabled = \OCP\App::isEnabled('files_trashbin');
@@ -133,7 +137,7 @@ if ($needUpgrade) {
if ($trashEnabled) {
$trashEmpty = \OCA\Files_Trashbin\Trashbin::isEmpty($user);
}
-
+
OCP\Util::addscript('files', 'fileactions');
OCP\Util::addscript('files', 'files');
OCP\Util::addscript('files', 'keyboardshortcuts');
@@ -153,5 +157,6 @@ if ($needUpgrade) {
$tmpl->assign('isPublic', false);
$tmpl->assign('publicUploadEnabled', $publicUploadEnabled);
$tmpl->assign("encryptedFiles", \OCP\Util::encryptedFiles());
+ $tmpl->assign("encryptionInitStatus", $encryptionInitStatus);
$tmpl->printPage();
}
diff --git a/apps/files/js/files.js b/apps/files/js/files.js
index d729077ea72..63c3544b53d 100644
--- a/apps/files/js/files.js
+++ b/apps/files/js/files.js
@@ -90,6 +90,15 @@ Files={
}
var encryptedFiles = $('#encryptedFiles').val();
+ var initStatus = $('#encryptionInitStatus').val();
+ if (initStatus === '0') { // enc not initialized, but should be
+ OC.Notification.show(t('files_encryption', 'Encryption App is enabled but your keys are not initialized, please log-out and log-in again'));
+ return;
+ }
+ if (initStatus === '1') { // encryption tried to init but failed
+ OC.Notification.show(t('files_encryption', 'Your private key is not valid! Likely your password was changed outside the ownCloud system (e.g. your corporate directory). You can update your private key password in your personal settings to recover access to your encrypted files.'));
+ return;
+ }
if (encryptedFiles === '1') {
OC.Notification.show(t('files_encryption', 'Encryption was disabled but your files are still encrypted. Please go to your personal settings to decrypt your files.'));
return;
diff --git a/apps/files/templates/index.php b/apps/files/templates/index.php
index 24cb8c2fe58..e17273e47b1 100644
--- a/apps/files/templates/index.php
+++ b/apps/files/templates/index.php
@@ -123,3 +123,4 @@
<input type="hidden" name="allowZipDownload" id="allowZipDownload" value="<?php p($_['allowZipDownload']); ?>" />
<input type="hidden" name="usedSpacePercent" id="usedSpacePercent" value="<?php p($_['usedSpacePercent']); ?>" />
<input type="hidden" name="encryptedFiles" id="encryptedFiles" value="<?php $_['encryptedFiles'] ? p('1') : p('0'); ?>" />
+<input type="hidden" name="encryptedFiles" id="encryptionInitStatus" value="<?php p($_['encryptionInitStatus']) ?>" /> \ No newline at end of file