diff options
Diffstat (limited to 'apps/files')
-rw-r--r-- | apps/files/lib/App.php | 38 | ||||
-rw-r--r-- | apps/files/lib/Collaboration/Resources/Listener.php | 5 | ||||
-rw-r--r-- | apps/files/lib/Controller/TransferOwnershipController.php | 3 | ||||
-rw-r--r-- | apps/files/list.php | 9 |
4 files changed, 33 insertions, 22 deletions
diff --git a/apps/files/lib/App.php b/apps/files/lib/App.php index 386e5a3243a..e172f0ae826 100644 --- a/apps/files/lib/App.php +++ b/apps/files/lib/App.php @@ -6,6 +6,7 @@ * @author Joas Schilling <coding@schilljs.com> * @author Morris Jobke <hey@morrisjobke.de> * @author Vincent Petry <vincent@nextcloud.com> + * @author Carl Schwan <carl@carlschwan.eu> * * @license AGPL-3.0 * @@ -24,37 +25,42 @@ */ namespace OCA\Files; +use OC\NavigationManager; +use OCP\App\IAppManager; +use OCP\IConfig; +use OCP\IGroupManager; +use OCP\INavigationManager; +use OCP\IURLGenerator; +use OCP\IUserSession; +use OCP\L10N\IFactory; +use OCP\Server; + class App { - /** - * @var \OCP\INavigationManager - */ - private static $navigationManager; + private static ?INavigationManager $navigationManager = null; /** * Returns the app's navigation manager - * - * @return \OCP\INavigationManager */ - public static function getNavigationManager() { + public static function getNavigationManager(): INavigationManager { // TODO: move this into a service in the Application class if (self::$navigationManager === null) { - self::$navigationManager = new \OC\NavigationManager( - \OC::$server->getAppManager(), - \OC::$server->getURLGenerator(), - \OC::$server->getL10NFactory(), - \OC::$server->getUserSession(), - \OC::$server->getGroupManager(), - \OC::$server->getConfig() + self::$navigationManager = new NavigationManager( + Server::get(IAppManager::class), + Server::get(IUrlGenerator::class), + Server::get(IFactory::class), + Server::get(IUserSession::class), + Server::get(IGroupManager::class), + Server::get(IConfig::class) ); self::$navigationManager->clear(false); } return self::$navigationManager; } - public static function extendJsConfig($settings) { + public static function extendJsConfig($settings): void { $appConfig = json_decode($settings['array']['oc_appconfig'], true); - $maxChunkSize = (int)\OC::$server->getConfig()->getAppValue('files', 'max_chunk_size', 10 * 1024 * 1024); + $maxChunkSize = (int)Server::get(IConfig::class)->getAppValue('files', 'max_chunk_size', (string)(10 * 1024 * 1024)); $appConfig['files'] = [ 'max_chunk_size' => $maxChunkSize ]; diff --git a/apps/files/lib/Collaboration/Resources/Listener.php b/apps/files/lib/Collaboration/Resources/Listener.php index 5cf84316578..64dd693a4da 100644 --- a/apps/files/lib/Collaboration/Resources/Listener.php +++ b/apps/files/lib/Collaboration/Resources/Listener.php @@ -25,6 +25,7 @@ declare(strict_types=1); */ namespace OCA\Files\Collaboration\Resources; +use OCP\Server; use OCP\Collaboration\Resources\IManager; use Symfony\Component\EventDispatcher\EventDispatcherInterface; @@ -37,9 +38,9 @@ class Listener { public static function shareModification(): void { /** @var IManager $resourceManager */ - $resourceManager = \OC::$server->query(IManager::class); + $resourceManager = Server::get(IManager::class); /** @var ResourceProvider $resourceProvider */ - $resourceProvider = \OC::$server->query(ResourceProvider::class); + $resourceProvider = Server::get(ResourceProvider::class); $resourceManager->invalidateAccessCacheForProvider($resourceProvider); } diff --git a/apps/files/lib/Controller/TransferOwnershipController.php b/apps/files/lib/Controller/TransferOwnershipController.php index fb1a8b33dc1..5abd65444bf 100644 --- a/apps/files/lib/Controller/TransferOwnershipController.php +++ b/apps/files/lib/Controller/TransferOwnershipController.php @@ -30,6 +30,7 @@ namespace OCA\Files\Controller; use OCA\Files\BackgroundJob\TransferOwnership; use OCA\Files\Db\TransferOwnership as TransferOwnershipEntity; use OCA\Files\Db\TransferOwnershipMapper; +use OCP\Files\IHomeStorage; use OCP\AppFramework\Db\DoesNotExistException; use OCP\AppFramework\Http; use OCP\AppFramework\Http\DataResponse; @@ -97,7 +98,7 @@ class TransferOwnershipController extends OCSController { return new DataResponse([], Http::STATUS_BAD_REQUEST); } - if ($node->getOwner()->getUID() !== $this->userId) { + if ($node->getOwner()->getUID() !== $this->userId || !$node->getStorage()->instanceOfStorage(IHomeStorage::class)) { return new DataResponse([], Http::STATUS_FORBIDDEN); } diff --git a/apps/files/list.php b/apps/files/list.php index 09dc217139c..c4b93b2e145 100644 --- a/apps/files/list.php +++ b/apps/files/list.php @@ -23,12 +23,15 @@ * */ use OCP\Share\IManager; +use OCP\Server; +use OCP\IConfig; +use OCP\IUserSession; -$config = \OC::$server->getConfig(); -$userSession = \OC::$server->getUserSession(); +$config = Server::get(IConfig::class); +$userSession = Server::get(IUserSession::class); // TODO: move this to the generated config.js /** @var IManager $shareManager */ -$shareManager = \OC::$server->get(IManager::class); +$shareManager = Server::get(IManager::class); $publicUploadEnabled = $shareManager->shareApiLinkAllowPublicUpload() ? 'yes' : 'no'; $showgridview = $config->getUserValue($userSession->getUser()->getUID(), 'files', 'show_grid', false); |