summaryrefslogtreecommitdiffstats
path: root/apps/files_sharing/application.php
diff options
context:
space:
mode:
authorLukas Reschke <lukas@owncloud.com>2014-10-15 11:58:44 +0200
committerLukas Reschke <lukas@owncloud.com>2014-11-14 16:26:59 +0100
commit988c85d2922a03346389e3656dc71dfee514e645 (patch)
tree9be0d1674dd7e780c70c77a987c4a810145078ab /apps/files_sharing/application.php
parent0f3c5d8541dcb41eebd00f22864a0a646c11124f (diff)
downloadnextcloud-server-988c85d2922a03346389e3656dc71dfee514e645.tar.gz
nextcloud-server-988c85d2922a03346389e3656dc71dfee514e645.zip
Refactor file sharing public link handling
fixes download issue introduced by #10755 Conflicts: apps/files_sharing/public.php
Diffstat (limited to 'apps/files_sharing/application.php')
-rw-r--r--apps/files_sharing/application.php73
1 files changed, 73 insertions, 0 deletions
diff --git a/apps/files_sharing/application.php b/apps/files_sharing/application.php
new file mode 100644
index 00000000000..089ed6afbda
--- /dev/null
+++ b/apps/files_sharing/application.php
@@ -0,0 +1,73 @@
+<?php
+/**
+ * @author Lukas Reschke
+ * @copyright 2014 Lukas Reschke lukas@owncloud.com
+ *
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+
+namespace OCA\Files_Sharing;
+
+use OC\AppFramework\Utility\SimpleContainer;
+use OCA\Files_Sharing\Controllers\ShareController;
+use OCA\Files_Sharing\Middleware\SharingCheckMiddleware;
+use \OCP\AppFramework\App;
+
+/**
+ * @package OCA\Files_Sharing
+ */
+class Application extends App {
+
+
+ /**
+ * @param array $urlParams
+ */
+ public function __construct(array $urlParams=array()){
+ parent::__construct('files_sharing', $urlParams);
+
+ $container = $this->getContainer();
+
+ /**
+ * Controllers
+ */
+ $container->registerService('ShareController', function(SimpleContainer $c) {
+ return new ShareController(
+ $c->query('AppName'),
+ $c->query('Request'),
+ $c->query('UserSession'),
+ $c->query('ServerContainer')->getAppConfig(),
+ $c->query('ServerContainer')->getConfig(),
+ $c->query('URLGenerator'),
+ $c->query('ServerContainer')->getUserManager(),
+ $c->query('ServerContainer')->getLogger()
+ );
+ });
+
+ /**
+ * Core class wrappers
+ */
+ $container->registerService('UserSession', function(SimpleContainer $c) {
+ return $c->query('ServerContainer')->getUserSession();
+ });
+ $container->registerService('URLGenerator', function(SimpleContainer $c) {
+ return $c->query('ServerContainer')->getUrlGenerator();
+ });
+
+ /**
+ * Middleware
+ */
+ $container->registerService('SharingCheckMiddleware', function(SimpleContainer $c){
+ return new SharingCheckMiddleware(
+ $c->query('AppName'),
+ $c->query('ServerContainer')->getAppConfig(),
+ $c->getCoreApi()
+ );
+ });
+
+ // Execute middlewares
+ $container->registerMiddleware('SharingCheckMiddleware');
+ }
+
+}