mirror of
https://github.com/nextcloud/server.git
synced 2026-05-28 04:32:30 -04:00
Merge pull request #44533 from nextcloud/dependabot/composer/vendor-bin/psalm/vimeo/psalm-5.23.1
This commit is contained in:
commit
cb27fbc3bb
34 changed files with 1207 additions and 1131 deletions
|
|
@ -125,7 +125,7 @@ class File extends Node implements IFile {
|
|||
* different object on a subsequent GET you are strongly recommended to not
|
||||
* return an ETag, and just return null.
|
||||
*
|
||||
* @param resource $data
|
||||
* @param resource|string $data
|
||||
*
|
||||
* @throws Forbidden
|
||||
* @throws UnsupportedMediaType
|
||||
|
|
|
|||
|
|
@ -244,7 +244,7 @@ class OwnershipTransferService {
|
|||
|
||||
$encryptedFiles = [];
|
||||
$this->walkFiles($view, $sourcePath,
|
||||
function (FileInfo $fileInfo) use ($progress) {
|
||||
function (FileInfo $fileInfo) use ($progress, &$encryptedFiles) {
|
||||
if ($fileInfo->getType() === FileInfo::TYPE_FOLDER) {
|
||||
// only analyze into folders from main storage,
|
||||
if (!$fileInfo->getStorage()->instanceOfStorage(IHomeStorage::class)) {
|
||||
|
|
|
|||
|
|
@ -513,6 +513,9 @@ class SFTP extends Common {
|
|||
$result = $this->getConnection()->put($this->absPath($path), $stream);
|
||||
fclose($stream);
|
||||
if ($result) {
|
||||
if ($size === null) {
|
||||
throw new \Exception("Failed to get written size from sftp storage wrapper");
|
||||
}
|
||||
return $size;
|
||||
} else {
|
||||
throw new \Exception("Failed to write steam to sftp storage");
|
||||
|
|
|
|||
|
|
@ -102,9 +102,11 @@ class PhpOpcacheSetup implements ISetupCheck {
|
|||
$recommendations[] = $this->l10n->t('The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply "opcache.memory_consumption" to your PHP configuration with a value higher than "%s".', [($this->iniGetWrapper->getNumeric('opcache.memory_consumption') ?: 'currently')]);
|
||||
}
|
||||
|
||||
$interned_strings_buffer = $this->iniGetWrapper->getNumeric('opcache.interned_strings_buffer') ?? 0;
|
||||
$memory_consumption = $this->iniGetWrapper->getNumeric('opcache.memory_consumption') ?? 0;
|
||||
if (
|
||||
// Do not recommend to raise the interned strings buffer size above a quarter of the total OPcache size
|
||||
($this->iniGetWrapper->getNumeric('opcache.interned_strings_buffer') ?? $this->iniGetWrapper->getNumeric('opcache.memory_consumption') > 0 ?? 0 / 4) &&
|
||||
($interned_strings_buffer < ($memory_consumption / 4)) &&
|
||||
(
|
||||
empty($status['interned_strings_usage']['free_memory']) ||
|
||||
($status['interned_strings_usage']['used_memory'] / $status['interned_strings_usage']['free_memory'] > 9)
|
||||
|
|
|
|||
|
|
@ -218,7 +218,7 @@ class Util {
|
|||
|
||||
|
||||
/**
|
||||
* @param $app string app name
|
||||
* @param string $app app name
|
||||
* @return string|ISimpleFile path to app icon / file of logo
|
||||
*/
|
||||
public function getAppIcon($app) {
|
||||
|
|
@ -248,8 +248,8 @@ class Util {
|
|||
}
|
||||
|
||||
/**
|
||||
* @param $app string app name
|
||||
* @param $image string relative path to image in app folder
|
||||
* @param string $app app name
|
||||
* @param string $image relative path to image in app folder
|
||||
* @return string|false absolute path to image
|
||||
*/
|
||||
public function getAppImage($app, $image) {
|
||||
|
|
@ -295,8 +295,8 @@ class Util {
|
|||
/**
|
||||
* replace default color with a custom one
|
||||
*
|
||||
* @param $svg string content of a svg file
|
||||
* @param $color string color to match
|
||||
* @param string $svg content of a svg file
|
||||
* @param string $color color to match
|
||||
* @return string
|
||||
*/
|
||||
public function colorizeSvg($svg, $color) {
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ $configuration = new \OCA\User_LDAP\Configuration($prefix);
|
|||
|
||||
$con = new \OCA\User_LDAP\Connection($ldapWrapper, $prefix, null);
|
||||
$con->setConfiguration($configuration->getConfiguration());
|
||||
$con->ldapConfigurationActive = true;
|
||||
$con->ldapConfigurationActive = (string)true;
|
||||
$con->setIgnoreValidation(true);
|
||||
|
||||
$factory = \OC::$server->get(\OCA\User_LDAP\AccessFactory::class);
|
||||
|
|
|
|||
|
|
@ -38,8 +38,76 @@ namespace OCA\User_LDAP;
|
|||
use Psr\Log\LoggerInterface;
|
||||
|
||||
/**
|
||||
* @property int ldapPagingSize holds an integer
|
||||
* @property string ldapUserAvatarRule
|
||||
* @property string $ldapHost
|
||||
* @property string $ldapPort
|
||||
* @property string $ldapBackupHost
|
||||
* @property string $ldapBackupPort
|
||||
* @property string $ldapBackgroundHost
|
||||
* @property string $ldapBackgroundPort
|
||||
* @property array|'' $ldapBase
|
||||
* @property array|'' $ldapBaseUsers
|
||||
* @property array|'' $ldapBaseGroups
|
||||
* @property string $ldapAgentName
|
||||
* @property string $ldapAgentPassword
|
||||
* @property string $ldapTLS
|
||||
* @property string $turnOffCertCheck
|
||||
* @property string $ldapIgnoreNamingRules
|
||||
* @property string $ldapUserDisplayName
|
||||
* @property string $ldapUserDisplayName2
|
||||
* @property string $ldapUserAvatarRule
|
||||
* @property string $ldapGidNumber
|
||||
* @property array|'' $ldapUserFilterObjectclass
|
||||
* @property array|'' $ldapUserFilterGroups
|
||||
* @property string $ldapUserFilter
|
||||
* @property string $ldapUserFilterMode
|
||||
* @property string $ldapGroupFilter
|
||||
* @property string $ldapGroupFilterMode
|
||||
* @property array|'' $ldapGroupFilterObjectclass
|
||||
* @property array|'' $ldapGroupFilterGroups
|
||||
* @property string $ldapGroupDisplayName
|
||||
* @property string $ldapGroupMemberAssocAttr
|
||||
* @property string $ldapLoginFilter
|
||||
* @property string $ldapLoginFilterMode
|
||||
* @property string $ldapLoginFilterEmail
|
||||
* @property string $ldapLoginFilterUsername
|
||||
* @property array|'' $ldapLoginFilterAttributes
|
||||
* @property string $ldapQuotaAttribute
|
||||
* @property string $ldapQuotaDefault
|
||||
* @property string $ldapEmailAttribute
|
||||
* @property string $ldapCacheTTL
|
||||
* @property string $ldapUuidUserAttribute
|
||||
* @property string $ldapUuidGroupAttribute
|
||||
* @property string $ldapOverrideMainServer
|
||||
* @property string $ldapConfigurationActive
|
||||
* @property array|'' $ldapAttributesForUserSearch
|
||||
* @property array|'' $ldapAttributesForGroupSearch
|
||||
* @property string $ldapExperiencedAdmin
|
||||
* @property string $homeFolderNamingRule
|
||||
* @property string $hasMemberOfFilterSupport
|
||||
* @property string $useMemberOfToDetectMembership
|
||||
* @property string $ldapExpertUsernameAttr
|
||||
* @property string $ldapExpertUUIDUserAttr
|
||||
* @property string $ldapExpertUUIDGroupAttr
|
||||
* @property string $markRemnantsAsDisabled
|
||||
* @property string $lastJpegPhotoLookup
|
||||
* @property string $ldapNestedGroups
|
||||
* @property string $ldapPagingSize
|
||||
* @property string $turnOnPasswordChange
|
||||
* @property string $ldapDynamicGroupMemberURL
|
||||
* @property string $ldapDefaultPPolicyDN
|
||||
* @property string $ldapExtStorageHomeAttribute
|
||||
* @property string $ldapMatchingRuleInChainState
|
||||
* @property string $ldapConnectionTimeout
|
||||
* @property string $ldapAttributePhone
|
||||
* @property string $ldapAttributeWebsite
|
||||
* @property string $ldapAttributeAddress
|
||||
* @property string $ldapAttributeTwitter
|
||||
* @property string $ldapAttributeFediverse
|
||||
* @property string $ldapAttributeOrganisation
|
||||
* @property string $ldapAttributeRole
|
||||
* @property string $ldapAttributeHeadline
|
||||
* @property string $ldapAttributeBiography
|
||||
* @property string $ldapAdminGroup
|
||||
*/
|
||||
class Configuration {
|
||||
public const AVATAR_PREFIX_DEFAULT = 'default';
|
||||
|
|
|
|||
|
|
@ -41,49 +41,79 @@ use OC\ServerNotAvailableException;
|
|||
use Psr\Log\LoggerInterface;
|
||||
|
||||
/**
|
||||
* magic properties (incomplete)
|
||||
* magic properties
|
||||
* responsible for LDAP connections in context with the provided configuration
|
||||
*
|
||||
* @property string ldapHost
|
||||
* @property string ldapPort holds the port number
|
||||
* @property string ldapUserFilter
|
||||
* @property string ldapUserDisplayName
|
||||
* @property string ldapUserDisplayName2
|
||||
* @property string ldapUserAvatarRule
|
||||
* @property boolean turnOnPasswordChange
|
||||
* @property string[] ldapBaseUsers
|
||||
* @property int|null ldapPagingSize holds an integer
|
||||
* @property bool|mixed|void ldapGroupMemberAssocAttr
|
||||
* @property string ldapUuidUserAttribute
|
||||
* @property string ldapUuidGroupAttribute
|
||||
* @property string ldapExpertUUIDUserAttr
|
||||
* @property string ldapExpertUUIDGroupAttr
|
||||
* @property string ldapQuotaAttribute
|
||||
* @property string ldapQuotaDefault
|
||||
* @property string ldapEmailAttribute
|
||||
* @property string ldapExtStorageHomeAttribute
|
||||
* @property string homeFolderNamingRule
|
||||
* @property bool|string markRemnantsAsDisabled
|
||||
* @property bool|string ldapNestedGroups
|
||||
* @property string[] ldapBaseGroups
|
||||
* @property string ldapGroupFilter
|
||||
* @property string ldapGroupDisplayName
|
||||
* @property string ldapLoginFilter
|
||||
* @property string ldapDynamicGroupMemberURL
|
||||
* @property string ldapGidNumber
|
||||
* @property int hasMemberOfFilterSupport
|
||||
* @property int useMemberOfToDetectMembership
|
||||
* @property string ldapMatchingRuleInChainState
|
||||
* @property string ldapAttributePhone
|
||||
* @property string ldapAttributeWebsite
|
||||
* @property string ldapAttributeAddress
|
||||
* @property string ldapAttributeTwitter
|
||||
* @property string ldapAttributeFediverse
|
||||
* @property string ldapAttributeOrganisation
|
||||
* @property string ldapAttributeRole
|
||||
* @property string ldapAttributeHeadline
|
||||
* @property string ldapAttributeBiography
|
||||
* @property string ldapAdminGroup
|
||||
* @property string $ldapHost
|
||||
* @property string $ldapPort
|
||||
* @property string $ldapBackupHost
|
||||
* @property string $ldapBackupPort
|
||||
* @property string $ldapBackgroundHost
|
||||
* @property string $ldapBackgroundPort
|
||||
* @property array|'' $ldapBase
|
||||
* @property array|'' $ldapBaseUsers
|
||||
* @property array|'' $ldapBaseGroups
|
||||
* @property string $ldapAgentName
|
||||
* @property string $ldapAgentPassword
|
||||
* @property string $ldapTLS
|
||||
* @property string $turnOffCertCheck
|
||||
* @property string $ldapIgnoreNamingRules
|
||||
* @property string $ldapUserDisplayName
|
||||
* @property string $ldapUserDisplayName2
|
||||
* @property string $ldapUserAvatarRule
|
||||
* @property string $ldapGidNumber
|
||||
* @property array|'' $ldapUserFilterObjectclass
|
||||
* @property array|'' $ldapUserFilterGroups
|
||||
* @property string $ldapUserFilter
|
||||
* @property string $ldapUserFilterMode
|
||||
* @property string $ldapGroupFilter
|
||||
* @property string $ldapGroupFilterMode
|
||||
* @property array|'' $ldapGroupFilterObjectclass
|
||||
* @property array|'' $ldapGroupFilterGroups
|
||||
* @property string $ldapGroupDisplayName
|
||||
* @property string $ldapGroupMemberAssocAttr
|
||||
* @property string $ldapLoginFilter
|
||||
* @property string $ldapLoginFilterMode
|
||||
* @property string $ldapLoginFilterEmail
|
||||
* @property string $ldapLoginFilterUsername
|
||||
* @property array|'' $ldapLoginFilterAttributes
|
||||
* @property string $ldapQuotaAttribute
|
||||
* @property string $ldapQuotaDefault
|
||||
* @property string $ldapEmailAttribute
|
||||
* @property string $ldapCacheTTL
|
||||
* @property string $ldapUuidUserAttribute
|
||||
* @property string $ldapUuidGroupAttribute
|
||||
* @property string $ldapOverrideMainServer
|
||||
* @property string $ldapConfigurationActive
|
||||
* @property array|'' $ldapAttributesForUserSearch
|
||||
* @property array|'' $ldapAttributesForGroupSearch
|
||||
* @property string $ldapExperiencedAdmin
|
||||
* @property string $homeFolderNamingRule
|
||||
* @property string $hasMemberOfFilterSupport
|
||||
* @property string $useMemberOfToDetectMembership
|
||||
* @property string $ldapExpertUsernameAttr
|
||||
* @property string $ldapExpertUUIDUserAttr
|
||||
* @property string $ldapExpertUUIDGroupAttr
|
||||
* @property string $markRemnantsAsDisabled
|
||||
* @property string $lastJpegPhotoLookup
|
||||
* @property string $ldapNestedGroups
|
||||
* @property string $ldapPagingSize
|
||||
* @property string $turnOnPasswordChange
|
||||
* @property string $ldapDynamicGroupMemberURL
|
||||
* @property string $ldapDefaultPPolicyDN
|
||||
* @property string $ldapExtStorageHomeAttribute
|
||||
* @property string $ldapMatchingRuleInChainState
|
||||
* @property string $ldapConnectionTimeout
|
||||
* @property string $ldapAttributePhone
|
||||
* @property string $ldapAttributeWebsite
|
||||
* @property string $ldapAttributeAddress
|
||||
* @property string $ldapAttributeTwitter
|
||||
* @property string $ldapAttributeFediverse
|
||||
* @property string $ldapAttributeOrganisation
|
||||
* @property string $ldapAttributeRole
|
||||
* @property string $ldapAttributeHeadline
|
||||
* @property string $ldapAttributeBiography
|
||||
* @property string $ldapAdminGroup
|
||||
*/
|
||||
class Connection extends LDAPUtility {
|
||||
private ?\LDAP\Connection $ldapConnectionRes = null;
|
||||
|
|
@ -418,7 +448,7 @@ class Connection extends LDAPUtility {
|
|||
|
||||
$backupPort = (int)$this->configuration->ldapBackupPort;
|
||||
if ($backupPort <= 0) {
|
||||
$this->configuration->backupPort = $this->configuration->ldapPort;
|
||||
$this->configuration->ldapBackupPort = $this->configuration->ldapPort;
|
||||
}
|
||||
|
||||
//make sure empty search attributes are saved as simple, empty array
|
||||
|
|
@ -433,7 +463,7 @@ class Connection extends LDAPUtility {
|
|||
|
||||
if ((stripos((string)$this->configuration->ldapHost, 'ldaps://') === 0)
|
||||
&& $this->configuration->ldapTLS) {
|
||||
$this->configuration->ldapTLS = false;
|
||||
$this->configuration->ldapTLS = (string)false;
|
||||
$this->logger->info(
|
||||
'LDAPS (already using secure connection) and TLS do not work together. Switched off TLS.',
|
||||
['app' => 'user_ldap']
|
||||
|
|
|
|||
|
|
@ -73,7 +73,7 @@ class Group_Proxy extends Proxy implements \OCP\GroupInterface, IGroupLDAP, IGet
|
|||
$this->backends[$configPrefix] =
|
||||
new Group_LDAP($this->getAccess($configPrefix), $this->groupPluginManager, $this->config, $this->ncUserManager);
|
||||
if (is_null($this->refBackend)) {
|
||||
$this->refBackend = &$this->backends[$configPrefix];
|
||||
$this->refBackend = $this->backends[$configPrefix];
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -169,7 +169,7 @@ class Sync extends TimedJob {
|
|||
$results = $access->fetchListOfUsers(
|
||||
$filter,
|
||||
$access->userManager->getAttributes(),
|
||||
$connection->ldapPagingSize,
|
||||
(int)$connection->ldapPagingSize,
|
||||
$cycleData['offset'],
|
||||
true
|
||||
);
|
||||
|
|
|
|||
|
|
@ -204,6 +204,7 @@ class LDAP implements ILDAPWrapper {
|
|||
$serverControls = [];
|
||||
}
|
||||
|
||||
/** @psalm-suppress UndefinedVariable $oldHandler is defined when the closure is called but psalm fails to get that */
|
||||
$oldHandler = set_error_handler(function ($no, $message, $file, $line) use (&$oldHandler) {
|
||||
if (str_contains($message, 'Partial search results returned: Sizelimit exceeded')) {
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -97,7 +97,7 @@ class User_Proxy extends Proxy implements IUserBackend, UserInterface, IUserLDAP
|
|||
);
|
||||
|
||||
if (is_null($this->refBackend)) {
|
||||
$this->refBackend = &$this->backends[$configPrefix];
|
||||
$this->refBackend = $this->backends[$configPrefix];
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -414,7 +414,7 @@ class Wizard extends LDAPUtility {
|
|||
$this->fetchGroups($dbKey, $confKey);
|
||||
|
||||
if ($testMemberOf) {
|
||||
$this->configuration->hasMemberOfFilterSupport = $this->testMemberOf();
|
||||
$this->configuration->hasMemberOfFilterSupport = (string)$this->testMemberOf();
|
||||
$this->result->markChange();
|
||||
if (!$this->configuration->hasMemberOfFilterSupport) {
|
||||
throw new \Exception('memberOf is not supported by the server');
|
||||
|
|
@ -700,8 +700,8 @@ class Wizard extends LDAPUtility {
|
|||
|
||||
if ($settingsFound === true) {
|
||||
$config = [
|
||||
'ldapPort' => $p,
|
||||
'ldapTLS' => (int)$t
|
||||
'ldapPort' => (string)$p,
|
||||
'ldapTLS' => (string)$t,
|
||||
];
|
||||
$this->configuration->setConfiguration($config);
|
||||
$this->logger->debug(
|
||||
|
|
@ -1322,7 +1322,7 @@ class Wizard extends LDAPUtility {
|
|||
$this->ldap->setOption($cr, LDAP_OPT_PROTOCOL_VERSION, 3);
|
||||
$this->ldap->setOption($cr, LDAP_OPT_REFERRALS, 0);
|
||||
$this->ldap->setOption($cr, LDAP_OPT_NETWORK_TIMEOUT, self::LDAP_NW_TIMEOUT);
|
||||
if ($this->configuration->ldapTLS === 1) {
|
||||
if ($this->configuration->ldapTLS) {
|
||||
$this->ldap->startTls($cr);
|
||||
}
|
||||
|
||||
|
|
@ -1337,6 +1337,9 @@ class Wizard extends LDAPUtility {
|
|||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array<array{port:int,tls:bool}>
|
||||
*/
|
||||
private function getDefaultLdapPortSettings(): array {
|
||||
static $settings = [
|
||||
['port' => 7636, 'tls' => false],
|
||||
|
|
@ -1349,6 +1352,9 @@ class Wizard extends LDAPUtility {
|
|||
return $settings;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array<array{port:int,tls:bool}>
|
||||
*/
|
||||
private function getPortSettingsToTry(): array {
|
||||
//389 ← LDAP / Unencrypted or StartTLS
|
||||
//636 ← LDAPS / SSL
|
||||
|
|
@ -1367,7 +1373,7 @@ class Wizard extends LDAPUtility {
|
|||
}
|
||||
$portSettings[] = ['port' => $port, 'tls' => false];
|
||||
} elseif ($this->configuration->usesLdapi()) {
|
||||
$portSettings[] = ['port' => '', 'tls' => false];
|
||||
$portSettings[] = ['port' => 0, 'tls' => false];
|
||||
}
|
||||
|
||||
//default ports
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -31,7 +31,7 @@ class GenerateMimetypeFileBuilder {
|
|||
/**
|
||||
* Generate mime type list file
|
||||
*
|
||||
* @param array $aliases
|
||||
* @param array<string,string> $aliases
|
||||
* @return string
|
||||
*/
|
||||
public function generateFile(array $aliases): string {
|
||||
|
|
|
|||
|
|
@ -57,13 +57,13 @@ class Generate extends Command {
|
|||
protected function execute(InputInterface $input, OutputInterface $output): int {
|
||||
$fileInput = $input->getArgument("file");
|
||||
$sizes = $input->getOption("size");
|
||||
$sizes = array_map(function (string $size) use ($output, &$error) {
|
||||
$sizes = array_map(function (string $size) use ($output) {
|
||||
if (str_contains($size, 'x')) {
|
||||
$sizeParts = explode('x', $size, 2);
|
||||
} else {
|
||||
$sizeParts = [$size, $size];
|
||||
}
|
||||
if (!is_numeric($sizeParts[0]) || !is_numeric($sizeParts[1])) {
|
||||
if (!is_numeric($sizeParts[0]) || !is_numeric($sizeParts[1] ?? null)) {
|
||||
$output->writeln("<error>Invalid size $size</error>");
|
||||
return null;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -662,11 +662,11 @@ class OC {
|
|||
//this doesn´t work always depending on the webserver and php configuration.
|
||||
//Let´s try to overwrite some defaults if they are smaller than 1 hour
|
||||
|
||||
if (intval(@ini_get('max_execution_time') ?? 0) < 3600) {
|
||||
if (intval(@ini_get('max_execution_time') ?: 0) < 3600) {
|
||||
@ini_set('max_execution_time', strval(3600));
|
||||
}
|
||||
|
||||
if (intval(@ini_get('max_input_time') ?? 0) < 3600) {
|
||||
if (intval(@ini_get('max_input_time') ?: 0) < 3600) {
|
||||
@ini_set('max_input_time', strval(3600));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -850,11 +850,10 @@ class AppConfig implements IAppConfig {
|
|||
|
||||
// update local cache
|
||||
if ($lazy) {
|
||||
$cache = &$this->lazyCache;
|
||||
$this->lazyCache[$app][$key] = $value;
|
||||
} else {
|
||||
$cache = &$this->fastCache;
|
||||
$this->fastCache[$app][$key] = $value;
|
||||
}
|
||||
$cache[$app][$key] = $value;
|
||||
$this->valueTypes[$app][$key] = $type;
|
||||
|
||||
return true;
|
||||
|
|
@ -1264,11 +1263,10 @@ class AppConfig implements IAppConfig {
|
|||
foreach ($rows as $row) {
|
||||
// most of the time, 'lazy' is not in the select because its value is already known
|
||||
if (($row['lazy'] ?? ($lazy ?? 0) ? 1 : 0) === 1) {
|
||||
$cache = &$this->lazyCache;
|
||||
$this->lazyCache[$row['appid']][$row['configkey']] = $row['configvalue'] ?? '';
|
||||
} else {
|
||||
$cache = &$this->fastCache;
|
||||
$this->fastCache[$row['appid']][$row['configkey']] = $row['configvalue'] ?? '';
|
||||
}
|
||||
$cache[$row['appid']][$row['configkey']] = $row['configvalue'] ?? '';
|
||||
$this->valueTypes[$row['appid']][$row['configkey']] = (int)($row['type'] ?? 0);
|
||||
}
|
||||
$result->closeCursor();
|
||||
|
|
|
|||
|
|
@ -57,12 +57,12 @@ use Symfony\Component\HttpFoundation\IpUtils;
|
|||
* Class for accessing variables in the request.
|
||||
* This class provides an immutable object with request variables.
|
||||
*
|
||||
* @property mixed[] cookies
|
||||
* @property mixed[] env
|
||||
* @property mixed[] files
|
||||
* @property string method
|
||||
* @property mixed[] parameters
|
||||
* @property mixed[] server
|
||||
* @property mixed[] $cookies
|
||||
* @property mixed[] $env
|
||||
* @property mixed[] $files
|
||||
* @property string $method
|
||||
* @property mixed[] $parameters
|
||||
* @property mixed[] $server
|
||||
* @template-implements \ArrayAccess<string,mixed>
|
||||
*/
|
||||
class Request implements \ArrayAccess, \Countable, IRequest {
|
||||
|
|
|
|||
|
|
@ -228,8 +228,8 @@ class SimpleContainer implements ArrayAccess, ContainerInterface, IContainer {
|
|||
/**
|
||||
* @deprecated 20.0.0 use \OCP\IContainer::registerService
|
||||
*/
|
||||
public function offsetSet($id, $service): void {
|
||||
$this->container->offsetSet($id, $service);
|
||||
public function offsetSet($offset, $value): void {
|
||||
$this->container->offsetSet($offset, $value);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -48,15 +48,9 @@ class TAR extends Archive {
|
|||
*/
|
||||
private $cachedHeaders = false;
|
||||
|
||||
/**
|
||||
* @var \Archive_Tar
|
||||
*/
|
||||
private $tar = null;
|
||||
private \Archive_Tar $tar;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
private $path;
|
||||
private string $path;
|
||||
|
||||
public function __construct(string $source) {
|
||||
$types = [null, 'gz', 'bz2'];
|
||||
|
|
@ -137,7 +131,7 @@ class TAR extends Archive {
|
|||
$tmp = \OC::$server->getTempManager()->getTemporaryFolder();
|
||||
$this->tar->extract($tmp);
|
||||
rename($tmp . $source, $tmp . $dest);
|
||||
$this->tar = null;
|
||||
$this->tar->_close();
|
||||
unlink($this->path);
|
||||
$types = [null, 'gz', 'bz'];
|
||||
$this->tar = new \Archive_Tar($this->path, $types[self::getTarType($this->path)]);
|
||||
|
|
@ -209,11 +203,16 @@ class TAR extends Archive {
|
|||
* get all files in the archive
|
||||
*/
|
||||
public function getFiles(): array {
|
||||
if ($this->fileList) {
|
||||
if ($this->fileList !== false) {
|
||||
return $this->fileList;
|
||||
}
|
||||
if (!$this->cachedHeaders) {
|
||||
$this->cachedHeaders = $this->tar->listContent();
|
||||
if ($this->cachedHeaders === false) {
|
||||
$headers = $this->tar->listContent();
|
||||
if (is_array($headers)) {
|
||||
$this->cachedHeaders = $headers;
|
||||
} else {
|
||||
return [];
|
||||
}
|
||||
}
|
||||
$files = [];
|
||||
foreach ($this->cachedHeaders as $header) {
|
||||
|
|
@ -230,6 +229,7 @@ class TAR extends Archive {
|
|||
*/
|
||||
public function getFile(string $path) {
|
||||
$string = $this->tar->extractInString($path);
|
||||
/** @var ?string $string */
|
||||
if (is_string($string)) {
|
||||
return $string;
|
||||
} else {
|
||||
|
|
@ -300,7 +300,6 @@ class TAR extends Archive {
|
|||
$tmp = \OC::$server->getTempManager()->getTemporaryFolder();
|
||||
$this->tar->extract($tmp);
|
||||
\OCP\Files::rmdirr($tmp . $path);
|
||||
$this->tar = null;
|
||||
unlink($this->path);
|
||||
$this->reopen();
|
||||
$this->tar->createModify([$tmp], '', $tmp);
|
||||
|
|
@ -347,10 +346,7 @@ class TAR extends Archive {
|
|||
* reopen the archive to ensure everything is written
|
||||
*/
|
||||
private function reopen(): void {
|
||||
if ($this->tar) {
|
||||
$this->tar->_close();
|
||||
$this->tar = null;
|
||||
}
|
||||
$this->tar->_close();
|
||||
$types = [null, 'gz', 'bz'];
|
||||
$this->tar = new \Archive_Tar($this->path, $types[self::getTarType($this->path)]);
|
||||
}
|
||||
|
|
@ -359,7 +355,7 @@ class TAR extends Archive {
|
|||
* Get error object from archive_tar.
|
||||
*/
|
||||
public function getError(): ?\PEAR_Error {
|
||||
if ($this->tar instanceof \Archive_Tar && $this->tar->error_object instanceof \PEAR_Error) {
|
||||
if ($this->tar->error_object instanceof \PEAR_Error) {
|
||||
return $this->tar->error_object;
|
||||
}
|
||||
return null;
|
||||
|
|
|
|||
|
|
@ -975,14 +975,10 @@ class QueryBuilder implements IQueryBuilder {
|
|||
*
|
||||
* @return $this This QueryBuilder instance.
|
||||
*/
|
||||
public function addGroupBy(...$groupBys) {
|
||||
if (count($groupBys) === 1 && is_array($groupBys[0])) {
|
||||
$$groupBys = $groupBys[0];
|
||||
}
|
||||
|
||||
public function addGroupBy(...$groupBy) {
|
||||
call_user_func_array(
|
||||
[$this->queryBuilder, 'addGroupBy'],
|
||||
$this->helper->quoteColumnNames($groupBys)
|
||||
$this->helper->quoteColumnNames($groupBy)
|
||||
);
|
||||
|
||||
return $this;
|
||||
|
|
|
|||
|
|
@ -297,10 +297,9 @@ class Manager implements IManager {
|
|||
}
|
||||
|
||||
/**
|
||||
* @param $userId
|
||||
* @param $fileId
|
||||
* @param null $filePath
|
||||
* @return Node
|
||||
* @param string $userId
|
||||
* @param int $fileId
|
||||
* @param ?string $filePath
|
||||
* @throws NotFoundException
|
||||
*/
|
||||
public function getFileForToken($userId, $fileId, $filePath = null): Node {
|
||||
|
|
|
|||
|
|
@ -524,6 +524,7 @@ class Local extends \OC\Files\Storage\Common {
|
|||
$realPath = realpath($pathToResolve);
|
||||
while ($realPath === false) { // for non existing files check the parent directory
|
||||
$currentPath = dirname($currentPath);
|
||||
/** @psalm-suppress TypeDoesNotContainType Let's be extra cautious and still check for empty string */
|
||||
if ($currentPath === '' || $currentPath === '.') {
|
||||
return $fullPath;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -56,32 +56,19 @@ class Detection implements IMimeTypeDetector {
|
|||
private const CUSTOM_MIMETYPEMAPPING = 'mimetypemapping.json';
|
||||
private const CUSTOM_MIMETYPEALIASES = 'mimetypealiases.json';
|
||||
|
||||
protected $mimetypes = [];
|
||||
protected $secureMimeTypes = [];
|
||||
protected array $mimetypes = [];
|
||||
protected array $secureMimeTypes = [];
|
||||
|
||||
protected $mimetypeIcons = [];
|
||||
/** @var string[] */
|
||||
protected $mimeTypeAlias = [];
|
||||
protected array $mimetypeIcons = [];
|
||||
/** @var array<string,string> */
|
||||
protected array $mimeTypeAlias = [];
|
||||
|
||||
/** @var IURLGenerator */
|
||||
private $urlGenerator;
|
||||
|
||||
private LoggerInterface $logger;
|
||||
|
||||
/** @var string */
|
||||
private $customConfigDir;
|
||||
|
||||
/** @var string */
|
||||
private $defaultConfigDir;
|
||||
|
||||
public function __construct(IURLGenerator $urlGenerator,
|
||||
LoggerInterface $logger,
|
||||
string $customConfigDir,
|
||||
string $defaultConfigDir) {
|
||||
$this->urlGenerator = $urlGenerator;
|
||||
$this->logger = $logger;
|
||||
$this->customConfigDir = $customConfigDir;
|
||||
$this->defaultConfigDir = $defaultConfigDir;
|
||||
public function __construct(
|
||||
private IURLGenerator $urlGenerator,
|
||||
private LoggerInterface $logger,
|
||||
private string $customConfigDir,
|
||||
private string $defaultConfigDir,
|
||||
) {
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -151,7 +138,7 @@ class Detection implements IMimeTypeDetector {
|
|||
}
|
||||
|
||||
/**
|
||||
* @return string[]
|
||||
* @return array<string,string>
|
||||
*/
|
||||
public function getAllAliases(): array {
|
||||
$this->loadAliases();
|
||||
|
|
|
|||
|
|
@ -98,26 +98,15 @@ class Manager extends PublicEmitter implements IGroupManager {
|
|||
$this->logger = $logger;
|
||||
$this->displayNameCache = new DisplayNameCache($cacheFactory, $this);
|
||||
|
||||
$cachedGroups = &$this->cachedGroups;
|
||||
$cachedUserGroups = &$this->cachedUserGroups;
|
||||
$this->listen('\OC\Group', 'postDelete', function ($group) use (&$cachedGroups, &$cachedUserGroups) {
|
||||
/**
|
||||
* @var \OC\Group\Group $group
|
||||
*/
|
||||
unset($cachedGroups[$group->getGID()]);
|
||||
$cachedUserGroups = [];
|
||||
$this->listen('\OC\Group', 'postDelete', function (IGroup $group): void {
|
||||
unset($this->cachedGroups[$group->getGID()]);
|
||||
$this->cachedUserGroups = [];
|
||||
});
|
||||
$this->listen('\OC\Group', 'postAddUser', function ($group) use (&$cachedUserGroups) {
|
||||
/**
|
||||
* @var \OC\Group\Group $group
|
||||
*/
|
||||
$cachedUserGroups = [];
|
||||
$this->listen('\OC\Group', 'postAddUser', function (IGroup $group): void {
|
||||
$this->cachedUserGroups = [];
|
||||
});
|
||||
$this->listen('\OC\Group', 'postRemoveUser', function ($group) use (&$cachedUserGroups) {
|
||||
/**
|
||||
* @var \OC\Group\Group $group
|
||||
*/
|
||||
$cachedUserGroups = [];
|
||||
$this->listen('\OC\Group', 'postRemoveUser', function (IGroup $group): void {
|
||||
$this->cachedUserGroups = [];
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ class MimeIconProvider implements IMimeIconProvider {
|
|||
$aliases = $this->mimetypeDetector->getAllAliases();
|
||||
|
||||
// Remove comments
|
||||
$aliases = array_filter($aliases, static function ($key) {
|
||||
$aliases = array_filter($aliases, static function (string $key) {
|
||||
return !($key === '' || $key[0] === '_');
|
||||
}, ARRAY_FILTER_USE_KEY);
|
||||
|
||||
|
|
|
|||
|
|
@ -91,27 +91,23 @@ class Share implements IShare {
|
|||
/** @var string */
|
||||
private $label = '';
|
||||
|
||||
/** @var IRootFolder */
|
||||
private $rootFolder;
|
||||
|
||||
/** @var IUserManager */
|
||||
private $userManager;
|
||||
|
||||
/** @var ICacheEntry|null */
|
||||
private $nodeCacheEntry;
|
||||
|
||||
/** @var bool */
|
||||
private $hideDownload = false;
|
||||
|
||||
public function __construct(IRootFolder $rootFolder, IUserManager $userManager) {
|
||||
$this->rootFolder = $rootFolder;
|
||||
$this->userManager = $userManager;
|
||||
public function __construct(
|
||||
private IRootFolder $rootFolder,
|
||||
private IUserManager $userManager,
|
||||
) {
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
public function setId($id) {
|
||||
/** @var mixed $id Let's be safe until strong typing */
|
||||
if (is_int($id)) {
|
||||
$id = (string)$id;
|
||||
}
|
||||
|
|
@ -538,7 +534,7 @@ class Share implements IShare {
|
|||
/**
|
||||
* Set the parent of this share
|
||||
*
|
||||
* @param int parent
|
||||
* @param int $parent
|
||||
* @return IShare
|
||||
* @deprecated The new shares do not have parents. This is just here for legacy reasons.
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -79,35 +79,26 @@ class Manager extends PublicEmitter implements IUserManager {
|
|||
/**
|
||||
* @var \OCP\UserInterface[] $backends
|
||||
*/
|
||||
private $backends = [];
|
||||
private array $backends = [];
|
||||
|
||||
/**
|
||||
* @var \OC\User\User[] $cachedUsers
|
||||
* @var array<string,\OC\User\User> $cachedUsers
|
||||
*/
|
||||
private $cachedUsers = [];
|
||||
private array $cachedUsers = [];
|
||||
|
||||
/** @var IConfig */
|
||||
private $config;
|
||||
|
||||
/** @var ICache */
|
||||
private $cache;
|
||||
|
||||
/** @var IEventDispatcher */
|
||||
private $eventDispatcher;
|
||||
private ICache $cache;
|
||||
|
||||
private DisplayNameCache $displayNameCache;
|
||||
|
||||
public function __construct(IConfig $config,
|
||||
public function __construct(
|
||||
private IConfig $config,
|
||||
ICacheFactory $cacheFactory,
|
||||
IEventDispatcher $eventDispatcher) {
|
||||
$this->config = $config;
|
||||
private IEventDispatcher $eventDispatcher,
|
||||
) {
|
||||
$this->cache = new WithLocalCache($cacheFactory->createDistributed('user_backend_map'));
|
||||
$cachedUsers = &$this->cachedUsers;
|
||||
$this->listen('\OC\User', 'postDelete', function ($user) use (&$cachedUsers) {
|
||||
/** @var \OC\User\User $user */
|
||||
unset($cachedUsers[$user->getUID()]);
|
||||
$this->listen('\OC\User', 'postDelete', function (IUser $user): void {
|
||||
unset($this->cachedUsers[$user->getUID()]);
|
||||
});
|
||||
$this->eventDispatcher = $eventDispatcher;
|
||||
$this->displayNameCache = new DisplayNameCache($cacheFactory, $this);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -104,7 +104,7 @@ class OC_Files {
|
|||
* return the content of a file or return a zip file containing multiple files
|
||||
*
|
||||
* @param string $dir
|
||||
* @param string $files ; separated list of files to download
|
||||
* @param string|array $files ; separated list of files to download
|
||||
* @param array $params ; 'head' boolean to only send header of the request ; 'range' http range header
|
||||
*/
|
||||
public static function get($dir, $files, $params = null) {
|
||||
|
|
|
|||
|
|
@ -138,7 +138,7 @@ class OC_Helper {
|
|||
|
||||
$bytes = (float)$str;
|
||||
|
||||
if (preg_match('#([kmgtp]?b?)$#si', $str, $matches) && !empty($bytes_array[$matches[1]])) {
|
||||
if (preg_match('#([kmgtp]?b?)$#si', $str, $matches) && isset($bytes_array[$matches[1]])) {
|
||||
$bytes *= $bytes_array[$matches[1]];
|
||||
} else {
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -84,7 +84,7 @@ interface IMimeTypeDetector {
|
|||
public function mimeTypeIcon($mimeType);
|
||||
|
||||
/**
|
||||
* @return string[]
|
||||
* @return array<string,string>
|
||||
* @since 28.0.0
|
||||
*/
|
||||
public function getAllAliases(): array;
|
||||
|
|
|
|||
|
|
@ -587,6 +587,7 @@ interface IShare {
|
|||
* Set the cache entry for the shared node
|
||||
*
|
||||
* @param ICacheEntry $entry
|
||||
* @return void
|
||||
* @since 11.0.0
|
||||
*/
|
||||
public function setNodeCacheEntry(ICacheEntry $entry);
|
||||
|
|
|
|||
401
vendor-bin/psalm/composer.lock
generated
401
vendor-bin/psalm/composer.lock
generated
|
|
@ -8,16 +8,16 @@
|
|||
"packages": [
|
||||
{
|
||||
"name": "amphp/amp",
|
||||
"version": "v2.6.2",
|
||||
"version": "v2.6.4",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/amphp/amp.git",
|
||||
"reference": "9d5100cebffa729aaffecd3ad25dc5aeea4f13bb"
|
||||
"reference": "ded3d9be08f526089eb7ee8d9f16a9768f9dec2d"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/amphp/amp/zipball/9d5100cebffa729aaffecd3ad25dc5aeea4f13bb",
|
||||
"reference": "9d5100cebffa729aaffecd3ad25dc5aeea4f13bb",
|
||||
"url": "https://api.github.com/repos/amphp/amp/zipball/ded3d9be08f526089eb7ee8d9f16a9768f9dec2d",
|
||||
"reference": "ded3d9be08f526089eb7ee8d9f16a9768f9dec2d",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -29,8 +29,8 @@
|
|||
"ext-json": "*",
|
||||
"jetbrains/phpstorm-stubs": "^2019.3",
|
||||
"phpunit/phpunit": "^7 | ^8 | ^9",
|
||||
"psalm/phar": "^3.11@dev",
|
||||
"react/promise": "^2"
|
||||
"react/promise": "^2",
|
||||
"vimeo/psalm": "^3.12"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
|
|
@ -85,7 +85,7 @@
|
|||
"support": {
|
||||
"irc": "irc://irc.freenode.org/amphp",
|
||||
"issues": "https://github.com/amphp/amp/issues",
|
||||
"source": "https://github.com/amphp/amp/tree/v2.6.2"
|
||||
"source": "https://github.com/amphp/amp/tree/v2.6.4"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
|
|
@ -93,7 +93,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2022-02-20T17:52:18+00:00"
|
||||
"time": "2024-03-21T18:52:26+00:00"
|
||||
},
|
||||
{
|
||||
"name": "amphp/byte-stream",
|
||||
|
|
@ -174,16 +174,16 @@
|
|||
},
|
||||
{
|
||||
"name": "composer/pcre",
|
||||
"version": "3.0.2",
|
||||
"version": "3.1.3",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/composer/pcre.git",
|
||||
"reference": "4482b6409ca6bfc2af043a5711cd21ac3e7a8dfb"
|
||||
"reference": "5b16e25a5355f1f3afdfc2f954a0a80aec4826a8"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/composer/pcre/zipball/4482b6409ca6bfc2af043a5711cd21ac3e7a8dfb",
|
||||
"reference": "4482b6409ca6bfc2af043a5711cd21ac3e7a8dfb",
|
||||
"url": "https://api.github.com/repos/composer/pcre/zipball/5b16e25a5355f1f3afdfc2f954a0a80aec4826a8",
|
||||
"reference": "5b16e25a5355f1f3afdfc2f954a0a80aec4826a8",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -225,7 +225,7 @@
|
|||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/composer/pcre/issues",
|
||||
"source": "https://github.com/composer/pcre/tree/3.0.2"
|
||||
"source": "https://github.com/composer/pcre/tree/3.1.3"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
|
|
@ -241,20 +241,20 @@
|
|||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2022-11-03T20:24:16+00:00"
|
||||
"time": "2024-03-19T10:26:25+00:00"
|
||||
},
|
||||
{
|
||||
"name": "composer/semver",
|
||||
"version": "3.3.2",
|
||||
"version": "3.4.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/composer/semver.git",
|
||||
"reference": "3953f23262f2bff1919fc82183ad9acb13ff62c9"
|
||||
"reference": "35e8d0af4486141bc745f23a29cc2091eb624a32"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/composer/semver/zipball/3953f23262f2bff1919fc82183ad9acb13ff62c9",
|
||||
"reference": "3953f23262f2bff1919fc82183ad9acb13ff62c9",
|
||||
"url": "https://api.github.com/repos/composer/semver/zipball/35e8d0af4486141bc745f23a29cc2091eb624a32",
|
||||
"reference": "35e8d0af4486141bc745f23a29cc2091eb624a32",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -304,9 +304,9 @@
|
|||
"versioning"
|
||||
],
|
||||
"support": {
|
||||
"irc": "irc://irc.freenode.org/composer",
|
||||
"irc": "ircs://irc.libera.chat:6697/composer",
|
||||
"issues": "https://github.com/composer/semver/issues",
|
||||
"source": "https://github.com/composer/semver/tree/3.3.2"
|
||||
"source": "https://github.com/composer/semver/tree/3.4.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
|
|
@ -322,20 +322,20 @@
|
|||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2022-04-01T19:23:25+00:00"
|
||||
"time": "2023-08-31T09:50:34+00:00"
|
||||
},
|
||||
{
|
||||
"name": "composer/xdebug-handler",
|
||||
"version": "3.0.3",
|
||||
"version": "3.0.4",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/composer/xdebug-handler.git",
|
||||
"reference": "ced299686f41dce890debac69273b47ffe98a40c"
|
||||
"reference": "4f988f8fdf580d53bdb2d1278fe93d1ed5462255"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/composer/xdebug-handler/zipball/ced299686f41dce890debac69273b47ffe98a40c",
|
||||
"reference": "ced299686f41dce890debac69273b47ffe98a40c",
|
||||
"url": "https://api.github.com/repos/composer/xdebug-handler/zipball/4f988f8fdf580d53bdb2d1278fe93d1ed5462255",
|
||||
"reference": "4f988f8fdf580d53bdb2d1278fe93d1ed5462255",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -346,7 +346,7 @@
|
|||
"require-dev": {
|
||||
"phpstan/phpstan": "^1.0",
|
||||
"phpstan/phpstan-strict-rules": "^1.1",
|
||||
"symfony/phpunit-bridge": "^6.0"
|
||||
"phpunit/phpunit": "^8.5 || ^9.6 || ^10.5"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
|
|
@ -370,9 +370,9 @@
|
|||
"performance"
|
||||
],
|
||||
"support": {
|
||||
"irc": "irc://irc.freenode.org/composer",
|
||||
"irc": "ircs://irc.libera.chat:6697/composer",
|
||||
"issues": "https://github.com/composer/xdebug-handler/issues",
|
||||
"source": "https://github.com/composer/xdebug-handler/tree/3.0.3"
|
||||
"source": "https://github.com/composer/xdebug-handler/tree/3.0.4"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
|
|
@ -388,7 +388,7 @@
|
|||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2022-02-25T21:32:43+00:00"
|
||||
"time": "2024-03-26T18:29:49+00:00"
|
||||
},
|
||||
{
|
||||
"name": "dnoegel/php-xdg-base-dir",
|
||||
|
|
@ -427,6 +427,53 @@
|
|||
},
|
||||
"time": "2019-12-04T15:06:13+00:00"
|
||||
},
|
||||
{
|
||||
"name": "doctrine/deprecations",
|
||||
"version": "1.1.3",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/doctrine/deprecations.git",
|
||||
"reference": "dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/doctrine/deprecations/zipball/dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab",
|
||||
"reference": "dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": "^7.1 || ^8.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"doctrine/coding-standard": "^9",
|
||||
"phpstan/phpstan": "1.4.10 || 1.10.15",
|
||||
"phpstan/phpstan-phpunit": "^1.0",
|
||||
"phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
|
||||
"psalm/plugin-phpunit": "0.18.4",
|
||||
"psr/log": "^1 || ^2 || ^3",
|
||||
"vimeo/psalm": "4.30.0 || 5.12.0"
|
||||
},
|
||||
"suggest": {
|
||||
"psr/log": "Allows logging deprecations via PSR-3 logger implementation"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Doctrine\\Deprecations\\": "lib/Doctrine/Deprecations"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"description": "A small layer on top of trigger_error(E_USER_DEPRECATED) or PSR-3 logging with options to disable all deprecations or selectively for packages.",
|
||||
"homepage": "https://www.doctrine-project.org/",
|
||||
"support": {
|
||||
"issues": "https://github.com/doctrine/deprecations/issues",
|
||||
"source": "https://github.com/doctrine/deprecations/tree/1.1.3"
|
||||
},
|
||||
"time": "2024-01-30T19:34:25+00:00"
|
||||
},
|
||||
{
|
||||
"name": "felixfbecker/advanced-json-rpc",
|
||||
"version": "v3.2.1",
|
||||
|
|
@ -530,16 +577,16 @@
|
|||
},
|
||||
{
|
||||
"name": "fidry/cpu-core-counter",
|
||||
"version": "0.5.1",
|
||||
"version": "1.1.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/theofidry/cpu-core-counter.git",
|
||||
"reference": "b58e5a3933e541dc286cc91fc4f3898bbc6f1623"
|
||||
"reference": "f92996c4d5c1a696a6a970e20f7c4216200fcc42"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/theofidry/cpu-core-counter/zipball/b58e5a3933e541dc286cc91fc4f3898bbc6f1623",
|
||||
"reference": "b58e5a3933e541dc286cc91fc4f3898bbc6f1623",
|
||||
"url": "https://api.github.com/repos/theofidry/cpu-core-counter/zipball/f92996c4d5c1a696a6a970e20f7c4216200fcc42",
|
||||
"reference": "f92996c4d5c1a696a6a970e20f7c4216200fcc42",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -547,13 +594,13 @@
|
|||
},
|
||||
"require-dev": {
|
||||
"fidry/makefile": "^0.2.0",
|
||||
"fidry/php-cs-fixer-config": "^1.1.2",
|
||||
"phpstan/extension-installer": "^1.2.0",
|
||||
"phpstan/phpstan": "^1.9.2",
|
||||
"phpstan/phpstan-deprecation-rules": "^1.0.0",
|
||||
"phpstan/phpstan-phpunit": "^1.2.2",
|
||||
"phpstan/phpstan-strict-rules": "^1.4.4",
|
||||
"phpunit/phpunit": "^9.5.26 || ^8.5.31",
|
||||
"theofidry/php-cs-fixer-config": "^1.0",
|
||||
"phpunit/phpunit": "^8.5.31 || ^9.5.26",
|
||||
"webmozarts/strict-phpunit": "^7.5"
|
||||
},
|
||||
"type": "library",
|
||||
|
|
@ -579,7 +626,7 @@
|
|||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/theofidry/cpu-core-counter/issues",
|
||||
"source": "https://github.com/theofidry/cpu-core-counter/tree/0.5.1"
|
||||
"source": "https://github.com/theofidry/cpu-core-counter/tree/1.1.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
|
|
@ -587,20 +634,20 @@
|
|||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2022-12-24T12:35:10+00:00"
|
||||
"time": "2024-02-07T09:43:46+00:00"
|
||||
},
|
||||
{
|
||||
"name": "netresearch/jsonmapper",
|
||||
"version": "v4.0.0",
|
||||
"version": "v4.4.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/cweiske/jsonmapper.git",
|
||||
"reference": "8bbc021a8edb2e4a7ea2f8ad4fa9ec9dce2fcb8d"
|
||||
"reference": "132c75c7dd83e45353ebb9c6c9f591952995bbf0"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/cweiske/jsonmapper/zipball/8bbc021a8edb2e4a7ea2f8ad4fa9ec9dce2fcb8d",
|
||||
"reference": "8bbc021a8edb2e4a7ea2f8ad4fa9ec9dce2fcb8d",
|
||||
"url": "https://api.github.com/repos/cweiske/jsonmapper/zipball/132c75c7dd83e45353ebb9c6c9f591952995bbf0",
|
||||
"reference": "132c75c7dd83e45353ebb9c6c9f591952995bbf0",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -611,7 +658,7 @@
|
|||
"php": ">=7.1"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "~7.5 || ~8.0 || ~9.0",
|
||||
"phpunit/phpunit": "~7.5 || ~8.0 || ~9.0 || ~10.0",
|
||||
"squizlabs/php_codesniffer": "~3.5"
|
||||
},
|
||||
"type": "library",
|
||||
|
|
@ -636,27 +683,27 @@
|
|||
"support": {
|
||||
"email": "cweiske@cweiske.de",
|
||||
"issues": "https://github.com/cweiske/jsonmapper/issues",
|
||||
"source": "https://github.com/cweiske/jsonmapper/tree/v4.0.0"
|
||||
"source": "https://github.com/cweiske/jsonmapper/tree/v4.4.1"
|
||||
},
|
||||
"time": "2020-12-01T19:48:11+00:00"
|
||||
"time": "2024-01-31T06:18:54+00:00"
|
||||
},
|
||||
{
|
||||
"name": "nikic/php-parser",
|
||||
"version": "v4.15.1",
|
||||
"version": "v4.19.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/nikic/PHP-Parser.git",
|
||||
"reference": "0ef6c55a3f47f89d7a374e6f835197a0b5fcf900"
|
||||
"reference": "4e1b88d21c69391150ace211e9eaf05810858d0b"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/0ef6c55a3f47f89d7a374e6f835197a0b5fcf900",
|
||||
"reference": "0ef6c55a3f47f89d7a374e6f835197a0b5fcf900",
|
||||
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/4e1b88d21c69391150ace211e9eaf05810858d0b",
|
||||
"reference": "4e1b88d21c69391150ace211e9eaf05810858d0b",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"ext-tokenizer": "*",
|
||||
"php": ">=7.0"
|
||||
"php": ">=7.1"
|
||||
},
|
||||
"require-dev": {
|
||||
"ircmaxell/php-yacc": "^0.0.7",
|
||||
|
|
@ -692,9 +739,9 @@
|
|||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/nikic/PHP-Parser/issues",
|
||||
"source": "https://github.com/nikic/PHP-Parser/tree/v4.15.1"
|
||||
"source": "https://github.com/nikic/PHP-Parser/tree/v4.19.1"
|
||||
},
|
||||
"time": "2022-09-04T07:30:47+00:00"
|
||||
"time": "2024-03-17T08:10:35+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpdocumentor/reflection-common",
|
||||
|
|
@ -808,24 +855,27 @@
|
|||
},
|
||||
{
|
||||
"name": "phpdocumentor/type-resolver",
|
||||
"version": "1.6.2",
|
||||
"version": "1.8.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/phpDocumentor/TypeResolver.git",
|
||||
"reference": "48f445a408c131e38cab1c235aa6d2bb7a0bb20d"
|
||||
"reference": "153ae662783729388a584b4361f2545e4d841e3c"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/48f445a408c131e38cab1c235aa6d2bb7a0bb20d",
|
||||
"reference": "48f445a408c131e38cab1c235aa6d2bb7a0bb20d",
|
||||
"url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/153ae662783729388a584b4361f2545e4d841e3c",
|
||||
"reference": "153ae662783729388a584b4361f2545e4d841e3c",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": "^7.4 || ^8.0",
|
||||
"phpdocumentor/reflection-common": "^2.0"
|
||||
"doctrine/deprecations": "^1.0",
|
||||
"php": "^7.3 || ^8.0",
|
||||
"phpdocumentor/reflection-common": "^2.0",
|
||||
"phpstan/phpdoc-parser": "^1.13"
|
||||
},
|
||||
"require-dev": {
|
||||
"ext-tokenizer": "*",
|
||||
"phpbench/phpbench": "^1.2",
|
||||
"phpstan/extension-installer": "^1.1",
|
||||
"phpstan/phpstan": "^1.8",
|
||||
"phpstan/phpstan-phpunit": "^1.1",
|
||||
|
|
@ -857,9 +907,56 @@
|
|||
"description": "A PSR-5 based resolver of Class names, Types and Structural Element Names",
|
||||
"support": {
|
||||
"issues": "https://github.com/phpDocumentor/TypeResolver/issues",
|
||||
"source": "https://github.com/phpDocumentor/TypeResolver/tree/1.6.2"
|
||||
"source": "https://github.com/phpDocumentor/TypeResolver/tree/1.8.2"
|
||||
},
|
||||
"time": "2022-10-14T12:47:21+00:00"
|
||||
"time": "2024-02-23T11:10:43+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpstan/phpdoc-parser",
|
||||
"version": "1.27.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/phpstan/phpdoc-parser.git",
|
||||
"reference": "86e4d5a4b036f8f0be1464522f4c6b584c452757"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/86e4d5a4b036f8f0be1464522f4c6b584c452757",
|
||||
"reference": "86e4d5a4b036f8f0be1464522f4c6b584c452757",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": "^7.2 || ^8.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"doctrine/annotations": "^2.0",
|
||||
"nikic/php-parser": "^4.15",
|
||||
"php-parallel-lint/php-parallel-lint": "^1.2",
|
||||
"phpstan/extension-installer": "^1.0",
|
||||
"phpstan/phpstan": "^1.5",
|
||||
"phpstan/phpstan-phpunit": "^1.1",
|
||||
"phpstan/phpstan-strict-rules": "^1.0",
|
||||
"phpunit/phpunit": "^9.5",
|
||||
"symfony/process": "^5.2"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"PHPStan\\PhpDocParser\\": [
|
||||
"src/"
|
||||
]
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"description": "PHPDoc parser with support for nullable, intersection and generic types",
|
||||
"support": {
|
||||
"issues": "https://github.com/phpstan/phpdoc-parser/issues",
|
||||
"source": "https://github.com/phpstan/phpdoc-parser/tree/1.27.0"
|
||||
},
|
||||
"time": "2024-03-21T13:14:53+00:00"
|
||||
},
|
||||
{
|
||||
"name": "psr/container",
|
||||
|
|
@ -961,16 +1058,16 @@
|
|||
},
|
||||
{
|
||||
"name": "sebastian/diff",
|
||||
"version": "4.0.4",
|
||||
"version": "4.0.6",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/sebastianbergmann/diff.git",
|
||||
"reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d"
|
||||
"reference": "ba01945089c3a293b01ba9badc29ad55b106b0bc"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/3461e3fccc7cfdfc2720be910d3bd73c69be590d",
|
||||
"reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/ba01945089c3a293b01ba9badc29ad55b106b0bc",
|
||||
"reference": "ba01945089c3a293b01ba9badc29ad55b106b0bc",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -1015,7 +1112,7 @@
|
|||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/sebastianbergmann/diff/issues",
|
||||
"source": "https://github.com/sebastianbergmann/diff/tree/4.0.4"
|
||||
"source": "https://github.com/sebastianbergmann/diff/tree/4.0.6"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
|
|
@ -1023,20 +1120,20 @@
|
|||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2020-10-26T13:10:38+00:00"
|
||||
"time": "2024-03-02T06:30:58+00:00"
|
||||
},
|
||||
{
|
||||
"name": "spatie/array-to-xml",
|
||||
"version": "3.1.5",
|
||||
"version": "3.2.3",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/spatie/array-to-xml.git",
|
||||
"reference": "13f76acef5362d15c71ae1ac6350cc3df5e25e43"
|
||||
"reference": "c95fd4db94ec199f798d4b5b4a81757bd20d88ab"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/spatie/array-to-xml/zipball/13f76acef5362d15c71ae1ac6350cc3df5e25e43",
|
||||
"reference": "13f76acef5362d15c71ae1ac6350cc3df5e25e43",
|
||||
"url": "https://api.github.com/repos/spatie/array-to-xml/zipball/c95fd4db94ec199f798d4b5b4a81757bd20d88ab",
|
||||
"reference": "c95fd4db94ec199f798d4b5b4a81757bd20d88ab",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -1074,7 +1171,7 @@
|
|||
"xml"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/spatie/array-to-xml/tree/3.1.5"
|
||||
"source": "https://github.com/spatie/array-to-xml/tree/3.2.3"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
|
|
@ -1086,20 +1183,20 @@
|
|||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2022-12-24T13:43:51+00:00"
|
||||
"time": "2024-02-07T10:39:02+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/console",
|
||||
"version": "v5.4.15",
|
||||
"version": "v5.4.36",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/console.git",
|
||||
"reference": "ea59bb0edfaf9f28d18d8791410ee0355f317669"
|
||||
"reference": "39f75d9d73d0c11952fdcecf4877b4d0f62a8f6e"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/console/zipball/ea59bb0edfaf9f28d18d8791410ee0355f317669",
|
||||
"reference": "ea59bb0edfaf9f28d18d8791410ee0355f317669",
|
||||
"url": "https://api.github.com/repos/symfony/console/zipball/39f75d9d73d0c11952fdcecf4877b4d0f62a8f6e",
|
||||
"reference": "39f75d9d73d0c11952fdcecf4877b4d0f62a8f6e",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -1164,12 +1261,12 @@
|
|||
"homepage": "https://symfony.com",
|
||||
"keywords": [
|
||||
"cli",
|
||||
"command line",
|
||||
"command-line",
|
||||
"console",
|
||||
"terminal"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/console/tree/v5.4.15"
|
||||
"source": "https://github.com/symfony/console/tree/v5.4.36"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
|
|
@ -1185,7 +1282,7 @@
|
|||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2022-10-26T21:41:52+00:00"
|
||||
"time": "2024-02-20T16:33:57+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/deprecation-contracts",
|
||||
|
|
@ -1256,16 +1353,16 @@
|
|||
},
|
||||
{
|
||||
"name": "symfony/filesystem",
|
||||
"version": "v5.4.21",
|
||||
"version": "v5.4.35",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/filesystem.git",
|
||||
"reference": "e75960b1bbfd2b8c9e483e0d74811d555ca3de9f"
|
||||
"reference": "5a553607d4ffbfa9c0ab62facadea296c9db7086"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/filesystem/zipball/e75960b1bbfd2b8c9e483e0d74811d555ca3de9f",
|
||||
"reference": "e75960b1bbfd2b8c9e483e0d74811d555ca3de9f",
|
||||
"url": "https://api.github.com/repos/symfony/filesystem/zipball/5a553607d4ffbfa9c0ab62facadea296c9db7086",
|
||||
"reference": "5a553607d4ffbfa9c0ab62facadea296c9db7086",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -1300,7 +1397,7 @@
|
|||
"description": "Provides basic utilities for the filesystem",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/filesystem/tree/v5.4.21"
|
||||
"source": "https://github.com/symfony/filesystem/tree/v5.4.35"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
|
|
@ -1316,20 +1413,20 @@
|
|||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2023-02-14T08:03:56+00:00"
|
||||
"time": "2024-01-23T13:51:25+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-ctype",
|
||||
"version": "v1.26.0",
|
||||
"version": "v1.29.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-ctype.git",
|
||||
"reference": "6fd1b9a79f6e3cf65f9e679b23af304cd9e010d4"
|
||||
"reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/6fd1b9a79f6e3cf65f9e679b23af304cd9e010d4",
|
||||
"reference": "6fd1b9a79f6e3cf65f9e679b23af304cd9e010d4",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ef4d7e442ca910c4764bce785146269b30cb5fc4",
|
||||
"reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -1343,9 +1440,6 @@
|
|||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-main": "1.26-dev"
|
||||
},
|
||||
"thanks": {
|
||||
"name": "symfony/polyfill",
|
||||
"url": "https://github.com/symfony/polyfill"
|
||||
|
|
@ -1382,7 +1476,7 @@
|
|||
"portable"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/polyfill-ctype/tree/v1.26.0"
|
||||
"source": "https://github.com/symfony/polyfill-ctype/tree/v1.29.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
|
|
@ -1398,20 +1492,20 @@
|
|||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2022-05-24T11:49:31+00:00"
|
||||
"time": "2024-01-29T20:11:03+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-intl-grapheme",
|
||||
"version": "v1.26.0",
|
||||
"version": "v1.29.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-intl-grapheme.git",
|
||||
"reference": "433d05519ce6990bf3530fba6957499d327395c2"
|
||||
"reference": "32a9da87d7b3245e09ac426c83d334ae9f06f80f"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/433d05519ce6990bf3530fba6957499d327395c2",
|
||||
"reference": "433d05519ce6990bf3530fba6957499d327395c2",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/32a9da87d7b3245e09ac426c83d334ae9f06f80f",
|
||||
"reference": "32a9da87d7b3245e09ac426c83d334ae9f06f80f",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -1422,9 +1516,6 @@
|
|||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-main": "1.26-dev"
|
||||
},
|
||||
"thanks": {
|
||||
"name": "symfony/polyfill",
|
||||
"url": "https://github.com/symfony/polyfill"
|
||||
|
|
@ -1463,7 +1554,7 @@
|
|||
"shim"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.26.0"
|
||||
"source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.29.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
|
|
@ -1479,20 +1570,20 @@
|
|||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2022-05-24T11:49:31+00:00"
|
||||
"time": "2024-01-29T20:11:03+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-intl-normalizer",
|
||||
"version": "v1.26.0",
|
||||
"version": "v1.29.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-intl-normalizer.git",
|
||||
"reference": "219aa369ceff116e673852dce47c3a41794c14bd"
|
||||
"reference": "bc45c394692b948b4d383a08d7753968bed9a83d"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/219aa369ceff116e673852dce47c3a41794c14bd",
|
||||
"reference": "219aa369ceff116e673852dce47c3a41794c14bd",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/bc45c394692b948b4d383a08d7753968bed9a83d",
|
||||
"reference": "bc45c394692b948b4d383a08d7753968bed9a83d",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -1503,9 +1594,6 @@
|
|||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-main": "1.26-dev"
|
||||
},
|
||||
"thanks": {
|
||||
"name": "symfony/polyfill",
|
||||
"url": "https://github.com/symfony/polyfill"
|
||||
|
|
@ -1547,7 +1635,7 @@
|
|||
"shim"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.26.0"
|
||||
"source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.29.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
|
|
@ -1563,20 +1651,20 @@
|
|||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2022-05-24T11:49:31+00:00"
|
||||
"time": "2024-01-29T20:11:03+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-mbstring",
|
||||
"version": "v1.26.0",
|
||||
"version": "v1.29.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-mbstring.git",
|
||||
"reference": "9344f9cb97f3b19424af1a21a3b0e75b0a7d8d7e"
|
||||
"reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9344f9cb97f3b19424af1a21a3b0e75b0a7d8d7e",
|
||||
"reference": "9344f9cb97f3b19424af1a21a3b0e75b0a7d8d7e",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9773676c8a1bb1f8d4340a62efe641cf76eda7ec",
|
||||
"reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -1590,9 +1678,6 @@
|
|||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-main": "1.26-dev"
|
||||
},
|
||||
"thanks": {
|
||||
"name": "symfony/polyfill",
|
||||
"url": "https://github.com/symfony/polyfill"
|
||||
|
|
@ -1630,7 +1715,7 @@
|
|||
"shim"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.26.0"
|
||||
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.29.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
|
|
@ -1646,20 +1731,20 @@
|
|||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2022-05-24T11:49:31+00:00"
|
||||
"time": "2024-01-29T20:11:03+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-php73",
|
||||
"version": "v1.26.0",
|
||||
"version": "v1.29.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-php73.git",
|
||||
"reference": "e440d35fa0286f77fb45b79a03fedbeda9307e85"
|
||||
"reference": "21bd091060673a1177ae842c0ef8fe30893114d2"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/e440d35fa0286f77fb45b79a03fedbeda9307e85",
|
||||
"reference": "e440d35fa0286f77fb45b79a03fedbeda9307e85",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/21bd091060673a1177ae842c0ef8fe30893114d2",
|
||||
"reference": "21bd091060673a1177ae842c0ef8fe30893114d2",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -1667,9 +1752,6 @@
|
|||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-main": "1.26-dev"
|
||||
},
|
||||
"thanks": {
|
||||
"name": "symfony/polyfill",
|
||||
"url": "https://github.com/symfony/polyfill"
|
||||
|
|
@ -1709,7 +1791,7 @@
|
|||
"shim"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/polyfill-php73/tree/v1.26.0"
|
||||
"source": "https://github.com/symfony/polyfill-php73/tree/v1.29.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
|
|
@ -1725,20 +1807,20 @@
|
|||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2022-05-24T11:49:31+00:00"
|
||||
"time": "2024-01-29T20:11:03+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-php80",
|
||||
"version": "v1.26.0",
|
||||
"version": "v1.29.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-php80.git",
|
||||
"reference": "cfa0ae98841b9e461207c13ab093d76b0fa7bace"
|
||||
"reference": "87b68208d5c1188808dd7839ee1e6c8ec3b02f1b"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/cfa0ae98841b9e461207c13ab093d76b0fa7bace",
|
||||
"reference": "cfa0ae98841b9e461207c13ab093d76b0fa7bace",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/87b68208d5c1188808dd7839ee1e6c8ec3b02f1b",
|
||||
"reference": "87b68208d5c1188808dd7839ee1e6c8ec3b02f1b",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -1746,9 +1828,6 @@
|
|||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-main": "1.26-dev"
|
||||
},
|
||||
"thanks": {
|
||||
"name": "symfony/polyfill",
|
||||
"url": "https://github.com/symfony/polyfill"
|
||||
|
|
@ -1792,7 +1871,7 @@
|
|||
"shim"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/polyfill-php80/tree/v1.26.0"
|
||||
"source": "https://github.com/symfony/polyfill-php80/tree/v1.29.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
|
|
@ -1808,7 +1887,7 @@
|
|||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2022-05-10T07:21:04+00:00"
|
||||
"time": "2024-01-29T20:11:03+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/service-contracts",
|
||||
|
|
@ -1895,16 +1974,16 @@
|
|||
},
|
||||
{
|
||||
"name": "symfony/string",
|
||||
"version": "v5.4.15",
|
||||
"version": "v5.4.36",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/string.git",
|
||||
"reference": "571334ce9f687e3e6af72db4d3b2a9431e4fd9ed"
|
||||
"reference": "4e232c83622bd8cd32b794216aa29d0d266d353b"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/string/zipball/571334ce9f687e3e6af72db4d3b2a9431e4fd9ed",
|
||||
"reference": "571334ce9f687e3e6af72db4d3b2a9431e4fd9ed",
|
||||
"url": "https://api.github.com/repos/symfony/string/zipball/4e232c83622bd8cd32b794216aa29d0d266d353b",
|
||||
"reference": "4e232c83622bd8cd32b794216aa29d0d266d353b",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -1961,7 +2040,7 @@
|
|||
"utf8"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/string/tree/v5.4.15"
|
||||
"source": "https://github.com/symfony/string/tree/v5.4.36"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
|
|
@ -1977,20 +2056,20 @@
|
|||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2022-10-05T15:16:54+00:00"
|
||||
"time": "2024-02-01T08:49:30+00:00"
|
||||
},
|
||||
{
|
||||
"name": "vimeo/psalm",
|
||||
"version": "5.9.0",
|
||||
"version": "5.23.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/vimeo/psalm.git",
|
||||
"reference": "8b9ad1eb9e8b7d3101f949291da2b9f7767cd163"
|
||||
"reference": "8471a896ccea3526b26d082f4461eeea467f10a4"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/vimeo/psalm/zipball/8b9ad1eb9e8b7d3101f949291da2b9f7767cd163",
|
||||
"reference": "8b9ad1eb9e8b7d3101f949291da2b9f7767cd163",
|
||||
"url": "https://api.github.com/repos/vimeo/psalm/zipball/8471a896ccea3526b26d082f4461eeea467f10a4",
|
||||
"reference": "8471a896ccea3526b26d082f4461eeea467f10a4",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -2009,14 +2088,17 @@
|
|||
"ext-tokenizer": "*",
|
||||
"felixfbecker/advanced-json-rpc": "^3.1",
|
||||
"felixfbecker/language-server-protocol": "^1.5.2",
|
||||
"fidry/cpu-core-counter": "^0.4.1 || ^0.5.1",
|
||||
"fidry/cpu-core-counter": "^0.4.1 || ^0.5.1 || ^1.0.0",
|
||||
"netresearch/jsonmapper": "^1.0 || ^2.0 || ^3.0 || ^4.0",
|
||||
"nikic/php-parser": "^4.14",
|
||||
"php": "^7.4 || ~8.0.0 || ~8.1.0 || ~8.2.0",
|
||||
"sebastian/diff": "^4.0 || ^5.0",
|
||||
"nikic/php-parser": "^4.16",
|
||||
"php": "^7.4 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0",
|
||||
"sebastian/diff": "^4.0 || ^5.0 || ^6.0",
|
||||
"spatie/array-to-xml": "^2.17.0 || ^3.0",
|
||||
"symfony/console": "^4.1.6 || ^5.0 || ^6.0",
|
||||
"symfony/filesystem": "^5.4 || ^6.0"
|
||||
"symfony/console": "^4.1.6 || ^5.0 || ^6.0 || ^7.0",
|
||||
"symfony/filesystem": "^5.4 || ^6.0 || ^7.0"
|
||||
},
|
||||
"conflict": {
|
||||
"nikic/php-parser": "4.17.0"
|
||||
},
|
||||
"provide": {
|
||||
"psalm/psalm": "self.version"
|
||||
|
|
@ -2035,7 +2117,7 @@
|
|||
"psalm/plugin-phpunit": "^0.18",
|
||||
"slevomat/coding-standard": "^8.4",
|
||||
"squizlabs/php_codesniffer": "^3.6",
|
||||
"symfony/process": "^4.4 || ^5.0 || ^6.0"
|
||||
"symfony/process": "^4.4 || ^5.0 || ^6.0 || ^7.0"
|
||||
},
|
||||
"suggest": {
|
||||
"ext-curl": "In order to send data to shepherd",
|
||||
|
|
@ -2048,7 +2130,7 @@
|
|||
"psalm-refactor",
|
||||
"psalter"
|
||||
],
|
||||
"type": "library",
|
||||
"type": "project",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "5.x-dev",
|
||||
|
|
@ -2080,10 +2162,11 @@
|
|||
"static analysis"
|
||||
],
|
||||
"support": {
|
||||
"docs": "https://psalm.dev/docs",
|
||||
"issues": "https://github.com/vimeo/psalm/issues",
|
||||
"source": "https://github.com/vimeo/psalm/tree/5.9.0"
|
||||
"source": "https://github.com/vimeo/psalm"
|
||||
},
|
||||
"time": "2023-03-29T21:38:21+00:00"
|
||||
"time": "2024-03-11T20:33:46+00:00"
|
||||
},
|
||||
{
|
||||
"name": "webmozart/assert",
|
||||
|
|
@ -2155,5 +2238,5 @@
|
|||
"platform-overrides": {
|
||||
"php": "8.0"
|
||||
},
|
||||
"plugin-api-version": "2.3.0"
|
||||
"plugin-api-version": "2.6.0"
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue