Beispiel #1
0
 /**
  * @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;
 }