Completed
Push — master ( c9612b...1c88e5 )
by Lukas
15:34
created
apps/files_sharing/appinfo/routes.php 1 patch
Indentation   +90 added lines, -90 removed lines patch added patch discarded remove patch
@@ -27,102 +27,102 @@
 block discarded – undo
27 27
  */
28 28
 
29 29
 return [
30
-	'resources' => [
31
-		'ExternalShares' => ['url' => '/api/externalShares'],
32
-	],
33
-	'routes' => [
34
-		[
35
-			'name' => 'externalShares#testRemote',
36
-			'url' => '/testremote',
37
-			'verb' => 'GET'
38
-		],
39
-		[
40
-			'name' => 'PublicPreview#getPreview',
41
-			'url' => '/publicpreview',
42
-			'verb' => 'GET',
43
-		],
30
+    'resources' => [
31
+        'ExternalShares' => ['url' => '/api/externalShares'],
32
+    ],
33
+    'routes' => [
34
+        [
35
+            'name' => 'externalShares#testRemote',
36
+            'url' => '/testremote',
37
+            'verb' => 'GET'
38
+        ],
39
+        [
40
+            'name' => 'PublicPreview#getPreview',
41
+            'url' => '/publicpreview',
42
+            'verb' => 'GET',
43
+        ],
44 44
 
45
-		[
46
-			'name' => 'PublicPreview#getPreview',
47
-			'url' => '/ajax/publicpreview.php',
48
-			'verb' => 'GET',
49
-		],
45
+        [
46
+            'name' => 'PublicPreview#getPreview',
47
+            'url' => '/ajax/publicpreview.php',
48
+            'verb' => 'GET',
49
+        ],
50 50
 
51
-		[
52
-			'name' => 'ShareInfo#info',
53
-			'url' => '/shareinfo',
54
-			'verb' => 'POST',
55
-		],
56
-	],
57
-	'ocs' => [
58
-		/*
51
+        [
52
+            'name' => 'ShareInfo#info',
53
+            'url' => '/shareinfo',
54
+            'verb' => 'POST',
55
+        ],
56
+    ],
57
+    'ocs' => [
58
+        /*
59 59
 		 * OCS Share API
60 60
 		 */
61
-		[
62
-			'name' => 'ShareAPI#getShares',
63
-			'url'  => '/api/v1/shares',
64
-			'verb' => 'GET',
65
-		],
66
-		[
67
-			'name' => 'ShareAPI#createShare',
68
-			'url'  => '/api/v1/shares',
69
-			'verb' => 'POST',
70
-		],
71
-		[
72
-			'name' => 'ShareAPI#getShare',
73
-			'url'  => '/api/v1/shares/{id}',
74
-			'verb' => 'GET',
75
-		],
76
-		[
77
-			'name' => 'ShareAPI#updateShare',
78
-			'url'  => '/api/v1/shares/{id}',
79
-			'verb' => 'PUT',
80
-		],
81
-		[
82
-			'name' => 'ShareAPI#deleteShare',
83
-			'url'  => '/api/v1/shares/{id}',
84
-			'verb' => 'DELETE',
85
-		],
86
-		/*
61
+        [
62
+            'name' => 'ShareAPI#getShares',
63
+            'url'  => '/api/v1/shares',
64
+            'verb' => 'GET',
65
+        ],
66
+        [
67
+            'name' => 'ShareAPI#createShare',
68
+            'url'  => '/api/v1/shares',
69
+            'verb' => 'POST',
70
+        ],
71
+        [
72
+            'name' => 'ShareAPI#getShare',
73
+            'url'  => '/api/v1/shares/{id}',
74
+            'verb' => 'GET',
75
+        ],
76
+        [
77
+            'name' => 'ShareAPI#updateShare',
78
+            'url'  => '/api/v1/shares/{id}',
79
+            'verb' => 'PUT',
80
+        ],
81
+        [
82
+            'name' => 'ShareAPI#deleteShare',
83
+            'url'  => '/api/v1/shares/{id}',
84
+            'verb' => 'DELETE',
85
+        ],
86
+        /*
87 87
 		 * OCS Sharee API
88 88
 		 */
89
-		[
90
-			'name' => 'ShareesAPI#search',
91
-			'url' => '/api/v1/sharees',
92
-			'verb' => 'GET',
93
-		],
94
-		/*
89
+        [
90
+            'name' => 'ShareesAPI#search',
91
+            'url' => '/api/v1/sharees',
92
+            'verb' => 'GET',
93
+        ],
94
+        /*
95 95
 		 * Remote Shares
96 96
 		 */
97
-		[
98
-			'name' => 'Remote#getShares',
99
-			'url' => '/api/v1/remote_shares',
100
-			'verb' => 'GET',
101
-		],
102
-		[
103
-			'name' => 'Remote#getOpenShares',
104
-			'url' => '/api/v1/remote_shares/pending',
105
-			'verb' => 'GET',
106
-		],
107
-		[
108
-			'name' => 'Remote#acceptShare',
109
-			'url' => '/api/v1/remote_shares/pending/{id}',
110
-			'verb' => 'POST',
111
-		],
112
-		[
113
-			'name' => 'Remote#declineShare',
114
-			'url' => '/api/v1/remote_shares/pending/{id}',
115
-			'verb' => 'DELETE',
116
-		],
117
-		[
118
-			'name' => 'Remote#getShare',
119
-			'url' => '/api/v1/remote_shares/{id}',
120
-			'verb' => 'GET',
121
-		],
122
-		[
123
-			'name' => 'Remote#unshare',
124
-			'url' => '/api/v1/remote_shares/{id}',
125
-			'verb' => 'DELETE',
126
-		],
127
-	],
97
+        [
98
+            'name' => 'Remote#getShares',
99
+            'url' => '/api/v1/remote_shares',
100
+            'verb' => 'GET',
101
+        ],
102
+        [
103
+            'name' => 'Remote#getOpenShares',
104
+            'url' => '/api/v1/remote_shares/pending',
105
+            'verb' => 'GET',
106
+        ],
107
+        [
108
+            'name' => 'Remote#acceptShare',
109
+            'url' => '/api/v1/remote_shares/pending/{id}',
110
+            'verb' => 'POST',
111
+        ],
112
+        [
113
+            'name' => 'Remote#declineShare',
114
+            'url' => '/api/v1/remote_shares/pending/{id}',
115
+            'verb' => 'DELETE',
116
+        ],
117
+        [
118
+            'name' => 'Remote#getShare',
119
+            'url' => '/api/v1/remote_shares/{id}',
120
+            'verb' => 'GET',
121
+        ],
122
+        [
123
+            'name' => 'Remote#unshare',
124
+            'url' => '/api/v1/remote_shares/{id}',
125
+            'verb' => 'DELETE',
126
+        ],
127
+    ],
128 128
 ];
