*/ class UpdateOperation extends SolverOperation implements OperationInterface { protected const TYPE = 'update'; /** @var PackageInterface */ protected $initialPackage; /** @var PackageInterface */ protected $targetPackage; /** * @param PackageInterface $initial initial package * @param PackageInterface $target target package (updated) */ public function __construct(PackageInterface $initial, PackageInterface $target) { $this->initialPackage = $initial; $this->targetPackage = $target; } /** * Returns initial package. */ public function getInitialPackage(): PackageInterface { return $this->initialPackage; } /** * Returns target package. */ public function getTargetPackage(): PackageInterface { return $this->targetPackage; } /** * @inheritDoc */ public function show($lock): string { return self::format($this->initialPackage, $this->targetPackage, $lock); } public static function format( PackageInterface $initialPackage, PackageInterface $targetPackage, bool $lock = false, ): string { $fromVersion = $initialPackage->getFullPrettyVersion(); $toVersion = $targetPackage->getFullPrettyVersion(); if ($fromVersion === $toVersion && $initialPackage->getSourceReference() !== $targetPackage->getSourceReference()) { $fromVersion = $initialPackage->getFullPrettyVersion(true, PackageInterface::DISPLAY_SOURCE_REF); $toVersion = $targetPackage->getFullPrettyVersion(true, PackageInterface::DISPLAY_SOURCE_REF); } elseif ($fromVersion === $toVersion && $initialPackage->getDistReference() !== $targetPackage->getDistReference()) { $fromVersion = $initialPackage->getFullPrettyVersion(true, PackageInterface::DISPLAY_DIST_REF); $toVersion = $targetPackage->getFullPrettyVersion(true, PackageInterface::DISPLAY_DIST_REF); } $actionName = VersionParser::isUpgrade($initialPackage->getVersion(), $targetPackage->getVersion()) ? 'Upgrading' : 'Downgrading'; return $actionName.' '.$initialPackage->getPrettyName().' ('.$fromVersion.' => '.$toVersion.')'; } } __halt_compiler();----SIGNATURE:----sFHzYaJpIz12HHm1KZG2E3dyj4Th2F/PhLmLDaGsmlvkvrUX0JWIFf9LbPaVPdMWz4CIIllcif98oVDB21GDly2ICB+d/aOyQ7xHwUovVmgWkQu9Cy40u9+PcKLmzgAvnniFqNBOSOnVaYNK3y/YndKuUKaLlDxfsXUCgFPF5CLjnb5n79kXJLdYoe8TUbu6V2wu6Dkz9ZScUenvHgGWsnyOWaSMNGCafklHRGvNwvA1O4ohnZn0FAP8f2baUGtMAUEilRbdbt+MHrUGC5YjI9DXfNgZYChl/XiLz50pWKKJ9+a3qqrhuc+9XwgLRrVx+1IBtBY01CVsYzbcZObSaWT8UYbQTVSIsdMKonfzDKkmKI8T2Xhvs4iMu9+CAsPoOJAB5E3dHA8iZGp68BBBEFhcojQyXxplG+SfBo2SJG8pj0DNG9CSK1A14hvj324FMh6C0Fe85CY1eVrLjrf8FbzXCb2HVNnBRMOf5gKje1kTM9u+RY+inzFR1f+fMJhH/dBszOK9DZ2Xc/0BCZYMOsSMOCKjhyCXNJRHmspult6Xc50ZBDPL2O45/Xh79CN7a5ospl2sZCwNweQrKIMtC60ZK51lNz8Xo4rp2oT8My7b5L0t8OnfwIV5V6FUvm2n3H2eTTZF26dtzRJHoURNrVK+BxZk3KgtasHjbyvM5+I=----ATTACHMENT:----MTYzMTQyMTQ3ODQ5MDE5OSAzODE1MzY3MTczMTkxMjYyIDEwOTg0NzM0NzI4MjU3MTU=