From 5b651446c4fda91a9347065e756474eb14a67048 Mon Sep 17 00:00:00 2001 From: stephane-gillot <44164024+stephane-gillot@users.noreply.github.com> Date: Wed, 25 Sep 2024 09:12:01 +0000 Subject: [PATCH] Release version 6.8.0 --- .gitignore | 64 +- vendor/autoload.php | 7 + vendor/composer/ClassLoader.php | 572 ++++++++++++++++++ vendor/composer/InstalledVersions.php | 357 +++++++++++ vendor/composer/LICENSE | 21 + vendor/composer/autoload_classmap.php | 327 ++++++++++ vendor/composer/autoload_files.php | 10 + vendor/composer/autoload_namespaces.php | 9 + vendor/composer/autoload_psr4.php | 13 + vendor/composer/autoload_real.php | 80 +++ vendor/composer/autoload_static.php | 375 ++++++++++++ vendor/composer/installed.json | 200 ++++++ vendor/composer/installed.php | 41 ++ vendor/composer/installers/LICENSE | 19 + vendor/composer/installers/phpstan.neon.dist | 12 + .../src/Composer/Installers/AglInstaller.php | 29 + .../Installers/AkauntingInstaller.php | 23 + .../Installers/AnnotateCmsInstaller.php | 13 + .../Composer/Installers/AsgardInstaller.php | 58 ++ .../Composer/Installers/AttogramInstaller.php | 11 + .../src/Composer/Installers/BaseInstaller.php | 137 +++++ .../Composer/Installers/BitrixInstaller.php | 123 ++++ .../Composer/Installers/BonefishInstaller.php | 11 + .../Composer/Installers/CakePHPInstaller.php | 67 ++ .../src/Composer/Installers/ChefInstaller.php | 12 + .../Composer/Installers/CiviCrmInstaller.php | 11 + .../Installers/ClanCatsFrameworkInstaller.php | 12 + .../Composer/Installers/CockpitInstaller.php | 36 ++ .../Installers/CodeIgniterInstaller.php | 13 + .../Installers/Concrete5Installer.php | 15 + .../Composer/Installers/CroogoInstaller.php | 23 + .../Composer/Installers/DecibelInstaller.php | 12 + .../Composer/Installers/DframeInstaller.php | 11 + .../Composer/Installers/DokuWikiInstaller.php | 57 ++ .../Composer/Installers/DolibarrInstaller.php | 18 + .../Composer/Installers/DrupalInstaller.php | 24 + .../src/Composer/Installers/ElggInstaller.php | 11 + .../Composer/Installers/EliasisInstaller.php | 14 + .../Installers/ExpressionEngineInstaller.php | 31 + .../Installers/EzPlatformInstaller.php | 12 + .../src/Composer/Installers/FuelInstaller.php | 13 + .../Composer/Installers/FuelphpInstaller.php | 11 + .../src/Composer/Installers/GravInstaller.php | 29 + .../Composer/Installers/HuradInstaller.php | 27 + .../Composer/Installers/ImageCMSInstaller.php | 13 + .../src/Composer/Installers/Installer.php | 280 +++++++++ .../src/Composer/Installers/ItopInstaller.php | 11 + .../Composer/Installers/KanboardInstaller.php | 20 + .../Composer/Installers/KnownInstaller.php | 13 + .../Composer/Installers/KodiCMSInstaller.php | 12 + .../Composer/Installers/KohanaInstaller.php | 11 + .../LanManagementSystemInstaller.php | 27 + .../Composer/Installers/LaravelInstaller.php | 11 + .../Composer/Installers/LavaLiteInstaller.php | 12 + .../Composer/Installers/LithiumInstaller.php | 12 + .../Installers/MODULEWorkInstaller.php | 11 + .../Composer/Installers/MODXEvoInstaller.php | 18 + .../Composer/Installers/MagentoInstaller.php | 13 + .../Composer/Installers/MajimaInstaller.php | 46 ++ .../src/Composer/Installers/MakoInstaller.php | 11 + .../Composer/Installers/MantisBTInstaller.php | 25 + .../Composer/Installers/MatomoInstaller.php | 28 + .../Composer/Installers/MauticInstaller.php | 43 ++ .../src/Composer/Installers/MayaInstaller.php | 38 ++ .../Installers/MediaWikiInstaller.php | 58 ++ .../Composer/Installers/MiaoxingInstaller.php | 11 + .../Installers/MicroweberInstaller.php | 145 +++++ .../src/Composer/Installers/ModxInstaller.php | 14 + .../Composer/Installers/MoodleInstaller.php | 67 ++ .../Composer/Installers/OctoberInstaller.php | 57 ++ .../Composer/Installers/OntoWikiInstaller.php | 26 + .../Composer/Installers/OsclassInstaller.php | 14 + .../src/Composer/Installers/OxidInstaller.php | 49 ++ .../src/Composer/Installers/PPIInstaller.php | 11 + .../Composer/Installers/PantheonInstaller.php | 12 + .../Composer/Installers/PhiftyInstaller.php | 13 + .../Composer/Installers/PhpBBInstaller.php | 13 + .../Composer/Installers/PiwikInstaller.php | 28 + .../Installers/PlentymarketsInstaller.php | 28 + .../src/Composer/Installers/Plugin.php | 28 + .../Composer/Installers/PortoInstaller.php | 11 + .../Installers/PrestashopInstaller.php | 12 + .../Installers/ProcessWireInstaller.php | 23 + .../Composer/Installers/PuppetInstaller.php | 12 + .../Composer/Installers/PxcmsInstaller.php | 62 ++ .../Composer/Installers/RadPHPInstaller.php | 26 + .../Composer/Installers/ReIndexInstaller.php | 12 + .../Composer/Installers/Redaxo5Installer.php | 12 + .../Composer/Installers/RedaxoInstaller.php | 12 + .../Installers/RoundcubeInstaller.php | 21 + .../src/Composer/Installers/SMFInstaller.php | 12 + .../Composer/Installers/ShopwareInstaller.php | 66 ++ .../Installers/SilverStripeInstaller.php | 33 + .../Installers/SiteDirectInstaller.php | 34 ++ .../Composer/Installers/StarbugInstaller.php | 14 + .../Composer/Installers/SyDESInstaller.php | 55 ++ .../Composer/Installers/SyliusInstaller.php | 11 + .../src/Composer/Installers/TaoInstaller.php | 32 + .../Installers/TastyIgniterInstaller.php | 85 +++ .../Composer/Installers/TheliaInstaller.php | 14 + .../src/Composer/Installers/TuskInstaller.php | 17 + .../Installers/UserFrostingInstaller.php | 11 + .../Composer/Installers/VanillaInstaller.php | 12 + .../Composer/Installers/VgmcpInstaller.php | 59 ++ .../Composer/Installers/WHMCSInstaller.php | 22 + .../Composer/Installers/WinterInstaller.php | 71 +++ .../Composer/Installers/WolfCMSInstaller.php | 11 + .../Installers/WordPressInstaller.php | 14 + .../Composer/Installers/YawikInstaller.php | 23 + .../src/Composer/Installers/ZendInstaller.php | 13 + .../Composer/Installers/ZikulaInstaller.php | 12 + vendor/composer/installers/src/bootstrap.php | 18 + vendor/composer/platform_check.php | 26 + .../php-feed-generator/changelog.md | 3 + .../src/Csv/CsvProductFeedWriter.php | 195 ++++++ .../src/Product/AbstractProduct.php | 365 +++++++++++ .../src/Product/InvalidProductException.php | 6 + .../src/Product/Product.php | 250 ++++++++ .../src/Product/ProductAttribute.php | 41 ++ .../src/Product/ProductBrand.php | 41 ++ .../src/Product/ProductCategory.php | 41 ++ .../src/Product/ProductDescription.php | 42 ++ .../src/Product/ProductDiscount.php | 70 +++ .../src/Product/ProductShipping.php | 41 ++ .../src/Product/ProductVariation.php | 6 + .../src/ProductFeedMetadata.php | 215 +++++++ .../src/ProductFeedResult.php | 35 ++ .../src/ProductFeedWriterInterface.php | 58 ++ .../src/ProductGenerator.php | 302 +++++++++ .../src/Xml/XmlProductFeedWriter.php | 241 ++++++++ .../php-feed-generator/src/functions.php | 22 + 131 files changed, 7005 insertions(+), 37 deletions(-) create mode 100644 vendor/autoload.php create mode 100644 vendor/composer/ClassLoader.php create mode 100644 vendor/composer/InstalledVersions.php create mode 100644 vendor/composer/LICENSE create mode 100644 vendor/composer/autoload_classmap.php create mode 100644 vendor/composer/autoload_files.php create mode 100644 vendor/composer/autoload_namespaces.php create mode 100644 vendor/composer/autoload_psr4.php create mode 100644 vendor/composer/autoload_real.php create mode 100644 vendor/composer/autoload_static.php create mode 100644 vendor/composer/installed.json create mode 100644 vendor/composer/installed.php create mode 100644 vendor/composer/installers/LICENSE create mode 100644 vendor/composer/installers/phpstan.neon.dist create mode 100644 vendor/composer/installers/src/Composer/Installers/AglInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/AkauntingInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/AnnotateCmsInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/AsgardInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/AttogramInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/BaseInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/BitrixInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/BonefishInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/CakePHPInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/ChefInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/CiviCrmInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/ClanCatsFrameworkInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/CockpitInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/CodeIgniterInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/Concrete5Installer.php create mode 100644 vendor/composer/installers/src/Composer/Installers/CroogoInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/DecibelInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/DframeInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/DokuWikiInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/DolibarrInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/DrupalInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/ElggInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/EliasisInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/ExpressionEngineInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/EzPlatformInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/FuelInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/FuelphpInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/GravInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/HuradInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/ImageCMSInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/Installer.php create mode 100644 vendor/composer/installers/src/Composer/Installers/ItopInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/KanboardInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/KnownInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/KodiCMSInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/KohanaInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/LanManagementSystemInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/LaravelInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/LavaLiteInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/LithiumInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/MODULEWorkInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/MODXEvoInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/MagentoInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/MajimaInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/MakoInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/MantisBTInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/MatomoInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/MauticInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/MayaInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/MediaWikiInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/MiaoxingInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/MicroweberInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/ModxInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/MoodleInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/OctoberInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/OntoWikiInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/OsclassInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/OxidInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/PPIInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/PantheonInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/PhiftyInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/PhpBBInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/PiwikInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/PlentymarketsInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/Plugin.php create mode 100644 vendor/composer/installers/src/Composer/Installers/PortoInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/PrestashopInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/ProcessWireInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/PuppetInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/PxcmsInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/RadPHPInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/ReIndexInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/Redaxo5Installer.php create mode 100644 vendor/composer/installers/src/Composer/Installers/RedaxoInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/RoundcubeInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/SMFInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/ShopwareInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/SilverStripeInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/SiteDirectInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/StarbugInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/SyDESInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/SyliusInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/TaoInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/TastyIgniterInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/TheliaInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/TuskInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/UserFrostingInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/VanillaInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/VgmcpInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/WHMCSInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/WinterInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/WolfCMSInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/WordPressInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/YawikInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/ZendInstaller.php create mode 100644 vendor/composer/installers/src/Composer/Installers/ZikulaInstaller.php create mode 100644 vendor/composer/installers/src/bootstrap.php create mode 100644 vendor/composer/platform_check.php create mode 100644 vendor/shoppingfeed/php-feed-generator/changelog.md create mode 100644 vendor/shoppingfeed/php-feed-generator/src/Csv/CsvProductFeedWriter.php create mode 100644 vendor/shoppingfeed/php-feed-generator/src/Product/AbstractProduct.php create mode 100644 vendor/shoppingfeed/php-feed-generator/src/Product/InvalidProductException.php create mode 100644 vendor/shoppingfeed/php-feed-generator/src/Product/Product.php create mode 100644 vendor/shoppingfeed/php-feed-generator/src/Product/ProductAttribute.php create mode 100644 vendor/shoppingfeed/php-feed-generator/src/Product/ProductBrand.php create mode 100644 vendor/shoppingfeed/php-feed-generator/src/Product/ProductCategory.php create mode 100644 vendor/shoppingfeed/php-feed-generator/src/Product/ProductDescription.php create mode 100644 vendor/shoppingfeed/php-feed-generator/src/Product/ProductDiscount.php create mode 100644 vendor/shoppingfeed/php-feed-generator/src/Product/ProductShipping.php create mode 100644 vendor/shoppingfeed/php-feed-generator/src/Product/ProductVariation.php create mode 100644 vendor/shoppingfeed/php-feed-generator/src/ProductFeedMetadata.php create mode 100644 vendor/shoppingfeed/php-feed-generator/src/ProductFeedResult.php create mode 100644 vendor/shoppingfeed/php-feed-generator/src/ProductFeedWriterInterface.php create mode 100644 vendor/shoppingfeed/php-feed-generator/src/ProductGenerator.php create mode 100644 vendor/shoppingfeed/php-feed-generator/src/Xml/XmlProductFeedWriter.php create mode 100644 vendor/shoppingfeed/php-feed-generator/src/functions.php diff --git a/.gitignore b/.gitignore index 0f68535c..330418a4 100644 --- a/.gitignore +++ b/.gitignore @@ -1,39 +1,29 @@ -# Windows image file caches -Thumbs.db -ehthumbs.db - -# Folder config file -Desktop.ini - -# Recycle Bin used on file shares -$RECYCLE.BIN/ - -# Mac -.DS_Store - -# Sublime -*.sublime-project -*.sublime-workspace - -# PhpStorm +.git .idea - -# Eclipse -*.pydevproject -.project -.metadata -build/ -tmp/ - -# Grunt +.github +bin node_modules - -# Vendor -vendor - -# Temporary files -*~ - -# Project -wordpress/ -app \ No newline at end of file +tests +wordpress +.distignore +.dockerignore +.DS_Store +.editorconfig +.env +.env.testing +.gitignore +.lando.dist.yml +.plugin-data +codeception.dist.yml +composer.json +composer.lock +grumphp.yml +gulpfile.js +LICENCE +old-bitbucket-pipelines.yml +package.json +package-lock.json +phpcs.xml +psalm.xml +readme.md +wp-cli.yml \ No newline at end of file diff --git a/vendor/autoload.php b/vendor/autoload.php new file mode 100644 index 00000000..ad359904 --- /dev/null +++ b/vendor/autoload.php @@ -0,0 +1,7 @@ + + * Jordi Boggiano + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Composer\Autoload; + +/** + * ClassLoader implements a PSR-0, PSR-4 and classmap class loader. + * + * $loader = new \Composer\Autoload\ClassLoader(); + * + * // register classes with namespaces + * $loader->add('Symfony\Component', __DIR__.'/component'); + * $loader->add('Symfony', __DIR__.'/framework'); + * + * // activate the autoloader + * $loader->register(); + * + * // to enable searching the include path (eg. for PEAR packages) + * $loader->setUseIncludePath(true); + * + * In this example, if you try to use a class in the Symfony\Component + * namespace or one of its children (Symfony\Component\Console for instance), + * the autoloader will first look for the class under the component/ + * directory, and it will then fallback to the framework/ directory if not + * found before giving up. + * + * This class is loosely based on the Symfony UniversalClassLoader. + * + * @author Fabien Potencier + * @author Jordi Boggiano + * @see https://www.php-fig.org/psr/psr-0/ + * @see https://www.php-fig.org/psr/psr-4/ + */ +class ClassLoader +{ + /** @var ?string */ + private $vendorDir; + + // PSR-4 + /** + * @var array[] + * @psalm-var array> + */ + private $prefixLengthsPsr4 = array(); + /** + * @var array[] + * @psalm-var array> + */ + private $prefixDirsPsr4 = array(); + /** + * @var array[] + * @psalm-var array + */ + private $fallbackDirsPsr4 = array(); + + // PSR-0 + /** + * @var array[] + * @psalm-var array> + */ + private $prefixesPsr0 = array(); + /** + * @var array[] + * @psalm-var array + */ + private $fallbackDirsPsr0 = array(); + + /** @var bool */ + private $useIncludePath = false; + + /** + * @var string[] + * @psalm-var array + */ + private $classMap = array(); + + /** @var bool */ + private $classMapAuthoritative = false; + + /** + * @var bool[] + * @psalm-var array + */ + private $missingClasses = array(); + + /** @var ?string */ + private $apcuPrefix; + + /** + * @var self[] + */ + private static $registeredLoaders = array(); + + /** + * @param ?string $vendorDir + */ + public function __construct($vendorDir = null) + { + $this->vendorDir = $vendorDir; + } + + /** + * @return string[] + */ + public function getPrefixes() + { + if (!empty($this->prefixesPsr0)) { + return call_user_func_array('array_merge', array_values($this->prefixesPsr0)); + } + + return array(); + } + + /** + * @return array[] + * @psalm-return array> + */ + public function getPrefixesPsr4() + { + return $this->prefixDirsPsr4; + } + + /** + * @return array[] + * @psalm-return array + */ + public function getFallbackDirs() + { + return $this->fallbackDirsPsr0; + } + + /** + * @return array[] + * @psalm-return array + */ + public function getFallbackDirsPsr4() + { + return $this->fallbackDirsPsr4; + } + + /** + * @return string[] Array of classname => path + * @psalm-return array + */ + public function getClassMap() + { + return $this->classMap; + } + + /** + * @param string[] $classMap Class to filename map + * @psalm-param array $classMap + * + * @return void + */ + public function addClassMap(array $classMap) + { + if ($this->classMap) { + $this->classMap = array_merge($this->classMap, $classMap); + } else { + $this->classMap = $classMap; + } + } + + /** + * 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 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) + { + if (!$prefix) { + if ($prepend) { + $this->fallbackDirsPsr0 = array_merge( + (array) $paths, + $this->fallbackDirsPsr0 + ); + } else { + $this->fallbackDirsPsr0 = array_merge( + $this->fallbackDirsPsr0, + (array) $paths + ); + } + + return; + } + + $first = $prefix[0]; + if (!isset($this->prefixesPsr0[$first][$prefix])) { + $this->prefixesPsr0[$first][$prefix] = (array) $paths; + + return; + } + if ($prepend) { + $this->prefixesPsr0[$first][$prefix] = array_merge( + (array) $paths, + $this->prefixesPsr0[$first][$prefix] + ); + } else { + $this->prefixesPsr0[$first][$prefix] = array_merge( + $this->prefixesPsr0[$first][$prefix], + (array) $paths + ); + } + } + + /** + * 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 string[]|string $paths The PSR-4 base directories + * @param bool $prepend Whether to prepend the directories + * + * @throws \InvalidArgumentException + * + * @return void + */ + public function addPsr4($prefix, $paths, $prepend = false) + { + if (!$prefix) { + // Register directories for the root namespace. + if ($prepend) { + $this->fallbackDirsPsr4 = array_merge( + (array) $paths, + $this->fallbackDirsPsr4 + ); + } else { + $this->fallbackDirsPsr4 = array_merge( + $this->fallbackDirsPsr4, + (array) $paths + ); + } + } elseif (!isset($this->prefixDirsPsr4[$prefix])) { + // Register directories for a new namespace. + $length = strlen($prefix); + if ('\\' !== $prefix[$length - 1]) { + throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator."); + } + $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length; + $this->prefixDirsPsr4[$prefix] = (array) $paths; + } elseif ($prepend) { + // Prepend directories for an already registered namespace. + $this->prefixDirsPsr4[$prefix] = array_merge( + (array) $paths, + $this->prefixDirsPsr4[$prefix] + ); + } else { + // Append directories for an already registered namespace. + $this->prefixDirsPsr4[$prefix] = array_merge( + $this->prefixDirsPsr4[$prefix], + (array) $paths + ); + } + } + + /** + * 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 string[]|string $paths The PSR-0 base directories + * + * @return void + */ + public function set($prefix, $paths) + { + if (!$prefix) { + $this->fallbackDirsPsr0 = (array) $paths; + } else { + $this->prefixesPsr0[$prefix[0]][$prefix] = (array) $paths; + } + } + + /** + * 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 string[]|string $paths The PSR-4 base directories + * + * @throws \InvalidArgumentException + * + * @return void + */ + public function setPsr4($prefix, $paths) + { + if (!$prefix) { + $this->fallbackDirsPsr4 = (array) $paths; + } else { + $length = strlen($prefix); + if ('\\' !== $prefix[$length - 1]) { + throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator."); + } + $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length; + $this->prefixDirsPsr4[$prefix] = (array) $paths; + } + } + + /** + * Turns on searching the include path for class files. + * + * @param bool $useIncludePath + * + * @return void + */ + public function setUseIncludePath($useIncludePath) + { + $this->useIncludePath = $useIncludePath; + } + + /** + * Can be used to check if the autoloader uses the include path to check + * for classes. + * + * @return bool + */ + public function getUseIncludePath() + { + return $this->useIncludePath; + } + + /** + * Turns off searching the prefix and fallback directories for classes + * that have not been registered with the class map. + * + * @param bool $classMapAuthoritative + * + * @return void + */ + public function setClassMapAuthoritative($classMapAuthoritative) + { + $this->classMapAuthoritative = $classMapAuthoritative; + } + + /** + * Should class lookup fail if not found in the current class map? + * + * @return bool + */ + public function isClassMapAuthoritative() + { + return $this->classMapAuthoritative; + } + + /** + * APCu prefix to use to cache found/not-found classes, if the extension is enabled. + * + * @param string|null $apcuPrefix + * + * @return void + */ + public function setApcuPrefix($apcuPrefix) + { + $this->apcuPrefix = function_exists('apcu_fetch') && filter_var(ini_get('apc.enabled'), FILTER_VALIDATE_BOOLEAN) ? $apcuPrefix : null; + } + + /** + * The APCu prefix in use, or null if APCu caching is not enabled. + * + * @return string|null + */ + public function getApcuPrefix() + { + return $this->apcuPrefix; + } + + /** + * Registers this instance as an autoloader. + * + * @param bool $prepend Whether to prepend the autoloader or not + * + * @return void + */ + public function register($prepend = false) + { + spl_autoload_register(array($this, 'loadClass'), true, $prepend); + + if (null === $this->vendorDir) { + return; + } + + if ($prepend) { + self::$registeredLoaders = array($this->vendorDir => $this) + self::$registeredLoaders; + } else { + unset(self::$registeredLoaders[$this->vendorDir]); + self::$registeredLoaders[$this->vendorDir] = $this; + } + } + + /** + * Unregisters this instance as an autoloader. + * + * @return void + */ + public function unregister() + { + spl_autoload_unregister(array($this, 'loadClass')); + + if (null !== $this->vendorDir) { + unset(self::$registeredLoaders[$this->vendorDir]); + } + } + + /** + * Loads the given class or interface. + * + * @param string $class The name of the class + * @return true|null True if loaded, null otherwise + */ + public function loadClass($class) + { + if ($file = $this->findFile($class)) { + includeFile($file); + + return true; + } + + return null; + } + + /** + * Finds the path to the file where the class is defined. + * + * @param string $class The name of the class + * + * @return string|false The path if found, false otherwise + */ + public function findFile($class) + { + // class map lookup + if (isset($this->classMap[$class])) { + return $this->classMap[$class]; + } + if ($this->classMapAuthoritative || isset($this->missingClasses[$class])) { + return false; + } + if (null !== $this->apcuPrefix) { + $file = apcu_fetch($this->apcuPrefix.$class, $hit); + if ($hit) { + return $file; + } + } + + $file = $this->findFileWithExtension($class, '.php'); + + // Search for Hack files if we are running on HHVM + if (false === $file && defined('HHVM_VERSION')) { + $file = $this->findFileWithExtension($class, '.hh'); + } + + if (null !== $this->apcuPrefix) { + apcu_add($this->apcuPrefix.$class, $file); + } + + if (false === $file) { + // Remember that this class does not exist. + $this->missingClasses[$class] = true; + } + + return $file; + } + + /** + * Returns the currently registered loaders indexed by their corresponding vendor directories. + * + * @return self[] + */ + public static function getRegisteredLoaders() + { + return self::$registeredLoaders; + } + + /** + * @param string $class + * @param string $ext + * @return string|false + */ + private function findFileWithExtension($class, $ext) + { + // PSR-4 lookup + $logicalPathPsr4 = strtr($class, '\\', DIRECTORY_SEPARATOR) . $ext; + + $first = $class[0]; + if (isset($this->prefixLengthsPsr4[$first])) { + $subPath = $class; + while (false !== $lastPos = strrpos($subPath, '\\')) { + $subPath = substr($subPath, 0, $lastPos); + $search = $subPath . '\\'; + if (isset($this->prefixDirsPsr4[$search])) { + $pathEnd = DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $lastPos + 1); + foreach ($this->prefixDirsPsr4[$search] as $dir) { + if (file_exists($file = $dir . $pathEnd)) { + return $file; + } + } + } + } + } + + // PSR-4 fallback dirs + foreach ($this->fallbackDirsPsr4 as $dir) { + if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4)) { + return $file; + } + } + + // PSR-0 lookup + if (false !== $pos = strrpos($class, '\\')) { + // namespaced class name + $logicalPathPsr0 = substr($logicalPathPsr4, 0, $pos + 1) + . strtr(substr($logicalPathPsr4, $pos + 1), '_', DIRECTORY_SEPARATOR); + } else { + // PEAR-like class name + $logicalPathPsr0 = strtr($class, '_', DIRECTORY_SEPARATOR) . $ext; + } + + if (isset($this->prefixesPsr0[$first])) { + foreach ($this->prefixesPsr0[$first] as $prefix => $dirs) { + if (0 === strpos($class, $prefix)) { + foreach ($dirs as $dir) { + if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) { + return $file; + } + } + } + } + } + + // PSR-0 fallback dirs + foreach ($this->fallbackDirsPsr0 as $dir) { + if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) { + return $file; + } + } + + // PSR-0 include paths. + if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) { + return $file; + } + + return false; + } +} + +/** + * 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/vendor/composer/InstalledVersions.php b/vendor/composer/InstalledVersions.php new file mode 100644 index 00000000..01581949 --- /dev/null +++ b/vendor/composer/InstalledVersions.php @@ -0,0 +1,357 @@ + + * Jordi Boggiano + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Composer; + +use Composer\Autoload\ClassLoader; +use Composer\Semver\VersionParser; + +/** + * This class is copied in every Composer installed project and available to all + * + * See also https://getcomposer.org/doc/07-runtime.md#installed-versions + * + * To require its presence, you can require `composer-runtime-api ^2.0` + */ +class InstalledVersions +{ + /** + * @var mixed[]|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; + + /** + * @var bool|null + */ + private static $canGetVendors; + + /** + * @var array[] + * @psalm-var array}> + */ + private static $installedByVendor = array(); + + /** + * Returns a list of all package names which are present, either by being installed, replaced or provided + * + * @return string[] + * @psalm-return list + */ + public static function getInstalledPackages() + { + $packages = array(); + foreach (self::getInstalled() as $installed) { + $packages[] = array_keys($installed['versions']); + } + + if (1 === \count($packages)) { + return $packages[0]; + } + + return array_keys(array_flip(\call_user_func_array('array_merge', $packages))); + } + + /** + * Returns a list of all package names with a specific type e.g. 'library' + * + * @param string $type + * @return string[] + * @psalm-return list + */ + public static function getInstalledPackagesByType($type) + { + $packagesByType = array(); + + foreach (self::getInstalled() as $installed) { + foreach ($installed['versions'] as $name => $package) { + if (isset($package['type']) && $package['type'] === $type) { + $packagesByType[] = $name; + } + } + } + + return $packagesByType; + } + + /** + * Checks whether the given package is installed + * + * This also returns true if the package name is provided or replaced by another package + * + * @param string $packageName + * @param bool $includeDevRequirements + * @return bool + */ + public static function isInstalled($packageName, $includeDevRequirements = true) + { + foreach (self::getInstalled() as $installed) { + if (isset($installed['versions'][$packageName])) { + return $includeDevRequirements || empty($installed['versions'][$packageName]['dev_requirement']); + } + } + + return false; + } + + /** + * Checks whether the given package satisfies a version constraint + * + * e.g. If you want to know whether version 2.3+ of package foo/bar is installed, you would call: + * + * Composer\InstalledVersions::satisfies(new VersionParser, 'foo/bar', '^2.3') + * + * @param VersionParser $parser Install composer/semver to have access to this class and functionality + * @param string $packageName + * @param string|null $constraint A version constraint to check for, if you pass one you have to make sure composer/semver is required by your package + * @return bool + */ + public static function satisfies(VersionParser $parser, $packageName, $constraint) + { + $constraint = $parser->parseConstraints($constraint); + $provided = $parser->parseConstraints(self::getVersionRanges($packageName)); + + return $provided->matches($constraint); + } + + /** + * Returns a version constraint representing all the range(s) which are installed for a given package + * + * It is easier to use this via isInstalled() with the $constraint argument if you need to check + * whether a given version of a package is installed, and not just whether it exists + * + * @param string $packageName + * @return string Version constraint usable with composer/semver + */ + public static function getVersionRanges($packageName) + { + foreach (self::getInstalled() as $installed) { + if (!isset($installed['versions'][$packageName])) { + continue; + } + + $ranges = array(); + if (isset($installed['versions'][$packageName]['pretty_version'])) { + $ranges[] = $installed['versions'][$packageName]['pretty_version']; + } + if (array_key_exists('aliases', $installed['versions'][$packageName])) { + $ranges = array_merge($ranges, $installed['versions'][$packageName]['aliases']); + } + if (array_key_exists('replaced', $installed['versions'][$packageName])) { + $ranges = array_merge($ranges, $installed['versions'][$packageName]['replaced']); + } + if (array_key_exists('provided', $installed['versions'][$packageName])) { + $ranges = array_merge($ranges, $installed['versions'][$packageName]['provided']); + } + + return implode(' || ', $ranges); + } + + throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); + } + + /** + * @param string $packageName + * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as version, use satisfies or getVersionRanges if you need to know if a given version is present + */ + public static function getVersion($packageName) + { + foreach (self::getInstalled() as $installed) { + if (!isset($installed['versions'][$packageName])) { + continue; + } + + if (!isset($installed['versions'][$packageName]['version'])) { + return null; + } + + return $installed['versions'][$packageName]['version']; + } + + throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); + } + + /** + * @param string $packageName + * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as version, use satisfies or getVersionRanges if you need to know if a given version is present + */ + public static function getPrettyVersion($packageName) + { + foreach (self::getInstalled() as $installed) { + if (!isset($installed['versions'][$packageName])) { + continue; + } + + if (!isset($installed['versions'][$packageName]['pretty_version'])) { + return null; + } + + return $installed['versions'][$packageName]['pretty_version']; + } + + throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); + } + + /** + * @param string $packageName + * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as reference + */ + public static function getReference($packageName) + { + foreach (self::getInstalled() as $installed) { + if (!isset($installed['versions'][$packageName])) { + continue; + } + + if (!isset($installed['versions'][$packageName]['reference'])) { + return null; + } + + return $installed['versions'][$packageName]['reference']; + } + + throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); + } + + /** + * @param string $packageName + * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as install path. Packages of type metapackages also have a null install path. + */ + public static function getInstallPath($packageName) + { + foreach (self::getInstalled() as $installed) { + if (!isset($installed['versions'][$packageName])) { + continue; + } + + return isset($installed['versions'][$packageName]['install_path']) ? $installed['versions'][$packageName]['install_path'] : null; + } + + throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); + } + + /** + * @return array + * @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() + { + $installed = self::getInstalled(); + + return $installed[0]['root']; + } + + /** + * Returns the raw installed.php data for custom implementations + * + * @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, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array} + */ + public static function getRawData() + { + @trigger_error('getRawData only returns the first dataset loaded, which may not be what you expect. Use getAllRawData() instead which returns all datasets for all autoloaders present in the process.', E_USER_DEPRECATED); + + if (null === self::$installed) { + // 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') { + self::$installed = include __DIR__ . '/installed.php'; + } else { + self::$installed = array(); + } + } + + return self::$installed; + } + + /** + * Returns the raw data of all installed.php which are currently loaded for custom implementations + * + * @return array[] + * @psalm-return list}> + */ + public static function getAllRawData() + { + return self::getInstalled(); + } + + /** + * Lets you reload the static array from another file + * + * This is only useful for complex integrations in which a project needs to use + * this class but then also needs to execute another project's autoloader in process, + * and wants to ensure both projects have access to their version of installed.php. + * + * A typical case would be PHPUnit, where it would need to make sure it reads all + * the data it needs from this class, then call reload() with + * `require $CWD/vendor/composer/installed.php` (or similar) as input to make sure + * the project in which it runs can then also use this class safely, without + * interference between PHPUnit's dependencies and the project's dependencies. + * + * @param array[] $data A vendor/composer/installed.php data set + * @return void + * + * @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) + { + self::$installed = $data; + self::$installedByVendor = array(); + } + + /** + * @return array[] + * @psalm-return list}> + */ + private static function getInstalled() + { + if (null === self::$canGetVendors) { + self::$canGetVendors = method_exists('Composer\Autoload\ClassLoader', 'getRegisteredLoaders'); + } + + $installed = array(); + + if (self::$canGetVendors) { + foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) { + 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; + if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) { + self::$installed = $installed[count($installed) - 1]; + } + } + } + } + + if (null === self::$installed) { + // 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; + } else { + self::$installed = array(); + } + } + + if (self::$installed !== array()) { + $installed[] = self::$installed; + } + + return $installed; + } +} diff --git a/vendor/composer/LICENSE b/vendor/composer/LICENSE new file mode 100644 index 00000000..f27399a0 --- /dev/null +++ b/vendor/composer/LICENSE @@ -0,0 +1,21 @@ + +Copyright (c) Nils Adermann, Jordi Boggiano + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is furnished +to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + diff --git a/vendor/composer/autoload_classmap.php b/vendor/composer/autoload_classmap.php new file mode 100644 index 00000000..d47ba71e --- /dev/null +++ b/vendor/composer/autoload_classmap.php @@ -0,0 +1,327 @@ + $vendorDir . '/composer/InstalledVersions.php', + 'Composer\\Installers\\AglInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/AglInstaller.php', + 'Composer\\Installers\\AkauntingInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/AkauntingInstaller.php', + 'Composer\\Installers\\AnnotateCmsInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/AnnotateCmsInstaller.php', + 'Composer\\Installers\\AsgardInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/AsgardInstaller.php', + 'Composer\\Installers\\AttogramInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/AttogramInstaller.php', + 'Composer\\Installers\\BaseInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/BaseInstaller.php', + 'Composer\\Installers\\BitrixInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/BitrixInstaller.php', + 'Composer\\Installers\\BonefishInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/BonefishInstaller.php', + 'Composer\\Installers\\CakePHPInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/CakePHPInstaller.php', + 'Composer\\Installers\\ChefInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ChefInstaller.php', + 'Composer\\Installers\\CiviCrmInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/CiviCrmInstaller.php', + 'Composer\\Installers\\ClanCatsFrameworkInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ClanCatsFrameworkInstaller.php', + 'Composer\\Installers\\CockpitInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/CockpitInstaller.php', + 'Composer\\Installers\\CodeIgniterInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/CodeIgniterInstaller.php', + 'Composer\\Installers\\Concrete5Installer' => $vendorDir . '/composer/installers/src/Composer/Installers/Concrete5Installer.php', + 'Composer\\Installers\\CroogoInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/CroogoInstaller.php', + 'Composer\\Installers\\DecibelInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/DecibelInstaller.php', + 'Composer\\Installers\\DframeInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/DframeInstaller.php', + 'Composer\\Installers\\DokuWikiInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/DokuWikiInstaller.php', + 'Composer\\Installers\\DolibarrInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/DolibarrInstaller.php', + 'Composer\\Installers\\DrupalInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/DrupalInstaller.php', + 'Composer\\Installers\\ElggInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ElggInstaller.php', + 'Composer\\Installers\\EliasisInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/EliasisInstaller.php', + 'Composer\\Installers\\ExpressionEngineInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ExpressionEngineInstaller.php', + 'Composer\\Installers\\EzPlatformInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/EzPlatformInstaller.php', + 'Composer\\Installers\\FuelInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/FuelInstaller.php', + 'Composer\\Installers\\FuelphpInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/FuelphpInstaller.php', + 'Composer\\Installers\\GravInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/GravInstaller.php', + 'Composer\\Installers\\HuradInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/HuradInstaller.php', + 'Composer\\Installers\\ImageCMSInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ImageCMSInstaller.php', + 'Composer\\Installers\\Installer' => $vendorDir . '/composer/installers/src/Composer/Installers/Installer.php', + 'Composer\\Installers\\ItopInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ItopInstaller.php', + 'Composer\\Installers\\KanboardInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/KanboardInstaller.php', + 'Composer\\Installers\\KnownInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/KnownInstaller.php', + 'Composer\\Installers\\KodiCMSInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/KodiCMSInstaller.php', + 'Composer\\Installers\\KohanaInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/KohanaInstaller.php', + 'Composer\\Installers\\LanManagementSystemInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/LanManagementSystemInstaller.php', + 'Composer\\Installers\\LaravelInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/LaravelInstaller.php', + 'Composer\\Installers\\LavaLiteInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/LavaLiteInstaller.php', + 'Composer\\Installers\\LithiumInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/LithiumInstaller.php', + 'Composer\\Installers\\MODULEWorkInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MODULEWorkInstaller.php', + 'Composer\\Installers\\MODXEvoInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MODXEvoInstaller.php', + 'Composer\\Installers\\MagentoInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MagentoInstaller.php', + 'Composer\\Installers\\MajimaInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MajimaInstaller.php', + 'Composer\\Installers\\MakoInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MakoInstaller.php', + 'Composer\\Installers\\MantisBTInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MantisBTInstaller.php', + 'Composer\\Installers\\MatomoInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MatomoInstaller.php', + 'Composer\\Installers\\MauticInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MauticInstaller.php', + 'Composer\\Installers\\MayaInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MayaInstaller.php', + 'Composer\\Installers\\MediaWikiInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MediaWikiInstaller.php', + 'Composer\\Installers\\MiaoxingInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MiaoxingInstaller.php', + 'Composer\\Installers\\MicroweberInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MicroweberInstaller.php', + 'Composer\\Installers\\ModxInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ModxInstaller.php', + 'Composer\\Installers\\MoodleInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MoodleInstaller.php', + 'Composer\\Installers\\OctoberInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/OctoberInstaller.php', + 'Composer\\Installers\\OntoWikiInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/OntoWikiInstaller.php', + 'Composer\\Installers\\OsclassInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/OsclassInstaller.php', + 'Composer\\Installers\\OxidInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/OxidInstaller.php', + 'Composer\\Installers\\PPIInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PPIInstaller.php', + 'Composer\\Installers\\PantheonInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PantheonInstaller.php', + 'Composer\\Installers\\PhiftyInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PhiftyInstaller.php', + 'Composer\\Installers\\PhpBBInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PhpBBInstaller.php', + 'Composer\\Installers\\PiwikInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PiwikInstaller.php', + 'Composer\\Installers\\PlentymarketsInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PlentymarketsInstaller.php', + 'Composer\\Installers\\Plugin' => $vendorDir . '/composer/installers/src/Composer/Installers/Plugin.php', + 'Composer\\Installers\\PortoInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PortoInstaller.php', + 'Composer\\Installers\\PrestashopInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PrestashopInstaller.php', + 'Composer\\Installers\\ProcessWireInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ProcessWireInstaller.php', + 'Composer\\Installers\\PuppetInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PuppetInstaller.php', + 'Composer\\Installers\\PxcmsInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PxcmsInstaller.php', + 'Composer\\Installers\\RadPHPInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/RadPHPInstaller.php', + 'Composer\\Installers\\ReIndexInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ReIndexInstaller.php', + 'Composer\\Installers\\Redaxo5Installer' => $vendorDir . '/composer/installers/src/Composer/Installers/Redaxo5Installer.php', + 'Composer\\Installers\\RedaxoInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/RedaxoInstaller.php', + 'Composer\\Installers\\RoundcubeInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/RoundcubeInstaller.php', + 'Composer\\Installers\\SMFInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/SMFInstaller.php', + 'Composer\\Installers\\ShopwareInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ShopwareInstaller.php', + 'Composer\\Installers\\SilverStripeInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/SilverStripeInstaller.php', + 'Composer\\Installers\\SiteDirectInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/SiteDirectInstaller.php', + 'Composer\\Installers\\StarbugInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/StarbugInstaller.php', + 'Composer\\Installers\\SyDESInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/SyDESInstaller.php', + 'Composer\\Installers\\SyliusInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/SyliusInstaller.php', + 'Composer\\Installers\\TaoInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/TaoInstaller.php', + 'Composer\\Installers\\TastyIgniterInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/TastyIgniterInstaller.php', + 'Composer\\Installers\\TheliaInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/TheliaInstaller.php', + 'Composer\\Installers\\TuskInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/TuskInstaller.php', + 'Composer\\Installers\\UserFrostingInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/UserFrostingInstaller.php', + 'Composer\\Installers\\VanillaInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/VanillaInstaller.php', + 'Composer\\Installers\\VgmcpInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/VgmcpInstaller.php', + 'Composer\\Installers\\WHMCSInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/WHMCSInstaller.php', + 'Composer\\Installers\\WinterInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/WinterInstaller.php', + 'Composer\\Installers\\WolfCMSInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/WolfCMSInstaller.php', + 'Composer\\Installers\\WordPressInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/WordPressInstaller.php', + 'Composer\\Installers\\YawikInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/YawikInstaller.php', + 'Composer\\Installers\\ZendInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ZendInstaller.php', + 'Composer\\Installers\\ZikulaInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ZikulaInstaller.php', + 'ShoppingFeed\\Feed\\Csv\\CsvProductFeedWriter' => $vendorDir . '/shoppingfeed/php-feed-generator/src/Csv/CsvProductFeedWriter.php', + 'ShoppingFeed\\Feed\\ProductFeedMetadata' => $vendorDir . '/shoppingfeed/php-feed-generator/src/ProductFeedMetadata.php', + 'ShoppingFeed\\Feed\\ProductFeedResult' => $vendorDir . '/shoppingfeed/php-feed-generator/src/ProductFeedResult.php', + 'ShoppingFeed\\Feed\\ProductFeedWriterInterface' => $vendorDir . '/shoppingfeed/php-feed-generator/src/ProductFeedWriterInterface.php', + 'ShoppingFeed\\Feed\\ProductGenerator' => $vendorDir . '/shoppingfeed/php-feed-generator/src/ProductGenerator.php', + 'ShoppingFeed\\Feed\\Product\\AbstractProduct' => $vendorDir . '/shoppingfeed/php-feed-generator/src/Product/AbstractProduct.php', + 'ShoppingFeed\\Feed\\Product\\InvalidProductException' => $vendorDir . '/shoppingfeed/php-feed-generator/src/Product/InvalidProductException.php', + 'ShoppingFeed\\Feed\\Product\\Product' => $vendorDir . '/shoppingfeed/php-feed-generator/src/Product/Product.php', + 'ShoppingFeed\\Feed\\Product\\ProductAttribute' => $vendorDir . '/shoppingfeed/php-feed-generator/src/Product/ProductAttribute.php', + 'ShoppingFeed\\Feed\\Product\\ProductBrand' => $vendorDir . '/shoppingfeed/php-feed-generator/src/Product/ProductBrand.php', + 'ShoppingFeed\\Feed\\Product\\ProductCategory' => $vendorDir . '/shoppingfeed/php-feed-generator/src/Product/ProductCategory.php', + 'ShoppingFeed\\Feed\\Product\\ProductDescription' => $vendorDir . '/shoppingfeed/php-feed-generator/src/Product/ProductDescription.php', + 'ShoppingFeed\\Feed\\Product\\ProductDiscount' => $vendorDir . '/shoppingfeed/php-feed-generator/src/Product/ProductDiscount.php', + 'ShoppingFeed\\Feed\\Product\\ProductShipping' => $vendorDir . '/shoppingfeed/php-feed-generator/src/Product/ProductShipping.php', + 'ShoppingFeed\\Feed\\Product\\ProductVariation' => $vendorDir . '/shoppingfeed/php-feed-generator/src/Product/ProductVariation.php', + 'ShoppingFeed\\Feed\\Xml\\XmlProductFeedWriter' => $vendorDir . '/shoppingfeed/php-feed-generator/src/Xml/XmlProductFeedWriter.php', + 'ShoppingFeed\\ShoppingFeedWC\\Actions\\Actions' => $baseDir . '/src/Actions/Actions.php', + 'ShoppingFeed\\ShoppingFeedWC\\Addons\\Addons' => $baseDir . '/src/Addons/Addons.php', + 'ShoppingFeed\\ShoppingFeedWC\\Addons\\Inventory\\Inventory' => $baseDir . '/src/Addons/Inventory/Inventory.php', + 'ShoppingFeed\\ShoppingFeedWC\\Addons\\Inventory\\Marketplaces\\Amazon' => $baseDir . '/src/Addons/Inventory/Marketplaces/Amazon.php', + 'ShoppingFeed\\ShoppingFeedWC\\Addons\\Inventory\\Marketplaces\\Cdiscount' => $baseDir . '/src/Addons/Inventory/Marketplaces/Cdiscount.php', + 'ShoppingFeed\\ShoppingFeedWC\\Addons\\Inventory\\Marketplaces\\FulfilledByChannel' => $baseDir . '/src/Addons/Inventory/Marketplaces/FulfilledByChannel.php', + 'ShoppingFeed\\ShoppingFeedWC\\Addons\\Inventory\\Marketplaces\\MonoMono' => $baseDir . '/src/Addons/Inventory/Marketplaces/MonoMono.php', + 'ShoppingFeed\\ShoppingFeedWC\\Addons\\Marketplace' => $baseDir . '/src/Addons/Marketplace.php', + 'ShoppingFeed\\ShoppingFeedWC\\Addons\\Marketplaces\\Marketplaces' => $baseDir . '/src/Addons/Marketplaces/Marketplaces.php', + 'ShoppingFeed\\ShoppingFeedWC\\Addons\\Marketplaces\\Types\\AmazonBusiness' => $baseDir . '/src/Addons/Marketplaces/Types/AmazonBusiness.php', + 'ShoppingFeed\\ShoppingFeedWC\\Addons\\Marketplaces\\Types\\AmazonPrime' => $baseDir . '/src/Addons/Marketplaces/Types/AmazonPrime.php', + 'ShoppingFeed\\ShoppingFeedWC\\Addons\\Marketplaces\\Types\\Zalando' => $baseDir . '/src/Addons/Marketplaces/Types/Zalando.php', + 'ShoppingFeed\\ShoppingFeedWC\\Addons\\Plugins\\ASTPlugin\\ASTPlugin' => $baseDir . '/src/Addons/Plugins/ASTPlugin/ASTPlugin.php', + 'ShoppingFeed\\ShoppingFeedWC\\Addons\\Plugins\\ChainedProductsPlugin\\ChainedProducts' => $baseDir . '/src/Addons/Plugins/ChainedProductsPlugin/ChainedProducts.php', + 'ShoppingFeed\\ShoppingFeedWC\\Addons\\Plugins\\PhWoocommerceShipmentTrackingProPlugin\\PhWoocommerceShipmentTrackingProPlugin' => $baseDir . '/src/Addons/Plugins/PhWoocommerceShipmentTrackingProPlugin/PhWoocommerceShipmentTrackingProPlugin.php', + 'ShoppingFeed\\ShoppingFeedWC\\Addons\\Shipping\\Marketplaces\\Cdiscount' => $baseDir . '/src/Addons/Shipping/Marketplaces/Cdiscount.php', + 'ShoppingFeed\\ShoppingFeedWC\\Addons\\Shipping\\Marketplaces\\Rdc' => $baseDir . '/src/Addons/Shipping/Marketplaces/Rdc.php', + 'ShoppingFeed\\ShoppingFeedWC\\Addons\\Shipping\\Shipping' => $baseDir . '/src/Addons/Shipping/Shipping.php', + 'ShoppingFeed\\ShoppingFeedWC\\Admin\\MarketingBord' => $baseDir . '/src/Admin/MarketingBord.php', + 'ShoppingFeed\\ShoppingFeedWC\\Admin\\Metabox' => $baseDir . '/src/Admin/Metabox.php', + 'ShoppingFeed\\ShoppingFeedWC\\Admin\\Notices' => $baseDir . '/src/Admin/Notices.php', + 'ShoppingFeed\\ShoppingFeedWC\\Admin\\Options' => $baseDir . '/src/Admin/Options.php', + 'ShoppingFeed\\ShoppingFeedWC\\Admin\\Requirements' => $baseDir . '/src/Admin/Requirements.php', + 'ShoppingFeed\\ShoppingFeedWC\\Admin\\WoocommerceActions' => $baseDir . '/src/Admin/WoocommerceActions.php', + 'ShoppingFeed\\ShoppingFeedWC\\Admin\\WoocommerceFilters' => $baseDir . '/src/Admin/WoocommerceFilters.php', + 'ShoppingFeed\\ShoppingFeedWC\\Cli\\FeedGeneration' => $baseDir . '/src/Cli/FeedGeneration.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\BodySummarizer' => $baseDir . '/vendor_prefixed/GuzzleHttp/BodySummarizer.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\BodySummarizerInterface' => $baseDir . '/vendor_prefixed/GuzzleHttp/BodySummarizerInterface.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Client' => $baseDir . '/vendor_prefixed/GuzzleHttp/Client.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\ClientInterface' => $baseDir . '/vendor_prefixed/GuzzleHttp/ClientInterface.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\ClientTrait' => $baseDir . '/vendor_prefixed/GuzzleHttp/ClientTrait.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Cookie\\CookieJar' => $baseDir . '/vendor_prefixed/GuzzleHttp/Cookie/CookieJar.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Cookie\\CookieJarInterface' => $baseDir . '/vendor_prefixed/GuzzleHttp/Cookie/CookieJarInterface.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Cookie\\FileCookieJar' => $baseDir . '/vendor_prefixed/GuzzleHttp/Cookie/FileCookieJar.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Cookie\\SessionCookieJar' => $baseDir . '/vendor_prefixed/GuzzleHttp/Cookie/SessionCookieJar.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Cookie\\SetCookie' => $baseDir . '/vendor_prefixed/GuzzleHttp/Cookie/SetCookie.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Exception\\BadResponseException' => $baseDir . '/vendor_prefixed/GuzzleHttp/Exception/BadResponseException.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Exception\\ClientException' => $baseDir . '/vendor_prefixed/GuzzleHttp/Exception/ClientException.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Exception\\ConnectException' => $baseDir . '/vendor_prefixed/GuzzleHttp/Exception/ConnectException.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Exception\\GuzzleException' => $baseDir . '/vendor_prefixed/GuzzleHttp/Exception/GuzzleException.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Exception\\InvalidArgumentException' => $baseDir . '/vendor_prefixed/GuzzleHttp/Exception/InvalidArgumentException.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Exception\\RequestException' => $baseDir . '/vendor_prefixed/GuzzleHttp/Exception/RequestException.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Exception\\ServerException' => $baseDir . '/vendor_prefixed/GuzzleHttp/Exception/ServerException.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Exception\\TooManyRedirectsException' => $baseDir . '/vendor_prefixed/GuzzleHttp/Exception/TooManyRedirectsException.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Exception\\TransferException' => $baseDir . '/vendor_prefixed/GuzzleHttp/Exception/TransferException.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\HandlerStack' => $baseDir . '/vendor_prefixed/GuzzleHttp/HandlerStack.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Handler\\CurlFactory' => $baseDir . '/vendor_prefixed/GuzzleHttp/Handler/CurlFactory.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Handler\\CurlFactoryInterface' => $baseDir . '/vendor_prefixed/GuzzleHttp/Handler/CurlFactoryInterface.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Handler\\CurlHandler' => $baseDir . '/vendor_prefixed/GuzzleHttp/Handler/CurlHandler.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Handler\\CurlMultiHandler' => $baseDir . '/vendor_prefixed/GuzzleHttp/Handler/CurlMultiHandler.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Handler\\EasyHandle' => $baseDir . '/vendor_prefixed/GuzzleHttp/Handler/EasyHandle.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Handler\\HeaderProcessor' => $baseDir . '/vendor_prefixed/GuzzleHttp/Handler/HeaderProcessor.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Handler\\MockHandler' => $baseDir . '/vendor_prefixed/GuzzleHttp/Handler/MockHandler.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Handler\\Proxy' => $baseDir . '/vendor_prefixed/GuzzleHttp/Handler/Proxy.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Handler\\StreamHandler' => $baseDir . '/vendor_prefixed/GuzzleHttp/Handler/StreamHandler.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\MessageFormatter' => $baseDir . '/vendor_prefixed/GuzzleHttp/MessageFormatter.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\MessageFormatterInterface' => $baseDir . '/vendor_prefixed/GuzzleHttp/MessageFormatterInterface.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Middleware' => $baseDir . '/vendor_prefixed/GuzzleHttp/Middleware.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Pool' => $baseDir . '/vendor_prefixed/GuzzleHttp/Pool.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\PrepareBodyMiddleware' => $baseDir . '/vendor_prefixed/GuzzleHttp/PrepareBodyMiddleware.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Promise\\AggregateException' => $baseDir . '/vendor_prefixed/GuzzleHttp/Promise/AggregateException.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Promise\\CancellationException' => $baseDir . '/vendor_prefixed/GuzzleHttp/Promise/CancellationException.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Promise\\Coroutine' => $baseDir . '/vendor_prefixed/GuzzleHttp/Promise/Coroutine.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Promise\\Create' => $baseDir . '/vendor_prefixed/GuzzleHttp/Promise/Create.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Promise\\Each' => $baseDir . '/vendor_prefixed/GuzzleHttp/Promise/Each.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Promise\\EachPromise' => $baseDir . '/vendor_prefixed/GuzzleHttp/Promise/EachPromise.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Promise\\FulfilledPromise' => $baseDir . '/vendor_prefixed/GuzzleHttp/Promise/FulfilledPromise.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Promise\\Is' => $baseDir . '/vendor_prefixed/GuzzleHttp/Promise/Is.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Promise\\Promise' => $baseDir . '/vendor_prefixed/GuzzleHttp/Promise/Promise.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Promise\\PromiseInterface' => $baseDir . '/vendor_prefixed/GuzzleHttp/Promise/PromiseInterface.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Promise\\PromisorInterface' => $baseDir . '/vendor_prefixed/GuzzleHttp/Promise/PromisorInterface.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Promise\\RejectedPromise' => $baseDir . '/vendor_prefixed/GuzzleHttp/Promise/RejectedPromise.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Promise\\RejectionException' => $baseDir . '/vendor_prefixed/GuzzleHttp/Promise/RejectionException.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Promise\\TaskQueue' => $baseDir . '/vendor_prefixed/GuzzleHttp/Promise/TaskQueue.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Promise\\TaskQueueInterface' => $baseDir . '/vendor_prefixed/GuzzleHttp/Promise/TaskQueueInterface.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Promise\\Utils' => $baseDir . '/vendor_prefixed/GuzzleHttp/Promise/Utils.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Psr7\\AppendStream' => $baseDir . '/vendor_prefixed/GuzzleHttp/Psr7/AppendStream.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Psr7\\BufferStream' => $baseDir . '/vendor_prefixed/GuzzleHttp/Psr7/BufferStream.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Psr7\\CachingStream' => $baseDir . '/vendor_prefixed/GuzzleHttp/Psr7/CachingStream.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Psr7\\DroppingStream' => $baseDir . '/vendor_prefixed/GuzzleHttp/Psr7/DroppingStream.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Psr7\\Exception\\MalformedUriException' => $baseDir . '/vendor_prefixed/GuzzleHttp/Psr7/Exception/MalformedUriException.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Psr7\\FnStream' => $baseDir . '/vendor_prefixed/GuzzleHttp/Psr7/FnStream.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Psr7\\Header' => $baseDir . '/vendor_prefixed/GuzzleHttp/Psr7/Header.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Psr7\\HttpFactory' => $baseDir . '/vendor_prefixed/GuzzleHttp/Psr7/HttpFactory.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Psr7\\InflateStream' => $baseDir . '/vendor_prefixed/GuzzleHttp/Psr7/InflateStream.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Psr7\\LazyOpenStream' => $baseDir . '/vendor_prefixed/GuzzleHttp/Psr7/LazyOpenStream.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Psr7\\LimitStream' => $baseDir . '/vendor_prefixed/GuzzleHttp/Psr7/LimitStream.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Psr7\\Message' => $baseDir . '/vendor_prefixed/GuzzleHttp/Psr7/Message.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Psr7\\MessageTrait' => $baseDir . '/vendor_prefixed/GuzzleHttp/Psr7/MessageTrait.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Psr7\\MimeType' => $baseDir . '/vendor_prefixed/GuzzleHttp/Psr7/MimeType.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Psr7\\MultipartStream' => $baseDir . '/vendor_prefixed/GuzzleHttp/Psr7/MultipartStream.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Psr7\\NoSeekStream' => $baseDir . '/vendor_prefixed/GuzzleHttp/Psr7/NoSeekStream.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Psr7\\PumpStream' => $baseDir . '/vendor_prefixed/GuzzleHttp/Psr7/PumpStream.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Psr7\\Query' => $baseDir . '/vendor_prefixed/GuzzleHttp/Psr7/Query.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Psr7\\Request' => $baseDir . '/vendor_prefixed/GuzzleHttp/Psr7/Request.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Psr7\\Response' => $baseDir . '/vendor_prefixed/GuzzleHttp/Psr7/Response.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Psr7\\Rfc7230' => $baseDir . '/vendor_prefixed/GuzzleHttp/Psr7/Rfc7230.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Psr7\\ServerRequest' => $baseDir . '/vendor_prefixed/GuzzleHttp/Psr7/ServerRequest.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Psr7\\Stream' => $baseDir . '/vendor_prefixed/GuzzleHttp/Psr7/Stream.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Psr7\\StreamDecoratorTrait' => $baseDir . '/vendor_prefixed/GuzzleHttp/Psr7/StreamDecoratorTrait.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Psr7\\StreamWrapper' => $baseDir . '/vendor_prefixed/GuzzleHttp/Psr7/StreamWrapper.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Psr7\\UploadedFile' => $baseDir . '/vendor_prefixed/GuzzleHttp/Psr7/UploadedFile.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Psr7\\Uri' => $baseDir . '/vendor_prefixed/GuzzleHttp/Psr7/Uri.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Psr7\\UriComparator' => $baseDir . '/vendor_prefixed/GuzzleHttp/Psr7/UriComparator.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Psr7\\UriNormalizer' => $baseDir . '/vendor_prefixed/GuzzleHttp/Psr7/UriNormalizer.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Psr7\\UriResolver' => $baseDir . '/vendor_prefixed/GuzzleHttp/Psr7/UriResolver.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Psr7\\Utils' => $baseDir . '/vendor_prefixed/GuzzleHttp/Psr7/Utils.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\RedirectMiddleware' => $baseDir . '/vendor_prefixed/GuzzleHttp/RedirectMiddleware.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\RequestOptions' => $baseDir . '/vendor_prefixed/GuzzleHttp/RequestOptions.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\RetryMiddleware' => $baseDir . '/vendor_prefixed/GuzzleHttp/RetryMiddleware.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\TransferStats' => $baseDir . '/vendor_prefixed/GuzzleHttp/TransferStats.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Utils' => $baseDir . '/vendor_prefixed/GuzzleHttp/Utils.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\Psr\\Http\\Client\\ClientExceptionInterface' => $baseDir . '/vendor_prefixed/Psr/Http/Client/ClientExceptionInterface.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\Psr\\Http\\Client\\ClientInterface' => $baseDir . '/vendor_prefixed/Psr/Http/Client/ClientInterface.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\Psr\\Http\\Client\\NetworkExceptionInterface' => $baseDir . '/vendor_prefixed/Psr/Http/Client/NetworkExceptionInterface.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\Psr\\Http\\Client\\RequestExceptionInterface' => $baseDir . '/vendor_prefixed/Psr/Http/Client/RequestExceptionInterface.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\Psr\\Http\\Message\\MessageInterface' => $baseDir . '/vendor_prefixed/Psr/Http/Message/MessageInterface.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\Psr\\Http\\Message\\RequestFactoryInterface' => $baseDir . '/vendor_prefixed/Psr/Http/Message/RequestFactoryInterface.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\Psr\\Http\\Message\\RequestInterface' => $baseDir . '/vendor_prefixed/Psr/Http/Message/RequestInterface.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\Psr\\Http\\Message\\ResponseFactoryInterface' => $baseDir . '/vendor_prefixed/Psr/Http/Message/ResponseFactoryInterface.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\Psr\\Http\\Message\\ResponseInterface' => $baseDir . '/vendor_prefixed/Psr/Http/Message/ResponseInterface.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\Psr\\Http\\Message\\ServerRequestFactoryInterface' => $baseDir . '/vendor_prefixed/Psr/Http/Message/ServerRequestFactoryInterface.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\Psr\\Http\\Message\\ServerRequestInterface' => $baseDir . '/vendor_prefixed/Psr/Http/Message/ServerRequestInterface.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\Psr\\Http\\Message\\StreamFactoryInterface' => $baseDir . '/vendor_prefixed/Psr/Http/Message/StreamFactoryInterface.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\Psr\\Http\\Message\\StreamInterface' => $baseDir . '/vendor_prefixed/Psr/Http/Message/StreamInterface.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\Psr\\Http\\Message\\UploadedFileFactoryInterface' => $baseDir . '/vendor_prefixed/Psr/Http/Message/UploadedFileFactoryInterface.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\Psr\\Http\\Message\\UploadedFileInterface' => $baseDir . '/vendor_prefixed/Psr/Http/Message/UploadedFileInterface.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\Psr\\Http\\Message\\UriFactoryInterface' => $baseDir . '/vendor_prefixed/Psr/Http/Message/UriFactoryInterface.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\Psr\\Http\\Message\\UriInterface' => $baseDir . '/vendor_prefixed/Psr/Http/Message/UriInterface.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Api\\Catalog\\InventoryCollection' => $baseDir . '/vendor_prefixed/ShoppingFeed/Sdk/Api/Catalog/InventoryCollection.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Api\\Catalog\\InventoryDomain' => $baseDir . '/vendor_prefixed/ShoppingFeed/Sdk/Api/Catalog/InventoryDomain.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Api\\Catalog\\InventoryResource' => $baseDir . '/vendor_prefixed/ShoppingFeed/Sdk/Api/Catalog/InventoryResource.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Api\\Catalog\\InventoryUpdate' => $baseDir . '/vendor_prefixed/ShoppingFeed/Sdk/Api/Catalog/InventoryUpdate.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Api\\Catalog\\PricingCollection' => $baseDir . '/vendor_prefixed/ShoppingFeed/Sdk/Api/Catalog/PricingCollection.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Api\\Catalog\\PricingDomain' => $baseDir . '/vendor_prefixed/ShoppingFeed/Sdk/Api/Catalog/PricingDomain.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Api\\Catalog\\PricingResource' => $baseDir . '/vendor_prefixed/ShoppingFeed/Sdk/Api/Catalog/PricingResource.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Api\\Catalog\\PricingUpdate' => $baseDir . '/vendor_prefixed/ShoppingFeed/Sdk/Api/Catalog/PricingUpdate.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Api\\Channel\\ChannelResource' => $baseDir . '/vendor_prefixed/ShoppingFeed/Sdk/Api/Channel/ChannelResource.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Api\\Order\\Document\\AbstractDocument' => $baseDir . '/vendor_prefixed/ShoppingFeed/Sdk/Api/Order/Document/AbstractDocument.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Api\\Order\\Document\\Invoice' => $baseDir . '/vendor_prefixed/ShoppingFeed/Sdk/Api/Order/Document/Invoice.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Api\\Order\\OrderDomain' => $baseDir . '/vendor_prefixed/ShoppingFeed/Sdk/Api/Order/OrderDomain.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Api\\Order\\OrderItem' => $baseDir . '/vendor_prefixed/ShoppingFeed/Sdk/Api/Order/OrderItem.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Api\\Order\\OrderItemCollection' => $baseDir . '/vendor_prefixed/ShoppingFeed/Sdk/Api/Order/OrderItemCollection.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Api\\Order\\OrderOperation' => $baseDir . '/vendor_prefixed/ShoppingFeed/Sdk/Api/Order/OrderOperation.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Api\\Order\\OrderOperationResult' => $baseDir . '/vendor_prefixed/ShoppingFeed/Sdk/Api/Order/OrderOperationResult.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Api\\Order\\OrderResource' => $baseDir . '/vendor_prefixed/ShoppingFeed/Sdk/Api/Order/OrderResource.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Api\\Order\\Shipment\\ShipmentDomain' => $baseDir . '/vendor_prefixed/ShoppingFeed/Sdk/Api/Order/Shipment/ShipmentDomain.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Api\\Order\\Shipment\\ShipmentResource' => $baseDir . '/vendor_prefixed/ShoppingFeed/Sdk/Api/Order/Shipment/ShipmentResource.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Api\\Session\\SessionResource' => $baseDir . '/vendor_prefixed/ShoppingFeed/Sdk/Api/Session/SessionResource.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Api\\Store\\StoreChannelDomain' => $baseDir . '/vendor_prefixed/ShoppingFeed/Sdk/Api/Store/StoreChannelDomain.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Api\\Store\\StoreChannelResource' => $baseDir . '/vendor_prefixed/ShoppingFeed/Sdk/Api/Store/StoreChannelResource.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Api\\Store\\StoreCollection' => $baseDir . '/vendor_prefixed/ShoppingFeed/Sdk/Api/Store/StoreCollection.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Api\\Store\\StoreResource' => $baseDir . '/vendor_prefixed/ShoppingFeed/Sdk/Api/Store/StoreResource.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Api\\Task\\TicketDomain' => $baseDir . '/vendor_prefixed/ShoppingFeed/Sdk/Api/Task/TicketDomain.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Api\\Task\\TicketIterator' => $baseDir . '/vendor_prefixed/ShoppingFeed/Sdk/Api/Task/TicketIterator.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Api\\Task\\TicketResource' => $baseDir . '/vendor_prefixed/ShoppingFeed/Sdk/Api/Task/TicketResource.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Client\\Client' => $baseDir . '/vendor_prefixed/ShoppingFeed/Sdk/Client/Client.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Client\\ClientOptions' => $baseDir . '/vendor_prefixed/ShoppingFeed/Sdk/Client/ClientOptions.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Credential\\CredentialInterface' => $baseDir . '/vendor_prefixed/ShoppingFeed/Sdk/Credential/CredentialInterface.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Credential\\Password' => $baseDir . '/vendor_prefixed/ShoppingFeed/Sdk/Credential/Password.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Credential\\Token' => $baseDir . '/vendor_prefixed/ShoppingFeed/Sdk/Credential/Token.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Exception\\InvalidArgumentException' => $baseDir . '/vendor_prefixed/ShoppingFeed/Sdk/Exception/InvalidArgumentException.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Exception\\RuntimeException' => $baseDir . '/vendor_prefixed/ShoppingFeed/Sdk/Exception/RuntimeException.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Hal\\HalClient' => $baseDir . '/vendor_prefixed/ShoppingFeed/Sdk/Hal/HalClient.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Hal\\HalLink' => $baseDir . '/vendor_prefixed/ShoppingFeed/Sdk/Hal/HalLink.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Hal\\HalResource' => $baseDir . '/vendor_prefixed/ShoppingFeed/Sdk/Hal/HalResource.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Http\\Adapter\\AdapterInterface' => $baseDir . '/vendor_prefixed/ShoppingFeed/Sdk/Http/Adapter/AdapterInterface.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Http\\Adapter\\GuzzleHTTPAdapter' => $baseDir . '/vendor_prefixed/ShoppingFeed/Sdk/Http/Adapter/GuzzleHTTPAdapter.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Http\\Exception\\MissingDependencyException' => $baseDir . '/vendor_prefixed/ShoppingFeed/Sdk/Http/Exception/MissingDependencyException.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Http\\Middleware\\RateLimitHandler' => $baseDir . '/vendor_prefixed/ShoppingFeed/Sdk/Http/Middleware/RateLimitHandler.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Http\\Middleware\\ServerErrorHandler' => $baseDir . '/vendor_prefixed/ShoppingFeed/Sdk/Http/Middleware/ServerErrorHandler.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Http\\UriTemplate' => $baseDir . '/vendor_prefixed/ShoppingFeed/Sdk/Http/UriTemplate.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Operation\\AbstractBulkOperation' => $baseDir . '/vendor_prefixed/ShoppingFeed/Sdk/Operation/AbstractBulkOperation.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Operation\\AbstractOperation' => $baseDir . '/vendor_prefixed/ShoppingFeed/Sdk/Operation/AbstractOperation.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Resource\\AbstractCollection' => $baseDir . '/vendor_prefixed/ShoppingFeed/Sdk/Resource/AbstractCollection.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Resource\\AbstractDomainResource' => $baseDir . '/vendor_prefixed/ShoppingFeed/Sdk/Resource/AbstractDomainResource.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Resource\\AbstractResource' => $baseDir . '/vendor_prefixed/ShoppingFeed/Sdk/Resource/AbstractResource.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Resource\\Json' => $baseDir . '/vendor_prefixed/ShoppingFeed/Sdk/Resource/Json.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Resource\\PaginatedResourceCollection' => $baseDir . '/vendor_prefixed/ShoppingFeed/Sdk/Resource/PaginatedResourceCollection.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Resource\\PaginatedResourceIterator' => $baseDir . '/vendor_prefixed/ShoppingFeed/Sdk/Resource/PaginatedResourceIterator.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Resource\\PaginationCriteria' => $baseDir . '/vendor_prefixed/ShoppingFeed/Sdk/Resource/PaginationCriteria.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Resource\\ResourceProperties' => $baseDir . '/vendor_prefixed/ShoppingFeed/Sdk/Resource/ResourceProperties.php', + 'ShoppingFeed\\ShoppingFeedWC\\Feed\\AsyncGenerator' => $baseDir . '/src/Feed/AsyncGenerator.php', + 'ShoppingFeed\\ShoppingFeedWC\\Feed\\Generator' => $baseDir . '/src/Feed/Generator.php', + 'ShoppingFeed\\ShoppingFeedWC\\Feed\\Platform' => $baseDir . '/src/Feed/Platform.php', + 'ShoppingFeed\\ShoppingFeedWC\\Feed\\Uri' => $baseDir . '/src/Feed/Uri.php', + 'ShoppingFeed\\ShoppingFeedWC\\Gateway\\ShoppingFeedGateway' => $baseDir . '/src/Gateway/ShoppingFeedGateway.php', + 'ShoppingFeed\\ShoppingFeedWC\\Orders\\Operations' => $baseDir . '/src/Orders/Operations.php', + 'ShoppingFeed\\ShoppingFeedWC\\Orders\\Order' => $baseDir . '/src/Orders/Order.php', + 'ShoppingFeed\\ShoppingFeedWC\\Orders\\Order\\Address' => $baseDir . '/src/Orders/Order/Address.php', + 'ShoppingFeed\\ShoppingFeedWC\\Orders\\Order\\CustomerNote' => $baseDir . '/src/Orders/Order/CustomerNote.php', + 'ShoppingFeed\\ShoppingFeedWC\\Orders\\Order\\Fees' => $baseDir . '/src/Orders/Order/Fees.php', + 'ShoppingFeed\\ShoppingFeedWC\\Orders\\Order\\Metas' => $baseDir . '/src/Orders/Order/Metas.php', + 'ShoppingFeed\\ShoppingFeedWC\\Orders\\Order\\Payment' => $baseDir . '/src/Orders/Order/Payment.php', + 'ShoppingFeed\\ShoppingFeedWC\\Orders\\Order\\Products' => $baseDir . '/src/Orders/Order/Products.php', + 'ShoppingFeed\\ShoppingFeedWC\\Orders\\Order\\Shipping' => $baseDir . '/src/Orders/Order/Shipping.php', + 'ShoppingFeed\\ShoppingFeedWC\\Orders\\Order\\Status' => $baseDir . '/src/Orders/Order/Status.php', + 'ShoppingFeed\\ShoppingFeedWC\\Orders\\Orders' => $baseDir . '/src/Orders/Orders.php', + 'ShoppingFeed\\ShoppingFeedWC\\Products\\Product' => $baseDir . '/src/Products/Product.php', + 'ShoppingFeed\\ShoppingFeedWC\\Products\\Products' => $baseDir . '/src/Products/Products.php', + 'ShoppingFeed\\ShoppingFeedWC\\Query\\Query' => $baseDir . '/src/Query/Query.php', + 'ShoppingFeed\\ShoppingFeedWC\\Sdk\\Sdk' => $baseDir . '/src/Sdk/Sdk.php', + 'ShoppingFeed\\ShoppingFeedWC\\ShoppingFeed' => $baseDir . '/src/ShoppingFeed.php', + 'ShoppingFeed\\ShoppingFeedWC\\ShoppingFeedHelper' => $baseDir . '/src/ShoppingFeedHelper.php', + 'ShoppingFeed\\ShoppingFeedWC\\Url\\Rewrite' => $baseDir . '/src/Url/Rewrite.php', +); diff --git a/vendor/composer/autoload_files.php b/vendor/composer/autoload_files.php new file mode 100644 index 00000000..5b2ae05a --- /dev/null +++ b/vendor/composer/autoload_files.php @@ -0,0 +1,10 @@ + $vendorDir . '/shoppingfeed/php-feed-generator/src/functions.php', +); diff --git a/vendor/composer/autoload_namespaces.php b/vendor/composer/autoload_namespaces.php new file mode 100644 index 00000000..b7fc0125 --- /dev/null +++ b/vendor/composer/autoload_namespaces.php @@ -0,0 +1,9 @@ + array($baseDir . '/vendor_prefixed'), + 'ShoppingFeed\\ShoppingFeedWC\\' => array($baseDir . '/src'), + 'ShoppingFeed\\Feed\\' => array($vendorDir . '/shoppingfeed/php-feed-generator/src'), + 'Composer\\Installers\\' => array($vendorDir . '/composer/installers/src/Composer/Installers'), +); diff --git a/vendor/composer/autoload_real.php b/vendor/composer/autoload_real.php new file mode 100644 index 00000000..7561a070 --- /dev/null +++ b/vendor/composer/autoload_real.php @@ -0,0 +1,80 @@ += 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\ComposerStaticInit8336284631a9c1cdd16e39452df2cfa8::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); + + if ($useStaticLoader) { + $includeFiles = Composer\Autoload\ComposerStaticInit8336284631a9c1cdd16e39452df2cfa8::$files; + } else { + $includeFiles = require __DIR__ . '/autoload_files.php'; + } + foreach ($includeFiles as $fileIdentifier => $file) { + composerRequire8336284631a9c1cdd16e39452df2cfa8($fileIdentifier, $file); + } + + return $loader; + } +} + +/** + * @param string $fileIdentifier + * @param string $file + * @return void + */ +function composerRequire8336284631a9c1cdd16e39452df2cfa8($fileIdentifier, $file) +{ + if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) { + $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true; + + require $file; + } +} diff --git a/vendor/composer/autoload_static.php b/vendor/composer/autoload_static.php new file mode 100644 index 00000000..9d22e596 --- /dev/null +++ b/vendor/composer/autoload_static.php @@ -0,0 +1,375 @@ + __DIR__ . '/..' . '/shoppingfeed/php-feed-generator/src/functions.php', + ); + + public static $prefixLengthsPsr4 = array ( + 'S' => + array ( + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\' => 41, + 'ShoppingFeed\\ShoppingFeedWC\\' => 28, + 'ShoppingFeed\\Feed\\' => 18, + ), + 'C' => + array ( + 'Composer\\Installers\\' => 20, + ), + ); + + public static $prefixDirsPsr4 = array ( + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\' => + array ( + 0 => __DIR__ . '/../..' . '/vendor_prefixed', + ), + 'ShoppingFeed\\ShoppingFeedWC\\' => + array ( + 0 => __DIR__ . '/../..' . '/src', + ), + 'ShoppingFeed\\Feed\\' => + array ( + 0 => __DIR__ . '/..' . '/shoppingfeed/php-feed-generator/src', + ), + 'Composer\\Installers\\' => + array ( + 0 => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers', + ), + ); + + public static $classMap = array ( + 'Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php', + 'Composer\\Installers\\AglInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/AglInstaller.php', + 'Composer\\Installers\\AkauntingInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/AkauntingInstaller.php', + 'Composer\\Installers\\AnnotateCmsInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/AnnotateCmsInstaller.php', + 'Composer\\Installers\\AsgardInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/AsgardInstaller.php', + 'Composer\\Installers\\AttogramInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/AttogramInstaller.php', + 'Composer\\Installers\\BaseInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/BaseInstaller.php', + 'Composer\\Installers\\BitrixInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/BitrixInstaller.php', + 'Composer\\Installers\\BonefishInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/BonefishInstaller.php', + 'Composer\\Installers\\CakePHPInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/CakePHPInstaller.php', + 'Composer\\Installers\\ChefInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ChefInstaller.php', + 'Composer\\Installers\\CiviCrmInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/CiviCrmInstaller.php', + 'Composer\\Installers\\ClanCatsFrameworkInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ClanCatsFrameworkInstaller.php', + 'Composer\\Installers\\CockpitInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/CockpitInstaller.php', + 'Composer\\Installers\\CodeIgniterInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/CodeIgniterInstaller.php', + 'Composer\\Installers\\Concrete5Installer' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/Concrete5Installer.php', + 'Composer\\Installers\\CroogoInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/CroogoInstaller.php', + 'Composer\\Installers\\DecibelInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/DecibelInstaller.php', + 'Composer\\Installers\\DframeInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/DframeInstaller.php', + 'Composer\\Installers\\DokuWikiInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/DokuWikiInstaller.php', + 'Composer\\Installers\\DolibarrInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/DolibarrInstaller.php', + 'Composer\\Installers\\DrupalInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/DrupalInstaller.php', + 'Composer\\Installers\\ElggInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ElggInstaller.php', + 'Composer\\Installers\\EliasisInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/EliasisInstaller.php', + 'Composer\\Installers\\ExpressionEngineInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ExpressionEngineInstaller.php', + 'Composer\\Installers\\EzPlatformInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/EzPlatformInstaller.php', + 'Composer\\Installers\\FuelInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/FuelInstaller.php', + 'Composer\\Installers\\FuelphpInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/FuelphpInstaller.php', + 'Composer\\Installers\\GravInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/GravInstaller.php', + 'Composer\\Installers\\HuradInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/HuradInstaller.php', + 'Composer\\Installers\\ImageCMSInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ImageCMSInstaller.php', + 'Composer\\Installers\\Installer' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/Installer.php', + 'Composer\\Installers\\ItopInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ItopInstaller.php', + 'Composer\\Installers\\KanboardInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/KanboardInstaller.php', + 'Composer\\Installers\\KnownInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/KnownInstaller.php', + 'Composer\\Installers\\KodiCMSInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/KodiCMSInstaller.php', + 'Composer\\Installers\\KohanaInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/KohanaInstaller.php', + 'Composer\\Installers\\LanManagementSystemInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/LanManagementSystemInstaller.php', + 'Composer\\Installers\\LaravelInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/LaravelInstaller.php', + 'Composer\\Installers\\LavaLiteInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/LavaLiteInstaller.php', + 'Composer\\Installers\\LithiumInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/LithiumInstaller.php', + 'Composer\\Installers\\MODULEWorkInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MODULEWorkInstaller.php', + 'Composer\\Installers\\MODXEvoInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MODXEvoInstaller.php', + 'Composer\\Installers\\MagentoInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MagentoInstaller.php', + 'Composer\\Installers\\MajimaInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MajimaInstaller.php', + 'Composer\\Installers\\MakoInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MakoInstaller.php', + 'Composer\\Installers\\MantisBTInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MantisBTInstaller.php', + 'Composer\\Installers\\MatomoInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MatomoInstaller.php', + 'Composer\\Installers\\MauticInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MauticInstaller.php', + 'Composer\\Installers\\MayaInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MayaInstaller.php', + 'Composer\\Installers\\MediaWikiInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MediaWikiInstaller.php', + 'Composer\\Installers\\MiaoxingInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MiaoxingInstaller.php', + 'Composer\\Installers\\MicroweberInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MicroweberInstaller.php', + 'Composer\\Installers\\ModxInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ModxInstaller.php', + 'Composer\\Installers\\MoodleInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MoodleInstaller.php', + 'Composer\\Installers\\OctoberInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/OctoberInstaller.php', + 'Composer\\Installers\\OntoWikiInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/OntoWikiInstaller.php', + 'Composer\\Installers\\OsclassInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/OsclassInstaller.php', + 'Composer\\Installers\\OxidInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/OxidInstaller.php', + 'Composer\\Installers\\PPIInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PPIInstaller.php', + 'Composer\\Installers\\PantheonInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PantheonInstaller.php', + 'Composer\\Installers\\PhiftyInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PhiftyInstaller.php', + 'Composer\\Installers\\PhpBBInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PhpBBInstaller.php', + 'Composer\\Installers\\PiwikInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PiwikInstaller.php', + 'Composer\\Installers\\PlentymarketsInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PlentymarketsInstaller.php', + 'Composer\\Installers\\Plugin' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/Plugin.php', + 'Composer\\Installers\\PortoInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PortoInstaller.php', + 'Composer\\Installers\\PrestashopInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PrestashopInstaller.php', + 'Composer\\Installers\\ProcessWireInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ProcessWireInstaller.php', + 'Composer\\Installers\\PuppetInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PuppetInstaller.php', + 'Composer\\Installers\\PxcmsInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PxcmsInstaller.php', + 'Composer\\Installers\\RadPHPInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/RadPHPInstaller.php', + 'Composer\\Installers\\ReIndexInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ReIndexInstaller.php', + 'Composer\\Installers\\Redaxo5Installer' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/Redaxo5Installer.php', + 'Composer\\Installers\\RedaxoInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/RedaxoInstaller.php', + 'Composer\\Installers\\RoundcubeInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/RoundcubeInstaller.php', + 'Composer\\Installers\\SMFInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/SMFInstaller.php', + 'Composer\\Installers\\ShopwareInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ShopwareInstaller.php', + 'Composer\\Installers\\SilverStripeInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/SilverStripeInstaller.php', + 'Composer\\Installers\\SiteDirectInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/SiteDirectInstaller.php', + 'Composer\\Installers\\StarbugInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/StarbugInstaller.php', + 'Composer\\Installers\\SyDESInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/SyDESInstaller.php', + 'Composer\\Installers\\SyliusInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/SyliusInstaller.php', + 'Composer\\Installers\\TaoInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/TaoInstaller.php', + 'Composer\\Installers\\TastyIgniterInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/TastyIgniterInstaller.php', + 'Composer\\Installers\\TheliaInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/TheliaInstaller.php', + 'Composer\\Installers\\TuskInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/TuskInstaller.php', + 'Composer\\Installers\\UserFrostingInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/UserFrostingInstaller.php', + 'Composer\\Installers\\VanillaInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/VanillaInstaller.php', + 'Composer\\Installers\\VgmcpInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/VgmcpInstaller.php', + 'Composer\\Installers\\WHMCSInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/WHMCSInstaller.php', + 'Composer\\Installers\\WinterInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/WinterInstaller.php', + 'Composer\\Installers\\WolfCMSInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/WolfCMSInstaller.php', + 'Composer\\Installers\\WordPressInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/WordPressInstaller.php', + 'Composer\\Installers\\YawikInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/YawikInstaller.php', + 'Composer\\Installers\\ZendInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ZendInstaller.php', + 'Composer\\Installers\\ZikulaInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ZikulaInstaller.php', + 'ShoppingFeed\\Feed\\Csv\\CsvProductFeedWriter' => __DIR__ . '/..' . '/shoppingfeed/php-feed-generator/src/Csv/CsvProductFeedWriter.php', + 'ShoppingFeed\\Feed\\ProductFeedMetadata' => __DIR__ . '/..' . '/shoppingfeed/php-feed-generator/src/ProductFeedMetadata.php', + 'ShoppingFeed\\Feed\\ProductFeedResult' => __DIR__ . '/..' . '/shoppingfeed/php-feed-generator/src/ProductFeedResult.php', + 'ShoppingFeed\\Feed\\ProductFeedWriterInterface' => __DIR__ . '/..' . '/shoppingfeed/php-feed-generator/src/ProductFeedWriterInterface.php', + 'ShoppingFeed\\Feed\\ProductGenerator' => __DIR__ . '/..' . '/shoppingfeed/php-feed-generator/src/ProductGenerator.php', + 'ShoppingFeed\\Feed\\Product\\AbstractProduct' => __DIR__ . '/..' . '/shoppingfeed/php-feed-generator/src/Product/AbstractProduct.php', + 'ShoppingFeed\\Feed\\Product\\InvalidProductException' => __DIR__ . '/..' . '/shoppingfeed/php-feed-generator/src/Product/InvalidProductException.php', + 'ShoppingFeed\\Feed\\Product\\Product' => __DIR__ . '/..' . '/shoppingfeed/php-feed-generator/src/Product/Product.php', + 'ShoppingFeed\\Feed\\Product\\ProductAttribute' => __DIR__ . '/..' . '/shoppingfeed/php-feed-generator/src/Product/ProductAttribute.php', + 'ShoppingFeed\\Feed\\Product\\ProductBrand' => __DIR__ . '/..' . '/shoppingfeed/php-feed-generator/src/Product/ProductBrand.php', + 'ShoppingFeed\\Feed\\Product\\ProductCategory' => __DIR__ . '/..' . '/shoppingfeed/php-feed-generator/src/Product/ProductCategory.php', + 'ShoppingFeed\\Feed\\Product\\ProductDescription' => __DIR__ . '/..' . '/shoppingfeed/php-feed-generator/src/Product/ProductDescription.php', + 'ShoppingFeed\\Feed\\Product\\ProductDiscount' => __DIR__ . '/..' . '/shoppingfeed/php-feed-generator/src/Product/ProductDiscount.php', + 'ShoppingFeed\\Feed\\Product\\ProductShipping' => __DIR__ . '/..' . '/shoppingfeed/php-feed-generator/src/Product/ProductShipping.php', + 'ShoppingFeed\\Feed\\Product\\ProductVariation' => __DIR__ . '/..' . '/shoppingfeed/php-feed-generator/src/Product/ProductVariation.php', + 'ShoppingFeed\\Feed\\Xml\\XmlProductFeedWriter' => __DIR__ . '/..' . '/shoppingfeed/php-feed-generator/src/Xml/XmlProductFeedWriter.php', + 'ShoppingFeed\\ShoppingFeedWC\\Actions\\Actions' => __DIR__ . '/../..' . '/src/Actions/Actions.php', + 'ShoppingFeed\\ShoppingFeedWC\\Addons\\Addons' => __DIR__ . '/../..' . '/src/Addons/Addons.php', + 'ShoppingFeed\\ShoppingFeedWC\\Addons\\Inventory\\Inventory' => __DIR__ . '/../..' . '/src/Addons/Inventory/Inventory.php', + 'ShoppingFeed\\ShoppingFeedWC\\Addons\\Inventory\\Marketplaces\\Amazon' => __DIR__ . '/../..' . '/src/Addons/Inventory/Marketplaces/Amazon.php', + 'ShoppingFeed\\ShoppingFeedWC\\Addons\\Inventory\\Marketplaces\\Cdiscount' => __DIR__ . '/../..' . '/src/Addons/Inventory/Marketplaces/Cdiscount.php', + 'ShoppingFeed\\ShoppingFeedWC\\Addons\\Inventory\\Marketplaces\\FulfilledByChannel' => __DIR__ . '/../..' . '/src/Addons/Inventory/Marketplaces/FulfilledByChannel.php', + 'ShoppingFeed\\ShoppingFeedWC\\Addons\\Inventory\\Marketplaces\\MonoMono' => __DIR__ . '/../..' . '/src/Addons/Inventory/Marketplaces/MonoMono.php', + 'ShoppingFeed\\ShoppingFeedWC\\Addons\\Marketplace' => __DIR__ . '/../..' . '/src/Addons/Marketplace.php', + 'ShoppingFeed\\ShoppingFeedWC\\Addons\\Marketplaces\\Marketplaces' => __DIR__ . '/../..' . '/src/Addons/Marketplaces/Marketplaces.php', + 'ShoppingFeed\\ShoppingFeedWC\\Addons\\Marketplaces\\Types\\AmazonBusiness' => __DIR__ . '/../..' . '/src/Addons/Marketplaces/Types/AmazonBusiness.php', + 'ShoppingFeed\\ShoppingFeedWC\\Addons\\Marketplaces\\Types\\AmazonPrime' => __DIR__ . '/../..' . '/src/Addons/Marketplaces/Types/AmazonPrime.php', + 'ShoppingFeed\\ShoppingFeedWC\\Addons\\Marketplaces\\Types\\Zalando' => __DIR__ . '/../..' . '/src/Addons/Marketplaces/Types/Zalando.php', + 'ShoppingFeed\\ShoppingFeedWC\\Addons\\Plugins\\ASTPlugin\\ASTPlugin' => __DIR__ . '/../..' . '/src/Addons/Plugins/ASTPlugin/ASTPlugin.php', + 'ShoppingFeed\\ShoppingFeedWC\\Addons\\Plugins\\ChainedProductsPlugin\\ChainedProducts' => __DIR__ . '/../..' . '/src/Addons/Plugins/ChainedProductsPlugin/ChainedProducts.php', + 'ShoppingFeed\\ShoppingFeedWC\\Addons\\Plugins\\PhWoocommerceShipmentTrackingProPlugin\\PhWoocommerceShipmentTrackingProPlugin' => __DIR__ . '/../..' . '/src/Addons/Plugins/PhWoocommerceShipmentTrackingProPlugin/PhWoocommerceShipmentTrackingProPlugin.php', + 'ShoppingFeed\\ShoppingFeedWC\\Addons\\Shipping\\Marketplaces\\Cdiscount' => __DIR__ . '/../..' . '/src/Addons/Shipping/Marketplaces/Cdiscount.php', + 'ShoppingFeed\\ShoppingFeedWC\\Addons\\Shipping\\Marketplaces\\Rdc' => __DIR__ . '/../..' . '/src/Addons/Shipping/Marketplaces/Rdc.php', + 'ShoppingFeed\\ShoppingFeedWC\\Addons\\Shipping\\Shipping' => __DIR__ . '/../..' . '/src/Addons/Shipping/Shipping.php', + 'ShoppingFeed\\ShoppingFeedWC\\Admin\\MarketingBord' => __DIR__ . '/../..' . '/src/Admin/MarketingBord.php', + 'ShoppingFeed\\ShoppingFeedWC\\Admin\\Metabox' => __DIR__ . '/../..' . '/src/Admin/Metabox.php', + 'ShoppingFeed\\ShoppingFeedWC\\Admin\\Notices' => __DIR__ . '/../..' . '/src/Admin/Notices.php', + 'ShoppingFeed\\ShoppingFeedWC\\Admin\\Options' => __DIR__ . '/../..' . '/src/Admin/Options.php', + 'ShoppingFeed\\ShoppingFeedWC\\Admin\\Requirements' => __DIR__ . '/../..' . '/src/Admin/Requirements.php', + 'ShoppingFeed\\ShoppingFeedWC\\Admin\\WoocommerceActions' => __DIR__ . '/../..' . '/src/Admin/WoocommerceActions.php', + 'ShoppingFeed\\ShoppingFeedWC\\Admin\\WoocommerceFilters' => __DIR__ . '/../..' . '/src/Admin/WoocommerceFilters.php', + 'ShoppingFeed\\ShoppingFeedWC\\Cli\\FeedGeneration' => __DIR__ . '/../..' . '/src/Cli/FeedGeneration.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\BodySummarizer' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/BodySummarizer.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\BodySummarizerInterface' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/BodySummarizerInterface.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Client' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Client.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\ClientInterface' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/ClientInterface.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\ClientTrait' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/ClientTrait.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Cookie\\CookieJar' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Cookie/CookieJar.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Cookie\\CookieJarInterface' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Cookie/CookieJarInterface.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Cookie\\FileCookieJar' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Cookie/FileCookieJar.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Cookie\\SessionCookieJar' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Cookie/SessionCookieJar.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Cookie\\SetCookie' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Cookie/SetCookie.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Exception\\BadResponseException' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Exception/BadResponseException.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Exception\\ClientException' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Exception/ClientException.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Exception\\ConnectException' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Exception/ConnectException.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Exception\\GuzzleException' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Exception/GuzzleException.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Exception\\InvalidArgumentException' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Exception/InvalidArgumentException.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Exception\\RequestException' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Exception/RequestException.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Exception\\ServerException' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Exception/ServerException.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Exception\\TooManyRedirectsException' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Exception/TooManyRedirectsException.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Exception\\TransferException' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Exception/TransferException.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\HandlerStack' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/HandlerStack.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Handler\\CurlFactory' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Handler/CurlFactory.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Handler\\CurlFactoryInterface' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Handler/CurlFactoryInterface.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Handler\\CurlHandler' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Handler/CurlHandler.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Handler\\CurlMultiHandler' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Handler/CurlMultiHandler.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Handler\\EasyHandle' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Handler/EasyHandle.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Handler\\HeaderProcessor' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Handler/HeaderProcessor.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Handler\\MockHandler' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Handler/MockHandler.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Handler\\Proxy' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Handler/Proxy.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Handler\\StreamHandler' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Handler/StreamHandler.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\MessageFormatter' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/MessageFormatter.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\MessageFormatterInterface' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/MessageFormatterInterface.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Middleware' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Middleware.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Pool' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Pool.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\PrepareBodyMiddleware' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/PrepareBodyMiddleware.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Promise\\AggregateException' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Promise/AggregateException.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Promise\\CancellationException' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Promise/CancellationException.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Promise\\Coroutine' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Promise/Coroutine.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Promise\\Create' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Promise/Create.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Promise\\Each' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Promise/Each.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Promise\\EachPromise' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Promise/EachPromise.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Promise\\FulfilledPromise' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Promise/FulfilledPromise.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Promise\\Is' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Promise/Is.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Promise\\Promise' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Promise/Promise.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Promise\\PromiseInterface' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Promise/PromiseInterface.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Promise\\PromisorInterface' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Promise/PromisorInterface.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Promise\\RejectedPromise' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Promise/RejectedPromise.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Promise\\RejectionException' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Promise/RejectionException.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Promise\\TaskQueue' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Promise/TaskQueue.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Promise\\TaskQueueInterface' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Promise/TaskQueueInterface.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Promise\\Utils' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Promise/Utils.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Psr7\\AppendStream' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Psr7/AppendStream.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Psr7\\BufferStream' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Psr7/BufferStream.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Psr7\\CachingStream' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Psr7/CachingStream.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Psr7\\DroppingStream' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Psr7/DroppingStream.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Psr7\\Exception\\MalformedUriException' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Psr7/Exception/MalformedUriException.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Psr7\\FnStream' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Psr7/FnStream.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Psr7\\Header' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Psr7/Header.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Psr7\\HttpFactory' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Psr7/HttpFactory.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Psr7\\InflateStream' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Psr7/InflateStream.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Psr7\\LazyOpenStream' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Psr7/LazyOpenStream.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Psr7\\LimitStream' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Psr7/LimitStream.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Psr7\\Message' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Psr7/Message.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Psr7\\MessageTrait' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Psr7/MessageTrait.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Psr7\\MimeType' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Psr7/MimeType.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Psr7\\MultipartStream' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Psr7/MultipartStream.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Psr7\\NoSeekStream' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Psr7/NoSeekStream.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Psr7\\PumpStream' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Psr7/PumpStream.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Psr7\\Query' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Psr7/Query.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Psr7\\Request' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Psr7/Request.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Psr7\\Response' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Psr7/Response.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Psr7\\Rfc7230' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Psr7/Rfc7230.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Psr7\\ServerRequest' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Psr7/ServerRequest.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Psr7\\Stream' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Psr7/Stream.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Psr7\\StreamDecoratorTrait' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Psr7/StreamDecoratorTrait.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Psr7\\StreamWrapper' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Psr7/StreamWrapper.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Psr7\\UploadedFile' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Psr7/UploadedFile.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Psr7\\Uri' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Psr7/Uri.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Psr7\\UriComparator' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Psr7/UriComparator.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Psr7\\UriNormalizer' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Psr7/UriNormalizer.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Psr7\\UriResolver' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Psr7/UriResolver.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Psr7\\Utils' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Psr7/Utils.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\RedirectMiddleware' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/RedirectMiddleware.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\RequestOptions' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/RequestOptions.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\RetryMiddleware' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/RetryMiddleware.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\TransferStats' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/TransferStats.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\GuzzleHttp\\Utils' => __DIR__ . '/../..' . '/vendor_prefixed/GuzzleHttp/Utils.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\Psr\\Http\\Client\\ClientExceptionInterface' => __DIR__ . '/../..' . '/vendor_prefixed/Psr/Http/Client/ClientExceptionInterface.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\Psr\\Http\\Client\\ClientInterface' => __DIR__ . '/../..' . '/vendor_prefixed/Psr/Http/Client/ClientInterface.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\Psr\\Http\\Client\\NetworkExceptionInterface' => __DIR__ . '/../..' . '/vendor_prefixed/Psr/Http/Client/NetworkExceptionInterface.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\Psr\\Http\\Client\\RequestExceptionInterface' => __DIR__ . '/../..' . '/vendor_prefixed/Psr/Http/Client/RequestExceptionInterface.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\Psr\\Http\\Message\\MessageInterface' => __DIR__ . '/../..' . '/vendor_prefixed/Psr/Http/Message/MessageInterface.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\Psr\\Http\\Message\\RequestFactoryInterface' => __DIR__ . '/../..' . '/vendor_prefixed/Psr/Http/Message/RequestFactoryInterface.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\Psr\\Http\\Message\\RequestInterface' => __DIR__ . '/../..' . '/vendor_prefixed/Psr/Http/Message/RequestInterface.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\Psr\\Http\\Message\\ResponseFactoryInterface' => __DIR__ . '/../..' . '/vendor_prefixed/Psr/Http/Message/ResponseFactoryInterface.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\Psr\\Http\\Message\\ResponseInterface' => __DIR__ . '/../..' . '/vendor_prefixed/Psr/Http/Message/ResponseInterface.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\Psr\\Http\\Message\\ServerRequestFactoryInterface' => __DIR__ . '/../..' . '/vendor_prefixed/Psr/Http/Message/ServerRequestFactoryInterface.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\Psr\\Http\\Message\\ServerRequestInterface' => __DIR__ . '/../..' . '/vendor_prefixed/Psr/Http/Message/ServerRequestInterface.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\Psr\\Http\\Message\\StreamFactoryInterface' => __DIR__ . '/../..' . '/vendor_prefixed/Psr/Http/Message/StreamFactoryInterface.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\Psr\\Http\\Message\\StreamInterface' => __DIR__ . '/../..' . '/vendor_prefixed/Psr/Http/Message/StreamInterface.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\Psr\\Http\\Message\\UploadedFileFactoryInterface' => __DIR__ . '/../..' . '/vendor_prefixed/Psr/Http/Message/UploadedFileFactoryInterface.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\Psr\\Http\\Message\\UploadedFileInterface' => __DIR__ . '/../..' . '/vendor_prefixed/Psr/Http/Message/UploadedFileInterface.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\Psr\\Http\\Message\\UriFactoryInterface' => __DIR__ . '/../..' . '/vendor_prefixed/Psr/Http/Message/UriFactoryInterface.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\Psr\\Http\\Message\\UriInterface' => __DIR__ . '/../..' . '/vendor_prefixed/Psr/Http/Message/UriInterface.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Api\\Catalog\\InventoryCollection' => __DIR__ . '/../..' . '/vendor_prefixed/ShoppingFeed/Sdk/Api/Catalog/InventoryCollection.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Api\\Catalog\\InventoryDomain' => __DIR__ . '/../..' . '/vendor_prefixed/ShoppingFeed/Sdk/Api/Catalog/InventoryDomain.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Api\\Catalog\\InventoryResource' => __DIR__ . '/../..' . '/vendor_prefixed/ShoppingFeed/Sdk/Api/Catalog/InventoryResource.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Api\\Catalog\\InventoryUpdate' => __DIR__ . '/../..' . '/vendor_prefixed/ShoppingFeed/Sdk/Api/Catalog/InventoryUpdate.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Api\\Catalog\\PricingCollection' => __DIR__ . '/../..' . '/vendor_prefixed/ShoppingFeed/Sdk/Api/Catalog/PricingCollection.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Api\\Catalog\\PricingDomain' => __DIR__ . '/../..' . '/vendor_prefixed/ShoppingFeed/Sdk/Api/Catalog/PricingDomain.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Api\\Catalog\\PricingResource' => __DIR__ . '/../..' . '/vendor_prefixed/ShoppingFeed/Sdk/Api/Catalog/PricingResource.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Api\\Catalog\\PricingUpdate' => __DIR__ . '/../..' . '/vendor_prefixed/ShoppingFeed/Sdk/Api/Catalog/PricingUpdate.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Api\\Channel\\ChannelResource' => __DIR__ . '/../..' . '/vendor_prefixed/ShoppingFeed/Sdk/Api/Channel/ChannelResource.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Api\\Order\\Document\\AbstractDocument' => __DIR__ . '/../..' . '/vendor_prefixed/ShoppingFeed/Sdk/Api/Order/Document/AbstractDocument.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Api\\Order\\Document\\Invoice' => __DIR__ . '/../..' . '/vendor_prefixed/ShoppingFeed/Sdk/Api/Order/Document/Invoice.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Api\\Order\\OrderDomain' => __DIR__ . '/../..' . '/vendor_prefixed/ShoppingFeed/Sdk/Api/Order/OrderDomain.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Api\\Order\\OrderItem' => __DIR__ . '/../..' . '/vendor_prefixed/ShoppingFeed/Sdk/Api/Order/OrderItem.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Api\\Order\\OrderItemCollection' => __DIR__ . '/../..' . '/vendor_prefixed/ShoppingFeed/Sdk/Api/Order/OrderItemCollection.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Api\\Order\\OrderOperation' => __DIR__ . '/../..' . '/vendor_prefixed/ShoppingFeed/Sdk/Api/Order/OrderOperation.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Api\\Order\\OrderOperationResult' => __DIR__ . '/../..' . '/vendor_prefixed/ShoppingFeed/Sdk/Api/Order/OrderOperationResult.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Api\\Order\\OrderResource' => __DIR__ . '/../..' . '/vendor_prefixed/ShoppingFeed/Sdk/Api/Order/OrderResource.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Api\\Order\\Shipment\\ShipmentDomain' => __DIR__ . '/../..' . '/vendor_prefixed/ShoppingFeed/Sdk/Api/Order/Shipment/ShipmentDomain.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Api\\Order\\Shipment\\ShipmentResource' => __DIR__ . '/../..' . '/vendor_prefixed/ShoppingFeed/Sdk/Api/Order/Shipment/ShipmentResource.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Api\\Session\\SessionResource' => __DIR__ . '/../..' . '/vendor_prefixed/ShoppingFeed/Sdk/Api/Session/SessionResource.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Api\\Store\\StoreChannelDomain' => __DIR__ . '/../..' . '/vendor_prefixed/ShoppingFeed/Sdk/Api/Store/StoreChannelDomain.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Api\\Store\\StoreChannelResource' => __DIR__ . '/../..' . '/vendor_prefixed/ShoppingFeed/Sdk/Api/Store/StoreChannelResource.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Api\\Store\\StoreCollection' => __DIR__ . '/../..' . '/vendor_prefixed/ShoppingFeed/Sdk/Api/Store/StoreCollection.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Api\\Store\\StoreResource' => __DIR__ . '/../..' . '/vendor_prefixed/ShoppingFeed/Sdk/Api/Store/StoreResource.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Api\\Task\\TicketDomain' => __DIR__ . '/../..' . '/vendor_prefixed/ShoppingFeed/Sdk/Api/Task/TicketDomain.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Api\\Task\\TicketIterator' => __DIR__ . '/../..' . '/vendor_prefixed/ShoppingFeed/Sdk/Api/Task/TicketIterator.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Api\\Task\\TicketResource' => __DIR__ . '/../..' . '/vendor_prefixed/ShoppingFeed/Sdk/Api/Task/TicketResource.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Client\\Client' => __DIR__ . '/../..' . '/vendor_prefixed/ShoppingFeed/Sdk/Client/Client.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Client\\ClientOptions' => __DIR__ . '/../..' . '/vendor_prefixed/ShoppingFeed/Sdk/Client/ClientOptions.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Credential\\CredentialInterface' => __DIR__ . '/../..' . '/vendor_prefixed/ShoppingFeed/Sdk/Credential/CredentialInterface.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Credential\\Password' => __DIR__ . '/../..' . '/vendor_prefixed/ShoppingFeed/Sdk/Credential/Password.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Credential\\Token' => __DIR__ . '/../..' . '/vendor_prefixed/ShoppingFeed/Sdk/Credential/Token.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Exception\\InvalidArgumentException' => __DIR__ . '/../..' . '/vendor_prefixed/ShoppingFeed/Sdk/Exception/InvalidArgumentException.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Exception\\RuntimeException' => __DIR__ . '/../..' . '/vendor_prefixed/ShoppingFeed/Sdk/Exception/RuntimeException.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Hal\\HalClient' => __DIR__ . '/../..' . '/vendor_prefixed/ShoppingFeed/Sdk/Hal/HalClient.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Hal\\HalLink' => __DIR__ . '/../..' . '/vendor_prefixed/ShoppingFeed/Sdk/Hal/HalLink.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Hal\\HalResource' => __DIR__ . '/../..' . '/vendor_prefixed/ShoppingFeed/Sdk/Hal/HalResource.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Http\\Adapter\\AdapterInterface' => __DIR__ . '/../..' . '/vendor_prefixed/ShoppingFeed/Sdk/Http/Adapter/AdapterInterface.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Http\\Adapter\\GuzzleHTTPAdapter' => __DIR__ . '/../..' . '/vendor_prefixed/ShoppingFeed/Sdk/Http/Adapter/GuzzleHTTPAdapter.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Http\\Exception\\MissingDependencyException' => __DIR__ . '/../..' . '/vendor_prefixed/ShoppingFeed/Sdk/Http/Exception/MissingDependencyException.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Http\\Middleware\\RateLimitHandler' => __DIR__ . '/../..' . '/vendor_prefixed/ShoppingFeed/Sdk/Http/Middleware/RateLimitHandler.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Http\\Middleware\\ServerErrorHandler' => __DIR__ . '/../..' . '/vendor_prefixed/ShoppingFeed/Sdk/Http/Middleware/ServerErrorHandler.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Http\\UriTemplate' => __DIR__ . '/../..' . '/vendor_prefixed/ShoppingFeed/Sdk/Http/UriTemplate.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Operation\\AbstractBulkOperation' => __DIR__ . '/../..' . '/vendor_prefixed/ShoppingFeed/Sdk/Operation/AbstractBulkOperation.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Operation\\AbstractOperation' => __DIR__ . '/../..' . '/vendor_prefixed/ShoppingFeed/Sdk/Operation/AbstractOperation.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Resource\\AbstractCollection' => __DIR__ . '/../..' . '/vendor_prefixed/ShoppingFeed/Sdk/Resource/AbstractCollection.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Resource\\AbstractDomainResource' => __DIR__ . '/../..' . '/vendor_prefixed/ShoppingFeed/Sdk/Resource/AbstractDomainResource.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Resource\\AbstractResource' => __DIR__ . '/../..' . '/vendor_prefixed/ShoppingFeed/Sdk/Resource/AbstractResource.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Resource\\Json' => __DIR__ . '/../..' . '/vendor_prefixed/ShoppingFeed/Sdk/Resource/Json.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Resource\\PaginatedResourceCollection' => __DIR__ . '/../..' . '/vendor_prefixed/ShoppingFeed/Sdk/Resource/PaginatedResourceCollection.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Resource\\PaginatedResourceIterator' => __DIR__ . '/../..' . '/vendor_prefixed/ShoppingFeed/Sdk/Resource/PaginatedResourceIterator.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Resource\\PaginationCriteria' => __DIR__ . '/../..' . '/vendor_prefixed/ShoppingFeed/Sdk/Resource/PaginationCriteria.php', + 'ShoppingFeed\\ShoppingFeedWC\\Dependencies\\ShoppingFeed\\Sdk\\Resource\\ResourceProperties' => __DIR__ . '/../..' . '/vendor_prefixed/ShoppingFeed/Sdk/Resource/ResourceProperties.php', + 'ShoppingFeed\\ShoppingFeedWC\\Feed\\AsyncGenerator' => __DIR__ . '/../..' . '/src/Feed/AsyncGenerator.php', + 'ShoppingFeed\\ShoppingFeedWC\\Feed\\Generator' => __DIR__ . '/../..' . '/src/Feed/Generator.php', + 'ShoppingFeed\\ShoppingFeedWC\\Feed\\Platform' => __DIR__ . '/../..' . '/src/Feed/Platform.php', + 'ShoppingFeed\\ShoppingFeedWC\\Feed\\Uri' => __DIR__ . '/../..' . '/src/Feed/Uri.php', + 'ShoppingFeed\\ShoppingFeedWC\\Gateway\\ShoppingFeedGateway' => __DIR__ . '/../..' . '/src/Gateway/ShoppingFeedGateway.php', + 'ShoppingFeed\\ShoppingFeedWC\\Orders\\Operations' => __DIR__ . '/../..' . '/src/Orders/Operations.php', + 'ShoppingFeed\\ShoppingFeedWC\\Orders\\Order' => __DIR__ . '/../..' . '/src/Orders/Order.php', + 'ShoppingFeed\\ShoppingFeedWC\\Orders\\Order\\Address' => __DIR__ . '/../..' . '/src/Orders/Order/Address.php', + 'ShoppingFeed\\ShoppingFeedWC\\Orders\\Order\\CustomerNote' => __DIR__ . '/../..' . '/src/Orders/Order/CustomerNote.php', + 'ShoppingFeed\\ShoppingFeedWC\\Orders\\Order\\Fees' => __DIR__ . '/../..' . '/src/Orders/Order/Fees.php', + 'ShoppingFeed\\ShoppingFeedWC\\Orders\\Order\\Metas' => __DIR__ . '/../..' . '/src/Orders/Order/Metas.php', + 'ShoppingFeed\\ShoppingFeedWC\\Orders\\Order\\Payment' => __DIR__ . '/../..' . '/src/Orders/Order/Payment.php', + 'ShoppingFeed\\ShoppingFeedWC\\Orders\\Order\\Products' => __DIR__ . '/../..' . '/src/Orders/Order/Products.php', + 'ShoppingFeed\\ShoppingFeedWC\\Orders\\Order\\Shipping' => __DIR__ . '/../..' . '/src/Orders/Order/Shipping.php', + 'ShoppingFeed\\ShoppingFeedWC\\Orders\\Order\\Status' => __DIR__ . '/../..' . '/src/Orders/Order/Status.php', + 'ShoppingFeed\\ShoppingFeedWC\\Orders\\Orders' => __DIR__ . '/../..' . '/src/Orders/Orders.php', + 'ShoppingFeed\\ShoppingFeedWC\\Products\\Product' => __DIR__ . '/../..' . '/src/Products/Product.php', + 'ShoppingFeed\\ShoppingFeedWC\\Products\\Products' => __DIR__ . '/../..' . '/src/Products/Products.php', + 'ShoppingFeed\\ShoppingFeedWC\\Query\\Query' => __DIR__ . '/../..' . '/src/Query/Query.php', + 'ShoppingFeed\\ShoppingFeedWC\\Sdk\\Sdk' => __DIR__ . '/../..' . '/src/Sdk/Sdk.php', + 'ShoppingFeed\\ShoppingFeedWC\\ShoppingFeed' => __DIR__ . '/../..' . '/src/ShoppingFeed.php', + 'ShoppingFeed\\ShoppingFeedWC\\ShoppingFeedHelper' => __DIR__ . '/../..' . '/src/ShoppingFeedHelper.php', + 'ShoppingFeed\\ShoppingFeedWC\\Url\\Rewrite' => __DIR__ . '/../..' . '/src/Url/Rewrite.php', + ); + + public static function getInitializer(ClassLoader $loader) + { + return \Closure::bind(function () use ($loader) { + $loader->prefixLengthsPsr4 = ComposerStaticInit8336284631a9c1cdd16e39452df2cfa8::$prefixLengthsPsr4; + $loader->prefixDirsPsr4 = ComposerStaticInit8336284631a9c1cdd16e39452df2cfa8::$prefixDirsPsr4; + $loader->classMap = ComposerStaticInit8336284631a9c1cdd16e39452df2cfa8::$classMap; + + }, null, ClassLoader::class); + } +} diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json new file mode 100644 index 00000000..cbd52c3b --- /dev/null +++ b/vendor/composer/installed.json @@ -0,0 +1,200 @@ +{ + "packages": [ + { + "name": "composer/installers", + "version": "v2.2.0", + "version_normalized": "2.2.0.0", + "source": { + "type": "git", + "url": "https://github.com/composer/installers.git", + "reference": "c29dc4b93137acb82734f672c37e029dfbd95b35" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/installers/zipball/c29dc4b93137acb82734f672c37e029dfbd95b35", + "reference": "c29dc4b93137acb82734f672c37e029dfbd95b35", + "shasum": "" + }, + "require": { + "composer-plugin-api": "^1.0 || ^2.0", + "php": "^7.2 || ^8.0" + }, + "require-dev": { + "composer/composer": "1.6.* || ^2.0", + "composer/semver": "^1 || ^3", + "phpstan/phpstan": "^0.12.55", + "phpstan/phpstan-phpunit": "^0.12.16", + "symfony/phpunit-bridge": "^5.3", + "symfony/process": "^5" + }, + "time": "2022-08-20T06:45:11+00:00", + "type": "composer-plugin", + "extra": { + "class": "Composer\\Installers\\Plugin", + "branch-alias": { + "dev-main": "2.x-dev" + }, + "plugin-modifies-install-path": true + }, + "installation-source": "dist", + "autoload": { + "psr-4": { + "Composer\\Installers\\": "src/Composer/Installers" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Kyle Robinson Young", + "email": "kyle@dontkry.com", + "homepage": "https://github.com/shama" + } + ], + "description": "A multi-framework Composer library installer", + "homepage": "https://composer.github.io/installers/", + "keywords": [ + "Dolibarr", + "Eliasis", + "Hurad", + "ImageCMS", + "Kanboard", + "Lan Management System", + "MODX Evo", + "MantisBT", + "Mautic", + "Maya", + "OXID", + "Plentymarkets", + "Porto", + "RadPHP", + "SMF", + "Starbug", + "Thelia", + "Whmcs", + "WolfCMS", + "agl", + "annotatecms", + "attogram", + "bitrix", + "cakephp", + "chef", + "cockpit", + "codeigniter", + "concrete5", + "croogo", + "dokuwiki", + "drupal", + "eZ Platform", + "elgg", + "expressionengine", + "fuelphp", + "grav", + "installer", + "itop", + "known", + "kohana", + "laravel", + "lavalite", + "lithium", + "magento", + "majima", + "mako", + "matomo", + "mediawiki", + "miaoxing", + "modulework", + "modx", + "moodle", + "osclass", + "pantheon", + "phpbb", + "piwik", + "ppi", + "processwire", + "puppet", + "pxcms", + "reindex", + "roundcube", + "shopware", + "silverstripe", + "sydes", + "sylius", + "tastyigniter", + "wordpress", + "yawik", + "zend", + "zikula" + ], + "support": { + "issues": "https://github.com/composer/installers/issues", + "source": "https://github.com/composer/installers/tree/v2.2.0" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "install-path": "./installers" + }, + { + "name": "shoppingfeed/php-feed-generator", + "version": "1.2.5", + "version_normalized": "1.2.5.0", + "source": { + "type": "git", + "url": "https://github.com/shoppingflux/php-feed-generator.git", + "reference": "e2f89cdb804f16bbc282b7da0a8bac226fae6cc7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/shoppingflux/php-feed-generator/zipball/e2f89cdb804f16bbc282b7da0a8bac226fae6cc7", + "reference": "e2f89cdb804f16bbc282b7da0a8bac226fae6cc7", + "shasum": "" + }, + "require": { + "ext-xml": "*", + "php": ">=5.5" + }, + "require-dev": { + "fzaninotto/faker": "^1.7", + "psr/log": "^1.0", + "shoppingfeed/feed-xml": "1.*" + }, + "time": "2023-08-25T08:20:32+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "files": [ + "src/functions.php" + ], + "psr-4": { + "ShoppingFeed\\Feed\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "description": "ShoppingFeed Feed manager", + "support": { + "issues": "https://github.com/shoppingflux/php-feed-generator/issues", + "source": "https://github.com/shoppingflux/php-feed-generator/tree/1.2.5" + }, + "install-path": "../shoppingfeed/php-feed-generator" + } + ], + "dev": false, + "dev-package-names": [] +} diff --git a/vendor/composer/installed.php b/vendor/composer/installed.php new file mode 100644 index 00000000..2d8068fc --- /dev/null +++ b/vendor/composer/installed.php @@ -0,0 +1,41 @@ + array( + 'pretty_version' => 'dev-main', + 'version' => 'dev-main', + 'type' => 'wordpress-plugin', + 'install_path' => __DIR__ . '/../../', + 'aliases' => array(), + 'reference' => 'cd2c54e0be69a9cb611084d5ffde79f68084c3a0', + 'name' => 'shoppingfeed/shoppingfeed-for-woocommerce', + 'dev' => false, + ), + 'versions' => array( + 'composer/installers' => array( + 'pretty_version' => 'v2.2.0', + 'version' => '2.2.0.0', + 'type' => 'composer-plugin', + 'install_path' => __DIR__ . '/./installers', + 'aliases' => array(), + 'reference' => 'c29dc4b93137acb82734f672c37e029dfbd95b35', + 'dev_requirement' => false, + ), + 'shoppingfeed/php-feed-generator' => array( + 'pretty_version' => '1.2.5', + 'version' => '1.2.5.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../shoppingfeed/php-feed-generator', + 'aliases' => array(), + 'reference' => 'e2f89cdb804f16bbc282b7da0a8bac226fae6cc7', + 'dev_requirement' => false, + ), + 'shoppingfeed/shoppingfeed-for-woocommerce' => array( + 'pretty_version' => 'dev-main', + 'version' => 'dev-main', + 'type' => 'wordpress-plugin', + 'install_path' => __DIR__ . '/../../', + 'aliases' => array(), + 'reference' => 'cd2c54e0be69a9cb611084d5ffde79f68084c3a0', + 'dev_requirement' => false, + ), + ), +); diff --git a/vendor/composer/installers/LICENSE b/vendor/composer/installers/LICENSE new file mode 100644 index 00000000..85f97fc7 --- /dev/null +++ b/vendor/composer/installers/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2012 Kyle Robinson Young + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is furnished +to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. \ No newline at end of file diff --git a/vendor/composer/installers/phpstan.neon.dist b/vendor/composer/installers/phpstan.neon.dist new file mode 100644 index 00000000..b15782ac --- /dev/null +++ b/vendor/composer/installers/phpstan.neon.dist @@ -0,0 +1,12 @@ +parameters: + level: 8 + paths: + - src + - tests + excludes_analyse: + - tests/Composer/Installers/Test/PolyfillTestCase.php + ignoreErrors: + - '~Test::[a-zA-Z0-9]+Provider\(\) return type~' + +includes: + - vendor/phpstan/phpstan-phpunit/extension.neon diff --git a/vendor/composer/installers/src/Composer/Installers/AglInstaller.php b/vendor/composer/installers/src/Composer/Installers/AglInstaller.php new file mode 100644 index 00000000..b0996a6a --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/AglInstaller.php @@ -0,0 +1,29 @@ + */ + protected $locations = array( + 'module' => 'More/{$name}/', + ); + + /** + * Format package name to CamelCase + */ + public function inflectPackageVars(array $vars): array + { + $name = preg_replace_callback('/(?:^|_|-)(.?)/', function ($matches) { + return strtoupper($matches[1]); + }, $vars['name']); + + if (null === $name) { + throw new \RuntimeException('Failed to run preg_replace_callback: '.preg_last_error()); + } + + $vars['name'] = $name; + + return $vars; + } +} diff --git a/vendor/composer/installers/src/Composer/Installers/AkauntingInstaller.php b/vendor/composer/installers/src/Composer/Installers/AkauntingInstaller.php new file mode 100644 index 00000000..c504c70f --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/AkauntingInstaller.php @@ -0,0 +1,23 @@ + */ + protected $locations = array( + 'module' => 'modules/{$name}', + ); + + /** + * Format package name to CamelCase + */ + public function inflectPackageVars(array $vars): array + { + $vars['name'] = strtolower($this->pregReplace('/(?<=\\w)([A-Z])/', '_\\1', $vars['name'])); + $vars['name'] = str_replace(array('-', '_'), ' ', $vars['name']); + $vars['name'] = str_replace(' ', '', ucwords($vars['name'])); + + return $vars; + } +} diff --git a/vendor/composer/installers/src/Composer/Installers/AnnotateCmsInstaller.php b/vendor/composer/installers/src/Composer/Installers/AnnotateCmsInstaller.php new file mode 100644 index 00000000..58a0f666 --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/AnnotateCmsInstaller.php @@ -0,0 +1,13 @@ + */ + protected $locations = array( + 'module' => 'addons/modules/{$name}/', + 'component' => 'addons/components/{$name}/', + 'service' => 'addons/services/{$name}/', + ); +} diff --git a/vendor/composer/installers/src/Composer/Installers/AsgardInstaller.php b/vendor/composer/installers/src/Composer/Installers/AsgardInstaller.php new file mode 100644 index 00000000..f01b3991 --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/AsgardInstaller.php @@ -0,0 +1,58 @@ + */ + protected $locations = array( + 'module' => 'Modules/{$name}/', + 'theme' => 'Themes/{$name}/' + ); + + /** + * Format package name. + * + * For package type asgard-module, cut off a trailing '-plugin' if present. + * + * For package type asgard-theme, cut off a trailing '-theme' if present. + */ + public function inflectPackageVars(array $vars): array + { + if ($vars['type'] === 'asgard-module') { + return $this->inflectPluginVars($vars); + } + + if ($vars['type'] === 'asgard-theme') { + return $this->inflectThemeVars($vars); + } + + return $vars; + } + + /** + * @param array $vars + * @return array + */ + protected function inflectPluginVars(array $vars): array + { + $vars['name'] = $this->pregReplace('/-module$/', '', $vars['name']); + $vars['name'] = str_replace(array('-', '_'), ' ', $vars['name']); + $vars['name'] = str_replace(' ', '', ucwords($vars['name'])); + + return $vars; + } + + /** + * @param array $vars + * @return array + */ + protected function inflectThemeVars(array $vars): array + { + $vars['name'] = $this->pregReplace('/-theme$/', '', $vars['name']); + $vars['name'] = str_replace(array('-', '_'), ' ', $vars['name']); + $vars['name'] = str_replace(' ', '', ucwords($vars['name'])); + + return $vars; + } +} diff --git a/vendor/composer/installers/src/Composer/Installers/AttogramInstaller.php b/vendor/composer/installers/src/Composer/Installers/AttogramInstaller.php new file mode 100644 index 00000000..bd7dd8d7 --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/AttogramInstaller.php @@ -0,0 +1,11 @@ + */ + protected $locations = array( + 'module' => 'modules/{$name}/', + ); +} diff --git a/vendor/composer/installers/src/Composer/Installers/BaseInstaller.php b/vendor/composer/installers/src/Composer/Installers/BaseInstaller.php new file mode 100644 index 00000000..663ec2af --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/BaseInstaller.php @@ -0,0 +1,137 @@ + */ + protected $locations = array(); + /** @var Composer */ + protected $composer; + /** @var PackageInterface */ + protected $package; + /** @var IOInterface */ + protected $io; + + /** + * Initializes base installer. + */ + public function __construct(PackageInterface $package, Composer $composer, IOInterface $io) + { + $this->composer = $composer; + $this->package = $package; + $this->io = $io; + } + + /** + * Return the install path based on package type. + */ + public function getInstallPath(PackageInterface $package, string $frameworkType = ''): string + { + $type = $this->package->getType(); + + $prettyName = $this->package->getPrettyName(); + if (strpos($prettyName, '/') !== false) { + list($vendor, $name) = explode('/', $prettyName); + } else { + $vendor = ''; + $name = $prettyName; + } + + $availableVars = $this->inflectPackageVars(compact('name', 'vendor', 'type')); + + $extra = $package->getExtra(); + if (!empty($extra['installer-name'])) { + $availableVars['name'] = $extra['installer-name']; + } + + $extra = $this->composer->getPackage()->getExtra(); + if (!empty($extra['installer-paths'])) { + $customPath = $this->mapCustomInstallPaths($extra['installer-paths'], $prettyName, $type, $vendor); + if ($customPath !== false) { + return $this->templatePath($customPath, $availableVars); + } + } + + $packageType = substr($type, strlen($frameworkType) + 1); + $locations = $this->getLocations($frameworkType); + if (!isset($locations[$packageType])) { + throw new \InvalidArgumentException(sprintf('Package type "%s" is not supported', $type)); + } + + return $this->templatePath($locations[$packageType], $availableVars); + } + + /** + * For an installer to override to modify the vars per installer. + * + * @param array $vars This will normally receive array{name: string, vendor: string, type: string} + * @return array + */ + public function inflectPackageVars(array $vars): array + { + return $vars; + } + + /** + * Gets the installer's locations + * + * @return array map of package types => install path + */ + public function getLocations(string $frameworkType) + { + return $this->locations; + } + + /** + * Replace vars in a path + * + * @param array $vars + */ + protected function templatePath(string $path, array $vars = array()): string + { + if (strpos($path, '{') !== false) { + extract($vars); + preg_match_all('@\{\$([A-Za-z0-9_]*)\}@i', $path, $matches); + if (!empty($matches[1])) { + foreach ($matches[1] as $var) { + $path = str_replace('{$' . $var . '}', $$var, $path); + } + } + } + + return $path; + } + + /** + * Search through a passed paths array for a custom install path. + * + * @param array $paths + * @return string|false + */ + protected function mapCustomInstallPaths(array $paths, string $name, string $type, ?string $vendor = null) + { + foreach ($paths as $path => $names) { + $names = (array) $names; + if (in_array($name, $names) || in_array('type:' . $type, $names) || in_array('vendor:' . $vendor, $names)) { + return $path; + } + } + + return false; + } + + protected function pregReplace(string $pattern, string $replacement, string $subject): string + { + $result = preg_replace($pattern, $replacement, $subject); + if (null === $result) { + throw new \RuntimeException('Failed to run preg_replace with '.$pattern.': '.preg_last_error()); + } + + return $result; + } +} diff --git a/vendor/composer/installers/src/Composer/Installers/BitrixInstaller.php b/vendor/composer/installers/src/Composer/Installers/BitrixInstaller.php new file mode 100644 index 00000000..705ecb4f --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/BitrixInstaller.php @@ -0,0 +1,123 @@ +.`. + * - `bitrix-d7-component` — copy the component to directory `bitrix/components//`. + * - `bitrix-d7-template` — copy the template to directory `bitrix/templates/_`. + * + * You can set custom path to directory with Bitrix kernel in `composer.json`: + * + * ```json + * { + * "extra": { + * "bitrix-dir": "s1/bitrix" + * } + * } + * ``` + * + * @author Nik Samokhvalov + * @author Denis Kulichkin + */ +class BitrixInstaller extends BaseInstaller +{ + /** @var array */ + protected $locations = array( + 'module' => '{$bitrix_dir}/modules/{$name}/', // deprecated, remove on the major release (Backward compatibility will be broken) + 'component' => '{$bitrix_dir}/components/{$name}/', // deprecated, remove on the major release (Backward compatibility will be broken) + 'theme' => '{$bitrix_dir}/templates/{$name}/', // deprecated, remove on the major release (Backward compatibility will be broken) + 'd7-module' => '{$bitrix_dir}/modules/{$vendor}.{$name}/', + 'd7-component' => '{$bitrix_dir}/components/{$vendor}/{$name}/', + 'd7-template' => '{$bitrix_dir}/templates/{$vendor}_{$name}/', + ); + + /** + * @var string[] Storage for informations about duplicates at all the time of installation packages. + */ + private static $checkedDuplicates = array(); + + public function inflectPackageVars(array $vars): array + { + /** @phpstan-ignore-next-line */ + if ($this->composer->getPackage()) { + $extra = $this->composer->getPackage()->getExtra(); + + if (isset($extra['bitrix-dir'])) { + $vars['bitrix_dir'] = $extra['bitrix-dir']; + } + } + + if (!isset($vars['bitrix_dir'])) { + $vars['bitrix_dir'] = 'bitrix'; + } + + return parent::inflectPackageVars($vars); + } + + /** + * {@inheritdoc} + */ + protected function templatePath(string $path, array $vars = array()): string + { + $templatePath = parent::templatePath($path, $vars); + $this->checkDuplicates($templatePath, $vars); + + return $templatePath; + } + + /** + * Duplicates search packages. + * + * @param array $vars + */ + protected function checkDuplicates(string $path, array $vars = array()): void + { + $packageType = substr($vars['type'], strlen('bitrix') + 1); + $localDir = explode('/', $vars['bitrix_dir']); + array_pop($localDir); + $localDir[] = 'local'; + $localDir = implode('/', $localDir); + + $oldPath = str_replace( + array('{$bitrix_dir}', '{$name}'), + array($localDir, $vars['name']), + $this->locations[$packageType] + ); + + if (in_array($oldPath, static::$checkedDuplicates)) { + return; + } + + if ($oldPath !== $path && file_exists($oldPath) && $this->io->isInteractive()) { + $this->io->writeError(' Duplication of packages:'); + $this->io->writeError(' Package ' . $oldPath . ' will be called instead package ' . $path . ''); + + while (true) { + switch ($this->io->ask(' Delete ' . $oldPath . ' [y,n,?]? ', '?')) { + case 'y': + $fs = new Filesystem(); + $fs->removeDirectory($oldPath); + break 2; + + case 'n': + break 2; + + case '?': + default: + $this->io->writeError(array( + ' y - delete package ' . $oldPath . ' and to continue with the installation', + ' n - don\'t delete and to continue with the installation', + )); + $this->io->writeError(' ? - print help'); + break; + } + } + } + + static::$checkedDuplicates[] = $oldPath; + } +} diff --git a/vendor/composer/installers/src/Composer/Installers/BonefishInstaller.php b/vendor/composer/installers/src/Composer/Installers/BonefishInstaller.php new file mode 100644 index 00000000..ab022d99 --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/BonefishInstaller.php @@ -0,0 +1,11 @@ + */ + protected $locations = array( + 'package' => 'Packages/{$vendor}/{$name}/' + ); +} diff --git a/vendor/composer/installers/src/Composer/Installers/CakePHPInstaller.php b/vendor/composer/installers/src/Composer/Installers/CakePHPInstaller.php new file mode 100644 index 00000000..df45895b --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/CakePHPInstaller.php @@ -0,0 +1,67 @@ + */ + protected $locations = array( + 'plugin' => 'Plugin/{$name}/', + ); + + /** + * Format package name to CamelCase + */ + public function inflectPackageVars(array $vars): array + { + if ($this->matchesCakeVersion('>=', '3.0.0')) { + return $vars; + } + + $nameParts = explode('/', $vars['name']); + foreach ($nameParts as &$value) { + $value = strtolower($this->pregReplace('/(?<=\\w)([A-Z])/', '_\\1', $value)); + $value = str_replace(array('-', '_'), ' ', $value); + $value = str_replace(' ', '', ucwords($value)); + } + $vars['name'] = implode('/', $nameParts); + + return $vars; + } + + /** + * Change the default plugin location when cakephp >= 3.0 + */ + public function getLocations(string $frameworkType): array + { + if ($this->matchesCakeVersion('>=', '3.0.0')) { + $this->locations['plugin'] = $this->composer->getConfig()->get('vendor-dir') . '/{$vendor}/{$name}/'; + } + return $this->locations; + } + + /** + * Check if CakePHP version matches against a version + * + * @phpstan-param Constraint::STR_OP_* $matcher + */ + protected function matchesCakeVersion(string $matcher, string $version): bool + { + $repositoryManager = $this->composer->getRepositoryManager(); + /** @phpstan-ignore-next-line */ + if (!$repositoryManager) { + return false; + } + + $repos = $repositoryManager->getLocalRepository(); + /** @phpstan-ignore-next-line */ + if (!$repos) { + return false; + } + + return $repos->findPackage('cakephp/cakephp', new Constraint($matcher, $version)) !== null; + } +} diff --git a/vendor/composer/installers/src/Composer/Installers/ChefInstaller.php b/vendor/composer/installers/src/Composer/Installers/ChefInstaller.php new file mode 100644 index 00000000..b0d3c5f7 --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/ChefInstaller.php @@ -0,0 +1,12 @@ + */ + protected $locations = array( + 'cookbook' => 'Chef/{$vendor}/{$name}/', + 'role' => 'Chef/roles/{$name}/', + ); +} diff --git a/vendor/composer/installers/src/Composer/Installers/CiviCrmInstaller.php b/vendor/composer/installers/src/Composer/Installers/CiviCrmInstaller.php new file mode 100644 index 00000000..1c52e0cd --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/CiviCrmInstaller.php @@ -0,0 +1,11 @@ + */ + protected $locations = array( + 'ext' => 'ext/{$name}/' + ); +} diff --git a/vendor/composer/installers/src/Composer/Installers/ClanCatsFrameworkInstaller.php b/vendor/composer/installers/src/Composer/Installers/ClanCatsFrameworkInstaller.php new file mode 100644 index 00000000..2c943b21 --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/ClanCatsFrameworkInstaller.php @@ -0,0 +1,12 @@ + */ + protected $locations = array( + 'ship' => 'CCF/orbit/{$name}/', + 'theme' => 'CCF/app/themes/{$name}/', + ); +} diff --git a/vendor/composer/installers/src/Composer/Installers/CockpitInstaller.php b/vendor/composer/installers/src/Composer/Installers/CockpitInstaller.php new file mode 100644 index 00000000..d3fcdf7d --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/CockpitInstaller.php @@ -0,0 +1,36 @@ + */ + protected $locations = array( + 'module' => 'cockpit/modules/addons/{$name}/', + ); + + /** + * Format module name. + * + * Strip `module-` prefix from package name. + */ + public function inflectPackageVars(array $vars): array + { + if ($vars['type'] == 'cockpit-module') { + return $this->inflectModuleVars($vars); + } + + return $vars; + } + + /** + * @param array $vars + * @return array + */ + public function inflectModuleVars(array $vars): array + { + $vars['name'] = ucfirst($this->pregReplace('/cockpit-/i', '', $vars['name'])); + + return $vars; + } +} diff --git a/vendor/composer/installers/src/Composer/Installers/CodeIgniterInstaller.php b/vendor/composer/installers/src/Composer/Installers/CodeIgniterInstaller.php new file mode 100644 index 00000000..a183e078 --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/CodeIgniterInstaller.php @@ -0,0 +1,13 @@ + */ + protected $locations = array( + 'library' => 'application/libraries/{$name}/', + 'third-party' => 'application/third_party/{$name}/', + 'module' => 'application/modules/{$name}/', + ); +} diff --git a/vendor/composer/installers/src/Composer/Installers/Concrete5Installer.php b/vendor/composer/installers/src/Composer/Installers/Concrete5Installer.php new file mode 100644 index 00000000..2f5fecb3 --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/Concrete5Installer.php @@ -0,0 +1,15 @@ + */ + protected $locations = array( + 'core' => 'concrete/', + 'block' => 'application/blocks/{$name}/', + 'package' => 'packages/{$name}/', + 'theme' => 'application/themes/{$name}/', + 'update' => 'updates/{$name}/', + ); +} diff --git a/vendor/composer/installers/src/Composer/Installers/CroogoInstaller.php b/vendor/composer/installers/src/Composer/Installers/CroogoInstaller.php new file mode 100644 index 00000000..31d4939b --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/CroogoInstaller.php @@ -0,0 +1,23 @@ + */ + protected $locations = array( + 'plugin' => 'Plugin/{$name}/', + 'theme' => 'View/Themed/{$name}/', + ); + + /** + * Format package name to CamelCase + */ + public function inflectPackageVars(array $vars): array + { + $vars['name'] = strtolower(str_replace(array('-', '_'), ' ', $vars['name'])); + $vars['name'] = str_replace(' ', '', ucwords($vars['name'])); + + return $vars; + } +} diff --git a/vendor/composer/installers/src/Composer/Installers/DecibelInstaller.php b/vendor/composer/installers/src/Composer/Installers/DecibelInstaller.php new file mode 100644 index 00000000..88f53f73 --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/DecibelInstaller.php @@ -0,0 +1,12 @@ + */ + protected $locations = array( + 'app' => 'app/{$name}/', + ); +} diff --git a/vendor/composer/installers/src/Composer/Installers/DframeInstaller.php b/vendor/composer/installers/src/Composer/Installers/DframeInstaller.php new file mode 100644 index 00000000..196f60ef --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/DframeInstaller.php @@ -0,0 +1,11 @@ + */ + protected $locations = array( + 'module' => 'modules/{$vendor}/{$name}/', + ); +} diff --git a/vendor/composer/installers/src/Composer/Installers/DokuWikiInstaller.php b/vendor/composer/installers/src/Composer/Installers/DokuWikiInstaller.php new file mode 100644 index 00000000..aa3a2e60 --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/DokuWikiInstaller.php @@ -0,0 +1,57 @@ + */ + protected $locations = array( + 'plugin' => 'lib/plugins/{$name}/', + 'template' => 'lib/tpl/{$name}/', + ); + + /** + * Format package name. + * + * For package type dokuwiki-plugin, cut off a trailing '-plugin', + * or leading dokuwiki_ if present. + * + * For package type dokuwiki-template, cut off a trailing '-template' if present. + */ + public function inflectPackageVars(array $vars): array + { + if ($vars['type'] === 'dokuwiki-plugin') { + return $this->inflectPluginVars($vars); + } + + if ($vars['type'] === 'dokuwiki-template') { + return $this->inflectTemplateVars($vars); + } + + return $vars; + } + + /** + * @param array $vars + * @return array + */ + protected function inflectPluginVars(array $vars): array + { + $vars['name'] = $this->pregReplace('/-plugin$/', '', $vars['name']); + $vars['name'] = $this->pregReplace('/^dokuwiki_?-?/', '', $vars['name']); + + return $vars; + } + + /** + * @param array $vars + * @return array + */ + protected function inflectTemplateVars(array $vars): array + { + $vars['name'] = $this->pregReplace('/-template$/', '', $vars['name']); + $vars['name'] = $this->pregReplace('/^dokuwiki_?-?/', '', $vars['name']); + + return $vars; + } +} diff --git a/vendor/composer/installers/src/Composer/Installers/DolibarrInstaller.php b/vendor/composer/installers/src/Composer/Installers/DolibarrInstaller.php new file mode 100644 index 00000000..c583619c --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/DolibarrInstaller.php @@ -0,0 +1,18 @@ + + */ +class DolibarrInstaller extends BaseInstaller +{ + //TODO: Add support for scripts and themes + /** @var array */ + protected $locations = array( + 'module' => 'htdocs/custom/{$name}/', + ); +} diff --git a/vendor/composer/installers/src/Composer/Installers/DrupalInstaller.php b/vendor/composer/installers/src/Composer/Installers/DrupalInstaller.php new file mode 100644 index 00000000..7690f306 --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/DrupalInstaller.php @@ -0,0 +1,24 @@ + */ + protected $locations = array( + 'core' => 'core/', + 'module' => 'modules/{$name}/', + 'theme' => 'themes/{$name}/', + 'library' => 'libraries/{$name}/', + 'profile' => 'profiles/{$name}/', + 'database-driver' => 'drivers/lib/Drupal/Driver/Database/{$name}/', + 'drush' => 'drush/{$name}/', + 'custom-theme' => 'themes/custom/{$name}/', + 'custom-module' => 'modules/custom/{$name}/', + 'custom-profile' => 'profiles/custom/{$name}/', + 'drupal-multisite' => 'sites/{$name}/', + 'console' => 'console/{$name}/', + 'console-language' => 'console/language/{$name}/', + 'config' => 'config/sync/', + ); +} diff --git a/vendor/composer/installers/src/Composer/Installers/ElggInstaller.php b/vendor/composer/installers/src/Composer/Installers/ElggInstaller.php new file mode 100644 index 00000000..48ef2ecd --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/ElggInstaller.php @@ -0,0 +1,11 @@ + */ + protected $locations = array( + 'plugin' => 'mod/{$name}/', + ); +} diff --git a/vendor/composer/installers/src/Composer/Installers/EliasisInstaller.php b/vendor/composer/installers/src/Composer/Installers/EliasisInstaller.php new file mode 100644 index 00000000..d7dd9a92 --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/EliasisInstaller.php @@ -0,0 +1,14 @@ + */ + protected $locations = array( + 'component' => 'components/{$name}/', + 'module' => 'modules/{$name}/', + 'plugin' => 'plugins/{$name}/', + 'template' => 'templates/{$name}/', + ); +} diff --git a/vendor/composer/installers/src/Composer/Installers/ExpressionEngineInstaller.php b/vendor/composer/installers/src/Composer/Installers/ExpressionEngineInstaller.php new file mode 100644 index 00000000..fe1d468a --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/ExpressionEngineInstaller.php @@ -0,0 +1,31 @@ + */ + private $ee2Locations = array( + 'addon' => 'system/expressionengine/third_party/{$name}/', + 'theme' => 'themes/third_party/{$name}/', + ); + + /** @var array */ + private $ee3Locations = array( + 'addon' => 'system/user/addons/{$name}/', + 'theme' => 'themes/user/{$name}/', + ); + + public function getLocations(string $frameworkType): array + { + if ($frameworkType === 'ee2') { + $this->locations = $this->ee2Locations; + } else { + $this->locations = $this->ee3Locations; + } + + return $this->locations; + } +} diff --git a/vendor/composer/installers/src/Composer/Installers/EzPlatformInstaller.php b/vendor/composer/installers/src/Composer/Installers/EzPlatformInstaller.php new file mode 100644 index 00000000..1f5b84e2 --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/EzPlatformInstaller.php @@ -0,0 +1,12 @@ + */ + protected $locations = array( + 'meta-assets' => 'web/assets/ezplatform/', + 'assets' => 'web/assets/ezplatform/{$name}/', + ); +} diff --git a/vendor/composer/installers/src/Composer/Installers/FuelInstaller.php b/vendor/composer/installers/src/Composer/Installers/FuelInstaller.php new file mode 100644 index 00000000..5948572e --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/FuelInstaller.php @@ -0,0 +1,13 @@ + */ + protected $locations = array( + 'module' => 'fuel/app/modules/{$name}/', + 'package' => 'fuel/packages/{$name}/', + 'theme' => 'fuel/app/themes/{$name}/', + ); +} diff --git a/vendor/composer/installers/src/Composer/Installers/FuelphpInstaller.php b/vendor/composer/installers/src/Composer/Installers/FuelphpInstaller.php new file mode 100644 index 00000000..b4d80ed3 --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/FuelphpInstaller.php @@ -0,0 +1,11 @@ + */ + protected $locations = array( + 'component' => 'components/{$name}/', + ); +} diff --git a/vendor/composer/installers/src/Composer/Installers/GravInstaller.php b/vendor/composer/installers/src/Composer/Installers/GravInstaller.php new file mode 100644 index 00000000..f5792e36 --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/GravInstaller.php @@ -0,0 +1,29 @@ + */ + protected $locations = array( + 'plugin' => 'user/plugins/{$name}/', + 'theme' => 'user/themes/{$name}/', + ); + + /** + * Format package name + */ + public function inflectPackageVars(array $vars): array + { + $restrictedWords = implode('|', array_keys($this->locations)); + + $vars['name'] = strtolower($vars['name']); + $vars['name'] = $this->pregReplace( + '/^(?:grav-)?(?:(?:'.$restrictedWords.')-)?(.*?)(?:-(?:'.$restrictedWords.'))?$/ui', + '$1', + $vars['name'] + ); + + return $vars; + } +} diff --git a/vendor/composer/installers/src/Composer/Installers/HuradInstaller.php b/vendor/composer/installers/src/Composer/Installers/HuradInstaller.php new file mode 100644 index 00000000..dd76c5b6 --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/HuradInstaller.php @@ -0,0 +1,27 @@ + */ + protected $locations = array( + 'plugin' => 'plugins/{$name}/', + 'theme' => 'plugins/{$name}/', + ); + + /** + * Format package name to CamelCase + */ + public function inflectPackageVars(array $vars): array + { + $nameParts = explode('/', $vars['name']); + foreach ($nameParts as &$value) { + $value = strtolower($this->pregReplace('/(?<=\\w)([A-Z])/', '_\\1', $value)); + $value = str_replace(array('-', '_'), ' ', $value); + $value = str_replace(' ', '', ucwords($value)); + } + $vars['name'] = implode('/', $nameParts); + return $vars; + } +} diff --git a/vendor/composer/installers/src/Composer/Installers/ImageCMSInstaller.php b/vendor/composer/installers/src/Composer/Installers/ImageCMSInstaller.php new file mode 100644 index 00000000..4157ceca --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/ImageCMSInstaller.php @@ -0,0 +1,13 @@ + */ + protected $locations = array( + 'template' => 'templates/{$name}/', + 'module' => 'application/modules/{$name}/', + 'library' => 'application/libraries/{$name}/', + ); +} diff --git a/vendor/composer/installers/src/Composer/Installers/Installer.php b/vendor/composer/installers/src/Composer/Installers/Installer.php new file mode 100644 index 00000000..67a73e9d --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/Installer.php @@ -0,0 +1,280 @@ + + */ + private $supportedTypes = array( + 'akaunting' => 'AkauntingInstaller', + 'asgard' => 'AsgardInstaller', + 'attogram' => 'AttogramInstaller', + 'agl' => 'AglInstaller', + 'annotatecms' => 'AnnotateCmsInstaller', + 'bitrix' => 'BitrixInstaller', + 'bonefish' => 'BonefishInstaller', + 'cakephp' => 'CakePHPInstaller', + 'chef' => 'ChefInstaller', + 'civicrm' => 'CiviCrmInstaller', + 'ccframework' => 'ClanCatsFrameworkInstaller', + 'cockpit' => 'CockpitInstaller', + 'codeigniter' => 'CodeIgniterInstaller', + 'concrete5' => 'Concrete5Installer', + 'croogo' => 'CroogoInstaller', + 'dframe' => 'DframeInstaller', + 'dokuwiki' => 'DokuWikiInstaller', + 'dolibarr' => 'DolibarrInstaller', + 'decibel' => 'DecibelInstaller', + 'drupal' => 'DrupalInstaller', + 'elgg' => 'ElggInstaller', + 'eliasis' => 'EliasisInstaller', + 'ee3' => 'ExpressionEngineInstaller', + 'ee2' => 'ExpressionEngineInstaller', + 'ezplatform' => 'EzPlatformInstaller', + 'fuel' => 'FuelInstaller', + 'fuelphp' => 'FuelphpInstaller', + 'grav' => 'GravInstaller', + 'hurad' => 'HuradInstaller', + 'tastyigniter' => 'TastyIgniterInstaller', + 'imagecms' => 'ImageCMSInstaller', + 'itop' => 'ItopInstaller', + 'kanboard' => 'KanboardInstaller', + 'known' => 'KnownInstaller', + 'kodicms' => 'KodiCMSInstaller', + 'kohana' => 'KohanaInstaller', + 'lms' => 'LanManagementSystemInstaller', + 'laravel' => 'LaravelInstaller', + 'lavalite' => 'LavaLiteInstaller', + 'lithium' => 'LithiumInstaller', + 'magento' => 'MagentoInstaller', + 'majima' => 'MajimaInstaller', + 'mantisbt' => 'MantisBTInstaller', + 'mako' => 'MakoInstaller', + 'matomo' => 'MatomoInstaller', + 'maya' => 'MayaInstaller', + 'mautic' => 'MauticInstaller', + 'mediawiki' => 'MediaWikiInstaller', + 'miaoxing' => 'MiaoxingInstaller', + 'microweber' => 'MicroweberInstaller', + 'modulework' => 'MODULEWorkInstaller', + 'modx' => 'ModxInstaller', + 'modxevo' => 'MODXEvoInstaller', + 'moodle' => 'MoodleInstaller', + 'october' => 'OctoberInstaller', + 'ontowiki' => 'OntoWikiInstaller', + 'oxid' => 'OxidInstaller', + 'osclass' => 'OsclassInstaller', + 'pxcms' => 'PxcmsInstaller', + 'phpbb' => 'PhpBBInstaller', + 'piwik' => 'PiwikInstaller', + 'plentymarkets'=> 'PlentymarketsInstaller', + 'ppi' => 'PPIInstaller', + 'puppet' => 'PuppetInstaller', + 'radphp' => 'RadPHPInstaller', + 'phifty' => 'PhiftyInstaller', + 'porto' => 'PortoInstaller', + 'processwire' => 'ProcessWireInstaller', + 'quicksilver' => 'PantheonInstaller', + 'redaxo' => 'RedaxoInstaller', + 'redaxo5' => 'Redaxo5Installer', + 'reindex' => 'ReIndexInstaller', + 'roundcube' => 'RoundcubeInstaller', + 'shopware' => 'ShopwareInstaller', + 'sitedirect' => 'SiteDirectInstaller', + 'silverstripe' => 'SilverStripeInstaller', + 'smf' => 'SMFInstaller', + 'starbug' => 'StarbugInstaller', + 'sydes' => 'SyDESInstaller', + 'sylius' => 'SyliusInstaller', + 'tao' => 'TaoInstaller', + 'thelia' => 'TheliaInstaller', + 'tusk' => 'TuskInstaller', + 'userfrosting' => 'UserFrostingInstaller', + 'vanilla' => 'VanillaInstaller', + 'whmcs' => 'WHMCSInstaller', + 'winter' => 'WinterInstaller', + 'wolfcms' => 'WolfCMSInstaller', + 'wordpress' => 'WordPressInstaller', + 'yawik' => 'YawikInstaller', + 'zend' => 'ZendInstaller', + 'zikula' => 'ZikulaInstaller', + 'prestashop' => 'PrestashopInstaller' + ); + + /** + * Disables installers specified in main composer extra installer-disable + * list + */ + public function __construct( + IOInterface $io, + Composer $composer, + string $type = 'library', + ?Filesystem $filesystem = null, + ?BinaryInstaller $binaryInstaller = null + ) { + parent::__construct($io, $composer, $type, $filesystem, $binaryInstaller); + $this->removeDisabledInstallers(); + } + + /** + * {@inheritDoc} + */ + public function getInstallPath(PackageInterface $package) + { + $type = $package->getType(); + $frameworkType = $this->findFrameworkType($type); + + if ($frameworkType === false) { + throw new \InvalidArgumentException( + 'Sorry the package type of this package is not yet supported.' + ); + } + + $class = 'Composer\\Installers\\' . $this->supportedTypes[$frameworkType]; + $installer = new $class($package, $this->composer, $this->getIO()); + + $path = $installer->getInstallPath($package, $frameworkType); + if (!$this->filesystem->isAbsolutePath($path)) { + $path = getcwd() . '/' . $path; + } + + return $path; + } + + public function uninstall(InstalledRepositoryInterface $repo, PackageInterface $package) + { + $installPath = $this->getPackageBasePath($package); + $io = $this->io; + $outputStatus = function () use ($io, $installPath) { + $io->write(sprintf('Deleting %s - %s', $installPath, !file_exists($installPath) ? 'deleted' : 'not deleted')); + }; + + $promise = parent::uninstall($repo, $package); + + // Composer v2 might return a promise here + if ($promise instanceof PromiseInterface) { + return $promise->then($outputStatus); + } + + // If not, execute the code right away as parent::uninstall executed synchronously (composer v1, or v2 without async) + $outputStatus(); + + return null; + } + + /** + * {@inheritDoc} + */ + public function supports($packageType) + { + $frameworkType = $this->findFrameworkType($packageType); + + if ($frameworkType === false) { + return false; + } + + $locationPattern = $this->getLocationPattern($frameworkType); + + return preg_match('#' . $frameworkType . '-' . $locationPattern . '#', $packageType, $matches) === 1; + } + + /** + * Finds a supported framework type if it exists and returns it + * + * @return string|false + */ + protected function findFrameworkType(string $type) + { + krsort($this->supportedTypes); + + foreach ($this->supportedTypes as $key => $val) { + if ($key === substr($type, 0, strlen($key))) { + return substr($type, 0, strlen($key)); + } + } + + return false; + } + + /** + * Get the second part of the regular expression to check for support of a + * package type + */ + protected function getLocationPattern(string $frameworkType): string + { + $pattern = null; + if (!empty($this->supportedTypes[$frameworkType])) { + $frameworkClass = 'Composer\\Installers\\' . $this->supportedTypes[$frameworkType]; + /** @var BaseInstaller $framework */ + $framework = new $frameworkClass(new Package('dummy/pkg', '1.0.0.0', '1.0.0'), $this->composer, $this->getIO()); + $locations = array_keys($framework->getLocations($frameworkType)); + if ($locations) { + $pattern = '(' . implode('|', $locations) . ')'; + } + } + + return $pattern ?: '(\w+)'; + } + + private function getIO(): IOInterface + { + return $this->io; + } + + /** + * Look for installers set to be disabled in composer's extra config and + * remove them from the list of supported installers. + * + * Globals: + * - true, "all", and "*" - disable all installers. + * - false - enable all installers (useful with + * wikimedia/composer-merge-plugin or similar) + */ + protected function removeDisabledInstallers(): void + { + $extra = $this->composer->getPackage()->getExtra(); + + if (!isset($extra['installer-disable']) || $extra['installer-disable'] === false) { + // No installers are disabled + return; + } + + // Get installers to disable + $disable = $extra['installer-disable']; + + // Ensure $disabled is an array + if (!is_array($disable)) { + $disable = array($disable); + } + + // Check which installers should be disabled + $all = array(true, "all", "*"); + $intersect = array_intersect($all, $disable); + if (!empty($intersect)) { + // Disable all installers + $this->supportedTypes = array(); + return; + } + + // Disable specified installers + foreach ($disable as $key => $installer) { + if (is_string($installer) && key_exists($installer, $this->supportedTypes)) { + unset($this->supportedTypes[$installer]); + } + } + } +} diff --git a/vendor/composer/installers/src/Composer/Installers/ItopInstaller.php b/vendor/composer/installers/src/Composer/Installers/ItopInstaller.php new file mode 100644 index 00000000..06af0687 --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/ItopInstaller.php @@ -0,0 +1,11 @@ + */ + protected $locations = array( + 'extension' => 'extensions/{$name}/', + ); +} diff --git a/vendor/composer/installers/src/Composer/Installers/KanboardInstaller.php b/vendor/composer/installers/src/Composer/Installers/KanboardInstaller.php new file mode 100644 index 00000000..bca954b2 --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/KanboardInstaller.php @@ -0,0 +1,20 @@ + */ + protected $locations = array( + 'plugin' => 'plugins/{$name}/', + ); +} diff --git a/vendor/composer/installers/src/Composer/Installers/KnownInstaller.php b/vendor/composer/installers/src/Composer/Installers/KnownInstaller.php new file mode 100644 index 00000000..61910a86 --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/KnownInstaller.php @@ -0,0 +1,13 @@ + */ + protected $locations = array( + 'plugin' => 'IdnoPlugins/{$name}/', + 'theme' => 'Themes/{$name}/', + 'console' => 'ConsolePlugins/{$name}/', + ); +} diff --git a/vendor/composer/installers/src/Composer/Installers/KodiCMSInstaller.php b/vendor/composer/installers/src/Composer/Installers/KodiCMSInstaller.php new file mode 100644 index 00000000..2505ac68 --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/KodiCMSInstaller.php @@ -0,0 +1,12 @@ + */ + protected $locations = array( + 'plugin' => 'cms/plugins/{$name}/', + 'media' => 'cms/media/vendor/{$name}/' + ); +} diff --git a/vendor/composer/installers/src/Composer/Installers/KohanaInstaller.php b/vendor/composer/installers/src/Composer/Installers/KohanaInstaller.php new file mode 100644 index 00000000..b6aa8097 --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/KohanaInstaller.php @@ -0,0 +1,11 @@ + */ + protected $locations = array( + 'module' => 'modules/{$name}/', + ); +} diff --git a/vendor/composer/installers/src/Composer/Installers/LanManagementSystemInstaller.php b/vendor/composer/installers/src/Composer/Installers/LanManagementSystemInstaller.php new file mode 100644 index 00000000..7fe9d9b7 --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/LanManagementSystemInstaller.php @@ -0,0 +1,27 @@ + */ + protected $locations = array( + 'plugin' => 'plugins/{$name}/', + 'template' => 'templates/{$name}/', + 'document-template' => 'documents/templates/{$name}/', + 'userpanel-module' => 'userpanel/modules/{$name}/', + ); + + /** + * Format package name to CamelCase + */ + public function inflectPackageVars(array $vars): array + { + $vars['name'] = strtolower($this->pregReplace('/(?<=\\w)([A-Z])/', '_\\1', $vars['name'])); + $vars['name'] = str_replace(array('-', '_'), ' ', $vars['name']); + $vars['name'] = str_replace(' ', '', ucwords($vars['name'])); + + return $vars; + } +} diff --git a/vendor/composer/installers/src/Composer/Installers/LaravelInstaller.php b/vendor/composer/installers/src/Composer/Installers/LaravelInstaller.php new file mode 100644 index 00000000..a69dc889 --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/LaravelInstaller.php @@ -0,0 +1,11 @@ + */ + protected $locations = array( + 'library' => 'libraries/{$name}/', + ); +} diff --git a/vendor/composer/installers/src/Composer/Installers/LavaLiteInstaller.php b/vendor/composer/installers/src/Composer/Installers/LavaLiteInstaller.php new file mode 100644 index 00000000..e4a7c7da --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/LavaLiteInstaller.php @@ -0,0 +1,12 @@ + */ + protected $locations = array( + 'package' => 'packages/{$vendor}/{$name}/', + 'theme' => 'public/themes/{$name}/', + ); +} diff --git a/vendor/composer/installers/src/Composer/Installers/LithiumInstaller.php b/vendor/composer/installers/src/Composer/Installers/LithiumInstaller.php new file mode 100644 index 00000000..b24bea20 --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/LithiumInstaller.php @@ -0,0 +1,12 @@ + */ + protected $locations = array( + 'library' => 'libraries/{$name}/', + 'source' => 'libraries/_source/{$name}/', + ); +} diff --git a/vendor/composer/installers/src/Composer/Installers/MODULEWorkInstaller.php b/vendor/composer/installers/src/Composer/Installers/MODULEWorkInstaller.php new file mode 100644 index 00000000..369e8b45 --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/MODULEWorkInstaller.php @@ -0,0 +1,11 @@ + */ + protected $locations = array( + 'module' => 'modules/{$name}/', + ); +} diff --git a/vendor/composer/installers/src/Composer/Installers/MODXEvoInstaller.php b/vendor/composer/installers/src/Composer/Installers/MODXEvoInstaller.php new file mode 100644 index 00000000..062a839b --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/MODXEvoInstaller.php @@ -0,0 +1,18 @@ + */ + protected $locations = array( + 'snippet' => 'assets/snippets/{$name}/', + 'plugin' => 'assets/plugins/{$name}/', + 'module' => 'assets/modules/{$name}/', + 'template' => 'assets/templates/{$name}/', + 'lib' => 'assets/lib/{$name}/' + ); +} diff --git a/vendor/composer/installers/src/Composer/Installers/MagentoInstaller.php b/vendor/composer/installers/src/Composer/Installers/MagentoInstaller.php new file mode 100644 index 00000000..ec07cd64 --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/MagentoInstaller.php @@ -0,0 +1,13 @@ + */ + protected $locations = array( + 'theme' => 'app/design/frontend/{$name}/', + 'skin' => 'skin/frontend/default/{$name}/', + 'library' => 'lib/{$name}/', + ); +} diff --git a/vendor/composer/installers/src/Composer/Installers/MajimaInstaller.php b/vendor/composer/installers/src/Composer/Installers/MajimaInstaller.php new file mode 100644 index 00000000..6fc3089d --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/MajimaInstaller.php @@ -0,0 +1,46 @@ + */ + protected $locations = array( + 'plugin' => 'plugins/{$name}/', + ); + + /** + * Transforms the names + * + * @param array $vars + * @return array + */ + public function inflectPackageVars(array $vars): array + { + return $this->correctPluginName($vars); + } + + /** + * Change hyphenated names to camelcase + * + * @param array $vars + * @return array + */ + private function correctPluginName(array $vars): array + { + $camelCasedName = preg_replace_callback('/(-[a-z])/', function ($matches) { + return strtoupper($matches[0][1]); + }, $vars['name']); + + if (null === $camelCasedName) { + throw new \RuntimeException('Failed to run preg_replace_callback: '.preg_last_error()); + } + + $vars['name'] = ucfirst($camelCasedName); + return $vars; + } +} diff --git a/vendor/composer/installers/src/Composer/Installers/MakoInstaller.php b/vendor/composer/installers/src/Composer/Installers/MakoInstaller.php new file mode 100644 index 00000000..cbe3760b --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/MakoInstaller.php @@ -0,0 +1,11 @@ + */ + protected $locations = array( + 'package' => 'app/packages/{$name}/', + ); +} diff --git a/vendor/composer/installers/src/Composer/Installers/MantisBTInstaller.php b/vendor/composer/installers/src/Composer/Installers/MantisBTInstaller.php new file mode 100644 index 00000000..98e230fb --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/MantisBTInstaller.php @@ -0,0 +1,25 @@ + */ + protected $locations = array( + 'plugin' => 'plugins/{$name}/', + ); + + /** + * Format package name to CamelCase + */ + public function inflectPackageVars(array $vars): array + { + $vars['name'] = strtolower($this->pregReplace('/(?<=\\w)([A-Z])/', '_\\1', $vars['name'])); + $vars['name'] = str_replace(array('-', '_'), ' ', $vars['name']); + $vars['name'] = str_replace(' ', '', ucwords($vars['name'])); + + return $vars; + } +} diff --git a/vendor/composer/installers/src/Composer/Installers/MatomoInstaller.php b/vendor/composer/installers/src/Composer/Installers/MatomoInstaller.php new file mode 100644 index 00000000..57fdb033 --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/MatomoInstaller.php @@ -0,0 +1,28 @@ + */ + protected $locations = array( + 'plugin' => 'plugins/{$name}/', + ); + + /** + * Format package name to CamelCase + */ + public function inflectPackageVars(array $vars): array + { + $vars['name'] = strtolower($this->pregReplace('/(?<=\\w)([A-Z])/', '_\\1', $vars['name'])); + $vars['name'] = str_replace(array('-', '_'), ' ', $vars['name']); + $vars['name'] = str_replace(' ', '', ucwords($vars['name'])); + + return $vars; + } +} diff --git a/vendor/composer/installers/src/Composer/Installers/MauticInstaller.php b/vendor/composer/installers/src/Composer/Installers/MauticInstaller.php new file mode 100644 index 00000000..e48c133b --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/MauticInstaller.php @@ -0,0 +1,43 @@ + */ + protected $locations = array( + 'plugin' => 'plugins/{$name}/', + 'theme' => 'themes/{$name}/', + 'core' => 'app/', + ); + + private function getDirectoryName(): string + { + $extra = $this->package->getExtra(); + if (!empty($extra['install-directory-name'])) { + return $extra['install-directory-name']; + } + + return $this->toCamelCase($this->package->getPrettyName()); + } + + private function toCamelCase(string $packageName): string + { + return str_replace(' ', '', ucwords(str_replace('-', ' ', basename($packageName)))); + } + + /** + * Format package name of mautic-plugins to CamelCase + */ + public function inflectPackageVars(array $vars): array + { + if ($vars['type'] == 'mautic-plugin' || $vars['type'] == 'mautic-theme') { + $directoryName = $this->getDirectoryName(); + $vars['name'] = $directoryName; + } + + return $vars; + } +} diff --git a/vendor/composer/installers/src/Composer/Installers/MayaInstaller.php b/vendor/composer/installers/src/Composer/Installers/MayaInstaller.php new file mode 100644 index 00000000..df486dac --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/MayaInstaller.php @@ -0,0 +1,38 @@ + */ + protected $locations = array( + 'module' => 'modules/{$name}/', + ); + + /** + * Format package name. + * + * For package type maya-module, cut off a trailing '-module' if present. + */ + public function inflectPackageVars(array $vars): array + { + if ($vars['type'] === 'maya-module') { + return $this->inflectModuleVars($vars); + } + + return $vars; + } + + /** + * @param array $vars + * @return array + */ + protected function inflectModuleVars(array $vars): array + { + $vars['name'] = $this->pregReplace('/-module$/', '', $vars['name']); + $vars['name'] = str_replace(array('-', '_'), ' ', $vars['name']); + $vars['name'] = str_replace(' ', '', ucwords($vars['name'])); + + return $vars; + } +} diff --git a/vendor/composer/installers/src/Composer/Installers/MediaWikiInstaller.php b/vendor/composer/installers/src/Composer/Installers/MediaWikiInstaller.php new file mode 100644 index 00000000..8e9d7713 --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/MediaWikiInstaller.php @@ -0,0 +1,58 @@ + */ + protected $locations = array( + 'core' => 'core/', + 'extension' => 'extensions/{$name}/', + 'skin' => 'skins/{$name}/', + ); + + /** + * Format package name. + * + * For package type mediawiki-extension, cut off a trailing '-extension' if present and transform + * to CamelCase keeping existing uppercase chars. + * + * For package type mediawiki-skin, cut off a trailing '-skin' if present. + */ + public function inflectPackageVars(array $vars): array + { + if ($vars['type'] === 'mediawiki-extension') { + return $this->inflectExtensionVars($vars); + } + + if ($vars['type'] === 'mediawiki-skin') { + return $this->inflectSkinVars($vars); + } + + return $vars; + } + + /** + * @param array $vars + * @return array + */ + protected function inflectExtensionVars(array $vars): array + { + $vars['name'] = $this->pregReplace('/-extension$/', '', $vars['name']); + $vars['name'] = str_replace('-', ' ', $vars['name']); + $vars['name'] = str_replace(' ', '', ucwords($vars['name'])); + + return $vars; + } + + /** + * @param array $vars + * @return array + */ + protected function inflectSkinVars(array $vars): array + { + $vars['name'] = $this->pregReplace('/-skin$/', '', $vars['name']); + + return $vars; + } +} diff --git a/vendor/composer/installers/src/Composer/Installers/MiaoxingInstaller.php b/vendor/composer/installers/src/Composer/Installers/MiaoxingInstaller.php new file mode 100644 index 00000000..02541779 --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/MiaoxingInstaller.php @@ -0,0 +1,11 @@ + */ + protected $locations = array( + 'plugin' => 'plugins/{$name}/', + ); +} diff --git a/vendor/composer/installers/src/Composer/Installers/MicroweberInstaller.php b/vendor/composer/installers/src/Composer/Installers/MicroweberInstaller.php new file mode 100644 index 00000000..a4d97ab0 --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/MicroweberInstaller.php @@ -0,0 +1,145 @@ + */ + protected $locations = array( + 'module' => 'userfiles/modules/{$install_item_dir}/', + 'module-skin' => 'userfiles/modules/{$install_item_dir}/templates/', + 'template' => 'userfiles/templates/{$install_item_dir}/', + 'element' => 'userfiles/elements/{$install_item_dir}/', + 'vendor' => 'vendor/{$install_item_dir}/', + 'components' => 'components/{$install_item_dir}/' + ); + + /** + * Format package name. + * + * For package type microweber-module, cut off a trailing '-module' if present + * + * For package type microweber-template, cut off a trailing '-template' if present. + */ + public function inflectPackageVars(array $vars): array + { + if ($this->package->getTargetDir() !== null && $this->package->getTargetDir() !== '') { + $vars['install_item_dir'] = $this->package->getTargetDir(); + } else { + $vars['install_item_dir'] = $vars['name']; + if ($vars['type'] === 'microweber-template') { + return $this->inflectTemplateVars($vars); + } + if ($vars['type'] === 'microweber-templates') { + return $this->inflectTemplatesVars($vars); + } + if ($vars['type'] === 'microweber-core') { + return $this->inflectCoreVars($vars); + } + if ($vars['type'] === 'microweber-adapter') { + return $this->inflectCoreVars($vars); + } + if ($vars['type'] === 'microweber-module') { + return $this->inflectModuleVars($vars); + } + if ($vars['type'] === 'microweber-modules') { + return $this->inflectModulesVars($vars); + } + if ($vars['type'] === 'microweber-skin') { + return $this->inflectSkinVars($vars); + } + if ($vars['type'] === 'microweber-element' or $vars['type'] === 'microweber-elements') { + return $this->inflectElementVars($vars); + } + } + + return $vars; + } + + /** + * @param array $vars + * @return array + */ + protected function inflectTemplateVars(array $vars): array + { + $vars['install_item_dir'] = $this->pregReplace('/-template$/', '', $vars['install_item_dir']); + $vars['install_item_dir'] = $this->pregReplace('/template-$/', '', $vars['install_item_dir']); + + return $vars; + } + + /** + * @param array $vars + * @return array + */ + protected function inflectTemplatesVars(array $vars): array + { + $vars['install_item_dir'] = $this->pregReplace('/-templates$/', '', $vars['install_item_dir']); + $vars['install_item_dir'] = $this->pregReplace('/templates-$/', '', $vars['install_item_dir']); + + return $vars; + } + + /** + * @param array $vars + * @return array + */ + protected function inflectCoreVars(array $vars): array + { + $vars['install_item_dir'] = $this->pregReplace('/-providers$/', '', $vars['install_item_dir']); + $vars['install_item_dir'] = $this->pregReplace('/-provider$/', '', $vars['install_item_dir']); + $vars['install_item_dir'] = $this->pregReplace('/-adapter$/', '', $vars['install_item_dir']); + + return $vars; + } + + /** + * @param array $vars + * @return array + */ + protected function inflectModuleVars(array $vars): array + { + $vars['install_item_dir'] = $this->pregReplace('/-module$/', '', $vars['install_item_dir']); + $vars['install_item_dir'] = $this->pregReplace('/module-$/', '', $vars['install_item_dir']); + + return $vars; + } + + /** + * @param array $vars + * @return array + */ + protected function inflectModulesVars(array $vars): array + { + $vars['install_item_dir'] = $this->pregReplace('/-modules$/', '', $vars['install_item_dir']); + $vars['install_item_dir'] = $this->pregReplace('/modules-$/', '', $vars['install_item_dir']); + + return $vars; + } + + /** + * @param array $vars + * @return array + */ + protected function inflectSkinVars(array $vars): array + { + $vars['install_item_dir'] = $this->pregReplace('/-skin$/', '', $vars['install_item_dir']); + $vars['install_item_dir'] = $this->pregReplace('/skin-$/', '', $vars['install_item_dir']); + + return $vars; + } + + /** + * @param array $vars + * @return array + */ + protected function inflectElementVars(array $vars): array + { + $vars['install_item_dir'] = $this->pregReplace('/-elements$/', '', $vars['install_item_dir']); + $vars['install_item_dir'] = $this->pregReplace('/elements-$/', '', $vars['install_item_dir']); + $vars['install_item_dir'] = $this->pregReplace('/-element$/', '', $vars['install_item_dir']); + $vars['install_item_dir'] = $this->pregReplace('/element-$/', '', $vars['install_item_dir']); + + return $vars; + } +} diff --git a/vendor/composer/installers/src/Composer/Installers/ModxInstaller.php b/vendor/composer/installers/src/Composer/Installers/ModxInstaller.php new file mode 100644 index 00000000..e2dddec5 --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/ModxInstaller.php @@ -0,0 +1,14 @@ + */ + protected $locations = array( + 'extra' => 'core/packages/{$name}/' + ); +} diff --git a/vendor/composer/installers/src/Composer/Installers/MoodleInstaller.php b/vendor/composer/installers/src/Composer/Installers/MoodleInstaller.php new file mode 100644 index 00000000..d9babb37 --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/MoodleInstaller.php @@ -0,0 +1,67 @@ + */ + protected $locations = array( + 'mod' => 'mod/{$name}/', + 'admin_report' => 'admin/report/{$name}/', + 'atto' => 'lib/editor/atto/plugins/{$name}/', + 'tool' => 'admin/tool/{$name}/', + 'assignment' => 'mod/assignment/type/{$name}/', + 'assignsubmission' => 'mod/assign/submission/{$name}/', + 'assignfeedback' => 'mod/assign/feedback/{$name}/', + 'antivirus' => 'lib/antivirus/{$name}/', + 'auth' => 'auth/{$name}/', + 'availability' => 'availability/condition/{$name}/', + 'block' => 'blocks/{$name}/', + 'booktool' => 'mod/book/tool/{$name}/', + 'cachestore' => 'cache/stores/{$name}/', + 'cachelock' => 'cache/locks/{$name}/', + 'calendartype' => 'calendar/type/{$name}/', + 'customfield' => 'customfield/field/{$name}/', + 'fileconverter' => 'files/converter/{$name}/', + 'format' => 'course/format/{$name}/', + 'coursereport' => 'course/report/{$name}/', + 'contenttype' => 'contentbank/contenttype/{$name}/', + 'customcertelement' => 'mod/customcert/element/{$name}/', + 'datafield' => 'mod/data/field/{$name}/', + 'dataformat' => 'dataformat/{$name}/', + 'datapreset' => 'mod/data/preset/{$name}/', + 'editor' => 'lib/editor/{$name}/', + 'enrol' => 'enrol/{$name}/', + 'filter' => 'filter/{$name}/', + 'gradeexport' => 'grade/export/{$name}/', + 'gradeimport' => 'grade/import/{$name}/', + 'gradereport' => 'grade/report/{$name}/', + 'gradingform' => 'grade/grading/form/{$name}/', + 'local' => 'local/{$name}/', + 'logstore' => 'admin/tool/log/store/{$name}/', + 'ltisource' => 'mod/lti/source/{$name}/', + 'ltiservice' => 'mod/lti/service/{$name}/', + 'media' => 'media/player/{$name}/', + 'message' => 'message/output/{$name}/', + 'mnetservice' => 'mnet/service/{$name}/', + 'paygw' => 'payment/gateway/{$name}/', + 'plagiarism' => 'plagiarism/{$name}/', + 'portfolio' => 'portfolio/{$name}/', + 'qbehaviour' => 'question/behaviour/{$name}/', + 'qformat' => 'question/format/{$name}/', + 'qtype' => 'question/type/{$name}/', + 'quizaccess' => 'mod/quiz/accessrule/{$name}/', + 'quiz' => 'mod/quiz/report/{$name}/', + 'report' => 'report/{$name}/', + 'repository' => 'repository/{$name}/', + 'scormreport' => 'mod/scorm/report/{$name}/', + 'search' => 'search/engine/{$name}/', + 'theme' => 'theme/{$name}/', + 'tinymce' => 'lib/editor/tinymce/plugins/{$name}/', + 'profilefield' => 'user/profile/field/{$name}/', + 'webservice' => 'webservice/{$name}/', + 'workshopallocation' => 'mod/workshop/allocation/{$name}/', + 'workshopeval' => 'mod/workshop/eval/{$name}/', + 'workshopform' => 'mod/workshop/form/{$name}/' + ); +} diff --git a/vendor/composer/installers/src/Composer/Installers/OctoberInstaller.php b/vendor/composer/installers/src/Composer/Installers/OctoberInstaller.php new file mode 100644 index 00000000..524f17d8 --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/OctoberInstaller.php @@ -0,0 +1,57 @@ + */ + protected $locations = array( + 'module' => 'modules/{$name}/', + 'plugin' => 'plugins/{$vendor}/{$name}/', + 'theme' => 'themes/{$vendor}-{$name}/' + ); + + /** + * Format package name. + * + * For package type october-plugin, cut off a trailing '-plugin' if present. + * + * For package type october-theme, cut off a trailing '-theme' if present. + */ + public function inflectPackageVars(array $vars): array + { + if ($vars['type'] === 'october-plugin') { + return $this->inflectPluginVars($vars); + } + + if ($vars['type'] === 'october-theme') { + return $this->inflectThemeVars($vars); + } + + return $vars; + } + + /** + * @param array $vars + * @return array + */ + protected function inflectPluginVars(array $vars): array + { + $vars['name'] = $this->pregReplace('/^oc-|-plugin$/', '', $vars['name']); + $vars['vendor'] = $this->pregReplace('/[^a-z0-9_]/i', '', $vars['vendor']); + + return $vars; + } + + /** + * @param array $vars + * @return array + */ + protected function inflectThemeVars(array $vars): array + { + $vars['name'] = $this->pregReplace('/^oc-|-theme$/', '', $vars['name']); + $vars['vendor'] = $this->pregReplace('/[^a-z0-9_]/i', '', $vars['vendor']); + + return $vars; + } +} diff --git a/vendor/composer/installers/src/Composer/Installers/OntoWikiInstaller.php b/vendor/composer/installers/src/Composer/Installers/OntoWikiInstaller.php new file mode 100644 index 00000000..fd20c1a8 --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/OntoWikiInstaller.php @@ -0,0 +1,26 @@ + */ + protected $locations = array( + 'extension' => 'extensions/{$name}/', + 'theme' => 'extensions/themes/{$name}/', + 'translation' => 'extensions/translations/{$name}/', + ); + + /** + * Format package name to lower case and remove ".ontowiki" suffix + */ + public function inflectPackageVars(array $vars): array + { + $vars['name'] = strtolower($vars['name']); + $vars['name'] = $this->pregReplace('/.ontowiki$/', '', $vars['name']); + $vars['name'] = $this->pregReplace('/-theme$/', '', $vars['name']); + $vars['name'] = $this->pregReplace('/-translation$/', '', $vars['name']); + + return $vars; + } +} diff --git a/vendor/composer/installers/src/Composer/Installers/OsclassInstaller.php b/vendor/composer/installers/src/Composer/Installers/OsclassInstaller.php new file mode 100644 index 00000000..e61d61f8 --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/OsclassInstaller.php @@ -0,0 +1,14 @@ + */ + protected $locations = array( + 'plugin' => 'oc-content/plugins/{$name}/', + 'theme' => 'oc-content/themes/{$name}/', + 'language' => 'oc-content/languages/{$name}/', + ); +} diff --git a/vendor/composer/installers/src/Composer/Installers/OxidInstaller.php b/vendor/composer/installers/src/Composer/Installers/OxidInstaller.php new file mode 100644 index 00000000..6e1e8624 --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/OxidInstaller.php @@ -0,0 +1,49 @@ +.+)\/.+/'; + + /** @var array */ + protected $locations = array( + 'module' => 'modules/{$name}/', + 'theme' => 'application/views/{$name}/', + 'out' => 'out/{$name}/', + ); + + public function getInstallPath(PackageInterface $package, string $frameworkType = ''): string + { + $installPath = parent::getInstallPath($package, $frameworkType); + $type = $this->package->getType(); + if ($type === 'oxid-module') { + $this->prepareVendorDirectory($installPath); + } + return $installPath; + } + + /** + * Makes sure there is a vendormetadata.php file inside + * the vendor folder if there is a vendor folder. + */ + protected function prepareVendorDirectory(string $installPath): void + { + $matches = ''; + $hasVendorDirectory = preg_match(self::VENDOR_PATTERN, $installPath, $matches); + if (!$hasVendorDirectory) { + return; + } + + $vendorDirectory = $matches['vendor']; + $vendorPath = getcwd() . '/modules/' . $vendorDirectory; + if (!file_exists($vendorPath)) { + mkdir($vendorPath, 0755, true); + } + + $vendorMetaDataPath = $vendorPath . '/vendormetadata.php'; + touch($vendorMetaDataPath); + } +} diff --git a/vendor/composer/installers/src/Composer/Installers/PPIInstaller.php b/vendor/composer/installers/src/Composer/Installers/PPIInstaller.php new file mode 100644 index 00000000..714c4679 --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/PPIInstaller.php @@ -0,0 +1,11 @@ + */ + protected $locations = array( + 'module' => 'modules/{$name}/', + ); +} diff --git a/vendor/composer/installers/src/Composer/Installers/PantheonInstaller.php b/vendor/composer/installers/src/Composer/Installers/PantheonInstaller.php new file mode 100644 index 00000000..439f61a0 --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/PantheonInstaller.php @@ -0,0 +1,12 @@ + */ + protected $locations = array( + 'script' => 'web/private/scripts/quicksilver/{$name}', + 'module' => 'web/private/scripts/quicksilver/{$name}', + ); +} diff --git a/vendor/composer/installers/src/Composer/Installers/PhiftyInstaller.php b/vendor/composer/installers/src/Composer/Installers/PhiftyInstaller.php new file mode 100644 index 00000000..3c970e21 --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/PhiftyInstaller.php @@ -0,0 +1,13 @@ + */ + protected $locations = array( + 'bundle' => 'bundles/{$name}/', + 'library' => 'libraries/{$name}/', + 'framework' => 'frameworks/{$name}/', + ); +} diff --git a/vendor/composer/installers/src/Composer/Installers/PhpBBInstaller.php b/vendor/composer/installers/src/Composer/Installers/PhpBBInstaller.php new file mode 100644 index 00000000..d53ee4f6 --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/PhpBBInstaller.php @@ -0,0 +1,13 @@ + */ + protected $locations = array( + 'extension' => 'ext/{$vendor}/{$name}/', + 'language' => 'language/{$name}/', + 'style' => 'styles/{$name}/', + ); +} diff --git a/vendor/composer/installers/src/Composer/Installers/PiwikInstaller.php b/vendor/composer/installers/src/Composer/Installers/PiwikInstaller.php new file mode 100644 index 00000000..b2faf44a --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/PiwikInstaller.php @@ -0,0 +1,28 @@ + */ + protected $locations = array( + 'plugin' => 'plugins/{$name}/', + ); + + /** + * Format package name to CamelCase + */ + public function inflectPackageVars(array $vars): array + { + $vars['name'] = strtolower($this->pregReplace('/(?<=\\w)([A-Z])/', '_\\1', $vars['name'])); + $vars['name'] = str_replace(array('-', '_'), ' ', $vars['name']); + $vars['name'] = str_replace(' ', '', ucwords($vars['name'])); + + return $vars; + } +} diff --git a/vendor/composer/installers/src/Composer/Installers/PlentymarketsInstaller.php b/vendor/composer/installers/src/Composer/Installers/PlentymarketsInstaller.php new file mode 100644 index 00000000..0c063598 --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/PlentymarketsInstaller.php @@ -0,0 +1,28 @@ + */ + protected $locations = array( + 'plugin' => '{$name}/' + ); + + /** + * Remove hyphen, "plugin" and format to camelcase + */ + public function inflectPackageVars(array $vars): array + { + $nameBits = explode("-", $vars['name']); + foreach ($nameBits as $key => $name) { + $nameBits[$key] = ucfirst($name); + if (strcasecmp($name, "Plugin") == 0) { + unset($nameBits[$key]); + } + } + $vars['name'] = implode('', $nameBits); + + return $vars; + } +} diff --git a/vendor/composer/installers/src/Composer/Installers/Plugin.php b/vendor/composer/installers/src/Composer/Installers/Plugin.php new file mode 100644 index 00000000..437a9493 --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/Plugin.php @@ -0,0 +1,28 @@ +installer = new Installer($io, $composer); + $composer->getInstallationManager()->addInstaller($this->installer); + } + + public function deactivate(Composer $composer, IOInterface $io): void + { + $composer->getInstallationManager()->removeInstaller($this->installer); + } + + public function uninstall(Composer $composer, IOInterface $io): void + { + } +} diff --git a/vendor/composer/installers/src/Composer/Installers/PortoInstaller.php b/vendor/composer/installers/src/Composer/Installers/PortoInstaller.php new file mode 100644 index 00000000..a01d7a0b --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/PortoInstaller.php @@ -0,0 +1,11 @@ + */ + protected $locations = array( + 'container' => 'app/Containers/{$name}/', + ); +} diff --git a/vendor/composer/installers/src/Composer/Installers/PrestashopInstaller.php b/vendor/composer/installers/src/Composer/Installers/PrestashopInstaller.php new file mode 100644 index 00000000..23f156f5 --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/PrestashopInstaller.php @@ -0,0 +1,12 @@ + */ + protected $locations = array( + 'module' => 'modules/{$name}/', + 'theme' => 'themes/{$name}/', + ); +} diff --git a/vendor/composer/installers/src/Composer/Installers/ProcessWireInstaller.php b/vendor/composer/installers/src/Composer/Installers/ProcessWireInstaller.php new file mode 100644 index 00000000..a7eb1eec --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/ProcessWireInstaller.php @@ -0,0 +1,23 @@ + */ + protected $locations = array( + 'module' => 'site/modules/{$name}/', + ); + + /** + * Format package name to CamelCase + */ + public function inflectPackageVars(array $vars): array + { + $vars['name'] = strtolower($this->pregReplace('/(?<=\\w)([A-Z])/', '_\\1', $vars['name'])); + $vars['name'] = str_replace(array('-', '_'), ' ', $vars['name']); + $vars['name'] = str_replace(' ', '', ucwords($vars['name'])); + + return $vars; + } +} diff --git a/vendor/composer/installers/src/Composer/Installers/PuppetInstaller.php b/vendor/composer/installers/src/Composer/Installers/PuppetInstaller.php new file mode 100644 index 00000000..1a0a8a3f --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/PuppetInstaller.php @@ -0,0 +1,12 @@ + */ + protected $locations = array( + 'module' => 'modules/{$name}/', + ); +} diff --git a/vendor/composer/installers/src/Composer/Installers/PxcmsInstaller.php b/vendor/composer/installers/src/Composer/Installers/PxcmsInstaller.php new file mode 100644 index 00000000..fc58b8a6 --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/PxcmsInstaller.php @@ -0,0 +1,62 @@ + */ + protected $locations = array( + 'module' => 'app/Modules/{$name}/', + 'theme' => 'themes/{$name}/', + ); + + /** + * Format package name. + */ + public function inflectPackageVars(array $vars): array + { + if ($vars['type'] === 'pxcms-module') { + return $this->inflectModuleVars($vars); + } + + if ($vars['type'] === 'pxcms-theme') { + return $this->inflectThemeVars($vars); + } + + return $vars; + } + + /** + * For package type pxcms-module, cut off a trailing '-plugin' if present. + * + * @param array $vars + * @return array + */ + protected function inflectModuleVars(array $vars): array + { + $vars['name'] = str_replace('pxcms-', '', $vars['name']); // strip out pxcms- just incase (legacy) + $vars['name'] = str_replace('module-', '', $vars['name']); // strip out module- + $vars['name'] = $this->pregReplace('/-module$/', '', $vars['name']); // strip out -module + $vars['name'] = str_replace('-', '_', $vars['name']); // make -'s be _'s + $vars['name'] = ucwords($vars['name']); // make module name camelcased + + return $vars; + } + + /** + * For package type pxcms-module, cut off a trailing '-plugin' if present. + * + * @param array $vars + * @return array + */ + protected function inflectThemeVars(array $vars): array + { + $vars['name'] = str_replace('pxcms-', '', $vars['name']); // strip out pxcms- just incase (legacy) + $vars['name'] = str_replace('theme-', '', $vars['name']); // strip out theme- + $vars['name'] = $this->pregReplace('/-theme$/', '', $vars['name']); // strip out -theme + $vars['name'] = str_replace('-', '_', $vars['name']); // make -'s be _'s + $vars['name'] = ucwords($vars['name']); // make module name camelcased + + return $vars; + } +} diff --git a/vendor/composer/installers/src/Composer/Installers/RadPHPInstaller.php b/vendor/composer/installers/src/Composer/Installers/RadPHPInstaller.php new file mode 100644 index 00000000..4caae51d --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/RadPHPInstaller.php @@ -0,0 +1,26 @@ + */ + protected $locations = array( + 'bundle' => 'src/{$name}/' + ); + + /** + * Format package name to CamelCase + */ + public function inflectPackageVars(array $vars): array + { + $nameParts = explode('/', $vars['name']); + foreach ($nameParts as &$value) { + $value = strtolower($this->pregReplace('/(?<=\\w)([A-Z])/', '_\\1', $value)); + $value = str_replace(array('-', '_'), ' ', $value); + $value = str_replace(' ', '', ucwords($value)); + } + $vars['name'] = implode('/', $nameParts); + return $vars; + } +} diff --git a/vendor/composer/installers/src/Composer/Installers/ReIndexInstaller.php b/vendor/composer/installers/src/Composer/Installers/ReIndexInstaller.php new file mode 100644 index 00000000..a19eaaf2 --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/ReIndexInstaller.php @@ -0,0 +1,12 @@ + */ + protected $locations = array( + 'theme' => 'themes/{$name}/', + 'plugin' => 'plugins/{$name}/' + ); +} diff --git a/vendor/composer/installers/src/Composer/Installers/Redaxo5Installer.php b/vendor/composer/installers/src/Composer/Installers/Redaxo5Installer.php new file mode 100644 index 00000000..b62c926a --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/Redaxo5Installer.php @@ -0,0 +1,12 @@ + */ + protected $locations = array( + 'addon' => 'redaxo/src/addons/{$name}/', + 'bestyle-plugin' => 'redaxo/src/addons/be_style/plugins/{$name}/' + ); +} diff --git a/vendor/composer/installers/src/Composer/Installers/RedaxoInstaller.php b/vendor/composer/installers/src/Composer/Installers/RedaxoInstaller.php new file mode 100644 index 00000000..26b3aa84 --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/RedaxoInstaller.php @@ -0,0 +1,12 @@ + */ + protected $locations = array( + 'addon' => 'redaxo/include/addons/{$name}/', + 'bestyle-plugin' => 'redaxo/include/addons/be_style/plugins/{$name}/' + ); +} diff --git a/vendor/composer/installers/src/Composer/Installers/RoundcubeInstaller.php b/vendor/composer/installers/src/Composer/Installers/RoundcubeInstaller.php new file mode 100644 index 00000000..7e716748 --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/RoundcubeInstaller.php @@ -0,0 +1,21 @@ + */ + protected $locations = array( + 'plugin' => 'plugins/{$name}/', + ); + + /** + * Lowercase name and changes the name to a underscores + */ + public function inflectPackageVars(array $vars): array + { + $vars['name'] = strtolower(str_replace('-', '_', $vars['name'])); + + return $vars; + } +} diff --git a/vendor/composer/installers/src/Composer/Installers/SMFInstaller.php b/vendor/composer/installers/src/Composer/Installers/SMFInstaller.php new file mode 100644 index 00000000..7321046f --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/SMFInstaller.php @@ -0,0 +1,12 @@ + */ + protected $locations = array( + 'module' => 'Sources/{$name}/', + 'theme' => 'Themes/{$name}/', + ); +} diff --git a/vendor/composer/installers/src/Composer/Installers/ShopwareInstaller.php b/vendor/composer/installers/src/Composer/Installers/ShopwareInstaller.php new file mode 100644 index 00000000..82b8e28c --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/ShopwareInstaller.php @@ -0,0 +1,66 @@ + */ + protected $locations = array( + 'backend-plugin' => 'engine/Shopware/Plugins/Local/Backend/{$name}/', + 'core-plugin' => 'engine/Shopware/Plugins/Local/Core/{$name}/', + 'frontend-plugin' => 'engine/Shopware/Plugins/Local/Frontend/{$name}/', + 'theme' => 'templates/{$name}/', + 'plugin' => 'custom/plugins/{$name}/', + 'frontend-theme' => 'themes/Frontend/{$name}/', + ); + + /** + * Transforms the names + */ + public function inflectPackageVars(array $vars): array + { + if ($vars['type'] === 'shopware-theme') { + return $this->correctThemeName($vars); + } + + return $this->correctPluginName($vars); + } + + /** + * Changes the name to a camelcased combination of vendor and name + * + * @param array $vars + * @return array + */ + private function correctPluginName(array $vars): array + { + $camelCasedName = preg_replace_callback('/(-[a-z])/', function ($matches) { + return strtoupper($matches[0][1]); + }, $vars['name']); + + if (null === $camelCasedName) { + throw new \RuntimeException('Failed to run preg_replace_callback: '.preg_last_error()); + } + + $vars['name'] = ucfirst($vars['vendor']) . ucfirst($camelCasedName); + + return $vars; + } + + /** + * Changes the name to a underscore separated name + * + * @param array $vars + * @return array + */ + private function correctThemeName(array $vars): array + { + $vars['name'] = str_replace('-', '_', $vars['name']); + + return $vars; + } +} diff --git a/vendor/composer/installers/src/Composer/Installers/SilverStripeInstaller.php b/vendor/composer/installers/src/Composer/Installers/SilverStripeInstaller.php new file mode 100644 index 00000000..aa2de216 --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/SilverStripeInstaller.php @@ -0,0 +1,33 @@ + */ + protected $locations = array( + 'module' => '{$name}/', + 'theme' => 'themes/{$name}/', + ); + + /** + * Return the install path based on package type. + * + * Relies on built-in BaseInstaller behaviour with one exception: silverstripe/framework + * must be installed to 'sapphire' and not 'framework' if the version is <3.0.0 + */ + public function getInstallPath(PackageInterface $package, string $frameworkType = ''): string + { + if ( + $package->getName() == 'silverstripe/framework' + && preg_match('/^\d+\.\d+\.\d+/', $package->getVersion()) + && version_compare($package->getVersion(), '2.999.999') < 0 + ) { + return $this->templatePath($this->locations['module'], array('name' => 'sapphire')); + } + + return parent::getInstallPath($package, $frameworkType); + } +} diff --git a/vendor/composer/installers/src/Composer/Installers/SiteDirectInstaller.php b/vendor/composer/installers/src/Composer/Installers/SiteDirectInstaller.php new file mode 100644 index 00000000..0af3239b --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/SiteDirectInstaller.php @@ -0,0 +1,34 @@ + */ + protected $locations = array( + 'module' => 'modules/{$vendor}/{$name}/', + 'plugin' => 'plugins/{$vendor}/{$name}/' + ); + + /** + * @param array $vars + * @return array + */ + public function inflectPackageVars(array $vars): array + { + return $this->parseVars($vars); + } + + /** + * @param array $vars + * @return array + */ + protected function parseVars(array $vars): array + { + $vars['vendor'] = strtolower($vars['vendor']) == 'sitedirect' ? 'SiteDirect' : $vars['vendor']; + $vars['name'] = str_replace(array('-', '_'), ' ', $vars['name']); + $vars['name'] = str_replace(' ', '', ucwords($vars['name'])); + + return $vars; + } +} diff --git a/vendor/composer/installers/src/Composer/Installers/StarbugInstaller.php b/vendor/composer/installers/src/Composer/Installers/StarbugInstaller.php new file mode 100644 index 00000000..72afa081 --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/StarbugInstaller.php @@ -0,0 +1,14 @@ + */ + protected $locations = array( + 'module' => 'modules/{$name}/', + 'theme' => 'themes/{$name}/', + 'custom-module' => 'app/modules/{$name}/', + 'custom-theme' => 'app/themes/{$name}/' + ); +} diff --git a/vendor/composer/installers/src/Composer/Installers/SyDESInstaller.php b/vendor/composer/installers/src/Composer/Installers/SyDESInstaller.php new file mode 100644 index 00000000..24673d2f --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/SyDESInstaller.php @@ -0,0 +1,55 @@ + */ + protected $locations = array( + 'module' => 'app/modules/{$name}/', + 'theme' => 'themes/{$name}/', + ); + + /** + * Format module name. + * + * Strip `sydes-` prefix and a trailing '-theme' or '-module' from package name if present. + */ + public function inflectPackageVars(array $vars): array + { + if ($vars['type'] == 'sydes-module') { + return $this->inflectModuleVars($vars); + } + + if ($vars['type'] === 'sydes-theme') { + return $this->inflectThemeVars($vars); + } + + return $vars; + } + + /** + * @param array $vars + * @return array + */ + public function inflectModuleVars(array $vars): array + { + $vars['name'] = $this->pregReplace('/(^sydes-|-module$)/i', '', $vars['name']); + $vars['name'] = str_replace(array('-', '_'), ' ', $vars['name']); + $vars['name'] = str_replace(' ', '', ucwords($vars['name'])); + + return $vars; + } + + /** + * @param array $vars + * @return array + */ + protected function inflectThemeVars(array $vars): array + { + $vars['name'] = $this->pregReplace('/(^sydes-|-theme$)/', '', $vars['name']); + $vars['name'] = strtolower($vars['name']); + + return $vars; + } +} diff --git a/vendor/composer/installers/src/Composer/Installers/SyliusInstaller.php b/vendor/composer/installers/src/Composer/Installers/SyliusInstaller.php new file mode 100644 index 00000000..c82bd855 --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/SyliusInstaller.php @@ -0,0 +1,11 @@ + */ + protected $locations = array( + 'theme' => 'themes/{$name}/', + ); +} diff --git a/vendor/composer/installers/src/Composer/Installers/TaoInstaller.php b/vendor/composer/installers/src/Composer/Installers/TaoInstaller.php new file mode 100644 index 00000000..8c1d8144 --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/TaoInstaller.php @@ -0,0 +1,32 @@ + */ + protected $locations = array( + 'extension' => '{$name}' + ); + + public function inflectPackageVars(array $vars): array + { + $extra = $this->package->getExtra(); + + if (array_key_exists(self::EXTRA_TAO_EXTENSION_NAME, $extra)) { + $vars['name'] = $extra[self::EXTRA_TAO_EXTENSION_NAME]; + return $vars; + } + + $vars['name'] = str_replace('extension-', '', $vars['name']); + $vars['name'] = str_replace('-', ' ', $vars['name']); + $vars['name'] = lcfirst(str_replace(' ', '', ucwords($vars['name']))); + + return $vars; + } +} diff --git a/vendor/composer/installers/src/Composer/Installers/TastyIgniterInstaller.php b/vendor/composer/installers/src/Composer/Installers/TastyIgniterInstaller.php new file mode 100644 index 00000000..39ceae07 --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/TastyIgniterInstaller.php @@ -0,0 +1,85 @@ + */ + protected $locations = [ + 'module' => 'app/{$name}/', + 'extension' => 'extensions/{$vendor}/{$name}/', + 'theme' => 'themes/{$name}/', + ]; + + /** + * Format package name. + * + * Cut off leading 'ti-ext-' or 'ti-theme-' if present. + * Strip vendor name of characters that is not alphanumeric or an underscore + * + */ + public function inflectPackageVars(array $vars): array + { + $extra = $this->package->getExtra(); + + if ($vars['type'] === 'tastyigniter-module') { + return $this->inflectModuleVars($vars); + } + + if ($vars['type'] === 'tastyigniter-extension') { + return $this->inflectExtensionVars($vars, $extra); + } + + if ($vars['type'] === 'tastyigniter-theme') { + return $this->inflectThemeVars($vars, $extra); + } + + return $vars; + } + + /** + * @param array $vars + * @return array + */ + protected function inflectModuleVars(array $vars): array + { + $vars['name'] = $this->pregReplace('/^ti-module-/', '', $vars['name']); + + return $vars; + } + + /** + * @param array $vars + * @param array $extra + * @return array + */ + protected function inflectExtensionVars(array $vars, array $extra): array + { + if (!empty($extra['tastyigniter-extension']['code'])) { + $parts = explode('.', $extra['tastyigniter-extension']['code']); + $vars['vendor'] = (string)$parts[0]; + $vars['name'] = (string)($parts[1] ?? ''); + } + + $vars['vendor'] = $this->pregReplace('/[^a-z0-9_]/i', '', $vars['vendor']); + $vars['name'] = $this->pregReplace('/^ti-ext-/', '', $vars['name']); + + return $vars; + } + + /** + * @param array $vars + * @param array $extra + * @return array + */ + protected function inflectThemeVars(array $vars, array $extra): array + { + if (!empty($extra['tastyigniter-theme']['code'])) { + $vars['name'] = $extra['tastyigniter-theme']['code']; + } + + $vars['name'] = $this->pregReplace('/^ti-theme-/', '', $vars['name']); + + return $vars; + } +} diff --git a/vendor/composer/installers/src/Composer/Installers/TheliaInstaller.php b/vendor/composer/installers/src/Composer/Installers/TheliaInstaller.php new file mode 100644 index 00000000..896bed5c --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/TheliaInstaller.php @@ -0,0 +1,14 @@ + */ + protected $locations = array( + 'module' => 'local/modules/{$name}/', + 'frontoffice-template' => 'templates/frontOffice/{$name}/', + 'backoffice-template' => 'templates/backOffice/{$name}/', + 'email-template' => 'templates/email/{$name}/', + ); +} diff --git a/vendor/composer/installers/src/Composer/Installers/TuskInstaller.php b/vendor/composer/installers/src/Composer/Installers/TuskInstaller.php new file mode 100644 index 00000000..3b5f1424 --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/TuskInstaller.php @@ -0,0 +1,17 @@ + + */ +class TuskInstaller extends BaseInstaller +{ + /** @var array */ + protected $locations = array( + 'task' => '.tusk/tasks/{$name}/', + 'command' => '.tusk/commands/{$name}/', + 'asset' => 'assets/tusk/{$name}/', + ); +} diff --git a/vendor/composer/installers/src/Composer/Installers/UserFrostingInstaller.php b/vendor/composer/installers/src/Composer/Installers/UserFrostingInstaller.php new file mode 100644 index 00000000..a646c5b2 --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/UserFrostingInstaller.php @@ -0,0 +1,11 @@ + */ + protected $locations = array( + 'sprinkle' => 'app/sprinkles/{$name}/', + ); +} diff --git a/vendor/composer/installers/src/Composer/Installers/VanillaInstaller.php b/vendor/composer/installers/src/Composer/Installers/VanillaInstaller.php new file mode 100644 index 00000000..06d5db3a --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/VanillaInstaller.php @@ -0,0 +1,12 @@ + */ + protected $locations = array( + 'plugin' => 'plugins/{$name}/', + 'theme' => 'themes/{$name}/', + ); +} diff --git a/vendor/composer/installers/src/Composer/Installers/VgmcpInstaller.php b/vendor/composer/installers/src/Composer/Installers/VgmcpInstaller.php new file mode 100644 index 00000000..cf094dd5 --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/VgmcpInstaller.php @@ -0,0 +1,59 @@ + */ + protected $locations = array( + 'bundle' => 'src/{$vendor}/{$name}/', + 'theme' => 'themes/{$name}/' + ); + + /** + * Format package name. + * + * For package type vgmcp-bundle, cut off a trailing '-bundle' if present. + * + * For package type vgmcp-theme, cut off a trailing '-theme' if present. + * + */ + public function inflectPackageVars(array $vars): array + { + if ($vars['type'] === 'vgmcp-bundle') { + return $this->inflectPluginVars($vars); + } + + if ($vars['type'] === 'vgmcp-theme') { + return $this->inflectThemeVars($vars); + } + + return $vars; + } + + /** + * @param array $vars + * @return array + */ + protected function inflectPluginVars(array $vars): array + { + $vars['name'] = $this->pregReplace('/-bundle$/', '', $vars['name']); + $vars['name'] = str_replace(array('-', '_'), ' ', $vars['name']); + $vars['name'] = str_replace(' ', '', ucwords($vars['name'])); + + return $vars; + } + + /** + * @param array $vars + * @return array + */ + protected function inflectThemeVars(array $vars): array + { + $vars['name'] = $this->pregReplace('/-theme$/', '', $vars['name']); + $vars['name'] = str_replace(array('-', '_'), ' ', $vars['name']); + $vars['name'] = str_replace(' ', '', ucwords($vars['name'])); + + return $vars; + } +} diff --git a/vendor/composer/installers/src/Composer/Installers/WHMCSInstaller.php b/vendor/composer/installers/src/Composer/Installers/WHMCSInstaller.php new file mode 100644 index 00000000..91b19fd0 --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/WHMCSInstaller.php @@ -0,0 +1,22 @@ + */ + protected $locations = array( + 'addons' => 'modules/addons/{$vendor}_{$name}/', + 'fraud' => 'modules/fraud/{$vendor}_{$name}/', + 'gateways' => 'modules/gateways/{$vendor}_{$name}/', + 'notifications' => 'modules/notifications/{$vendor}_{$name}/', + 'registrars' => 'modules/registrars/{$vendor}_{$name}/', + 'reports' => 'modules/reports/{$vendor}_{$name}/', + 'security' => 'modules/security/{$vendor}_{$name}/', + 'servers' => 'modules/servers/{$vendor}_{$name}/', + 'social' => 'modules/social/{$vendor}_{$name}/', + 'support' => 'modules/support/{$vendor}_{$name}/', + 'templates' => 'templates/{$vendor}_{$name}/', + 'includes' => 'includes/{$vendor}_{$name}/' + ); +} diff --git a/vendor/composer/installers/src/Composer/Installers/WinterInstaller.php b/vendor/composer/installers/src/Composer/Installers/WinterInstaller.php new file mode 100644 index 00000000..f75a6817 --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/WinterInstaller.php @@ -0,0 +1,71 @@ + */ + protected $locations = array( + 'module' => 'modules/{$name}/', + 'plugin' => 'plugins/{$vendor}/{$name}/', + 'theme' => 'themes/{$name}/' + ); + + /** + * Format package name. + * + * For package type winter-plugin, cut off a trailing '-plugin' if present. + * + * For package type winter-theme, cut off a trailing '-theme' if present. + */ + public function inflectPackageVars(array $vars): array + { + if ($vars['type'] === 'winter-module') { + return $this->inflectModuleVars($vars); + } + + if ($vars['type'] === 'winter-plugin') { + return $this->inflectPluginVars($vars); + } + + if ($vars['type'] === 'winter-theme') { + return $this->inflectThemeVars($vars); + } + + return $vars; + } + + /** + * @param array $vars + * @return array + */ + protected function inflectModuleVars(array $vars): array + { + $vars['name'] = $this->pregReplace('/^wn-|-module$/', '', $vars['name']); + + return $vars; + } + + /** + * @param array $vars + * @return array + */ + protected function inflectPluginVars(array $vars): array + { + $vars['name'] = $this->pregReplace('/^wn-|-plugin$/', '', $vars['name']); + $vars['vendor'] = $this->pregReplace('/[^a-z0-9_]/i', '', $vars['vendor']); + + return $vars; + } + + /** + * @param array $vars + * @return array + */ + protected function inflectThemeVars(array $vars): array + { + $vars['name'] = $this->pregReplace('/^wn-|-theme$/', '', $vars['name']); + + return $vars; + } +} diff --git a/vendor/composer/installers/src/Composer/Installers/WolfCMSInstaller.php b/vendor/composer/installers/src/Composer/Installers/WolfCMSInstaller.php new file mode 100644 index 00000000..58a95879 --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/WolfCMSInstaller.php @@ -0,0 +1,11 @@ + */ + protected $locations = array( + 'plugin' => 'wolf/plugins/{$name}/', + ); +} diff --git a/vendor/composer/installers/src/Composer/Installers/WordPressInstaller.php b/vendor/composer/installers/src/Composer/Installers/WordPressInstaller.php new file mode 100644 index 00000000..d46d5ab8 --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/WordPressInstaller.php @@ -0,0 +1,14 @@ + */ + protected $locations = array( + 'plugin' => 'wp-content/plugins/{$name}/', + 'theme' => 'wp-content/themes/{$name}/', + 'muplugin' => 'wp-content/mu-plugins/{$name}/', + 'dropin' => 'wp-content/{$name}/', + ); +} diff --git a/vendor/composer/installers/src/Composer/Installers/YawikInstaller.php b/vendor/composer/installers/src/Composer/Installers/YawikInstaller.php new file mode 100644 index 00000000..d609dea5 --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/YawikInstaller.php @@ -0,0 +1,23 @@ + */ + protected $locations = array( + 'module' => 'module/{$name}/', + ); + + /** + * Format package name to CamelCase + */ + public function inflectPackageVars(array $vars): array + { + $vars['name'] = strtolower($this->pregReplace('/(?<=\\w)([A-Z])/', '_\\1', $vars['name'])); + $vars['name'] = str_replace(array('-', '_'), ' ', $vars['name']); + $vars['name'] = str_replace(' ', '', ucwords($vars['name'])); + + return $vars; + } +} diff --git a/vendor/composer/installers/src/Composer/Installers/ZendInstaller.php b/vendor/composer/installers/src/Composer/Installers/ZendInstaller.php new file mode 100644 index 00000000..ccfcd4a0 --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/ZendInstaller.php @@ -0,0 +1,13 @@ + */ + protected $locations = array( + 'library' => 'library/{$name}/', + 'extra' => 'extras/library/{$name}/', + 'module' => 'module/{$name}/', + ); +} diff --git a/vendor/composer/installers/src/Composer/Installers/ZikulaInstaller.php b/vendor/composer/installers/src/Composer/Installers/ZikulaInstaller.php new file mode 100644 index 00000000..d1fd1d78 --- /dev/null +++ b/vendor/composer/installers/src/Composer/Installers/ZikulaInstaller.php @@ -0,0 +1,12 @@ + */ + protected $locations = array( + 'module' => 'modules/{$vendor}-{$name}/', + 'theme' => 'themes/{$vendor}-{$name}/' + ); +} diff --git a/vendor/composer/installers/src/bootstrap.php b/vendor/composer/installers/src/bootstrap.php new file mode 100644 index 00000000..a5bb9add --- /dev/null +++ b/vendor/composer/installers/src/bootstrap.php @@ -0,0 +1,18 @@ += 70300)) { + $issues[] = 'Your Composer dependencies require a PHP version ">= 7.3.0". You are running ' . PHP_VERSION . '.'; +} + +if ($issues) { + if (!headers_sent()) { + header('HTTP/1.1 500 Internal Server Error'); + } + if (!ini_get('display_errors')) { + if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { + fwrite(STDERR, 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . implode(PHP_EOL, $issues) . PHP_EOL.PHP_EOL); + } elseif (!headers_sent()) { + echo 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . str_replace('You are running '.PHP_VERSION.'.', '', implode(PHP_EOL, $issues)) . PHP_EOL.PHP_EOL; + } + } + trigger_error( + 'Composer detected issues in your platform: ' . implode(' ', $issues), + E_USER_ERROR + ); +} diff --git a/vendor/shoppingfeed/php-feed-generator/changelog.md b/vendor/shoppingfeed/php-feed-generator/changelog.md new file mode 100644 index 00000000..f2bed0c8 --- /dev/null +++ b/vendor/shoppingfeed/php-feed-generator/changelog.md @@ -0,0 +1,3 @@ +### 1.0.0 + +- Supports for XML feed output compliant with https://github.com/shoppingflux/feed-xml/releases/tag/1.0.0 \ No newline at end of file diff --git a/vendor/shoppingfeed/php-feed-generator/src/Csv/CsvProductFeedWriter.php b/vendor/shoppingfeed/php-feed-generator/src/Csv/CsvProductFeedWriter.php new file mode 100644 index 00000000..edf8b0c3 --- /dev/null +++ b/vendor/shoppingfeed/php-feed-generator/src/Csv/CsvProductFeedWriter.php @@ -0,0 +1,195 @@ +tempFile = new \SplTempFileObject(self::$maxMemoryUsage); + $this->dataFile = new \SplFileObject($uri, 'wb+'); + } + + /** + * @inheritdoc + */ + public function setAttributes(array $attributes) + { + // CSV format does not supports metadata + } + + /** + * Writes elements to destination file. + * We fill each product line with empty string in case where column does not exists. + * + * @inheritdoc + */ + public function close(ProductFeedMetadata $metadata) + { + $this->tempFile->rewind(); + $this->dataFile->rewind(); + + $this->dataFile->fputcsv($this->headers); + + foreach ($this->tempFile as $current) { + if (! $current = unserialize($current)) { + continue; + } + + $csvLine = []; + foreach ($this->headers as $header) { + $csvLine[] = isset($current[$header]) ? $current[$header] : ''; + } + + $this->dataFile->fputcsv($csvLine); + } + + $this->tempFile = null; + $this->dataFile = null; + } + + /** + * @inheritdoc + */ + public function writeProduct(Product $product) + { + $data = $this->extractProduct($product); + $data['name'] = $product->getName(); + + if ($category = $product->getCategory()) { + $data['category_name'] = $category->getName(); + $data['category_link'] = $category->getLink(); + } + + if ($description = $product->getDescription()) { + $data['description_short'] = $description->getShort(); + $data['description_full'] = $description->getFull(); + } + + if ($brand = $product->getBrand()) { + $data['brand_name'] = $brand->getName(); + $data['brand_link'] = $brand->getLink(); + } + + $this->write($data); + + foreach ($product->getVariations() as $variation) { + $data = $this->extractProduct($variation); + $data['product_reference'] = $product->getReference(); + $this->write($data); + } + } + + /** + * Base product extraction for both parents and variations + * + * @param Feed\Product\AbstractProduct $product + * + * @return array + */ + private function extractProduct(Feed\Product\AbstractProduct $product) + { + $data = [ + 'reference' => $product->getReference(), + 'quantity' => $product->getQuantity(), + 'link' => $product->getLink(), + 'gtin' => $product->getGtin(), + ]; + + foreach ($product->getDiscounts() as $discount) { + $data['discount_type'] = $discount->getType(); + $data['discount_value'] = $discount->getValue(); + break; + } + + foreach ($product->getShippings() as $shipping) { + $data['shipping_description'] = $shipping->getDescription(); + $data['shipping_cost'] = $shipping->getCost(); + break; + } + + if ($image = $product->getMainImage()) { + $data['image_main'] = $image; + } + + $imgCounter = 0; + foreach ($product->getAdditionalImages() as $image) { + $data['image_additional_' . ++$imgCounter] = $image; + } + + foreach ($product->getAttributes() as $attribute) { + $data['attribute_' . $attribute->getName()] = $attribute->getValue(); + } + + return $data; + } + + /** + * This storage supports csv with headers. We do not know in advance headers, because they are dynamically + * created based on product list. so we add new header item if meet, and keep them sorted based on alphabetical + * order. The serialized product is also sorted by key, in order to match row completion based on header line. + * + * We don't store data into memory, because very large collection processing can require more than memory + * allowed by the PHP process. + * + * @param array $elements + */ + private function write(array $elements) + { + ksort($elements, SORT_NATURAL); + + $diff = array_diff(array_keys($elements), $this->headers); + foreach ($diff as $header) { + $this->headers[] = $header; + } + + if ($diff) { + sort($this->headers, SORT_NATURAL); + } + + $this->tempFile->fwrite(serialize($elements) . PHP_EOL); + } +} diff --git a/vendor/shoppingfeed/php-feed-generator/src/Product/AbstractProduct.php b/vendor/shoppingfeed/php-feed-generator/src/Product/AbstractProduct.php new file mode 100644 index 00000000..fd3cf550 --- /dev/null +++ b/vendor/shoppingfeed/php-feed-generator/src/Product/AbstractProduct.php @@ -0,0 +1,365 @@ +reference; + } + + /** + * @param string $reference + * + * @return $this + */ + public function setReference($reference) + { + $this->reference = trim($reference); + + return $this; + } + + /** + * @return string + */ + public function getGtin() + { + return $this->gtin; + } + + /** + * @return bool + */ + public function hasGtin() + { + return (bool) $this->gtin; + } + + /** + * @param string $gtin + * + * @return $this + */ + public function setGtin($gtin) + { + $this->gtin = trim($gtin); + + return $this; + } + + + /** + * @return int + */ + public function getQuantity() + { + return $this->quantity; + } + + /** + * @param int $quantity + * + * @return $this + */ + public function setQuantity($quantity) + { + $this->quantity = (int) $quantity; + + return $this; + } + + /** + * @return string + */ + public function getLink() + { + return $this->link; + } + + /** + * @param string $link + * + * @return $this + */ + public function setLink($link) + { + $this->link = trim($link); + + return $this; + } + + /** + * @return float + */ + public function getPrice() + { + return $this->price; + } + + /** + * @param float $price + * + * @return $this + */ + public function setPrice($price) + { + $this->price = \ShoppingFeed\Feed\price_format($price); + + return $this; + } + + /** + * @param float $value + * @param string $startDateTime + * @param string $endDateTime + * + * @return $this + */ + public function addDiscount($value, $startDateTime = '', $endDateTime = '') + { + $this->discounts[] = new ProductDiscount($value, $startDateTime, $endDateTime); + + return $this; + } + + /** + * @return ProductDiscount[] + */ + public function getDiscounts() + { + return $this->discounts; + } + + /** + * @return bool + */ + public function hasDiscounts() + { + return (bool) $this->discounts; + } + + /** + * @param float $cost + * @param string $description + * + * @return $this + */ + public function addShipping($cost, $description = '') + { + $this->shippings[] = new ProductShipping($cost, $description); + + return $this; + } + + /** + * @return ProductShipping[] + */ + public function getShippings() + { + return $this->shippings; + } + + /** + * @return bool + */ + public function hasShippings() + { + return (bool) $this->shippings; + } + + /** + * @param string $name + * @param string $value + * + * @return $this + */ + public function setAttribute($name, $value) + { + $attributes = new ProductAttribute($name, $value); + + $this->attributes[$attributes->getName()] = $attributes; + + return $this; + } + + /** + * @param array $attributes + * + * @return $this + */ + public function setAttributes(array $attributes) + { + foreach ($attributes as $name => $attribute) { + $this->setAttribute($name, $attribute); + } + + return $this; + } + + /** + * @return ProductAttribute[] + */ + public function getAttributes() + { + return $this->attributes; + } + + /** + * @return bool + */ + public function hasAttributes() + { + return (bool) $this->attributes; + } + + /** + * @param $url + * + * @return $this + */ + public function setMainImage($url) + { + $this->mainImage = trim($url); + + return $this; + } + + /** + * @param string $url + * + * @return $this + */ + public function setAdditionalImage($url) + { + $url = trim($url); + + $this->additionalImages[$url] = $url; + + return $this; + } + + /** + * @param array $images + * + * @return $this + */ + public function setAdditionalImages(array $images) + { + foreach ($images as $image) { + $this->setAdditionalImage($image); + } + + return $this; + } + + /** + * @return bool + */ + public function hasImages() + { + return (bool) ($this->mainImage || $this->additionalImages); + } + + /** + * @return string + */ + public function getMainImage() + { + return $this->mainImage; + } + + /** + * @return string[] + */ + public function getAdditionalImages() + { + return $this->additionalImages; + } + + /** + * @return bool + */ + public function isValid() + { + return $this->reference && isset($this->price); + } + + /** + * @return float + */ + public function getWeight() + { + return (float) $this->weight; + } + + /** + * @param float $weight + * + * @return $this + */ + public function setWeight($weight) + { + $this->weight = (float) $weight; + + return $this; + } +} diff --git a/vendor/shoppingfeed/php-feed-generator/src/Product/InvalidProductException.php b/vendor/shoppingfeed/php-feed-generator/src/Product/InvalidProductException.php new file mode 100644 index 00000000..2a5e9b30 --- /dev/null +++ b/vendor/shoppingfeed/php-feed-generator/src/Product/InvalidProductException.php @@ -0,0 +1,6 @@ +variationPrototype = new ProductVariation(); + } + + /** + * @return string + */ + public function getName() + { + return $this->name; + } + + /** + * @param string $name + * + * @return $this + */ + public function setName($name) + { + $this->name = trim($name); + + return $this; + } + + /** + * @return ProductDescription|null + */ + public function getDescription() + { + return $this->description; + } + + /** + * @return bool + */ + public function hasDescription() + { + return (bool) $this->description; + } + + /** + * @param string $fullDesc + * @param string $shortDesc + * + * @return Product + */ + public function setDescription($fullDesc, $shortDesc = '') + { + $this->description = new ProductDescription($fullDesc, $shortDesc); + + return $this; + } + + /** + * @return ProductBrand|null + */ + public function getBrand() + { + return $this->brand; + } + + /** + * @return bool + */ + public function hasBrand() + { + return (bool) $this->brand; + } + + /** + * @param string $name + * @param string $link + * + * @return Product + */ + public function setBrand($name, $link = '') + { + $this->brand = new ProductBrand($name, $link); + + return $this; + } + + /** + * @return ProductCategory|null + */ + public function getCategory() + { + return $this->category; + } + + /** + * @return bool + */ + public function hasCategory() + { + return (bool) $this->category; + } + + /** + * @param string $name + * @param string $link + * + * @return Product + */ + public function setCategory($name, $link = '') + { + $this->category = new ProductCategory($name, $link); + + return $this; + } + + /** + * @return ProductVariation + */ + public function createVariation() + { + $variation = clone $this->variationPrototype; + $this->variations[] = $variation; + + return $variation; + } + + /** + * @return bool + */ + public function hasVariations() + { + return (bool) $this->variations; + } + + /** + * @return ProductVariation[] + */ + public function getVariations() + { + return $this->variations; + } + + /** + * Validation requires that: + * - A name has been defined + * - A reference has been defined + * - A price has been set + * + * Variations validation only operates on: + * - reference + * - price + * + * return bool + */ + public function isValid() + { + if ($this->name && parent::isValid()) { + foreach ($this->getVariations() as $variation) { + if (! $variation->isValid()) { + return false; + } + } + + return true; + } + + return false; + } + /** + * @return float + */ + public function getEcotax() + { + return $this->ecotax; + } + + /** + * @param float $ecotax + * + * @return $this + */ + public function setEcotax($ecotax) + { + $this->ecotax = \ShoppingFeed\Feed\price_format($ecotax); + + return $this; + } + + /** + * @return float + */ + public function getVat() + { + return $this->vat; + } + + /** + * @param float $vat + * + * @return $this + */ + public function setVat($vat) + { + $this->vat = $vat; + + return $this; + } +} diff --git a/vendor/shoppingfeed/php-feed-generator/src/Product/ProductAttribute.php b/vendor/shoppingfeed/php-feed-generator/src/Product/ProductAttribute.php new file mode 100644 index 00000000..e78f09ae --- /dev/null +++ b/vendor/shoppingfeed/php-feed-generator/src/Product/ProductAttribute.php @@ -0,0 +1,41 @@ +name = trim($name); + $this->value = trim($value); + } + + /** + * @return string + */ + public function getName() + { + return $this->name; + } + + /** + * @return string + */ + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/shoppingfeed/php-feed-generator/src/Product/ProductBrand.php b/vendor/shoppingfeed/php-feed-generator/src/Product/ProductBrand.php new file mode 100644 index 00000000..bf354013 --- /dev/null +++ b/vendor/shoppingfeed/php-feed-generator/src/Product/ProductBrand.php @@ -0,0 +1,41 @@ +name = trim($name); + $this->link = trim($link); + } + + /** + * @return mixed + */ + public function getName() + { + return $this->name; + } + + /** + * @return string + */ + public function getLink() + { + return $this->link; + } +} diff --git a/vendor/shoppingfeed/php-feed-generator/src/Product/ProductCategory.php b/vendor/shoppingfeed/php-feed-generator/src/Product/ProductCategory.php new file mode 100644 index 00000000..3fa8e1ee --- /dev/null +++ b/vendor/shoppingfeed/php-feed-generator/src/Product/ProductCategory.php @@ -0,0 +1,41 @@ +name = trim($name); + $this->link = trim($link); + } + + /** + * @return mixed + */ + public function getName() + { + return $this->name; + } + + /** + * @return string + */ + public function getLink() + { + return $this->link; + } +} diff --git a/vendor/shoppingfeed/php-feed-generator/src/Product/ProductDescription.php b/vendor/shoppingfeed/php-feed-generator/src/Product/ProductDescription.php new file mode 100644 index 00000000..3bb7e939 --- /dev/null +++ b/vendor/shoppingfeed/php-feed-generator/src/Product/ProductDescription.php @@ -0,0 +1,42 @@ +full = trim($full); + $this->short = trim($short); + } + + /** + * @return string + */ + public function getFull() + { + return $this->full; + } + + /** + * @return string + */ + public function getShort() + { + return $this->short; + } +} diff --git a/vendor/shoppingfeed/php-feed-generator/src/Product/ProductDiscount.php b/vendor/shoppingfeed/php-feed-generator/src/Product/ProductDiscount.php new file mode 100644 index 00000000..d6418ab7 --- /dev/null +++ b/vendor/shoppingfeed/php-feed-generator/src/Product/ProductDiscount.php @@ -0,0 +1,70 @@ +value = \ShoppingFeed\Feed\price_format($value); + $this->type = self::TYPE_PRICE; + $this->startDateTime = $startDateTime; + $this->endDateTime = $endDateTime; + } + + /** + * @return float + */ + public function getValue() + { + return $this->value; + } + + /** + * @return string + */ + public function getType() + { + return $this->type; + } + + /** + * @return string + */ + public function getStartDateTime() + { + return $this->startDateTime; + } + + /** + * @return string + */ + public function getEndDateTime() + { + return $this->endDateTime; + } +} diff --git a/vendor/shoppingfeed/php-feed-generator/src/Product/ProductShipping.php b/vendor/shoppingfeed/php-feed-generator/src/Product/ProductShipping.php new file mode 100644 index 00000000..2d3cbcdd --- /dev/null +++ b/vendor/shoppingfeed/php-feed-generator/src/Product/ProductShipping.php @@ -0,0 +1,41 @@ +cost = \ShoppingFeed\Feed\price_format($cost); + $this->description = trim((string) $description); + } + + /** + * @return string + */ + public function getCost() + { + return $this->cost; + } + + /** + * @return string + */ + public function getDescription() + { + return $this->description; + } +} diff --git a/vendor/shoppingfeed/php-feed-generator/src/Product/ProductVariation.php b/vendor/shoppingfeed/php-feed-generator/src/Product/ProductVariation.php new file mode 100644 index 00000000..1fdfedae --- /dev/null +++ b/vendor/shoppingfeed/php-feed-generator/src/Product/ProductVariation.php @@ -0,0 +1,6 @@ +setAgent('shopping-feed-generator', '1.0.0'); + $this->setPlatform('Unknown', 'Unknown'); + $this->setModule('Unknown', 'Unknown'); + $this->filtered = 0; + $this->written = 0; + $this->invalid = 0; + } + + /** + * Define the host platform that provide feed data + * + * @param string $platformName The name of the platform. IE: Magento, Prestashop...etc + * @param string $platformVersion The platform version. IE: 1.0.2 + * + * @return $this + */ + public function setPlatform($platformName, $platformVersion) + { + $this->platform = sprintf('%s:%s', $platformName, $platformVersion); + + return $this; + } + + /** + * Define the host platform that provide feed data + * + * @param string $agentName The name of the platform. IE: Magento, Prestashop...etc + * @param string $agentVersion The platform version. IE: 1.0.2 + * + * @return $this + */ + private function setAgent($agentName, $agentVersion) + { + $this->agent = sprintf('%s:%s', $agentName, $agentVersion); + + return $this; + } + + /** + * @return string + */ + public function getAgent() + { + return $this->agent; + } + + /** + * @return string + */ + public function getPlatform() + { + return $this->platform; + } + + /** + * @deprecated No longer used. Will be dropped in a future version. + * + * @return \DateTimeInterface + */ + public function getStartedAt() + { + return $this->startedAt; + } + + /** + * @deprecated No longer used. Will be dropped in a future version. + * + * @param \DateTimeInterface $startedAt + */ + public function setStartedAt(\DateTimeInterface $startedAt) + { + $this->startedAt = $startedAt; + } + + /** + * @deprecated No longer used. Will be dropped in a future version. + * + * @return \DateTimeInterface + */ + public function getFinishedAt() + { + return $this->finishedAt; + } + + /** + * @deprecated No longer used. Will be dropped in a future version. + * + * @param \DateTimeInterface $finishedAt + */ + public function setFinishedAt(\DateTimeInterface $finishedAt) + { + $this->finishedAt = $finishedAt; + } + + public function incrFiltered() + { + $this->filtered += 1; + } + + public function incrInvalid() + { + $this->invalid += 1; + } + + public function incrWritten() + { + $this->written += 1; + } + + /** + * @return int + */ + public function getTotalCount() + { + return $this->invalid + $this->filtered + $this->written; + } + + /** + * @deprecated No longer used. Will be dropped in a future version. + * + * @return int + */ + public function getFilteredCount() + { + return $this->filtered; + } + + /** + * @deprecated No longer used. Will be dropped in a future version. + * + * @return int + */ + public function getWrittenCount() + { + return $this->written; + } + + /** + * @deprecated No longer used. Will be dropped in a future version. + * + * @return int + */ + public function getInvalidCount() + { + return $this->invalid; + } + + /** + * @return string + */ + public function getModule() + { + return $this->module; + } + + /** + * @param string $name + * @param string $version + * + * @return self + */ + public function setModule($name, $version) + { + $this->module = sprintf('%s:%s', $name, $version); + + return $this; + } +} diff --git a/vendor/shoppingfeed/php-feed-generator/src/ProductFeedResult.php b/vendor/shoppingfeed/php-feed-generator/src/ProductFeedResult.php new file mode 100644 index 00000000..6bdba51b --- /dev/null +++ b/vendor/shoppingfeed/php-feed-generator/src/ProductFeedResult.php @@ -0,0 +1,35 @@ +startedAt = $startedAt; + $this->finishedAt = $finishedAt; + } + + /** + * Return the duration, expressed in seconds + * + * @return int + */ + public function getDuration() + { + return $this->finishedAt->getTimestamp() - $this->startedAt->getTimestamp(); + } +} diff --git a/vendor/shoppingfeed/php-feed-generator/src/ProductFeedWriterInterface.php b/vendor/shoppingfeed/php-feed-generator/src/ProductFeedWriterInterface.php new file mode 100644 index 00000000..266f6569 --- /dev/null +++ b/vendor/shoppingfeed/php-feed-generator/src/ProductFeedWriterInterface.php @@ -0,0 +1,58 @@ + Xml\XmlProductFeedWriter::class, + 'csv' => Csv\CsvProductFeedWriter::class, + ]; + + /** + * @param string $alias The short name used to select writer later on instance scope + * @param string $writerClass The writer class that implements ProductFeedWriterInterface + * + * @throws \InvalidArgumentException When the $$writerClass is not an implementation of ProductFeedWriterInterface + */ + public static function registerWriter($alias, $writerClass) + { + if (! in_array(ProductFeedWriterInterface::class, class_implements($writerClass), true)) { + throw new \InvalidArgumentException( + sprintf('Writer class shoud implements "%s" interface', ProductFeedWriterInterface::class) + ); + } + + self::$writers[$alias] = $writerClass; + } + + /** + * Check if the alias is already registered + * + * @param string $alias + * + * @return bool + */ + public static function hasWriterAlias($alias) + { + return isset(self::$writers[$alias]); + } + + /** + * @param string string $uri The uri where data will be written + * @param string string $writerAlias The writer to use for this generator instance + */ + public function __construct($uri = 'php://output', $writerAlias = 'xml') + { + $this->setUri($uri); + $this->setWriter($writerAlias); + + $this->metadata = new ProductFeedMetadata(); + $this->validate = self::VALIDATE_NONE; + } + + /** + * @param string $uri + * + * @return $this + */ + public function setUri($uri) + { + $this->uri = $uri; + + return $this; + } + + /** + * @param string $alias The writer alias to uses + * + * @throws \InvalidArgumentException If the alias is not registered at class level + * + * @return $this + */ + public function setWriter($alias) + { + if (! isset(self::$writers[$alias])) { + throw new \InvalidArgumentException( + sprintf('Writer alias "%s" is not registered', $alias) + ); + } + + $this->writer = $alias; + + return $this; + } + + /** + * @param string $name The attribute name + * @param mixed $value The attribute value + * + * @return $this + */ + public function setAttribute($name, $value) + { + $this->attributes[$name] = $value; + + return $this; + } + + /** + * Determine if every product must be validated. + * Possible values are: + * + * - self::VALIDATE_NONE : No validation at all, invalid products may be written to the feed + * - self::VALIDATE_EXCLUDE : Validated and excluded from the final result if invalid. No error reported + * - self::VALIDATE_EXCEPTION : An exception is thrown when the first invalid product is met + * + * @param int $flags + * + * @return ProductGenerator + */ + public function setValidationFlags($flags) + { + $this->validate = (int) $flags; + + return $this; + } + + /** + * @param string $platformName + * @param string $platformVersion + * + * @return $this + */ + public function setPlatform($platformName, $platformVersion) + { + $this->metadata->setPlatform($platformName, $platformVersion); + + return $this; + } + + /** + * @param callable $callback + * + * @return $this + */ + public function addFilter(callable $callback) + { + $this->filters[] = $callback; + + return $this; + } + + /** + * @param callable $callback + * + * @return $this + */ + public function addProcessor(callable $callback) + { + $this->processors[] = $callback; + + return $this; + } + + /** + * @param callable $callback + * + * @return $this + */ + public function addMapper(callable $callback) + { + $this->mappers[] = $callback; + + return $this; + } + + /** + * @param \Traversable|array $iterable + * + * @return ProductFeedResult + * @throws \Exception + */ + public function write($iterable) + { + if (! $iterable instanceof \Traversable && ! is_array($iterable)) { + throw new \Exception(sprintf('cannot iterates over %s', gettype($iterable))); + } + + $metadata = $this->metadata; + $metadata->setStartedAt(new \DateTimeImmutable()); + + $writer = $this->createWriter(); + $writer->open($this->uri); + $writer->setAttributes($this->attributes); + + $prototype = new Product\Product(); + foreach ($iterable as $item) { + // Apply processors + foreach ($this->processors as $processor) { + $item = $processor($item); + } + + // Apply filters + foreach ($this->filters as $processor) { + if (false === $processor($item)) { + $metadata->incrFiltered(); + continue 2; + } + } + + // Apply mappers + $product = clone $prototype; + foreach ($this->mappers as $mapper) { + $mapper($item, $product); + } + + // The product does not match expected validation rules + if ($this->validate && false === $product->isValid()) { + if ($this->validate === self::VALIDATE_EXCEPTION) { + throw new Product\InvalidProductException( + sprintf('Invalid product found at index %d, aborting', $metadata->getTotalCount()) + ); + } + + $metadata->incrInvalid(); + continue; + } + + $writer->writeProduct($product); + $metadata->incrWritten(); + } + + $metadata->setFinishedAt(new \DateTimeImmutable()); + $writer->close($metadata); + + return new ProductFeedResult( + $metadata->getStartedAt(), + $metadata->getFinishedAt() + ); + } + + /** + * @return ProductFeedWriterInterface + */ + private function createWriter() + { + $writerClass = self::$writers[$this->writer]; + + return new $writerClass(); + } + + /** + * @return ProductFeedMetadata + */ + public function getMetaData() + { + return $this->metadata; + } +} diff --git a/vendor/shoppingfeed/php-feed-generator/src/Xml/XmlProductFeedWriter.php b/vendor/shoppingfeed/php-feed-generator/src/Xml/XmlProductFeedWriter.php new file mode 100644 index 00000000..959e3c47 --- /dev/null +++ b/vendor/shoppingfeed/php-feed-generator/src/Xml/XmlProductFeedWriter.php @@ -0,0 +1,241 @@ +writer = new \XMLWriter(); + $this->writer->openUri($destination); + $this->writer->setIndent(true); + + $this->writer->startDocument('1.0', 'utf-8'); + $this->writer->startElement('catalog'); + $this->writer->startElement('products'); + } + + /** + * @param ProductFeedMetadata $metadata + */ + public function close(ProductFeedMetadata $metadata) + { + $writer = $this->writer; + $writer->endElement(); // products + + $writer->startElement('metadata'); + $writer->writeElement('platform', $metadata->getPlatform()); + $writer->writeElement('agent', $metadata->getAgent()); + $writer->writeElement('module', $metadata->getModule()); + $writer->endElement(); + + $writer->endElement(); // catalog + $writer->flush(); + + // unlink object reference + unset($this->writer); + } + + /** + * @param array $attributes + */ + public function setAttributes(array $attributes) + { + $this->writer->writeAttribute('version', self::VERSION); + foreach ($attributes as $name => $value) { + $this->writer->writeAttribute($name, $value); + } + } + + /** + * @param Product $product + */ + public function writeProduct(Product $product) + { + $writer = $this->writer; + $writer->startElement('product'); + + $this->writeElement('name', $product->getName()); + $this->writeSharedProduct($product); + + if ($ecotax = $product->getEcotax()) { + $this->writeElement('ecotax', $ecotax); + } + + if ($vat = $product->getVat()) { + $this->writeElement('vat', $vat); + } + + if ($product->hasDescription()) { + $description = $product->getDescription(); + $writer->startElement('description'); + $this->writeCdataElement('full', $description->getFull()); + if ($short = $description->getShort()) { + $this->writeCdataElement('short', $short); + } + $writer->endElement(); + } + + if ($product->hasBrand()) { + $brand = $product->getBrand(); + $writer->startElement('brand'); + $this->writeElement('name', $brand->getName()); + $this->writeCdataElement('link', $brand->getLink()); + $writer->endElement(); + } + + if ($product->hasCategory()) { + $category = $product->getCategory(); + $writer->startElement('category'); + $this->writeElement('name', $category->getName()); + $this->writeCdataElement('link', $category->getLink()); + $writer->endElement(); + } + + if ($product->hasVariations()) { + $writer->startElement('variations'); + foreach ($product->getVariations() as $variation) { + $writer->startElement('variation'); + $this->writeSharedProduct($variation); + $writer->endElement(); + } + $writer->endElement(); + } + + $writer->endElement(); + $writer->flush(); + } + + private function writeSharedProduct(Feed\Product\AbstractProduct $product) + { + $writer = $this->writer; + + $this->writeElement('reference', $product->getReference()); + $this->writeElement('quantity', $product->getQuantity()); + $this->writeElement('price', $product->getPrice()); + if ($link = $product->getLink()) { + $this->writeCdataElement('link', $link); + } + if ($product->hasGtin()) { + $this->writeElement('gtin', $product->getGtin()); + } + if ($product->hasDiscounts()) { + $writer->startElement('discounts'); + foreach ($product->getDiscounts() as $discount) { + $writer->startElement('discount'); + $writer->writeAttribute('type', $discount->getType()); + if ($discount->getStartDateTime()) { + $writer->writeAttribute('start-datetime', $discount->getStartDateTime()); + } + if ($discount->getEndDateTime()) { + $writer->writeAttribute('end-datetime', $discount->getEndDateTime()); + } + $writer->writeRaw($discount->getValue()); + $writer->endElement(); + } + $writer->endElement(); + } + + if ($product->hasShippings()) { + $writer->startElement('shippings'); + foreach ($product->getShippings() as $shipping) { + $writer->startElement('shipping'); + $writer->writeElement('amount', $shipping->getCost()); + if ($description = $shipping->getDescription()) { + $writer->writeElement('label', $shipping->getDescription()); + } + $writer->endElement(); // shipping + } + $writer->endElement(); + } + + if ($product->hasAttributes()) { + $writer->startElement('attributes'); + foreach ($product->getAttributes() as $attribute) { + $writer->startElement('attribute'); + $this->writeElement('name', $attribute->getName()); + $this->writeCdataElement('value', $attribute->getValue()); + $writer->endElement(); + } + $writer->endElement(); + } + + if ($product->hasImages()) { + $writer->startElement('images'); + if ($main = $product->getMainImage()) { + $writer->startElement('image'); + $writer->writeAttribute('type', 'main'); + $this->writeCdata($main); + $writer->endElement(); + } + foreach ($product->getAdditionalImages() as $image) { + $this->writeCdataElement('image', $image); + } + $writer->endElement(); + } + + if ($weight = $product->getWeight()) { + $this->writeElement('weight', $weight); + } + } + + /** + * Prevent nested Cdata be escaping all ']]>' strings into the content. + * The replacement can be decomposed: + * keep first part ]] + * then close current cdata and open a new one + * write last part > + * + * @param string $content + */ + private function writeCdata($content) + { + $this->writer->writeCdata(Feed\xml_utf8_clean($content)); + } + + /** + * @param string $name + * @param string $content + */ + private function writeCdataElement($name, $content) + { + $this->writer->startElement($name); + $this->writeCdata($content); + $this->writer->endElement(); + } + + /** + * Force empty strings to be written as self closing tags. + * Example: writeElement('foo', '') will originally write + * Now it writes + * + * @param string $name + * @param string $content + * + * @return bool + */ + private function writeElement($name, $content) + { + if ('' === $content) { + $content = null; + } + if (null !== $content) { + $content = Feed\xml_utf8_clean($content); + } + + return $this->writer->writeElement(trim($name), trim($content)); + } +} diff --git a/vendor/shoppingfeed/php-feed-generator/src/functions.php b/vendor/shoppingfeed/php-feed-generator/src/functions.php new file mode 100644 index 00000000..b6ca2bfe --- /dev/null +++ b/vendor/shoppingfeed/php-feed-generator/src/functions.php @@ -0,0 +1,22 @@ +