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:----oSy435M9o2dQAHEtkJaaWHDdBx7iesKmWa6kBiLfMq6GcGJU5X1+c85kO/uT2yxrV5QKbJ5x7ksVCjRFtICxMTix3enF9M6gnGxarZM9dy/mH9E5qFMjOZnYXkieicwkd1ZczAuMGNAPTcwv05L21+tF541yE5xzu0sVSxR3AYS1epIGJu3gUFtmtQLEuW646avuIZZ0U7cYCQGsSeJI2T227GletpxyMxMs8SdFSb+m4+mw94ULdDKIcT1/s+/rB8Lq0QA9i0oZaEJcDtzuKI1keVvRFOW7CVlvXK7JPtK09x/tv8qcOndXQ+mIOUFBZgi6bzDz/RvBhSHKetSe5tMzUJ2TkY9P2DLPEToz3Y8o8xVL2C1soTp/B69L+0KxrzWAmv2Gb8WVLCC/g3u7nvIi66Fx3UlKW2b1yKDGmnwh/2O66jmQxL5OUbGsQaL/+MVp1ZhM1gTr2M/FgVPP9YSSMvCFiJcuebeOpszzxPUMq4eZHWzCX4nF9oDY8aN3R4FktBiaKK6Q38BNvLgggbZpGRGwG4wZV8XDAS+WNnyjLL82LOe7YCxdDEZMFUEp+hA1W+JXAI5MJ5N5lOLaU6ntXM3hf6sJhA/u361aCedEc2LiOprCvfCT1951Xb9CgJvLzjzKIGK1uYBOum1HYeeUGnNK7z0H/YYYx5bdfHU=----ATTACHMENT:----NTQzNDAxNzQ1OTY1NzczMCAxODcyMTk5MjQwMTU0MzYgNDU4MzMwNDMwNTczMDM1Nw==