diff --git a/build/psalm-baseline.xml b/build/psalm-baseline.xml
index 8f95f1415a1..dfe00245485 100644
--- a/build/psalm-baseline.xml
+++ b/build/psalm-baseline.xml
@@ -38,12 +38,33 @@
['uid' => &$uid]
)]]>
+
+
+
+
+
+ getUserId()]]>
+
+
+
+
+
+
+
+
+
+
+
+
+ userId]]>
+
+
@@ -63,6 +84,11 @@
+
+
+
+
+
@@ -117,6 +143,18 @@
+
+ userId]]>
+ userId]]>
+ userId]]>
+ userId]]>
+ userId]]>
+
+
+
+
+ userId]]>
+
@@ -124,6 +162,9 @@
+
+
+
@@ -134,6 +175,9 @@
+
+
+
@@ -161,6 +205,9 @@
+
+
+
@@ -222,6 +269,15 @@
+
+
+
+
+
+
+
+
+
@@ -244,10 +300,48 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ VEVENT->DTSTART]]>
+ VEVENT->SUMMARY]]>
+ VEVENT->DTSTART]]>
+ VEVENT->SUMMARY]]>
+
+
+ DTEND]]>
+ DTSTART]]>
+
+
+
+
+
+
+
@@ -267,6 +361,12 @@
+
+ objectData['calendardata']]]>
+
+
+ caldavBackend->getCalendarObject($this->calendarInfo['id'], $this->objectData['uri'], CalDavBackend::CALENDAR_TYPE_SUBSCRIPTION)]]>
+
@@ -290,6 +390,33 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ getOwner()]]>
+ getOwner()]]>
+
@@ -308,21 +435,82 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ getOwner()]]>
+
+
+
+
+ PRODID]]>
+ VERSION]]>
+ VTIMEZONE]]>
+ VTIMEZONE]]>
+
+
+ VTIMEZONE]]>
+
+
+
+
+
+
+
+ structure]]>
+ structure]]>
+
+
+
+
+
@@ -359,6 +547,19 @@
DTEND]]>
+
+ DURATION->getValue())]]>
+
+
+ DTSTART]]>
+ DTSTART]]>
+ DTSTART]]>
+
+
+
+
+
+
@@ -378,6 +579,15 @@
]]>
+
+ getValue()]]>
+ getValue()]]>
+
+
+
+
+
+
@@ -400,6 +610,11 @@
+
+ parent]]>
+ parent]]>
+ parent]]>
+
@@ -412,6 +627,16 @@
+
+ VALARM]]>
+ VALARM]]>
+
+
+
+
+
+
+
@@ -434,6 +659,14 @@
+
+
+
+
+
+
+
+
@@ -444,6 +677,14 @@
+
+ senderName->getValue()]]>
+ senderName->getValue()]]>
+
+
+
+
+
recipientName]]>
@@ -456,6 +697,62 @@
+
+
+
+
+
+
+
+ l10n->l('time', $er->endDateTime(), ['width' => 'short'])]]>
+ l10n->l('time', $er->endDateTime(), ['width' => 'short'])]]>
+ l10n->l('time', $er->endDateTime(), ['width' => 'short'])]]>
+ l10n->l('time', $er->endDateTime(), ['width' => 'short'])]]>
+ l10n->l('time', $er->endDateTime(), ['width' => 'short'])]]>
+ l10n->l('time', $er->endDateTime(), ['width' => 'short'])]]>
+
+
+ DURATION->getValue())]]>
+
+
+
+ recurrenceDate()]]>
+ recurrenceDate()]]>
+ recurrenceDate()]]>
+ recurrenceDate()]]>
+ recurrenceDate()]]>
+ recurringConcludesOn()]]>
+ recurringConcludesOn()]]>
+ recurringConcludesOn()]]>
+ recurringConcludesOn()]]>
+ recurringConcludesOn()]]>
+
+
+ getValue()]]>
+ getValue()]]>
+ getValue()]]>
+ getValue()]]>
+ getValue()]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -472,6 +769,36 @@
DTEND]]>
+
+ DURATION->getValue())]]>
+
+
+ DTSTART]]>
+ DTSTART]]>
+ DTSTART]]>
+
+
+
+
+
+ getOwner()]]>
+ getOwner()]]>
+
+
+ getValue()]]>
+
+ getValue()]]>
+
+
+
+
+
+
+
+
+
+
+
@@ -512,11 +839,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
getKey()]]>
@@ -528,6 +878,12 @@
+
+
+
+
+
+
@@ -544,6 +900,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
@@ -557,12 +925,36 @@
+
+
+
+
+
+
+
+
+
+
+
+ data()]]>
+
+
+
+
+
+
+
+
+
+
+
+
@@ -575,6 +967,9 @@
+
+
+
@@ -591,6 +986,23 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -611,10 +1023,20 @@
+
+
+
+ getHeader('Content-Type')]]>
+
+
+
+
+
+
@@ -627,6 +1049,9 @@
+
+ getHeader('Authorization')]]>
+
@@ -635,16 +1060,58 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ server->tree]]>
+
+
+
+
+
+
+
+
+
+
+
+
+ server->httpResponse]]>
+ server->tree]]>
+
+
+
+
+
+
+
+
+
+
+
@@ -669,6 +1136,12 @@
+
+
+
+
+
+
@@ -683,11 +1156,44 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ server->httpRequest]]>
+ server->httpResponse]]>
+ server->tree]]>
+
+
+
+
+
+
+
+
+
+
+
@@ -699,6 +1205,9 @@
+
+
+
@@ -709,6 +1218,22 @@
info->getId()]]>
info->getId()]]>
+
+ fileView->getAbsolutePath($this->path)]]>
+ fileView->getAbsolutePath($this->path)]]>
+
+
+ fileView->getRelativePath($info->getPath())]]>
+
+
+
+
+
+
+
+
+
+
@@ -724,8 +1249,7 @@
-
-
+ getPrincipalPropertiesByPath($path)]]>
@@ -737,41 +1261,104 @@
+
+
+
+
+
+
+
+ getHeader('Destination')]]>
+
+
+
+
+
+
+ userSession->getUser()]]>
+
+
+
+
+
+
+
+
getShareType()]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ getRelativePath($file->getPath())]]>
+
+
+
+
+
+
+
+
DTSTAMP]]>
+
+
+
+
+
+ getOwner()]]>
+
+
@@ -795,6 +1382,13 @@
+
+
+
+
+
+
+
@@ -805,10 +1399,25 @@
+
+
+ getOwner()]]>
+ getOwner()]]>
+
+
+
+ remove]]>
+ set]]>
+
+
+
+
+
+
@@ -818,7 +1427,29 @@
+
+
+ getId()]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -828,6 +1459,13 @@
+
+
+ arguments]]>
+
+
+ where]]>
+
getTimestamp() !== false]]>
@@ -836,6 +1474,11 @@
arguments[0]->name]]>
+
+
+
+
+
backend->getArbiterPath()]]>
@@ -843,29 +1486,76 @@
+
+
+
+
+
+
+
+
+ getHeader('X-NC-Nickname')]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -891,6 +1581,21 @@
+
+
+ getHeader(self::PAGINATE_TOKEN_HEADER)]]>
+ getHeader(self::PAGINATE_TOKEN_HEADER)]]>
+
+
+
+
+
+
+
+
+
+
+
@@ -901,6 +1606,10 @@
getCursor()]]>
+
+
+
+
@@ -921,6 +1630,20 @@
+
+ DTSTART]]>
+ DTSTART]]>
+ DTSTART]]>
+
+
+
+
+
+
+
+
+
+
@@ -940,6 +1663,11 @@
+
+ server->tree]]>
+
+
+
@@ -950,6 +1678,15 @@
+
+
+ getUser()]]>
+
+
+
+
+ userId]]>
+
@@ -961,6 +1698,31 @@
+
+
+
+
+
+
+ getHeader('Content-Type')]]>
+
+
+
+
+
+
+
+
+
+
+ userSession->getUser()]]>
+
+
+
+
+
+
+
@@ -971,6 +1733,9 @@
+
+ userSession->getUser()]]>
+
@@ -998,11 +1763,36 @@
+
+
+
+
+
+
+ server->tree->getNodeForPath($sourcePath)]]>
+
+
+
+ server->httpRequest->getHeader('X-OC-CTime')]]>
+ server->httpRequest->getHeader('X-OC-MTime')]]>
+ server->httpRequest->getHeader(self::DESTINATION_HEADER)]]>
+ uploadId]]>
+ uploadPath]]>
+ uploadPath]]>
+ uploadPath]]>
+ uploadPath]]>
+
+
+
+
+
+ server->tree->getNodeForPath($path)]]>
+
@@ -1012,7 +1802,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ node->getChild($name)]]>
+
+
+
+
+
+ impl()->getChild($name)]]>
+
+
+
+
+
$addressBookNode->getName(),
@@ -1038,6 +1855,10 @@
+
+
+
+
@@ -1045,6 +1866,9 @@
+
+
+
@@ -1060,6 +1884,14 @@
]]>
+
+
+
+
+
+
+
+
@@ -1070,10 +1902,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1086,11 +1942,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ crypt->symmetricEncryptFileContent($chunk, $this->fileKey, $this->version + 1, (string)$position)]]>
+
@@ -1104,6 +1974,19 @@
+
+
+
+
+
+
+
+
+
+
+
+ getId()]]>
+
@@ -1118,6 +2001,11 @@
+
+
+
+
+
@@ -1128,6 +2016,9 @@
+
+
+
@@ -1135,6 +2026,12 @@
+
+
+
+
+ isLoggedIn() ? $userSession->getUser() : false]]>
+
@@ -1155,6 +2052,14 @@
+
+
+
+
+
+
+
+
@@ -1165,6 +2070,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1183,6 +2101,22 @@
+
+
+
+
+
+
+ getExpirationDate()]]>
+
+
+
+
+
+
+
+
+
@@ -1190,6 +2124,9 @@
+
+
+
@@ -1230,6 +2167,38 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1239,6 +2208,25 @@
]]>
+
+
+
+
+
+ getUrl()]]>
+ getUrl()]]>
+
+
+
+
+
+
+
+
+
+
+
+
fileEncrypted[$fileId]]]>
@@ -1278,6 +2266,11 @@
+
+
+
+
+
@@ -1286,6 +2279,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1293,6 +2309,12 @@
+
+
+
+
+
+
@@ -1306,6 +2328,44 @@
+
+
+ getId()] ?? [];
+ $file = Helper::formatFileInfo($node->getFileInfo());
+ $file['hasPreview'] = $this->previewManager->isAvailable($node);
+ $parts = explode('/', dirname($node->getPath()), 4);
+ if (isset($parts[3])) {
+ $file['path'] = '/' . $parts[3];
+ } else {
+ $file['path'] = '/';
+ }
+ if (!empty($shareTypes)) {
+ $file['shareTypes'] = $shareTypes;
+ }
+ return $file;
+ }]]>
+ getId();
+ }]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ userId]]>
+
+
@@ -1315,6 +2375,24 @@
+
+
+ userId]]>
+ userId]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1323,22 +2401,56 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ getCursor()]]>
+
+
+
+
+
getUID())]]>
getUID())]]>
getUID())]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1346,6 +2458,13 @@
+
+
+
+
+
+
+
@@ -1360,24 +2479,65 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ getReadablePath()]]>
+ getReadablePath()]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
getCode()]]>
+
+
+ userSession->getUser()]]>
+ userSession->getUser()]]>
+
+
+
+
+
storageClass]]>
@@ -1386,12 +2546,84 @@
]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ params['bucket']]]>
+ params['hostname']]]>
+ params['key']]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
getCode()]]>
getCode()]]>
@@ -1402,6 +2634,28 @@
getCode()]]>
+
+
+
+
+
+
+ constructUrl($path)]]>
+ constructUrl($path)]]>
+ constructUrl($path)]]>
+ constructUrl($path)]]>
+ constructUrl($path)]]>
+ constructUrl($path)]]>
+ constructUrl($path)]]>
+ constructUrl($source)]]>
+ constructUrl($target)]]>
+ constructUrl($target)]]>
+
+
+
+
+
+
lastModified]]>
@@ -1410,6 +2664,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1438,6 +2715,10 @@
+
+
+
+
+
+
+ getUser()]]>
+ getUser()]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1462,6 +2774,14 @@
+
+
+ getGetUnjailedRoot()),
+ ]]]>
+
+
@@ -1471,12 +2791,44 @@
+
+
+
+
+
+
+
+ userId]]>
+ userId]]>
+ userId]]>
+ userId]]>
+ userId]]>
+ userId]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1488,6 +2840,69 @@
+
+
+
+
+ getSharedWith(), '[')]]>
+ getSharedWith(), '[')]]>
+
+
+
+
+
+
+
+ userId]]>
+ userId]]>
+ userId]]>
+ userId]]>
+ userId]]>
+ userId]]>
+ userId]]>
+ userId]]>
+ userId]]>
+ userId]]>
+ userId]]>
+ userId]]>
+ userId]]>
+ userId]]>
+ userId]]>
+ userId]]>
+ userId]]>
+ userId]]>
+ userId]]>
+ userId]]>
+ userId]]>
+ userId]]>
+ userId]]>
+ userId]]>
+ userId]]>
+ userId]]>
+ userId]]>
+ userId]]>
+ userId]]>
+ userId]]>
+ userId]]>
+ userId]]>
+ userId]]>
+ userId]]>
+ userId]]>
+ userId]]>
+ userId]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1517,8 +2932,42 @@
+
+ share]]>
+ share]]>
+ share]]>
+ share]]>
+ share]]>
+ share]]>
+
+
+
+
+
+
+
+
+
+
+
+
+ userId]]>
+
+
+
+
+
+
+
+
+
+
+
+
+ storageLoader]]>
+
@@ -1530,9 +2979,6 @@
-
-
-
@@ -1543,19 +2989,56 @@
+
+ getBody()]]>
+
+
+
+
+
+
+
+
+
+ uid]]>
+ uid]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ getBody()]]>
+
+
@@ -1563,6 +3046,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1597,14 +3092,28 @@
+
+ getNodeCacheEntry()]]>
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1614,13 +3123,31 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1639,6 +3166,20 @@
sourceRootInfo]]>
+
+ nonMaskedStorage->getCache()->get($this->rootPath)]]>
+
+
+
+
+
+
+ superShare->getNodeCacheEntry()]]>
+
+
+
+
+
@@ -1652,6 +3193,15 @@
+
+
+
+
+
+
+
+
+
@@ -1684,6 +3234,14 @@
+
+
+
+
+
+
+
+
@@ -1700,6 +3258,25 @@
+
+
+
+
+
+ userSession->getUser()]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1741,8 +3318,22 @@
+
+
+
+
+
+
+
+
+
+ isRootItem() ? $item->getDeletedTime() : null]]>
+
+
+
+
@@ -1762,6 +3353,44 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1798,6 +3427,31 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1808,6 +3462,9 @@
+
+ version->getSourceFile()]]>
+
@@ -1827,6 +3484,58 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ getId()]]>
+
+
+
+
+
+
+
+ getRevisionId()]]>
+ getRevisionId()]]>
+
+
+ getId()]]>
+
+
+ getId()]]>
+ mimeTypeLoader->getMimetypeById($versions['db']->getMimetype())]]>
+ getRelativePath($file->getPath())]]>
+ getSourceFile()->getId()]]>
+
+
+
+
+
+
+
+
+
+
+ getOwner()]]>
+
@@ -1840,6 +3549,10 @@
request->server]]>
+
+
+
+
@@ -1855,8 +3568,45 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1875,11 +3625,47 @@
+
+
+
+
+
+
+
+
+ groupManager->get($group)]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1901,6 +3687,36 @@
+
+ query(IServerContainer::class);
+ return $serverContainer->getSettingsManager();
+ }]]>
+ query(IServerContainer::class);
+ return $serverContainer->query(IProvider::class);
+ }]]>
+ query(IServerContainer::class);
+ /** @var Defaults $defaults */
+ $defaults = $server->query(Defaults::class);
+
+ return new NewUserMailHelper(
+ $defaults,
+ $server->getURLGenerator(),
+ $server->getL10NFactory(),
+ $server->getMailer(),
+ $server->getSecureRandom(),
+ new TimeFactory(),
+ $server->getConfig(),
+ $server->getCrypto(),
+ Util::getDefaultEmailAddress('no-reply')
+ );
+ }]]>
+
@@ -1933,12 +3749,44 @@
+
+
+ getBody()]]>
+
+
+
+
+
+
+
+
+
+
+ userId]]>
+ userId]]>
+ userId]]>
+
+
+
+
+
+
+ userId]]>
+
+
+
+
+
+
+
+ userSession->getUser()]]>
+
@@ -1949,8 +3797,15 @@
+
+
+
+
+
+
+
@@ -1970,11 +3825,19 @@
+
+
+
+
session->get(self::WEBAUTHN_REGISTRATION))]]>
+
+ userSession->getUser()]]>
+ userSession->getUser()]]>
+
@@ -1985,6 +3848,11 @@
getEMailAddress() => $user->getDisplayName()]]]>
+
+
+
+
+
@@ -2001,6 +3869,9 @@
continue;
}]]>
+
+
+
@@ -2011,6 +3882,9 @@
+
+ isProfileEnabledByDefault($this->config)]]>
+
@@ -2035,14 +3909,43 @@
+
+
+
+
+
+
+
+
+
+ jsonSerialize();
+ $data['canDelete'] = true;
+ $data['canRename'] = $token instanceof INamedToken && $data['type'] !== IToken::WIPE_TOKEN;
+ if ($sessionToken->getId() === $token->getId()) {
+ $data['canDelete'] = false;
+ $data['canRename'] = false;
+ $data['current'] = true;
+ }
+ return $data;
+ }]]>
+
+
+ userId]]>
+
+
+
+
+ userId]]>
+
@@ -2056,6 +3959,9 @@
+
+
+
@@ -2067,6 +3973,11 @@
+
+
+
+
+
@@ -2083,6 +3994,24 @@
+
+
+ read()]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -2098,6 +4027,13 @@
getId()]]>
+
+ getPassword()]]>
+ getPassword()]]>
+
+
+
+
@@ -2130,6 +4066,19 @@
+
+
+
+
+
+
+
+ getCursor()]]>
+
+
+
+
+
@@ -2149,6 +4098,15 @@
+
+
+
+
+
+ config->getAppValue('testing', $lock)]]>
+ config->getAppValue('testing', $lock)]]>
+ config->getAppValue('testing', $lock)]]>
+
@@ -2161,6 +4119,13 @@
+
+
+
+
+
+
+
@@ -2201,6 +4166,12 @@
+
+
+
+
+
+
@@ -2213,12 +4184,26 @@
+
+
+ fileAccessHelper->file_get_contents($fallbackLogo)]]>
+ fileAccessHelper->file_get_contents($fallbackLogo)]]>
+
+
+
+
+
+
+
+
+ userId]]>
+
@@ -2234,6 +4219,31 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -2285,8 +4295,10 @@
-
+
+ read()]]>
+
@@ -2301,6 +4313,11 @@
+
+
+
+
+
@@ -2314,6 +4331,12 @@
$e->getMessage()])]]>
+
+
+
+
+
+
@@ -2323,6 +4346,9 @@
$l->t('Failed to delete the server configuration')])]]>
+
+
+
@@ -2331,6 +4357,9 @@
$configuration])]]>
+
+
+
@@ -2339,6 +4368,12 @@
+
+
+
+
+
+
@@ -2347,6 +4382,9 @@
+
+
+
@@ -2362,6 +4400,9 @@
$l->t('Valid configuration, connection established!')])]]>
+
+
+
@@ -2382,6 +4423,16 @@
getResultArray())]]>
+
+
+
+
+
+
+
+
+
+
@@ -2400,6 +4451,29 @@
+
+
+
+
+
+
+
+
+
+
+ connection->ldapBase]]>
+ connection->ldapBaseGroups]]>
+ connection->ldapBaseGroups]]>
+ connection->ldapBaseUsers]]>
+ connection->ldapBaseUsers]]>
+
+
+
+
+
+
+
+
getCode()]]>
@@ -2429,6 +4503,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -2444,16 +4533,43 @@
$subj = $key;
break;]]>
+
+
+
+
+
+
+
+ bindResult['result']]]>
+ bindResult['result']]]>
+ bindResult['sum']]]>
+
+
+
+
+
+
+
+ access->groupname2dn($gid)]]>
+
+
+
+
+
+
+
+
+
@@ -2478,12 +4594,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
@@ -2535,9 +4663,17 @@
+
+ access->getUserMapper()]]>
+
+
+
+
+
+
@@ -2547,6 +4683,9 @@
+
+ image->data()]]>
+
@@ -2562,6 +4701,19 @@
+
+
+
+ access->username2dn($uid)]]>
+ access->username2dn($uid)]]>
+
+
+
+
+
+
+
+
0)]]>
@@ -2574,11 +4726,48 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ configuration->ldapBaseGroups[0]]]>
+ configuration->ldapBase[0]]]>
+ configuration->ldapBase[0]]]>
+ configuration->ldapBase[0]]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -2591,6 +4780,22 @@
+
+
+ internalStatus->getClearAt())]]>
+
+
+
+
+ userId]]>
+ userId]]>
+ userId]]>
+ userId]]>
+ userId]]>
+ userId]]>
+ userId]]>
+
+
@@ -2614,6 +4819,71 @@
+
+ getMessageId()]]>
+
+
+
+
+
+
+
+
+ userId]]>
+ userId]]>
+ userId]]>
+ userId]]>
+ userId]]>
+ userId]]>
+ userId]]>
+ userId]]>
+ userId]]>
+ userId]]>
+ userId]]>
+ userId]]>
+ userManager->get($this->userId)]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ request->getPathInfo() ?? '']]>
+ request->getPathInfo() ?? '']]>
+ request->getPathInfo() ?? '']]>
+ request->getPathInfo() ?? '']]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ request->getPathInfo() ?? '']]>
+ request->getPathInfo() ?? '']]>
+
+
+ request->getPathInfo()]]>
+
@@ -2625,8 +4895,39 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ getScope()]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ getScope()]]>
+
@@ -2657,6 +4958,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ valueToString($item, false)]]>
+
+
@@ -2667,6 +4983,11 @@
config)]]>
+
+
+
+
+
@@ -2687,6 +5008,18 @@
appConfig->getValues($app, false)]]>
+
+
+
+
+
+
+
+
+
+
+
+
@@ -2707,6 +5040,16 @@
+
+
+
+
+
+
+
+
+
+
@@ -2774,6 +5117,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -2783,6 +5144,9 @@
+
+
+
@@ -2792,6 +5156,18 @@
timeFactory->getTime()]]>
+
+
+ $sizes[0],
+ 'height' => $sizes[1],
+ 'crop' => $crop,
+ 'mode' => $mode,
+ ];
+ }]]>
+
+
@@ -2846,6 +5222,24 @@
+
+ jsonSerialize(), array_flip($sensitive));
+
+ if ($input->getOption('output') === self::OUTPUT_FORMAT_PLAIN) {
+ $data = $this->formatTokenForPlainOutput($data);
+ }
+
+ return $data;
+ }]]>
+
@@ -2864,18 +5258,35 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ $itemType,
+ 'itemId' => $itemId,
+ ]]]>
+
$search,
@@ -2891,7 +5302,31 @@
+
+
+ data()]]>
+ userId]]>
+ userId]]>
+ userId]]>
+
+
+
+
+ request->getRequestUri(), '/index.php')]]>
+ request->getRequestUri(), '/login/flow')]]>
+
+
+
+
+
+
+ request->getRequestUri(), '/index.php')]]>
+ request->getRequestUri(), '/login/v2')]]>
+
+
+ userId]]>
+
@@ -2901,10 +5336,33 @@
+
+
+ userSession->getUser()]]>
+ userSession->getUser()]]>
+
+
+
+
+ userSession->getUser()]]>
+
+
+
+
+
+
+
+
+ getErrorMessage()]]>
+ getRedirectUrl()]]>
+
+
+
+
@@ -2914,6 +5372,10 @@
['uid' => &$user]
)]]>
+
+
+ getEMailAddress() : '']]>
+
getCode()]]>
@@ -2923,6 +5385,21 @@
+
+
+ userId]]>
+ userId]]>
+
+
+
+
+
+
+
+
+
+
+
@@ -2931,6 +5408,16 @@
+
+
+
+
+
+
+
+
+
+
@@ -2945,8 +5432,18 @@
getUserId())]]>
+
+ fopen('rb')]]>
+ fopen('rb')]]>
+
+
+
+
+
+
+
userId, $identifier)]]>
@@ -2956,6 +5453,9 @@
+
+ userId]]>
+
@@ -2971,10 +5471,26 @@
+
+
+
+
+
+
+
+
+
+
+ userSession->getUser()]]>
+
+
+
+
+
@@ -2989,6 +5505,14 @@
)]]>
+
+
+
+
+
+
+
+
@@ -3000,6 +5524,12 @@
request->server]]>
+
+ userSession->getUser()]]>
+ userSession->getUser()]]>
+
+
+
@@ -3007,6 +5537,9 @@
+
+
+
@@ -3028,6 +5561,10 @@
+
+
+
+
@@ -3053,6 +5590,41 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
['message' => 'Background jobs disabled!']])]]>
@@ -3064,6 +5636,40 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ getScope())]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ getRichMessageParameters()]]>
+ getRichSubjectParameters()]]>
+
@@ -3077,12 +5683,117 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ shippedApps]]>
+
+
+
+
+
+
+
+
+
+
+
+ getBody()]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ get(IRequest::class)]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
server]]>
@@ -3091,6 +5802,11 @@
+
+
+ getCode()]]>
+
+
@@ -3108,6 +5824,14 @@
env[$key]) ? $this->env[$key] : null]]>
files[$key]) ? $this->files[$key] : null]]>
+
+
+
+
+ items['get']]]>
+ items['post']]]>
+ items['urlParams']]]>
+
@@ -3116,9 +5840,25 @@
+
+
+
+
+
+ getData()['message']]]>
+ getData()['message']]]>
+
+
+
+
+
+
+ getData()['message']]]>
+ getData()['message']]]>
+
@@ -3126,33 +5866,206 @@
request->server]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ getCode()]]>
+
+
+ userSession->getUser()]]>
+
+
+
+ getCode()]]>
+
request->server]]>
+
+ userSession->getUser()]]>
+
+
+
+
+
+
+ getData()]]>
+
+
+
+
+
+
+
+
getCode()]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ cachedHeaders]]>
+
+
+ tar->listContent()]]>
+
tar->extractInString($path)]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ getUser()]]>
+
+
+ getUser()]]>
+
+
+
+
+
+
+
+
+
+
+ getPassword()]]>
+
+
+
+
+
+
+
+
+
+
+ getUser()]]>
+
+
+ getUser()]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ getUser()]]>
+ getUser()]]>
+ getUser()]]>
+ getUser()]]>
+ getUser()]]>
+
+
+ getUser()]]>
+ getUser()]]>
+ getUser()]]>
+ getUser()]]>
+ getUser()]]>
+
+
+
+
+ getPassword()]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -3177,6 +6090,27 @@
+
+
+
+
+
+ getPassword()]]>
+ getPassword()]]>
+
+
+
+
+
+
+
+
+
+
providers]]>
@@ -3195,11 +6129,46 @@
providers]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ mimeType()]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ status->value]]>
+
@@ -3237,6 +6206,74 @@
return $provider->getCalendars($principalUri, $calendarUris);
}, $context->getCalendarProviders())]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ backends]]>
+
+
+
+
+
+
+
+
+
+
+ backends]]>
+
+
+
+
+ getBody()]]>
+
+
+
+
+
+
+
+ userSession->getUser()]]>
+ userSession->getUser()]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -3258,21 +6295,102 @@
delete($key)]]>
set($key, $value)]]>
+
+
+
+
+
+
+ getRename()]]>
+ getRename()]]>
+ getRename()]]>
+ getRename()]]>
+ getRename()]]>
+ getRename()]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
request->server]]>
+
+
+
+ getProperty(Entry::PROPERTY_STATUS_MESSAGE_TIMESTAMP);
+ $bStatusTimestamp = $entryB->getProperty(Entry::PROPERTY_STATUS_MESSAGE_TIMESTAMP);
+ if (!$aStatusTimestamp && !$bStatusTimestamp) {
+ return strcasecmp($entryA->getFullName(), $entryB->getFullName());
+ }
+ if ($aStatusTimestamp === null) {
+ return 1;
+ }
+ if ($bStatusTimestamp === null) {
+ return -1;
+ }
+ return $bStatusTimestamp - $aStatusTimestamp;
+ })]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -3288,6 +6406,39 @@
+
+
+
+
+
+
+
+ getParams()['charset']]]>
+
+
+
+
+ table], $shard->companionTables);
+ }, $this->shards)]]>
+
+
+
+
+
+
+
+
+
+
+ debugStack->queries]]>
+
+
+ debugStack->queries]]>
+
+
+
+
@@ -3304,6 +6455,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -3313,6 +6478,9 @@
+
+ func()]]>
+
@@ -3322,6 +6490,48 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ fromAlias ?? $joinCondition->fromColumn]]>
+ fromAlias ?? $joinCondition->fromColumn]]>
+ toAlias ?? $joinCondition->toColumn]]>
+ toAlias ?? $joinCondition->toColumn]]>
+
+
@@ -3332,6 +6542,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -3340,6 +6565,20 @@
+
+
+
+
+
+
+
+
+
+ insertTable]]>
+
+
+
+
@@ -3356,6 +6595,15 @@
+
+
+
+
+
+
+
+
+
@@ -3365,11 +6613,23 @@
+
+
+
+
+
+ userId]]>
+ userId]]>
+ userId]]>
+
+
+
+
@@ -3385,6 +6645,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ getSource()]]>
+ getTarget()]]>
+ getTarget()]]>
+ get(IFile::class)]]>
+
+
@@ -3394,16 +6675,41 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ getCode()]]>
+ getCode()]]>
+ getBody()]]>
+ getBody()]]>
+
+
+
+
+
+
@@ -3412,8 +6718,18 @@
+
+ get($this->appId)]]>
+ rootFolder->get($name . '/' . $this->appId)]]>
+
+
+
+ storage]]>
+
+
+
@@ -3421,6 +6737,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ data]]>
+
+
+
+
+ alias]]>
+
@@ -3440,11 +6776,49 @@
+
+
+
+
+
+
+
+
+
+
+
+ getSearchOperation(), $storageFilter]]]>
+
+
+
+
+
+ getCache()]]>
+
+
+
+
+
+
+
+
+
+
+
+ getValue()]]>
+
+
+
+
+
+
+
+
@@ -3455,17 +6829,69 @@
+
+
+
+
+ getCache()]]>
+ getPropagator()]]>
+ getScanner()]]>
+
cache instanceof Cache]]>
+
+
+
+
+
+
+
+
+ getCache()]]>
+ getScanner()]]>
+
+
+
+
+ getGetUnjailedRoot()),
+ new SearchComparison(ISearchComparison::COMPARE_LIKE_CASE_SENSITIVE, 'path', SearchComparison::escapeLikeParameter($this->getGetUnjailedRoot()) . '/%'),
+ ],
+ )
+ ]]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ mount->getNumericStorageId()]]>
+
+
+
+
+
+
@@ -3491,6 +6917,24 @@
+
+
+
+
+
+
+ preferredProviders]]>
+ providers]]>
+
+
+
+
+
+
+
+
+
+
getStorage()]]>
@@ -3502,8 +6946,84 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ get(IMountManager::class)]]>
+ get(IStorageFactory::class)]]>
+
+
+
+
+
+
+
+
+
+
+
+ mounts]]>
+
+
+ storage]]>
+
+
+ getCode()]]>
+
+
+
+ loader->wrap($this, $this->storage)]]>
+ arguments)]]>
+
@@ -3517,6 +7037,10 @@
+
+
+
+
createNode($file->getPath(), $file);
@@ -3528,8 +7052,23 @@
+
+
+ getRelativePath($uniqueName)]]>
+
+
+
+
+
+
+
+
+
+
+
+
@@ -3560,6 +7099,12 @@
+
+ getStorage()]]>
+ root->get($newPath);
+ }]]>
+
@@ -3578,12 +7123,25 @@
+
+
+
+
fileInfo]]>
fileInfo]]>
+
+ getStorage()]]>
+ getPath()) !== null;
+ }]]>
+ getPath()) !== null;
+ }]]>
+
mountManager->findByNumericId($numericId)]]>
@@ -3600,11 +7158,60 @@
user]]>
+
+ getStorage()]]>
+
+
+
+
+
+
+ endpoint, ':')]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ get('ETag')]]>
+
+
+
+
+
+
+ timeout]]>
+
@@ -3620,23 +7227,170 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ params['tenant']]]>
+ params['username']]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ getValue()]]>
+
+
+
+
+
+
+
+ getValue()]]>
+ getValue()]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ mountProviderCollection]]>
+
+
+
+
+
+
+
+
+
copyFromStorage($sourceStorage, $sourceInternalPath . '/' . $file, $targetInternalPath . '/' . $file)]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ e->getCode()]]>
+ e->getCode()]]>
+ e->getCode()]]>
+ e->getCode()]]>
+ e->getCode()]]>
+ e->getCode()]]>
+ e->getCode()]]>
+ e->getCode()]]>
+ e->getCode()]]>
+ e->getCode()]]>
+ e->getCode()]]>
+ e->getCode()]]>
+ e->getCode()]]>
+ e->getCode()]]>
+ e->getCode()]]>
+ e->getCode()]]>
+ e->getCode()]]>
+ e->getCode()]]>
+ e->getCode()]]>
+ e->getCode()]]>
+ e->getCode()]]>
+ e->getCode()]]>
+ e->getCode()]]>
+ e->getCode()]]>
+ e->getCode()]]>
+ e->getCode()]]>
+ e->getCode()]]>
+ e->getCode()]]>
+ e->getCode()]]>
+ e->getCode()]]>
+ e->getCode()]]>
+ e->getCode()]]>
+ e->getCode()]]>
+ e->getCode()]]>
+ e->getCode()]]>
+ e->getCode()]]>
+ e->getCode()]]>
+
+
+
+
+
+
+
+
+
+
+ stat($path)]]>
+
@@ -3646,12 +7400,36 @@
+
+
+
scanner]]>
scanner]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
namesCache]]>
namesCache]]>
@@ -3673,6 +7451,9 @@
+
+ fileHelper]]>
+
@@ -3683,33 +7464,245 @@
+
+
+ filemtime($sourceInternalPath)]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ uid]]>
+ uid]]>
+ uid]]>
+ uid]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ uid]]>
+ unencryptedSize]]>
+
+
+
+
+
+
+
+
+
+
+ stream_tell()]]>
+ stream_tell()]]>
+
+
+ getCurrent()]]>
+ getCurrent()]]>
+ getCurrent()]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ getReadablePath()]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ value]]>
+
+
+
+
+
+ value]]>
+ value]]>
+
+
+
+
+
getContent())]]>
+
+
+ navigationOptions]]>
+ panelOptions]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -3717,6 +7710,13 @@
+
+
+
+
+ users]]>
+ users]]>
+
emitter]]>
emitter]]>
@@ -3730,6 +7730,9 @@
+
+
+
@@ -3739,12 +7742,32 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -3756,6 +7779,12 @@
getDN(X509::DN_OPENSSL)['CN']]]>
getDN(true)['CN']]]>
+
+
+
+
+
+
@@ -3777,11 +7806,32 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -3799,6 +7849,11 @@
+
+
+
+
+
@@ -3816,13 +7871,29 @@
'MESSAGE=' . $this->logDetailsAsJSON($app, $message, $level))]]>
+
+
+ body]]>
+
+
+
+
+
+
+
+
+
+
getPrefix() . $key, $value, $ttl)]]>
+
+
+
@@ -3831,21 +7902,180 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ getBody()]]>
+
+
+
+
+ getAllowedMimeTypes()]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ resource()]]>
+
+
+ data()]]>
+ dataMimeType()]]>
+ dataMimeType()]]>
+
+
+
+
+
+
+
+
+
+ getBody()]]>
+ getBody()]]>
+ getBody()]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ binary]]>
+ binary]]>
+
@@ -3855,6 +8085,25 @@
+
+
+ getMimeType()]]>
+
+
+ fopen('r')]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -3863,6 +8112,11 @@
+
+
+
+
+
@@ -3872,29 +8126,151 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
userToNotify]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ root]]>
+
+
+
+
+
+
+
+ getPathname(), '.php')]]>
+
collectionName]]>
+
+ root]]>
+ root]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ policies]]>
+
@@ -3906,7 +8282,16 @@
value)]]>
+
+
+
+
+
+
+
+ ivLength]]>
+
@@ -3915,8 +8300,62 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ pwdPrefix]]>
+ subject]]>
+ subject]]>
+ userId]]>
+ userId]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ get(IUserManager::class)]]>
+
@@ -3934,6 +8373,9 @@
+
+
+
@@ -3942,18 +8384,42 @@
appContainers[$namespace];]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ settings[$settingsType]]]>
+ settings[$settingsType]]]>
+
+
+
+
+
+
@@ -3962,6 +8428,9 @@
+
+
+
dbPort)]]>
@@ -3972,17 +8441,131 @@
dbprettyname]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ getId() => $share]]]>
+
getId()]]>
getId()]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ getError()]]>
+ getPassword()]]>
+
+
+ getPassword()]]>
+ getPassword()]]>
+ getPassword()]]>
+ getPassword()]]>
+ getPassword()]]>
+ getPassword()]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -4003,8 +8586,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -4016,10 +8619,37 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ (string)$objectId, $addedObjectIds)]]>
+ (string)$objectId, $removedObjectIds)]]>
+
+
+
+
+
+
+
@@ -4027,6 +8657,16 @@
+
+
+
+
+
+
+
+
+
+
@@ -4036,12 +8676,80 @@
+
+ userSession->getUser()]]>
+ userSession->getUser()]]>
+
+
+
+
+
+
+
+
+
+
+ getStatus()]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ getId()]]>
+ getId()]]>
+ getId()]]>
+ getId()]]>
+ getId()]]>
+ getId()]]>
+ getId()]]>
+
+
+
+
+
+
+
+
+
+ _getProviders()]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -4057,11 +8765,126 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ getStatus()]]>
+ getType()]]>
+
+
+
+
+ getStatus()]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ changelog['href']]]>
+
+
+ whatsNew]]>
+
+
+
+
+ getBody()]]>
+
@@ -4075,12 +8898,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -4088,11 +8925,60 @@
server]]>
server]]>
+
+
+
+
+
+ getUser()]]>
+
+
+
+ manager->get($uid)]]>
+ manager->get($uid)]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
manager instanceof PublicEmitter]]>
+
+
+ backend]]>
+
+
+
+
+
+
+
+
+
+
@@ -4101,25 +8987,173 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ getUser()]]>
+ get(IUserManager::class)->get($uid)]]>
+
+
+
+
+
+
+
+
+
+ getString($setting)]]>
+
+
+
+
+
+ groups]]>
+
+
+
+
+ container]]>
+
+
+
+
+
+
+
+
+
+ getData()]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
headers)]]>
@@ -4127,6 +9161,70 @@
+
+ headers]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ images[0]->url]]>
+ images[0]->url]]>
+
+
+
+
+ missingColumns]]>
+
+
+
+
+ missingIndices]]>
+ missingIndices]]>
+ toReplaceIndices]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ getType()->value]]>
+
+
+
+
+ getType()->value]]>
+
+
+
+
+ getType()->value]]>
+
@@ -4136,6 +9234,42 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ getFile((string)$i)->read()]]>
+
+
+
+
+
+
+
+ get('post_max_size')]]>
+ get('upload_max_filesize')]]>
+
+
diff --git a/psalm.xml b/psalm.xml
index 648b250c38b..800c069c63d 100644
--- a/psalm.xml
+++ b/psalm.xml
@@ -4,7 +4,7 @@
- SPDX-License-Identifier: AGPL-3.0-or-later
-->