@@ -24,7 +24,7 @@ discard block |
||
24 | 24 | * along with this program. If not, see <http://www.gnu.org/licenses/> |
25 | 25 | * |
26 | 26 | */ |
27 | -require_once __DIR__ . '/../3rdparty/Dropbox/autoload.php'; |
|
27 | +require_once __DIR__.'/../3rdparty/Dropbox/autoload.php'; |
|
28 | 28 | |
29 | 29 | OCP\JSON::checkAppEnabled('files_external'); |
30 | 30 | OCP\JSON::checkLoggedIn(); |
@@ -33,13 +33,13 @@ discard block |
||
33 | 33 | |
34 | 34 | // FIXME: currently hard-coded to Dropbox OAuth |
35 | 35 | if (isset($_POST['app_key']) && isset($_POST['app_secret'])) { |
36 | - $oauth = new Dropbox_OAuth_Curl((string)$_POST['app_key'], (string)$_POST['app_secret']); |
|
36 | + $oauth = new Dropbox_OAuth_Curl((string) $_POST['app_key'], (string) $_POST['app_secret']); |
|
37 | 37 | if (isset($_POST['step'])) { |
38 | 38 | switch ($_POST['step']) { |
39 | 39 | case 1: |
40 | 40 | try { |
41 | 41 | if (isset($_POST['callback'])) { |
42 | - $callback = (string)$_POST['callback']; |
|
42 | + $callback = (string) $_POST['callback']; |
|
43 | 43 | } else { |
44 | 44 | $callback = null; |
45 | 45 | } |
@@ -56,7 +56,7 @@ discard block |
||
56 | 56 | case 2: |
57 | 57 | if (isset($_POST['request_token']) && isset($_POST['request_token_secret'])) { |
58 | 58 | try { |
59 | - $oauth->setToken((string)$_POST['request_token'], (string)$_POST['request_token_secret']); |
|
59 | + $oauth->setToken((string) $_POST['request_token'], (string) $_POST['request_token_secret']); |
|
60 | 60 | $token = $oauth->getAccessToken(); |
61 | 61 | OCP\JSON::success(array('access_token' => $token['token'], |
62 | 62 | 'access_token_secret' => $token['token_secret'])); |
@@ -39,9 +39,9 @@ discard block |
||
39 | 39 | // FIXME: currently hard-coded to Google Drive |
40 | 40 | if (isset($_POST['client_id']) && isset($_POST['client_secret']) && isset($_POST['redirect'])) { |
41 | 41 | $client = new Google_Client(); |
42 | - $client->setClientId((string)$_POST['client_id']); |
|
43 | - $client->setClientSecret((string)$_POST['client_secret']); |
|
44 | - $client->setRedirectUri((string)$_POST['redirect']); |
|
42 | + $client->setClientId((string) $_POST['client_id']); |
|
43 | + $client->setClientSecret((string) $_POST['client_secret']); |
|
44 | + $client->setRedirectUri((string) $_POST['redirect']); |
|
45 | 45 | $client->setScopes(array('https://www.googleapis.com/auth/drive')); |
46 | 46 | $client->setApprovalPrompt('force'); |
47 | 47 | $client->setAccessType('offline'); |
@@ -60,7 +60,7 @@ discard block |
||
60 | 60 | } |
61 | 61 | } else if ($step == 2 && isset($_POST['code'])) { |
62 | 62 | try { |
63 | - $token = $client->authenticate((string)$_POST['code']); |
|
63 | + $token = $client->authenticate((string) $_POST['code']); |
|
64 | 64 | OCP\JSON::success(array('data' => array( |
65 | 65 | 'token' => $token |
66 | 66 | ))); |
@@ -30,13 +30,13 @@ |
||
30 | 30 | $limit = null; |
31 | 31 | $offset = null; |
32 | 32 | if (isset($_GET['pattern'])) { |
33 | - $pattern = (string)$_GET['pattern']; |
|
33 | + $pattern = (string) $_GET['pattern']; |
|
34 | 34 | } |
35 | 35 | if (isset($_GET['limit'])) { |
36 | - $limit = (int)$_GET['limit']; |
|
36 | + $limit = (int) $_GET['limit']; |
|
37 | 37 | } |
38 | 38 | if (isset($_GET['offset'])) { |
39 | - $offset = (int)$_GET['offset']; |
|
39 | + $offset = (int) $_GET['offset']; |
|
40 | 40 | } |
41 | 41 | |
42 | 42 | $groups = []; |
@@ -172,11 +172,11 @@ |
||
172 | 172 | public function getStorageForAllUsers() { |
173 | 173 | $mounts = $this->dbConfig->getAllMounts(); |
174 | 174 | $configs = array_map([$this, 'getStorageConfigFromDBMount'], $mounts); |
175 | - $configs = array_filter($configs, function ($config) { |
|
175 | + $configs = array_filter($configs, function($config) { |
|
176 | 176 | return $config instanceof StorageConfig; |
177 | 177 | }); |
178 | 178 | |
179 | - $keys = array_map(function (StorageConfig $config) { |
|
179 | + $keys = array_map(function(StorageConfig $config) { |
|
180 | 180 | return $config->getId(); |
181 | 181 | }, $configs); |
182 | 182 |
@@ -178,7 +178,7 @@ discard block |
||
178 | 178 | */ |
179 | 179 | public function getAdminMountsForMultiple($type, array $values) { |
180 | 180 | $builder = $this->connection->getQueryBuilder(); |
181 | - $params = array_map(function ($value) use ($builder) { |
|
181 | + $params = array_map(function($value) use ($builder) { |
|
182 | 182 | return $builder->createNamedParameter($value, IQueryBuilder::PARAM_STR); |
183 | 183 | }, $values); |
184 | 184 | |
@@ -231,7 +231,7 @@ discard block |
||
231 | 231 | 'type' => $builder->createNamedParameter($type, IQueryBuilder::PARAM_INT) |
232 | 232 | ]); |
233 | 233 | $query->execute(); |
234 | - return (int)$this->connection->lastInsertId('*PREFIX*external_mounts'); |
|
234 | + return (int) $this->connection->lastInsertId('*PREFIX*external_mounts'); |
|
235 | 235 | } |
236 | 236 | |
237 | 237 | /** |
@@ -367,7 +367,7 @@ discard block |
||
367 | 367 | } |
368 | 368 | $uniqueMounts = array_values($uniqueMounts); |
369 | 369 | |
370 | - $mountIds = array_map(function ($mount) { |
|
370 | + $mountIds = array_map(function($mount) { |
|
371 | 371 | return $mount['mount_id']; |
372 | 372 | }, $uniqueMounts); |
373 | 373 | $mountIds = array_values(array_unique($mountIds)); |
@@ -376,9 +376,9 @@ discard block |
||
376 | 376 | $config = $this->getConfigForMounts($mountIds); |
377 | 377 | $options = $this->getOptionsForMounts($mountIds); |
378 | 378 | |
379 | - return array_map(function ($mount, $applicable, $config, $options) { |
|
380 | - $mount['type'] = (int)$mount['type']; |
|
381 | - $mount['priority'] = (int)$mount['priority']; |
|
379 | + return array_map(function($mount, $applicable, $config, $options) { |
|
380 | + $mount['type'] = (int) $mount['type']; |
|
381 | + $mount['priority'] = (int) $mount['priority']; |
|
382 | 382 | $mount['applicable'] = $applicable; |
383 | 383 | $mount['config'] = $config; |
384 | 384 | $mount['options'] = $options; |
@@ -400,7 +400,7 @@ discard block |
||
400 | 400 | } |
401 | 401 | $builder = $this->connection->getQueryBuilder(); |
402 | 402 | $fields[] = 'mount_id'; |
403 | - $placeHolders = array_map(function ($id) use ($builder) { |
|
403 | + $placeHolders = array_map(function($id) use ($builder) { |
|
404 | 404 | return $builder->createPositionalParameter($id, IQueryBuilder::PARAM_INT); |
405 | 405 | }, $mountIds); |
406 | 406 | $query = $builder->select($fields) |
@@ -414,7 +414,7 @@ discard block |
||
414 | 414 | } |
415 | 415 | foreach ($rows as $row) { |
416 | 416 | if (isset($row['type'])) { |
417 | - $row['type'] = (int)$row['type']; |
|
417 | + $row['type'] = (int) $row['type']; |
|
418 | 418 | } |
419 | 419 | $result[$row['mount_id']][] = $row; |
420 | 420 | } |
@@ -445,8 +445,8 @@ discard block |
||
445 | 445 | public function getOptionsForMounts($mountIds) { |
446 | 446 | $mountOptions = $this->selectForMounts('external_options', ['key', 'value'], $mountIds); |
447 | 447 | $optionsMap = array_map([$this, 'createKeyValueMap'], $mountOptions); |
448 | - return array_map(function (array $options) { |
|
449 | - return array_map(function ($option) { |
|
448 | + return array_map(function(array $options) { |
|
449 | + return array_map(function($option) { |
|
450 | 450 | return json_decode($option); |
451 | 451 | }, $options); |
452 | 452 | }, $optionsMap); |
@@ -457,16 +457,16 @@ discard block |
||
457 | 457 | * @return array ['key1' => $value1, ...] |
458 | 458 | */ |
459 | 459 | private function createKeyValueMap(array $keyValuePairs) { |
460 | - $decryptedPairts = array_map(function ($pair) { |
|
460 | + $decryptedPairts = array_map(function($pair) { |
|
461 | 461 | if ($pair['key'] === 'password') { |
462 | 462 | $pair['value'] = $this->decryptValue($pair['value']); |
463 | 463 | } |
464 | 464 | return $pair; |
465 | 465 | }, $keyValuePairs); |
466 | - $keys = array_map(function ($pair) { |
|
466 | + $keys = array_map(function($pair) { |
|
467 | 467 | return $pair['key']; |
468 | 468 | }, $decryptedPairts); |
469 | - $values = array_map(function ($pair) { |
|
469 | + $values = array_map(function($pair) { |
|
470 | 470 | return $pair['value']; |
471 | 471 | }, $decryptedPairts); |
472 | 472 |
@@ -58,7 +58,7 @@ discard block |
||
58 | 58 | ) { |
59 | 59 | $backend = $this->backendService->getBackend($storageOptions['backend']); |
60 | 60 | if (!$backend) { |
61 | - throw new \UnexpectedValueException('Invalid backend ' . $storageOptions['backend']); |
|
61 | + throw new \UnexpectedValueException('Invalid backend '.$storageOptions['backend']); |
|
62 | 62 | } |
63 | 63 | $storageConfig->setBackend($backend); |
64 | 64 | if (isset($storageOptions['authMechanism']) && $storageOptions['authMechanism'] !== 'builtin::builtin') { |
@@ -68,7 +68,7 @@ discard block |
||
68 | 68 | $storageOptions['authMechanism'] = 'null'; // to make error handling easier |
69 | 69 | } |
70 | 70 | if (!$authMechanism) { |
71 | - throw new \UnexpectedValueException('Invalid authentication mechanism ' . $storageOptions['authMechanism']); |
|
71 | + throw new \UnexpectedValueException('Invalid authentication mechanism '.$storageOptions['authMechanism']); |
|
72 | 72 | } |
73 | 73 | $storageConfig->setAuthMechanism($authMechanism); |
74 | 74 | $storageConfig->setBackendOptions($storageOptions['options']); |
@@ -142,7 +142,7 @@ discard block |
||
142 | 142 | // something went wrong, skip |
143 | 143 | \OCP\Util::writeLog( |
144 | 144 | 'files_external', |
145 | - 'Could not parse mount point "' . $rootMountPath . '"', |
|
145 | + 'Could not parse mount point "'.$rootMountPath.'"', |
|
146 | 146 | \OCP\Util::ERROR |
147 | 147 | ); |
148 | 148 | continue; |
@@ -158,7 +158,7 @@ discard block |
||
158 | 158 | $storageOptions['authMechanism'] = null; // ensure config hash works |
159 | 159 | } |
160 | 160 | if (isset($storageOptions['id'])) { |
161 | - $configId = (int)$storageOptions['id']; |
|
161 | + $configId = (int) $storageOptions['id']; |
|
162 | 162 | if (isset($storages[$configId])) { |
163 | 163 | $currentStorage = $storages[$configId]; |
164 | 164 | } |
@@ -194,7 +194,7 @@ discard block |
||
194 | 194 | // don't die if a storage backend doesn't exist |
195 | 195 | \OCP\Util::writeLog( |
196 | 196 | 'files_external', |
197 | - 'Could not load storage: "' . $e->getMessage() . '"', |
|
197 | + 'Could not load storage: "'.$e->getMessage().'"', |
|
198 | 198 | \OCP\Util::ERROR |
199 | 199 | ); |
200 | 200 | } |
@@ -70,17 +70,17 @@ discard block |
||
70 | 70 | } |
71 | 71 | |
72 | 72 | protected function getStorageConfigFromDBMount(array $mount) { |
73 | - $applicableUsers = array_filter($mount['applicable'], function ($applicable) { |
|
73 | + $applicableUsers = array_filter($mount['applicable'], function($applicable) { |
|
74 | 74 | return $applicable['type'] === DBConfigService::APPLICABLE_TYPE_USER; |
75 | 75 | }); |
76 | - $applicableUsers = array_map(function ($applicable) { |
|
76 | + $applicableUsers = array_map(function($applicable) { |
|
77 | 77 | return $applicable['value']; |
78 | 78 | }, $applicableUsers); |
79 | 79 | |
80 | - $applicableGroups = array_filter($mount['applicable'], function ($applicable) { |
|
80 | + $applicableGroups = array_filter($mount['applicable'], function($applicable) { |
|
81 | 81 | return $applicable['type'] === DBConfigService::APPLICABLE_TYPE_GROUP; |
82 | 82 | }); |
83 | - $applicableGroups = array_map(function ($applicable) { |
|
83 | + $applicableGroups = array_map(function($applicable) { |
|
84 | 84 | return $applicable['value']; |
85 | 85 | }, $applicableGroups); |
86 | 86 | |
@@ -96,20 +96,20 @@ discard block |
||
96 | 96 | $mount['priority'] |
97 | 97 | ); |
98 | 98 | $config->setType($mount['type']); |
99 | - $config->setId((int)$mount['mount_id']); |
|
99 | + $config->setId((int) $mount['mount_id']); |
|
100 | 100 | return $config; |
101 | 101 | } catch (\UnexpectedValueException $e) { |
102 | 102 | // don't die if a storage backend doesn't exist |
103 | 103 | \OCP\Util::writeLog( |
104 | 104 | 'files_external', |
105 | - 'Could not load storage: "' . $e->getMessage() . '"', |
|
105 | + 'Could not load storage: "'.$e->getMessage().'"', |
|
106 | 106 | \OCP\Util::ERROR |
107 | 107 | ); |
108 | 108 | return null; |
109 | 109 | } catch (\InvalidArgumentException $e) { |
110 | 110 | \OCP\Util::writeLog( |
111 | 111 | 'files_external', |
112 | - 'Could not load storage: "' . $e->getMessage() . '"', |
|
112 | + 'Could not load storage: "'.$e->getMessage().'"', |
|
113 | 113 | \OCP\Util::ERROR |
114 | 114 | ); |
115 | 115 | return null; |
@@ -124,11 +124,11 @@ discard block |
||
124 | 124 | protected function readConfig() { |
125 | 125 | $mounts = $this->readDBConfig(); |
126 | 126 | $configs = array_map([$this, 'getStorageConfigFromDBMount'], $mounts); |
127 | - $configs = array_filter($configs, function ($config) { |
|
127 | + $configs = array_filter($configs, function($config) { |
|
128 | 128 | return $config instanceof StorageConfig; |
129 | 129 | }); |
130 | 130 | |
131 | - $keys = array_map(function (StorageConfig $config) { |
|
131 | + $keys = array_map(function(StorageConfig $config) { |
|
132 | 132 | return $config->getId(); |
133 | 133 | }, $configs); |
134 | 134 | |
@@ -147,14 +147,14 @@ discard block |
||
147 | 147 | $mount = $this->dbConfig->getMountById($id); |
148 | 148 | |
149 | 149 | if (!is_array($mount)) { |
150 | - throw new NotFoundException('Storage with id "' . $id . '" not found'); |
|
150 | + throw new NotFoundException('Storage with id "'.$id.'" not found'); |
|
151 | 151 | } |
152 | 152 | |
153 | 153 | $config = $this->getStorageConfigFromDBMount($mount); |
154 | 154 | if ($this->isApplicable($config)) { |
155 | 155 | return $config; |
156 | 156 | } else { |
157 | - throw new NotFoundException('Storage with id "' . $id . '" not found'); |
|
157 | + throw new NotFoundException('Storage with id "'.$id.'" not found'); |
|
158 | 158 | } |
159 | 159 | } |
160 | 160 | |
@@ -295,11 +295,11 @@ discard block |
||
295 | 295 | ) { |
296 | 296 | $backend = $this->backendService->getBackend($backendIdentifier); |
297 | 297 | if (!$backend) { |
298 | - throw new \InvalidArgumentException('Unable to get backend for ' . $backendIdentifier); |
|
298 | + throw new \InvalidArgumentException('Unable to get backend for '.$backendIdentifier); |
|
299 | 299 | } |
300 | 300 | $authMechanism = $this->backendService->getAuthMechanism($authMechanismIdentifier); |
301 | 301 | if (!$authMechanism) { |
302 | - throw new \InvalidArgumentException('Unable to get authentication mechanism for ' . $authMechanismIdentifier); |
|
302 | + throw new \InvalidArgumentException('Unable to get authentication mechanism for '.$authMechanismIdentifier); |
|
303 | 303 | } |
304 | 304 | $newStorage = new StorageConfig(); |
305 | 305 | $newStorage->setMountPoint($mountPoint); |
@@ -377,7 +377,7 @@ discard block |
||
377 | 377 | $existingMount = $this->dbConfig->getMountById($id); |
378 | 378 | |
379 | 379 | if (!is_array($existingMount)) { |
380 | - throw new NotFoundException('Storage with id "' . $id . '" not found while updating storage'); |
|
380 | + throw new NotFoundException('Storage with id "'.$id.'" not found while updating storage'); |
|
381 | 381 | } |
382 | 382 | |
383 | 383 | $oldStorage = $this->getStorageConfigFromDBMount($existingMount); |
@@ -456,7 +456,7 @@ discard block |
||
456 | 456 | $existingMount = $this->dbConfig->getMountById($id); |
457 | 457 | |
458 | 458 | if (!is_array($existingMount)) { |
459 | - throw new NotFoundException('Storage with id "' . $id . '" not found'); |
|
459 | + throw new NotFoundException('Storage with id "'.$id.'" not found'); |
|
460 | 460 | } |
461 | 461 | |
462 | 462 | $this->dbConfig->removeMount($id); |
@@ -474,7 +474,7 @@ discard block |
||
474 | 474 | // the storage id could not be computed |
475 | 475 | \OCP\Util::writeLog( |
476 | 476 | 'files_external', |
477 | - 'Exception: "' . $e->getMessage() . '"', |
|
477 | + 'Exception: "'.$e->getMessage().'"', |
|
478 | 478 | \OCP\Util::ERROR |
479 | 479 | ); |
480 | 480 | } |
@@ -198,7 +198,7 @@ |
||
198 | 198 | } catch (NotFoundException $e) { |
199 | 199 | return new DataResponse( |
200 | 200 | [ |
201 | - 'message' => (string)$this->l10n->t('Storage with id "%i" not found', array($id)) |
|
201 | + 'message' => (string) $this->l10n->t('Storage with id "%i" not found', array($id)) |
|
202 | 202 | ], |
203 | 203 | Http::STATUS_NOT_FOUND |
204 | 204 | ); |
@@ -127,7 +127,7 @@ discard block |
||
127 | 127 | $this->logger->logException($e); |
128 | 128 | return new DataResponse( |
129 | 129 | [ |
130 | - 'message' => (string)$this->l10n->t('Invalid backend or authentication mechanism class') |
|
130 | + 'message' => (string) $this->l10n->t('Invalid backend or authentication mechanism class') |
|
131 | 131 | ], |
132 | 132 | Http::STATUS_UNPROCESSABLE_ENTITY |
133 | 133 | ); |
@@ -146,7 +146,7 @@ discard block |
||
146 | 146 | if ($mountPoint === '' || $mountPoint === '/') { |
147 | 147 | return new DataResponse( |
148 | 148 | array( |
149 | - 'message' => (string)$this->l10n->t('Invalid mount point') |
|
149 | + 'message' => (string) $this->l10n->t('Invalid mount point') |
|
150 | 150 | ), |
151 | 151 | Http::STATUS_UNPROCESSABLE_ENTITY |
152 | 152 | ); |
@@ -156,7 +156,7 @@ discard block |
||
156 | 156 | // objectstore must not be sent from client side |
157 | 157 | return new DataResponse( |
158 | 158 | array( |
159 | - 'message' => (string)$this->l10n->t('Objectstore forbidden') |
|
159 | + 'message' => (string) $this->l10n->t('Objectstore forbidden') |
|
160 | 160 | ), |
161 | 161 | Http::STATUS_UNPROCESSABLE_ENTITY |
162 | 162 | ); |
@@ -170,7 +170,7 @@ discard block |
||
170 | 170 | // invalid backend |
171 | 171 | return new DataResponse( |
172 | 172 | array( |
173 | - 'message' => (string)$this->l10n->t('Invalid storage backend "%s"', [ |
|
173 | + 'message' => (string) $this->l10n->t('Invalid storage backend "%s"', [ |
|
174 | 174 | $backend->getIdentifier() |
175 | 175 | ]) |
176 | 176 | ), |
@@ -182,7 +182,7 @@ discard block |
||
182 | 182 | // not permitted to use backend |
183 | 183 | return new DataResponse( |
184 | 184 | array( |
185 | - 'message' => (string)$this->l10n->t('Not permitted to use backend "%s"', [ |
|
185 | + 'message' => (string) $this->l10n->t('Not permitted to use backend "%s"', [ |
|
186 | 186 | $backend->getIdentifier() |
187 | 187 | ]) |
188 | 188 | ), |
@@ -193,7 +193,7 @@ discard block |
||
193 | 193 | // not permitted to use auth mechanism |
194 | 194 | return new DataResponse( |
195 | 195 | array( |
196 | - 'message' => (string)$this->l10n->t('Not permitted to use authentication mechanism "%s"', [ |
|
196 | + 'message' => (string) $this->l10n->t('Not permitted to use authentication mechanism "%s"', [ |
|
197 | 197 | $authMechanism->getIdentifier() |
198 | 198 | ]) |
199 | 199 | ), |
@@ -205,7 +205,7 @@ discard block |
||
205 | 205 | // unsatisfied parameters |
206 | 206 | return new DataResponse( |
207 | 207 | array( |
208 | - 'message' => (string)$this->l10n->t('Unsatisfied backend parameters') |
|
208 | + 'message' => (string) $this->l10n->t('Unsatisfied backend parameters') |
|
209 | 209 | ), |
210 | 210 | Http::STATUS_UNPROCESSABLE_ENTITY |
211 | 211 | ); |
@@ -214,7 +214,7 @@ discard block |
||
214 | 214 | // unsatisfied parameters |
215 | 215 | return new DataResponse( |
216 | 216 | [ |
217 | - 'message' => (string)$this->l10n->t('Unsatisfied authentication mechanism parameters') |
|
217 | + 'message' => (string) $this->l10n->t('Unsatisfied authentication mechanism parameters') |
|
218 | 218 | ], |
219 | 219 | Http::STATUS_UNPROCESSABLE_ENTITY |
220 | 220 | ); |
@@ -241,7 +241,7 @@ discard block |
||
241 | 241 | * @param StorageConfig $storage storage configuration |
242 | 242 | * @param bool $testOnly whether to storage should only test the connection or do more things |
243 | 243 | */ |
244 | - protected function updateStorageStatus(StorageConfig &$storage, $testOnly = true) { |
|
244 | + protected function updateStorageStatus(StorageConfig & $storage, $testOnly = true) { |
|
245 | 245 | try { |
246 | 246 | $this->manipulateStorageConfig($storage); |
247 | 247 | |
@@ -306,7 +306,7 @@ discard block |
||
306 | 306 | } catch (NotFoundException $e) { |
307 | 307 | return new DataResponse( |
308 | 308 | [ |
309 | - 'message' => (string)$this->l10n->t('Storage with id "%i" not found', array($id)) |
|
309 | + 'message' => (string) $this->l10n->t('Storage with id "%i" not found', array($id)) |
|
310 | 310 | ], |
311 | 311 | Http::STATUS_NOT_FOUND |
312 | 312 | ); |
@@ -331,7 +331,7 @@ discard block |
||
331 | 331 | } catch (NotFoundException $e) { |
332 | 332 | return new DataResponse( |
333 | 333 | [ |
334 | - 'message' => (string)$this->l10n->t('Storage with id "%i" not found', array($id)) |
|
334 | + 'message' => (string) $this->l10n->t('Storage with id "%i" not found', array($id)) |
|
335 | 335 | ], |
336 | 336 | Http::STATUS_NOT_FOUND |
337 | 337 | ); |