diff options
author | Joas Schilling <nickvergessen@owncloud.com> | 2016-04-29 09:08:40 +0200 |
---|---|---|
committer | Joas Schilling <nickvergessen@owncloud.com> | 2016-04-29 09:08:40 +0200 |
commit | f1b6b0799c6ee3643f9bbb3e9f18e8c65c3405d2 (patch) | |
tree | 6651a09389871084046c18125e8450d21a6f7a9d /lib/private | |
parent | ba0099f73abc133cfc88ad2d7a25b86677d1c111 (diff) | |
download | nextcloud-server-f1b6b0799c6ee3643f9bbb3e9f18e8c65c3405d2.tar.gz nextcloud-server-f1b6b0799c6ee3643f9bbb3e9f18e8c65c3405d2.zip |
Add a warning if a storage wrapper was registered outside of the hook
Diffstat (limited to 'lib/private')
-rw-r--r-- | lib/private/Files/Filesystem.php | 18 | ||||
-rw-r--r-- | lib/private/util.php | 2 |
2 files changed, 20 insertions, 0 deletions
diff --git a/lib/private/Files/Filesystem.php b/lib/private/Files/Filesystem.php index 7283c815c97..d33f9476f22 100644 --- a/lib/private/Files/Filesystem.php +++ b/lib/private/Files/Filesystem.php @@ -207,12 +207,30 @@ class Filesystem { */ private static $loader; + /** @var bool */ + private static $logWarningWhenAddingStorageWrapper = true; + + /** + * @param bool $shouldLog + * @internal + */ + public static function logWarningWhenAddingStorageWrapper($shouldLog) { + self::$logWarningWhenAddingStorageWrapper = (bool) $shouldLog; + } + /** * @param string $wrapperName * @param callable $wrapper * @param int $priority */ public static function addStorageWrapper($wrapperName, $wrapper, $priority = 50) { + if (self::$logWarningWhenAddingStorageWrapper) { + \OC::$server->getLogger()->warning("Storage wrapper '{wrapper}' was not registered via the 'OC_Filesystem - preSetup' hook which could cause potential problems.", [ + 'wrapper' => $wrapperName, + 'app' => 'filesystem', + ]); + } + $mounts = self::getMountManager()->getAll(); if (!self::getLoader()->addStorageWrapper($wrapperName, $wrapper, $priority, $mounts)) { // do not re-wrap if storage with this name already existed diff --git a/lib/private/util.php b/lib/private/util.php index 7caa1efcf54..b3432470f03 100644 --- a/lib/private/util.php +++ b/lib/private/util.php @@ -145,6 +145,7 @@ class OC_Util { \OC\Files\Filesystem::initMountManager(); + \OC\Files\Filesystem::logWarningWhenAddingStorageWrapper(false); \OC\Files\Filesystem::addStorageWrapper('mount_options', function ($mountPoint, \OCP\Files\Storage $storage, \OCP\Files\Mount\IMountPoint $mount) { if ($storage->instanceOfStorage('\OC\Files\Storage\Common')) { /** @var \OC\Files\Storage\Common $storage */ @@ -195,6 +196,7 @@ class OC_Util { }); OC_Hook::emit('OC_Filesystem', 'preSetup', array('user' => $user)); + \OC\Files\Filesystem::logWarningWhenAddingStorageWrapper(true); //check if we are using an object storage $objectStore = \OC::$server->getSystemConfig()->getValue('objectstore', null); |