mirror of https://github.com/nextcloud/server
Fix a few psalm issues and moved back to psalm/phar 4.18
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
This commit is contained in:
parent
47c9c34cca
commit
aeecb72e96
|
@ -237,7 +237,7 @@ class Crypt {
|
|||
$encryptedContent = openssl_encrypt($plainContent,
|
||||
$cipher,
|
||||
$passPhrase,
|
||||
false,
|
||||
0,
|
||||
$iv);
|
||||
|
||||
if (!$encryptedContent) {
|
||||
|
@ -617,7 +617,7 @@ class Crypt {
|
|||
$plainContent = openssl_decrypt($encryptedContent,
|
||||
$cipher,
|
||||
$passPhrase,
|
||||
false,
|
||||
0,
|
||||
$iv);
|
||||
|
||||
if ($plainContent) {
|
||||
|
|
|
@ -159,7 +159,7 @@ class KeyManager {
|
|||
$this->config->setAppValue('encryption', 'masterKeyId', $this->masterKeyId);
|
||||
}
|
||||
|
||||
$this->keyId = $userSession && $userSession->isLoggedIn() ? $userSession->getUser()->getUID() : false;
|
||||
$this->keyId = $userSession->isLoggedIn() ? $userSession->getUser()->getUID() : false;
|
||||
$this->log = $log;
|
||||
}
|
||||
|
||||
|
|
|
@ -62,8 +62,8 @@ class SetMasterKeyStatus implements IRepairStep {
|
|||
|
||||
// if no config for the master key is set we set it explicitly to '0' in
|
||||
// order not to break old installations because the default changed to '1'.
|
||||
$configAlreadySet = $this->config->getAppValue('encryption', 'useMasterKey', false);
|
||||
if ($configAlreadySet === false) {
|
||||
$configAlreadySet = $this->config->getAppValue('encryption', 'useMasterKey', 'not-set');
|
||||
if ($configAlreadySet === 'not-set') {
|
||||
$this->config->setAppValue('encryption', 'useMasterKey', '0');
|
||||
}
|
||||
}
|
||||
|
|
|
@ -76,7 +76,7 @@ class Recovery {
|
|||
IConfig $config,
|
||||
IFile $file,
|
||||
View $view) {
|
||||
$this->user = ($userSession && $userSession->isLoggedIn()) ? $userSession->getUser() : false;
|
||||
$this->user = ($userSession->isLoggedIn()) ? $userSession->getUser() : null;
|
||||
$this->crypt = $crypt;
|
||||
$this->keyManager = $keyManager;
|
||||
$this->config = $config;
|
||||
|
|
|
@ -27,7 +27,7 @@ namespace OCA\Files_External\Lib\Storage;
|
|||
* Low level wrapper around the ftp functions that smooths over some difference between servers
|
||||
*/
|
||||
class FtpConnection {
|
||||
/** @var resource */
|
||||
/** @var resource|\FTP\Connection */
|
||||
private $connection;
|
||||
|
||||
public function __construct(bool $secure, string $hostname, int $port, string $username, string $password) {
|
||||
|
|
|
@ -39,10 +39,7 @@ class CheckUserCertificates {
|
|||
|
||||
public function __construct(IL10N $l10n, IConfig $config, IURLGenerator $urlGenerator) {
|
||||
$this->l10n = $l10n;
|
||||
$configValue = $config->getAppValue('files_external', 'user_certificate_scan', false);
|
||||
if (!is_string($configValue)) {
|
||||
$configValue = '';
|
||||
}
|
||||
$configValue = $config->getAppValue('files_external', 'user_certificate_scan', '');
|
||||
$this->configValue = $configValue;
|
||||
$this->urlGenerator = $urlGenerator;
|
||||
}
|
||||
|
|
|
@ -1753,7 +1753,7 @@ class Access extends LDAPUtility {
|
|||
}
|
||||
|
||||
$attribute = $this->connection->getFromCache($uuidAttr);
|
||||
if (!$attribute === null) {
|
||||
if ($attribute !== null) {
|
||||
$this->connection->$uuidAttr = $attribute;
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<files psalm-version="4.8.1@f73f2299dbc59a3e6c4d66cff4605176e728ee69">
|
||||
<files psalm-version="4.18.1@dda05fa913f4dc6eb3386f2f7ce5a45d37a71bcb">
|
||||
<file src="lib/private/legacy/OC_Image.php">
|
||||
<ImplementedReturnTypeMismatch occurrences="1">
|
||||
<code>null|string</code>
|
||||
|
@ -220,7 +220,9 @@
|
|||
<InvalidReturnType occurrences="1">
|
||||
<code>float</code>
|
||||
</InvalidReturnType>
|
||||
<UndefinedClass occurrences="12">
|
||||
<UndefinedClass occurrences="14">
|
||||
<code>\OC</code>
|
||||
<code>\OC</code>
|
||||
<code>\OC</code>
|
||||
<code>\OC</code>
|
||||
<code>\OC</code>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<files psalm-version="4.17.0@6f4707aa41c9174353a6434bba3fc8840f981d9c">
|
||||
<files psalm-version="4.18.1@dda05fa913f4dc6eb3386f2f7ce5a45d37a71bcb">
|
||||
<file src="3rdparty/sabre/dav/lib/CalDAV/Calendar.php">
|
||||
<MoreSpecificImplementedParamType occurrences="1">
|
||||
<code>$calendarData</code>
|
||||
|
@ -36,6 +36,11 @@
|
|||
<code>array</code>
|
||||
</LessSpecificImplementedReturnType>
|
||||
</file>
|
||||
<file src="apps/admin_audit/lib/AppInfo/Application.php">
|
||||
<InvalidArgument occurrences="1">
|
||||
<code>registerEventListener</code>
|
||||
</InvalidArgument>
|
||||
</file>
|
||||
<file src="apps/cloud_federation_api/lib/Controller/RequestHandlerController.php">
|
||||
<InvalidScalarArgument occurrences="1">
|
||||
<code>$e->getCode()</code>
|
||||
|
@ -44,6 +49,12 @@
|
|||
<code>!is_array($notification)</code>
|
||||
</TypeDoesNotContainType>
|
||||
</file>
|
||||
<file src="apps/comments/lib/AppInfo/Application.php">
|
||||
<InvalidArgument occurrences="2">
|
||||
<code>registerEventListener</code>
|
||||
<code>registerEventListener</code>
|
||||
</InvalidArgument>
|
||||
</file>
|
||||
<file src="apps/comments/lib/Search/Result.php">
|
||||
<InvalidScalarArgument occurrences="1">
|
||||
<code>(int) $comment->getId()</code>
|
||||
|
@ -54,6 +65,11 @@
|
|||
<code>\Sabre\Uri\split($this->principalUri)</code>
|
||||
</UndefinedFunction>
|
||||
</file>
|
||||
<file src="apps/contactsinteraction/lib/AppInfo/Application.php">
|
||||
<InvalidArgument occurrences="1">
|
||||
<code>registerEventListener</code>
|
||||
</InvalidArgument>
|
||||
</file>
|
||||
<file src="apps/dav/appinfo/v1/caldav.php">
|
||||
<TooManyArguments occurrences="1">
|
||||
<code>new \Sabre\DAV\Auth\Plugin($authBackend, 'ownCloud')</code>
|
||||
|
@ -112,6 +128,36 @@
|
|||
</MissingFile>
|
||||
</file>
|
||||
<file src="apps/dav/lib/AppInfo/Application.php">
|
||||
<InvalidArgument occurrences="28">
|
||||
<code>registerEventListener</code>
|
||||
<code>registerEventListener</code>
|
||||
<code>registerEventListener</code>
|
||||
<code>registerEventListener</code>
|
||||
<code>registerEventListener</code>
|
||||
<code>registerEventListener</code>
|
||||
<code>registerEventListener</code>
|
||||
<code>registerEventListener</code>
|
||||
<code>registerEventListener</code>
|
||||
<code>registerEventListener</code>
|
||||
<code>registerEventListener</code>
|
||||
<code>registerEventListener</code>
|
||||
<code>registerEventListener</code>
|
||||
<code>registerEventListener</code>
|
||||
<code>registerEventListener</code>
|
||||
<code>registerEventListener</code>
|
||||
<code>registerEventListener</code>
|
||||
<code>registerEventListener</code>
|
||||
<code>registerEventListener</code>
|
||||
<code>registerEventListener</code>
|
||||
<code>registerEventListener</code>
|
||||
<code>registerEventListener</code>
|
||||
<code>registerEventListener</code>
|
||||
<code>registerEventListener</code>
|
||||
<code>registerEventListener</code>
|
||||
<code>registerEventListener</code>
|
||||
<code>registerEventListener</code>
|
||||
<code>registerEventListener</code>
|
||||
</InvalidArgument>
|
||||
<UndefinedInterfaceMethod occurrences="1">
|
||||
<code>getAppDataDir</code>
|
||||
</UndefinedInterfaceMethod>
|
||||
|
@ -314,6 +360,11 @@
|
|||
<code>@var VEvent $vevent</code>
|
||||
</PossiblyInvalidDocblockTag>
|
||||
</file>
|
||||
<file src="apps/dav/lib/CalDAV/Reminder/NotificationProviderManager.php">
|
||||
<UndefinedConstant occurrences="1">
|
||||
<code>$provider::NOTIFICATION_TYPE</code>
|
||||
</UndefinedConstant>
|
||||
</file>
|
||||
<file src="apps/dav/lib/CalDAV/Reminder/Notifier.php">
|
||||
<FalsableReturnStatement occurrences="4">
|
||||
<code>$this->l10n->l('date', $dt, ['width' => 'medium'])</code>
|
||||
|
@ -1005,6 +1056,9 @@
|
|||
<InvalidReturnType occurrences="1">
|
||||
<code>array</code>
|
||||
</InvalidReturnType>
|
||||
<RedundantFunctionCall occurrences="1">
|
||||
<code>array_values</code>
|
||||
</RedundantFunctionCall>
|
||||
</file>
|
||||
<file src="apps/dav/lib/Upload/UploadHome.php">
|
||||
<UndefinedFunction occurrences="1">
|
||||
|
@ -1022,7 +1076,8 @@
|
|||
</InvalidOperand>
|
||||
</file>
|
||||
<file src="apps/encryption/lib/Crypto/Crypt.php">
|
||||
<RedundantCondition occurrences="1">
|
||||
<RedundantCondition occurrences="2">
|
||||
<code>$userSession</code>
|
||||
<code>$userSession</code>
|
||||
</RedundantCondition>
|
||||
<TypeDoesNotContainType occurrences="2">
|
||||
|
@ -1058,9 +1113,6 @@
|
|||
<InvalidThrow occurrences="1">
|
||||
<code>throw $exception;</code>
|
||||
</InvalidThrow>
|
||||
<RedundantCondition occurrences="1">
|
||||
<code>$userSession</code>
|
||||
</RedundantCondition>
|
||||
</file>
|
||||
<file src="apps/encryption/lib/Recovery.php">
|
||||
<InvalidScalarArgument occurrences="3">
|
||||
|
@ -1068,9 +1120,6 @@
|
|||
<code>0</code>
|
||||
<code>1</code>
|
||||
</InvalidScalarArgument>
|
||||
<RedundantCondition occurrences="1">
|
||||
<code>$userSession</code>
|
||||
</RedundantCondition>
|
||||
</file>
|
||||
<file src="apps/encryption/lib/Session.php">
|
||||
<TooManyArguments occurrences="1">
|
||||
|
@ -1078,10 +1127,16 @@
|
|||
</TooManyArguments>
|
||||
</file>
|
||||
<file src="apps/encryption/lib/Util.php">
|
||||
<RedundantCondition occurrences="1">
|
||||
<RedundantCondition occurrences="2">
|
||||
<code>$userSession</code>
|
||||
<code>$userSession</code>
|
||||
</RedundantCondition>
|
||||
</file>
|
||||
<file src="apps/federatedfilesharing/lib/AppInfo/Application.php">
|
||||
<InvalidArgument occurrences="1">
|
||||
<code>registerEventListener</code>
|
||||
</InvalidArgument>
|
||||
</file>
|
||||
<file src="apps/federatedfilesharing/lib/Controller/RequestHandlerController.php">
|
||||
<InvalidScalarArgument occurrences="7">
|
||||
<code>$id</code>
|
||||
|
@ -1136,6 +1191,11 @@
|
|||
<code>null</code>
|
||||
</NullableReturnStatement>
|
||||
</file>
|
||||
<file src="apps/federation/lib/AppInfo/Application.php">
|
||||
<InvalidArgument occurrences="1">
|
||||
<code>registerEventListener</code>
|
||||
</InvalidArgument>
|
||||
</file>
|
||||
<file src="apps/federation/lib/TrustedServers.php">
|
||||
<InvalidArgument occurrences="1">
|
||||
<code>'OCP\Federation\TrustedServerEvent::remove'</code>
|
||||
|
@ -1180,6 +1240,12 @@
|
|||
<code>10 * 1024 * 1024</code>
|
||||
</InvalidScalarArgument>
|
||||
</file>
|
||||
<file src="apps/files/lib/AppInfo/Application.php">
|
||||
<InvalidArgument occurrences="2">
|
||||
<code>registerEventListener</code>
|
||||
<code>registerEventListener</code>
|
||||
</InvalidArgument>
|
||||
</file>
|
||||
<file src="apps/files/lib/Command/Scan.php">
|
||||
<NullArgument occurrences="1">
|
||||
<code>null</code>
|
||||
|
@ -1269,6 +1335,12 @@
|
|||
<code>$this</code>
|
||||
</InvalidScope>
|
||||
</file>
|
||||
<file src="apps/files_external/lib/AppInfo/Application.php">
|
||||
<InvalidArgument occurrences="2">
|
||||
<code>registerEventListener</code>
|
||||
<code>registerEventListener</code>
|
||||
</InvalidArgument>
|
||||
</file>
|
||||
<file src="apps/files_external/lib/Command/Delete.php">
|
||||
<NullArgument occurrences="1">
|
||||
<code>null</code>
|
||||
|
@ -1318,6 +1390,12 @@
|
|||
<code>getUniqueStorages</code>
|
||||
</UndefinedMethod>
|
||||
</file>
|
||||
<file src="apps/files_external/lib/Lib/Auth/Password/LoginCredentials.php">
|
||||
<InvalidArgument occurrences="2">
|
||||
<code>addServiceListener</code>
|
||||
<code>addServiceListener</code>
|
||||
</InvalidArgument>
|
||||
</file>
|
||||
<file src="apps/files_external/lib/Lib/Backend/Backend.php">
|
||||
<InvalidReturnType occurrences="1">
|
||||
<code>self</code>
|
||||
|
@ -1506,6 +1584,16 @@
|
|||
<code>$_</code>
|
||||
</UndefinedVariable>
|
||||
</file>
|
||||
<file src="apps/files_sharing/lib/AppInfo/Application.php">
|
||||
<InvalidArgument occurrences="6">
|
||||
<code>addServiceListener</code>
|
||||
<code>addServiceListener</code>
|
||||
<code>addServiceListener</code>
|
||||
<code>addServiceListener</code>
|
||||
<code>addServiceListener</code>
|
||||
<code>addServiceListener</code>
|
||||
</InvalidArgument>
|
||||
</file>
|
||||
<file src="apps/files_sharing/lib/Cache.php">
|
||||
<FalsableReturnStatement occurrences="1">
|
||||
<code>false</code>
|
||||
|
@ -1525,11 +1613,17 @@
|
|||
</UndefinedInterfaceMethod>
|
||||
</file>
|
||||
<file src="apps/files_sharing/lib/Controller/ShareAPIController.php">
|
||||
<InvalidOperand occurrences="1">
|
||||
<code>$permissions</code>
|
||||
</InvalidOperand>
|
||||
<InvalidScalarArgument occurrences="3">
|
||||
<code>$code</code>
|
||||
<code>$code</code>
|
||||
<code>Constants::PERMISSION_ALL</code>
|
||||
</InvalidScalarArgument>
|
||||
<RedundantCondition occurrences="1">
|
||||
<code>$permissions & Constants::PERMISSION_READ</code>
|
||||
</RedundantCondition>
|
||||
<UndefinedClass occurrences="2">
|
||||
<code>\OCA\Circles\Api\v1\Circles</code>
|
||||
<code>\OCA\Circles\Api\v1\Circles</code>
|
||||
|
@ -1597,6 +1691,11 @@
|
|||
<code>$exception->getMessage()</code>
|
||||
</InvalidArgument>
|
||||
</file>
|
||||
<file src="apps/files_sharing/lib/MountProvider.php">
|
||||
<RedundantFunctionCall occurrences="1">
|
||||
<code>array_values</code>
|
||||
</RedundantFunctionCall>
|
||||
</file>
|
||||
<file src="apps/files_sharing/lib/ShareBackend/File.php">
|
||||
<InvalidScalarArgument occurrences="2">
|
||||
<code>$itemSource</code>
|
||||
|
@ -1709,9 +1808,13 @@
|
|||
</TooManyArguments>
|
||||
</file>
|
||||
<file src="apps/files_trashbin/lib/Trash/LegacyTrashBackend.php">
|
||||
<RedundantCondition occurrences="1">
|
||||
<RedundantCondition occurrences="2">
|
||||
<code>$trashFiles</code>
|
||||
<code>$trashFiles</code>
|
||||
</RedundantCondition>
|
||||
<TypeDoesNotContainType occurrences="1">
|
||||
<code>null</code>
|
||||
</TypeDoesNotContainType>
|
||||
<UndefinedInterfaceMethod occurrences="2">
|
||||
<code>$file</code>
|
||||
<code>getById</code>
|
||||
|
@ -1735,6 +1838,12 @@
|
|||
<code>$this</code>
|
||||
</InvalidScope>
|
||||
</file>
|
||||
<file src="apps/files_versions/lib/AppInfo/Application.php">
|
||||
<InvalidArgument occurrences="2">
|
||||
<code>registerEventListener</code>
|
||||
<code>registerEventListener</code>
|
||||
</InvalidArgument>
|
||||
</file>
|
||||
<file src="apps/files_versions/lib/Sabre/RestoreFolder.php">
|
||||
<InvalidNullableReturnType occurrences="1">
|
||||
<code>getChild</code>
|
||||
|
@ -1778,6 +1887,11 @@
|
|||
<file src="apps/oauth2/lib/Db/ClientMapper.php">
|
||||
<InvalidCatch occurrences="2"/>
|
||||
</file>
|
||||
<file src="apps/provisioning_api/lib/AppInfo/Application.php">
|
||||
<InvalidArgument occurrences="1">
|
||||
<code>registerEventListener</code>
|
||||
</InvalidArgument>
|
||||
</file>
|
||||
<file src="apps/provisioning_api/lib/Controller/UsersController.php">
|
||||
<InvalidScalarArgument occurrences="1">
|
||||
<code>$quota</code>
|
||||
|
@ -1788,6 +1902,11 @@
|
|||
</TypeDoesNotContainNull>
|
||||
</file>
|
||||
<file src="apps/settings/lib/AppInfo/Application.php">
|
||||
<InvalidArgument occurrences="3">
|
||||
<code>registerEventListener</code>
|
||||
<code>registerEventListener</code>
|
||||
<code>registerEventListener</code>
|
||||
</InvalidArgument>
|
||||
<InvalidScalarArgument occurrences="1">
|
||||
<code>\OC_User::getUser()</code>
|
||||
</InvalidScalarArgument>
|
||||
|
@ -1829,6 +1948,11 @@
|
|||
<code>isReady</code>
|
||||
</UndefinedInterfaceMethod>
|
||||
</file>
|
||||
<file src="apps/settings/lib/Settings/Admin/Server.php">
|
||||
<InvalidArgument occurrences="1">
|
||||
<code>false</code>
|
||||
</InvalidArgument>
|
||||
</file>
|
||||
<file src="apps/settings/lib/Settings/Admin/Sharing.php">
|
||||
<InvalidScalarArgument occurrences="1">
|
||||
<code>Constants::PERMISSION_ALL</code>
|
||||
|
@ -1865,6 +1989,11 @@
|
|||
<code>$type</code>
|
||||
</InvalidScalarArgument>
|
||||
</file>
|
||||
<file src="apps/theming/lib/AppInfo/Application.php">
|
||||
<InvalidArgument occurrences="1">
|
||||
<code>registerEventListener</code>
|
||||
</InvalidArgument>
|
||||
</file>
|
||||
<file src="apps/theming/lib/Controller/IconController.php">
|
||||
<InvalidReturnStatement occurrences="1">
|
||||
<code>$response</code>
|
||||
|
@ -1905,6 +2034,14 @@
|
|||
<code>$folder !== null</code>
|
||||
</RedundantCondition>
|
||||
</file>
|
||||
<file src="apps/twofactor_backupcodes/lib/AppInfo/Application.php">
|
||||
<InvalidArgument occurrences="4">
|
||||
<code>registerEventListener</code>
|
||||
<code>registerEventListener</code>
|
||||
<code>registerEventListener</code>
|
||||
<code>registerEventListener</code>
|
||||
</InvalidArgument>
|
||||
</file>
|
||||
<file src="apps/twofactor_backupcodes/lib/BackgroundJob/RememberBackupCodesJob.php">
|
||||
<InvalidArgument occurrences="1">
|
||||
<code>bool</code>
|
||||
|
@ -1922,6 +2059,9 @@
|
|||
</InvalidScalarArgument>
|
||||
</file>
|
||||
<file src="apps/updatenotification/lib/Notification/BackgroundJob.php">
|
||||
<InvalidArgument occurrences="1">
|
||||
<code>false</code>
|
||||
</InvalidArgument>
|
||||
<InvalidPropertyAssignmentValue occurrences="1">
|
||||
<code>$this->users</code>
|
||||
</InvalidPropertyAssignmentValue>
|
||||
|
@ -2122,7 +2262,6 @@
|
|||
</InvalidPropertyAssignmentValue>
|
||||
<InvalidReturnType occurrences="1">
|
||||
<code>null</code>
|
||||
<code>null</code>
|
||||
</InvalidReturnType>
|
||||
<InvalidScalarArgument occurrences="3">
|
||||
<code>$this->getHomePath($ldapEntry[$attr][0])</code>
|
||||
|
@ -2181,10 +2320,20 @@
|
|||
</TypeDoesNotContainType>
|
||||
</file>
|
||||
<file src="apps/user_status/lib/AppInfo/Application.php">
|
||||
<InvalidArgument occurrences="3">
|
||||
<code>registerEventListener</code>
|
||||
<code>registerEventListener</code>
|
||||
<code>registerEventListener</code>
|
||||
</InvalidArgument>
|
||||
<UndefinedInterfaceMethod occurrences="1">
|
||||
<code>registerProvider</code>
|
||||
</UndefinedInterfaceMethod>
|
||||
</file>
|
||||
<file src="apps/workflowengine/lib/AppInfo/Application.php">
|
||||
<InvalidArgument occurrences="1">
|
||||
<code>registerEventListener</code>
|
||||
</InvalidArgument>
|
||||
</file>
|
||||
<file src="apps/workflowengine/lib/Check/AbstractStringCheck.php">
|
||||
<NullArgument occurrences="1">
|
||||
<code>null</code>
|
||||
|
@ -2279,6 +2428,19 @@
|
|||
<code>isUserScopeEnabled</code>
|
||||
</UndefinedInterfaceMethod>
|
||||
</file>
|
||||
<file src="core/Application.php">
|
||||
<InvalidArgument occurrences="9">
|
||||
<code>addServiceListener</code>
|
||||
<code>addServiceListener</code>
|
||||
<code>addServiceListener</code>
|
||||
<code>addServiceListener</code>
|
||||
<code>addServiceListener</code>
|
||||
<code>addServiceListener</code>
|
||||
<code>addServiceListener</code>
|
||||
<code>addServiceListener</code>
|
||||
<code>addServiceListener</code>
|
||||
</InvalidArgument>
|
||||
</file>
|
||||
<file src="core/BackgroundJobs/BackgroundCleanupUpdaterBackupsJob.php">
|
||||
<ParamNameMismatch occurrences="1">
|
||||
<code>$arguments</code>
|
||||
|
@ -2294,14 +2456,6 @@
|
|||
<code>$arguments</code>
|
||||
</ParamNameMismatch>
|
||||
</file>
|
||||
<file src="core/Command/App/GetPath.php">
|
||||
<ImplementedReturnTypeMismatch occurrences="1">
|
||||
<code>null|int</code>
|
||||
</ImplementedReturnTypeMismatch>
|
||||
<MismatchingDocblockReturnType occurrences="1">
|
||||
<code>null|int</code>
|
||||
</MismatchingDocblockReturnType>
|
||||
</file>
|
||||
<file src="core/Command/App/Install.php">
|
||||
<TypeDoesNotContainType occurrences="1">
|
||||
<code>$result === false</code>
|
||||
|
@ -2312,14 +2466,6 @@
|
|||
<code>array</code>
|
||||
</LessSpecificImplementedReturnType>
|
||||
</file>
|
||||
<file src="core/Command/Config/App/GetConfig.php">
|
||||
<ImplementedReturnTypeMismatch occurrences="1">
|
||||
<code>null|int</code>
|
||||
</ImplementedReturnTypeMismatch>
|
||||
<MismatchingDocblockReturnType occurrences="1">
|
||||
<code>null|int</code>
|
||||
</MismatchingDocblockReturnType>
|
||||
</file>
|
||||
<file src="core/Command/Config/Import.php">
|
||||
<InvalidScalarArgument occurrences="2">
|
||||
<code>0</code>
|
||||
|
@ -2334,14 +2480,6 @@
|
|||
<code>getFilteredValues</code>
|
||||
</TooManyArguments>
|
||||
</file>
|
||||
<file src="core/Command/Config/System/GetConfig.php">
|
||||
<ImplementedReturnTypeMismatch occurrences="1">
|
||||
<code>null|int</code>
|
||||
</ImplementedReturnTypeMismatch>
|
||||
<MismatchingDocblockReturnType occurrences="1">
|
||||
<code>null|int</code>
|
||||
</MismatchingDocblockReturnType>
|
||||
</file>
|
||||
<file src="core/Command/Db/AddMissingColumns.php">
|
||||
<InvalidArgument occurrences="1">
|
||||
<code>IDBConnection::ADD_MISSING_COLUMNS_EVENT</code>
|
||||
|
@ -2497,13 +2635,19 @@
|
|||
<code>$this</code>
|
||||
</InvalidScope>
|
||||
</file>
|
||||
<file src="core/templates/layout.guest.php">
|
||||
<InvalidArgument occurrences="1">
|
||||
<code>false</code>
|
||||
</InvalidArgument>
|
||||
</file>
|
||||
<file src="core/templates/layout.public.php">
|
||||
<UndefinedInterfaceMethod occurrences="1">
|
||||
<code>getIcon</code>
|
||||
</UndefinedInterfaceMethod>
|
||||
</file>
|
||||
<file src="lib/autoloader.php">
|
||||
<RedundantCondition occurrences="1">
|
||||
<RedundantCondition occurrences="2">
|
||||
<code>$this->memoryCache</code>
|
||||
<code>$this->memoryCache</code>
|
||||
</RedundantCondition>
|
||||
</file>
|
||||
|
@ -2512,8 +2656,10 @@
|
|||
<code>getAppsNeedingUpgrade</code>
|
||||
<code>getIncompatibleApps</code>
|
||||
</InternalMethod>
|
||||
<InvalidArgument occurrences="1">
|
||||
<InvalidArgument occurrences="3">
|
||||
<code>$restrictions</code>
|
||||
<code>addServiceListener</code>
|
||||
<code>addServiceListener</code>
|
||||
</InvalidArgument>
|
||||
<RedundantCondition occurrences="1">
|
||||
<code>((array)$request->getParam('appid')) !== ''</code>
|
||||
|
@ -3337,7 +3483,8 @@
|
|||
<NullableReturnStatement occurrences="1">
|
||||
<code>null</code>
|
||||
</NullableReturnStatement>
|
||||
<RedundantCondition occurrences="1">
|
||||
<RedundantCondition occurrences="2">
|
||||
<code>$userObject</code>
|
||||
<code>$userObject</code>
|
||||
</RedundantCondition>
|
||||
<TooManyArguments occurrences="1">
|
||||
|
@ -3523,6 +3670,9 @@
|
|||
</MoreSpecificImplementedParamType>
|
||||
</file>
|
||||
<file src="lib/private/Files/ObjectStore/ObjectStoreStorage.php">
|
||||
<InvalidScalarArgument occurrences="1">
|
||||
<code>$source</code>
|
||||
</InvalidScalarArgument>
|
||||
<ParamNameMismatch occurrences="2">
|
||||
<code>$source</code>
|
||||
<code>$target</code>
|
||||
|
@ -3726,6 +3876,11 @@
|
|||
</InvalidReturnType>
|
||||
</file>
|
||||
<file src="lib/private/Files/Storage/Wrapper/Encoding.php">
|
||||
<InvalidScalarArgument occurrences="3">
|
||||
<code>\Normalizer::FORM_C</code>
|
||||
<code>\Normalizer::FORM_C</code>
|
||||
<code>\Normalizer::FORM_D</code>
|
||||
</InvalidScalarArgument>
|
||||
<UndefinedInterfaceMethod occurrences="13">
|
||||
<code>$this->namesCache</code>
|
||||
<code>$this->namesCache</code>
|
||||
|
@ -3816,6 +3971,11 @@
|
|||
<code>stream_flush</code>
|
||||
</InvalidReturnType>
|
||||
</file>
|
||||
<file src="lib/private/Files/Template/TemplateManager.php">
|
||||
<RedundantCondition occurrences="1">
|
||||
<code>!$isDefaultTemplates</code>
|
||||
</RedundantCondition>
|
||||
</file>
|
||||
<file src="lib/private/Files/Type/Detection.php">
|
||||
<ParamNameMismatch occurrences="1">
|
||||
<code>$mimetype</code>
|
||||
|
@ -3865,9 +4025,11 @@
|
|||
<code>null</code>
|
||||
<code>null</code>
|
||||
</NullableReturnStatement>
|
||||
<RedundantCondition occurrences="3">
|
||||
<code>$data</code>
|
||||
<RedundantCondition occurrences="5">
|
||||
<code>$result</code>
|
||||
<code>$result && in_array('delete', $hooks) and $result</code>
|
||||
<code>Constants::PERMISSION_READ</code>
|
||||
<code>Constants::PERMISSION_READ</code>
|
||||
<code>is_resource($source)</code>
|
||||
</RedundantCondition>
|
||||
<UndefinedDocblockClass occurrences="2">
|
||||
|
@ -3906,7 +4068,10 @@
|
|||
<MoreSpecificImplementedParamType occurrences="1">
|
||||
<code>$user</code>
|
||||
</MoreSpecificImplementedParamType>
|
||||
<RedundantCondition occurrences="3">
|
||||
<RedundantCondition occurrences="6">
|
||||
<code>$this->emitter</code>
|
||||
<code>$this->emitter</code>
|
||||
<code>$this->emitter</code>
|
||||
<code>$this->emitter</code>
|
||||
<code>$this->emitter</code>
|
||||
<code>$this->emitter</code>
|
||||
|
@ -3949,6 +4114,10 @@
|
|||
<FalsableReturnStatement occurrences="1">
|
||||
<code>false</code>
|
||||
</FalsableReturnStatement>
|
||||
<InvalidArgument occurrences="2">
|
||||
<code>false</code>
|
||||
<code>false</code>
|
||||
</InvalidArgument>
|
||||
<InvalidArrayOffset occurrences="2">
|
||||
<code>$app['path']</code>
|
||||
<code>$app['path']</code>
|
||||
|
@ -3956,9 +4125,6 @@
|
|||
<NullArgument occurrences="1">
|
||||
<code>null</code>
|
||||
</NullArgument>
|
||||
<RedundantCondition occurrences="1">
|
||||
<code>$archive</code>
|
||||
</RedundantCondition>
|
||||
</file>
|
||||
<file src="lib/private/IntegrityCheck/Checker.php">
|
||||
<InvalidArrayAccess occurrences="3">
|
||||
|
@ -4030,7 +4196,8 @@
|
|||
</InvalidPropertyAssignmentValue>
|
||||
</file>
|
||||
<file src="lib/private/Log.php">
|
||||
<RedundantCondition occurrences="1">
|
||||
<RedundantCondition occurrences="2">
|
||||
<code>$request</code>
|
||||
<code>$request</code>
|
||||
</RedundantCondition>
|
||||
</file>
|
||||
|
@ -4203,6 +4370,11 @@
|
|||
<code>dispatch</code>
|
||||
</TooManyArguments>
|
||||
</file>
|
||||
<file src="lib/private/Repair/Owncloud/CleanPreviews.php">
|
||||
<InvalidArgument occurrences="1">
|
||||
<code>false</code>
|
||||
</InvalidArgument>
|
||||
</file>
|
||||
<file src="lib/private/Repair/Owncloud/CleanPreviewsBackgroundJob.php">
|
||||
<ParamNameMismatch occurrences="1">
|
||||
<code>$arguments</code>
|
||||
|
@ -4212,6 +4384,9 @@
|
|||
<ParamNameMismatch occurrences="1">
|
||||
<code>$arguments</code>
|
||||
</ParamNameMismatch>
|
||||
<TypeDoesNotContainType occurrences="1">
|
||||
<code>$counter % 100 === 0</code>
|
||||
</TypeDoesNotContainType>
|
||||
</file>
|
||||
<file src="lib/private/Repair/RemoveLinkShares.php">
|
||||
<ImplicitToStringCast occurrences="2">
|
||||
|
@ -4512,6 +4687,14 @@
|
|||
<code>dispatch</code>
|
||||
</TooManyArguments>
|
||||
</file>
|
||||
<file src="lib/private/TagManager.php">
|
||||
<InvalidNullableReturnType occurrences="1">
|
||||
<code>\OCP\ITags</code>
|
||||
</InvalidNullableReturnType>
|
||||
<NullableReturnStatement occurrences="1">
|
||||
<code>null</code>
|
||||
</NullableReturnStatement>
|
||||
</file>
|
||||
<file src="lib/private/Tags.php">
|
||||
<InvalidArgument occurrences="1">
|
||||
<code>[$this->user, $this->type, $chunk]</code>
|
||||
|
@ -4543,6 +4726,9 @@
|
|||
</NullArgument>
|
||||
</file>
|
||||
<file src="lib/private/Template/JSResourceLocator.php">
|
||||
<InvalidArgument occurrences="1">
|
||||
<code>false</code>
|
||||
</InvalidArgument>
|
||||
<InvalidOperand occurrences="6">
|
||||
<code>$this->appendIfExist($this->serverroot, $script.'.js')</code>
|
||||
<code>$this->appendIfExist($this->serverroot, $theme_dir.$script.'.js')</code>
|
||||
|
@ -4610,6 +4796,9 @@
|
|||
<ImplementedReturnTypeMismatch occurrences="1">
|
||||
<code>array|int</code>
|
||||
</ImplementedReturnTypeMismatch>
|
||||
<InvalidArgument occurrences="1">
|
||||
<code>$callback</code>
|
||||
</InvalidArgument>
|
||||
<InvalidNullableReturnType occurrences="1">
|
||||
<code>bool|IUser</code>
|
||||
</InvalidNullableReturnType>
|
||||
|
|
|
@ -0,0 +1,74 @@
|
|||
<?php
|
||||
|
||||
/** @generate-class-entries */
|
||||
|
||||
namespace FTP {
|
||||
|
||||
/**
|
||||
* @strict-properties
|
||||
* @not-serializable
|
||||
*/
|
||||
final class Connection
|
||||
{
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
namespace {
|
||||
|
||||
function ftp_connect(string $hostname, int $port = 21, int $timeout = 90): FTP\Connection|resource|false {}
|
||||
|
||||
#ifdef HAVE_FTP_SSL
|
||||
function ftp_ssl_connect(string $hostname, int $port = 21, int $timeout = 90): FTP\Connection|resource|false {}
|
||||
#endif
|
||||
|
||||
function ftp_login(FTP\Connection|resource $ftp, string $username, string $password): bool {}
|
||||
function ftp_pwd(FTP\Connection|resource $ftp): string|false {}
|
||||
function ftp_cdup(FTP\Connection|resource $ftp): bool {}
|
||||
function ftp_chdir(FTP\Connection|resource $ftp, string $directory): bool {}
|
||||
function ftp_exec(FTP\Connection|resource $ftp, string $command): bool {}
|
||||
function ftp_raw(FTP\Connection|resource $ftp, string $command): ?array {}
|
||||
function ftp_mkdir(FTP\Connection|resource $ftp, string $directory): string|false {}
|
||||
function ftp_rmdir(FTP\Connection|resource $ftp, string $directory): bool {}
|
||||
function ftp_chmod(FTP\Connection|resource $ftp, int $permissions, string $filename): int|false {}
|
||||
|
||||
/** @param string $response */
|
||||
function ftp_alloc(FTP\Connection|resource $ftp, int $size, &$response = null): bool {}
|
||||
function ftp_nlist(FTP\Connection|resource $ftp, string $directory): array|false {}
|
||||
function ftp_rawlist(FTP\Connection|resource $ftp, string $directory, bool $recursive = false): array|false {}
|
||||
function ftp_mlsd(FTP\Connection|resource $ftp, string $directory): array|false {}
|
||||
function ftp_systype(FTP\Connection|resource $ftp): string|false {}
|
||||
|
||||
/** @param resource $stream */
|
||||
function ftp_fget(FTP\Connection|resource $ftp, $stream, string $remote_filename, int $mode = FTP_BINARY, int $offset = 0): bool {}
|
||||
|
||||
/** @param resource $stream */
|
||||
function ftp_nb_fget(FTP\Connection|resource $ftp, $stream, string $remote_filename, int $mode = FTP_BINARY, int $offset = 0): int {}
|
||||
function ftp_pasv(FTP\Connection|resource $ftp, bool $enable): bool {}
|
||||
function ftp_get(FTP\Connection|resource $ftp, string $local_filename, string $remote_filename, int $mode = FTP_BINARY, int $offset = 0): bool {}
|
||||
function ftp_nb_get(FTP\Connection|resource $ftp, string $local_filename, string $remote_filename, int $mode = FTP_BINARY, int $offset = 0): int {}
|
||||
function ftp_nb_continue(FTP\Connection|resource $ftp): int {}
|
||||
|
||||
/** @param resource $stream */
|
||||
function ftp_fput(FTP\Connection|resource $ftp, string $remote_filename, $stream, int $mode = FTP_BINARY, int $offset = 0): bool {}
|
||||
|
||||
/** @param resource $stream */
|
||||
function ftp_nb_fput(FTP\Connection|resource $ftp, string $remote_filename, $stream, int $mode = FTP_BINARY, int $offset = 0): int {}
|
||||
function ftp_put(FTP\Connection|resource $ftp, string $remote_filename, string $local_filename, int $mode = FTP_BINARY, int $offset = 0): bool {}
|
||||
function ftp_append(FTP\Connection|resource $ftp, string $remote_filename, string $local_filename, int $mode = FTP_BINARY): bool {}
|
||||
function ftp_nb_put(FTP\Connection|resource $ftp, string $remote_filename, string $local_filename, int $mode = FTP_BINARY, int $offset = 0): int|false {}
|
||||
function ftp_size(FTP\Connection|resource $ftp, string $filename): int {}
|
||||
function ftp_mdtm(FTP\Connection|resource $ftp, string $filename): int {}
|
||||
function ftp_rename(FTP\Connection|resource $ftp, string $from, string $to): bool {}
|
||||
function ftp_delete(FTP\Connection|resource $ftp, string $filename): bool {}
|
||||
function ftp_site(FTP\Connection|resource $ftp, string $command): bool {}
|
||||
function ftp_close(FTP\Connection|resource $ftp): bool {}
|
||||
|
||||
/** @alias ftp_close */
|
||||
function ftp_quit(FTP\Connection|resource $ftp): bool {}
|
||||
|
||||
/** @param int|bool $value */
|
||||
function ftp_set_option(FTP\Connection|resource $ftp, int $option, $value): bool {}
|
||||
function ftp_get_option(FTP\Connection|resource $ftp, int $option): int|bool {}
|
||||
|
||||
}
|
|
@ -1,5 +1,11 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* @strict-properties
|
||||
* @not-serializable
|
||||
*/
|
||||
final class GdImage {}
|
||||
|
||||
/**
|
||||
* Retrieve information about the currently installed GD library
|
||||
* @link https://php.net/manual/en/function.gd-info.php
|
||||
|
|
1584
build/stubs/ldap.php
1584
build/stubs/ldap.php
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,50 @@
|
|||
<?php
|
||||
|
||||
// Licensed under Apache-2.0
|
||||
// Copied from https://github.com/JetBrains/phpstorm-stubs/blob/master/pcntl/pcntl.php
|
||||
|
||||
define('WNOHANG', 1);
|
||||
define('WUNTRACED', 2);
|
||||
define('WCONTINUED', 8);
|
||||
define('SIG_IGN', 1);
|
||||
define('SIG_DFL', 0);
|
||||
define('SIG_ERR', -1);
|
||||
define('SIGHUP', 1);
|
||||
define('SIGINT', 2);
|
||||
define('SIGQUIT', 3);
|
||||
define('SIGILL', 4);
|
||||
define('SIGTRAP', 5);
|
||||
define('SIGABRT', 6);
|
||||
define('SIGIOT', 6);
|
||||
define('SIGBUS', 7);
|
||||
define('SIGFPE', 8);
|
||||
define('SIGKILL', 9);
|
||||
define('SIGUSR1', 10);
|
||||
define('SIGSEGV', 11);
|
||||
define('SIGUSR2', 12);
|
||||
define('SIGPIPE', 13);
|
||||
define('SIGALRM', 14);
|
||||
define('SIGTERM', 15);
|
||||
define('SIGSTKFLT', 16);
|
||||
define('SIGCLD', 17);
|
||||
define('SIGCHLD', 17);
|
||||
define('SIGCONT', 18);
|
||||
define('SIGSTOP', 19);
|
||||
define('SIGTSTP', 20);
|
||||
define('SIGTTIN', 21);
|
||||
define('SIGTTOU', 22);
|
||||
define('SIGURG', 23);
|
||||
define('SIGXCPU', 24);
|
||||
define('SIGXFSZ', 25);
|
||||
define('SIGVTALRM', 26);
|
||||
define('SIGPROF', 27);
|
||||
define('SIGWINCH', 28);
|
||||
define('SIGPOLL', 29);
|
||||
define('SIGIO', 29);
|
||||
define('SIGPWR', 30);
|
||||
define('SIGSYS', 31);
|
||||
define('SIGBABY', 31);
|
||||
define('PRIO_PGRP', 1);
|
||||
define('PRIO_USER', 2);
|
||||
define('PRIO_PROCESS', 0);
|
||||
|
|
@ -42,7 +42,7 @@
|
|||
"cs:fix": "php-cs-fixer fix",
|
||||
"cs:check": "php-cs-fixer fix --dry-run --diff",
|
||||
"lint": "find . -name \\*.php -not -path './lib/composer/*' -not -path './build/stubs/*' -print0 | xargs -0 -n1 php -l",
|
||||
"psalm": "psalm",
|
||||
"psalm:update-baseline": "psalm --update-baseline --set-baseline=build/psalm-baseline.xml"
|
||||
"psalm": "psalm --threads=1",
|
||||
"psalm:update-baseline": "psalm --threads=1 --update-baseline --set-baseline=build/psalm-baseline.xml"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -48,7 +48,7 @@ class GetPath extends Base {
|
|||
*
|
||||
* @param InputInterface $input An InputInterface instance
|
||||
* @param OutputInterface $output An OutputInterface instance
|
||||
* @return null|int null or 0 if everything went fine, or an error code
|
||||
* @return int 0 if everything went fine, or an error code
|
||||
*/
|
||||
protected function execute(InputInterface $input, OutputInterface $output): int {
|
||||
$appName = $input->getArgument('app');
|
||||
|
|
|
@ -69,7 +69,7 @@ class GetConfig extends Base {
|
|||
*
|
||||
* @param InputInterface $input An InputInterface instance
|
||||
* @param OutputInterface $output An OutputInterface instance
|
||||
* @return null|int null or 0 if everything went fine, or an error code
|
||||
* @return int 0 if everything went fine, or an error code
|
||||
*/
|
||||
protected function execute(InputInterface $input, OutputInterface $output): int {
|
||||
$appName = $input->getArgument('app');
|
||||
|
|
|
@ -65,9 +65,9 @@ class GetConfig extends Base {
|
|||
*
|
||||
* @param InputInterface $input An InputInterface instance
|
||||
* @param OutputInterface $output An OutputInterface instance
|
||||
* @return null|int null or 0 if everything went fine, or an error code
|
||||
* @return int 0 if everything went fine, or an error code
|
||||
*/
|
||||
protected function execute(InputInterface $input, OutputInterface $output): int {
|
||||
protected function execute(InputInterface $input, OutputInterface $output) {
|
||||
$configNames = $input->getArgument('name');
|
||||
$configName = array_shift($configNames);
|
||||
$defaultValue = $input->getOption('default-value');
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../../../',
|
||||
'aliases' => array(),
|
||||
'reference' => '63a9bc2aacf829563ac74abe29d4edf6ff31b8b1',
|
||||
'reference' => '1225189f74d06606aafc4150d07584b90cea50dd',
|
||||
'name' => '__root__',
|
||||
'dev' => false,
|
||||
),
|
||||
|
@ -16,7 +16,7 @@
|
|||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../../../',
|
||||
'aliases' => array(),
|
||||
'reference' => '63a9bc2aacf829563ac74abe29d4edf6ff31b8b1',
|
||||
'reference' => '1225189f74d06606aafc4150d07584b90cea50dd',
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
),
|
||||
|
|
|
@ -131,7 +131,7 @@ class Manager implements IManager {
|
|||
*/
|
||||
public function searchCollections(IUser $user, string $filter, int $limit = 50, int $start = 0): array {
|
||||
$query = $this->connection->getQueryBuilder();
|
||||
$userId = $user instanceof IUser ? $user->getUID() : '';
|
||||
$userId = $user->getUID();
|
||||
|
||||
$query->select('c.*', 'a.access')
|
||||
->from(self::TABLE_COLLECTIONS, 'c')
|
||||
|
|
|
@ -1407,7 +1407,7 @@ class View {
|
|||
}
|
||||
$info = new FileInfo($path, $storage, $internalPath, $data, $mount, $owner);
|
||||
|
||||
if ($data and isset($data['fileid'])) {
|
||||
if (isset($data['fileid'])) {
|
||||
if ($includeMountPoints and $data['mimetype'] === 'httpd/unix-directory') {
|
||||
//add the sizes of other mount points to the folder
|
||||
$extOnly = ($includeMountPoints === 'ext');
|
||||
|
|
|
@ -308,91 +308,80 @@ class Installer {
|
|||
$extractDir = $this->tempManager->getTemporaryFolder();
|
||||
$archive = new TAR($tempFile);
|
||||
|
||||
if ($archive) {
|
||||
if (!$archive->extract($extractDir)) {
|
||||
$errorMessage = 'Could not extract app ' . $appId;
|
||||
if (!$archive->extract($extractDir)) {
|
||||
$errorMessage = 'Could not extract app ' . $appId;
|
||||
|
||||
$archiveError = $archive->getError();
|
||||
if ($archiveError instanceof \PEAR_Error) {
|
||||
$errorMessage .= ': ' . $archiveError->getMessage();
|
||||
}
|
||||
|
||||
throw new \Exception($errorMessage);
|
||||
}
|
||||
$allFiles = scandir($extractDir);
|
||||
$folders = array_diff($allFiles, ['.', '..']);
|
||||
$folders = array_values($folders);
|
||||
|
||||
if (count($folders) > 1) {
|
||||
throw new \Exception(
|
||||
sprintf(
|
||||
'Extracted app %s has more than 1 folder',
|
||||
$appId
|
||||
)
|
||||
);
|
||||
$archiveError = $archive->getError();
|
||||
if ($archiveError instanceof \PEAR_Error) {
|
||||
$errorMessage .= ': ' . $archiveError->getMessage();
|
||||
}
|
||||
|
||||
// Check if appinfo/info.xml has the same app ID as well
|
||||
if ((PHP_VERSION_ID < 80000)) {
|
||||
$loadEntities = libxml_disable_entity_loader(false);
|
||||
$xml = simplexml_load_file($extractDir . '/' . $folders[0] . '/appinfo/info.xml');
|
||||
libxml_disable_entity_loader($loadEntities);
|
||||
} else {
|
||||
$xml = simplexml_load_file($extractDir . '/' . $folders[0] . '/appinfo/info.xml');
|
||||
}
|
||||
if ((string)$xml->id !== $appId) {
|
||||
throw new \Exception(
|
||||
sprintf(
|
||||
'App for id %s has a wrong app ID in info.xml: %s',
|
||||
$appId,
|
||||
(string)$xml->id
|
||||
)
|
||||
);
|
||||
}
|
||||
throw new \Exception($errorMessage);
|
||||
}
|
||||
$allFiles = scandir($extractDir);
|
||||
$folders = array_diff($allFiles, ['.', '..']);
|
||||
$folders = array_values($folders);
|
||||
|
||||
// Check if the version is lower than before
|
||||
$currentVersion = OC_App::getAppVersion($appId);
|
||||
$newVersion = (string)$xml->version;
|
||||
if (version_compare($currentVersion, $newVersion) === 1) {
|
||||
throw new \Exception(
|
||||
sprintf(
|
||||
'App for id %s has version %s and tried to update to lower version %s',
|
||||
$appId,
|
||||
$currentVersion,
|
||||
$newVersion
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
$baseDir = OC_App::getInstallPath() . '/' . $appId;
|
||||
// Remove old app with the ID if existent
|
||||
OC_Helper::rmdirr($baseDir);
|
||||
// Move to app folder
|
||||
if (@mkdir($baseDir)) {
|
||||
$extractDir .= '/' . $folders[0];
|
||||
OC_Helper::copyr($extractDir, $baseDir);
|
||||
}
|
||||
OC_Helper::copyr($extractDir, $baseDir);
|
||||
OC_Helper::rmdirr($extractDir);
|
||||
return;
|
||||
} else {
|
||||
if (count($folders) > 1) {
|
||||
throw new \Exception(
|
||||
sprintf(
|
||||
'Could not extract app with ID %s to %s',
|
||||
$appId,
|
||||
$extractDir
|
||||
'Extracted app %s has more than 1 folder',
|
||||
$appId
|
||||
)
|
||||
);
|
||||
}
|
||||
} else {
|
||||
// Signature does not match
|
||||
throw new \Exception(
|
||||
sprintf(
|
||||
'App with id %s has invalid signature',
|
||||
$appId
|
||||
)
|
||||
);
|
||||
|
||||
// Check if appinfo/info.xml has the same app ID as well
|
||||
if ((PHP_VERSION_ID < 80000)) {
|
||||
$loadEntities = libxml_disable_entity_loader(false);
|
||||
$xml = simplexml_load_file($extractDir . '/' . $folders[0] . '/appinfo/info.xml');
|
||||
libxml_disable_entity_loader($loadEntities);
|
||||
} else {
|
||||
$xml = simplexml_load_file($extractDir . '/' . $folders[0] . '/appinfo/info.xml');
|
||||
}
|
||||
if ((string)$xml->id !== $appId) {
|
||||
throw new \Exception(
|
||||
sprintf(
|
||||
'App for id %s has a wrong app ID in info.xml: %s',
|
||||
$appId,
|
||||
(string)$xml->id
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
// Check if the version is lower than before
|
||||
$currentVersion = OC_App::getAppVersion($appId);
|
||||
$newVersion = (string)$xml->version;
|
||||
if (version_compare($currentVersion, $newVersion) === 1) {
|
||||
throw new \Exception(
|
||||
sprintf(
|
||||
'App for id %s has version %s and tried to update to lower version %s',
|
||||
$appId,
|
||||
$currentVersion,
|
||||
$newVersion
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
$baseDir = OC_App::getInstallPath() . '/' . $appId;
|
||||
// Remove old app with the ID if existent
|
||||
OC_Helper::rmdirr($baseDir);
|
||||
// Move to app folder
|
||||
if (@mkdir($baseDir)) {
|
||||
$extractDir .= '/' . $folders[0];
|
||||
OC_Helper::copyr($extractDir, $baseDir);
|
||||
}
|
||||
OC_Helper::copyr($extractDir, $baseDir);
|
||||
OC_Helper::rmdirr($extractDir);
|
||||
return;
|
||||
}
|
||||
// Signature does not match
|
||||
throw new \Exception(
|
||||
sprintf(
|
||||
'App with id %s has invalid signature',
|
||||
$appId
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -66,6 +66,7 @@ class Memcached extends Cache implements IMemcache {
|
|||
//\Memcached::OPT_BINARY_PROTOCOL => true,
|
||||
];
|
||||
// by default enable igbinary serializer if available
|
||||
/** @psalm-suppress RedundantCondition */
|
||||
if (\Memcached::HAVE_IGBINARY) {
|
||||
$defaultOptions[\Memcached::OPT_SERIALIZER] =
|
||||
\Memcached::SERIALIZER_IGBINARY;
|
||||
|
|
|
@ -381,12 +381,12 @@ class Manager implements IManager {
|
|||
throw new \InvalidArgumentException('The given notification has been processed');
|
||||
}
|
||||
|
||||
if (!($notification instanceof INotification) || !$notification->isValidParsed()) {
|
||||
if (!$notification->isValidParsed()) {
|
||||
throw new \InvalidArgumentException('The given notification has not been handled');
|
||||
}
|
||||
}
|
||||
|
||||
if (!($notification instanceof INotification) || !$notification->isValidParsed()) {
|
||||
if (!$notification->isValidParsed()) {
|
||||
throw new \InvalidArgumentException('The given notification has not been handled');
|
||||
}
|
||||
|
||||
|
|
|
@ -16,6 +16,10 @@
|
|||
<directory name="lib/composer/bin"/>
|
||||
</ignoreFiles>
|
||||
</projectFiles>
|
||||
<stubs>
|
||||
<file name="build/stubs/gd.php"/>
|
||||
<file name="build/stubs/ldap.php"/>
|
||||
</stubs>
|
||||
<extraFiles>
|
||||
<directory name="3rdparty"/>
|
||||
</extraFiles>
|
||||
|
|
|
@ -75,14 +75,14 @@
|
|||
<file name="build/stubs/sftp.php"/>
|
||||
<file name="build/stubs/ssh2.php"/>
|
||||
<file name="build/stubs/xsl.php"/>
|
||||
<file name="build/stubs/ftp.php"/>
|
||||
<file name="build/stubs/pcntl.php"/>
|
||||
</stubs>
|
||||
<issueHandlers>
|
||||
<UndefinedClass>
|
||||
<errorLevel type="suppress">
|
||||
<referencedClass name="OCA\GroupFolders\Mount\GroupFolderStorage"/>
|
||||
<referencedClass name="OCA\TwoFactorNextcloudNotification\Controller\APIController"/>
|
||||
<!-- Classes from PHP>=8 (needed to be able to use \GdImage::class) -->
|
||||
<referencedClass name="GdImage" />
|
||||
</errorLevel>
|
||||
</UndefinedClass>
|
||||
<UndefinedFunction>
|
||||
|
@ -126,11 +126,6 @@
|
|||
<!-- Helper classes for sharing API integration from other apps -->
|
||||
<referencedClass name="OCA\Deck\Sharing\ShareAPIHelper" />
|
||||
<referencedClass name="OCA\Talk\Share\Helper\DeletedShareAPIController" />
|
||||
<!-- Classes from PHP>=8 -->
|
||||
<referencedClass name="GdImage" />
|
||||
<referencedClass name="LDAP\Connection" />
|
||||
<referencedClass name="LDAP\Result" />
|
||||
<referencedClass name="LDAP\ResultEntry" />
|
||||
</errorLevel>
|
||||
</UndefinedDocblockClass>
|
||||
</issueHandlers>
|
||||
|
|
|
@ -1,9 +1,11 @@
|
|||
{
|
||||
"require": {
|
||||
"nikic/php-parser": "^4.13",
|
||||
"vimeo/psalm": "^4.17"
|
||||
"vimeo/psalm": "^4.18"
|
||||
},
|
||||
"config": {
|
||||
"platform": {
|
||||
"php": "7.3"
|
||||
},
|
||||
"allow-plugins": {
|
||||
"composer/package-versions-deprecated": true
|
||||
}
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"content-hash": "a27ae1441b036754d39358d5dde4905b",
|
||||
"content-hash": "c3c578c654631288a179470ece96f0ba",
|
||||
"packages": [
|
||||
{
|
||||
"name": "amphp/amp",
|
||||
|
@ -923,20 +923,20 @@
|
|||
},
|
||||
{
|
||||
"name": "psr/container",
|
||||
"version": "1.1.2",
|
||||
"version": "1.1.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/php-fig/container.git",
|
||||
"reference": "513e0666f7216c7459170d56df27dfcefe1689ea"
|
||||
"reference": "8622567409010282b7aeebe4bb841fe98b58dcaf"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/php-fig/container/zipball/513e0666f7216c7459170d56df27dfcefe1689ea",
|
||||
"reference": "513e0666f7216c7459170d56df27dfcefe1689ea",
|
||||
"url": "https://api.github.com/repos/php-fig/container/zipball/8622567409010282b7aeebe4bb841fe98b58dcaf",
|
||||
"reference": "8622567409010282b7aeebe4bb841fe98b58dcaf",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=7.4.0"
|
||||
"php": ">=7.2.0"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
|
@ -965,9 +965,9 @@
|
|||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/php-fig/container/issues",
|
||||
"source": "https://github.com/php-fig/container/tree/1.1.2"
|
||||
"source": "https://github.com/php-fig/container/tree/1.1.1"
|
||||
},
|
||||
"time": "2021-11-05T16:50:12+00:00"
|
||||
"time": "2021-03-05T17:36:06+00:00"
|
||||
},
|
||||
{
|
||||
"name": "psr/log",
|
||||
|
@ -1914,16 +1914,16 @@
|
|||
},
|
||||
{
|
||||
"name": "vimeo/psalm",
|
||||
"version": "4.17.0",
|
||||
"version": "4.18.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/vimeo/psalm.git",
|
||||
"reference": "6f4707aa41c9174353a6434bba3fc8840f981d9c"
|
||||
"reference": "dda05fa913f4dc6eb3386f2f7ce5a45d37a71bcb"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/vimeo/psalm/zipball/6f4707aa41c9174353a6434bba3fc8840f981d9c",
|
||||
"reference": "6f4707aa41c9174353a6434bba3fc8840f981d9c",
|
||||
"url": "https://api.github.com/repos/vimeo/psalm/zipball/dda05fa913f4dc6eb3386f2f7ce5a45d37a71bcb",
|
||||
"reference": "dda05fa913f4dc6eb3386f2f7ce5a45d37a71bcb",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -2014,9 +2014,9 @@
|
|||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/vimeo/psalm/issues",
|
||||
"source": "https://github.com/vimeo/psalm/tree/4.17.0"
|
||||
"source": "https://github.com/vimeo/psalm/tree/4.18.1"
|
||||
},
|
||||
"time": "2022-01-01T18:39:47+00:00"
|
||||
"time": "2022-01-08T21:21:26+00:00"
|
||||
},
|
||||
{
|
||||
"name": "webmozart/assert",
|
||||
|
@ -2136,5 +2136,8 @@
|
|||
"prefer-lowest": false,
|
||||
"platform": [],
|
||||
"platform-dev": [],
|
||||
"platform-overrides": {
|
||||
"php": "7.3"
|
||||
},
|
||||
"plugin-api-version": "2.2.0"
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue