@ -38,6 +38,11 @@
<code > array</code>
</LessSpecificImplementedReturnType>
</file>
<file src= "3rdparty/symfony/routing/Route.php" >
<MethodSignatureMustProvideReturnType >
<code > unserialize</code>
</MethodSignatureMustProvideReturnType>
</file>
<file src= "apps/comments/lib/Notification/Listener.php" >
<LessSpecificReturnStatement >
<code > $uids</code>
@ -109,7 +114,6 @@
<file src= "apps/dav/lib/CalDAV/CalDavBackend.php" >
<InvalidNullableReturnType >
<code > array</code>
<code > array</code>
</InvalidNullableReturnType>
<LessSpecificReturnStatement >
<code > Reader::read($objectData)</code>
@ -123,86 +127,6 @@
<code > VCalendar</code>
</MoreSpecificReturnType>
<NullableReturnStatement >
<code > <![CDATA[$this-> atomic(function () use ($calendarId, $syncToken, $syncLevel, $limit, $calendarType) {
// Current synctoken
$qb = $this->db->getQueryBuilder();
$qb->select('synctoken')
->from('calendars')
->where(
$qb->expr()->eq('id', $qb->createNamedParameter($calendarId))
);
$stmt = $qb->executeQuery();
$currentToken = $stmt->fetchOne();
if ($currentToken === false) {
return null;
}
$result = [
'syncToken' => $currentToken,
'added' => [],
'modified' => [],
'deleted' => [],
];
if ($syncToken) {
$qb = $this->db->getQueryBuilder();
$qb->select('uri', 'operation')
->from('calendarchanges')
->where(
$qb->expr()->andX(
$qb->expr()->gte('synctoken', $qb->createNamedParameter($syncToken)),
$qb->expr()->lt('synctoken', $qb->createNamedParameter($currentToken)),
$qb->expr()->eq('calendarid', $qb->createNamedParameter($calendarId)),
$qb->expr()->eq('calendartype', $qb->createNamedParameter($calendarType))
)
)->orderBy('synctoken');
if (is_int($limit) & & $limit > 0) {
$qb->setMaxResults($limit);
}
// Fetching all changes
$stmt = $qb->executeQuery();
$changes = [];
// This loop ensures that any duplicates are overwritten, only the
// last change on a node is relevant.
while ($row = $stmt->fetch()) {
$changes[$row['uri']] = $row['operation'];
}
$stmt->closeCursor();
foreach ($changes as $uri => $operation) {
switch ($operation) {
case 1:
$result['added'][] = $uri;
break;
case 2:
$result['modified'][] = $uri;
break;
case 3:
$result['deleted'][] = $uri;
break;
}
}
} else {
// No synctoken supplied, this is the initial sync.
$qb = $this->db->getQueryBuilder();
$qb->select('uri')
->from('calendarobjects')
->where(
$qb->expr()->andX(
$qb->expr()->eq('calendarid', $qb->createNamedParameter($calendarId)),
$qb->expr()->eq('calendartype', $qb->createNamedParameter($calendarType))
)
);
$stmt = $qb->executeQuery();
$result['added'] = $stmt->fetchAll(\PDO::FETCH_COLUMN);
$stmt->closeCursor();
}
return $result;
}, $this->db)]]></code>
<code > null</code>
</NullableReturnStatement>
</file>
@ -312,7 +236,7 @@
</RedundantCast>
<RedundantCondition >
<code > <![CDATA[!empty($modified['old']) && is_array($modified['old'])]]> </code>
<code > is_array($modified['old'])</code>
<code > <![CDATA[ is_array($modified['old'])]]> </code>
</RedundantCondition>
</file>
<file src= "apps/dav/lib/CalDAV/Schedule/IMipService.php" >
@ -323,8 +247,8 @@
</file>
<file src= "apps/dav/lib/CalDAV/Schedule/Plugin.php" >
<InvalidArgument >
<code > [$aclPlugin, 'propFind']</code>
<code > [$aclPlugin, 'propFind']</code>
<code > <![CDATA[ [$aclPlugin, 'propFind']]]> </code>
<code > <![CDATA[ [$aclPlugin, 'propFind']]]> </code>
</InvalidArgument>
<LessSpecificReturnStatement >
<code > <![CDATA[$vevent->DTEND]]> </code>
@ -359,12 +283,12 @@
</file>
<file src= "apps/dav/lib/CalDAV/Search/Xml/Request/CalendarSearchReport.php" >
<TypeDoesNotContainType >
<code > !is_array($newProps['filters']['comps'])</code>
<code > !is_array($newProps['filters']['params'])</code>
<code > !is_array($newProps['filters']['props'])</code>
<code > !isset($newProps['filters']['comps']) || !is_array($newProps['filters']['comps'])</code>
<code > !isset($newProps['filters']['params']) || !is_array($newProps['filters']['params'])</code>
<code > !isset($newProps['filters']['props']) || !is_array($newProps['filters']['props'])</code>
<code > <![CDATA[ !is_array($newProps['filters']['comps'])]]> </code>
<code > <![CDATA[ !is_array($newProps['filters']['params'])]]> </code>
<code > <![CDATA[ !is_array($newProps['filters']['props'])]]> </code>
<code > <![CDATA[ !isset($newProps['filters']['comps']) || !is_array($newProps['filters']['comps'])]]> </code>
<code > <![CDATA[ !isset($newProps['filters']['params']) || !is_array($newProps['filters']['params'])]]> </code>
<code > <![CDATA[ !isset($newProps['filters']['props']) || !is_array($newProps['filters']['props'])]]> </code>
</TypeDoesNotContainType>
</file>
<file src= "apps/dav/lib/CalDAV/WebcalCaching/RefreshWebcalService.php" >
@ -400,7 +324,7 @@
<code > VCard</code>
</MoreSpecificReturnType>
<TypeDoesNotContainType >
<code > $addressBooks[$row['id']][$readOnlyPropertyName] === 0</code>
<code > <![CDATA[ $addressBooks[$row['id']][$readOnlyPropertyName] === 0]]> </code>
</TypeDoesNotContainType>
</file>
<file src= "apps/dav/lib/CardDAV/MultiGetExportPlugin.php" >
@ -502,7 +426,7 @@
<code > bool</code>
</InvalidNullableReturnType>
<TooManyArguments >
<code > new PreconditionFailed('Cannot filter by non-existing tag', 0, $e)</code>
<code > <![CDATA[ new PreconditionFailed('Cannot filter by non-existing tag', 0, $e)]]> </code>
</TooManyArguments>
<UndefinedClass >
<code > \OCA\Circles\Api\v1\Circles</code>
@ -767,7 +691,7 @@
</file>
<file src= "apps/encryption/lib/Crypto/Crypt.php" >
<TypeDoesNotContainType >
<code > get_class($res) === 'OpenSSLAsymmetricKey'</code>
<code > <![CDATA[ get_class($res) === 'OpenSSLAsymmetricKey']]> </code>
</TypeDoesNotContainType>
</file>
<file src= "apps/encryption/lib/Crypto/Encryption.php" >
@ -782,7 +706,7 @@
</file>
<file src= "apps/encryption/lib/Session.php" >
<TooManyArguments >
<code > new Exceptions\PrivateKeyMissingException('please try to log-out and log-in again', 0)</code>
<code > <![CDATA[ new Exceptions\PrivateKeyMissingException('please try to log-out and log-in again', 0)]]> </code>
</TooManyArguments>
</file>
<file src= "apps/encryption/lib/Util.php" >
@ -810,7 +734,7 @@
<code > $shareId</code>
<code > $shareId</code>
<code > $shareId</code>
<code > (int)$data['id']</code>
<code > <![CDATA[ (int)$data['id']]]> </code>
</InvalidArgument>
</file>
<file src= "apps/federatedfilesharing/lib/Notifications.php" >
@ -834,7 +758,7 @@
<code > string</code>
</InvalidReturnType>
<InvalidScalarArgument >
<code > (int)$share['id']</code>
<code > <![CDATA[ (int)$share['id']]]> </code>
</InvalidScalarArgument>
</file>
<file src= "apps/federation/lib/DbHandler.php" >
@ -1063,7 +987,7 @@
</file>
<file src= "apps/files_sharing/templates/public.php" >
<RedundantCondition >
<code > $_['hideFileList'] !== true</code>
<code > <![CDATA[ $_['hideFileList'] !== true]]> </code>
<code > <![CDATA[isset($_['hideFileList']) && $_['hideFileList'] !== true]]> </code>
</RedundantCondition>
</file>
@ -1193,7 +1117,7 @@
<file src= "apps/sharebymail/lib/ShareByMailProvider.php" >
<InvalidArgument >
<code > <![CDATA[$share->getId()]]> </code>
<code > (int)$data['id']</code>
<code > <![CDATA[ (int)$data['id']]]> </code>
</InvalidArgument>
</file>
<file src= "apps/systemtags/lib/Activity/Listener.php" >
@ -1202,11 +1126,6 @@
<code > <![CDATA[$event->getObjectId()]]> </code>
</InvalidArgument>
</file>
<file src= "apps/theming/lib/Jobs/MigrateBackgroundImages.php" >
<OverriddenInterfaceConstant >
<code > TIME_SENSITIVE</code>
</OverriddenInterfaceConstant>
</file>
<file src= "apps/theming/lib/Util.php" >
<InvalidReturnStatement >
<code > <![CDATA[array_values($color->getRgb())]]> </code>
@ -1511,7 +1430,6 @@
</file>
<file src= "core/routes.php" >
<InvalidScope >
<code > $this</code>
<code > $this</code>
<code > <![CDATA[$this->create('core_ajax_update', '/core/ajax/update.php')]]> </code>
</InvalidScope>
@ -1682,7 +1600,7 @@
</file>
<file src= "lib/private/AppFramework/Routing/RouteConfig.php" >
<InvalidArrayOffset >
<code > $action['url-postfix']</code>
<code > <![CDATA[ $action['url-postfix']]]> </code>
</InvalidArrayOffset>
</file>
<file src= "lib/private/AppFramework/Services/AppConfig.php" >
@ -1772,20 +1690,6 @@
<code > setType</code>
</UndefinedMagicMethod>
</file>
<file src= "lib/private/Authentication/TwoFactorAuth/Db/ProviderUserAssignmentDao.php" >
<LessSpecificReturnStatement >
<code > < ![CDATA[array_map(function (array $row) {
return [
'provider_id' => $row['provider_id'],
'uid' => $row['uid'],
'enabled' => 1 === (int) $row['enabled'],
];
}, $rows)]]></code>
</LessSpecificReturnStatement>
<MoreSpecificReturnType >
<code > <![CDATA[list<array{provider_id: string, uid: string, enabled: bool}>]]> </code>
</MoreSpecificReturnType>
</file>
<file src= "lib/private/Authentication/TwoFactorAuth/ProviderSet.php" >
<InvalidArgument >
<code > <![CDATA[$this->providers]]> </code>
@ -1906,7 +1810,7 @@
<code > getParams</code>
</InternalMethod>
<InvalidArrayOffset >
<code > $params['collation']</code>
<code > <![CDATA[ $params['collation']]]> </code>
</InvalidArrayOffset>
</file>
<file src= "lib/private/DB/Connection.php" >
@ -1917,8 +1821,8 @@
<code > $params</code>
</InvalidArgument>
<InvalidArrayOffset >
<code > $params['adapter']</code>
<code > $params['tablePrefix']</code>
<code > <![CDATA[ $params['adapter']]]> </code>
<code > <![CDATA[ $params['tablePrefix']]]> </code>
</InvalidArrayOffset>
</file>
<file src= "lib/private/DB/Exceptions/DbalException.php" >
@ -1951,7 +1855,7 @@
<code > getParams</code>
</InternalMethod>
<InvalidArrayOffset >
<code > $params['collation']</code>
<code > <![CDATA[ $params['collation']]]> </code>
</InvalidArrayOffset>
</file>
<file src= "lib/private/DB/QueryBuilder/QueryBuilder.php" >
@ -1980,10 +1884,6 @@
'width' => $format,
])]]></code>
</FalsableReturnStatement>
<InvalidDocblock >
<code > public function formatDateSpan($timestamp, $baseTimestamp = null, \OCP\IL10N $l = null) {</code>
<code > public function formatTimeSpan($timestamp, $baseTimestamp = null, \OCP\IL10N $l = null) {</code>
</InvalidDocblock>
<InvalidReturnStatement >
<code > <![CDATA[$l-> l($type, $timestamp, [
'width' => $format,
@ -2146,10 +2046,10 @@
<code > $user</code>
</InvalidOperand>
<RedundantCondition >
<code > get_class($provider) !== 'OCA\Files_Sharing\MountProvider'</code>
<code > <![CDATA[ get_class($provider) !== 'OCA\Files_Sharing\MountProvider']]> </code>
</RedundantCondition>
<TypeDoesNotContainType >
<code > get_class($provider) === 'OCA\Files_Sharing\MountProvider'</code>
<code > <![CDATA[ get_class($provider) === 'OCA\Files_Sharing\MountProvider']]> </code>
</TypeDoesNotContainType>
</file>
<file src= "lib/private/Files/Config/UserMountCache.php" >
@ -2216,7 +2116,6 @@
<MoreSpecificReturnType >
<code > \OC\Files\Node\Node</code>
<code > \OC\Files\Node\Node[]</code>
<code > \OC\Files\Node\Node[]</code>
</MoreSpecificReturnType>
</file>
<file src= "lib/private/Files/Node/HookConnector.php" >
@ -2313,7 +2212,7 @@
<code > Promise\promise_for(
new Credentials($key, $secret)
)</code>
<code > \Aws\or_chain([self::class, 'legacySignatureProvider'], ClientResolver::_default_signature_provider())</code>
<code > <![CDATA[ \Aws\or_chain([self::class, 'legacySignatureProvider'], ClientResolver::_default_signature_provider())]]> </code>
</UndefinedFunction>
</file>
<file src= "lib/private/Files/ObjectStore/S3ObjectTrait.php" >
@ -2561,8 +2460,8 @@
<code > false</code>
</InvalidArgument>
<InvalidArrayOffset >
<code > $app['path']</code>
<code > $app['path']</code>
<code > <![CDATA[ $app['path']]]> </code>
<code > <![CDATA[ $app['path']]]> </code>
</InvalidArrayOffset>
<NullArgument >
<code > null</code>
@ -2884,7 +2783,7 @@
</file>
<file src= "lib/private/Setup.php" >
<RedundantCondition >
<code > $type === 'pdo'</code>
<code > <![CDATA[ $type === 'pdo']]> </code>
</RedundantCondition>
<UndefinedVariable >
<code > $vendor</code>
@ -2905,7 +2804,7 @@
<InvalidArgument >
<code > <![CDATA[$share->getId()]]> </code>
<code > <![CDATA[$share->getId()]]> </code>
<code > (int)$data['id']</code>
<code > <![CDATA[ (int)$data['id']]]> </code>
</InvalidArgument>
<TooManyArguments >
<code > set</code>
@ -3097,8 +2996,8 @@
<code > $groupsList</code>
</InvalidArgument>
<InvalidArrayOffset >
<code > $dir['path']</code>
<code > $dir['url']</code>
<code > <![CDATA[ $dir['path']]]> </code>
<code > <![CDATA[ $dir['url']]]> </code>
</InvalidArrayOffset>
<NullArgument >
<code > null</code>