From e1c813978745cf3c2801d75154fc0cfc5f56e392 Mon Sep 17 00:00:00 2001 From: wh <382379437@qq.com> Date: Wed, 10 Jul 2024 22:28:45 +0800 Subject: [PATCH] fixed --- digital_doctor/composer.json | 4 +- digital_doctor/public/favicon.ico | Bin 33272 -> 0 bytes digital_doctor/vendor/autoload.php | 18 -- .../vendor/composer/ClassLoader.php | 139 +++++---- .../vendor/composer/InstalledVersions.php | 33 +-- .../vendor/composer/autoload_classmap.php | 2 +- .../vendor/composer/autoload_files.php | 2 +- .../vendor/composer/autoload_namespaces.php | 2 +- .../vendor/composer/autoload_psr4.php | 2 +- .../vendor/composer/autoload_real.php | 56 +++- digital_doctor/vendor/composer/installed.json | 20 +- digital_doctor/vendor/composer/installed.php | 20 +- .../topthink/think-worker/src/Application.php | 1 - .../topthink/think-worker/src/Events.php | 5 +- .../vendor/wanghua/general-utility-tools-php | 2 +- digital_doctor_admin/composer.json | 15 +- digital_doctor_admin/vendor/autoload.php | 18 -- .../vendor/composer/ClassLoader.php | 43 +-- .../vendor/composer/InstalledVersions.php | 33 +-- .../vendor/composer/autoload_classmap.php | 2 +- .../vendor/composer/autoload_files.php | 8 +- .../vendor/composer/autoload_namespaces.php | 2 +- .../vendor/composer/autoload_psr4.php | 7 +- .../vendor/composer/autoload_real.php | 56 +++- .../vendor/composer/autoload_static.php | 24 +- .../vendor/composer/installed.json | 265 +++++++++--------- .../vendor/composer/installed.php | 167 +++++------ .../vendor/monolog/monolog/CHANGELOG.md | 4 + .../vendor/monolog/monolog/composer.json | 4 +- .../monolog/src/Monolog/DateTimeImmutable.php | 2 + .../src/Monolog/Handler/FilterHandler.php | 2 +- .../Monolog/Handler/FingersCrossedHandler.php | 2 +- .../src/Monolog/Handler/SamplingHandler.php | 2 +- .../src/Monolog/Handler/Slack/SlackRecord.php | 2 +- .../Monolog/Handler/TelegramBotHandler.php | 12 +- .../monolog/monolog/src/Monolog/Logger.php | 2 +- .../src/Monolog/Processor/WebProcessor.php | 2 +- .../vendor/psr/http-factory/composer.json | 7 +- .../src/UploadedFileFactoryInterface.php | 12 +- .../cache-contracts/CacheInterface.php | 6 +- .../symfony/cache-contracts/CacheTrait.php | 4 +- .../vendor/symfony/cache-contracts/LICENSE | 2 +- .../symfony/cache/Adapter/PdoAdapter.php | 4 +- .../symfony/cache/Traits/RedisTrait.php | 32 +-- .../vendor/symfony/cache/composer.json | 2 +- .../symfony/deprecation-contracts/LICENSE | 2 +- .../EventDispatcherInterface.php | 2 +- .../event-dispatcher-contracts/LICENSE | 2 +- .../Debug/WrappedListener.php | 2 +- .../symfony/http-foundation/HeaderUtils.php | 6 +- .../symfony/http-foundation/ParameterBag.php | 2 +- .../http-foundation/RedirectResponse.php | 1 + .../symfony/http-foundation/composer.json | 2 +- .../symfony/polyfill-mbstring/Mbstring.php | 77 ++++- .../symfony/polyfill-mbstring/bootstrap.php | 8 + .../symfony/polyfill-mbstring/bootstrap80.php | 8 + .../vendor/wanghua/general-utility-tools-php | 1 + 57 files changed, 608 insertions(+), 554 deletions(-) delete mode 100644 digital_doctor/public/favicon.ico create mode 160000 digital_doctor_admin/vendor/wanghua/general-utility-tools-php diff --git a/digital_doctor/composer.json b/digital_doctor/composer.json index 776b7ad..22ec447 100644 --- a/digital_doctor/composer.json +++ b/digital_doctor/composer.json @@ -18,7 +18,7 @@ "require": { "php": ">=7.4", "topthink/framework": "5.1.*", - "topthink/think-worker": "^2.0", + "topthink/think-worker": "2.0.*", "workerman/gateway-worker": "^3.0", "wanghua/general-utility-tools-php": "dev-master", "ext-json": "*", @@ -42,7 +42,7 @@ "repositories": { "packagist": { "type": "composer", - "url": "https://packagist.org" + "url": "https://mirrors.huaweicloud.com/repository/php/" } } } diff --git a/digital_doctor/public/favicon.ico b/digital_doctor/public/favicon.ico deleted file mode 100644 index 1df8f5904e6672d0945618733870a5b1bb006ee3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33272 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

