summaryrefslogtreecommitdiffstats
path: root/apps/files_encryption/appinfo/app.php
diff options
context:
space:
mode:
Diffstat (limited to 'apps/files_encryption/appinfo/app.php')
-rw-r--r--apps/files_encryption/appinfo/app.php62
1 files changed, 35 insertions, 27 deletions
diff --git a/apps/files_encryption/appinfo/app.php b/apps/files_encryption/appinfo/app.php
index bf16fec3aea..99bdc2c2470 100644
--- a/apps/files_encryption/appinfo/app.php
+++ b/apps/files_encryption/appinfo/app.php
@@ -8,42 +8,50 @@ OC::$CLASSPATH['OCA\Encryption\Stream'] = 'files_encryption/lib/stream.php';
OC::$CLASSPATH['OCA\Encryption\Proxy'] = 'files_encryption/lib/proxy.php';
OC::$CLASSPATH['OCA\Encryption\Session'] = 'files_encryption/lib/session.php';
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() );
+OC_FileProxy::register(new OCA\Encryption\Proxy());
-// User-related hooks
-OCP\Util::connectHook( 'OC_User', 'post_login', 'OCA\Encryption\Hooks', 'login' );
-OCP\Util::connectHook( 'OC_User', 'pre_setPassword', 'OCA\Encryption\Hooks', 'setPassphrase' );
+// User related hooks
+OCA\Encryption\Helper::registerUserHooks();
-// Sharing-related hooks
-OCP\Util::connectHook( 'OCP\Share', 'post_shared', 'OCA\Encryption\Hooks', 'postShared' );
-OCP\Util::connectHook( 'OCP\Share', 'pre_unshare', 'OCA\Encryption\Hooks', 'preUnshare' );
-OCP\Util::connectHook( 'OCP\Share', 'pre_unshareAll', 'OCA\Encryption\Hooks', 'preUnshareAll' );
+// Sharing related hooks
+OCA\Encryption\Helper::registerShareHooks();
-// Webdav-related hooks
-OCP\Util::connectHook( 'OC_Webdav_Properties', 'update', 'OCA\Encryption\Hooks', 'updateKeyfile' );
+// Filesystem related hooks
+OCA\Encryption\Helper::registerFilesystemHooks();
-stream_wrapper_register( 'crypt', 'OCA\Encryption\Stream' );
+stream_wrapper_register('crypt', 'OCA\Encryption\Stream');
-$session = new OCA\Encryption\Session();
+// check if we are logged in
+if (OCP\User::isLoggedIn()) {
-if (
- ! $session->getPrivateKey( \OCP\USER::getUser() )
- && OCP\User::isLoggedIn()
- && OCA\Encryption\Crypt::mode() == 'server'
-) {
+ // ensure filesystem is loaded
+ if(!\OC\Files\Filesystem::$loaded) {
+ \OC_Util::setupFS();
+ }
- // 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.'/' );
-
- exit();
+ $view = new OC_FilesystemView('/');
+ $session = new \OCA\Encryption\Session($view);
+ // check if user has a private key
+ if (
+ !$session->getPrivateKey(\OCP\USER::getUser())
+ && 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();
+
+ header("Location: " . OC::$WEBROOT . '/');
+
+ exit();
+ }
}
// Register settings scripts
-OCP\App::registerAdmin( 'files_encryption', 'settings' );
-OCP\App::registerPersonal( 'files_encryption', 'settings-personal' );
+OCP\App::registerAdmin('files_encryption', 'settings-admin');
+OCP\App::registerPersonal('files_encryption', 'settings-personal');
+