From 4174d75f8661ca3a26ef8cdfd48a6f955491fdfe Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Fri, 24 Mar 2017 15:02:49 +0100 Subject: [PATCH] Throw a nice HintException when the apps are missing Signed-off-by: Joas Schilling --- core/routes.php | 40 ++++++++++++++++++++++++++++++---------- 1 file changed, 30 insertions(+), 10 deletions(-) diff --git a/core/routes.php b/core/routes.php index 5243691df4..9b49b7198c 100644 --- a/core/routes.php +++ b/core/routes.php @@ -84,26 +84,46 @@ $this->create('files.viewcontroller.showFile', '/f/{fileid}')->action(function($ // Call routes $this->create('spreed.pagecontroller.showCall', '/call/{token}')->action(function($urlParams) { - $app = new \OCA\Spreed\AppInfo\Application($urlParams); - $app->dispatch('PageController', 'index'); + if (class_exists(\OCA\Spreed\AppInfo\Application::class, false)) { + $app = new \OCA\Spreed\AppInfo\Application($urlParams); + $app->dispatch('PageController', 'index'); + } else { + throw new \OC\HintException('App spreed is not enabled'); + } }); // Sharing routes $this->create('files_sharing.sharecontroller.showShare', '/s/{token}')->action(function($urlParams) { - $app = new \OCA\Files_Sharing\AppInfo\Application($urlParams); - $app->dispatch('ShareController', 'showShare'); + if (class_exists(\OCA\Files_Sharing\AppInfo\Application::class, false)) { + $app = new \OCA\Files_Sharing\AppInfo\Application($urlParams); + $app->dispatch('ShareController', 'showShare'); + } else { + throw new \OC\HintException('App file sharing is not enabled'); + } }); $this->create('files_sharing.sharecontroller.authenticate', '/s/{token}/authenticate')->post()->action(function($urlParams) { - $app = new \OCA\Files_Sharing\AppInfo\Application($urlParams); - $app->dispatch('ShareController', 'authenticate'); + if (class_exists(\OCA\Files_Sharing\AppInfo\Application::class, false)) { + $app = new \OCA\Files_Sharing\AppInfo\Application($urlParams); + $app->dispatch('ShareController', 'authenticate'); + } else { + throw new \OC\HintException('App file sharing is not enabled'); + } }); $this->create('files_sharing.sharecontroller.showAuthenticate', '/s/{token}/authenticate')->get()->action(function($urlParams) { - $app = new \OCA\Files_Sharing\AppInfo\Application($urlParams); - $app->dispatch('ShareController', 'showAuthenticate'); + if (class_exists(\OCA\Files_Sharing\AppInfo\Application::class, false)) { + $app = new \OCA\Files_Sharing\AppInfo\Application($urlParams); + $app->dispatch('ShareController', 'showAuthenticate'); + } else { + throw new \OC\HintException('App file sharing is not enabled'); + } }); $this->create('files_sharing.sharecontroller.downloadShare', '/s/{token}/download')->get()->action(function($urlParams) { - $app = new \OCA\Files_Sharing\AppInfo\Application($urlParams); - $app->dispatch('ShareController', 'downloadShare'); + if (class_exists(\OCA\Files_Sharing\AppInfo\Application::class, false)) { + $app = new \OCA\Files_Sharing\AppInfo\Application($urlParams); + $app->dispatch('ShareController', 'downloadShare'); + } else { + throw new \OC\HintException('App file sharing is not enabled'); + } }); // used for heartbeat