mplUS^Ex}4s+Oa>vIB3z4Z^(C%4c( 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 diff --git a/digital_doctor/vendor/autoload.php b/digital_doctor/vendor/autoload.php index bf8fd95..f0e2d36 100644 --- a/digital_doctor/vendor/autoload.php +++ b/digital_doctor/vendor/autoload.php @@ -2,24 +2,6 @@ // autoload.php @generated by Composer -if (PHP_VERSION_ID < 50600) { - if (!headers_sent()) { - header('HTTP/1.1 500 Internal Server Error'); - } - $err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; - if (!ini_get('display_errors')) { - if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { - fwrite(STDERR, $err); - } elseif (!headers_sent()) { - echo $err; - } - } - trigger_error( - $err, - E_USER_ERROR - ); -} - require_once __DIR__ . '/composer/autoload_real.php'; return ComposerAutoloaderInit296bd8a1d28e39d56dcd80ce7be249f3::getLoader(); diff --git a/digital_doctor/vendor/composer/ClassLoader.php b/digital_doctor/vendor/composer/ClassLoader.php index 7824d8f..afef3fa 100644 --- a/digital_doctor/vendor/composer/ClassLoader.php +++ b/digital_doctor/vendor/composer/ClassLoader.php @@ -42,37 +42,35 @@ namespace Composer\Autoload; */ class ClassLoader { - /** @var \Closure(string):void */ - private static $includeFile; - - /** @var string|null */ + /** @var ?string */ private $vendorDir; // PSR-4 /** - * @var array> + * @var array[] + * @psalm-var array> */ private $prefixLengthsPsr4 = array(); /** - * @var array> + * @var array[] + * @psalm-var array> */ private $prefixDirsPsr4 = array(); /** - * @var list + * @var array[] + * @psalm-var array */ private $fallbackDirsPsr4 = array(); // PSR-0 /** - * List of PSR-0 prefixes - * - * Structured as array('F (first letter)' => array('Foo\Bar (full prefix)' => array('path', 'path2'))) - * - * @var array>> + * @var array[] + * @psalm-var array> */ private $prefixesPsr0 = array(); /** - * @var list + * @var array[] + * @psalm-var array */ private $fallbackDirsPsr0 = array(); @@ -80,7 +78,8 @@ class ClassLoader private $useIncludePath = false; /** - * @var array + * @var string[] + * @psalm-var array */ private $classMap = array(); @@ -88,29 +87,29 @@ class ClassLoader private $classMapAuthoritative = false; /** - * @var array + * @var bool[] + * @psalm-var array */ private $missingClasses = array(); - /** @var string|null */ + /** @var ?string */ private $apcuPrefix; /** - * @var array + * @var self[] */ private static $registeredLoaders = array(); /** - * @param string|null $vendorDir + * @param ?string $vendorDir */ public function __construct($vendorDir = null) { $this->vendorDir = $vendorDir; - self::initializeIncludeClosure(); } /** - * @return array> + * @return string[] */ public function getPrefixes() { @@ -122,7 +121,8 @@ class ClassLoader } /** - * @return array> + * @return array[] + * @psalm-return array> */ public function getPrefixesPsr4() { @@ -130,7 +130,8 @@ class ClassLoader } /** - * @return list + * @return array[] + * @psalm-return array */ public function getFallbackDirs() { @@ -138,7 +139,8 @@ class ClassLoader } /** - * @return list + * @return array[] + * @psalm-return array */ public function getFallbackDirsPsr4() { @@ -146,7 +148,8 @@ class ClassLoader } /** - * @return array Array of classname => path + * @return string[] Array of classname => path + * @psalm-return array */ public function getClassMap() { @@ -154,7 +157,8 @@ class ClassLoader } /** - * @param array $classMap Class to filename map + * @param string[] $classMap Class to filename map + * @psalm-param array $classMap * * @return void */ @@ -171,25 +175,24 @@ class ClassLoader * Registers a set of PSR-0 directories for a given prefix, either * appending or prepending to the ones previously set for this prefix. * - * @param string $prefix The prefix - * @param list|string $paths The PSR-0 root directories - * @param bool $prepend Whether to prepend the directories + * @param string $prefix The prefix + * @param string[]|string $paths The PSR-0 root directories + * @param bool $prepend Whether to prepend the directories * * @return void */ public function add($prefix, $paths, $prepend = false) { - $paths = (array) $paths; if (!$prefix) { if ($prepend) { $this->fallbackDirsPsr0 = array_merge( - $paths, + (array) $paths, $this->fallbackDirsPsr0 ); } else { $this->fallbackDirsPsr0 = array_merge( $this->fallbackDirsPsr0, - $paths + (array) $paths ); } @@ -198,19 +201,19 @@ class ClassLoader $first = $prefix[0]; if (!isset($this->prefixesPsr0[$first][$prefix])) { - $this->prefixesPsr0[$first][$prefix] = $paths; + $this->prefixesPsr0[$first][$prefix] = (array) $paths; return; } if ($prepend) { $this->prefixesPsr0[$first][$prefix] = array_merge( - $paths, + (array) $paths, $this->prefixesPsr0[$first][$prefix] ); } else { $this->prefixesPsr0[$first][$prefix] = array_merge( $this->prefixesPsr0[$first][$prefix], - $paths + (array) $paths ); } } @@ -219,9 +222,9 @@ class ClassLoader * Registers a set of PSR-4 directories for a given namespace, either * appending or prepending to the ones previously set for this namespace. * - * @param string $prefix The prefix/namespace, with trailing '\\' - * @param list|string $paths The PSR-4 base directories - * @param bool $prepend Whether to prepend the directories + * @param string $prefix The prefix/namespace, with trailing '\\' + * @param string[]|string $paths The PSR-4 base directories + * @param bool $prepend Whether to prepend the directories * * @throws \InvalidArgumentException * @@ -229,18 +232,17 @@ class ClassLoader */ public function addPsr4($prefix, $paths, $prepend = false) { - $paths = (array) $paths; if (!$prefix) { // Register directories for the root namespace. if ($prepend) { $this->fallbackDirsPsr4 = array_merge( - $paths, + (array) $paths, $this->fallbackDirsPsr4 ); } else { $this->fallbackDirsPsr4 = array_merge( $this->fallbackDirsPsr4, - $paths + (array) $paths ); } } elseif (!isset($this->prefixDirsPsr4[$prefix])) { @@ -250,18 +252,18 @@ class ClassLoader throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator."); } $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length; - $this->prefixDirsPsr4[$prefix] = $paths; + $this->prefixDirsPsr4[$prefix] = (array) $paths; } elseif ($prepend) { // Prepend directories for an already registered namespace. $this->prefixDirsPsr4[$prefix] = array_merge( - $paths, + (array) $paths, $this->prefixDirsPsr4[$prefix] ); } else { // Append directories for an already registered namespace. $this->prefixDirsPsr4[$prefix] = array_merge( $this->prefixDirsPsr4[$prefix], - $paths + (array) $paths ); } } @@ -270,8 +272,8 @@ class ClassLoader * Registers a set of PSR-0 directories for a given prefix, * replacing any others previously set for this prefix. * - * @param string $prefix The prefix - * @param list|string $paths The PSR-0 base directories + * @param string $prefix The prefix + * @param string[]|string $paths The PSR-0 base directories * * @return void */ @@ -288,8 +290,8 @@ class ClassLoader * Registers a set of PSR-4 directories for a given namespace, * replacing any others previously set for this namespace. * - * @param string $prefix The prefix/namespace, with trailing '\\' - * @param list|string $paths The PSR-4 base directories + * @param string $prefix The prefix/namespace, with trailing '\\' + * @param string[]|string $paths The PSR-4 base directories * * @throws \InvalidArgumentException * @@ -423,8 +425,7 @@ class ClassLoader public function loadClass($class) { if ($file = $this->findFile($class)) { - $includeFile = self::$includeFile; - $includeFile($file); + includeFile($file); return true; } @@ -475,9 +476,9 @@ class ClassLoader } /** - * Returns the currently registered loaders keyed by their corresponding vendor directories. + * Returns the currently registered loaders indexed by their corresponding vendor directories. * - * @return array + * @return self[] */ public static function getRegisteredLoaders() { @@ -554,26 +555,18 @@ class ClassLoader return false; } - - /** - * @return void - */ - private static function initializeIncludeClosure() - { - if (self::$includeFile !== null) { - return; - } - - /** - * Scope isolated include. - * - * Prevents access to $this/self from included files. - * - * @param string $file - * @return void - */ - self::$includeFile = \Closure::bind(static function($file) { - include $file; - }, null, null); - } +} + +/** + * Scope isolated include. + * + * Prevents access to $this/self from included files. + * + * @param string $file + * @return void + * @private + */ +function includeFile($file) +{ + include $file; } diff --git a/digital_doctor/vendor/composer/InstalledVersions.php b/digital_doctor/vendor/composer/InstalledVersions.php index 51e734a..d50e0c9 100644 --- a/digital_doctor/vendor/composer/InstalledVersions.php +++ b/digital_doctor/vendor/composer/InstalledVersions.php @@ -21,14 +21,12 @@ use Composer\Semver\VersionParser; * See also https://getcomposer.org/doc/07-runtime.md#installed-versions * * To require its presence, you can require `composer-runtime-api ^2.0` - * - * @final */ class InstalledVersions { /** * @var mixed[]|null - * @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array}|array{}|null + * @psalm-var array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array}|array{}|null */ private static $installed; @@ -39,7 +37,7 @@ class InstalledVersions /** * @var array[] - * @psalm-var array}> + * @psalm-var array}> */ private static $installedByVendor = array(); @@ -98,7 +96,7 @@ class InstalledVersions { foreach (self::getInstalled() as $installed) { if (isset($installed['versions'][$packageName])) { - return $includeDevRequirements || !isset($installed['versions'][$packageName]['dev_requirement']) || $installed['versions'][$packageName]['dev_requirement'] === false; + return $includeDevRequirements || empty($installed['versions'][$packageName]['dev_requirement']); } } @@ -119,7 +117,7 @@ class InstalledVersions */ public static function satisfies(VersionParser $parser, $packageName, $constraint) { - $constraint = $parser->parseConstraints((string) $constraint); + $constraint = $parser->parseConstraints($constraint); $provided = $parser->parseConstraints(self::getVersionRanges($packageName)); return $provided->matches($constraint); @@ -243,7 +241,7 @@ class InstalledVersions /** * @return array - * @psalm-return array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool} + * @psalm-return array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string} */ public static function getRootPackage() { @@ -257,7 +255,7 @@ class InstalledVersions * * @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect. * @return array[] - * @psalm-return array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array} + * @psalm-return array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array} */ public static function getRawData() { @@ -280,7 +278,7 @@ class InstalledVersions * Returns the raw data of all installed.php which are currently loaded for custom implementations * * @return array[] - * @psalm-return list}> + * @psalm-return list}> */ public static function getAllRawData() { @@ -303,7 +301,7 @@ class InstalledVersions * @param array[] $data A vendor/composer/installed.php data set * @return void * - * @psalm-param array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array} $data + * @psalm-param array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array} $data */ public static function reload($data) { @@ -313,7 +311,7 @@ class InstalledVersions /** * @return array[] - * @psalm-return list}> + * @psalm-return list}> */ private static function getInstalled() { @@ -328,9 +326,7 @@ class InstalledVersions if (isset(self::$installedByVendor[$vendorDir])) { $installed[] = self::$installedByVendor[$vendorDir]; } elseif (is_file($vendorDir.'/composer/installed.php')) { - /** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array} $required */ - $required = require $vendorDir.'/composer/installed.php'; - $installed[] = self::$installedByVendor[$vendorDir] = $required; + $installed[] = self::$installedByVendor[$vendorDir] = require $vendorDir.'/composer/installed.php'; if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) { self::$installed = $installed[count($installed) - 1]; } @@ -342,17 +338,12 @@ class InstalledVersions // only require the installed.php file if this file is loaded from its dumped location, // and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937 if (substr(__DIR__, -8, 1) !== 'C') { - /** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array} $required */ - $required = require __DIR__ . '/installed.php'; - self::$installed = $required; + self::$installed = require __DIR__ . '/installed.php'; } else { self::$installed = array(); } } - - if (self::$installed !== array()) { - $installed[] = self::$installed; - } + $installed[] = self::$installed; return $installed; } diff --git a/digital_doctor/vendor/composer/autoload_classmap.php b/digital_doctor/vendor/composer/autoload_classmap.php index 0fb0a2c..b26f1b1 100644 --- a/digital_doctor/vendor/composer/autoload_classmap.php +++ b/digital_doctor/vendor/composer/autoload_classmap.php @@ -2,7 +2,7 @@ // autoload_classmap.php @generated by Composer -$vendorDir = dirname(__DIR__); +$vendorDir = dirname(dirname(__FILE__)); $baseDir = dirname($vendorDir); return array( diff --git a/digital_doctor/vendor/composer/autoload_files.php b/digital_doctor/vendor/composer/autoload_files.php index 867c346..7067c48 100644 --- a/digital_doctor/vendor/composer/autoload_files.php +++ b/digital_doctor/vendor/composer/autoload_files.php @@ -2,7 +2,7 @@ // autoload_files.php @generated by Composer -$vendorDir = dirname(__DIR__); +$vendorDir = dirname(dirname(__FILE__)); $baseDir = dirname($vendorDir); return array( diff --git a/digital_doctor/vendor/composer/autoload_namespaces.php b/digital_doctor/vendor/composer/autoload_namespaces.php index 15a2ff3..b7fc012 100644 --- a/digital_doctor/vendor/composer/autoload_namespaces.php +++ b/digital_doctor/vendor/composer/autoload_namespaces.php @@ -2,7 +2,7 @@ // autoload_namespaces.php @generated by Composer -$vendorDir = dirname(__DIR__); +$vendorDir = dirname(dirname(__FILE__)); $baseDir = dirname($vendorDir); return array( diff --git a/digital_doctor/vendor/composer/autoload_psr4.php b/digital_doctor/vendor/composer/autoload_psr4.php index 1a3d7d0..481129c 100644 --- a/digital_doctor/vendor/composer/autoload_psr4.php +++ b/digital_doctor/vendor/composer/autoload_psr4.php @@ -2,7 +2,7 @@ // autoload_psr4.php @generated by Composer -$vendorDir = dirname(__DIR__); +$vendorDir = dirname(dirname(__FILE__)); $baseDir = dirname($vendorDir); return array( diff --git a/digital_doctor/vendor/composer/autoload_real.php b/digital_doctor/vendor/composer/autoload_real.php index 8b73814..4aa12d9 100644 --- a/digital_doctor/vendor/composer/autoload_real.php +++ b/digital_doctor/vendor/composer/autoload_real.php @@ -25,26 +25,56 @@ class ComposerAutoloaderInit296bd8a1d28e39d56dcd80ce7be249f3 require __DIR__ . '/platform_check.php'; spl_autoload_register(array('ComposerAutoloaderInit296bd8a1d28e39d56dcd80ce7be249f3', 'loadClassLoader'), true, true); - self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__)); + self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(\dirname(__FILE__))); spl_autoload_unregister(array('ComposerAutoloaderInit296bd8a1d28e39d56dcd80ce7be249f3', 'loadClassLoader')); - require __DIR__ . '/autoload_static.php'; - call_user_func(\Composer\Autoload\ComposerStaticInit296bd8a1d28e39d56dcd80ce7be249f3::getInitializer($loader)); + $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded()); + if ($useStaticLoader) { + require __DIR__ . '/autoload_static.php'; + + call_user_func(\Composer\Autoload\ComposerStaticInit296bd8a1d28e39d56dcd80ce7be249f3::getInitializer($loader)); + } else { + $map = require __DIR__ . '/autoload_namespaces.php'; + foreach ($map as $namespace => $path) { + $loader->set($namespace, $path); + } + + $map = require __DIR__ . '/autoload_psr4.php'; + foreach ($map as $namespace => $path) { + $loader->setPsr4($namespace, $path); + } + + $classMap = require __DIR__ . '/autoload_classmap.php'; + if ($classMap) { + $loader->addClassMap($classMap); + } + } $loader->register(true); - $filesToLoad = \Composer\Autoload\ComposerStaticInit296bd8a1d28e39d56dcd80ce7be249f3::$files; - $requireFile = \Closure::bind(static function ($fileIdentifier, $file) { - if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) { - $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true; - - require $file; - } - }, null, null); - foreach ($filesToLoad as $fileIdentifier => $file) { - $requireFile($fileIdentifier, $file); + if ($useStaticLoader) { + $includeFiles = Composer\Autoload\ComposerStaticInit296bd8a1d28e39d56dcd80ce7be249f3::$files; + } else { + $includeFiles = require __DIR__ . '/autoload_files.php'; + } + foreach ($includeFiles as $fileIdentifier => $file) { + composerRequire296bd8a1d28e39d56dcd80ce7be249f3($fileIdentifier, $file); } return $loader; } } + +/** + * @param string $fileIdentifier + * @param string $file + * @return void + */ +function composerRequire296bd8a1d28e39d56dcd80ce7be249f3($fileIdentifier, $file) +{ + if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) { + $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true; + + require $file; + } +} diff --git a/digital_doctor/vendor/composer/installed.json b/digital_doctor/vendor/composer/installed.json index fd426c2..2da7f1b 100644 --- a/digital_doctor/vendor/composer/installed.json +++ b/digital_doctor/vendor/composer/installed.json @@ -183,15 +183,9 @@ }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/top-think/think-worker/zipball/922d8c95e2f095e0da66d18b9e3fbbfd8de70a3f", + "url": "https://mirrors.huaweicloud.com/repository/php/topthink/think-worker/v2.0.12/topthink-think-worker-v2.0.12.zip", "reference": "922d8c95e2f095e0da66d18b9e3fbbfd8de70a3f", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "ext-fileinfo": "*", @@ -218,7 +212,6 @@ "think\\worker\\": "src" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "Apache-2.0" ], @@ -229,10 +222,6 @@ } ], "description": "workerman extend for thinkphp5.1", - "support": { - "issues": "https://github.com/top-think/think-worker/issues", - "source": "https://github.com/top-think/think-worker/tree/v2.0.12" - }, "install-path": "../topthink/think-worker" }, { @@ -242,12 +231,12 @@ "source": { "type": "git", "url": "https://gitee.com/drop_drop/general_utility_tools_php.git", - "reference": "b7f7ec6a9bf19b15e4940838d787e4c08e29f7a6" + "reference": "f31ce1f3910b7522d37a796759722f7f4c785dfe" }, "require": { "ext-json": "*" }, - "time": "2024-06-06T07:47:22+00:00", + "time": "2024-06-27T03:06:27+00:00", "default-branch": true, "type": "library", "installation-source": "source", @@ -256,7 +245,6 @@ "wanghua\\general_utility_tools_php\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "Apache-2.0" ], diff --git a/digital_doctor/vendor/composer/installed.php b/digital_doctor/vendor/composer/installed.php index d2b4996..f256d04 100644 --- a/digital_doctor/vendor/composer/installed.php +++ b/digital_doctor/vendor/composer/installed.php @@ -1,89 +1,89 @@ array( - 'name' => 'topthink/think', 'pretty_version' => 'dev-master', 'version' => 'dev-master', - 'reference' => '428dc84846d5f278b6df200250c7600ed346612f', 'type' => 'project', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), + 'reference' => '1e7ad2096be950c04ee4245102122ad88ba011d6', + 'name' => 'topthink/think', 'dev' => true, ), 'versions' => array( 'doing/phpqrcode' => array( 'pretty_version' => 'dev-master', 'version' => 'dev-master', - 'reference' => '600baab04cd4dfe2b307a321775ec5a66e330560', 'type' => 'library', 'install_path' => __DIR__ . '/../doing/phpqrcode', 'aliases' => array( 0 => '9999999-dev', ), + 'reference' => '600baab04cd4dfe2b307a321775ec5a66e330560', 'dev_requirement' => false, ), 'topthink/framework' => array( 'pretty_version' => 'v5.1.42', 'version' => '5.1.42.0', - 'reference' => 'ecf1a90d397d821ce2df58f7d47e798c17eba3ad', 'type' => 'think-framework', 'install_path' => __DIR__ . '/../../thinkphp', 'aliases' => array(), + 'reference' => 'ecf1a90d397d821ce2df58f7d47e798c17eba3ad', 'dev_requirement' => false, ), 'topthink/think' => array( 'pretty_version' => 'dev-master', 'version' => 'dev-master', - 'reference' => '428dc84846d5f278b6df200250c7600ed346612f', 'type' => 'project', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), + 'reference' => '1e7ad2096be950c04ee4245102122ad88ba011d6', 'dev_requirement' => false, ), 'topthink/think-installer' => array( 'pretty_version' => 'v2.0.5', 'version' => '2.0.5.0', - 'reference' => '38ba647706e35d6704b5d370c06f8a160b635f88', 'type' => 'composer-plugin', 'install_path' => __DIR__ . '/../topthink/think-installer', 'aliases' => array(), + 'reference' => '38ba647706e35d6704b5d370c06f8a160b635f88', 'dev_requirement' => false, ), 'topthink/think-worker' => array( 'pretty_version' => 'v2.0.12', 'version' => '2.0.12.0', - 'reference' => '922d8c95e2f095e0da66d18b9e3fbbfd8de70a3f', 'type' => 'think-extend', 'install_path' => __DIR__ . '/../topthink/think-worker', 'aliases' => array(), + 'reference' => '922d8c95e2f095e0da66d18b9e3fbbfd8de70a3f', 'dev_requirement' => false, ), 'wanghua/general-utility-tools-php' => array( 'pretty_version' => 'dev-master', 'version' => 'dev-master', - 'reference' => 'b7f7ec6a9bf19b15e4940838d787e4c08e29f7a6', 'type' => 'library', 'install_path' => __DIR__ . '/../wanghua/general-utility-tools-php', 'aliases' => array( 0 => '9999999-dev', ), + 'reference' => 'f31ce1f3910b7522d37a796759722f7f4c785dfe', 'dev_requirement' => false, ), 'workerman/gateway-worker' => array( 'pretty_version' => 'v3.0.22', 'version' => '3.0.22.0', - 'reference' => 'a615036c482d11f68b693998575e804752ef9068', 'type' => 'library', 'install_path' => __DIR__ . '/../workerman/gateway-worker', 'aliases' => array(), + 'reference' => 'a615036c482d11f68b693998575e804752ef9068', 'dev_requirement' => false, ), 'workerman/workerman' => array( 'pretty_version' => 'v3.5.35', 'version' => '3.5.35.0', - 'reference' => '3cc0adae51ba36db38b11e7996c64250d356dbe7', 'type' => 'library', 'install_path' => __DIR__ . '/../workerman/workerman', 'aliases' => array(), + 'reference' => '3cc0adae51ba36db38b11e7996c64250d356dbe7', 'dev_requirement' => false, ), ), diff --git a/digital_doctor/vendor/topthink/think-worker/src/Application.php b/digital_doctor/vendor/topthink/think-worker/src/Application.php index ad390fa..ea9381c 100644 --- a/digital_doctor/vendor/topthink/think-worker/src/Application.php +++ b/digital_doctor/vendor/topthink/think-worker/src/Application.php @@ -43,7 +43,6 @@ class Application extends App $this->request ->setPathinfo($pathinfo) ->withInput($GLOBALS['HTTP_RAW_REQUEST_DATA']); - //->withInput(file_get_contents("php://input")); if ($this->config->get('session.auto_start')) { WorkerHttp::sessionStart(); diff --git a/digital_doctor/vendor/topthink/think-worker/src/Events.php b/digital_doctor/vendor/topthink/think-worker/src/Events.php index e4b7a22..7aecf99 100644 --- a/digital_doctor/vendor/topthink/think-worker/src/Events.php +++ b/digital_doctor/vendor/topthink/think-worker/src/Events.php @@ -42,7 +42,7 @@ class Events */ public static function onConnect($client_id) { - Gateway::sendToCurrentClient(json_encode(['client_id'=>$client_id])); + Gateway::sendToCurrentClient("Your client_id is $client_id"); } /** @@ -55,8 +55,7 @@ class Events */ public static function onWebSocketConnect($client_id, $data) { - //连接时绑定客户端ID -// var_export($data); + var_export($data); } /** diff --git a/digital_doctor/vendor/wanghua/general-utility-tools-php b/digital_doctor/vendor/wanghua/general-utility-tools-php index b7f7ec6..f31ce1f 160000 --- a/digital_doctor/vendor/wanghua/general-utility-tools-php +++ b/digital_doctor/vendor/wanghua/general-utility-tools-php @@ -1 +1 @@ -Subproject commit b7f7ec6a9bf19b15e4940838d787e4c08e29f7a6 +Subproject commit f31ce1f3910b7522d37a796759722f7f4c785dfe diff --git a/digital_doctor_admin/composer.json b/digital_doctor_admin/composer.json index fabc437..35309ff 100644 --- a/digital_doctor_admin/composer.json +++ b/digital_doctor_admin/composer.json @@ -29,7 +29,8 @@ "ext-curl": "*", "ext-pdo": "*", "ext-bcmath": "*", - "txthinking/mailer": "^2.0" + "txthinking/mailer": "^2.0", + "wanghua/general-utility-tools-php": "dev-master" }, "config": { "preferred-install": "dist", @@ -38,14 +39,18 @@ "easywechat-composer/easywechat-composer": true } }, - "repositories": [ - { + "repositories": { + "packagist": { + "type": "composer", + "url": "https://mirrors.huaweicloud.com/repository/php/" + }, + "0": { "type": "git", "url": "https://gitee.com/fastadminnet/framework.git" }, - { + "1": { "type": "git", "url": "https://gitee.com/fastadminnet/think-captcha.git" } - ] + } } diff --git a/digital_doctor_admin/vendor/autoload.php b/digital_doctor_admin/vendor/autoload.php index 66b8843..c43180e 100644 --- a/digital_doctor_admin/vendor/autoload.php +++ b/digital_doctor_admin/vendor/autoload.php @@ -2,24 +2,6 @@ // autoload.php @generated by Composer -if (PHP_VERSION_ID < 50600) { - if (!headers_sent()) { - header('HTTP/1.1 500 Internal Server Error'); - } - $err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; - if (!ini_get('display_errors')) { - if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { - fwrite(STDERR, $err); - } elseif (!headers_sent()) { - echo $err; - } - } - trigger_error( - $err, - E_USER_ERROR - ); -} - require_once __DIR__ . '/composer/autoload_real.php'; return ComposerAutoloaderInitf3106b6ef3260b6914241eab0bed11c1::getLoader(); diff --git a/digital_doctor_admin/vendor/composer/ClassLoader.php b/digital_doctor_admin/vendor/composer/ClassLoader.php index a72151c..afef3fa 100644 --- a/digital_doctor_admin/vendor/composer/ClassLoader.php +++ b/digital_doctor_admin/vendor/composer/ClassLoader.php @@ -42,9 +42,6 @@ namespace Composer\Autoload; */ class ClassLoader { - /** @var \Closure(string):void */ - private static $includeFile; - /** @var ?string */ private $vendorDir; @@ -109,7 +106,6 @@ class ClassLoader public function __construct($vendorDir = null) { $this->vendorDir = $vendorDir; - self::initializeIncludeClosure(); } /** @@ -429,8 +425,7 @@ class ClassLoader public function loadClass($class) { if ($file = $this->findFile($class)) { - $includeFile = self::$includeFile; - $includeFile($file); + includeFile($file); return true; } @@ -560,26 +555,18 @@ class ClassLoader return false; } - - /** - * @return void - */ - private static function initializeIncludeClosure() - { - if (self::$includeFile !== null) { - return; - } - - /** - * Scope isolated include. - * - * Prevents access to $this/self from included files. - * - * @param string $file - * @return void - */ - self::$includeFile = \Closure::bind(static function($file) { - include $file; - }, null, null); - } +} + +/** + * Scope isolated include. + * + * Prevents access to $this/self from included files. + * + * @param string $file + * @return void + * @private + */ +function includeFile($file) +{ + include $file; } diff --git a/digital_doctor_admin/vendor/composer/InstalledVersions.php b/digital_doctor_admin/vendor/composer/InstalledVersions.php index 51e734a..d50e0c9 100644 --- a/digital_doctor_admin/vendor/composer/InstalledVersions.php +++ b/digital_doctor_admin/vendor/composer/InstalledVersions.php @@ -21,14 +21,12 @@ use Composer\Semver\VersionParser; * See also https://getcomposer.org/doc/07-runtime.md#installed-versions * * To require its presence, you can require `composer-runtime-api ^2.0` - * - * @final */ class InstalledVersions { /** * @var mixed[]|null - * @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array}|array{}|null + * @psalm-var array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array}|array{}|null */ private static $installed; @@ -39,7 +37,7 @@ class InstalledVersions /** * @var array[] - * @psalm-var array}> + * @psalm-var array}> */ private static $installedByVendor = array(); @@ -98,7 +96,7 @@ class InstalledVersions { foreach (self::getInstalled() as $installed) { if (isset($installed['versions'][$packageName])) { - return $includeDevRequirements || !isset($installed['versions'][$packageName]['dev_requirement']) || $installed['versions'][$packageName]['dev_requirement'] === false; + return $includeDevRequirements || empty($installed['versions'][$packageName]['dev_requirement']); } } @@ -119,7 +117,7 @@ class InstalledVersions */ public static function satisfies(VersionParser $parser, $packageName, $constraint) { - $constraint = $parser->parseConstraints((string) $constraint); + $constraint = $parser->parseConstraints($constraint); $provided = $parser->parseConstraints(self::getVersionRanges($packageName)); return $provided->matches($constraint); @@ -243,7 +241,7 @@ class InstalledVersions /** * @return array - * @psalm-return array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool} + * @psalm-return array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string} */ public static function getRootPackage() { @@ -257,7 +255,7 @@ class InstalledVersions * * @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect. * @return array[] - * @psalm-return array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array} + * @psalm-return array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array} */ public static function getRawData() { @@ -280,7 +278,7 @@ class InstalledVersions * Returns the raw data of all installed.php which are currently loaded for custom implementations * * @return array[] - * @psalm-return list}> + * @psalm-return list}> */ public static function getAllRawData() { @@ -303,7 +301,7 @@ class InstalledVersions * @param array[] $data A vendor/composer/installed.php data set * @return void * - * @psalm-param array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array} $data + * @psalm-param array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array} $data */ public static function reload($data) { @@ -313,7 +311,7 @@ class InstalledVersions /** * @return array[] - * @psalm-return list}> + * @psalm-return list}> */ private static function getInstalled() { @@ -328,9 +326,7 @@ class InstalledVersions if (isset(self::$installedByVendor[$vendorDir])) { $installed[] = self::$installedByVendor[$vendorDir]; } elseif (is_file($vendorDir.'/composer/installed.php')) { - /** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array} $required */ - $required = require $vendorDir.'/composer/installed.php'; - $installed[] = self::$installedByVendor[$vendorDir] = $required; + $installed[] = self::$installedByVendor[$vendorDir] = require $vendorDir.'/composer/installed.php'; if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) { self::$installed = $installed[count($installed) - 1]; } @@ -342,17 +338,12 @@ class InstalledVersions // only require the installed.php file if this file is loaded from its dumped location, // and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937 if (substr(__DIR__, -8, 1) !== 'C') { - /** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array} $required */ - $required = require __DIR__ . '/installed.php'; - self::$installed = $required; + self::$installed = require __DIR__ . '/installed.php'; } else { self::$installed = array(); } } - - if (self::$installed !== array()) { - $installed[] = self::$installed; - } + $installed[] = self::$installed; return $installed; } diff --git a/digital_doctor_admin/vendor/composer/autoload_classmap.php b/digital_doctor_admin/vendor/composer/autoload_classmap.php index 016c54b..ec20b9a 100644 --- a/digital_doctor_admin/vendor/composer/autoload_classmap.php +++ b/digital_doctor_admin/vendor/composer/autoload_classmap.php @@ -2,7 +2,7 @@ // autoload_classmap.php @generated by Composer -$vendorDir = dirname(__DIR__); +$vendorDir = dirname(dirname(__FILE__)); $baseDir = dirname($vendorDir); return array( diff --git a/digital_doctor_admin/vendor/composer/autoload_files.php b/digital_doctor_admin/vendor/composer/autoload_files.php index faffafa..ac881cb 100644 --- a/digital_doctor_admin/vendor/composer/autoload_files.php +++ b/digital_doctor_admin/vendor/composer/autoload_files.php @@ -2,16 +2,16 @@ // autoload_files.php @generated by Composer -$vendorDir = dirname(__DIR__); +$vendorDir = dirname(dirname(__FILE__)); $baseDir = dirname($vendorDir); return array( - '6e3fae29631ef280660b3cdad06f25a8' => $vendorDir . '/symfony/deprecation-contracts/function.php', 'a4a119a56e50fbb293281d9a48007e0e' => $vendorDir . '/symfony/polyfill-php80/bootstrap.php', - '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => $vendorDir . '/symfony/polyfill-mbstring/bootstrap.php', + '6e3fae29631ef280660b3cdad06f25a8' => $vendorDir . '/symfony/deprecation-contracts/function.php', '7b11c4dc42b3b3023073cb14e519683c' => $vendorDir . '/ralouphie/getallheaders/src/getallheaders.php', - '37a3dc5111fe8f707ab4c132ef1dbc62' => $vendorDir . '/guzzlehttp/guzzle/src/functions_include.php', + '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => $vendorDir . '/symfony/polyfill-mbstring/bootstrap.php', '0d59ee240a4cd96ddbb4ff164fccea4d' => $vendorDir . '/symfony/polyfill-php73/bootstrap.php', + '37a3dc5111fe8f707ab4c132ef1dbc62' => $vendorDir . '/guzzlehttp/guzzle/src/functions_include.php', '2cffec82183ee1cea088009cef9a6fc3' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier.composer.php', '9b552a3cc426e3287cc811caefa3cf53' => $vendorDir . '/topthink/think-helper/src/helper.php', '488987c28e9b5e95a1ce6b6bcb94606c' => $vendorDir . '/karsonzhang/fastadmin-addons/src/common.php', diff --git a/digital_doctor_admin/vendor/composer/autoload_namespaces.php b/digital_doctor_admin/vendor/composer/autoload_namespaces.php index be11dd8..93ac1e9 100644 --- a/digital_doctor_admin/vendor/composer/autoload_namespaces.php +++ b/digital_doctor_admin/vendor/composer/autoload_namespaces.php @@ -2,7 +2,7 @@ // autoload_namespaces.php @generated by Composer -$vendorDir = dirname(__DIR__); +$vendorDir = dirname(dirname(__FILE__)); $baseDir = dirname($vendorDir); return array( diff --git a/digital_doctor_admin/vendor/composer/autoload_psr4.php b/digital_doctor_admin/vendor/composer/autoload_psr4.php index 3e69396..469efd4 100644 --- a/digital_doctor_admin/vendor/composer/autoload_psr4.php +++ b/digital_doctor_admin/vendor/composer/autoload_psr4.php @@ -2,14 +2,15 @@ // autoload_psr4.php @generated by Composer -$vendorDir = dirname(__DIR__); +$vendorDir = dirname(dirname(__FILE__)); $baseDir = dirname($vendorDir); return array( + 'wanghua\\general_utility_tools_php\\' => array($vendorDir . '/wanghua/general-utility-tools-php/src'), 'think\\helper\\' => array($vendorDir . '/topthink/think-helper/src'), 'think\\composer\\' => array($vendorDir . '/topthink/think-installer/src'), 'think\\captcha\\' => array($vendorDir . '/topthink/think-captcha/src'), - 'think\\' => array($baseDir . '/thinkphp/library/think', $vendorDir . '/topthink/think-queue/src', $vendorDir . '/karsonzhang/fastadmin-addons/src'), + 'think\\' => array($vendorDir . '/karsonzhang/fastadmin-addons/src', $baseDir . '/thinkphp/library/think', $vendorDir . '/topthink/think-queue/src'), 'ZipStream\\' => array($vendorDir . '/maennchen/zipstream-php/src'), 'Tx\\' => array($vendorDir . '/txthinking/mailer/src'), 'Symfony\\Polyfill\\Php80\\' => array($vendorDir . '/symfony/polyfill-php80'), @@ -26,7 +27,7 @@ return array( 'Symfony\\Bridge\\PsrHttpMessage\\' => array($vendorDir . '/symfony/psr-http-message-bridge'), 'Psr\\SimpleCache\\' => array($vendorDir . '/psr/simple-cache/src'), 'Psr\\Log\\' => array($vendorDir . '/psr/log/Psr/Log'), - 'Psr\\Http\\Message\\' => array($vendorDir . '/psr/http-factory/src', $vendorDir . '/psr/http-message/src'), + 'Psr\\Http\\Message\\' => array($vendorDir . '/psr/http-message/src', $vendorDir . '/psr/http-factory/src'), 'Psr\\Http\\Client\\' => array($vendorDir . '/psr/http-client/src'), 'Psr\\EventDispatcher\\' => array($vendorDir . '/psr/event-dispatcher/src'), 'Psr\\Container\\' => array($vendorDir . '/psr/container/src'), diff --git a/digital_doctor_admin/vendor/composer/autoload_real.php b/digital_doctor_admin/vendor/composer/autoload_real.php index 6d7f80e..428259b 100644 --- a/digital_doctor_admin/vendor/composer/autoload_real.php +++ b/digital_doctor_admin/vendor/composer/autoload_real.php @@ -25,26 +25,56 @@ class ComposerAutoloaderInitf3106b6ef3260b6914241eab0bed11c1 require __DIR__ . '/platform_check.php'; spl_autoload_register(array('ComposerAutoloaderInitf3106b6ef3260b6914241eab0bed11c1', 'loadClassLoader'), true, true); - self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__)); + self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(\dirname(__FILE__))); spl_autoload_unregister(array('ComposerAutoloaderInitf3106b6ef3260b6914241eab0bed11c1', 'loadClassLoader')); - require __DIR__ . '/autoload_static.php'; - call_user_func(\Composer\Autoload\ComposerStaticInitf3106b6ef3260b6914241eab0bed11c1::getInitializer($loader)); + $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded()); + if ($useStaticLoader) { + require __DIR__ . '/autoload_static.php'; + + call_user_func(\Composer\Autoload\ComposerStaticInitf3106b6ef3260b6914241eab0bed11c1::getInitializer($loader)); + } else { + $map = require __DIR__ . '/autoload_namespaces.php'; + foreach ($map as $namespace => $path) { + $loader->set($namespace, $path); + } + + $map = require __DIR__ . '/autoload_psr4.php'; + foreach ($map as $namespace => $path) { + $loader->setPsr4($namespace, $path); + } + + $classMap = require __DIR__ . '/autoload_classmap.php'; + if ($classMap) { + $loader->addClassMap($classMap); + } + } $loader->register(true); - $filesToLoad = \Composer\Autoload\ComposerStaticInitf3106b6ef3260b6914241eab0bed11c1::$files; - $requireFile = \Closure::bind(static function ($fileIdentifier, $file) { - if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) { - $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true; - - require $file; - } - }, null, null); - foreach ($filesToLoad as $fileIdentifier => $file) { - $requireFile($fileIdentifier, $file); + if ($useStaticLoader) { + $includeFiles = Composer\Autoload\ComposerStaticInitf3106b6ef3260b6914241eab0bed11c1::$files; + } else { + $includeFiles = require __DIR__ . '/autoload_files.php'; + } + foreach ($includeFiles as $fileIdentifier => $file) { + composerRequiref3106b6ef3260b6914241eab0bed11c1($fileIdentifier, $file); } return $loader; } } + +/** + * @param string $fileIdentifier + * @param string $file + * @return void + */ +function composerRequiref3106b6ef3260b6914241eab0bed11c1($fileIdentifier, $file) +{ + if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) { + $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true; + + require $file; + } +} diff --git a/digital_doctor_admin/vendor/composer/autoload_static.php b/digital_doctor_admin/vendor/composer/autoload_static.php index 4b99cfa..9da7a98 100644 --- a/digital_doctor_admin/vendor/composer/autoload_static.php +++ b/digital_doctor_admin/vendor/composer/autoload_static.php @@ -7,12 +7,12 @@ namespace Composer\Autoload; class ComposerStaticInitf3106b6ef3260b6914241eab0bed11c1 { public static $files = array ( - '6e3fae29631ef280660b3cdad06f25a8' => __DIR__ . '/..' . '/symfony/deprecation-contracts/function.php', 'a4a119a56e50fbb293281d9a48007e0e' => __DIR__ . '/..' . '/symfony/polyfill-php80/bootstrap.php', - '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/bootstrap.php', + '6e3fae29631ef280660b3cdad06f25a8' => __DIR__ . '/..' . '/symfony/deprecation-contracts/function.php', '7b11c4dc42b3b3023073cb14e519683c' => __DIR__ . '/..' . '/ralouphie/getallheaders/src/getallheaders.php', - '37a3dc5111fe8f707ab4c132ef1dbc62' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/functions_include.php', + '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/bootstrap.php', '0d59ee240a4cd96ddbb4ff164fccea4d' => __DIR__ . '/..' . '/symfony/polyfill-php73/bootstrap.php', + '37a3dc5111fe8f707ab4c132ef1dbc62' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/functions_include.php', '2cffec82183ee1cea088009cef9a6fc3' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier.composer.php', '9b552a3cc426e3287cc811caefa3cf53' => __DIR__ . '/..' . '/topthink/think-helper/src/helper.php', '488987c28e9b5e95a1ce6b6bcb94606c' => __DIR__ . '/..' . '/karsonzhang/fastadmin-addons/src/common.php', @@ -23,6 +23,10 @@ class ComposerStaticInitf3106b6ef3260b6914241eab0bed11c1 ); public static $prefixLengthsPsr4 = array ( + 'w' => + array ( + 'wanghua\\general_utility_tools_php\\' => 34, + ), 't' => array ( 'think\\helper\\' => 13, @@ -94,6 +98,10 @@ class ComposerStaticInitf3106b6ef3260b6914241eab0bed11c1 ); public static $prefixDirsPsr4 = array ( + 'wanghua\\general_utility_tools_php\\' => + array ( + 0 => __DIR__ . '/..' . '/wanghua/general-utility-tools-php/src', + ), 'think\\helper\\' => array ( 0 => __DIR__ . '/..' . '/topthink/think-helper/src', @@ -108,9 +116,9 @@ class ComposerStaticInitf3106b6ef3260b6914241eab0bed11c1 ), 'think\\' => array ( - 0 => __DIR__ . '/../..' . '/thinkphp/library/think', - 1 => __DIR__ . '/..' . '/topthink/think-queue/src', - 2 => __DIR__ . '/..' . '/karsonzhang/fastadmin-addons/src', + 0 => __DIR__ . '/..' . '/karsonzhang/fastadmin-addons/src', + 1 => __DIR__ . '/../..' . '/thinkphp/library/think', + 2 => __DIR__ . '/..' . '/topthink/think-queue/src', ), 'ZipStream\\' => array ( @@ -178,8 +186,8 @@ class ComposerStaticInitf3106b6ef3260b6914241eab0bed11c1 ), 'Psr\\Http\\Message\\' => array ( - 0 => __DIR__ . '/..' . '/psr/http-factory/src', - 1 => __DIR__ . '/..' . '/psr/http-message/src', + 0 => __DIR__ . '/..' . '/psr/http-message/src', + 1 => __DIR__ . '/..' . '/psr/http-factory/src', ), 'Psr\\Http\\Client\\' => array ( diff --git a/digital_doctor_admin/vendor/composer/installed.json b/digital_doctor_admin/vendor/composer/installed.json index 36fbe02..c8dea75 100644 --- a/digital_doctor_admin/vendor/composer/installed.json +++ b/digital_doctor_admin/vendor/composer/installed.json @@ -702,17 +702,17 @@ }, { "name": "monolog/monolog", - "version": "2.9.2", - "version_normalized": "2.9.2.0", + "version": "2.9.3", + "version_normalized": "2.9.3.0", "source": { "type": "git", "url": "https://github.com/Seldaek/monolog.git", - "reference": "437cb3628f4cf6042cc10ae97fc2b8472e48ca1f" + "reference": "a30bfe2e142720dfa990d0a7e573997f5d884215" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/437cb3628f4cf6042cc10ae97fc2b8472e48ca1f", - "reference": "437cb3628f4cf6042cc10ae97fc2b8472e48ca1f", + "url": "https://mirrors.huaweicloud.com/repository/php/monolog/monolog/2.9.3/monolog-monolog-2.9.3.zip", + "reference": "a30bfe2e142720dfa990d0a7e573997f5d884215", "shasum": "" }, "require": { @@ -733,8 +733,8 @@ "mongodb/mongodb": "^1.8", "php-amqplib/php-amqplib": "~2.4 || ^3", "phpspec/prophecy": "^1.15", - "phpstan/phpstan": "^0.12.91", - "phpunit/phpunit": "^8.5.14", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^8.5.38 || ^9.6.19", "predis/predis": "^1.1 || ^2.0", "rollbar/rollbar": "^1.3 || ^2 || ^3", "ruflin/elastica": "^7", @@ -758,7 +758,7 @@ "rollbar/rollbar": "Allow sending log messages to Rollbar", "ruflin/elastica": "Allow sending log messages to an Elastic Search server" }, - "time": "2023-10-27T15:25:26+00:00", + "time": "2024-04-12T20:52:51+00:00", "type": "library", "extra": { "branch-alias": { @@ -771,7 +771,6 @@ "Monolog\\": "src/Monolog" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -789,10 +788,6 @@ "logging", "psr-3" ], - "support": { - "issues": "https://github.com/Seldaek/monolog/issues", - "source": "https://github.com/Seldaek/monolog/tree/2.9.2" - }, "funding": [ { "url": "https://github.com/Seldaek", @@ -1525,24 +1520,24 @@ }, { "name": "psr/http-factory", - "version": "1.0.2", - "version_normalized": "1.0.2.0", + "version": "1.1.0", + "version_normalized": "1.1.0.0", "source": { "type": "git", "url": "https://github.com/php-fig/http-factory.git", - "reference": "e616d01114759c4c489f93b099585439f795fe35" + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-factory/zipball/e616d01114759c4c489f93b099585439f795fe35", - "reference": "e616d01114759c4c489f93b099585439f795fe35", + "url": "https://mirrors.huaweicloud.com/repository/php/psr/http-factory/1.1.0/psr-http-factory-1.1.0.zip", + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a", "shasum": "" }, "require": { - "php": ">=7.0.0", + "php": ">=7.1", "psr/http-message": "^1.0 || ^2.0" }, - "time": "2023-04-10T20:10:41+00:00", + "time": "2024-04-15T12:06:14+00:00", "type": "library", "extra": { "branch-alias": { @@ -1555,7 +1550,6 @@ "Psr\\Http\\Message\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -1565,7 +1559,7 @@ "homepage": "https://www.php-fig.org/" } ], - "description": "Common interfaces for PSR-7 HTTP message factories", + "description": "PSR-17: Common interfaces for PSR-7 HTTP message factories", "keywords": [ "factory", "http", @@ -1576,9 +1570,6 @@ "request", "response" ], - "support": { - "source": "https://github.com/php-fig/http-factory/tree/1.0.2" - }, "install-path": "../psr/http-factory" }, { @@ -1793,17 +1784,17 @@ }, { "name": "symfony/cache", - "version": "v5.4.36", - "version_normalized": "5.4.36.0", + "version": "v5.4.40", + "version_normalized": "5.4.40.0", "source": { "type": "git", "url": "https://github.com/symfony/cache.git", - "reference": "a30f316214d908cf5874f700f3f3fb29ceee91ba" + "reference": "89005bc368ca02ed0433c592e4d27670d0844a66" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache/zipball/a30f316214d908cf5874f700f3f3fb29ceee91ba", - "reference": "a30f316214d908cf5874f700f3f3fb29ceee91ba", + "url": "https://mirrors.huaweicloud.com/repository/php/symfony/cache/v5.4.40/symfony-cache-v5.4.40.zip", + "reference": "89005bc368ca02ed0433c592e4d27670d0844a66", "shasum": "" }, "require": { @@ -1832,7 +1823,7 @@ "cache/integration-tests": "dev-master", "doctrine/cache": "^1.6|^2.0", "doctrine/dbal": "^2.13.1|^3|^4", - "predis/predis": "^1.1", + "predis/predis": "^1.1|^2.0", "psr/simple-cache": "^1.0|^2.0", "symfony/config": "^4.4|^5.0|^6.0", "symfony/dependency-injection": "^4.4|^5.0|^6.0", @@ -1841,7 +1832,7 @@ "symfony/messenger": "^4.4|^5.0|^6.0", "symfony/var-dumper": "^4.4|^5.0|^6.0" }, - "time": "2024-02-19T13:08:14+00:00", + "time": "2024-05-31T14:33:22+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -1852,7 +1843,6 @@ "/Tests/" ] }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -1872,9 +1862,6 @@ "caching", "psr6" ], - "support": { - "source": "https://github.com/symfony/cache/tree/v5.4.36" - }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -1893,17 +1880,17 @@ }, { "name": "symfony/cache-contracts", - "version": "v2.5.2", - "version_normalized": "2.5.2.0", + "version": "v2.5.3", + "version_normalized": "2.5.3.0", "source": { "type": "git", "url": "https://github.com/symfony/cache-contracts.git", - "reference": "64be4a7acb83b6f2bf6de9a02cee6dad41277ebc" + "reference": "fee6db04d913094e2fb55ff8e7db5685a8134463" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache-contracts/zipball/64be4a7acb83b6f2bf6de9a02cee6dad41277ebc", - "reference": "64be4a7acb83b6f2bf6de9a02cee6dad41277ebc", + "url": "https://mirrors.huaweicloud.com/repository/php/symfony/cache-contracts/v2.5.3/symfony-cache-contracts-v2.5.3.zip", + "reference": "fee6db04d913094e2fb55ff8e7db5685a8134463", "shasum": "" }, "require": { @@ -1913,7 +1900,7 @@ "suggest": { "symfony/cache-implementation": "" }, - "time": "2022-01-02T09:53:40+00:00", + "time": "2024-01-23T13:51:25+00:00", "type": "library", "extra": { "branch-alias": { @@ -1930,7 +1917,6 @@ "Symfony\\Contracts\\Cache\\": "" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -1954,9 +1940,6 @@ "interoperability", "standards" ], - "support": { - "source": "https://github.com/symfony/cache-contracts/tree/v2.5.2" - }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -1975,23 +1958,23 @@ }, { "name": "symfony/deprecation-contracts", - "version": "v2.5.2", - "version_normalized": "2.5.2.0", + "version": "v2.5.3", + "version_normalized": "2.5.3.0", "source": { "type": "git", "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66" + "reference": "80d075412b557d41002320b96a096ca65aa2c98d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/e8b495ea28c1d97b5e0c121748d6f9b53d075c66", - "reference": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66", + "url": "https://mirrors.huaweicloud.com/repository/php/symfony/deprecation-contracts/v2.5.3/symfony-deprecation-contracts-v2.5.3.zip", + "reference": "80d075412b557d41002320b96a096ca65aa2c98d", "shasum": "" }, "require": { "php": ">=7.1" }, - "time": "2022-01-02T09:53:40+00:00", + "time": "2023-01-24T14:02:46+00:00", "type": "library", "extra": { "branch-alias": { @@ -2008,7 +1991,6 @@ "function.php" ] }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -2024,9 +2006,6 @@ ], "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v2.5.2" - }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -2045,17 +2024,17 @@ }, { "name": "symfony/event-dispatcher", - "version": "v5.4.35", - "version_normalized": "5.4.35.0", + "version": "v5.4.40", + "version_normalized": "5.4.40.0", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "7a69a85c7ea5bdd1e875806a99c51a87d3a74b38" + "reference": "a54e2a8a114065f31020d6a89ede83e34c3b27a4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/7a69a85c7ea5bdd1e875806a99c51a87d3a74b38", - "reference": "7a69a85c7ea5bdd1e875806a99c51a87d3a74b38", + "url": "https://mirrors.huaweicloud.com/repository/php/symfony/event-dispatcher/v5.4.40/symfony-event-dispatcher-v5.4.40.zip", + "reference": "a54e2a8a114065f31020d6a89ede83e34c3b27a4", "shasum": "" }, "require": { @@ -2085,7 +2064,7 @@ "symfony/dependency-injection": "", "symfony/http-kernel": "" }, - "time": "2024-01-23T13:51:25+00:00", + "time": "2024-05-31T14:33:22+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -2096,7 +2075,6 @@ "/Tests/" ] }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -2112,9 +2090,6 @@ ], "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v5.4.35" - }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -2133,17 +2108,17 @@ }, { "name": "symfony/event-dispatcher-contracts", - "version": "v2.5.2", - "version_normalized": "2.5.2.0", + "version": "v2.5.3", + "version_normalized": "2.5.3.0", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "reference": "f98b54df6ad059855739db6fcbc2d36995283fe1" + "reference": "540f4c73e87fd0c71ca44a6aa305d024ac68cb73" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/f98b54df6ad059855739db6fcbc2d36995283fe1", - "reference": "f98b54df6ad059855739db6fcbc2d36995283fe1", + "url": "https://mirrors.huaweicloud.com/repository/php/symfony/event-dispatcher-contracts/v2.5.3/symfony-event-dispatcher-contracts-v2.5.3.zip", + "reference": "540f4c73e87fd0c71ca44a6aa305d024ac68cb73", "shasum": "" }, "require": { @@ -2153,7 +2128,7 @@ "suggest": { "symfony/event-dispatcher-implementation": "" }, - "time": "2022-01-02T09:53:40+00:00", + "time": "2024-01-23T13:51:25+00:00", "type": "library", "extra": { "branch-alias": { @@ -2170,7 +2145,6 @@ "Symfony\\Contracts\\EventDispatcher\\": "" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -2194,9 +2168,6 @@ "interoperability", "standards" ], - "support": { - "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v2.5.2" - }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -2215,17 +2186,17 @@ }, { "name": "symfony/finder", - "version": "v5.4.35", - "version_normalized": "5.4.35.0", + "version": "v5.4.40", + "version_normalized": "5.4.40.0", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "abe6d6f77d9465fed3cd2d029b29d03b56b56435" + "reference": "f51cff4687547641c7d8180d74932ab40b2205ce" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/abe6d6f77d9465fed3cd2d029b29d03b56b56435", - "reference": "abe6d6f77d9465fed3cd2d029b29d03b56b56435", + "url": "https://mirrors.huaweicloud.com/repository/php/symfony/finder/v5.4.40/symfony-finder-v5.4.40.zip", + "reference": "f51cff4687547641c7d8180d74932ab40b2205ce", "shasum": "" }, "require": { @@ -2233,7 +2204,7 @@ "symfony/deprecation-contracts": "^2.1|^3", "symfony/polyfill-php80": "^1.16" }, - "time": "2024-01-23T13:51:25+00:00", + "time": "2024-05-31T14:33:22+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -2244,7 +2215,6 @@ "/Tests/" ] }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -2260,9 +2230,6 @@ ], "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/finder/tree/v5.4.35" - }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -2281,17 +2248,17 @@ }, { "name": "symfony/http-foundation", - "version": "v5.4.35", - "version_normalized": "5.4.35.0", + "version": "v5.4.40", + "version_normalized": "5.4.40.0", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "f2ab692a22aef1cd54beb893aa0068bdfb093928" + "reference": "cf4893ca4eca3fac4ae06da1590afdbbb4217847" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/f2ab692a22aef1cd54beb893aa0068bdfb093928", - "reference": "f2ab692a22aef1cd54beb893aa0068bdfb093928", + "url": "https://mirrors.huaweicloud.com/repository/php/symfony/http-foundation/v5.4.40/symfony-http-foundation-v5.4.40.zip", + "reference": "cf4893ca4eca3fac4ae06da1590afdbbb4217847", "shasum": "" }, "require": { @@ -2301,7 +2268,7 @@ "symfony/polyfill-php80": "^1.16" }, "require-dev": { - "predis/predis": "~1.0", + "predis/predis": "^1.0|^2.0", "symfony/cache": "^4.4|^5.0|^6.0", "symfony/dependency-injection": "^5.4|^6.0", "symfony/expression-language": "^4.4|^5.0|^6.0", @@ -2312,7 +2279,7 @@ "suggest": { "symfony/mime": "To use the file extension guesser" }, - "time": "2024-01-23T13:51:25+00:00", + "time": "2024-05-31T14:33:22+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -2323,7 +2290,6 @@ "/Tests/" ] }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -2339,9 +2305,6 @@ ], "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/http-foundation/tree/v5.4.35" - }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -2360,17 +2323,17 @@ }, { "name": "symfony/polyfill-mbstring", - "version": "v1.29.0", - "version_normalized": "1.29.0.0", + "version": "v1.30.0", + "version_normalized": "1.30.0.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec" + "reference": "fd22ab50000ef01661e2a31d850ebaa297f8e03c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9773676c8a1bb1f8d4340a62efe641cf76eda7ec", - "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec", + "url": "https://mirrors.huaweicloud.com/repository/php/symfony/polyfill-mbstring/v1.30.0/symfony-polyfill-mbstring-v1.30.0.zip", + "reference": "fd22ab50000ef01661e2a31d850ebaa297f8e03c", "shasum": "" }, "require": { @@ -2382,7 +2345,7 @@ "suggest": { "ext-mbstring": "For best performance" }, - "time": "2024-01-29T20:11:03+00:00", + "time": "2024-06-19T12:30:46+00:00", "type": "library", "extra": { "thanks": { @@ -2399,7 +2362,6 @@ "Symfony\\Polyfill\\Mbstring\\": "" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -2422,9 +2384,6 @@ "portable", "shim" ], - "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.29.0" - }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -2443,23 +2402,23 @@ }, { "name": "symfony/polyfill-php73", - "version": "v1.29.0", - "version_normalized": "1.29.0.0", + "version": "v1.30.0", + "version_normalized": "1.30.0.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php73.git", - "reference": "21bd091060673a1177ae842c0ef8fe30893114d2" + "reference": "ec444d3f3f6505bb28d11afa41e75faadebc10a1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/21bd091060673a1177ae842c0ef8fe30893114d2", - "reference": "21bd091060673a1177ae842c0ef8fe30893114d2", + "url": "https://mirrors.huaweicloud.com/repository/php/symfony/polyfill-php73/v1.30.0/symfony-polyfill-php73-v1.30.0.zip", + "reference": "ec444d3f3f6505bb28d11afa41e75faadebc10a1", "shasum": "" }, "require": { "php": ">=7.1" }, - "time": "2024-01-29T20:11:03+00:00", + "time": "2024-05-31T15:07:36+00:00", "type": "library", "extra": { "thanks": { @@ -2479,7 +2438,6 @@ "Resources/stubs" ] }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -2501,9 +2459,6 @@ "portable", "shim" ], - "support": { - "source": "https://github.com/symfony/polyfill-php73/tree/v1.29.0" - }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -2522,23 +2477,23 @@ }, { "name": "symfony/polyfill-php80", - "version": "v1.29.0", - "version_normalized": "1.29.0.0", + "version": "v1.30.0", + "version_normalized": "1.30.0.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "87b68208d5c1188808dd7839ee1e6c8ec3b02f1b" + "reference": "77fa7995ac1b21ab60769b7323d600a991a90433" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/87b68208d5c1188808dd7839ee1e6c8ec3b02f1b", - "reference": "87b68208d5c1188808dd7839ee1e6c8ec3b02f1b", + "url": "https://mirrors.huaweicloud.com/repository/php/symfony/polyfill-php80/v1.30.0/symfony-polyfill-php80-v1.30.0.zip", + "reference": "77fa7995ac1b21ab60769b7323d600a991a90433", "shasum": "" }, "require": { "php": ">=7.1" }, - "time": "2024-01-29T20:11:03+00:00", + "time": "2024-05-31T15:07:36+00:00", "type": "library", "extra": { "thanks": { @@ -2558,7 +2513,6 @@ "Resources/stubs" ] }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -2584,9 +2538,6 @@ "portable", "shim" ], - "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.29.0" - }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -2761,17 +2712,17 @@ }, { "name": "symfony/var-exporter", - "version": "v5.4.35", - "version_normalized": "5.4.35.0", + "version": "v5.4.40", + "version_normalized": "5.4.40.0", "source": { "type": "git", "url": "https://github.com/symfony/var-exporter.git", - "reference": "abb0a151b62d6b07e816487e20040464af96cae7" + "reference": "6a13d37336d512927986e09f19a4bed24178baa6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-exporter/zipball/abb0a151b62d6b07e816487e20040464af96cae7", - "reference": "abb0a151b62d6b07e816487e20040464af96cae7", + "url": "https://mirrors.huaweicloud.com/repository/php/symfony/var-exporter/v5.4.40/symfony-var-exporter-v5.4.40.zip", + "reference": "6a13d37336d512927986e09f19a4bed24178baa6", "shasum": "" }, "require": { @@ -2781,7 +2732,7 @@ "require-dev": { "symfony/var-dumper": "^4.4.9|^5.0.9|^6.0" }, - "time": "2024-01-23T13:51:25+00:00", + "time": "2024-05-31T14:33:22+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -2792,7 +2743,6 @@ "/Tests/" ] }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -2816,9 +2766,6 @@ "instantiate", "serialize" ], - "support": { - "source": "https://github.com/symfony/var-exporter/tree/v5.4.35" - }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -2842,7 +2789,7 @@ "source": { "type": "git", "url": "https://gitee.com/fastadminnet/framework.git", - "reference": "3883e15817ab39f2d342ca007bc8f5b6d8b6f508" + "reference": "c859e712f50362d8ee3a7cd2e495af5494847bef" }, "require": { "php": ">=7.1.0", @@ -2856,7 +2803,7 @@ "phpunit/phpunit": "4.8.*", "sebastian/phpcpd": "2.*" }, - "time": "2024-03-26T09:19:29+00:00", + "time": "2024-06-25T09:03:56+00:00", "default-branch": true, "type": "think-framework", "installation-source": "source", @@ -3123,6 +3070,46 @@ "source": "https://github.com/txthinking/Mailer/tree/master" }, "install-path": "../txthinking/mailer" + }, + { + "name": "wanghua/general-utility-tools-php", + "version": "dev-master", + "version_normalized": "dev-master", + "source": { + "type": "git", + "url": "https://gitee.com/drop_drop/general_utility_tools_php.git", + "reference": "f31ce1f3910b7522d37a796759722f7f4c785dfe" + }, + "require": { + "ext-json": "*" + }, + "time": "2024-06-27T03:06:27+00:00", + "default-branch": true, + "type": "library", + "installation-source": "source", + "autoload": { + "psr-4": { + "wanghua\\general_utility_tools_php\\": "src/" + } + }, + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "wanghua", + "email": "wanghua@qq.com", + "homepage": "https://blog.csdn.net/qq_15941409" + } + ], + "description": "general utility tools for thinkPHP", + "homepage": "https://gitee.com/drop_drop/general_utility_tools_php.git", + "keywords": [ + "common tool", + "general-utility-tools", + "php tool" + ], + "install-path": "../wanghua/general-utility-tools-php" } ], "dev": true, diff --git a/digital_doctor_admin/vendor/composer/installed.php b/digital_doctor_admin/vendor/composer/installed.php index 15adb22..586ef30 100644 --- a/digital_doctor_admin/vendor/composer/installed.php +++ b/digital_doctor_admin/vendor/composer/installed.php @@ -1,184 +1,184 @@ array( - 'name' => 'karsonzhang/fastadmin', - 'pretty_version' => '1.x-dev', - 'version' => '1.9999999.9999999.9999999-dev', - 'reference' => 'e8a804afada3b8f71627a1c4f2734f2656099415', + 'pretty_version' => 'dev-master', + 'version' => 'dev-master', 'type' => 'project', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), + 'reference' => '1e7ad2096be950c04ee4245102122ad88ba011d6', + 'name' => 'karsonzhang/fastadmin', 'dev' => true, ), 'versions' => array( 'easywechat-composer/easywechat-composer' => array( 'pretty_version' => '1.4.1', 'version' => '1.4.1.0', - 'reference' => '3fc6a7ab6d3853c0f4e2922539b56cc37ef361cd', 'type' => 'composer-plugin', 'install_path' => __DIR__ . '/../easywechat-composer/easywechat-composer', 'aliases' => array(), + 'reference' => '3fc6a7ab6d3853c0f4e2922539b56cc37ef361cd', 'dev_requirement' => false, ), 'ezyang/htmlpurifier' => array( 'pretty_version' => 'v4.17.0', 'version' => '4.17.0.0', - 'reference' => 'bbc513d79acf6691fa9cf10f192c90dd2957f18c', 'type' => 'library', 'install_path' => __DIR__ . '/../ezyang/htmlpurifier', 'aliases' => array(), + 'reference' => 'bbc513d79acf6691fa9cf10f192c90dd2957f18c', 'dev_requirement' => false, ), 'guzzlehttp/guzzle' => array( 'pretty_version' => '7.8.1', 'version' => '7.8.1.0', - 'reference' => '41042bc7ab002487b876a0683fc8dce04ddce104', 'type' => 'library', 'install_path' => __DIR__ . '/../guzzlehttp/guzzle', 'aliases' => array(), + 'reference' => '41042bc7ab002487b876a0683fc8dce04ddce104', 'dev_requirement' => false, ), 'guzzlehttp/promises' => array( 'pretty_version' => '2.0.2', 'version' => '2.0.2.0', - 'reference' => 'bbff78d96034045e58e13dedd6ad91b5d1253223', 'type' => 'library', 'install_path' => __DIR__ . '/../guzzlehttp/promises', 'aliases' => array(), + 'reference' => 'bbff78d96034045e58e13dedd6ad91b5d1253223', 'dev_requirement' => false, ), 'guzzlehttp/psr7' => array( 'pretty_version' => '2.6.2', 'version' => '2.6.2.0', - 'reference' => '45b30f99ac27b5ca93cb4831afe16285f57b8221', 'type' => 'library', 'install_path' => __DIR__ . '/../guzzlehttp/psr7', 'aliases' => array(), + 'reference' => '45b30f99ac27b5ca93cb4831afe16285f57b8221', 'dev_requirement' => false, ), 'karsonzhang/fastadmin' => array( - 'pretty_version' => '1.x-dev', - 'version' => '1.9999999.9999999.9999999-dev', - 'reference' => 'e8a804afada3b8f71627a1c4f2734f2656099415', + 'pretty_version' => 'dev-master', + 'version' => 'dev-master', 'type' => 'project', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), + 'reference' => '1e7ad2096be950c04ee4245102122ad88ba011d6', 'dev_requirement' => false, ), 'karsonzhang/fastadmin-addons' => array( 'pretty_version' => '1.4.0', 'version' => '1.4.0.0', - 'reference' => '12b0b146bbdcb12c9f50c96baa3b7cc5f4c48ad6', 'type' => 'library', 'install_path' => __DIR__ . '/../karsonzhang/fastadmin-addons', 'aliases' => array(), + 'reference' => '12b0b146bbdcb12c9f50c96baa3b7cc5f4c48ad6', 'dev_requirement' => false, ), 'maennchen/zipstream-php' => array( 'pretty_version' => '2.2.6', 'version' => '2.2.6.0', - 'reference' => '30ad6f93cf3efe4192bc7a4c9cad11ff8f4f237f', 'type' => 'library', 'install_path' => __DIR__ . '/../maennchen/zipstream-php', 'aliases' => array(), + 'reference' => '30ad6f93cf3efe4192bc7a4c9cad11ff8f4f237f', 'dev_requirement' => false, ), 'markbaker/complex' => array( 'pretty_version' => '3.0.2', 'version' => '3.0.2.0', - 'reference' => '95c56caa1cf5c766ad6d65b6344b807c1e8405b9', 'type' => 'library', 'install_path' => __DIR__ . '/../markbaker/complex', 'aliases' => array(), + 'reference' => '95c56caa1cf5c766ad6d65b6344b807c1e8405b9', 'dev_requirement' => false, ), 'markbaker/matrix' => array( 'pretty_version' => '3.0.1', 'version' => '3.0.1.0', - 'reference' => '728434227fe21be27ff6d86621a1b13107a2562c', 'type' => 'library', 'install_path' => __DIR__ . '/../markbaker/matrix', 'aliases' => array(), + 'reference' => '728434227fe21be27ff6d86621a1b13107a2562c', 'dev_requirement' => false, ), 'monolog/monolog' => array( - 'pretty_version' => '2.9.2', - 'version' => '2.9.2.0', - 'reference' => '437cb3628f4cf6042cc10ae97fc2b8472e48ca1f', + 'pretty_version' => '2.9.3', + 'version' => '2.9.3.0', 'type' => 'library', 'install_path' => __DIR__ . '/../monolog/monolog', 'aliases' => array(), + 'reference' => 'a30bfe2e142720dfa990d0a7e573997f5d884215', 'dev_requirement' => false, ), 'myclabs/php-enum' => array( 'pretty_version' => '1.8.4', 'version' => '1.8.4.0', - 'reference' => 'a867478eae49c9f59ece437ae7f9506bfaa27483', 'type' => 'library', 'install_path' => __DIR__ . '/../myclabs/php-enum', 'aliases' => array(), + 'reference' => 'a867478eae49c9f59ece437ae7f9506bfaa27483', 'dev_requirement' => false, ), 'nelexa/zip' => array( 'pretty_version' => '4.0.2', 'version' => '4.0.2.0', - 'reference' => '88a1b6549be813278ff2dd3b6b2ac188827634a7', 'type' => 'library', 'install_path' => __DIR__ . '/../nelexa/zip', 'aliases' => array(), + 'reference' => '88a1b6549be813278ff2dd3b6b2ac188827634a7', 'dev_requirement' => false, ), 'overtrue/pinyin' => array( 'pretty_version' => '3.0.6', 'version' => '3.0.6.0', - 'reference' => '3b781d267197b74752daa32814d3a2cf5d140779', 'type' => 'library', 'install_path' => __DIR__ . '/../overtrue/pinyin', 'aliases' => array(), + 'reference' => '3b781d267197b74752daa32814d3a2cf5d140779', 'dev_requirement' => false, ), 'overtrue/socialite' => array( 'pretty_version' => '2.0.24', 'version' => '2.0.24.0', - 'reference' => 'ee7e7b000ec7d64f2b8aba1f6a2eec5cdf3f8bec', 'type' => 'library', 'install_path' => __DIR__ . '/../overtrue/socialite', 'aliases' => array(), + 'reference' => 'ee7e7b000ec7d64f2b8aba1f6a2eec5cdf3f8bec', 'dev_requirement' => false, ), 'overtrue/wechat' => array( 'pretty_version' => '4.9.0', 'version' => '4.9.0.0', - 'reference' => '92791f5d957269c633b9aa175f842f6006f945b1', 'type' => 'library', 'install_path' => __DIR__ . '/../overtrue/wechat', 'aliases' => array(), + 'reference' => '92791f5d957269c633b9aa175f842f6006f945b1', 'dev_requirement' => false, ), 'phpoffice/phpspreadsheet' => array( 'pretty_version' => '1.19.0', 'version' => '1.19.0.0', - 'reference' => 'a9ab55bfae02eecffb3df669a2e19ba0e2f04bbf', 'type' => 'library', 'install_path' => __DIR__ . '/../phpoffice/phpspreadsheet', 'aliases' => array(), + 'reference' => 'a9ab55bfae02eecffb3df669a2e19ba0e2f04bbf', 'dev_requirement' => false, ), 'pimple/pimple' => array( 'pretty_version' => 'v3.5.0', 'version' => '3.5.0.0', - 'reference' => 'a94b3a4db7fb774b3d78dad2315ddc07629e1bed', 'type' => 'library', 'install_path' => __DIR__ . '/../pimple/pimple', 'aliases' => array(), + 'reference' => 'a94b3a4db7fb774b3d78dad2315ddc07629e1bed', 'dev_requirement' => false, ), 'psr/cache' => array( 'pretty_version' => '1.0.1', 'version' => '1.0.1.0', - 'reference' => 'd11b50ad223250cf17b86e38383413f5a6764bf8', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/cache', 'aliases' => array(), + 'reference' => 'd11b50ad223250cf17b86e38383413f5a6764bf8', 'dev_requirement' => false, ), 'psr/cache-implementation' => array( @@ -190,19 +190,19 @@ 'psr/container' => array( 'pretty_version' => '2.0.2', 'version' => '2.0.2.0', - 'reference' => 'c71ecc56dfe541dbd90c5360474fbc405f8d5963', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/container', 'aliases' => array(), + 'reference' => 'c71ecc56dfe541dbd90c5360474fbc405f8d5963', 'dev_requirement' => false, ), 'psr/event-dispatcher' => array( 'pretty_version' => '1.0.0', 'version' => '1.0.0.0', - 'reference' => 'dbefd12671e8a14ec7f180cab83036ed26714bb0', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/event-dispatcher', 'aliases' => array(), + 'reference' => 'dbefd12671e8a14ec7f180cab83036ed26714bb0', 'dev_requirement' => false, ), 'psr/event-dispatcher-implementation' => array( @@ -214,10 +214,10 @@ 'psr/http-client' => array( 'pretty_version' => '1.0.3', 'version' => '1.0.3.0', - 'reference' => 'bb5906edc1c324c9a05aa0873d40117941e5fa90', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/http-client', 'aliases' => array(), + 'reference' => 'bb5906edc1c324c9a05aa0873d40117941e5fa90', 'dev_requirement' => false, ), 'psr/http-client-implementation' => array( @@ -227,12 +227,12 @@ ), ), 'psr/http-factory' => array( - 'pretty_version' => '1.0.2', - 'version' => '1.0.2.0', - 'reference' => 'e616d01114759c4c489f93b099585439f795fe35', + 'pretty_version' => '1.1.0', + 'version' => '1.1.0.0', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/http-factory', 'aliases' => array(), + 'reference' => '2b4765fddfe3b508ac62f829e852b1501d3f6e8a', 'dev_requirement' => false, ), 'psr/http-factory-implementation' => array( @@ -244,10 +244,10 @@ 'psr/http-message' => array( 'pretty_version' => '1.1', 'version' => '1.1.0.0', - 'reference' => 'cb6ce4845ce34a8ad9e68117c10ee90a29919eba', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/http-message', 'aliases' => array(), + 'reference' => 'cb6ce4845ce34a8ad9e68117c10ee90a29919eba', 'dev_requirement' => false, ), 'psr/http-message-implementation' => array( @@ -259,10 +259,10 @@ 'psr/log' => array( 'pretty_version' => '1.1.4', 'version' => '1.1.4.0', - 'reference' => 'd49695b909c3b7628b6289db5479a1c204601f11', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/log', 'aliases' => array(), + 'reference' => 'd49695b909c3b7628b6289db5479a1c204601f11', 'dev_requirement' => false, ), 'psr/log-implementation' => array( @@ -274,10 +274,10 @@ 'psr/simple-cache' => array( 'pretty_version' => '1.0.1', 'version' => '1.0.1.0', - 'reference' => '408d5eafb83c57f6365a3ca330ff23aa4a5fa39b', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/simple-cache', 'aliases' => array(), + 'reference' => '408d5eafb83c57f6365a3ca330ff23aa4a5fa39b', 'dev_requirement' => false, ), 'psr/simple-cache-implementation' => array( @@ -289,28 +289,28 @@ 'ralouphie/getallheaders' => array( 'pretty_version' => '3.0.3', 'version' => '3.0.3.0', - 'reference' => '120b605dfeb996808c31b6477290a714d356e822', 'type' => 'library', 'install_path' => __DIR__ . '/../ralouphie/getallheaders', 'aliases' => array(), + 'reference' => '120b605dfeb996808c31b6477290a714d356e822', 'dev_requirement' => false, ), 'symfony/cache' => array( - 'pretty_version' => 'v5.4.36', - 'version' => '5.4.36.0', - 'reference' => 'a30f316214d908cf5874f700f3f3fb29ceee91ba', + 'pretty_version' => 'v5.4.40', + 'version' => '5.4.40.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/cache', 'aliases' => array(), + 'reference' => '89005bc368ca02ed0433c592e4d27670d0844a66', 'dev_requirement' => false, ), 'symfony/cache-contracts' => array( - 'pretty_version' => 'v2.5.2', - 'version' => '2.5.2.0', - 'reference' => '64be4a7acb83b6f2bf6de9a02cee6dad41277ebc', + 'pretty_version' => 'v2.5.3', + 'version' => '2.5.3.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/cache-contracts', 'aliases' => array(), + 'reference' => 'fee6db04d913094e2fb55ff8e7db5685a8134463', 'dev_requirement' => false, ), 'symfony/cache-implementation' => array( @@ -320,30 +320,30 @@ ), ), 'symfony/deprecation-contracts' => array( - 'pretty_version' => 'v2.5.2', - 'version' => '2.5.2.0', - 'reference' => 'e8b495ea28c1d97b5e0c121748d6f9b53d075c66', + 'pretty_version' => 'v2.5.3', + 'version' => '2.5.3.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/deprecation-contracts', 'aliases' => array(), + 'reference' => '80d075412b557d41002320b96a096ca65aa2c98d', 'dev_requirement' => false, ), 'symfony/event-dispatcher' => array( - 'pretty_version' => 'v5.4.35', - 'version' => '5.4.35.0', - 'reference' => '7a69a85c7ea5bdd1e875806a99c51a87d3a74b38', + 'pretty_version' => 'v5.4.40', + 'version' => '5.4.40.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/event-dispatcher', 'aliases' => array(), + 'reference' => 'a54e2a8a114065f31020d6a89ede83e34c3b27a4', 'dev_requirement' => false, ), 'symfony/event-dispatcher-contracts' => array( - 'pretty_version' => 'v2.5.2', - 'version' => '2.5.2.0', - 'reference' => 'f98b54df6ad059855739db6fcbc2d36995283fe1', + 'pretty_version' => 'v2.5.3', + 'version' => '2.5.3.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/event-dispatcher-contracts', 'aliases' => array(), + 'reference' => '540f4c73e87fd0c71ca44a6aa305d024ac68cb73', 'dev_requirement' => false, ), 'symfony/event-dispatcher-implementation' => array( @@ -353,131 +353,142 @@ ), ), 'symfony/finder' => array( - 'pretty_version' => 'v5.4.35', - 'version' => '5.4.35.0', - 'reference' => 'abe6d6f77d9465fed3cd2d029b29d03b56b56435', + 'pretty_version' => 'v5.4.40', + 'version' => '5.4.40.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/finder', 'aliases' => array(), + 'reference' => 'f51cff4687547641c7d8180d74932ab40b2205ce', 'dev_requirement' => false, ), 'symfony/http-foundation' => array( - 'pretty_version' => 'v5.4.35', - 'version' => '5.4.35.0', - 'reference' => 'f2ab692a22aef1cd54beb893aa0068bdfb093928', + 'pretty_version' => 'v5.4.40', + 'version' => '5.4.40.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/http-foundation', 'aliases' => array(), + 'reference' => 'cf4893ca4eca3fac4ae06da1590afdbbb4217847', 'dev_requirement' => false, ), 'symfony/polyfill-mbstring' => array( - 'pretty_version' => 'v1.29.0', - 'version' => '1.29.0.0', - 'reference' => '9773676c8a1bb1f8d4340a62efe641cf76eda7ec', + 'pretty_version' => 'v1.30.0', + 'version' => '1.30.0.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-mbstring', 'aliases' => array(), + 'reference' => 'fd22ab50000ef01661e2a31d850ebaa297f8e03c', 'dev_requirement' => false, ), 'symfony/polyfill-php73' => array( - 'pretty_version' => 'v1.29.0', - 'version' => '1.29.0.0', - 'reference' => '21bd091060673a1177ae842c0ef8fe30893114d2', + 'pretty_version' => 'v1.30.0', + 'version' => '1.30.0.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-php73', 'aliases' => array(), + 'reference' => 'ec444d3f3f6505bb28d11afa41e75faadebc10a1', 'dev_requirement' => false, ), 'symfony/polyfill-php80' => array( - 'pretty_version' => 'v1.29.0', - 'version' => '1.29.0.0', - 'reference' => '87b68208d5c1188808dd7839ee1e6c8ec3b02f1b', + 'pretty_version' => 'v1.30.0', + 'version' => '1.30.0.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-php80', 'aliases' => array(), + 'reference' => '77fa7995ac1b21ab60769b7323d600a991a90433', 'dev_requirement' => false, ), 'symfony/psr-http-message-bridge' => array( 'pretty_version' => 'v2.3.1', 'version' => '2.3.1.0', - 'reference' => '581ca6067eb62640de5ff08ee1ba6850a0ee472e', 'type' => 'symfony-bridge', 'install_path' => __DIR__ . '/../symfony/psr-http-message-bridge', 'aliases' => array(), + 'reference' => '581ca6067eb62640de5ff08ee1ba6850a0ee472e', 'dev_requirement' => false, ), 'symfony/service-contracts' => array( 'pretty_version' => 'v1.1.2', 'version' => '1.1.2.0', - 'reference' => '191afdcb5804db960d26d8566b7e9a2843cab3a0', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/service-contracts', 'aliases' => array(), + 'reference' => '191afdcb5804db960d26d8566b7e9a2843cab3a0', 'dev_requirement' => false, ), 'symfony/var-exporter' => array( - 'pretty_version' => 'v5.4.35', - 'version' => '5.4.35.0', - 'reference' => 'abb0a151b62d6b07e816487e20040464af96cae7', + 'pretty_version' => 'v5.4.40', + 'version' => '5.4.40.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/var-exporter', 'aliases' => array(), + 'reference' => '6a13d37336d512927986e09f19a4bed24178baa6', 'dev_requirement' => false, ), 'topthink/framework' => array( 'pretty_version' => 'dev-master', 'version' => 'dev-master', - 'reference' => '3883e15817ab39f2d342ca007bc8f5b6d8b6f508', 'type' => 'think-framework', 'install_path' => __DIR__ . '/../../thinkphp', 'aliases' => array( 0 => '9999999-dev', ), + 'reference' => 'c859e712f50362d8ee3a7cd2e495af5494847bef', 'dev_requirement' => false, ), 'topthink/think-captcha' => array( 'pretty_version' => 'v1.0.9', 'version' => '1.0.9.0', - 'reference' => '9be9dd7e61c7fa3c478c4b92910d7230b94d0d23', 'type' => 'library', 'install_path' => __DIR__ . '/../topthink/think-captcha', 'aliases' => array(), + 'reference' => '9be9dd7e61c7fa3c478c4b92910d7230b94d0d23', 'dev_requirement' => false, ), 'topthink/think-helper' => array( 'pretty_version' => 'v1.0.7', 'version' => '1.0.7.0', - 'reference' => '5f92178606c8ce131d36b37a57c58eb71e55f019', 'type' => 'library', 'install_path' => __DIR__ . '/../topthink/think-helper', 'aliases' => array(), + 'reference' => '5f92178606c8ce131d36b37a57c58eb71e55f019', 'dev_requirement' => false, ), 'topthink/think-installer' => array( 'pretty_version' => 'v1.0.14', 'version' => '1.0.14.0', - 'reference' => 'eae1740ac264a55c06134b6685dfb9f837d004d1', 'type' => 'composer-plugin', 'install_path' => __DIR__ . '/../topthink/think-installer', 'aliases' => array(), + 'reference' => 'eae1740ac264a55c06134b6685dfb9f837d004d1', 'dev_requirement' => false, ), 'topthink/think-queue' => array( 'pretty_version' => 'v1.1.6', 'version' => '1.1.6.0', - 'reference' => '250650eb0e8ea5af4cfdc7ae46f3f4e0a24ac245', 'type' => 'think-extend', 'install_path' => __DIR__ . '/../topthink/think-queue', 'aliases' => array(), + 'reference' => '250650eb0e8ea5af4cfdc7ae46f3f4e0a24ac245', 'dev_requirement' => false, ), 'txthinking/mailer' => array( 'pretty_version' => 'v2.0.1', 'version' => '2.0.1.0', - 'reference' => '09013cf9dad3aac195f66ae5309e8c3343c018e9', 'type' => 'library', 'install_path' => __DIR__ . '/../txthinking/mailer', 'aliases' => array(), + 'reference' => '09013cf9dad3aac195f66ae5309e8c3343c018e9', + 'dev_requirement' => false, + ), + 'wanghua/general-utility-tools-php' => array( + 'pretty_version' => 'dev-master', + 'version' => 'dev-master', + 'type' => 'library', + 'install_path' => __DIR__ . '/../wanghua/general-utility-tools-php', + 'aliases' => array( + 0 => '9999999-dev', + ), + 'reference' => 'f31ce1f3910b7522d37a796759722f7f4c785dfe', 'dev_requirement' => false, ), ), diff --git a/digital_doctor_admin/vendor/monolog/monolog/CHANGELOG.md b/digital_doctor_admin/vendor/monolog/monolog/CHANGELOG.md index aca1bdd..a9a31e7 100644 --- a/digital_doctor_admin/vendor/monolog/monolog/CHANGELOG.md +++ b/digital_doctor_admin/vendor/monolog/monolog/CHANGELOG.md @@ -1,3 +1,7 @@ +### 2.9.3 (2024-04-12) + + * Fixed PHP 8.4 deprecation warnings (#1874) + ### 2.9.2 (2023-10-27) * Fixed display_errors parsing in ErrorHandler which did not support string values (#1804) diff --git a/digital_doctor_admin/vendor/monolog/monolog/composer.json b/digital_doctor_admin/vendor/monolog/monolog/composer.json index b9437d6..a1f08a2 100644 --- a/digital_doctor_admin/vendor/monolog/monolog/composer.json +++ b/digital_doctor_admin/vendor/monolog/monolog/composer.json @@ -27,8 +27,8 @@ "mongodb/mongodb": "^1.8", "php-amqplib/php-amqplib": "~2.4 || ^3", "phpspec/prophecy": "^1.15", - "phpstan/phpstan": "^0.12.91", - "phpunit/phpunit": "^8.5.14", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^8.5.38 || ^9.6.19", "predis/predis": "^1.1 || ^2.0", "rollbar/rollbar": "^1.3 || ^2 || ^3", "ruflin/elastica": "^7", diff --git a/digital_doctor_admin/vendor/monolog/monolog/src/Monolog/DateTimeImmutable.php b/digital_doctor_admin/vendor/monolog/monolog/src/Monolog/DateTimeImmutable.php index 6a1ba9b..789f9bf 100644 --- a/digital_doctor_admin/vendor/monolog/monolog/src/Monolog/DateTimeImmutable.php +++ b/digital_doctor_admin/vendor/monolog/monolog/src/Monolog/DateTimeImmutable.php @@ -30,6 +30,8 @@ class DateTimeImmutable extends \DateTimeImmutable implements \JsonSerializable { $this->useMicroseconds = $useMicroseconds; + // if you like to use a custom time to pass to Logger::addRecord directly, + // call modify() or setTimestamp() on this instance to change the date after creating it parent::__construct('now', $timezone); } diff --git a/digital_doctor_admin/vendor/monolog/monolog/src/Monolog/Handler/FilterHandler.php b/digital_doctor_admin/vendor/monolog/monolog/src/Monolog/Handler/FilterHandler.php index 718f17e..5e43e1d 100644 --- a/digital_doctor_admin/vendor/monolog/monolog/src/Monolog/Handler/FilterHandler.php +++ b/digital_doctor_admin/vendor/monolog/monolog/src/Monolog/Handler/FilterHandler.php @@ -161,7 +161,7 @@ class FilterHandler extends Handler implements ProcessableHandlerInterface, Rese * * @phpstan-param Record $record */ - public function getHandler(array $record = null) + public function getHandler(?array $record = null) { if (!$this->handler instanceof HandlerInterface) { $this->handler = ($this->handler)($record, $this); diff --git a/digital_doctor_admin/vendor/monolog/monolog/src/Monolog/Handler/FingersCrossedHandler.php b/digital_doctor_admin/vendor/monolog/monolog/src/Monolog/Handler/FingersCrossedHandler.php index 0627b44..dfcb3af 100644 --- a/digital_doctor_admin/vendor/monolog/monolog/src/Monolog/Handler/FingersCrossedHandler.php +++ b/digital_doctor_admin/vendor/monolog/monolog/src/Monolog/Handler/FingersCrossedHandler.php @@ -210,7 +210,7 @@ class FingersCrossedHandler extends Handler implements ProcessableHandlerInterfa * * @phpstan-param Record $record */ - public function getHandler(array $record = null) + public function getHandler(?array $record = null) { if (!$this->handler instanceof HandlerInterface) { $this->handler = ($this->handler)($record, $this); diff --git a/digital_doctor_admin/vendor/monolog/monolog/src/Monolog/Handler/SamplingHandler.php b/digital_doctor_admin/vendor/monolog/monolog/src/Monolog/Handler/SamplingHandler.php index c128a32..25cce07 100644 --- a/digital_doctor_admin/vendor/monolog/monolog/src/Monolog/Handler/SamplingHandler.php +++ b/digital_doctor_admin/vendor/monolog/monolog/src/Monolog/Handler/SamplingHandler.php @@ -90,7 +90,7 @@ class SamplingHandler extends AbstractHandler implements ProcessableHandlerInter * * @return HandlerInterface */ - public function getHandler(array $record = null) + public function getHandler(?array $record = null) { if (!$this->handler instanceof HandlerInterface) { $this->handler = ($this->handler)($record, $this); diff --git a/digital_doctor_admin/vendor/monolog/monolog/src/Monolog/Handler/Slack/SlackRecord.php b/digital_doctor_admin/vendor/monolog/monolog/src/Monolog/Handler/Slack/SlackRecord.php index 71a4109..9ae1003 100644 --- a/digital_doctor_admin/vendor/monolog/monolog/src/Monolog/Handler/Slack/SlackRecord.php +++ b/digital_doctor_admin/vendor/monolog/monolog/src/Monolog/Handler/Slack/SlackRecord.php @@ -100,7 +100,7 @@ class SlackRecord bool $useShortAttachment = false, bool $includeContextAndExtra = false, array $excludeFields = array(), - FormatterInterface $formatter = null + ?FormatterInterface $formatter = null ) { $this ->setChannel($channel) diff --git a/digital_doctor_admin/vendor/monolog/monolog/src/Monolog/Handler/TelegramBotHandler.php b/digital_doctor_admin/vendor/monolog/monolog/src/Monolog/Handler/TelegramBotHandler.php index 8912eba..a6223b7 100644 --- a/digital_doctor_admin/vendor/monolog/monolog/src/Monolog/Handler/TelegramBotHandler.php +++ b/digital_doctor_admin/vendor/monolog/monolog/src/Monolog/Handler/TelegramBotHandler.php @@ -108,9 +108,9 @@ class TelegramBotHandler extends AbstractProcessingHandler string $channel, $level = Logger::DEBUG, bool $bubble = true, - string $parseMode = null, - bool $disableWebPagePreview = null, - bool $disableNotification = null, + ?string $parseMode = null, + ?bool $disableWebPagePreview = null, + ?bool $disableNotification = null, bool $splitLongMessages = false, bool $delayBetweenMessages = false ) @@ -130,7 +130,7 @@ class TelegramBotHandler extends AbstractProcessingHandler $this->delayBetweenMessages($delayBetweenMessages); } - public function setParseMode(string $parseMode = null): self + public function setParseMode(?string $parseMode = null): self { if ($parseMode !== null && !in_array($parseMode, self::AVAILABLE_PARSE_MODES)) { throw new \InvalidArgumentException('Unknown parseMode, use one of these: ' . implode(', ', self::AVAILABLE_PARSE_MODES) . '.'); @@ -141,14 +141,14 @@ class TelegramBotHandler extends AbstractProcessingHandler return $this; } - public function disableWebPagePreview(bool $disableWebPagePreview = null): self + public function disableWebPagePreview(?bool $disableWebPagePreview = null): self { $this->disableWebPagePreview = $disableWebPagePreview; return $this; } - public function disableNotification(bool $disableNotification = null): self + public function disableNotification(?bool $disableNotification = null): self { $this->disableNotification = $disableNotification; diff --git a/digital_doctor_admin/vendor/monolog/monolog/src/Monolog/Logger.php b/digital_doctor_admin/vendor/monolog/monolog/src/Monolog/Logger.php index 84a2f55..3c588a7 100644 --- a/digital_doctor_admin/vendor/monolog/monolog/src/Monolog/Logger.php +++ b/digital_doctor_admin/vendor/monolog/monolog/src/Monolog/Logger.php @@ -337,7 +337,7 @@ class Logger implements LoggerInterface, ResettableInterface * * @phpstan-param Level $level */ - public function addRecord(int $level, string $message, array $context = [], DateTimeImmutable $datetime = null): bool + public function addRecord(int $level, string $message, array $context = [], ?DateTimeImmutable $datetime = null): bool { if (isset(self::RFC_5424_LEVELS[$level])) { $level = self::RFC_5424_LEVELS[$level]; diff --git a/digital_doctor_admin/vendor/monolog/monolog/src/Monolog/Processor/WebProcessor.php b/digital_doctor_admin/vendor/monolog/monolog/src/Monolog/Processor/WebProcessor.php index 51850e1..887f4d3 100644 --- a/digital_doctor_admin/vendor/monolog/monolog/src/Monolog/Processor/WebProcessor.php +++ b/digital_doctor_admin/vendor/monolog/monolog/src/Monolog/Processor/WebProcessor.php @@ -43,7 +43,7 @@ class WebProcessor implements ProcessorInterface * @param array|\ArrayAccess|null $serverData Array or object w/ ArrayAccess that provides access to the $_SERVER data * @param array|array|null $extraFields Field names and the related key inside $serverData to be added (or just a list of field names to use the default configured $serverData mapping). If not provided it defaults to: [url, ip, http_method, server, referrer] + unique_id if present in server data */ - public function __construct($serverData = null, array $extraFields = null) + public function __construct($serverData = null, ?array $extraFields = null) { if (null === $serverData) { $this->serverData = &$_SERVER; diff --git a/digital_doctor_admin/vendor/psr/http-factory/composer.json b/digital_doctor_admin/vendor/psr/http-factory/composer.json index d1bbdde..82a1d32 100644 --- a/digital_doctor_admin/vendor/psr/http-factory/composer.json +++ b/digital_doctor_admin/vendor/psr/http-factory/composer.json @@ -1,6 +1,6 @@ { "name": "psr/http-factory", - "description": "Common interfaces for PSR-7 HTTP message factories", + "description": "PSR-17: Common interfaces for PSR-7 HTTP message factories", "keywords": [ "psr", "psr-7", @@ -18,8 +18,11 @@ "homepage": "https://www.php-fig.org/" } ], + "support": { + "source": "https://github.com/php-fig/http-factory" + }, "require": { - "php": ">=7.0.0", + "php": ">=7.1", "psr/http-message": "^1.0 || ^2.0" }, "autoload": { diff --git a/digital_doctor_admin/vendor/psr/http-factory/src/UploadedFileFactoryInterface.php b/digital_doctor_admin/vendor/psr/http-factory/src/UploadedFileFactoryInterface.php index 7db4e30..d7adbf0 100644 --- a/digital_doctor_admin/vendor/psr/http-factory/src/UploadedFileFactoryInterface.php +++ b/digital_doctor_admin/vendor/psr/http-factory/src/UploadedFileFactoryInterface.php @@ -15,10 +15,10 @@ interface UploadedFileFactoryInterface * * @param StreamInterface $stream Underlying stream representing the * uploaded file content. - * @param int $size in bytes + * @param int|null $size in bytes * @param int $error PHP file upload error - * @param string $clientFilename Filename as provided by the client, if any. - * @param string $clientMediaType Media type as provided by the client, if any. + * @param string|null $clientFilename Filename as provided by the client, if any. + * @param string|null $clientMediaType Media type as provided by the client, if any. * * @return UploadedFileInterface * @@ -26,9 +26,9 @@ interface UploadedFileFactoryInterface */ public function createUploadedFile( StreamInterface $stream, - int $size = null, + ?int $size = null, int $error = \UPLOAD_ERR_OK, - string $clientFilename = null, - string $clientMediaType = null + ?string $clientFilename = null, + ?string $clientMediaType = null ): UploadedFileInterface; } diff --git a/digital_doctor_admin/vendor/symfony/cache-contracts/CacheInterface.php b/digital_doctor_admin/vendor/symfony/cache-contracts/CacheInterface.php index 67e4dfd..70cb0d5 100644 --- a/digital_doctor_admin/vendor/symfony/cache-contracts/CacheInterface.php +++ b/digital_doctor_admin/vendor/symfony/cache-contracts/CacheInterface.php @@ -42,16 +42,16 @@ interface CacheInterface * * @throws InvalidArgumentException When $key is not valid or when $beta is negative */ - public function get(string $key, callable $callback, float $beta = null, array &$metadata = null); + public function get(string $key, callable $callback, ?float $beta = null, ?array &$metadata = null); /** * Removes an item from the pool. * * @param string $key The key to delete * - * @throws InvalidArgumentException When $key is not valid - * * @return bool True if the item was successfully removed, false if there was any error + * + * @throws InvalidArgumentException When $key is not valid */ public function delete(string $key): bool; } diff --git a/digital_doctor_admin/vendor/symfony/cache-contracts/CacheTrait.php b/digital_doctor_admin/vendor/symfony/cache-contracts/CacheTrait.php index d340e06..b9feafb 100644 --- a/digital_doctor_admin/vendor/symfony/cache-contracts/CacheTrait.php +++ b/digital_doctor_admin/vendor/symfony/cache-contracts/CacheTrait.php @@ -30,7 +30,7 @@ trait CacheTrait * * @return mixed */ - public function get(string $key, callable $callback, float $beta = null, array &$metadata = null) + public function get(string $key, callable $callback, ?float $beta = null, ?array &$metadata = null) { return $this->doGet($this, $key, $callback, $beta, $metadata); } @@ -43,7 +43,7 @@ trait CacheTrait return $this->deleteItem($key); } - private function doGet(CacheItemPoolInterface $pool, string $key, callable $callback, ?float $beta, array &$metadata = null, LoggerInterface $logger = null) + private function doGet(CacheItemPoolInterface $pool, string $key, callable $callback, ?float $beta, ?array &$metadata = null, ?LoggerInterface $logger = null) { if (0 > $beta = $beta ?? 1.0) { throw new class(sprintf('Argument "$beta" provided to "%s::get()" must be a positive number, %f given.', static::class, $beta)) extends \InvalidArgumentException implements InvalidArgumentException { }; diff --git a/digital_doctor_admin/vendor/symfony/cache-contracts/LICENSE b/digital_doctor_admin/vendor/symfony/cache-contracts/LICENSE index 74cdc2d..7536cae 100644 --- a/digital_doctor_admin/vendor/symfony/cache-contracts/LICENSE +++ b/digital_doctor_admin/vendor/symfony/cache-contracts/LICENSE @@ -1,4 +1,4 @@ -Copyright (c) 2018-2022 Fabien Potencier +Copyright (c) 2018-present Fabien Potencier Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/digital_doctor_admin/vendor/symfony/cache/Adapter/PdoAdapter.php b/digital_doctor_admin/vendor/symfony/cache/Adapter/PdoAdapter.php index 52c139c..a2a275b 100644 --- a/digital_doctor_admin/vendor/symfony/cache/Adapter/PdoAdapter.php +++ b/digital_doctor_admin/vendor/symfony/cache/Adapter/PdoAdapter.php @@ -600,10 +600,10 @@ class PdoAdapter extends AbstractAdapter implements PruneableInterface private function isTableMissing(\PDOException $exception): bool { $driver = $this->driver; - $code = $exception->getCode(); + [$sqlState, $code] = $exception->errorInfo ?? [null, $exception->getCode()]; switch (true) { - case 'pgsql' === $driver && '42P01' === $code: + case 'pgsql' === $driver && '42P01' === $sqlState: case 'sqlite' === $driver && str_contains($exception->getMessage(), 'no such table:'): case 'oci' === $driver && 942 === $code: case 'sqlsrv' === $driver && 208 === $code: diff --git a/digital_doctor_admin/vendor/symfony/cache/Traits/RedisTrait.php b/digital_doctor_admin/vendor/symfony/cache/Traits/RedisTrait.php index 8fcd7ba..518a563 100644 --- a/digital_doctor_admin/vendor/symfony/cache/Traits/RedisTrait.php +++ b/digital_doctor_admin/vendor/symfony/cache/Traits/RedisTrait.php @@ -15,6 +15,8 @@ use Predis\Command\Redis\UNLINK; use Predis\Connection\Aggregate\ClusterInterface; use Predis\Connection\Aggregate\RedisCluster; use Predis\Connection\Aggregate\ReplicationInterface; +use Predis\Connection\Cluster\ClusterInterface as Predis2ClusterInterface; +use Predis\Connection\Cluster\RedisCluster as Predis2RedisCluster; use Predis\Response\ErrorInterface; use Predis\Response\Status; use Symfony\Component\Cache\Exception\CacheException; @@ -283,7 +285,10 @@ trait RedisTrait } if ((null !== $auth && !$redis->auth($auth)) - || ($params['dbindex'] && !$redis->select($params['dbindex'])) + // Due to a bug in phpredis we must always select the dbindex if persistent pooling is enabled + // @see https://github.com/phpredis/phpredis/issues/1920 + // @see https://github.com/symfony/symfony/issues/51578 + || (($params['dbindex'] || ('pconnect' === $connect && '0' !== \ini_get('redis.pconnect.pooling_enabled'))) && !$redis->select($params['dbindex'])) ) { $e = preg_replace('/^ERR /', '', $redis->getLastError()); throw new InvalidArgumentException('Redis connection failed: '.$e.'.'); @@ -403,9 +408,6 @@ trait RedisTrait return $redis; } - /** - * {@inheritdoc} - */ protected function doFetch(array $ids) { if (!$ids) { @@ -414,7 +416,7 @@ trait RedisTrait $result = []; - if ($this->redis instanceof \Predis\ClientInterface && $this->redis->getConnection() instanceof ClusterInterface) { + if ($this->redis instanceof \Predis\ClientInterface && ($this->redis->getConnection() instanceof ClusterInterface || $this->redis->getConnection() instanceof Predis2ClusterInterface)) { $values = $this->pipeline(function () use ($ids) { foreach ($ids as $id) { yield 'get' => [$id]; @@ -439,17 +441,11 @@ trait RedisTrait return $result; } - /** - * {@inheritdoc} - */ protected function doHave(string $id) { return (bool) $this->redis->exists($id); } - /** - * {@inheritdoc} - */ protected function doClear(string $namespace) { if ($this->redis instanceof \Predis\ClientInterface) { @@ -505,22 +501,19 @@ trait RedisTrait } $this->doDelete($keys); } - } while ($cursor = (int) $cursor); + } while ($cursor); } return $cleared; } - /** - * {@inheritdoc} - */ protected function doDelete(array $ids) { if (!$ids) { return true; } - if ($this->redis instanceof \Predis\ClientInterface && $this->redis->getConnection() instanceof ClusterInterface) { + if ($this->redis instanceof \Predis\ClientInterface && ($this->redis->getConnection() instanceof ClusterInterface || $this->redis->getConnection() instanceof Predis2ClusterInterface)) { static $del; $del = $del ?? (class_exists(UNLINK::class) ? 'unlink' : 'del'); @@ -548,9 +541,6 @@ trait RedisTrait return true; } - /** - * {@inheritdoc} - */ protected function doSave(array $values, int $lifetime) { if (!$values = $this->marshaller->marshall($values, $failed)) { @@ -581,7 +571,7 @@ trait RedisTrait $ids = []; $redis = $redis ?? $this->redis; - if ($redis instanceof RedisClusterProxy || $redis instanceof \RedisCluster || ($redis instanceof \Predis\ClientInterface && $redis->getConnection() instanceof RedisCluster)) { + if ($redis instanceof RedisClusterProxy || $redis instanceof \RedisCluster || ($redis instanceof \Predis\ClientInterface && ($redis->getConnection() instanceof RedisCluster || $redis->getConnection() instanceof Predis2RedisCluster))) { // phpredis & predis don't support pipelining with RedisCluster // see https://github.com/phpredis/phpredis/blob/develop/cluster.markdown#pipelining // see https://github.com/nrk/predis/issues/267#issuecomment-123781423 @@ -643,7 +633,7 @@ trait RedisTrait $hosts = [$this->redis]; if ($this->redis instanceof \Predis\ClientInterface) { $connection = $this->redis->getConnection(); - if ($connection instanceof ClusterInterface && $connection instanceof \Traversable) { + if (($connection instanceof ClusterInterface || $connection instanceof Predis2ClusterInterface) && $connection instanceof \Traversable) { $hosts = []; foreach ($connection as $c) { $hosts[] = new \Predis\Client($c); diff --git a/digital_doctor_admin/vendor/symfony/cache/composer.json b/digital_doctor_admin/vendor/symfony/cache/composer.json index e3526bb..fdf794f 100644 --- a/digital_doctor_admin/vendor/symfony/cache/composer.json +++ b/digital_doctor_admin/vendor/symfony/cache/composer.json @@ -35,7 +35,7 @@ "cache/integration-tests": "dev-master", "doctrine/cache": "^1.6|^2.0", "doctrine/dbal": "^2.13.1|^3|^4", - "predis/predis": "^1.1", + "predis/predis": "^1.1|^2.0", "psr/simple-cache": "^1.0|^2.0", "symfony/config": "^4.4|^5.0|^6.0", "symfony/dependency-injection": "^4.4|^5.0|^6.0", diff --git a/digital_doctor_admin/vendor/symfony/deprecation-contracts/LICENSE b/digital_doctor_admin/vendor/symfony/deprecation-contracts/LICENSE index 406242f..0ed3a24 100644 --- a/digital_doctor_admin/vendor/symfony/deprecation-contracts/LICENSE +++ b/digital_doctor_admin/vendor/symfony/deprecation-contracts/LICENSE @@ -1,4 +1,4 @@ -Copyright (c) 2020-2022 Fabien Potencier +Copyright (c) 2020-present Fabien Potencier Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/digital_doctor_admin/vendor/symfony/event-dispatcher-contracts/EventDispatcherInterface.php b/digital_doctor_admin/vendor/symfony/event-dispatcher-contracts/EventDispatcherInterface.php index 351dc51..81f4e89 100644 --- a/digital_doctor_admin/vendor/symfony/event-dispatcher-contracts/EventDispatcherInterface.php +++ b/digital_doctor_admin/vendor/symfony/event-dispatcher-contracts/EventDispatcherInterface.php @@ -27,5 +27,5 @@ interface EventDispatcherInterface extends PsrEventDispatcherInterface * * @return object The passed $event MUST be returned */ - public function dispatch(object $event, string $eventName = null): object; + public function dispatch(object $event, ?string $eventName = null): object; } diff --git a/digital_doctor_admin/vendor/symfony/event-dispatcher-contracts/LICENSE b/digital_doctor_admin/vendor/symfony/event-dispatcher-contracts/LICENSE index 74cdc2d..7536cae 100644 --- a/digital_doctor_admin/vendor/symfony/event-dispatcher-contracts/LICENSE +++ b/digital_doctor_admin/vendor/symfony/event-dispatcher-contracts/LICENSE @@ -1,4 +1,4 @@ -Copyright (c) 2018-2022 Fabien Potencier +Copyright (c) 2018-present Fabien Potencier Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/digital_doctor_admin/vendor/symfony/event-dispatcher/Debug/WrappedListener.php b/digital_doctor_admin/vendor/symfony/event-dispatcher/Debug/WrappedListener.php index 80d49a1..792c175 100644 --- a/digital_doctor_admin/vendor/symfony/event-dispatcher/Debug/WrappedListener.php +++ b/digital_doctor_admin/vendor/symfony/event-dispatcher/Debug/WrappedListener.php @@ -47,7 +47,7 @@ final class WrappedListener $this->pretty = $this->name.'::'.$listener[1]; } elseif ($listener instanceof \Closure) { $r = new \ReflectionFunction($listener); - if (str_contains($r->name, '{closure}')) { + if (str_contains($r->name, '{closure')) { $this->pretty = $this->name = 'closure'; } elseif ($class = \PHP_VERSION_ID >= 80111 ? $r->getClosureCalledClass() : $r->getClosureScopeClass()) { $this->name = $class->name; diff --git a/digital_doctor_admin/vendor/symfony/http-foundation/HeaderUtils.php b/digital_doctor_admin/vendor/symfony/http-foundation/HeaderUtils.php index 3456eda..110896e 100644 --- a/digital_doctor_admin/vendor/symfony/http-foundation/HeaderUtils.php +++ b/digital_doctor_admin/vendor/symfony/http-foundation/HeaderUtils.php @@ -286,7 +286,11 @@ class HeaderUtils } foreach ($partMatches as $matches) { - $parts[] = '' === $separators ? self::unquote($matches[0][0]) : self::groupParts($matches, $separators, false); + if ('' === $separators && '' !== $unquoted = self::unquote($matches[0][0])) { + $parts[] = $unquoted; + } elseif ($groupedParts = self::groupParts($matches, $separators, false)) { + $parts[] = $groupedParts; + } } return $parts; diff --git a/digital_doctor_admin/vendor/symfony/http-foundation/ParameterBag.php b/digital_doctor_admin/vendor/symfony/http-foundation/ParameterBag.php index e1f89d6..b542292 100644 --- a/digital_doctor_admin/vendor/symfony/http-foundation/ParameterBag.php +++ b/digital_doctor_admin/vendor/symfony/http-foundation/ParameterBag.php @@ -39,7 +39,7 @@ class ParameterBag implements \IteratorAggregate, \Countable * * @return array */ - public function all(/* string $key = null */) + public function all(/* ?string $key = null */) { $key = \func_num_args() > 0 ? func_get_arg(0) : null; diff --git a/digital_doctor_admin/vendor/symfony/http-foundation/RedirectResponse.php b/digital_doctor_admin/vendor/symfony/http-foundation/RedirectResponse.php index 2103280..7b89f0f 100644 --- a/digital_doctor_admin/vendor/symfony/http-foundation/RedirectResponse.php +++ b/digital_doctor_admin/vendor/symfony/http-foundation/RedirectResponse.php @@ -103,6 +103,7 @@ class RedirectResponse extends Response ', htmlspecialchars($url, \ENT_QUOTES, 'UTF-8'))); $this->headers->set('Location', $url); + $this->headers->set('Content-Type', 'text/html; charset=utf-8'); return $this; } diff --git a/digital_doctor_admin/vendor/symfony/http-foundation/composer.json b/digital_doctor_admin/vendor/symfony/http-foundation/composer.json index cb8d59f..a2e43a9 100644 --- a/digital_doctor_admin/vendor/symfony/http-foundation/composer.json +++ b/digital_doctor_admin/vendor/symfony/http-foundation/composer.json @@ -22,7 +22,7 @@ "symfony/polyfill-php80": "^1.16" }, "require-dev": { - "predis/predis": "~1.0", + "predis/predis": "^1.0|^2.0", "symfony/cache": "^4.4|^5.0|^6.0", "symfony/dependency-injection": "^5.4|^6.0", "symfony/http-kernel": "^5.4.12|^6.0.12|^6.1.4", diff --git a/digital_doctor_admin/vendor/symfony/polyfill-mbstring/Mbstring.php b/digital_doctor_admin/vendor/symfony/polyfill-mbstring/Mbstring.php index 2e0b969..1ad33a8 100644 --- a/digital_doctor_admin/vendor/symfony/polyfill-mbstring/Mbstring.php +++ b/digital_doctor_admin/vendor/symfony/polyfill-mbstring/Mbstring.php @@ -48,6 +48,8 @@ namespace Symfony\Polyfill\Mbstring; * - mb_strstr - Finds first occurrence of a string within another * - mb_strwidth - Return width of string * - mb_substr_count - Count the number of substring occurrences + * - mb_ucfirst - Make a string's first character uppercase + * - mb_lcfirst - Make a string's first character lowercase * * Not implemented: * - mb_convert_kana - Convert "kana" one from another ("zen-kaku", "han-kaku" and more) @@ -80,6 +82,21 @@ final class Mbstring public static function mb_convert_encoding($s, $toEncoding, $fromEncoding = null) { + if (\is_array($s)) { + if (PHP_VERSION_ID < 70200) { + trigger_error('mb_convert_encoding() expects parameter 1 to be string, array given', \E_USER_WARNING); + + return null; + } + + $r = []; + foreach ($s as $str) { + $r[] = self::mb_convert_encoding($str, $toEncoding, $fromEncoding); + } + + return $r; + } + if (\is_array($fromEncoding) || (null !== $fromEncoding && false !== strpos($fromEncoding, ','))) { $fromEncoding = self::mb_detect_encoding($s, $fromEncoding); } else { @@ -410,7 +427,7 @@ final class Mbstring public static function mb_check_encoding($var = null, $encoding = null) { - if (PHP_VERSION_ID < 70200 && \is_array($var)) { + if (\PHP_VERSION_ID < 70200 && \is_array($var)) { trigger_error('mb_check_encoding() expects parameter 1 to be string, array given', \E_USER_WARNING); return null; @@ -437,7 +454,6 @@ final class Mbstring } return true; - } public static function mb_detect_encoding($str, $encodingList = null, $strict = false) @@ -827,7 +843,7 @@ final class Mbstring return $code; } - public static function mb_str_pad(string $string, int $length, string $pad_string = ' ', int $pad_type = \STR_PAD_RIGHT, string $encoding = null): string + public static function mb_str_pad(string $string, int $length, string $pad_string = ' ', int $pad_type = \STR_PAD_RIGHT, ?string $encoding = null): string { if (!\in_array($pad_type, [\STR_PAD_RIGHT, \STR_PAD_LEFT, \STR_PAD_BOTH], true)) { throw new \ValueError('mb_str_pad(): Argument #4 ($pad_type) must be STR_PAD_LEFT, STR_PAD_RIGHT, or STR_PAD_BOTH'); @@ -835,17 +851,8 @@ final class Mbstring if (null === $encoding) { $encoding = self::mb_internal_encoding(); - } - - try { - $validEncoding = @self::mb_check_encoding('', $encoding); - } catch (\ValueError $e) { - throw new \ValueError(sprintf('mb_str_pad(): Argument #5 ($encoding) must be a valid encoding, "%s" given', $encoding)); - } - - // BC for PHP 7.3 and lower - if (!$validEncoding) { - throw new \ValueError(sprintf('mb_str_pad(): Argument #5 ($encoding) must be a valid encoding, "%s" given', $encoding)); + } else { + self::assertEncoding($encoding, 'mb_str_pad(): Argument #5 ($encoding) must be a valid encoding, "%s" given'); } if (self::mb_strlen($pad_string, $encoding) <= 0) { @@ -871,6 +878,34 @@ final class Mbstring } } + public static function mb_ucfirst(string $string, ?string $encoding = null): string + { + if (null === $encoding) { + $encoding = self::mb_internal_encoding(); + } else { + self::assertEncoding($encoding, 'mb_ucfirst(): Argument #2 ($encoding) must be a valid encoding, "%s" given'); + } + + $firstChar = mb_substr($string, 0, 1, $encoding); + $firstChar = mb_convert_case($firstChar, \MB_CASE_TITLE, $encoding); + + return $firstChar.mb_substr($string, 1, null, $encoding); + } + + public static function mb_lcfirst(string $string, ?string $encoding = null): string + { + if (null === $encoding) { + $encoding = self::mb_internal_encoding(); + } else { + self::assertEncoding($encoding, 'mb_lcfirst(): Argument #2 ($encoding) must be a valid encoding, "%s" given'); + } + + $firstChar = mb_substr($string, 0, 1, $encoding); + $firstChar = mb_convert_case($firstChar, \MB_CASE_LOWER, $encoding); + + return $firstChar.mb_substr($string, 1, null, $encoding); + } + private static function getSubpart($pos, $part, $haystack, $encoding) { if (false === $pos) { @@ -944,4 +979,18 @@ final class Mbstring return $encoding; } + + private static function assertEncoding(string $encoding, string $errorFormat): void + { + try { + $validEncoding = @self::mb_check_encoding('', $encoding); + } catch (\ValueError $e) { + throw new \ValueError(\sprintf($errorFormat, $encoding)); + } + + // BC for PHP 7.3 and lower + if (!$validEncoding) { + throw new \ValueError(\sprintf($errorFormat, $encoding)); + } + } } diff --git a/digital_doctor_admin/vendor/symfony/polyfill-mbstring/bootstrap.php b/digital_doctor_admin/vendor/symfony/polyfill-mbstring/bootstrap.php index ecf1a03..6e4b5fc 100644 --- a/digital_doctor_admin/vendor/symfony/polyfill-mbstring/bootstrap.php +++ b/digital_doctor_admin/vendor/symfony/polyfill-mbstring/bootstrap.php @@ -136,6 +136,14 @@ if (!function_exists('mb_str_pad')) { function mb_str_pad(string $string, int $length, string $pad_string = ' ', int $pad_type = STR_PAD_RIGHT, ?string $encoding = null): string { return p\Mbstring::mb_str_pad($string, $length, $pad_string, $pad_type, $encoding); } } +if (!function_exists('mb_ucfirst')) { + function mb_ucfirst(string $string, ?string $encoding = null): string { return p\Mbstring::mb_ucfirst($string, $encoding); } +} + +if (!function_exists('mb_lcfirst')) { + function mb_lcfirst(string $string, ?string $encoding = null): string { return p\Mbstring::mb_lcfirst($string, $encoding); } +} + if (extension_loaded('mbstring')) { return; } diff --git a/digital_doctor_admin/vendor/symfony/polyfill-mbstring/bootstrap80.php b/digital_doctor_admin/vendor/symfony/polyfill-mbstring/bootstrap80.php index 2f9fb5b..ec2ae42 100644 --- a/digital_doctor_admin/vendor/symfony/polyfill-mbstring/bootstrap80.php +++ b/digital_doctor_admin/vendor/symfony/polyfill-mbstring/bootstrap80.php @@ -132,6 +132,14 @@ if (!function_exists('mb_str_pad')) { function mb_str_pad(string $string, int $length, string $pad_string = ' ', int $pad_type = STR_PAD_RIGHT, ?string $encoding = null): string { return p\Mbstring::mb_str_pad($string, $length, $pad_string, $pad_type, $encoding); } } +if (!function_exists('mb_ucfirst')) { + function mb_ucfirst($string, ?string $encoding = null): string { return p\Mbstring::mb_ucfirst($string, $encoding); } +} + +if (!function_exists('mb_lcfirst')) { + function mb_lcfirst($string, ?string $encoding = null): string { return p\Mbstring::mb_lcfirst($string, $encoding); } +} + if (extension_loaded('mbstring')) { return; } diff --git a/digital_doctor_admin/vendor/wanghua/general-utility-tools-php b/digital_doctor_admin/vendor/wanghua/general-utility-tools-php new file mode 160000 index 0000000..f31ce1f --- /dev/null +++ b/digital_doctor_admin/vendor/wanghua/general-utility-tools-php @@ -0,0 +1 @@ +Subproject commit f31ce1f3910b7522d37a796759722f7f4c785dfe