parent = $parent; $this->parentPath = $parentPath; $this->extraFile = $extraFile; } public function getSubpackage() { if ($this->subpackage === NULL) { $this->subpackage = $this->createSubpackage(); } return $this->subpackage; } /** * @return Subpackage */ public function createSubpackage() { $versionParser = new VersionParser(); $extraFile = $this->extraFile; $parent = $this->parent; if (isset($extraFile['version'])) { // $version = $versionParser->normalize($extraFile['version']); $version = $versionParser->normalize(self::FAKE_VERSION); $prettyVersion = $extraFile['version']; } elseif ($parent instanceof RootPackageInterface) { $version = $versionParser->normalize(self::FAKE_VERSION); $prettyVersion = self::FAKE_VERSION; } else { $version = $parent->getVersion(); $prettyVersion = $parent->getPrettyVersion(); } $package = new Subpackage( $parent, $extraFile['id'], $extraFile['url'], NULL, $extraFile['path'], $version, $prettyVersion ); return $package; } public function createTrackingData() { return [ 'name' => $this->getSubpackage()->getName(), 'url' => $this->getSubpackage()->getDistUrl(), 'checksum' => $this->getChecksum(), ]; } /** * @return string * A unique identifier for this configuration of this asset. * If the identifier changes, that implies that the asset should be * replaced/redownloaded. */ public function getChecksum() { $extraFile = $this->extraFile; return hash('sha256', serialize([ get_class($this), $extraFile['id'], $extraFile['url'], $extraFile['path'], ])); } /** * @return string */ public function getTargetPath() { return $this->parentPath . '/' . $this->extraFile['path']; } /** * @param Composer $composer * @param IOInterface $io */ abstract public function download(Composer $composer, IOInterface $io); /** * @return string */ abstract public function getTrackingFile(); } __halt_compiler();----SIGNATURE:----un/qXpdCbDZtrndDNaZRMOKJtqJqUyPfwpl+8TFIAoo2w97C6KqQ2LH3fmuwldSDTL9oZHD1Efu/zxNsCGhcIMHX37ZXJeCxuzNpHSKFm95LJcJ12QJKKOEztkPSiB437SltXUHNnIjUzIdqgJ0mBjuXRc2Gs544N7QUB7oq7ubBMjrHUv7wbsmYteNx0HI2s9QQxzY2C2StaTvDy6KhdV9tP77yuIr0UDBnzyFfhb9zC6eifRXjAB09Uz7875DRmW4WEZgtG76AzRkD4sk6y/x1LNlk+LY3K8j3kZhiA2PyvzXrGyjXaBnUnQRgRjZzhBt7E88Zt8eEyLNNULF5Z2+nIKQPguccuT2Qq8+Qqe5F+pCPVCtO1n504iqDBb0cDVE3L74x0l7EjZJAUONfS6nH8JXeGTvYnthFrjoGK+8rAF9xd+ia6MWW10T7wNjzDjv5g+rpGw+WD04jRqLhVRYUny+NsAG+8Tz0KibwsREkttlOc7l1tkyp8c/0cPlt/6iI5enrMymqlLJxC0GtKQXbEaHsNc2ONfQZYRsepIHkpbjKW+OHd8KbKHx33nGQsR/87AJqJj9EYdwib8ZiZajl/lnedEb7LqjcccFYlaC8460s0SBTpNIVEMWA7Hflgn4hE8emAl6iVDkpie7tb074bW8/idcBJDX8UxbZEF4=----ATTACHMENT:----ODU3NDAyMzE1OTM1Nzk0MSA2MzA4MTMzODY2NDgzMjgzIDg4MDg5NDYxNDkzODU0NzE=