public function setDefaultLocale(Locale $defaultLocale) { foreach ($defaultLocale->getSite()->getLocales() as $locale) { $locale->setIsDefault(false); $this->entityManager->persist($locale); } $this->entityManager->flush(); $defaultLocale->setIsDefault(true); $this->entityManager->persist($defaultLocale); $this->entityManager->flush(); }
public function installDefault($locale = null) { if (!$locale) { $locale = Localization::BASE_LOCALE; } $siteConfig = $this->config->get('site'); $defaultSite = array_get($siteConfig, 'default'); $factory = new Factory($this->config); $site = $factory->createEntity(); $site->setSiteHandle(array_get($siteConfig, "sites.{$defaultSite}.handle")); $site->setIsDefault(true); $data = explode('_', $locale); $locale = new Locale(); $locale->setSite($site); $locale->setIsDefault(true); $locale->setLanguage($data[0]); $locale->setCountry($data[1]); $tree = new SiteTree(); $tree->setSiteHomePageID(HOME_CID); $tree->setLocale($locale); $locale->setSiteTree($tree); $site->getLocales()->add($locale); $service = $this->app->make('site/type'); $type = $service->getDefault(); $site->setType($type); $this->entityManager->persist($site); $this->entityManager->flush(); return $site; }