Please login to merge, or discard this patch.
apps/files_sharing/lib/AppInfo/Application.php 2 patches
Indentation   +117 added lines, -117 removed lines patch added patch discarded remove patch
@@ -41,134 +41,134 @@
 block discarded – undo
41 41
 use OCP\IServerContainer;
42 42
 
43 43
 class Application extends App {
44
-	public function __construct(array $urlParams = array()) {
45
-		parent::__construct('files_sharing', $urlParams);
44
+    public function __construct(array $urlParams = array()) {
45
+        parent::__construct('files_sharing', $urlParams);
46 46
 
47
-		$container = $this->getContainer();
48
-		/** @var IServerContainer $server */
49
-		$server = $container->getServer();
47
+        $container = $this->getContainer();
48
+        /** @var IServerContainer $server */
49
+        $server = $container->getServer();
50 50
 
51
-		/**
52
-		 * Controllers
53
-		 */
54
-		$container->registerService('ShareController', function (SimpleContainer $c) use ($server) {
55
-			$federatedSharingApp = new \OCA\FederatedFileSharing\AppInfo\Application();
56
-			return new ShareController(
57
-				$c->query('AppName'),
58
-				$c->query('Request'),
59
-				$server->getConfig(),
60
-				$server->getURLGenerator(),
61
-				$server->getUserManager(),
62
-				$server->getLogger(),
63
-				$server->getActivityManager(),
64
-				$server->getShareManager(),
65
-				$server->getSession(),
66
-				$server->getPreviewManager(),
67
-				$server->getRootFolder(),
68
-				$federatedSharingApp->getFederatedShareProvider(),
69
-				$server->getEventDispatcher(),
70
-				$server->getL10N($c->query('AppName')),
71
-				$server->query(Defaults::class)
72
-			);
73
-		});
74
-		$container->registerService('ExternalSharesController', function (SimpleContainer $c) {
75
-			return new ExternalSharesController(
76
-				$c->query('AppName'),
77
-				$c->query('Request'),
78
-				$c->query('ExternalManager'),
79
-				$c->query('HttpClientService')
80
-			);
81
-		});
51
+        /**
52
+         * Controllers
53
+         */
54
+        $container->registerService('ShareController', function (SimpleContainer $c) use ($server) {
55
+            $federatedSharingApp = new \OCA\FederatedFileSharing\AppInfo\Application();
56
+            return new ShareController(
57
+                $c->query('AppName'),
58
+                $c->query('Request'),
59
+                $server->getConfig(),
60
+                $server->getURLGenerator(),
61
+                $server->getUserManager(),
62
+                $server->getLogger(),
63
+                $server->getActivityManager(),
64
+                $server->getShareManager(),
65
+                $server->getSession(),
66
+                $server->getPreviewManager(),
67
+                $server->getRootFolder(),
68
+                $federatedSharingApp->getFederatedShareProvider(),
69
+                $server->getEventDispatcher(),
70
+                $server->getL10N($c->query('AppName')),
71
+                $server->query(Defaults::class)
72
+            );
73
+        });
74
+        $container->registerService('ExternalSharesController', function (SimpleContainer $c) {
75
+            return new ExternalSharesController(
76
+                $c->query('AppName'),
77
+                $c->query('Request'),
78
+                $c->query('ExternalManager'),
79
+                $c->query('HttpClientService')
80
+            );
81
+        });
82 82
 
83
-		/**
84
-		 * Core class wrappers
85
-		 */
86
-		$container->registerService('HttpClientService', function (SimpleContainer $c) use ($server) {
87
-			return $server->getHTTPClientService();
88
-		});
89
-		$container->registerService(ICloudIdManager::class, function (SimpleContainer $c) use ($server) {
90
-			return $server->getCloudIdManager();
91
-		});
92
-		$container->registerService('ExternalManager', function (SimpleContainer $c) use ($server) {
93
-			$user = $server->getUserSession()->getUser();
94
-			$uid = $user ? $user->getUID() : null;
95
-			return new \OCA\Files_Sharing\External\Manager(
96
-				$server->getDatabaseConnection(),
97
-				\OC\Files\Filesystem::getMountManager(),
98
-				\OC\Files\Filesystem::getLoader(),
99
-				$server->getHTTPClientService(),
100
-				$server->getNotificationManager(),
101
-				$server->query(\OCP\OCS\IDiscoveryService::class),
102
-				$uid
103
-			);
104
-		});
105
-		$container->registerAlias('OCA\Files_Sharing\External\Manager', 'ExternalManager');
83
+        /**
84
+         * Core class wrappers
85
+         */
86
+        $container->registerService('HttpClientService', function (SimpleContainer $c) use ($server) {
87
+            return $server->getHTTPClientService();
88
+        });
89
+        $container->registerService(ICloudIdManager::class, function (SimpleContainer $c) use ($server) {
90
+            return $server->getCloudIdManager();
91
+        });
92
+        $container->registerService('ExternalManager', function (SimpleContainer $c) use ($server) {
93
+            $user = $server->getUserSession()->getUser();
94
+            $uid = $user ? $user->getUID() : null;
95
+            return new \OCA\Files_Sharing\External\Manager(
96
+                $server->getDatabaseConnection(),
97
+                \OC\Files\Filesystem::getMountManager(),
98
+                \OC\Files\Filesystem::getLoader(),
99
+                $server->getHTTPClientService(),
100
+                $server->getNotificationManager(),
101
+                $server->query(\OCP\OCS\IDiscoveryService::class),
102
+                $uid
103
+            );
104
+        });
105
+        $container->registerAlias('OCA\Files_Sharing\External\Manager', 'ExternalManager');
106 106
 
107
-		/**
108
-		 * Middleware
109
-		 */
110
-		$container->registerService('SharingCheckMiddleware', function (SimpleContainer $c) use ($server) {
111
-			return new SharingCheckMiddleware(
112
-				$c->query('AppName'),
113
-				$server->getConfig(),
114
-				$server->getAppManager(),
115
-				$c['ControllerMethodReflector'],
116
-				$server->getShareManager(),
117
-				$server->getRequest()
118
-			);
119
-		});
107
+        /**
108
+         * Middleware
109
+         */
110
+        $container->registerService('SharingCheckMiddleware', function (SimpleContainer $c) use ($server) {
111
+            return new SharingCheckMiddleware(
112
+                $c->query('AppName'),
113
+                $server->getConfig(),
114
+                $server->getAppManager(),
115
+                $c['ControllerMethodReflector'],
116
+                $server->getShareManager(),
117
+                $server->getRequest()
118
+            );
119
+        });
120 120
 
121
-		$container->registerService('OCSShareAPIMiddleware', function (SimpleContainer $c) use ($server) {
122
-			return new OCSShareAPIMiddleware(
123
-				$server->getShareManager(),
124
-				$server->getL10N($c->query('AppName'))
125
-			);
126
-		});
121
+        $container->registerService('OCSShareAPIMiddleware', function (SimpleContainer $c) use ($server) {
122
+            return new OCSShareAPIMiddleware(
123
+                $server->getShareManager(),
124
+                $server->getL10N($c->query('AppName'))
125
+            );
126
+        });
127 127
 
128
-		$container->registerService(ShareInfoMiddleware::class, function () use ($server) {
129
-			return new ShareInfoMiddleware(
130
-				$server->getShareManager()
131
-			);
132
-		});
128
+        $container->registerService(ShareInfoMiddleware::class, function () use ($server) {
129
+            return new ShareInfoMiddleware(
130
+                $server->getShareManager()
131
+            );
132
+        });
133 133
 
134
-		// Execute middlewares
135
-		$container->registerMiddleWare('SharingCheckMiddleware');
136
-		$container->registerMiddleWare('OCSShareAPIMiddleware');
137
-		$container->registerMiddleWare(ShareInfoMiddleware::class);
134
+        // Execute middlewares
135
+        $container->registerMiddleWare('SharingCheckMiddleware');
136
+        $container->registerMiddleWare('OCSShareAPIMiddleware');
137
+        $container->registerMiddleWare(ShareInfoMiddleware::class);
138 138
 
139
-		$container->registerService('MountProvider', function (IContainer $c) {
140
-			/** @var \OCP\IServerContainer $server */
141
-			$server = $c->query('ServerContainer');
142
-			return new MountProvider(
143
-				$server->getConfig(),
144
-				$server->getShareManager(),
145
-				$server->getLogger()
146
-			);
147
-		});
139
+        $container->registerService('MountProvider', function (IContainer $c) {
140
+            /** @var \OCP\IServerContainer $server */
141
+            $server = $c->query('ServerContainer');
142
+            return new MountProvider(
143
+                $server->getConfig(),
144
+                $server->getShareManager(),
145
+                $server->getLogger()
146
+            );
147
+        });
148 148
 
149
-		$container->registerService('ExternalMountProvider', function (IContainer $c) {
150
-			/** @var \OCP\IServerContainer $server */
151
-			$server = $c->query('ServerContainer');
152
-			return new \OCA\Files_Sharing\External\MountProvider(
153
-				$server->getDatabaseConnection(),
154
-				function() use ($c) {
155
-					return $c->query('ExternalManager');
156
-				},
157
-				$server->getCloudIdManager()
158
-			);
159
-		});
149
+        $container->registerService('ExternalMountProvider', function (IContainer $c) {
150
+            /** @var \OCP\IServerContainer $server */
151
+            $server = $c->query('ServerContainer');
152
+            return new \OCA\Files_Sharing\External\MountProvider(
153
+                $server->getDatabaseConnection(),
154
+                function() use ($c) {
155
+                    return $c->query('ExternalManager');
156
+                },
157
+                $server->getCloudIdManager()
158
+            );
159
+        });
160 160
 
161
-		/*
161
+        /*
162 162
 		 * Register capabilities
163 163
 		 */
164
-		$container->registerCapability('OCA\Files_Sharing\Capabilities');
165
-	}
164
+        $container->registerCapability('OCA\Files_Sharing\Capabilities');
165
+    }
166 166
 
167
-	public function registerMountProviders() {
168
-		/** @var \OCP\IServerContainer $server */
169
-		$server = $this->getContainer()->query('ServerContainer');
170
-		$mountProviderCollection = $server->getMountProviderCollection();
171
-		$mountProviderCollection->registerProvider($this->getContainer()->query('MountProvider'));
172
-		$mountProviderCollection->registerProvider($this->getContainer()->query('ExternalMountProvider'));
173
-	}
167
+    public function registerMountProviders() {
168
+        /** @var \OCP\IServerContainer $server */
169
+        $server = $this->getContainer()->query('ServerContainer');
170
+        $mountProviderCollection = $server->getMountProviderCollection();
171
+        $mountProviderCollection->registerProvider($this->getContainer()->query('MountProvider'));
172
+        $mountProviderCollection->registerProvider($this->getContainer()->query('ExternalMountProvider'));
173
+    }
174 174
 }
