/** * @param Bundle $newBundle * @return string */ public function isRegisteredBundle(Bundle $newBundle) { /** @var Bundle $registeredBundle */ $registeredBundle = $this->em->getRepository('CampaignChainCoreBundle:Bundle')->findOneByName($newBundle->getName()); if (!$registeredBundle) { // This case covers development of modules. return Installer::STATUS_REGISTERED_NO; } /* * Checking for dev-* ensures that the status is being registered * properly not just for dev-master, but also for branches (e.g. * dev-campaignchain-42). */ if (substr($registeredBundle->getVersion(), 0, 4) === "dev-" && substr($newBundle->getVersion(), 0, 4) === "dev-") { return Installer::STATUS_REGISTERED_OLDER; } // Bundle with same version is already registered. if (version_compare($registeredBundle->getVersion(), $newBundle->getVersion(), '==')) { return Installer::STATUS_REGISTERED_SAME; } // Bundle with older version is already registered. return Installer::STATUS_REGISTERED_OLDER; }