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 1df8f59..0000000 Binary files a/digital_doctor/public/favicon.ico and /dev/null differ 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