Please login to merge, or discard this patch.
Spacing   +10 added lines, -10 removed lines patch added patch discarded remove patch
@@ -51,7 +51,7 @@  discard block
 block discarded – undo
51 51
 		/**
52 52
 		 * Controllers
53 53
 		 */
54
-		$container->registerService('ShareController', function (SimpleContainer $c) use ($server) {
54
+		$container->registerService('ShareController', function(SimpleContainer $c) use ($server) {
55 55
 			$federatedSharingApp = new \OCA\FederatedFileSharing\AppInfo\Application();
56 56
 			return new ShareController(
57 57
 				$c->query('AppName'),
@@ -71,7 +71,7 @@  discard block
 block discarded – undo
71 71
 				$server->query(Defaults::class)
72 72
 			);
73 73
 		});
74
-		$container->registerService('ExternalSharesController', function (SimpleContainer $c) {
74
+		$container->registerService('ExternalSharesController', function(SimpleContainer $c) {
75 75
 			return new ExternalSharesController(
76 76
 				$c->query('AppName'),
77 77
 				$c->query('Request'),
@@ -83,13 +83,13 @@  discard block
 block discarded – undo
83 83
 		/**
84 84
 		 * Core class wrappers
85 85
 		 */
86
-		$container->registerService('HttpClientService', function (SimpleContainer $c) use ($server) {
86
+		$container->registerService('HttpClientService', function(SimpleContainer $c) use ($server) {
87 87
 			return $server->getHTTPClientService();
88 88
 		});
89
-		$container->registerService(ICloudIdManager::class, function (SimpleContainer $c) use ($server) {
89
+		$container->registerService(ICloudIdManager::class, function(SimpleContainer $c) use ($server) {
90 90
 			return $server->getCloudIdManager();
91 91
 		});
92
-		$container->registerService('ExternalManager', function (SimpleContainer $c) use ($server) {
92
+		$container->registerService('ExternalManager', function(SimpleContainer $c) use ($server) {
93 93
 			$user = $server->getUserSession()->getUser();
94 94
 			$uid = $user ? $user->getUID() : null;
95 95
 			return new \OCA\Files_Sharing\External\Manager(
@@ -107,7 +107,7 @@  discard block
 block discarded – undo
107 107
 		/**
108 108
 		 * Middleware
109 109
 		 */
110
-		$container->registerService('SharingCheckMiddleware', function (SimpleContainer $c) use ($server) {
110
+		$container->registerService('SharingCheckMiddleware', function(SimpleContainer $c) use ($server) {
111 111
 			return new SharingCheckMiddleware(
112 112
 				$c->query('AppName'),
113 113
 				$server->getConfig(),
@@ -118,14 +118,14 @@  discard block
 block discarded – undo
118 118
 			);
119 119
 		});
120 120
 
121
-		$container->registerService('OCSShareAPIMiddleware', function (SimpleContainer $c) use ($server) {
121
+		$container->registerService('OCSShareAPIMiddleware', function(SimpleContainer $c) use ($server) {
122 122
 			return new OCSShareAPIMiddleware(
123 123
 				$server->getShareManager(),
124 124
 				$server->getL10N($c->query('AppName'))
125 125
 			);
126 126
 		});
127 127
 
128
-		$container->registerService(ShareInfoMiddleware::class, function () use ($server) {
128
+		$container->registerService(ShareInfoMiddleware::class, function() use ($server) {
129 129
 			return new ShareInfoMiddleware(
130 130
 				$server->getShareManager()
131 131
 			);
@@ -136,7 +136,7 @@  discard block
 block discarded – undo
136 136
 		$container->registerMiddleWare('OCSShareAPIMiddleware');
137 137
 		$container->registerMiddleWare(ShareInfoMiddleware::class);
138 138
 
139
-		$container->registerService('MountProvider', function (IContainer $c) {
139
+		$container->registerService('MountProvider', function(IContainer $c) {
140 140
 			/** @var \OCP\IServerContainer $server */
141 141
 			$server = $c->query('ServerContainer');
142 142
 			return new MountProvider(
@@ -146,7 +146,7 @@  discard block
 block discarded – undo
146 146
 			);
147 147
 		});
148 148
 
149
-		$container->registerService('ExternalMountProvider', function (IContainer $c) {
149
+		$container->registerService('ExternalMountProvider', function(IContainer $c) {
150 150
 			/** @var \OCP\IServerContainer $server */
151 151
 			$server = $c->query('ServerContainer');
152 152
 			return new \OCA\Files_Sharing\External\MountProvider(
Please login to merge, or discard this patch.
apps/files_sharing/lib/Controller/ShareInfoController.php 3 patches
Unused Use Statements   -1 removed lines patch added patch discarded remove patch
@@ -10,7 +10,6 @@
 block discarded – undo
10 10
 use OCP\Files\File;
11 11
 use OCP\Files\Folder;
12 12
 use OCP\Files\Node;
13
-use OCP\ILogger;
14 13
 use OCP\IRequest;
15 14
 use OCP\Share\Exceptions\ShareNotFound;
16 15
 use OCP\Share\IManager;
Please login to merge, or discard this patch.
Indentation   +110 added lines, -110 removed lines patch added patch discarded remove patch
@@ -17,114 +17,114 @@
 block discarded – undo
17 17
 
18 18
 class ShareInfoController extends ApiController {
19 19
 
20
-	/** @var IManager */
21
-	private $shareManager;
22
-
23
-	/**
24
-	 * ShareInfoController constructor.
25
-	 *
26
-	 * @param string $appName
27
-	 * @param IRequest $request
28
-	 * @param IManager $shareManager
29
-	 */
30
-	public function __construct($appName,
31
-								IRequest $request,
32
-								IManager $shareManager) {
33
-		parent::__construct($appName, $request);
34
-
35
-		$this->shareManager = $shareManager;
36
-	}
37
-
38
-	/**
39
-	 * @PublicPage
40
-	 * @NoCSRFRequired
41
-	 *
42
-	 * @param string $t
43
-	 * @param null $password
44
-	 * @param null $dir
45
-	 * @return JSONResponse
46
-	 * @throws ShareNotFound
47
-	 */
48
-	public function info($t, $password = null, $dir = null) {
49
-		try {
50
-			$share = $this->shareManager->getShareByToken($t);
51
-		} catch (ShareNotFound $e) {
52
-			return new JSONResponse([], Http::STATUS_NOT_FOUND);
53
-		}
54
-
55
-		if ($share->getPassword() && !$this->shareManager->checkPassword($share, $password)) {
56
-			return new JSONResponse([], Http::STATUS_FORBIDDEN);
57
-		}
58
-
59
-		if (!($share->getPermissions() & Constants::PERMISSION_READ)) {
60
-			return new JSONResponse([], Http::STATUS_FORBIDDEN);
61
-		}
62
-
63
-		$isWritable = $share->getPermissions() & (\OCP\Constants::PERMISSION_UPDATE | \OCP\Constants::PERMISSION_CREATE);
64
-		if (!$isWritable) {
65
-			$this->addROWrapper();
66
-		}
67
-
68
-		$node = $share->getNode();
69
-
70
-		if ($dir !== null && $node instanceof Folder) {
71
-			try {
72
-				$node = $node->get($dir);
73
-			} catch (NotFoundException $e) {
74
-
75
-			}
76
-		}
77
-
78
-		return new JSONResponse($this->parseNode($node));
79
-	}
80
-
81
-	private function parseNode(Node $node) {
82
-		if ($node instanceof File) {
83
-			return $this->parseFile($node);
84
-		}
85
-		return $this->parseFolder($node);
86
-	}
87
-
88
-	private function parseFile(File $file) {
89
-		return $this->format($file);
90
-	}
91
-
92
-	private function parseFolder(Folder $folder) {
93
-		$data = $this->format($folder);
94
-
95
-		$data['children'] = [];
96
-
97
-		$nodes = $folder->getDirectoryListing();
98
-		foreach ($nodes as $node) {
99
-			$data['children'][] = $this->parseNode($node);
100
-		}
101
-
102
-		return $data;
103
-	}
104
-
105
-	private function format(Node $node) {
106
-		$entry = [];
107
-
108
-		$entry['id'] = $node->getId();
109
-		$entry['parentId'] = $node->getParent()->getId();
110
-		$entry['mtime'] = $node->getMTime();
111
-
112
-		$entry['name'] = $node->getName();
113
-		$entry['permissions'] = $node->getPermissions();
114
-		$entry['mimetype'] = $node->getMimetype();
115
-		$entry['size'] = $node->getSize();
116
-		$entry['type'] = $node->getType();
117
-		$entry['etag'] = $node->getEtag();
118
-
119
-		return $entry;
120
-	}
121
-
122
-	protected function addROWrapper() {
123
-		// FIXME: should not add storage wrappers outside of preSetup, need to find a better way
124
-		$previousLog = \OC\Files\Filesystem::logWarningWhenAddingStorageWrapper(false);
125
-		\OC\Files\Filesystem::addStorageWrapper('readonly', function ($mountPoint, $storage) {
126
-			return new \OC\Files\Storage\Wrapper\PermissionsMask(array('storage' => $storage, 'mask' => \OCP\Constants::PERMISSION_READ + \OCP\Constants::PERMISSION_SHARE));
127
-		});
128
-		\OC\Files\Filesystem::logWarningWhenAddingStorageWrapper($previousLog);
129
-	}
20
+    /** @var IManager */
21
+    private $shareManager;
22
+
23
+    /**
24
+     * ShareInfoController constructor.
25
+     *
26
+     * @param string $appName
27
+     * @param IRequest $request
28
+     * @param IManager $shareManager
29
+     */
30
+    public function __construct($appName,
31
+                                IRequest $request,
32
+                                IManager $shareManager) {
33
+        parent::__construct($appName, $request);
34
+
35
+        $this->shareManager = $shareManager;
36
+    }
37
+
38
+    /**
39
+     * @PublicPage
40
+     * @NoCSRFRequired
41
+     *
42
+     * @param string $t
43
+     * @param null $password
44
+     * @param null $dir
45
+     * @return JSONResponse
46
+     * @throws ShareNotFound
47
+     */
48
+    public function info($t, $password = null, $dir = null) {
49
+        try {
50
+            $share = $this->shareManager->getShareByToken($t);
51
+        } catch (ShareNotFound $e) {
52
+            return new JSONResponse([], Http::STATUS_NOT_FOUND);
53
+        }
54
+
55
+        if ($share->getPassword() && !$this->shareManager->checkPassword($share, $password)) {
56
+            return new JSONResponse([], Http::STATUS_FORBIDDEN);
57
+        }
58
+
59
+        if (!($share->getPermissions() & Constants::PERMISSION_READ)) {
60
+            return new JSONResponse([], Http::STATUS_FORBIDDEN);
61
+        }
62
+
63
+        $isWritable = $share->getPermissions() & (\OCP\Constants::PERMISSION_UPDATE | \OCP\Constants::PERMISSION_CREATE);
64
+        if (!$isWritable) {
65
+            $this->addROWrapper();
66
+        }
67
+
68
+        $node = $share->getNode();
69
+
70
+        if ($dir !== null && $node instanceof Folder) {
71
+            try {
72
+                $node = $node->get($dir);
73
+            } catch (NotFoundException $e) {
74
+
75
+            }
76
+        }
77
+
78
+        return new JSONResponse($this->parseNode($node));
79
+    }
80
+
81
+    private function parseNode(Node $node) {
82
+        if ($node instanceof File) {
83
+            return $this->parseFile($node);
84
+        }
85
+        return $this->parseFolder($node);
86
+    }
87
+
88
+    private function parseFile(File $file) {
89
+        return $this->format($file);
90
+    }
91
+
92
+    private function parseFolder(Folder $folder) {
93
+        $data = $this->format($folder);
94
+
95
+        $data['children'] = [];
96
+
97
+        $nodes = $folder->getDirectoryListing();
98
+        foreach ($nodes as $node) {
99
+            $data['children'][] = $this->parseNode($node);
100
+        }
101
+
102
+        return $data;
103
+    }
104
+
105
+    private function format(Node $node) {
106
+        $entry = [];
107
+
108
+        $entry['id'] = $node->getId();
109
+        $entry['parentId'] = $node->getParent()->getId();
110
+        $entry['mtime'] = $node->getMTime();
111
+
112
+        $entry['name'] = $node->getName();
113
+        $entry['permissions'] = $node->getPermissions();
114
+        $entry['mimetype'] = $node->getMimetype();
115
+        $entry['size'] = $node->getSize();
116
+        $entry['type'] = $node->getType();
117
+        $entry['etag'] = $node->getEtag();
118
+
119
+        return $entry;
120
+    }
121
+
122
+    protected function addROWrapper() {
123
+        // FIXME: should not add storage wrappers outside of preSetup, need to find a better way
124
+        $previousLog = \OC\Files\Filesystem::logWarningWhenAddingStorageWrapper(false);
125
+        \OC\Files\Filesystem::addStorageWrapper('readonly', function ($mountPoint, $storage) {
126
+            return new \OC\Files\Storage\Wrapper\PermissionsMask(array('storage' => $storage, 'mask' => \OCP\Constants::PERMISSION_READ + \OCP\Constants::PERMISSION_SHARE));
127
+        });
128
+        \OC\Files\Filesystem::logWarningWhenAddingStorageWrapper($previousLog);
129
+    }
130 130
 }
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -122,7 +122,7 @@
 block discarded – undo
122 122
 	protected function addROWrapper() {
123 123
 		// FIXME: should not add storage wrappers outside of preSetup, need to find a better way
124 124
 		$previousLog = \OC\Files\Filesystem::logWarningWhenAddingStorageWrapper(false);
125
-		\OC\Files\Filesystem::addStorageWrapper('readonly', function ($mountPoint, $storage) {
125
+		\OC\Files\Filesystem::addStorageWrapper('readonly', function($mountPoint, $storage) {
126 126
 			return new \OC\Files\Storage\Wrapper\PermissionsMask(array('storage' => $storage, 'mask' => \OCP\Constants::PERMISSION_READ + \OCP\Constants::PERMISSION_SHARE));
127 127
 		});
128 128
 		\OC\Files\Filesystem::logWarningWhenAddingStorageWrapper($previousLog);
Please login to merge, or discard this patch.
apps/files_sharing/lib/Middleware/ShareInfoMiddleware.php 1 patch
Indentation   +58 added lines, -58 removed lines patch added patch discarded remove patch
@@ -13,74 +13,74 @@
 block discarded – undo
13 13
 use OCP\Share\IManager;
14 14
 
15 15
 class ShareInfoMiddleware extends Middleware {
16
-	/** @var IManager */
17
-	private $shareManager;
16
+    /** @var IManager */
17
+    private $shareManager;
18 18
 
19
-	public function __construct(IManager $shareManager) {
20
-		$this->shareManager = $shareManager;
21
-	}
19
+    public function __construct(IManager $shareManager) {
20
+        $this->shareManager = $shareManager;
21
+    }
22 22
 
23
-	/**
24
-	 * @param Controller $controller
25
-	 * @param string $methodName
26
-	 * @throws S2SException
27
-	 */
28
-	public function beforeController($controller, $methodName) {
29
-		if (!($controller instanceof ShareInfoController)) {
30
-			return;
31
-		}
23
+    /**
24
+     * @param Controller $controller
25
+     * @param string $methodName
26
+     * @throws S2SException
27
+     */
28
+    public function beforeController($controller, $methodName) {
29
+        if (!($controller instanceof ShareInfoController)) {
30
+            return;
31
+        }
32 32
 
33
-		if (!$this->shareManager->outgoingServer2ServerSharesAllowed()) {
34
-			throw new S2SException();
35
-		}
36
-	}
33
+        if (!$this->shareManager->outgoingServer2ServerSharesAllowed()) {
34
+            throw new S2SException();
35
+        }
36
+    }
37 37
 
38
-	/**
39
-	 * @param Controller $controller
40
-	 * @param string $methodName
41
-	 * @param \Exception $exception
42
-	 * @throws \Exception
43
-	 * @return Response
44
-	 */
45
-	public function afterException($controller, $methodName, \Exception $exception) {
46
-		if (!($controller instanceof ShareInfoController)) {
47
-			throw $exception;
48
-		}
38
+    /**
39
+     * @param Controller $controller
40
+     * @param string $methodName
41
+     * @param \Exception $exception
42
+     * @throws \Exception
43
+     * @return Response
44
+     */
45
+    public function afterException($controller, $methodName, \Exception $exception) {
46
+        if (!($controller instanceof ShareInfoController)) {
47
+            throw $exception;
48
+        }
49 49
 
50
-		if ($exception instanceof S2SException) {
51
-			return new JSONResponse([], Http::STATUS_NOT_FOUND);
52
-		}
50
+        if ($exception instanceof S2SException) {
51
+            return new JSONResponse([], Http::STATUS_NOT_FOUND);
52
+        }
53 53
 
54
-		throw $exception;
55
-	}
54
+        throw $exception;
55
+    }
56 56
 
57
-	/**
58
-	 * @param Controller $controller
59
-	 * @param string $methodName
60
-	 * @param Response $response
61
-	 * @return Response
62
-	 */
63
-	public function afterController($controller, $methodName, Response $response) {
64
-		if (!($controller instanceof ShareInfoController)) {
65
-			return $response;
66
-		}
57
+    /**
58
+     * @param Controller $controller
59
+     * @param string $methodName
60
+     * @param Response $response
61
+     * @return Response
62
+     */
63
+    public function afterController($controller, $methodName, Response $response) {
64
+        if (!($controller instanceof ShareInfoController)) {
65
+            return $response;
66
+        }
67 67
 
68
-		if (!($response instanceof JSONResponse)) {
69
-			return $response;
70
-		}
68
+        if (!($response instanceof JSONResponse)) {
69
+            return $response;
70
+        }
71 71
 
72
-		$data = $response->getData();
73
-		$status = 'error';
72
+        $data = $response->getData();
73
+        $status = 'error';
74 74
 
75
-		if ($response->getStatus() === Http::STATUS_OK) {
76
-			$status = 'success';
77
-		}
75
+        if ($response->getStatus() === Http::STATUS_OK) {
76
+            $status = 'success';
77
+        }
78 78
 
79
-		$response->setData([
80
-			'data' => $data,
81
-			'status' => $status,
82
-		]);
79
+        $response->setData([
80
+            'data' => $data,
81
+            'status' => $status,
82
+        ]);
83 83
 
84
-		return $response;
85
-	}
84
+        return $response;
85
+    }
86 86
 }
Please login to merge, or discard this patch.