Skip to content

Commit 241d4e6

Browse files
committed
chore: Move away from deprecated static OC methods
Signed-off-by: Julius Knorr <jus@bitgrid.net>
1 parent 829dde6 commit 241d4e6

8 files changed

Lines changed: 39 additions & 22 deletions

lib/Controller/DirectViewController.php

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -153,20 +153,19 @@ public function showPublicShare(Direct $direct) {
153153
return $response;
154154
}
155155

156-
$this->settings = \OC::$server->getConfig();
157156
if ($node instanceof Node) {
158157
$params = [
159158
'permissions' => $share->getPermissions(),
160159
'title' => $node->getName(),
161-
'fileId' => $node->getId() . '_' . $this->settings->getSystemValue('instanceid'),
160+
'fileId' => $node->getId() . '_' . $this->config->getSystemValueString('instanceid'),
162161
'path' => '/',
163162
'userId' => null,
164163
'direct' => true,
165164
'directGuest' => empty($direct->getUid()),
166165
];
167166

168167
$urlSrc = $this->tokenManager->getUrlSrc($node);
169-
$wopi = $this->tokenManager->generateWopiToken($node->getId(), $direct->getShare(), $direct->getUid(), true);
168+
$wopi = $this->tokenManager->generateWopiToken((string)$node->getId(), $direct->getShare(), $direct->getUid(), true);
170169
if (!empty($direct->getInitiatorHost())) {
171170
$this->tokenManager->upgradeFromDirectInitiator($direct, $wopi);
172171
}

lib/Controller/DocumentController.php

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
namespace OCA\Richdocuments\Controller;
77

88
use Exception;
9-
use OC;
109
use OC\User\NoUserException;
1110
use OCA\Richdocuments\AppConfig;
1211
use OCA\Richdocuments\Db\Wopi;
@@ -24,6 +23,8 @@
2423
use OCP\AppFramework\Http\RedirectResponse;
2524
use OCP\AppFramework\Http\TemplateResponse;
2625
use OCP\Constants;
26+
use OCP\Encryption\IFile as EncryptionFilesHelper;
27+
use OCP\Encryption\IManager as IEncryptionManager;
2728
use OCP\Files\File;
2829
use OCP\Files\Folder;
2930
use OCP\Files\IRootFolder;
@@ -140,12 +141,12 @@ public function index($fileId, ?string $path = null): RedirectResponse|TemplateR
140141
}
141142
}
142143

143-
$encryptionManager = OC::$server->getEncryptionManager();
144+
$encryptionManager = \OCP\Server::get(IEncryptionManager::class);
144145
if ($encryptionManager->isEnabled()) {
145146
// Update the current file to be accessible with system public shared key
146147
$owner = $file->getOwner()->getUID();
147148
$absPath = '/' . $owner . '/' . $file->getInternalPath();
148-
$accessList = OC::$server->getEncryptionFilesHelper()->getAccessList($absPath);
149+
$accessList = \OCP\Server::get(EncryptionFilesHelper::class)->getAccessList($absPath);
149150
$accessList['public'] = true;
150151
$encryptionManager->getEncryptionModule()->update($absPath, $owner, $accessList);
151152
}

