OC::$CLASSPATH['OCA\Encryption\Capabilities'] = 'files_encryption/lib/capabilities.php';
OC::$CLASSPATH['OCA\Encryption\Helper'] = 'files_encryption/lib/helper.php';
- OC_FileProxy::register(new OCA\Encryption\Proxy());
+ if (!OC_Config::getValue('maintenance', false)) {
+ OC_FileProxy::register(new OCA\Encryption\Proxy());
- // User related hooks
- OCA\Encryption\Helper::registerUserHooks();
+ // User related hooks
+ OCA\Encryption\Helper::registerUserHooks();
- // Sharing related hooks
- OCA\Encryption\Helper::registerShareHooks();
+ // Sharing related hooks
+ OCA\Encryption\Helper::registerShareHooks();
- // Filesystem related hooks
- OCA\Encryption\Helper::registerFilesystemHooks();
+ // Filesystem related hooks
+ OCA\Encryption\Helper::registerFilesystemHooks();
- stream_wrapper_register('crypt', 'OCA\Encryption\Stream');
+ stream_wrapper_register('crypt', 'OCA\Encryption\Stream');
- // check if we are logged in
- if (OCP\User::isLoggedIn()) {
+ // check if we are logged in
+ if (OCP\User::isLoggedIn()) {
- // ensure filesystem is loaded
- if(!\OC\Files\Filesystem::$loaded) {
- \OC_Util::setupFS();
- }
+ // ensure filesystem is loaded
+ if (!\OC\Files\Filesystem::$loaded) {
+ \OC_Util::setupFS();
+ }
- $view = new OC_FilesystemView('/');
- $session = new \OCA\Encryption\Session($view);
+ $view = new OC_FilesystemView('/');
+ $session = new \OCA\Encryption\Session($view);
- $user = \OCP\USER::getUser();
- // check if user has a private key
- if (
- !$view->file_exists('/' . $user . '/files_encryption/' . $user . '.private.key')
- && OCA\Encryption\Crypt::mode() === 'server'
- ) {
++ $user = \OCP\USER::getUser();
+ // check if user has a private key
+ if (
- !$session->getPrivateKey(\OCP\USER::getUser())
++ !$view->file_exists('/' . $user . '/files_encryption/' . $user . '.private.key')
+ && OCA\Encryption\Crypt::mode() === 'server'
+ ) {
- // Force the user to log-in again if the encryption key isn't unlocked
- // (happens when a user is logged in before the encryption app is
- // enabled)
- OCP\User::logout();
+ // Force the user to log-in again if the encryption key isn't unlocked
+ // (happens when a user is logged in before the encryption app is
+ // enabled)
+ OCP\User::logout();
- header("Location: " . OC::$WEBROOT . '/');
+ header("Location: " . OC::$WEBROOT . '/');
- exit();
+ exit();
+ }
}
+ } else {
+ // logout user if we are in maintenance to force re-login
+ OCP\User::logout();
}
// Register settings scripts
\r
$session = new \OCA\Encryption\Session($view);\r
\r
- $session->setPrivateKey($privateKey, $params['uid']);\r
+ $session->setPrivateKey($privateKey);\r
\r
// Check if first-run file migration has already been performed\r
- $migrationCompleted = $util->getMigrationStatus();\r
+ $ready = false;\r
+ if ($util->getMigrationStatus() === Util::MIGRATION_OPEN) {\r
+ $ready = $util->beginMigration();\r
+ }\r
\r
// If migration not yet done\r
- if (!$migrationCompleted) {\r
+ if ($ready) {\r
\r
$userView = new \OC_FilesystemView('/' . $params['uid']);\r
\r