Completed
Pull Request — master (#4204)
by Blizzz
14:40
created
apps/files_sharing/lib/Controller/PublicPreviewController.php 1 patch
Indentation   +54 added lines, -54 removed lines patch added patch discarded remove patch
@@ -36,67 +36,67 @@
 block discarded – undo
36 36
 
37 37
 class PublicPreviewController extends Controller {
38 38
 
39
-	/** @var ShareManager */
40
-	private $shareManager;
39
+    /** @var ShareManager */
40
+    private $shareManager;
41 41
 
42
-	/** @var IPreview */
43
-	private $previewManager;
42
+    /** @var IPreview */
43
+    private $previewManager;
44 44
 
45
-	public function __construct($appName,
46
-								IRequest $request,
47
-								ShareManager $shareManger,
48
-								IPreview $previewManager) {
49
-		parent::__construct($appName, $request);
45
+    public function __construct($appName,
46
+                                IRequest $request,
47
+                                ShareManager $shareManger,
48
+                                IPreview $previewManager) {
49
+        parent::__construct($appName, $request);
50 50
 
51
-		$this->shareManager = $shareManger;
52
-		$this->previewManager = $previewManager;
53
-	}
51
+        $this->shareManager = $shareManger;
52
+        $this->previewManager = $previewManager;
53
+    }
54 54
 
55
-	/**
56
-	 * @PublicPage
57
-	 * @NoCSRFRequired
58
-	 *
59
-	 * @param string $file
60
-	 * @param int $x
61
-	 * @param int $y
62
-	 * @param string $t
63
-	 * @param bool $a
64
-	 * @return DataResponse|FileDisplayResponse
65
-	 */
66
-	public function getPreview(
67
-		$file = '',
68
-		$x = 32,
69
-		$y = 32,
70
-		$t = '',
71
-		$a = false
72
-	) {
55
+    /**
56
+     * @PublicPage
57
+     * @NoCSRFRequired
58
+     *
59
+     * @param string $file
60
+     * @param int $x
61
+     * @param int $y
62
+     * @param string $t
63
+     * @param bool $a
64
+     * @return DataResponse|FileDisplayResponse
65
+     */
66
+    public function getPreview(
67
+        $file = '',
68
+        $x = 32,
69
+        $y = 32,
70
+        $t = '',
71
+        $a = false
72
+    ) {
73 73
 
74
-		if ($t === '' || $x === 0 || $y === 0) {
75
-			return new DataResponse([], Http::STATUS_BAD_REQUEST);
76
-		}
74
+        if ($t === '' || $x === 0 || $y === 0) {
75
+            return new DataResponse([], Http::STATUS_BAD_REQUEST);
76
+        }
77 77
 
78
-		try {
79
-			$share = $this->shareManager->getShareByToken($t);
80
-		} catch (ShareNotFound $e) {
81
-			return new DataResponse([], Http::STATUS_NOT_FOUND);
82
-		}
78
+        try {
79
+            $share = $this->shareManager->getShareByToken($t);
80
+        } catch (ShareNotFound $e) {
81
+            return new DataResponse([], Http::STATUS_NOT_FOUND);
82
+        }
83 83
 
84
-		if (($share->getPermissions() & Constants::PERMISSION_READ) === 0) {
85
-			return new DataResponse([], Http::STATUS_FORBIDDEN);
86
-		}
84
+        if (($share->getPermissions() & Constants::PERMISSION_READ) === 0) {
85
+            return new DataResponse([], Http::STATUS_FORBIDDEN);
86
+        }
87 87
 
88
-		try {
89
-			$node = $share->getNode();
90
-			if ($node instanceof Folder) {
91
-				$file = $node->get($file);
92
-			} else {
93
-				$file = $node;
94
-			}
88
+        try {
89
+            $node = $share->getNode();
90
+            if ($node instanceof Folder) {
91
+                $file = $node->get($file);
92
+            } else {
93
+                $file = $node;
94
+            }
95 95
 
96
-			$f = $this->previewManager->getPreview($file, $x, $y, !$a);
97
-			return new FileDisplayResponse($f, Http::STATUS_OK, ['Content-Type' => $f->getMimeType()]);
98
-		} catch (NotFoundException $e) {
99
-			return new DataResponse([], Http::STATUS_NOT_FOUND);
100
-		}
101
-	}
96
+            $f = $this->previewManager->getPreview($file, $x, $y, !$a);
97
+            return new FileDisplayResponse($f, Http::STATUS_OK, ['Content-Type' => $f->getMimeType()]);
98
+        } catch (NotFoundException $e) {
99
+            return new DataResponse([], Http::STATUS_NOT_FOUND);
100
+        }
101
+    }
102 102
 }
Please login to merge, or discard this patch.
apps/files_sharing/lib/Controller/RemoteController.php 2 patches
Indentation   +147 added lines, -147 removed lines patch added patch discarded remove patch
@@ -33,151 +33,151 @@
 block discarded – undo
33 33
 
34 34
 class RemoteController extends OCSController {
35 35
 
36
-	/** @var Manager */
37
-	private $externalManager;
38
-
39
-	/**
40
-	 * @NoAdminRequired
41
-	 *
42
-	 * Remote constructor.
43
-	 *
44
-	 * @param string $appName
45
-	 * @param IRequest $request
46
-	 * @param Manager $externalManager
47
-	 */
48
-	public function __construct($appName,
49
-								IRequest $request,
50
-								Manager $externalManager) {
51
-		parent::__construct($appName, $request);
52
-
53
-		$this->externalManager = $externalManager;
54
-	}
55
-
56
-	/**
57
-	 * @NoAdminRequired
58
-	 *
59
-	 * Get list of pending remote shares
60
-	 *
61
-	 * @return DataResponse
62
-	 */
63
-	public function getOpenShares() {
64
-		return new DataResponse($this->externalManager->getOpenShares());
65
-	}
66
-
67
-	/**
68
-	 * @NoAdminRequired
69
-	 *
70
-	 * Accept a remote share
71
-	 *
72
-	 * @param int $id
73
-	 * @return DataResponse
74
-	 * @throws OCSNotFoundException
75
-	 */
76
-	public function acceptShare($id) {
77
-		if ($this->externalManager->acceptShare($id)) {
78
-			return new DataResponse();
79
-		}
80
-
81
-		// Make sure the user has no notification for something that does not exist anymore.
82
-		$this->externalManager->processNotification($id);
83
-
84
-		throw new OCSNotFoundException('wrong share ID, share doesn\'t exist.');
85
-	}
86
-
87
-	/**
88
-	 * @NoAdminRequired
89
-	 *
90
-	 * Decline a remote share
91
-	 *
92
-	 * @param int $id
93
-	 * @return DataResponse
94
-	 * @throws OCSNotFoundException
95
-	 */
96
-	public function declineShare($id) {
97
-		if ($this->externalManager->declineShare($id)) {
98
-			return new DataResponse();
99
-		}
100
-
101
-		// Make sure the user has no notification for something that does not exist anymore.
102
-		$this->externalManager->processNotification($id);
103
-
104
-		throw new OCSNotFoundException('wrong share ID, share doesn\'t exist.');
105
-	}
106
-
107
-	/**
108
-	 * @param array $share Share with info from the share_external table
109
-	 * @return array enriched share info with data from the filecache
110
-	 */
111
-	private static function extendShareInfo($share) {
112
-		$view = new \OC\Files\View('/' . \OC_User::getUser() . '/files/');
113
-		$info = $view->getFileInfo($share['mountpoint']);
114
-
115
-		$share['mimetype'] = $info->getMimetype();
116
-		$share['mtime'] = $info->getMTime();
117
-		$share['permissions'] = $info->getPermissions();
118
-		$share['type'] = $info->getType();
119
-		$share['file_id'] = $info->getId();
120
-
121
-		return $share;
122
-	}
123
-
124
-	/**
125
-	 * @NoAdminRequired
126
-	 *
127
-	 * List accepted remote shares
128
-	 *
129
-	 * @return DataResponse
130
-	 */
131
-	public function getShares() {
132
-		$shares = $this->externalManager->getAcceptedShares();
133
-		$shares = array_map('self::extendShareInfo', $shares);
134
-
135
-		return new DataResponse($shares);
136
-	}
137
-
138
-	/**
139
-	 * @NoAdminRequired
140
-	 *
141
-	 * Get info of a remote share
142
-	 *
143
-	 * @param int $id
144
-	 * @return DataResponse
145
-	 * @throws OCSNotFoundException
146
-	 */
147
-	public function getShare($id) {
148
-		$shareInfo = $this->externalManager->getShare($id);
149
-
150
-		if ($shareInfo === false) {
151
-			throw new OCSNotFoundException('share does not exist');
152
-		} else {
153
-			$shareInfo = self::extendShareInfo($shareInfo);
154
-			return new DataResponse($shareInfo);
155
-		}
156
-	}
157
-
158
-	/**
159
-	 * @NoAdminRequired
160
-	 *
161
-	 * Unshare a remote share
162
-	 *
163
-	 * @param int $id
164
-	 * @return DataResponse
165
-	 * @throws OCSNotFoundException
166
-	 * @throws OCSForbiddenException
167
-	 */
168
-	public function unshare($id) {
169
-		$shareInfo = $this->externalManager->getShare($id);
170
-
171
-		if ($shareInfo === false) {
172
-			throw new OCSNotFoundException('Share does not exist');
173
-		}
174
-
175
-		$mountPoint = '/' . \OC_User::getUser() . '/files' . $shareInfo['mountpoint'];
176
-
177
-		if ($this->externalManager->removeShare($mountPoint) === true) {
178
-			return new DataResponse();
179
-		} else {
180
-			throw new OCSForbiddenException('Could not unshare');
181
-		}
182
-	}
36
+    /** @var Manager */
37
+    private $externalManager;
38
+
39
+    /**
40
+     * @NoAdminRequired
41
+     *
42
+     * Remote constructor.
43
+     *
44
+     * @param string $appName
45
+     * @param IRequest $request
46
+     * @param Manager $externalManager
47
+     */
48
+    public function __construct($appName,
49
+                                IRequest $request,
50
+                                Manager $externalManager) {
51
+        parent::__construct($appName, $request);
52
+
53
+        $this->externalManager = $externalManager;
54
+    }
55
+
56
+    /**
57
+     * @NoAdminRequired
58
+     *
59
+     * Get list of pending remote shares
60
+     *
61
+     * @return DataResponse
62
+     */
63
+    public function getOpenShares() {
64
+        return new DataResponse($this->externalManager->getOpenShares());
65
+    }
66
+
67
+    /**
68
+     * @NoAdminRequired
69
+     *
70
+     * Accept a remote share
71
+     *
72
+     * @param int $id
73
+     * @return DataResponse
74
+     * @throws OCSNotFoundException
75
+     */
76
+    public function acceptShare($id) {
77
+        if ($this->externalManager->acceptShare($id)) {
78
+            return new DataResponse();
79
+        }
80
+
81
+        // Make sure the user has no notification for something that does not exist anymore.
82
+        $this->externalManager->processNotification($id);
83
+
84
+        throw new OCSNotFoundException('wrong share ID, share doesn\'t exist.');
85
+    }
86
+
87
+    /**
88
+     * @NoAdminRequired
89
+     *
90
+     * Decline a remote share
91
+     *
92
+     * @param int $id
93
+     * @return DataResponse
94
+     * @throws OCSNotFoundException
95
+     */
96
+    public function declineShare($id) {
97
+        if ($this->externalManager->declineShare($id)) {
98
+            return new DataResponse();
99
+        }
100
+
101
+        // Make sure the user has no notification for something that does not exist anymore.
102
+        $this->externalManager->processNotification($id);
103
+
104
+        throw new OCSNotFoundException('wrong share ID, share doesn\'t exist.');
105
+    }
106
+
107
+    /**
108
+     * @param array $share Share with info from the share_external table
109
+     * @return array enriched share info with data from the filecache
110
+     */
111
+    private static function extendShareInfo($share) {
112
+        $view = new \OC\Files\View('/' . \OC_User::getUser() . '/files/');
113
+        $info = $view->getFileInfo($share['mountpoint']);
114
+
115
+        $share['mimetype'] = $info->getMimetype();
116
+        $share['mtime'] = $info->getMTime();
117
+        $share['permissions'] = $info->getPermissions();
118
+        $share['type'] = $info->getType();
119
+        $share['file_id'] = $info->getId();
120
+
121
+        return $share;
122
+    }
123
+
124
+    /**
125
+     * @NoAdminRequired
126
+     *
127
+     * List accepted remote shares
128
+     *
129
+     * @return DataResponse
130
+     */
131
+    public function getShares() {
132
+        $shares = $this->externalManager->getAcceptedShares();
133
+        $shares = array_map('self::extendShareInfo', $shares);
134
+
135
+        return new DataResponse($shares);
136
+    }
137
+
138
+    /**
139
+     * @NoAdminRequired
140
+     *
141
+     * Get info of a remote share
142
+     *
143
+     * @param int $id
144
+     * @return DataResponse
145
+     * @throws OCSNotFoundException
146
+     */
147
+    public function getShare($id) {
148
+        $shareInfo = $this->externalManager->getShare($id);
149
+
150
+        if ($shareInfo === false) {
151
+            throw new OCSNotFoundException('share does not exist');
152
+        } else {
153
+            $shareInfo = self::extendShareInfo($shareInfo);
154
+            return new DataResponse($shareInfo);
155
+        }
156
+    }
157
+
158
+    /**
159
+     * @NoAdminRequired
160
+     *
161
+     * Unshare a remote share
162
+     *
163
+     * @param int $id
164
+     * @return DataResponse
165
+     * @throws OCSNotFoundException
166
+     * @throws OCSForbiddenException
167
+     */
168
+    public function unshare($id) {
169
+        $shareInfo = $this->externalManager->getShare($id);
170
+
171
+        if ($shareInfo === false) {
172
+            throw new OCSNotFoundException('Share does not exist');
173
+        }
174
+
175
+        $mountPoint = '/' . \OC_User::getUser() . '/files' . $shareInfo['mountpoint'];
176
+
177
+        if ($this->externalManager->removeShare($mountPoint) === true) {
178
+            return new DataResponse();
179
+        } else {
180
+            throw new OCSForbiddenException('Could not unshare');
181
+        }
182
+    }
183 183
 }
Please login to merge, or discard this patch.
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -109,7 +109,7 @@  discard block
 block discarded – undo
109 109
 	 * @return array enriched share info with data from the filecache
110 110
 	 */
111 111
 	private static function extendShareInfo($share) {
112
-		$view = new \OC\Files\View('/' . \OC_User::getUser() . '/files/');
112
+		$view = new \OC\Files\View('/'.\OC_User::getUser().'/files/');
113 113
 		$info = $view->getFileInfo($share['mountpoint']);
114 114
 
115 115
 		$share['mimetype'] = $info->getMimetype();
@@ -172,7 +172,7 @@  discard block
 block discarded – undo
172 172
 			throw new OCSNotFoundException('Share does not exist');
173 173
 		}
174 174
 
175
-		$mountPoint = '/' . \OC_User::getUser() . '/files' . $shareInfo['mountpoint'];
175
+		$mountPoint = '/'.\OC_User::getUser().'/files'.$shareInfo['mountpoint'];
176 176
 
177 177
 		if ($this->externalManager->removeShare($mountPoint) === true) {
178 178
 			return new DataResponse();
Please login to merge, or discard this patch.
apps/files_sharing/lib/ISharedStorage.php 1 patch
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -23,6 +23,6 @@
 block discarded – undo
23 23
 
24 24
 namespace OCA\Files_Sharing;
25 25
 
26
-interface ISharedStorage{
26
+interface ISharedStorage {
27 27
 
28 28
 }
Please login to merge, or discard this patch.
apps/files_sharing/lib/Exceptions/BrokenPath.php 1 patch
Indentation   -1 removed lines patch added patch discarded remove patch
@@ -27,7 +27,6 @@
 block discarded – undo
27 27
  * Expected path with a different root
28 28
  * Possible Error Codes:
29 29
  * 10 - Path not relative to data/ and point to the users file directory
30
-
31 30
  */
32 31
 class BrokenPath extends \Exception {
33 32
 }
Please login to merge, or discard this patch.
apps/files_sharing/lib/AppInfo/Application.php 2 patches
Indentation   +115 added lines, -115 removed lines patch added patch discarded remove patch
@@ -40,131 +40,131 @@
 block discarded – undo
40 40
 use OCP\IServerContainer;
41 41
 
42 42
 class Application extends App {
43
-	public function __construct(array $urlParams = array()) {
44
-		parent::__construct('files_sharing', $urlParams);
43
+    public function __construct(array $urlParams = array()) {
44
+        parent::__construct('files_sharing', $urlParams);
45 45
 
46
-		$container = $this->getContainer();
47
-		/** @var IServerContainer $server */
48
-		$server = $container->getServer();
46
+        $container = $this->getContainer();
47
+        /** @var IServerContainer $server */
48
+        $server = $container->getServer();
49 49
 
50
-		/**
51
-		 * Controllers
52
-		 */
53
-		$container->registerService('ShareController', function (SimpleContainer $c) use ($server) {
54
-			$federatedSharingApp = new \OCA\FederatedFileSharing\AppInfo\Application();
55
-			return new ShareController(
56
-				$c->query('AppName'),
57
-				$c->query('Request'),
58
-				$server->getConfig(),
59
-				$server->getURLGenerator(),
60
-				$server->getUserManager(),
61
-				$server->getLogger(),
62
-				$server->getActivityManager(),
63
-				$server->getShareManager(),
64
-				$server->getSession(),
65
-				$server->getPreviewManager(),
66
-				$server->getRootFolder(),
67
-				$federatedSharingApp->getFederatedShareProvider(),
68
-				$server->getEventDispatcher(),
69
-				$server->getL10N($c->query('AppName')),
70
-				$server->getThemingDefaults()
71
-			);
72
-		});
73
-		$container->registerService('ExternalSharesController', function (SimpleContainer $c) {
74
-			return new ExternalSharesController(
75
-				$c->query('AppName'),
76
-				$c->query('Request'),
77
-				$c->query('ExternalManager'),
78
-				$c->query('HttpClientService')
79
-			);
80
-		});
50
+        /**
51
+         * Controllers
52
+         */
53
+        $container->registerService('ShareController', function (SimpleContainer $c) use ($server) {
54
+            $federatedSharingApp = new \OCA\FederatedFileSharing\AppInfo\Application();
55
+            return new ShareController(
56
+                $c->query('AppName'),
57
+                $c->query('Request'),
58
+                $server->getConfig(),
59
+                $server->getURLGenerator(),
60
+                $server->getUserManager(),
61
+                $server->getLogger(),
62
+                $server->getActivityManager(),
63
+                $server->getShareManager(),
64
+                $server->getSession(),
65
+                $server->getPreviewManager(),
66
+                $server->getRootFolder(),
67
+                $federatedSharingApp->getFederatedShareProvider(),
68
+                $server->getEventDispatcher(),
69
+                $server->getL10N($c->query('AppName')),
70
+                $server->getThemingDefaults()
71
+            );
72
+        });
73
+        $container->registerService('ExternalSharesController', function (SimpleContainer $c) {
74
+            return new ExternalSharesController(
75
+                $c->query('AppName'),
76
+                $c->query('Request'),
77
+                $c->query('ExternalManager'),
78
+                $c->query('HttpClientService')
79
+            );
80
+        });
81 81
 
82
-		/**
83
-		 * Core class wrappers
84
-		 */
85
-		$container->registerService('HttpClientService', function (SimpleContainer $c) use ($server) {
86
-			return $server->getHTTPClientService();
87
-		});
88
-		$container->registerService(ICloudIdManager::class, function (SimpleContainer $c) use ($server) {
89
-			return $server->getCloudIdManager();
90
-		});
91
-		$container->registerService('ExternalManager', function (SimpleContainer $c) use ($server) {
92
-			$user = $server->getUserSession()->getUser();
93
-			$uid = $user ? $user->getUID() : null;
94
-			$discoveryManager = new DiscoveryManager(
95
-				\OC::$server->getMemCacheFactory(),
96
-				\OC::$server->getHTTPClientService()
97
-			);
98
-			return new \OCA\Files_Sharing\External\Manager(
99
-				$server->getDatabaseConnection(),
100
-				\OC\Files\Filesystem::getMountManager(),
101
-				\OC\Files\Filesystem::getLoader(),
102
-				$server->getHTTPClientService(),
103
-				$server->getNotificationManager(),
104
-				$discoveryManager,
105
-				$uid
106
-			);
107
-		});
108
-		$container->registerAlias('OCA\Files_Sharing\External\Manager', 'ExternalManager');
82
+        /**
83
+         * Core class wrappers
84
+         */
85
+        $container->registerService('HttpClientService', function (SimpleContainer $c) use ($server) {
86
+            return $server->getHTTPClientService();
87
+        });
88
+        $container->registerService(ICloudIdManager::class, function (SimpleContainer $c) use ($server) {
89
+            return $server->getCloudIdManager();
90
+        });
91
+        $container->registerService('ExternalManager', function (SimpleContainer $c) use ($server) {
92
+            $user = $server->getUserSession()->getUser();
93
+            $uid = $user ? $user->getUID() : null;
94
+            $discoveryManager = new DiscoveryManager(
95
+                \OC::$server->getMemCacheFactory(),
96
+                \OC::$server->getHTTPClientService()
97
+            );
98
+            return new \OCA\Files_Sharing\External\Manager(
99
+                $server->getDatabaseConnection(),
100
+                \OC\Files\Filesystem::getMountManager(),
101
+                \OC\Files\Filesystem::getLoader(),
102
+                $server->getHTTPClientService(),
103
+                $server->getNotificationManager(),
104
+                $discoveryManager,
105
+                $uid
106
+            );
107
+        });
108
+        $container->registerAlias('OCA\Files_Sharing\External\Manager', 'ExternalManager');
109 109
 
110
-		/**
111
-		 * Middleware
112
-		 */
113
-		$container->registerService('SharingCheckMiddleware', function (SimpleContainer $c) use ($server) {
114
-			return new SharingCheckMiddleware(
115
-				$c->query('AppName'),
116
-				$server->getConfig(),
117
-				$server->getAppManager(),
118
-				$c['ControllerMethodReflector'],
119
-				$server->getShareManager(),
120
-				$server->getRequest()
121
-			);
122
-		});
110
+        /**
111
+         * Middleware
112
+         */
113
+        $container->registerService('SharingCheckMiddleware', function (SimpleContainer $c) use ($server) {
114
+            return new SharingCheckMiddleware(
115
+                $c->query('AppName'),
116
+                $server->getConfig(),
117
+                $server->getAppManager(),
118
+                $c['ControllerMethodReflector'],
119
+                $server->getShareManager(),
120
+                $server->getRequest()
121
+            );
122
+        });
123 123
 
124
-		$container->registerService('OCSShareAPIMiddleware', function (SimpleContainer $c) use ($server) {
125
-			return new OCSShareAPIMiddleware(
126
-				$server->getShareManager(),
127
-				$server->getL10N($c->query('AppName'))
128
-			);
129
-		});
124
+        $container->registerService('OCSShareAPIMiddleware', function (SimpleContainer $c) use ($server) {
125
+            return new OCSShareAPIMiddleware(
126
+                $server->getShareManager(),
127
+                $server->getL10N($c->query('AppName'))
128
+            );
129
+        });
130 130
 
131
-		// Execute middlewares
132
-		$container->registerMiddleWare('SharingCheckMiddleware');
133
-		$container->registerMiddleWare('OCSShareAPIMiddleware');
131
+        // Execute middlewares
132
+        $container->registerMiddleWare('SharingCheckMiddleware');
133
+        $container->registerMiddleWare('OCSShareAPIMiddleware');
134 134
 
135
-		$container->registerService('MountProvider', function (IContainer $c) {
136
-			/** @var \OCP\IServerContainer $server */
137
-			$server = $c->query('ServerContainer');
138
-			return new MountProvider(
139
-				$server->getConfig(),
140
-				$server->getShareManager(),
141
-				$server->getLogger()
142
-			);
143
-		});
135
+        $container->registerService('MountProvider', function (IContainer $c) {
136
+            /** @var \OCP\IServerContainer $server */
137
+            $server = $c->query('ServerContainer');
138
+            return new MountProvider(
139
+                $server->getConfig(),
140
+                $server->getShareManager(),
141
+                $server->getLogger()
142
+            );
143
+        });
144 144
 
145
-		$container->registerService('ExternalMountProvider', function (IContainer $c) {
146
-			/** @var \OCP\IServerContainer $server */
147
-			$server = $c->query('ServerContainer');
148
-			return new \OCA\Files_Sharing\External\MountProvider(
149
-				$server->getDatabaseConnection(),
150
-				function() use ($c) {
151
-					return $c->query('ExternalManager');
152
-				},
153
-				$server->getCloudIdManager()
154
-			);
155
-		});
145
+        $container->registerService('ExternalMountProvider', function (IContainer $c) {
146
+            /** @var \OCP\IServerContainer $server */
147
+            $server = $c->query('ServerContainer');
148
+            return new \OCA\Files_Sharing\External\MountProvider(
149
+                $server->getDatabaseConnection(),
150
+                function() use ($c) {
151
+                    return $c->query('ExternalManager');
152
+                },
153
+                $server->getCloudIdManager()
154
+            );
155
+        });
156 156
 
157
-		/*
157
+        /*
158 158
 		 * Register capabilities
159 159
 		 */
160
-		$container->registerCapability('OCA\Files_Sharing\Capabilities');
161
-	}
160
+        $container->registerCapability('OCA\Files_Sharing\Capabilities');
161
+    }
162 162
 
163
-	public function registerMountProviders() {
164
-		/** @var \OCP\IServerContainer $server */
165
-		$server = $this->getContainer()->query('ServerContainer');
166
-		$mountProviderCollection = $server->getMountProviderCollection();
167
-		$mountProviderCollection->registerProvider($this->getContainer()->query('MountProvider'));
168
-		$mountProviderCollection->registerProvider($this->getContainer()->query('ExternalMountProvider'));
169
-	}
163
+    public function registerMountProviders() {
164
+        /** @var \OCP\IServerContainer $server */
165
+        $server = $this->getContainer()->query('ServerContainer');
166
+        $mountProviderCollection = $server->getMountProviderCollection();
167
+        $mountProviderCollection->registerProvider($this->getContainer()->query('MountProvider'));
168
+        $mountProviderCollection->registerProvider($this->getContainer()->query('ExternalMountProvider'));
169
+    }
170 170
 }
Please login to merge, or discard this patch.
Spacing   +9 added lines, -9 removed lines patch added patch discarded remove patch
@@ -50,7 +50,7 @@  discard block
 block discarded – undo
50 50
 		/**
51 51
 		 * Controllers
52 52
 		 */
53
-		$container->registerService('ShareController', function (SimpleContainer $c) use ($server) {
53
+		$container->registerService('ShareController', function(SimpleContainer $c) use ($server) {
54 54
 			$federatedSharingApp = new \OCA\FederatedFileSharing\AppInfo\Application();
55 55
 			return new ShareController(
56 56
 				$c->query('AppName'),
@@ -70,7 +70,7 @@  discard block
 block discarded – undo
70 70
 				$server->getThemingDefaults()
71 71
 			);
72 72
 		});
73
-		$container->registerService('ExternalSharesController', function (SimpleContainer $c) {
73
+		$container->registerService('ExternalSharesController', function(SimpleContainer $c) {
74 74
 			return new ExternalSharesController(
75 75
 				$c->query('AppName'),
76 76
 				$c->query('Request'),
@@ -82,13 +82,13 @@  discard block
 block discarded – undo
82 82
 		/**
83 83
 		 * Core class wrappers
84 84
 		 */
85
-		$container->registerService('HttpClientService', function (SimpleContainer $c) use ($server) {
85
+		$container->registerService('HttpClientService', function(SimpleContainer $c) use ($server) {
86 86
 			return $server->getHTTPClientService();
87 87
 		});
88
-		$container->registerService(ICloudIdManager::class, function (SimpleContainer $c) use ($server) {
88
+		$container->registerService(ICloudIdManager::class, function(SimpleContainer $c) use ($server) {
89 89
 			return $server->getCloudIdManager();
90 90
 		});
91
-		$container->registerService('ExternalManager', function (SimpleContainer $c) use ($server) {
91
+		$container->registerService('ExternalManager', function(SimpleContainer $c) use ($server) {
92 92
 			$user = $server->getUserSession()->getUser();
93 93
 			$uid = $user ? $user->getUID() : null;
94 94
 			$discoveryManager = new DiscoveryManager(
@@ -110,7 +110,7 @@  discard block
 block discarded – undo
110 110
 		/**
111 111
 		 * Middleware
112 112
 		 */
113
-		$container->registerService('SharingCheckMiddleware', function (SimpleContainer $c) use ($server) {
113
+		$container->registerService('SharingCheckMiddleware', function(SimpleContainer $c) use ($server) {
114 114
 			return new SharingCheckMiddleware(
115 115
 				$c->query('AppName'),
116 116
 				$server->getConfig(),
@@ -121,7 +121,7 @@  discard block
 block discarded – undo
121 121
 			);
122 122
 		});
123 123
 
124
-		$container->registerService('OCSShareAPIMiddleware', function (SimpleContainer $c) use ($server) {
124
+		$container->registerService('OCSShareAPIMiddleware', function(SimpleContainer $c) use ($server) {
125 125
 			return new OCSShareAPIMiddleware(
126 126
 				$server->getShareManager(),
127 127
 				$server->getL10N($c->query('AppName'))
@@ -132,7 +132,7 @@  discard block
 block discarded – undo
132 132
 		$container->registerMiddleWare('SharingCheckMiddleware');
133 133
 		$container->registerMiddleWare('OCSShareAPIMiddleware');
134 134
 
135
-		$container->registerService('MountProvider', function (IContainer $c) {
135
+		$container->registerService('MountProvider', function(IContainer $c) {
136 136
 			/** @var \OCP\IServerContainer $server */
137 137
 			$server = $c->query('ServerContainer');
138 138
 			return new MountProvider(
@@ -142,7 +142,7 @@  discard block
 block discarded – undo
142 142
 			);
143 143
 		});
144 144
 
145
-		$container->registerService('ExternalMountProvider', function (IContainer $c) {
145
+		$container->registerService('ExternalMountProvider', function(IContainer $c) {
146 146
 			/** @var \OCP\IServerContainer $server */
147 147
 			$server = $c->query('ServerContainer');
148 148
 			return new \OCA\Files_Sharing\External\MountProvider(
Please login to merge, or discard this patch.
apps/files_sharing/lib/External/Scanner.php 2 patches
Indentation   +87 added lines, -87 removed lines patch added patch discarded remove patch
@@ -32,97 +32,97 @@
 block discarded – undo
32 32
 use OCP\Files\StorageNotAvailableException;
33 33
 
34 34
 class Scanner extends \OC\Files\Cache\Scanner {
35
-	/** @var \OCA\Files_Sharing\External\Storage */
36
-	protected $storage;
35
+    /** @var \OCA\Files_Sharing\External\Storage */
36
+    protected $storage;
37 37
 
38
-	/** {@inheritDoc} */
39
-	public function scan($path, $recursive = self::SCAN_RECURSIVE, $reuse = -1, $lock = true) {
40
-		if(!$this->storage->remoteIsOwnCloud()) {
41
-			return parent::scan($path, $recursive, $recursive, $lock);
42
-		}
38
+    /** {@inheritDoc} */
39
+    public function scan($path, $recursive = self::SCAN_RECURSIVE, $reuse = -1, $lock = true) {
40
+        if(!$this->storage->remoteIsOwnCloud()) {
41
+            return parent::scan($path, $recursive, $recursive, $lock);
42
+        }
43 43
 
44
-		$this->scanAll();
45
-	}
44
+        $this->scanAll();
45
+    }
46 46
 
47
-	/**
48
-	 * Scan a single file and store it in the cache.
49
-	 * If an exception happened while accessing the external storage,
50
-	 * the storage will be checked for availability and removed
51
-	 * if it is not available any more.
52
-	 *
53
-	 * @param string $file file to scan
54
-	 * @param int $reuseExisting
55
-	 * @param int $parentId
56
-	 * @param array | null $cacheData existing data in the cache for the file to be scanned
57
-	 * @param bool $lock set to false to disable getting an additional read lock during scanning
58
-	 * @return array an array of metadata of the scanned file
59
-	 */
60
-	public function scanFile($file, $reuseExisting = 0, $parentId = -1, $cacheData = null, $lock = true) {
61
-		try {
62
-			return parent::scanFile($file, $reuseExisting);
63
-		} catch (ForbiddenException $e) {
64
-			$this->storage->checkStorageAvailability();
65
-		} catch (NotFoundException $e) {
66
-			// if the storage isn't found, the call to
67
-			// checkStorageAvailable() will verify it and remove it
68
-			// if appropriate
69
-			$this->storage->checkStorageAvailability();
70
-		} catch (StorageInvalidException $e) {
71
-			$this->storage->checkStorageAvailability();
72
-		} catch (StorageNotAvailableException $e) {
73
-			$this->storage->checkStorageAvailability();
74
-		}
75
-	}
47
+    /**
48
+     * Scan a single file and store it in the cache.
49
+     * If an exception happened while accessing the external storage,
50
+     * the storage will be checked for availability and removed
51
+     * if it is not available any more.
52
+     *
53
+     * @param string $file file to scan
54
+     * @param int $reuseExisting
55
+     * @param int $parentId
56
+     * @param array | null $cacheData existing data in the cache for the file to be scanned
57
+     * @param bool $lock set to false to disable getting an additional read lock during scanning
58
+     * @return array an array of metadata of the scanned file
59
+     */
60
+    public function scanFile($file, $reuseExisting = 0, $parentId = -1, $cacheData = null, $lock = true) {
61
+        try {
62
+            return parent::scanFile($file, $reuseExisting);
63
+        } catch (ForbiddenException $e) {
64
+            $this->storage->checkStorageAvailability();
65
+        } catch (NotFoundException $e) {
66
+            // if the storage isn't found, the call to
67
+            // checkStorageAvailable() will verify it and remove it
68
+            // if appropriate
69
+            $this->storage->checkStorageAvailability();
70
+        } catch (StorageInvalidException $e) {
71
+            $this->storage->checkStorageAvailability();
72
+        } catch (StorageNotAvailableException $e) {
73
+            $this->storage->checkStorageAvailability();
74
+        }
75
+    }
76 76
 
77
-	/**
78
-	 * Checks the remote share for changes.
79
-	 * If changes are available, scan them and update
80
-	 * the cache.
81
-	 * @throws NotFoundException
82
-	 * @throws StorageInvalidException
83
-	 * @throws \Exception
84
-	 */
85
-	public function scanAll() {
86
-		try {
87
-			$data = $this->storage->getShareInfo();
88
-		} catch (\Exception $e) {
89
-			$this->storage->checkStorageAvailability();
90
-			throw new \Exception(
91
-				'Error while scanning remote share: "' .
92
-				$this->storage->getRemote() . '" ' .
93
-				$e->getMessage()
94
-			);
95
-		}
96
-		if ($data['status'] === 'success') {
97
-			$this->addResult($data['data'], '');
98
-		} else {
99
-			throw new \Exception(
100
-				'Error while scanning remote share: "' .
101
-				$this->storage->getRemote() . '"'
102
-			);
103
-		}
104
-	}
77
+    /**
78
+     * Checks the remote share for changes.
79
+     * If changes are available, scan them and update
80
+     * the cache.
81
+     * @throws NotFoundException
82
+     * @throws StorageInvalidException
83
+     * @throws \Exception
84
+     */
85
+    public function scanAll() {
86
+        try {
87
+            $data = $this->storage->getShareInfo();
88
+        } catch (\Exception $e) {
89
+            $this->storage->checkStorageAvailability();
90
+            throw new \Exception(
91
+                'Error while scanning remote share: "' .
92
+                $this->storage->getRemote() . '" ' .
93
+                $e->getMessage()
94
+            );
95
+        }
96
+        if ($data['status'] === 'success') {
97
+            $this->addResult($data['data'], '');
98
+        } else {
99
+            throw new \Exception(
100
+                'Error while scanning remote share: "' .
101
+                $this->storage->getRemote() . '"'
102
+            );
103
+        }
104
+    }
105 105
 
106
-	/**
107
-	 * @param array $data
108
-	 * @param string $path
109
-	 */
110
-	private function addResult($data, $path) {
111
-		$id = $this->cache->put($path, $data);
112
-		if (isset($data['children'])) {
113
-			$children = [];
114
-			foreach ($data['children'] as $child) {
115
-				$children[$child['name']] = true;
116
-				$this->addResult($child, ltrim($path . '/' . $child['name'], '/'));
117
-			}
106
+    /**
107
+     * @param array $data
108
+     * @param string $path
109
+     */
110
+    private function addResult($data, $path) {
111
+        $id = $this->cache->put($path, $data);
112
+        if (isset($data['children'])) {
113
+            $children = [];
114
+            foreach ($data['children'] as $child) {
115
+                $children[$child['name']] = true;
116
+                $this->addResult($child, ltrim($path . '/' . $child['name'], '/'));
117
+            }
118 118
 
119
-			$existingCache = $this->cache->getFolderContentsById($id);
120
-			foreach ($existingCache as $existingChild) {
121
-				// if an existing child is not in the new data, remove it
122
-				if (!isset($children[$existingChild['name']])) {
123
-					$this->cache->remove(ltrim($path . '/' . $existingChild['name'], '/'));
124
-				}
125
-			}
126
-		}
127
-	}
119
+            $existingCache = $this->cache->getFolderContentsById($id);
120
+            foreach ($existingCache as $existingChild) {
121
+                // if an existing child is not in the new data, remove it
122
+                if (!isset($children[$existingChild['name']])) {
123
+                    $this->cache->remove(ltrim($path . '/' . $existingChild['name'], '/'));
124
+                }
125
+            }
126
+        }
127
+    }
128 128
 }
Please login to merge, or discard this patch.
Spacing   +7 added lines, -7 removed lines patch added patch discarded remove patch
@@ -37,7 +37,7 @@  discard block
 block discarded – undo
37 37
 
38 38
 	/** {@inheritDoc} */
39 39
 	public function scan($path, $recursive = self::SCAN_RECURSIVE, $reuse = -1, $lock = true) {
40
-		if(!$this->storage->remoteIsOwnCloud()) {
40
+		if (!$this->storage->remoteIsOwnCloud()) {
41 41
 			return parent::scan($path, $recursive, $recursive, $lock);
42 42
 		}
43 43
 
@@ -88,8 +88,8 @@  discard block
 block discarded – undo
88 88
 		} catch (\Exception $e) {
89 89
 			$this->storage->checkStorageAvailability();
90 90
 			throw new \Exception(
91
-				'Error while scanning remote share: "' .
92
-				$this->storage->getRemote() . '" ' .
91
+				'Error while scanning remote share: "'.
92
+				$this->storage->getRemote().'" '.
93 93
 				$e->getMessage()
94 94
 			);
95 95
 		}
@@ -97,8 +97,8 @@  discard block
 block discarded – undo
97 97
 			$this->addResult($data['data'], '');
98 98
 		} else {
99 99
 			throw new \Exception(
100
-				'Error while scanning remote share: "' .
101
-				$this->storage->getRemote() . '"'
100
+				'Error while scanning remote share: "'.
101
+				$this->storage->getRemote().'"'
102 102
 			);
103 103
 		}
104 104
 	}
@@ -113,14 +113,14 @@  discard block
 block discarded – undo
113 113
 			$children = [];
114 114
 			foreach ($data['children'] as $child) {
115 115
 				$children[$child['name']] = true;
116
-				$this->addResult($child, ltrim($path . '/' . $child['name'], '/'));
116
+				$this->addResult($child, ltrim($path.'/'.$child['name'], '/'));
117 117
 			}
118 118
 
119 119
 			$existingCache = $this->cache->getFolderContentsById($id);
120 120
 			foreach ($existingCache as $existingChild) {
121 121
 				// if an existing child is not in the new data, remove it
122 122
 				if (!isset($children[$existingChild['name']])) {
123
-					$this->cache->remove(ltrim($path . '/' . $existingChild['name'], '/'));
123
+					$this->cache->remove(ltrim($path.'/'.$existingChild['name'], '/'));
124 124
 				}
125 125
 			}
126 126
 		}
Please login to merge, or discard this patch.
apps/files_sharing/lib/External/Cache.php 1 patch
Indentation   +37 added lines, -37 removed lines patch added patch discarded remove patch
@@ -27,44 +27,44 @@
 block discarded – undo
27 27
 use OCP\Federation\ICloudId;
28 28
 
29 29
 class Cache extends \OC\Files\Cache\Cache {
30
-	/** @var ICloudId */
31
-	private $cloudId;
32
-	private $remote;
33
-	private $remoteUser;
34
-	private $storage;
30
+    /** @var ICloudId */
31
+    private $cloudId;
32
+    private $remote;
33
+    private $remoteUser;
34
+    private $storage;
35 35
 
36
-	/**
37
-	 * @param \OCA\Files_Sharing\External\Storage $storage
38
-	 * @param ICloudId $cloudId
39
-	 */
40
-	public function __construct($storage, ICloudId $cloudId) {
41
-		$this->cloudId = $cloudId;
42
-		$this->storage = $storage;
43
-		list(, $remote) = explode('://', $cloudId->getRemote(), 2);
44
-		$this->remote = $remote;
45
-		$this->remoteUser = $cloudId->getUser();
46
-		parent::__construct($storage);
47
-	}
36
+    /**
37
+     * @param \OCA\Files_Sharing\External\Storage $storage
38
+     * @param ICloudId $cloudId
39
+     */
40
+    public function __construct($storage, ICloudId $cloudId) {
41
+        $this->cloudId = $cloudId;
42
+        $this->storage = $storage;
43
+        list(, $remote) = explode('://', $cloudId->getRemote(), 2);
44
+        $this->remote = $remote;
45
+        $this->remoteUser = $cloudId->getUser();
46
+        parent::__construct($storage);
47
+    }
48 48
 
49
-	public function get($file) {
50
-		$result = parent::get($file);
51
-		if (!$result) {
52
-			return false;
53
-		}
54
-		$result['displayname_owner'] = $this->cloudId->getDisplayId();
55
-		if (!$file || $file === '') {
56
-			$result['is_share_mount_point'] = true;
57
-			$mountPoint = rtrim($this->storage->getMountPoint());
58
-			$result['name'] = basename($mountPoint);
59
-		}
60
-		return $result;
61
-	}
49
+    public function get($file) {
50
+        $result = parent::get($file);
51
+        if (!$result) {
52
+            return false;
53
+        }
54
+        $result['displayname_owner'] = $this->cloudId->getDisplayId();
55
+        if (!$file || $file === '') {
56
+            $result['is_share_mount_point'] = true;
57
+            $mountPoint = rtrim($this->storage->getMountPoint());
58
+            $result['name'] = basename($mountPoint);
59
+        }
60
+        return $result;
61
+    }
62 62
 
63
-	public function getFolderContentsById($id) {
64
-		$results = parent::getFolderContentsById($id);
65
-		foreach ($results as &$file) {
66
-			$file['displayname_owner'] = $this->cloudId->getDisplayId();
67
-		}
68
-		return $results;
69
-	}
63
+    public function getFolderContentsById($id) {
64
+        $results = parent::getFolderContentsById($id);
65
+        foreach ($results as &$file) {
66
+            $file['displayname_owner'] = $this->cloudId->getDisplayId();
67
+        }
68
+        return $results;
69
+    }
70 70
 }
Please login to merge, or discard this patch.
apps/files_sharing/lib/External/Storage.php 2 patches
Indentation   +324 added lines, -324 removed lines patch added patch discarded remove patch
@@ -41,330 +41,330 @@
 block discarded – undo
41 41
 use OCP\Files\StorageNotAvailableException;
42 42
 
43 43
 class Storage extends DAV implements ISharedStorage {
44
-	/** @var ICloudId */
45
-	private $cloudId;
46
-	/** @var string */
47
-	private $mountPoint;
48
-	/** @var string */
49
-	private $token;
50
-	/** @var \OCP\ICacheFactory */
51
-	private $memcacheFactory;
52
-	/** @var \OCP\Http\Client\IClientService */
53
-	private $httpClient;
54
-	/** @var \OCP\ICertificateManager */
55
-	private $certificateManager;
56
-	/** @var bool */
57
-	private $updateChecked = false;
58
-
59
-	/**
60
-	 * @var \OCA\Files_Sharing\External\Manager
61
-	 */
62
-	private $manager;
63
-
64
-	public function __construct($options) {
65
-		$this->memcacheFactory = \OC::$server->getMemCacheFactory();
66
-		$this->httpClient = $options['HttpClientService'];
67
-		$discoveryManager = new DiscoveryManager(
68
-			$this->memcacheFactory,
69
-			$this->httpClient
70
-		);
71
-
72
-		$this->manager = $options['manager'];
73
-		$this->certificateManager = $options['certificateManager'];
74
-		$this->cloudId = $options['cloudId'];
75
-		list($protocol, $remote) = explode('://', $this->cloudId->getRemote());
76
-		if (strpos($remote, '/')) {
77
-			list($host, $root) = explode('/', $remote, 2);
78
-		} else {
79
-			$host = $remote;
80
-			$root = '';
81
-		}
82
-		$secure = $protocol === 'https';
83
-		$root = rtrim($root, '/') . $discoveryManager->getWebDavEndpoint($this->cloudId->getRemote());
84
-		$this->mountPoint = $options['mountpoint'];
85
-		$this->token = $options['token'];
86
-		parent::__construct(array(
87
-			'secure' => $secure,
88
-			'host' => $host,
89
-			'root' => $root,
90
-			'user' => $options['token'],
91
-			'password' => (string)$options['password']
92
-		));
93
-	}
94
-
95
-	public function getWatcher($path = '', $storage = null) {
96
-		if (!$storage) {
97
-			$storage = $this;
98
-		}
99
-		if (!isset($this->watcher)) {
100
-			$this->watcher = new Watcher($storage);
101
-			$this->watcher->setPolicy(\OC\Files\Cache\Watcher::CHECK_ONCE);
102
-		}
103
-		return $this->watcher;
104
-	}
105
-
106
-	public function getRemoteUser() {
107
-		return $this->cloudId->getUser();
108
-	}
109
-
110
-	public function getRemote() {
111
-		return $this->cloudId->getRemote();
112
-	}
113
-
114
-	public function getMountPoint() {
115
-		return $this->mountPoint;
116
-	}
117
-
118
-	public function getToken() {
119
-		return $this->token;
120
-	}
121
-
122
-	public function getPassword() {
123
-		return $this->password;
124
-	}
125
-
126
-	/**
127
-	 * @brief get id of the mount point
128
-	 * @return string
129
-	 */
130
-	public function getId() {
131
-		return 'shared::' . md5($this->token . '@' . $this->getRemote());
132
-	}
133
-
134
-	public function getCache($path = '', $storage = null) {
135
-		if (is_null($this->cache)) {
136
-			$this->cache = new Cache($this, $this->cloudId);
137
-		}
138
-		return $this->cache;
139
-	}
140
-
141
-	/**
142
-	 * @param string $path
143
-	 * @param \OC\Files\Storage\Storage $storage
144
-	 * @return \OCA\Files_Sharing\External\Scanner
145
-	 */
146
-	public function getScanner($path = '', $storage = null) {
147
-		if (!$storage) {
148
-			$storage = $this;
149
-		}
150
-		if (!isset($this->scanner)) {
151
-			$this->scanner = new Scanner($storage);
152
-		}
153
-		return $this->scanner;
154
-	}
155
-
156
-	/**
157
-	 * check if a file or folder has been updated since $time
158
-	 *
159
-	 * @param string $path
160
-	 * @param int $time
161
-	 * @throws \OCP\Files\StorageNotAvailableException
162
-	 * @throws \OCP\Files\StorageInvalidException
163
-	 * @return bool
164
-	 */
165
-	public function hasUpdated($path, $time) {
166
-		// since for owncloud webdav servers we can rely on etag propagation we only need to check the root of the storage
167
-		// because of that we only do one check for the entire storage per request
168
-		if ($this->updateChecked) {
169
-			return false;
170
-		}
171
-		$this->updateChecked = true;
172
-		try {
173
-			return parent::hasUpdated('', $time);
174
-		} catch (StorageInvalidException $e) {
175
-			// check if it needs to be removed
176
-			$this->checkStorageAvailability();
177
-			throw $e;
178
-		} catch (StorageNotAvailableException $e) {
179
-			// check if it needs to be removed or just temp unavailable
180
-			$this->checkStorageAvailability();
181
-			throw $e;
182
-		}
183
-	}
184
-
185
-	public function test() {
186
-		try {
187
-			return parent::test();
188
-		} catch (StorageInvalidException $e) {
189
-			// check if it needs to be removed
190
-			$this->checkStorageAvailability();
191
-			throw $e;
192
-		} catch (StorageNotAvailableException $e) {
193
-			// check if it needs to be removed or just temp unavailable
194
-			$this->checkStorageAvailability();
195
-			throw $e;
196
-		}
197
-	}
198
-
199
-	/**
200
-	 * Check whether this storage is permanently or temporarily
201
-	 * unavailable
202
-	 *
203
-	 * @throws \OCP\Files\StorageNotAvailableException
204
-	 * @throws \OCP\Files\StorageInvalidException
205
-	 */
206
-	public function checkStorageAvailability() {
207
-		// see if we can find out why the share is unavailable
208
-		try {
209
-			$this->getShareInfo();
210
-		} catch (NotFoundException $e) {
211
-			// a 404 can either mean that the share no longer exists or there is no ownCloud on the remote
212
-			if ($this->testRemote()) {
213
-				// valid ownCloud instance means that the public share no longer exists
214
-				// since this is permanent (re-sharing the file will create a new token)
215
-				// we remove the invalid storage
216
-				$this->manager->removeShare($this->mountPoint);
217
-				$this->manager->getMountManager()->removeMount($this->mountPoint);
218
-				throw new StorageInvalidException();
219
-			} else {
220
-				// ownCloud instance is gone, likely to be a temporary server configuration error
221
-				throw new StorageNotAvailableException();
222
-			}
223
-		} catch (ForbiddenException $e) {
224
-			// auth error, remove share for now (provide a dialog in the future)
225
-			$this->manager->removeShare($this->mountPoint);
226
-			$this->manager->getMountManager()->removeMount($this->mountPoint);
227
-			throw new StorageInvalidException();
228
-		} catch (\GuzzleHttp\Exception\ConnectException $e) {
229
-			throw new StorageNotAvailableException();
230
-		} catch (\GuzzleHttp\Exception\RequestException $e) {
231
-			throw new StorageNotAvailableException();
232
-		} catch (\Exception $e) {
233
-			throw $e;
234
-		}
235
-	}
236
-
237
-	public function file_exists($path) {
238
-		if ($path === '') {
239
-			return true;
240
-		} else {
241
-			return parent::file_exists($path);
242
-		}
243
-	}
244
-
245
-	/**
246
-	 * check if the configured remote is a valid federated share provider
247
-	 *
248
-	 * @return bool
249
-	 */
250
-	protected function testRemote() {
251
-		try {
252
-			return $this->testRemoteUrl($this->getRemote() . '/ocs-provider/index.php')
253
-				|| $this->testRemoteUrl($this->getRemote() . '/ocs-provider/')
254
-				|| $this->testRemoteUrl($this->getRemote() . '/status.php');
255
-		} catch (\Exception $e) {
256
-			return false;
257
-		}
258
-	}
259
-
260
-	/**
261
-	 * @param string $url
262
-	 * @return bool
263
-	 */
264
-	private function testRemoteUrl($url) {
265
-		$cache = $this->memcacheFactory->create('files_sharing_remote_url');
266
-		if($cache->hasKey($url)) {
267
-			return (bool)$cache->get($url);
268
-		}
269
-
270
-		$client = $this->httpClient->newClient();
271
-		try {
272
-			$result = $client->get($url, [
273
-				'timeout' => 10,
274
-				'connect_timeout' => 10,
275
-			])->getBody();
276
-			$data = json_decode($result);
277
-			$returnValue = (is_object($data) && !empty($data->version));
278
-		} catch (ConnectException $e) {
279
-			$returnValue = false;
280
-		} catch (ClientException $e) {
281
-			$returnValue = false;
282
-		}
283
-
284
-		$cache->set($url, $returnValue);
285
-		return $returnValue;
286
-	}
287
-
288
-	/**
289
-	 * Whether the remote is an ownCloud, used since some sharing features are not
290
-	 * standardized. Let's use this to detect whether to use it.
291
-	 *
292
-	 * @return bool
293
-	 */
294
-	public function remoteIsOwnCloud() {
295
-		if(defined('PHPUNIT_RUN') || !$this->testRemoteUrl($this->getRemote() . '/status.php')) {
296
-			return false;
297
-		}
298
-		return true;
299
-	}
300
-
301
-	/**
302
-	 * @return mixed
303
-	 * @throws ForbiddenException
304
-	 * @throws NotFoundException
305
-	 * @throws \Exception
306
-	 */
307
-	public function getShareInfo() {
308
-		$remote = $this->getRemote();
309
-		$token = $this->getToken();
310
-		$password = $this->getPassword();
311
-
312
-		// If remote is not an ownCloud do not try to get any share info
313
-		if(!$this->remoteIsOwnCloud()) {
314
-			return ['status' => 'unsupported'];
315
-		}
316
-
317
-		$url = rtrim($remote, '/') . '/index.php/apps/files_sharing/shareinfo?t=' . $token;
318
-
319
-		// TODO: DI
320
-		$client = \OC::$server->getHTTPClientService()->newClient();
321
-		try {
322
-			$response = $client->post($url, [
323
-				'body' => ['password' => $password],
324
-				'timeout' => 10,
325
-				'connect_timeout' => 10,
326
-			]);
327
-		} catch (\GuzzleHttp\Exception\RequestException $e) {
328
-			if ($e->getCode() === Http::STATUS_UNAUTHORIZED || $e->getCode() === Http::STATUS_FORBIDDEN) {
329
-				throw new ForbiddenException();
330
-			}
331
-			if ($e->getCode() === Http::STATUS_NOT_FOUND) {
332
-				throw new NotFoundException();
333
-			}
334
-			// throw this to be on the safe side: the share will still be visible
335
-			// in the UI in case the failure is intermittent, and the user will
336
-			// be able to decide whether to remove it if it's really gone
337
-			throw new StorageNotAvailableException();
338
-		}
339
-
340
-		return json_decode($response->getBody(), true);
341
-	}
342
-
343
-	public function getOwner($path) {
344
-		return $this->cloudId->getDisplayId();
345
-	}
346
-
347
-	public function isSharable($path) {
348
-		if (\OCP\Util::isSharingDisabledForUser() || !\OC\Share\Share::isResharingAllowed()) {
349
-			return false;
350
-		}
351
-		return ($this->getPermissions($path) & \OCP\Constants::PERMISSION_SHARE);
352
-	}
44
+    /** @var ICloudId */
45
+    private $cloudId;
46
+    /** @var string */
47
+    private $mountPoint;
48
+    /** @var string */
49
+    private $token;
50
+    /** @var \OCP\ICacheFactory */
51
+    private $memcacheFactory;
52
+    /** @var \OCP\Http\Client\IClientService */
53
+    private $httpClient;
54
+    /** @var \OCP\ICertificateManager */
55
+    private $certificateManager;
56
+    /** @var bool */
57
+    private $updateChecked = false;
58
+
59
+    /**
60
+     * @var \OCA\Files_Sharing\External\Manager
61
+     */
62
+    private $manager;
63
+
64
+    public function __construct($options) {
65
+        $this->memcacheFactory = \OC::$server->getMemCacheFactory();
66
+        $this->httpClient = $options['HttpClientService'];
67
+        $discoveryManager = new DiscoveryManager(
68
+            $this->memcacheFactory,
69
+            $this->httpClient
70
+        );
71
+
72
+        $this->manager = $options['manager'];
73
+        $this->certificateManager = $options['certificateManager'];
74
+        $this->cloudId = $options['cloudId'];
75
+        list($protocol, $remote) = explode('://', $this->cloudId->getRemote());
76
+        if (strpos($remote, '/')) {
77
+            list($host, $root) = explode('/', $remote, 2);
78
+        } else {
79
+            $host = $remote;
80
+            $root = '';
81
+        }
82
+        $secure = $protocol === 'https';
83
+        $root = rtrim($root, '/') . $discoveryManager->getWebDavEndpoint($this->cloudId->getRemote());
84
+        $this->mountPoint = $options['mountpoint'];
85
+        $this->token = $options['token'];
86
+        parent::__construct(array(
87
+            'secure' => $secure,
88
+            'host' => $host,
89
+            'root' => $root,
90
+            'user' => $options['token'],
91
+            'password' => (string)$options['password']
92
+        ));
93
+    }
94
+
95
+    public function getWatcher($path = '', $storage = null) {
96
+        if (!$storage) {
97
+            $storage = $this;
98
+        }
99
+        if (!isset($this->watcher)) {
100
+            $this->watcher = new Watcher($storage);
101
+            $this->watcher->setPolicy(\OC\Files\Cache\Watcher::CHECK_ONCE);
102
+        }
103
+        return $this->watcher;
104
+    }
105
+
106
+    public function getRemoteUser() {
107
+        return $this->cloudId->getUser();
108
+    }
109
+
110
+    public function getRemote() {
111
+        return $this->cloudId->getRemote();
112
+    }
113
+
114
+    public function getMountPoint() {
115
+        return $this->mountPoint;
116
+    }
117
+
118
+    public function getToken() {
119
+        return $this->token;
120
+    }
121
+
122
+    public function getPassword() {
123
+        return $this->password;
124
+    }
125
+
126
+    /**
127
+     * @brief get id of the mount point
128
+     * @return string
129
+     */
130
+    public function getId() {
131
+        return 'shared::' . md5($this->token . '@' . $this->getRemote());
132
+    }
133
+
134
+    public function getCache($path = '', $storage = null) {
135
+        if (is_null($this->cache)) {
136
+            $this->cache = new Cache($this, $this->cloudId);
137
+        }
138
+        return $this->cache;
139
+    }
140
+
141
+    /**
142
+     * @param string $path
143
+     * @param \OC\Files\Storage\Storage $storage
144
+     * @return \OCA\Files_Sharing\External\Scanner
145
+     */
146
+    public function getScanner($path = '', $storage = null) {
147
+        if (!$storage) {
148
+            $storage = $this;
149
+        }
150
+        if (!isset($this->scanner)) {
151
+            $this->scanner = new Scanner($storage);
152
+        }
153
+        return $this->scanner;
154
+    }
155
+
156
+    /**
157
+     * check if a file or folder has been updated since $time
158
+     *
159
+     * @param string $path
160
+     * @param int $time
161
+     * @throws \OCP\Files\StorageNotAvailableException
162
+     * @throws \OCP\Files\StorageInvalidException
163
+     * @return bool
164
+     */
165
+    public function hasUpdated($path, $time) {
166
+        // since for owncloud webdav servers we can rely on etag propagation we only need to check the root of the storage
167
+        // because of that we only do one check for the entire storage per request
168
+        if ($this->updateChecked) {
169
+            return false;
170
+        }
171
+        $this->updateChecked = true;
172
+        try {
173
+            return parent::hasUpdated('', $time);
174
+        } catch (StorageInvalidException $e) {
175
+            // check if it needs to be removed
176
+            $this->checkStorageAvailability();
177
+            throw $e;
178
+        } catch (StorageNotAvailableException $e) {
179
+            // check if it needs to be removed or just temp unavailable
180
+            $this->checkStorageAvailability();
181
+            throw $e;
182
+        }
183
+    }
184
+
185
+    public function test() {
186
+        try {
187
+            return parent::test();
188
+        } catch (StorageInvalidException $e) {
189
+            // check if it needs to be removed
190
+            $this->checkStorageAvailability();
191
+            throw $e;
192
+        } catch (StorageNotAvailableException $e) {
193
+            // check if it needs to be removed or just temp unavailable
194
+            $this->checkStorageAvailability();
195
+            throw $e;
196
+        }
197
+    }
198
+
199
+    /**
200
+     * Check whether this storage is permanently or temporarily
201
+     * unavailable
202
+     *
203
+     * @throws \OCP\Files\StorageNotAvailableException
204
+     * @throws \OCP\Files\StorageInvalidException
205
+     */
206
+    public function checkStorageAvailability() {
207
+        // see if we can find out why the share is unavailable
208
+        try {
209
+            $this->getShareInfo();
210
+        } catch (NotFoundException $e) {
211
+            // a 404 can either mean that the share no longer exists or there is no ownCloud on the remote
212
+            if ($this->testRemote()) {
213
+                // valid ownCloud instance means that the public share no longer exists
214
+                // since this is permanent (re-sharing the file will create a new token)
215
+                // we remove the invalid storage
216
+                $this->manager->removeShare($this->mountPoint);
217
+                $this->manager->getMountManager()->removeMount($this->mountPoint);
218
+                throw new StorageInvalidException();
219
+            } else {
220
+                // ownCloud instance is gone, likely to be a temporary server configuration error
221
+                throw new StorageNotAvailableException();
222
+            }
223
+        } catch (ForbiddenException $e) {
224
+            // auth error, remove share for now (provide a dialog in the future)
225
+            $this->manager->removeShare($this->mountPoint);
226
+            $this->manager->getMountManager()->removeMount($this->mountPoint);
227
+            throw new StorageInvalidException();
228
+        } catch (\GuzzleHttp\Exception\ConnectException $e) {
229
+            throw new StorageNotAvailableException();
230
+        } catch (\GuzzleHttp\Exception\RequestException $e) {
231
+            throw new StorageNotAvailableException();
232
+        } catch (\Exception $e) {
233
+            throw $e;
234
+        }
235
+    }
236
+
237
+    public function file_exists($path) {
238
+        if ($path === '') {
239
+            return true;
240
+        } else {
241
+            return parent::file_exists($path);
242
+        }
243
+    }
244
+
245
+    /**
246
+     * check if the configured remote is a valid federated share provider
247
+     *
248
+     * @return bool
249
+     */
250
+    protected function testRemote() {
251
+        try {
252
+            return $this->testRemoteUrl($this->getRemote() . '/ocs-provider/index.php')
253
+                || $this->testRemoteUrl($this->getRemote() . '/ocs-provider/')
254
+                || $this->testRemoteUrl($this->getRemote() . '/status.php');
255
+        } catch (\Exception $e) {
256
+            return false;
257
+        }
258
+    }
259
+
260
+    /**
261
+     * @param string $url
262
+     * @return bool
263
+     */
264
+    private function testRemoteUrl($url) {
265
+        $cache = $this->memcacheFactory->create('files_sharing_remote_url');
266
+        if($cache->hasKey($url)) {
267
+            return (bool)$cache->get($url);
268
+        }
269
+
270
+        $client = $this->httpClient->newClient();
271
+        try {
272
+            $result = $client->get($url, [
273
+                'timeout' => 10,
274
+                'connect_timeout' => 10,
275
+            ])->getBody();
276
+            $data = json_decode($result);
277
+            $returnValue = (is_object($data) && !empty($data->version));
278
+        } catch (ConnectException $e) {
279
+            $returnValue = false;
280
+        } catch (ClientException $e) {
281
+            $returnValue = false;
282
+        }
283
+
284
+        $cache->set($url, $returnValue);
285
+        return $returnValue;
286
+    }
287
+
288
+    /**
289
+     * Whether the remote is an ownCloud, used since some sharing features are not
290
+     * standardized. Let's use this to detect whether to use it.
291
+     *
292
+     * @return bool
293
+     */
294
+    public function remoteIsOwnCloud() {
295
+        if(defined('PHPUNIT_RUN') || !$this->testRemoteUrl($this->getRemote() . '/status.php')) {
296
+            return false;
297
+        }
298
+        return true;
299
+    }
300
+
301
+    /**
302
+     * @return mixed
303
+     * @throws ForbiddenException
304
+     * @throws NotFoundException
305
+     * @throws \Exception
306
+     */
307
+    public function getShareInfo() {
308
+        $remote = $this->getRemote();
309
+        $token = $this->getToken();
310
+        $password = $this->getPassword();
311
+
312
+        // If remote is not an ownCloud do not try to get any share info
313
+        if(!$this->remoteIsOwnCloud()) {
314
+            return ['status' => 'unsupported'];
315
+        }
316
+
317
+        $url = rtrim($remote, '/') . '/index.php/apps/files_sharing/shareinfo?t=' . $token;
318
+
319
+        // TODO: DI
320
+        $client = \OC::$server->getHTTPClientService()->newClient();
321
+        try {
322
+            $response = $client->post($url, [
323
+                'body' => ['password' => $password],
324
+                'timeout' => 10,
325
+                'connect_timeout' => 10,
326
+            ]);
327
+        } catch (\GuzzleHttp\Exception\RequestException $e) {
328
+            if ($e->getCode() === Http::STATUS_UNAUTHORIZED || $e->getCode() === Http::STATUS_FORBIDDEN) {
329
+                throw new ForbiddenException();
330
+            }
331
+            if ($e->getCode() === Http::STATUS_NOT_FOUND) {
332
+                throw new NotFoundException();
333
+            }
334
+            // throw this to be on the safe side: the share will still be visible
335
+            // in the UI in case the failure is intermittent, and the user will
336
+            // be able to decide whether to remove it if it's really gone
337
+            throw new StorageNotAvailableException();
338
+        }
339
+
340
+        return json_decode($response->getBody(), true);
341
+    }
342
+
343
+    public function getOwner($path) {
344
+        return $this->cloudId->getDisplayId();
345
+    }
346
+
347
+    public function isSharable($path) {
348
+        if (\OCP\Util::isSharingDisabledForUser() || !\OC\Share\Share::isResharingAllowed()) {
349
+            return false;
350
+        }
351
+        return ($this->getPermissions($path) & \OCP\Constants::PERMISSION_SHARE);
352
+    }
353 353
 	
354
-	public function getPermissions($path) {
355
-		$response = $this->propfind($path);
356
-		if (isset($response['{http://open-collaboration-services.org/ns}share-permissions'])) {
357
-			$permissions = $response['{http://open-collaboration-services.org/ns}share-permissions'];
358
-		} else {
359
-			// use default permission if remote server doesn't provide the share permissions
360
-			if ($this->is_dir($path)) {
361
-				$permissions = \OCP\Constants::PERMISSION_ALL;
362
-			} else {
363
-				$permissions = \OCP\Constants::PERMISSION_ALL & ~\OCP\Constants::PERMISSION_CREATE;
364
-			}
365
-		}
366
-
367
-		return $permissions;
368
-	}
354
+    public function getPermissions($path) {
355
+        $response = $this->propfind($path);
356
+        if (isset($response['{http://open-collaboration-services.org/ns}share-permissions'])) {
357
+            $permissions = $response['{http://open-collaboration-services.org/ns}share-permissions'];
358
+        } else {
359
+            // use default permission if remote server doesn't provide the share permissions
360
+            if ($this->is_dir($path)) {
361
+                $permissions = \OCP\Constants::PERMISSION_ALL;
362
+            } else {
363
+                $permissions = \OCP\Constants::PERMISSION_ALL & ~\OCP\Constants::PERMISSION_CREATE;
364
+            }
365
+        }
366
+
367
+        return $permissions;
368
+    }
369 369
 
370 370
 }
Please login to merge, or discard this patch.
Spacing   +11 added lines, -11 removed lines patch added patch discarded remove patch
@@ -80,7 +80,7 @@  discard block
 block discarded – undo
80 80
 			$root = '';
81 81
 		}
82 82
 		$secure = $protocol === 'https';
83
-		$root = rtrim($root, '/') . $discoveryManager->getWebDavEndpoint($this->cloudId->getRemote());
83
+		$root = rtrim($root, '/').$discoveryManager->getWebDavEndpoint($this->cloudId->getRemote());
84 84
 		$this->mountPoint = $options['mountpoint'];
85 85
 		$this->token = $options['token'];
86 86
 		parent::__construct(array(
@@ -88,7 +88,7 @@  discard block
 block discarded – undo
88 88
 			'host' => $host,
89 89
 			'root' => $root,
90 90
 			'user' => $options['token'],
91
-			'password' => (string)$options['password']
91
+			'password' => (string) $options['password']
92 92
 		));
93 93
 	}
94 94
 
@@ -128,7 +128,7 @@  discard block
 block discarded – undo
128 128
 	 * @return string
129 129
 	 */
130 130
 	public function getId() {
131
-		return 'shared::' . md5($this->token . '@' . $this->getRemote());
131
+		return 'shared::'.md5($this->token.'@'.$this->getRemote());
132 132
 	}
133 133
 
134 134
 	public function getCache($path = '', $storage = null) {
@@ -249,9 +249,9 @@  discard block
 block discarded – undo
249 249
 	 */
250 250
 	protected function testRemote() {
251 251
 		try {
252
-			return $this->testRemoteUrl($this->getRemote() . '/ocs-provider/index.php')
253
-				|| $this->testRemoteUrl($this->getRemote() . '/ocs-provider/')
254
-				|| $this->testRemoteUrl($this->getRemote() . '/status.php');
252
+			return $this->testRemoteUrl($this->getRemote().'/ocs-provider/index.php')
253
+				|| $this->testRemoteUrl($this->getRemote().'/ocs-provider/')
254
+				|| $this->testRemoteUrl($this->getRemote().'/status.php');
255 255
 		} catch (\Exception $e) {
256 256
 			return false;
257 257
 		}
@@ -263,8 +263,8 @@  discard block
 block discarded – undo
263 263
 	 */
264 264
 	private function testRemoteUrl($url) {
265 265
 		$cache = $this->memcacheFactory->create('files_sharing_remote_url');
266
-		if($cache->hasKey($url)) {
267
-			return (bool)$cache->get($url);
266
+		if ($cache->hasKey($url)) {
267
+			return (bool) $cache->get($url);
268 268
 		}
269 269
 
270 270
 		$client = $this->httpClient->newClient();
@@ -292,7 +292,7 @@  discard block
 block discarded – undo
292 292
 	 * @return bool
293 293
 	 */
294 294
 	public function remoteIsOwnCloud() {
295
-		if(defined('PHPUNIT_RUN') || !$this->testRemoteUrl($this->getRemote() . '/status.php')) {
295
+		if (defined('PHPUNIT_RUN') || !$this->testRemoteUrl($this->getRemote().'/status.php')) {
296 296
 			return false;
297 297
 		}
298 298
 		return true;
@@ -310,11 +310,11 @@  discard block
 block discarded – undo
310 310
 		$password = $this->getPassword();
311 311
 
312 312
 		// If remote is not an ownCloud do not try to get any share info
313
-		if(!$this->remoteIsOwnCloud()) {
313
+		if (!$this->remoteIsOwnCloud()) {
314 314
 			return ['status' => 'unsupported'];
315 315
 		}
316 316
 
317
-		$url = rtrim($remote, '/') . '/index.php/apps/files_sharing/shareinfo?t=' . $token;
317
+		$url = rtrim($remote, '/').'/index.php/apps/files_sharing/shareinfo?t='.$token;
318 318
 
319 319
 		// TODO: DI
320 320
 		$client = \OC::$server->getHTTPClientService()->newClient();
Please login to merge, or discard this patch.
apps/files_sharing/lib/External/MountProvider.php 2 patches
Indentation   +45 added lines, -45 removed lines patch added patch discarded remove patch
@@ -29,59 +29,59 @@
 block discarded – undo
29 29
 use OCP\IUser;
30 30
 
31 31
 class MountProvider implements IMountProvider {
32
-	const STORAGE = '\OCA\Files_Sharing\External\Storage';
32
+    const STORAGE = '\OCA\Files_Sharing\External\Storage';
33 33
 
34
-	/**
35
-	 * @var \OCP\IDBConnection
36
-	 */
37
-	private $connection;
34
+    /**
35
+     * @var \OCP\IDBConnection
36
+     */
37
+    private $connection;
38 38
 
39
-	/**
40
-	 * @var callable
41
-	 */
42
-	private $managerProvider;
39
+    /**
40
+     * @var callable
41
+     */
42
+    private $managerProvider;
43 43
 
44
-	/**
45
-	 * @var ICloudIdManager
46
-	 */
47
-	private $cloudIdManager;
44
+    /**
45
+     * @var ICloudIdManager
46
+     */
47
+    private $cloudIdManager;
48 48
 
49
-	/**
50
-	 * @param \OCP\IDBConnection $connection
51
-	 * @param callable $managerProvider due to setup order we need a callable that return the manager instead of the manager itself
52
-	 * @param ICloudIdManager $cloudIdManager
53
-	 */
54
-	public function __construct(IDBConnection $connection, callable $managerProvider, ICloudIdManager $cloudIdManager) {
55
-		$this->connection = $connection;
56
-		$this->managerProvider = $managerProvider;
57
-		$this->cloudIdManager = $cloudIdManager;
58
-	}
49
+    /**
50
+     * @param \OCP\IDBConnection $connection
51
+     * @param callable $managerProvider due to setup order we need a callable that return the manager instead of the manager itself
52
+     * @param ICloudIdManager $cloudIdManager
53
+     */
54
+    public function __construct(IDBConnection $connection, callable $managerProvider, ICloudIdManager $cloudIdManager) {
55
+        $this->connection = $connection;
56
+        $this->managerProvider = $managerProvider;
57
+        $this->cloudIdManager = $cloudIdManager;
58
+    }
59 59
 
60
-	public function getMount(IUser $user, $data, IStorageFactory $storageFactory) {
61
-		$managerProvider = $this->managerProvider;
62
-		$manager = $managerProvider();
63
-		$data['manager'] = $manager;
64
-		$mountPoint = '/' . $user->getUID() . '/files/' . ltrim($data['mountpoint'], '/');
65
-		$data['mountpoint'] = $mountPoint;
66
-		$data['cloudId'] = $this->cloudIdManager->getCloudId($data['owner'], $data['remote']);
67
-		$data['certificateManager'] = \OC::$server->getCertificateManager($user->getUID());
68
-		$data['HttpClientService'] = \OC::$server->getHTTPClientService();
69
-		return new Mount(self::STORAGE, $mountPoint, $data, $manager, $storageFactory);
70
-	}
60
+    public function getMount(IUser $user, $data, IStorageFactory $storageFactory) {
61
+        $managerProvider = $this->managerProvider;
62
+        $manager = $managerProvider();
63
+        $data['manager'] = $manager;
64
+        $mountPoint = '/' . $user->getUID() . '/files/' . ltrim($data['mountpoint'], '/');
65
+        $data['mountpoint'] = $mountPoint;
66
+        $data['cloudId'] = $this->cloudIdManager->getCloudId($data['owner'], $data['remote']);
67
+        $data['certificateManager'] = \OC::$server->getCertificateManager($user->getUID());
68
+        $data['HttpClientService'] = \OC::$server->getHTTPClientService();
69
+        return new Mount(self::STORAGE, $mountPoint, $data, $manager, $storageFactory);
70
+    }
71 71
 
72
-	public function getMountsForUser(IUser $user, IStorageFactory $loader) {
73
-		$query = $this->connection->prepare('
72
+    public function getMountsForUser(IUser $user, IStorageFactory $loader) {
73
+        $query = $this->connection->prepare('
74 74
 				SELECT `remote`, `share_token`, `password`, `mountpoint`, `owner`
75 75
 				FROM `*PREFIX*share_external`
76 76
 				WHERE `user` = ? AND `accepted` = ?
77 77
 			');
78
-		$query->execute([$user->getUID(), 1]);
79
-		$mounts = [];
80
-		while ($row = $query->fetch()) {
81
-			$row['manager'] = $this;
82
-			$row['token'] = $row['share_token'];
83
-			$mounts[] = $this->getMount($user, $row, $loader);
84
-		}
85
-		return $mounts;
86
-	}
78
+        $query->execute([$user->getUID(), 1]);
79
+        $mounts = [];
80
+        while ($row = $query->fetch()) {
81
+            $row['manager'] = $this;
82
+            $row['token'] = $row['share_token'];
83
+            $mounts[] = $this->getMount($user, $row, $loader);
84
+        }
85
+        return $mounts;
86
+    }
87 87
 }
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -61,7 +61,7 @@
 block discarded – undo
61 61
 		$managerProvider = $this->managerProvider;
62 62
 		$manager = $managerProvider();
63 63
 		$data['manager'] = $manager;
64
-		$mountPoint = '/' . $user->getUID() . '/files/' . ltrim($data['mountpoint'], '/');
64
+		$mountPoint = '/'.$user->getUID().'/files/'.ltrim($data['mountpoint'], '/');
65 65
 		$data['mountpoint'] = $mountPoint;
66 66
 		$data['cloudId'] = $this->cloudIdManager->getCloudId($data['owner'], $data['remote']);
67 67
 		$data['certificateManager'] = \OC::$server->getCertificateManager($user->getUID());
Please login to merge, or discard this patch.