lib/Controller/DocumentTrait.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ trait DocumentTrait {
1616
private AppConfig $appConfig;
1717

1818
private function documentTemplateResponse(Wopi $wopi, array $params): TemplateResponse {
19-
$eventDispatcher = \OC::$server->get(IEventDispatcher::class);
19+
$eventDispatcher = \OCP\Server::get(IEventDispatcher::class);
2020
$eventDispatcher->dispatchTyped(new RenderReferenceEvent());
2121
$this->initialState->provideDocument($wopi, $params);
2222
$response = new TemplateResponse('richdocuments', 'documents', $params, 'base');

lib/Controller/FederationController.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
use OCP\AppFramework\Http\DataResponse;
1313
use OCP\AppFramework\OCS\OCSNotFoundException;
1414
use OCP\AppFramework\OCSController;
15+
use OCP\Http\Client\IClientService;
1516
use OCP\IConfig;
1617
use OCP\IRequest;
1718
use OCP\IURLGenerator;
@@ -27,6 +28,7 @@ public function __construct(
2728
private WopiMapper $wopiMapper,
2829
private IUserManager $userManager,
2930
private IURLGenerator $urlGenerator,
31+
private IClientService $clientService,
3032
) {
3133
parent::__construct($appName, $request);
3234
}
@@ -62,7 +64,7 @@ public function remoteWopiToken($token): DataResponse {
6264
try {
6365
$initiatorWopi = $this->wopiMapper->getWopiForToken($token);
6466
if (empty($initiatorWopi->getEditorUid()) && !empty($initiatorWopi->getRemoteServer()) && !empty($initiatorWopi->getRemoteServerToken())) {
65-
$client = \OC::$server->getHTTPClientService()->newClient();
67+
$client = $this->clientService->newClient();
6668
$response = $client->post(
6769
rtrim($initiatorWopi->getRemoteServer(), '/') . '/ocs/v2.php/apps/richdocuments/api/v1/federation/user?format=json',
6870
[ 'body' => [ 'token' => $initiatorWopi->getRemoteServerToken() ], 'timeout' => 10 ]

lib/Controller/OCSController.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ public function createPublic(
111111
try {
112112
$response = $client->post(rtrim($host, '/') . '/ocs/v2.php/apps/richdocuments/api/v1/direct/share/initiator?format=json', [
113113
'body' => [
114-
'initiatorServer' => \OC::$server->getURLGenerator()->getAbsoluteURL(''),
114+
'initiatorServer' => $this->urlGenerator->getAbsoluteURL(''),
115115
'initiatorToken' => $wopi->getToken(),
116116
'shareToken' => $shareToken,
117117
'path' => $path,

lib/Controller/WopiController.php

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,11 @@
3434
use OCP\AppFramework\Http\StreamResponse;
3535
use OCP\AppFramework\QueryException;
3636
use OCP\Constants;
37+
use OCP\Contacts\IManager as IContactsManager;
38+
use OCP\Defaults;
3739
use OCP\Encryption\IManager as IEncryptionManager;
3840
use OCP\EventDispatcher\IEventDispatcher;
41+
use OCP\Federation\ICloudIdManager;
3942
use OCP\Files\File;
4043
use OCP\Files\Folder;
4144
use OCP\Files\GenericFileException;
@@ -125,7 +128,7 @@ public function checkFileInfo(string $fileId, string $access_token): JSONRespons
125128
}
126129

127130
$isPublic = empty($wopi->getEditorUid());
128-
$guestUserId = 'Guest-' . \OC::$server->getSecureRandom()->generate(8);
131+
$guestUserId = 'Guest-' . \OCP\Server::get(\OCP\Security\ISecureRandom::class)->generate(8);
129132
$user = $this->userManager->get($wopi->getEditorUid());
130133
$userDisplayName = $user !== null && !$isPublic ? $user->getDisplayName() : $wopi->getGuestDisplayname();
131134
$isVersion = $version !== '0';
@@ -230,7 +233,7 @@ public function checkFileInfo(string $fileId, string $access_token): JSONRespons
230233
$replacements = [
231234
'userId' => $wopi->getEditorUid(),
232235
'date' => $currentDateTime->format('Y-m-d H:i:s'),
233-
'themingName' => \OC::$server->getThemingDefaults()->getName(),
236+
'themingName' => \OCP\Server::get(Defaults::class)->getName(),
234237
'userDisplayName' => $userDisplayName,
235238
'email' => $email,
236239
];
@@ -277,16 +280,16 @@ public function checkFileInfo(string $fileId, string $access_token): JSONRespons
277280

278281

279282
private function setFederationFileInfo(Wopi $wopi, $response) {
280-
$response['UserId'] = 'Guest-' . \OC::$server->getSecureRandom()->generate(8);
283+
$response['UserId'] = 'Guest-' . \OCP\Server::get(\OCP\Security\ISecureRandom::class)->generate(8);
281284

282285
if ($wopi->getTokenType() === Wopi::TOKEN_TYPE_REMOTE_USER) {
283286
$remoteUserId = $wopi->getGuestDisplayname();
284-
$cloudID = \OC::$server->getCloudIdManager()->resolveCloudId($remoteUserId);
287+
$cloudID = \OCP\Server::get(ICloudIdManager::class)->resolveCloudId($remoteUserId);
285288
$response['UserId'] = $cloudID->getDisplayId();
286289
$response['UserFriendlyName'] = $cloudID->getDisplayId();
287290
$response['UserExtraInfo']['avatar'] = $this->urlGenerator->linkToRouteAbsolute('core.avatar.getAvatar', ['userId' => explode('@', $remoteUserId)[0], 'size' => self::WOPI_AVATAR_SIZE]);
288291
$cleanCloudId = str_replace(['http://', 'https://'], '', $cloudID->getId());
289-
$addressBookEntries = \OC::$server->getContactsManager()->search($cleanCloudId, ['CLOUD']);
292+
$addressBookEntries = \OCP\Server::get(IContactsManager::class)->search($cleanCloudId, ['CLOUD']);
290293
foreach ($addressBookEntries as $entry) {
291294
if (isset($entry['CLOUD'])) {
292295
foreach ($entry['CLOUD'] as $cloudID) {
@@ -348,7 +351,7 @@ public function getFile(string $fileId, string $access_token): JSONResponse|Stre
348351
$file = $this->getFileForWopiToken($wopi);
349352
\OC_User::setIncognitoMode(true);
350353
if ($version !== '0') {
351-
$versionManager = \OC::$server->get(IVersionManager::class);
354+
$versionManager = \OCP\Server::get(IVersionManager::class);
352355
$info = $versionManager->getVersionFile($this->userManager->get($wopi->getUserForFileAccess()), $file, $version);
353356
if ($info->getSize() === 0) {
354357
$response = new Http\Response();
@@ -362,7 +365,6 @@ public function getFile(string $fileId, string $access_token): JSONResponse|Stre
362365

363366
$filesize = $file->getSize();
364367
if ($this->request->getHeader('Range')) {
365-
$partialContent = true;
366368
preg_match('/bytes=(\d+)-(\d+)?/', $this->request->getHeader('Range'), $matches);
367369

368370
$offset = intval($matches[1] ?? 0);
@@ -373,13 +375,13 @@ public function getFile(string $fileId, string $access_token): JSONResponse|Stre
373375

374376
$fp = $file->fopen('rb');
375377
$rangeStream = fopen('php://temp', 'w+b');
376-
stream_copy_to_stream($fp, $rangeStream, $length, $offset);
378+
stream_copy_to_stream($fp, $rangeStream, (int)$length, $offset);
377379
fclose($fp);
378380

379381
fseek($rangeStream, 0);
380382
$response = new StreamResponse($rangeStream);
381383
$response->addHeader('Accept-Ranges', 'bytes');
382-
$response->addHeader('Content-Length', $filesize);
384+
$response->addHeader('Content-Length', (string)$filesize);
383385
$response->setStatus(Http::STATUS_PARTIAL_CONTENT);
384386
$response->addHeader('Content-Range', 'bytes ' . $offset . '-' . ($offset + $length) . '/' . $filesize);
385387
} else {
@@ -415,7 +417,7 @@ public function getSettings(string $type, string $access_token): JSONResponse {
415417
}
416418

417419
$isPublic = empty($wopi->getEditorUid());
418-
$guestUserId = 'Guest-' . \OC::$server->getSecureRandom()->generate(8);
420+
$guestUserId = 'Guest-' . \OCP\Server::get(\OCP\Security\ISecureRandom::class)->generate(8);
419421
$userId = !$isPublic ? $wopi->getEditorUid() : $guestUserId;
420422

421423
$userConfig = $this->settingsService->generateSettingsConfig($type, $userId);
@@ -977,7 +979,7 @@ public function getTemplate(string $fileId, string $access_token): JSONResponse|
977979
*/
978980
private function isMasterKeyEnabled(): bool {
979981
try {
980-
$util = \OC::$server->query(\OCA\Encryption\Util::class);
982+
$util = \OCP\Server::get(\OCA\Encryption\Util::class);
981983
return $util->isMasterKeyEnabled();
982984
} catch (QueryException) {
983985
// No encryption module enabled

lib/Service/FederationService.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ public function __construct(
4848
) {
4949
$this->cache = $cacheFactory->createDistributed('richdocuments_remote/');
5050
try {
51-
$this->trustedServers = \OC::$server->get(\OCA\Federation\TrustedServers::class);
51+
$this->trustedServers = \OCP\Server::get(\OCA\Federation\TrustedServers::class);
5252
} catch (NotFoundExceptionInterface|ContainerExceptionInterface|AutoloadNotAllowedException) {
5353
}
5454
}

tests/psalm-baseline.xml

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?xml version="1.0" encoding="UTF-8"?>
2-
<files psalm-version="5.26.1@d747f6500b38ac4f7dfc5edbcae6e4b637d7add0">
2+
<files psalm-version="6.5.1@3f17a6b24a2dbe543e21408c2b19108cf6a355ef">
33
<file src="lib/AppConfig.php">
44
<InvalidArgument>
55
<code><![CDATA[[]]]></code>
@@ -41,6 +41,12 @@
4141
<code><![CDATA[$app !== '']]></code>
4242
</RedundantCondition>
4343
</file>
44+
<file src="lib/Controller/OCSController.php">
45+
<UndefinedClass>
46+
<code><![CDATA[$e]]></code>
47+
<code><![CDATA[BadResponseException]]></code>
48+
</UndefinedClass>
49+
</file>
4450
<file src="lib/Controller/SettingsController.php">
4551
<UndefinedClass>
4652
<code><![CDATA[NullOutput]]></code>
@@ -59,9 +65,16 @@
5965
</InvalidThrow>
6066
</file>
6167
<file src="lib/Controller/WopiController.php">
68+
<InvalidArgument>
69+
<code><![CDATA[fn ($matches) => $replacements[$matches[1]]]]></code>
70+
</InvalidArgument>
6271
<NullArgument>
6372
<code><![CDATA[null]]></code>
6473
</NullArgument>
74+
<UndefinedClass>
75+
<code><![CDATA[IVersionManager]]></code>
76+
<code><![CDATA[\OCA\Encryption\Util]]></code>
77+
</UndefinedClass>
6578
<UndefinedInterfaceMethod>
6679
<code><![CDATA[putContent]]></code>
6780
<code><![CDATA[putContent]]></code>

0 commit comments

Comments
 (0)