Skip to content
Snippets Groups Projects
Commit c4aef892 authored by Björn Schießle's avatar Björn Schießle
Browse files

introduce pre-disable-app hook and use it for the encryption app to reset...

introduce pre-disable-app hook and use it for the encryption app to reset migration status if the app was disabled
parent aa740350
No related branches found
No related tags found
No related merge requests found
......@@ -22,6 +22,9 @@ if (!OC_Config::getValue('maintenance', false)) {
// Filesystem related hooks
OCA\Encryption\Helper::registerFilesystemHooks();
// App manager related hooks
OCA\Encryption\Helper::registerAppHooks();
stream_wrapper_register('crypt', 'OCA\Encryption\Stream');
// check if we are logged in
......
......@@ -543,4 +543,17 @@ class Hooks {
\OC_FileProxy::$enabled = $proxyStatus;
}
/**
* set migration status back to '0' so that all new files get encrypted
* if the app gets enabled again
* @param array $params contains the app ID
*/
public static function preDisable($params) {
if ($params['app'] === 'files_encryption') {
$query = \OC_DB::prepare('UPDATE `*PREFIX*encryption` SET `migration_status`=0');
$query->execute();
}
}
}
......@@ -62,6 +62,15 @@ class Helper {
\OCP\Util::connectHook('OC_Filesystem', 'post_rename', 'OCA\Encryption\Hooks', 'postRename');
}
/**
* @brief register filesystem related hooks
*
*/
public static function registerAppHooks() {
\OCP\Util::connectHook('OC_App', 'pre_disable', 'OCA\Encryption\Hooks', 'preDisable');
}
/**
* @brief setup user for files_encryption
*
......
......@@ -259,6 +259,7 @@ class OC_App{
*/
public static function disable( $app ) {
// check if app is a shipped app or not. if not delete
\OC_Hook::emit('OC_App', 'pre_disable', array('app' => $app));
OC_Appconfig::setValue( $app, 'enabled', 'no' );
// check if app is a shipped app or not. if not delete
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment