Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
| Total | |
100.00% |
1 / 1 |
|
100.00% |
2 / 2 |
CRAP | |
100.00% |
204 / 204 |
| Application | |
100.00% |
1 / 1 |
|
100.00% |
2 / 2 |
3 | |
100.00% |
204 / 204 |
| __construct | |
100.00% |
1 / 1 |
2 | |
100.00% |
190 / 190 |
|||
| anonymous function | |
100.00% |
1 / 1 |
1 | |
100.00% |
11 / 11 |
|||
| <?php | |
| /** | |
| * Gallery | |
| * | |
| * This file is licensed under the Affero General Public License version 3 or | |
| * later. See the COPYING file. | |
| * | |
| * @author Olivier Paroz <galleryapps@oparoz.com> | |
| * | |
| * @copyright Olivier Paroz 2014-2016 | |
| */ | |
| namespace OCA\Gallery\AppInfo; | |
| ini_set("gd.jpeg_ignore_warning", true); | |
| require_once __DIR__ . '/../vendor/autoload.php'; | |
| // A production environment will not have xdebug enabled and | |
| // a development environment should have the dev packages installed | |
| $c3 = __DIR__ . '/../c3.php'; | |
| if (extension_loaded('xdebug') && file_exists($c3)) { | |
| include_once $c3; | |
| } | |
| use OCP\IContainer; | |
| use OCP\AppFramework\App; | |
| use OCP\AppFramework\IAppContainer; | |
| use OCA\Gallery\Config\ConfigParser; | |
| use OCA\Gallery\Controller\PageController; | |
| use OCA\Gallery\Controller\ConfigController; | |
| use OCA\Gallery\Controller\ConfigPublicController; | |
| use OCA\Gallery\Controller\ConfigApiController; | |
| use OCA\Gallery\Controller\FilesController; | |
| use OCA\Gallery\Controller\FilesPublicController; | |
| use OCA\Gallery\Controller\FilesApiController; | |
| use OCA\Gallery\Controller\PreviewController; | |
| use OCA\Gallery\Controller\PreviewPublicController; | |
| use OCA\Gallery\Controller\PreviewApiController; | |
| use OCA\Gallery\Environment\Environment; | |
| use OCA\Gallery\Preview\Preview; | |
| use OCA\Gallery\Service\SearchFolderService; | |
| use OCA\Gallery\Service\ConfigService; | |
| use OCA\Gallery\Service\SearchMediaService; | |
| use OCA\Gallery\Service\ThumbnailService; | |
| use OCA\Gallery\Service\PreviewService; | |
| use OCA\Gallery\Service\DownloadService; | |
| use OCA\Gallery\Middleware\SharingCheckMiddleware; | |
| use OCA\Gallery\Middleware\EnvCheckMiddleware; | |
| use OCA\Gallery\Utility\EventSource; | |
| use OCA\OcUtility\AppInfo\Application as OcUtility; | |
| use OCA\OcUtility\Service\SmarterLogger as SmarterLogger; | |
| /** | |
| * Class Application | |
| * | |
| * @package OCA\Gallery\AppInfo | |
| */ | |
| class Application extends App { | |
| /** | |
| * Constructor | |
| * | |
| * @param array $urlParams | |
| */ | |
| public function __construct(array $urlParams = []) { | |
| parent::__construct('gallery', $urlParams); | |
| $container = $this->getContainer(); | |
| /** | |
| * Controllers | |
| */ | |
| $container->registerService( | |
| 'PageController', function (IContainer $c) { | |
| return new PageController( | |
| $c->query('AppName'), | |
| $c->query('Request'), | |
| $c->query('Environment'), | |
| $c->query('OCP\IURLGenerator'), | |
| $c->query('OCP\IConfig'), | |
| $c->query('Session') | |
| ); | |
| } | |
| ); | |
| $container->registerService( | |
| 'ConfigController', function (IContainer $c) { | |
| return new ConfigController( | |
| $c->query('AppName'), | |
| $c->query('Request'), | |
| $c->query('ConfigService'), | |
| $c->query('Logger') | |
| ); | |
| } | |
| ); | |
| $container->registerService( | |
| 'ConfigPublicController', function (IContainer $c) { | |
| return new ConfigPublicController( | |
| $c->query('AppName'), | |
| $c->query('Request'), | |
| $c->query('ConfigService'), | |
| $c->query('Logger') | |
| ); | |
| } | |
| ); | |
| $container->registerService( | |
| 'ConfigApiController', function (IContainer $c) { | |
| return new ConfigApiController( | |
| $c->query('AppName'), | |
| $c->query('Request'), | |
| $c->query('ConfigService'), | |
| $c->query('Logger') | |
| ); | |
| } | |
| ); | |
| $container->registerService( | |
| 'FilesController', function (IContainer $c) { | |
| return new FilesController( | |
| $c->query('AppName'), | |
| $c->query('Request'), | |
| $c->query('OCP\IURLGenerator'), | |
| $c->query('SearchFolderService'), | |
| $c->query('ConfigService'), | |
| $c->query('SearchMediaService'), | |
| $c->query('DownloadService'), | |
| $c->query('Logger') | |
| ); | |
| } | |
| ); | |
| $container->registerService( | |
| 'FilesPublicController', function (IContainer $c) { | |
| return new FilesPublicController( | |
| $c->query('AppName'), | |
| $c->query('Request'), | |
| $c->query('OCP\IURLGenerator'), | |
| $c->query('SearchFolderService'), | |
| $c->query('ConfigService'), | |
| $c->query('SearchMediaService'), | |
| $c->query('DownloadService'), | |
| $c->query('Logger') | |
| ); | |
| } | |
| ); | |
| $container->registerService( | |
| 'FilesApiController', function (IContainer $c) { | |
| return new FilesApiController( | |
| $c->query('AppName'), | |
| $c->query('Request'), | |
| $c->query('OCP\IURLGenerator'), | |
| $c->query('SearchFolderService'), | |
| $c->query('ConfigService'), | |
| $c->query('SearchMediaService'), | |
| $c->query('DownloadService'), | |
| $c->query('Logger') | |
| ); | |
| } | |
| ); | |
| $container->registerService( | |
| 'PreviewController', function (IContainer $c) { | |
| return new PreviewController( | |
| $c->query('AppName'), | |
| $c->query('Request'), | |
| $c->query('OCP\IURLGenerator'), | |
| $c->query('ConfigService'), | |
| $c->query('ThumbnailService'), | |
| $c->query('PreviewService'), | |
| $c->query('DownloadService'), | |
| $c->query('EventSource'), | |
| $c->query('Logger') | |
| ); | |
| } | |
| ); | |
| $container->registerService( | |
| 'PreviewPublicController', function (IContainer $c) { | |
| return new PreviewPublicController( | |
| $c->query('AppName'), | |
| $c->query('Request'), | |
| $c->query('OCP\IURLGenerator'), | |
| $c->query('ConfigService'), | |
| $c->query('ThumbnailService'), | |
| $c->query('PreviewService'), | |
| $c->query('DownloadService'), | |
| $c->query('EventSource'), | |
| $c->query('Logger') | |
| ); | |
| } | |
| ); | |
| $container->registerService( | |
| 'PreviewApiController', function (IContainer $c) { | |
| return new PreviewApiController( | |
| $c->query('AppName'), | |
| $c->query('Request'), | |
| $c->query('OCP\IURLGenerator'), | |
| $c->query('ConfigService'), | |
| $c->query('ThumbnailService'), | |
| $c->query('PreviewService'), | |
| $c->query('DownloadService'), | |
| $c->query('EventSource'), | |
| $c->query('Logger') | |
| ); | |
| } | |
| ); | |
| /** | |
| * Core | |
| */ | |
| $container->registerService( | |
| 'EventSource', function (IAppContainer $c) { | |
| return new EventSource(); | |
| } | |
| ); | |
| $container->registerService( | |
| 'Token', function (IContainer $c) { | |
| return $c->query('Request') | |
| ->getParam('token'); | |
| } | |
| ); | |
| $container->registerService( | |
| 'Session', function (IAppContainer $c) { | |
| return $c->getServer() | |
| ->getSession(); | |
| } | |
| ); | |
| $container->registerService( | |
| 'L10N', function (IAppContainer $c) { | |
| return $c->getServer() | |
| ->getL10N('gallery'); // Keep the same translations | |
| } | |
| ); | |
| $container->registerService( | |
| 'UserFolder', function (IAppContainer $c) { | |
| return $c->getServer() | |
| ->getUserFolder($c->query('UserId')); | |
| } | |
| ); | |
| /** | |
| * OCA | |
| */ | |
| $container->registerService( | |
| 'ConfigParser', function () { | |
| return new ConfigParser(); | |
| } | |
| ); | |
| $container->registerService( | |
| 'CustomPreviewManager', function (IContainer $c) { | |
| return new Preview( | |
| $c->query('OCP\IConfig'), | |
| $c->query('OCP\IPreview'), | |
| $c->query('Logger') | |
| ); | |
| } | |
| ); | |
| $container->registerService( | |
| 'Environment', function (IContainer $c) { | |
| return new Environment( | |
| $c->query('AppName'), | |
| $c->query('UserId'), | |
| $c->query('UserFolder'), | |
| $c->query('OCP\IUserManager'), | |
| $c->query('OCP\Files\IRootFolder'), | |
| $c->query('Logger') | |
| ); | |
| } | |
| ); | |
| /*// The same thing as above, but in OC9, hopefully. See https://github.com/owncloud/core/issues/12676 | |
| $container->registerService( | |
| 'Environment', function (IAppContainer $c) { | |
| $token = $c->query('Token'); | |
| return $c | |
| ->getServer() | |
| ->getEnvironment($token); | |
| } | |
| );*/ | |
| /** | |
| * OCA External | |
| */ | |
| if (\OCP\App::isEnabled('ocutility')) { | |
| // @codeCoverageIgnoreStart | |
| $container->registerService( | |
| 'UtilityContainer', function () { | |
| $app = new OcUtility(); | |
| return $app->getContainer(); | |
| } | |
| ); | |
| $container->registerService( | |
| 'Helper', function (IContainer $c) { | |
| return $c->query('UtilityContainer') | |
| ->query('OCA\OcUtility\Service\Helper'); | |
| } | |
| ); | |
| $container->registerService( | |
| 'Logger', function (IContainer $c) { | |
| return new SmarterLogger( | |
| $c->query('AppName'), | |
| $c->query('OCP\ILogger') | |
| ); | |
| } | |
| ); | |
| } else { | |
| // @codeCoverageIgnoreEnd | |
| $container->registerService( | |
| 'Logger', function (IContainer $c) { | |
| return $c->query('OCP\ILogger'); | |
| } | |
| ); | |
| } | |
| /** | |
| * Services | |
| */ | |
| $container->registerService( | |
| 'SearchFolderService', function (IContainer $c) { | |
| return new SearchFolderService( | |
| $c->query('AppName'), | |
| $c->query('Environment'), | |
| $c->query('Logger') | |
| ); | |
| } | |
| ); | |
| $container->registerService( | |
| 'ConfigService', function (IContainer $c) { | |
| return new ConfigService( | |
| $c->query('AppName'), | |
| $c->query('Environment'), | |
| $c->query('ConfigParser'), | |
| $c->query('CustomPreviewManager'), | |
| $c->query('Logger') | |
| ); | |
| } | |
| ); | |
| $container->registerService( | |
| 'SearchMediaService', function (IContainer $c) { | |
| return new SearchMediaService( | |
| $c->query('AppName'), | |
| $c->query('Environment'), | |
| $c->query('Logger') | |
| ); | |
| } | |
| ); | |
| $container->registerService( | |
| 'ThumbnailService', function () { | |
| return new ThumbnailService(); | |
| } | |
| ); | |
| $container->registerService( | |
| 'PreviewService', function (IContainer $c) { | |
| return new PreviewService( | |
| $c->query('AppName'), | |
| $c->query('Environment'), | |
| $c->query('CustomPreviewManager'), | |
| $c->query('Logger') | |
| ); | |
| } | |
| ); | |
| $container->registerService( | |
| 'DownloadService', function (IContainer $c) { | |
| return new DownloadService( | |
| $c->query('AppName'), | |
| $c->query('Environment'), | |
| $c->query('Logger') | |
| ); | |
| } | |
| ); | |
| /** | |
| * Middleware | |
| */ | |
| $container->registerService( | |
| 'SharingCheckMiddleware', | |
| function (IAppContainer $c) { | |
| return new SharingCheckMiddleware( | |
| $c->query('AppName'), | |
| $c->query('Request'), | |
| $c->query('OCP\IConfig'), | |
| $c->query('OCP\AppFramework\Utility\IControllerMethodReflector'), | |
| $c->query('OCP\IURLGenerator'), | |
| $c->query('Logger') | |
| ); | |
| } | |
| ); | |
| $container->registerService( | |
| 'EnvCheckMiddleware', | |
| function (IContainer $c) { | |
| return new EnvCheckMiddleware( | |
| $c->query('AppName'), | |
| $c->query('Request'), | |
| $c->query('OCP\Security\IHasher'), | |
| $c->query('Session'), | |
| $c->query('Environment'), | |
| $c->query('OCP\AppFramework\Utility\IControllerMethodReflector'), | |
| $c->query('OCP\IURLGenerator'), | |
| $c->query('OCP\Share\IManager'), | |
| $c->query('Logger') | |
| ); | |
| } | |
| ); | |
| // Executed in the order that it is registered | |
| $container->registerMiddleware('SharingCheckMiddleware'); | |
| $container->registerMiddleware('EnvCheckMiddleware'); | |
| } | |
| } |