updated plugin Menu Icons version 0.12.9
				
					
				
			This commit is contained in:
		| @ -1,3 +1,7 @@ | ||||
| ##### [Version 0.12.9](https://github.com/codeinwp/wp-menu-icons/compare/v0.12.8...v0.12.9) (2021-08-04) | ||||
|  | ||||
| * Tested compatibility with WordPress 5.8 | ||||
|  | ||||
| ##### [Version 0.12.8](https://github.com/codeinwp/wp-menu-icons/compare/v0.12.7...v0.12.8) (2021-05-12) | ||||
|  | ||||
| * Fix issue when the image is not accessible to fetch the width/height metadata. | ||||
|  | ||||
| @ -11,7 +11,7 @@ | ||||
|  * Plugin name: Menu Icons | ||||
|  * Plugin URI:  https://github.com/Codeinwp/wp-menu-icons | ||||
|  * Description: Spice up your navigation menus with pretty icons, easily. | ||||
|  * Version:     0.12.8 | ||||
|  * Version:     0.12.9 | ||||
|  * Author:      ThemeIsle | ||||
|  * Author URI:  https://themeisle.com | ||||
|  * License:     GPLv2 | ||||
| @ -27,7 +27,7 @@ | ||||
|  */ | ||||
| final class Menu_Icons { | ||||
|  | ||||
| 	const VERSION = '0.12.8'; | ||||
| 	const VERSION = '0.12.9'; | ||||
|  | ||||
| 	/** | ||||
| 	 * Holds plugin data | ||||
|  | ||||
| @ -2,7 +2,7 @@ | ||||
| Contributors: codeinwp, themeisle | ||||
| Tags: menu, nav-menu, icons, navigation | ||||
| Requires at least: 4.3 | ||||
| Tested up to: 5.7 | ||||
| Tested up to: 5.8 | ||||
| Stable tag: trunk | ||||
| License: GPLv2 | ||||
| License URI: http://www.gnu.org/licenses/gpl-2.0.html | ||||
| @ -225,6 +225,13 @@ Read [this blog post](http://kucrut.org/add-custom-image-sizes-right-way/). | ||||
|  | ||||
| == Changelog == | ||||
|  | ||||
| ##### [Version 0.12.9](https://github.com/codeinwp/wp-menu-icons/compare/v0.12.8...v0.12.9) (2021-08-04) | ||||
|  | ||||
| * Tested compatibility with WordPress 5.8 | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| ##### [Version 0.12.8](https://github.com/codeinwp/wp-menu-icons/compare/v0.12.7...v0.12.8) (2021-05-12) | ||||
|  | ||||
| * Fix issue when the image is not accessible to fetch the width/height metadata. | ||||
|  | ||||
| @ -4,4 +4,4 @@ | ||||
|  | ||||
| require_once __DIR__ . '/composer/autoload_real.php'; | ||||
|  | ||||
| return ComposerAutoloaderInit45b19aab4a02085424168fe90bd9d9df::getLoader(); | ||||
| return ComposerAutoloaderInit74b27492ce991c41571767171a3e8a06::getLoader(); | ||||
|  | ||||
| @ -338,7 +338,7 @@ class ClassLoader | ||||
|      * Loads the given class or interface. | ||||
|      * | ||||
|      * @param  string    $class The name of the class | ||||
|      * @return bool|null True if loaded, null otherwise | ||||
|      * @return true|null True if loaded, null otherwise | ||||
|      */ | ||||
|     public function loadClass($class) | ||||
|     { | ||||
| @ -347,6 +347,8 @@ class ClassLoader | ||||
|  | ||||
|             return true; | ||||
|         } | ||||
|  | ||||
|         return null; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|  | ||||
| @ -1,331 +1,337 @@ | ||||
| <?php | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| /* | ||||
|  * This file is part of Composer. | ||||
|  * | ||||
|  * (c) Nils Adermann <naderman@naderman.de> | ||||
|  *     Jordi Boggiano <j.boggiano@seld.be> | ||||
|  * | ||||
|  * 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 it's presence, you can require `composer-runtime-api ^2.0` | ||||
|  */ | ||||
| class InstalledVersions | ||||
| { | ||||
| private static $installed = array ( | ||||
|   'root' =>  | ||||
|   array ( | ||||
|     'pretty_version' => 'v0.12.8', | ||||
|     'version' => '0.12.8.0', | ||||
|     'aliases' =>  | ||||
|     array ( | ||||
|     ), | ||||
|     'reference' => 'f61cb2a3f967814d168c9a2a7725bbad1d26859a', | ||||
|     'name' => 'codeinwp/wp-menu-icons', | ||||
|   ), | ||||
|   'versions' =>  | ||||
|   array ( | ||||
|     'codeinwp/gutenberg-menu-icons' =>  | ||||
|     array ( | ||||
|       'pretty_version' => '1.0.4', | ||||
|       'version' => '1.0.4.0', | ||||
|       'aliases' =>  | ||||
|       array ( | ||||
|       ), | ||||
|       'reference' => '121ef82c57a556301265cbd1032d28619235e488', | ||||
|     ), | ||||
|     'codeinwp/icon-picker' =>  | ||||
|     array ( | ||||
|       'pretty_version' => 'dev-master', | ||||
|       'version' => 'dev-master', | ||||
|       'aliases' =>  | ||||
|       array ( | ||||
|         0 => '9999999-dev', | ||||
|       ), | ||||
|       'reference' => '0c60ce3a41653e41a20e710c4d5a6a2104c85020', | ||||
|     ), | ||||
|     'codeinwp/menu-item-custom-fields' =>  | ||||
|     array ( | ||||
|       'pretty_version' => 'dev-master', | ||||
|       'version' => 'dev-master', | ||||
|       'aliases' =>  | ||||
|       array ( | ||||
|         0 => '9999999-dev', | ||||
|       ), | ||||
|       'reference' => 'f491fcfa873e92006e3d92a4ede8775e9cf53bae', | ||||
|     ), | ||||
|     'codeinwp/themeisle-sdk' =>  | ||||
|     array ( | ||||
|       'pretty_version' => 'dev-master', | ||||
|       'version' => 'dev-master', | ||||
|       'aliases' =>  | ||||
|       array ( | ||||
|         0 => '9999999-dev', | ||||
|       ), | ||||
|       'reference' => '24668ab249d8fb6596cc908c323205648aad0ed8', | ||||
|     ), | ||||
|     'codeinwp/wp-menu-icons' =>  | ||||
|     array ( | ||||
|       'pretty_version' => 'v0.12.8', | ||||
|       'version' => '0.12.8.0', | ||||
|       'aliases' =>  | ||||
|       array ( | ||||
|       ), | ||||
|       'reference' => 'f61cb2a3f967814d168c9a2a7725bbad1d26859a', | ||||
|     ), | ||||
|     'composer/installers' =>  | ||||
|     array ( | ||||
|       'replaced' =>  | ||||
|       array ( | ||||
|         0 => '*', | ||||
|       ), | ||||
|     ), | ||||
|   ), | ||||
| ); | ||||
| private static $canGetVendors; | ||||
| private static $installedByVendor = array(); | ||||
|     private static $installed; | ||||
|     private static $canGetVendors; | ||||
|     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<string> | ||||
|      */ | ||||
|     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<string> | ||||
|      */ | ||||
|     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; | ||||
|     } | ||||
|  | ||||
| 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))); | ||||
| } | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| public static function isInstalled($packageName) | ||||
| { | ||||
| foreach (self::getInstalled() as $installed) { | ||||
| if (isset($installed['versions'][$packageName])) { | ||||
| return true; | ||||
| } | ||||
| } | ||||
|  | ||||
| return false; | ||||
| } | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| public static function satisfies(VersionParser $parser, $packageName, $constraint) | ||||
| { | ||||
| $constraint = $parser->parseConstraints($constraint); | ||||
| $provided = $parser->parseConstraints(self::getVersionRanges($packageName)); | ||||
|  | ||||
| return $provided->matches($constraint); | ||||
| } | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| 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'); | ||||
| } | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| 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'); | ||||
| } | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| 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'); | ||||
| } | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| 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'); | ||||
| } | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| public static function getRootPackage() | ||||
| { | ||||
| $installed = self::getInstalled(); | ||||
|  | ||||
| return $installed[0]['root']; | ||||
| } | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| public static function getRawData() | ||||
| { | ||||
| return self::$installed; | ||||
| } | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| public static function reload($data) | ||||
| { | ||||
| self::$installed = $data; | ||||
| self::$installedByVendor = array(); | ||||
| } | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| 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')) { | ||||
| $installed[] = self::$installedByVendor[$vendorDir] = require $vendorDir.'/composer/installed.php'; | ||||
| } | ||||
| } | ||||
| } | ||||
|  | ||||
| $installed[] = self::$installed; | ||||
|  | ||||
| return $installed; | ||||
| } | ||||
|     /** | ||||
|      * 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} | ||||
|      */ | ||||
|     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}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string}>} | ||||
|      */ | ||||
|     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<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string}>}> | ||||
|      */ | ||||
|     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}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string}>} $data | ||||
|      */ | ||||
|     public static function reload($data) | ||||
|     { | ||||
|         self::$installed = $data; | ||||
|         self::$installedByVendor = array(); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * @return array[] | ||||
|      * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string}>}> | ||||
|      */ | ||||
|     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')) { | ||||
|                     $installed[] = self::$installedByVendor[$vendorDir] = require $vendorDir.'/composer/installed.php'; | ||||
|                     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') { | ||||
|                 self::$installed = require __DIR__ . '/installed.php'; | ||||
|             } else { | ||||
|                 self::$installed = array(); | ||||
|             } | ||||
|         } | ||||
|         $installed[] = self::$installed; | ||||
|  | ||||
|         return $installed; | ||||
|     } | ||||
| } | ||||
|  | ||||
| @ -2,7 +2,7 @@ | ||||
|  | ||||
| // autoload_real.php @generated by Composer | ||||
|  | ||||
| class ComposerAutoloaderInit45b19aab4a02085424168fe90bd9d9df | ||||
| class ComposerAutoloaderInit74b27492ce991c41571767171a3e8a06 | ||||
| { | ||||
|     private static $loader; | ||||
|  | ||||
| @ -22,15 +22,15 @@ class ComposerAutoloaderInit45b19aab4a02085424168fe90bd9d9df | ||||
|             return self::$loader; | ||||
|         } | ||||
|  | ||||
|         spl_autoload_register(array('ComposerAutoloaderInit45b19aab4a02085424168fe90bd9d9df', 'loadClassLoader'), true, true); | ||||
|         spl_autoload_register(array('ComposerAutoloaderInit74b27492ce991c41571767171a3e8a06', 'loadClassLoader'), true, true); | ||||
|         self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(\dirname(__FILE__))); | ||||
|         spl_autoload_unregister(array('ComposerAutoloaderInit45b19aab4a02085424168fe90bd9d9df', 'loadClassLoader')); | ||||
|         spl_autoload_unregister(array('ComposerAutoloaderInit74b27492ce991c41571767171a3e8a06', 'loadClassLoader')); | ||||
|  | ||||
|         $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded()); | ||||
|         if ($useStaticLoader) { | ||||
|             require __DIR__ . '/autoload_static.php'; | ||||
|  | ||||
|             call_user_func(\Composer\Autoload\ComposerStaticInit45b19aab4a02085424168fe90bd9d9df::getInitializer($loader)); | ||||
|             call_user_func(\Composer\Autoload\ComposerStaticInit74b27492ce991c41571767171a3e8a06::getInitializer($loader)); | ||||
|         } else { | ||||
|             $map = require __DIR__ . '/autoload_namespaces.php'; | ||||
|             foreach ($map as $namespace => $path) { | ||||
| @ -51,19 +51,19 @@ class ComposerAutoloaderInit45b19aab4a02085424168fe90bd9d9df | ||||
|         $loader->register(true); | ||||
|  | ||||
|         if ($useStaticLoader) { | ||||
|             $includeFiles = Composer\Autoload\ComposerStaticInit45b19aab4a02085424168fe90bd9d9df::$files; | ||||
|             $includeFiles = Composer\Autoload\ComposerStaticInit74b27492ce991c41571767171a3e8a06::$files; | ||||
|         } else { | ||||
|             $includeFiles = require __DIR__ . '/autoload_files.php'; | ||||
|         } | ||||
|         foreach ($includeFiles as $fileIdentifier => $file) { | ||||
|             composerRequire45b19aab4a02085424168fe90bd9d9df($fileIdentifier, $file); | ||||
|             composerRequire74b27492ce991c41571767171a3e8a06($fileIdentifier, $file); | ||||
|         } | ||||
|  | ||||
|         return $loader; | ||||
|     } | ||||
| } | ||||
|  | ||||
| function composerRequire45b19aab4a02085424168fe90bd9d9df($fileIdentifier, $file) | ||||
| function composerRequire74b27492ce991c41571767171a3e8a06($fileIdentifier, $file) | ||||
| { | ||||
|     if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) { | ||||
|         require $file; | ||||
|  | ||||
| @ -4,7 +4,7 @@ | ||||
|  | ||||
| namespace Composer\Autoload; | ||||
|  | ||||
| class ComposerStaticInit45b19aab4a02085424168fe90bd9d9df | ||||
| class ComposerStaticInit74b27492ce991c41571767171a3e8a06 | ||||
| { | ||||
|     public static $files = array ( | ||||
|         '2c2d2fe92db4cd03403dbb108ac263b7' => __DIR__ . '/..' . '/codeinwp/gutenberg-menu-icons/load.php', | ||||
| @ -20,7 +20,7 @@ class ComposerStaticInit45b19aab4a02085424168fe90bd9d9df | ||||
|     public static function getInitializer(ClassLoader $loader) | ||||
|     { | ||||
|         return \Closure::bind(function () use ($loader) { | ||||
|             $loader->classMap = ComposerStaticInit45b19aab4a02085424168fe90bd9d9df::$classMap; | ||||
|             $loader->classMap = ComposerStaticInit74b27492ce991c41571767171a3e8a06::$classMap; | ||||
|  | ||||
|         }, null, ClassLoader::class); | ||||
|     } | ||||
|  | ||||
| @ -1,70 +1,71 @@ | ||||
| <?php return array ( | ||||
|   'root' =>  | ||||
|   array ( | ||||
|     'pretty_version' => 'v0.12.8', | ||||
|     'version' => '0.12.8.0', | ||||
|     'aliases' =>  | ||||
|     array ( | ||||
| <?php return array( | ||||
|     'root' => array( | ||||
|         'pretty_version' => 'v0.12.9', | ||||
|         'version' => '0.12.9.0', | ||||
|         'type' => 'wordpress-plugin', | ||||
|         'install_path' => __DIR__ . '/../../', | ||||
|         'aliases' => array(), | ||||
|         'reference' => 'a079c9e25ea5c0cf535b63ad6c3dfe5b1dd01a36', | ||||
|         'name' => 'codeinwp/wp-menu-icons', | ||||
|         'dev' => false, | ||||
|     ), | ||||
|     'reference' => 'f61cb2a3f967814d168c9a2a7725bbad1d26859a', | ||||
|     'name' => 'codeinwp/wp-menu-icons', | ||||
|   ), | ||||
|   'versions' =>  | ||||
|   array ( | ||||
|     'codeinwp/gutenberg-menu-icons' =>  | ||||
|     array ( | ||||
|       'pretty_version' => '1.0.4', | ||||
|       'version' => '1.0.4.0', | ||||
|       'aliases' =>  | ||||
|       array ( | ||||
|       ), | ||||
|       'reference' => '121ef82c57a556301265cbd1032d28619235e488', | ||||
|     'versions' => array( | ||||
|         'codeinwp/gutenberg-menu-icons' => array( | ||||
|             'pretty_version' => '1.0.4', | ||||
|             'version' => '1.0.4.0', | ||||
|             'type' => 'library', | ||||
|             'install_path' => __DIR__ . '/../codeinwp/gutenberg-menu-icons', | ||||
|             'aliases' => array(), | ||||
|             'reference' => '121ef82c57a556301265cbd1032d28619235e488', | ||||
|             'dev_requirement' => false, | ||||
|         ), | ||||
|         'codeinwp/icon-picker' => array( | ||||
|             'pretty_version' => 'dev-master', | ||||
|             'version' => 'dev-master', | ||||
|             'type' => 'wordpress-plugin', | ||||
|             'install_path' => __DIR__ . '/../codeinwp/icon-picker', | ||||
|             'aliases' => array( | ||||
|                 0 => '9999999-dev', | ||||
|             ), | ||||
|             'reference' => '0c60ce3a41653e41a20e710c4d5a6a2104c85020', | ||||
|             'dev_requirement' => false, | ||||
|         ), | ||||
|         'codeinwp/menu-item-custom-fields' => array( | ||||
|             'pretty_version' => 'dev-master', | ||||
|             'version' => 'dev-master', | ||||
|             'type' => 'wordpress-plugin', | ||||
|             'install_path' => __DIR__ . '/../codeinwp/menu-item-custom-fields', | ||||
|             'aliases' => array( | ||||
|                 0 => '9999999-dev', | ||||
|             ), | ||||
|             'reference' => 'f491fcfa873e92006e3d92a4ede8775e9cf53bae', | ||||
|             'dev_requirement' => false, | ||||
|         ), | ||||
|         'codeinwp/themeisle-sdk' => array( | ||||
|             'pretty_version' => 'dev-master', | ||||
|             'version' => 'dev-master', | ||||
|             'type' => 'library', | ||||
|             'install_path' => __DIR__ . '/../codeinwp/themeisle-sdk', | ||||
|             'aliases' => array( | ||||
|                 0 => '9999999-dev', | ||||
|             ), | ||||
|             'reference' => '24668ab249d8fb6596cc908c323205648aad0ed8', | ||||
|             'dev_requirement' => false, | ||||
|         ), | ||||
|         'codeinwp/wp-menu-icons' => array( | ||||
|             'pretty_version' => 'v0.12.9', | ||||
|             'version' => '0.12.9.0', | ||||
|             'type' => 'wordpress-plugin', | ||||
|             'install_path' => __DIR__ . '/../../', | ||||
|             'aliases' => array(), | ||||
|             'reference' => 'a079c9e25ea5c0cf535b63ad6c3dfe5b1dd01a36', | ||||
|             'dev_requirement' => false, | ||||
|         ), | ||||
|         'composer/installers' => array( | ||||
|             'dev_requirement' => false, | ||||
|             'replaced' => array( | ||||
|                 0 => '*', | ||||
|             ), | ||||
|         ), | ||||
|     ), | ||||
|     'codeinwp/icon-picker' =>  | ||||
|     array ( | ||||
|       'pretty_version' => 'dev-master', | ||||
|       'version' => 'dev-master', | ||||
|       'aliases' =>  | ||||
|       array ( | ||||
|         0 => '9999999-dev', | ||||
|       ), | ||||
|       'reference' => '0c60ce3a41653e41a20e710c4d5a6a2104c85020', | ||||
|     ), | ||||
|     'codeinwp/menu-item-custom-fields' =>  | ||||
|     array ( | ||||
|       'pretty_version' => 'dev-master', | ||||
|       'version' => 'dev-master', | ||||
|       'aliases' =>  | ||||
|       array ( | ||||
|         0 => '9999999-dev', | ||||
|       ), | ||||
|       'reference' => 'f491fcfa873e92006e3d92a4ede8775e9cf53bae', | ||||
|     ), | ||||
|     'codeinwp/themeisle-sdk' =>  | ||||
|     array ( | ||||
|       'pretty_version' => 'dev-master', | ||||
|       'version' => 'dev-master', | ||||
|       'aliases' =>  | ||||
|       array ( | ||||
|         0 => '9999999-dev', | ||||
|       ), | ||||
|       'reference' => '24668ab249d8fb6596cc908c323205648aad0ed8', | ||||
|     ), | ||||
|     'codeinwp/wp-menu-icons' =>  | ||||
|     array ( | ||||
|       'pretty_version' => 'v0.12.8', | ||||
|       'version' => '0.12.8.0', | ||||
|       'aliases' =>  | ||||
|       array ( | ||||
|       ), | ||||
|       'reference' => 'f61cb2a3f967814d168c9a2a7725bbad1d26859a', | ||||
|     ), | ||||
|     'composer/installers' =>  | ||||
|     array ( | ||||
|       'replaced' =>  | ||||
|       array ( | ||||
|         0 => '*', | ||||
|       ), | ||||
|     ), | ||||
|   ), | ||||
| ); | ||||
|  | ||||
		Reference in New Issue
	
	Block a user