public function createBundle($fullName, $flushEntities = true)
{
if (strpos($fullName, '/')) {
list($ownerName, $bundleName) = explode('/', $fullName);
$findBy = array('ownerName' => $ownerName, 'name' => $bundleName);
} else {
$findBy = array('name' => $fullName);
}
$bundle = $this->findBundleBy($findBy);
if (!$bundle) {
if (!isset($findBy['ownerName'])) {
$bundle = $this->createEmptyBundle($fullName);
} else {
$bundle = $this->createFullBundle($findBy['name'], $findBy['ownerName']);
}
if (!$bundle) {
return false;
}
$this->entityManager->persist($bundle);
if ($flushEntities) {
$this->entityManager->flush();
}
}
return $bundle;
}
/** * Add or update a repo * * @param string $fullName A full repo name like KnpLabs/KnpMenuBundle * @param boolean $updateRepo Whether or not to fetch information * * @return boolean|Bundle */ public function addBundle($fullName, $updateRepo = true) { $bundle = $this->bundleManager->createBundle($fullName); if (!$bundle) { return false; } if ($updateRepo) { $this->updateRepo($bundle); } return $bundle; }