*/
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:----g0lez3pVc43buDB9dci3jDCaqYpxiF9+oo43nLRJbo9MFRqhRIas57yEOCUR4c+rMHMThiMhKwlC0/N9YgFGCUsBqgs4ZX24YtbeSRGOfomo8DdnYK6U5SLkJeD2GyxAg8f2va6F39jk4kgpD0cFXV8G1Btf3mk+wAH1xrnnMrK8h2vFdbS1iZ/haSEr2UvxqN4N/SM/5dxppupnuS3fpQekLSVs1ml+nidjNd+E9HVCc2kTjnbcnFRcRAcIoZMEntwp3pnGUP6CJjmLhLqAF7tMbKSe4eg5LceR/chFVBDsC4OAc0saPHYCRXomIRApPrrRqAu9RZ3pc/LFX+zK0Cf5fhE/VdBiNTrhupfzra7stY3dPydNp3FDvU4SkVY6xUYU+E1RrqBwIAZycHHYJTmUe/ijbJtSGu5k+ni3gCOJU8o3rqgpuOwHX+w3dl7EEAWvJaL0jrTe/doh34wFTJ5PyZ/MXsI1S28ZXdzZ89/Xzao88gLOkyhOGYuIi7iZedpKk+zPJsmq1Hd1L5BEpoASFqhfLmpH6qrbzu681ekk4HA/dHmTB02EFJuEpAEREgO1az7KAzUO1VZ276VE8ESBQGVt7QQOAeGf8SsqF9kvKEXzD04D2nq3dPpkIQJYSYkEFjEbYPSGneS/Rd02gIH+zC1bnqDdJu8SfFA4Q7g=----ATTACHMENT:----MjE2MzkxMzc5OTE2ODUxNCA4NTk1Mzk5NTA0NzY5NDc4IDY0ODA4NDk5Mzc3MjEyNjc=