|
@@ -26,8 +26,10 @@ class PageController extends BaseController
|
|
|
* @Route("/cms/page/latest/{number}")
|
|
|
*
|
|
|
* @param int $number
|
|
|
+ *
|
|
|
+ * @return Response
|
|
|
*/
|
|
|
- public function getLatestPages($number)
|
|
|
+ public function getLatestPages($number): Response
|
|
|
{
|
|
|
$site = $this->container->get('sonata.page.site.selector')->retrieve();
|
|
|
|
|
@@ -80,50 +82,39 @@ class PageController extends BaseController
|
|
|
'locale' => $request->getLocale(),
|
|
|
'host' => $host,
|
|
|
];
|
|
|
+
|
|
|
$site = $siteManager->findOneBy($criteria);
|
|
|
-
|
|
|
-
|
|
|
- if ($request->getLocale() !== $site->getLocale()) {
|
|
|
-
|
|
|
- $siteManager = $container->get('sonata.page.manager.site');
|
|
|
- $host = $request->getHost();
|
|
|
- $criteria = [
|
|
|
- 'locale' => $request->getLocale(),
|
|
|
- 'host' => $host,
|
|
|
- ];
|
|
|
- $site = $siteManager->findOneBy($criteria);
|
|
|
- if (!$site) {
|
|
|
-
|
|
|
- $site = $siteManager->create();
|
|
|
- $site->setHost($host);
|
|
|
- $site->setEnabled(true);
|
|
|
- $site->setName($host.' in language '.$request->getLocale());
|
|
|
- $site->setEnabledFrom(new \DateTime('now'));
|
|
|
- $site->setEnabledTo(new \DateTime('+20 years'));
|
|
|
- $site->setRelativePath('');
|
|
|
- $site->setIsDefault(false);
|
|
|
- $site->setLocale($request->getLocale());
|
|
|
- $site = $siteManager->save($site);
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- $pageManager = $container->get('sonata.page.manager.page');
|
|
|
-
|
|
|
- $page = $pageManager->create();
|
|
|
- $page->setSlug('homepage');
|
|
|
- $page->setUrl('/');
|
|
|
- $page->setName('homepage');
|
|
|
- $page->setTitle('home');
|
|
|
- $page->setEnabled(true);
|
|
|
- $page->setDecorate(1);
|
|
|
- $page->setRequestMethod('GET|POST|HEAD|DELETE|PUT');
|
|
|
- $page->setTemplateCode('default');
|
|
|
- $page->setRouteName('homepage');
|
|
|
-
|
|
|
- $page->setSite($site);
|
|
|
- $pageManager->save($page);
|
|
|
- }
|
|
|
+
|
|
|
+ if (!$site || ($site && ($request->getLocale() !== $site->getLocale()))) {
|
|
|
+
|
|
|
+ $site = $siteManager->create();
|
|
|
+ $site->setHost($host);
|
|
|
+ $site->setEnabled(true);
|
|
|
+ $site->setName($host.' in language '.$request->getLocale());
|
|
|
+ $site->setEnabledFrom(new \DateTime('now'));
|
|
|
+ $site->setEnabledTo(new \DateTime('+20 years'));
|
|
|
+ $site->setRelativePath('');
|
|
|
+ $site->setIsDefault(false);
|
|
|
+ $site->setLocale($request->getLocale());
|
|
|
+ $site = $siteManager->save($site);
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ $pageManager = $container->get('sonata.page.manager.page');
|
|
|
+
|
|
|
+ $page = $pageManager->create();
|
|
|
+ $page->setSlug('homepage');
|
|
|
+ $page->setUrl('/');
|
|
|
+ $page->setName('homepage');
|
|
|
+ $page->setTitle('home');
|
|
|
+ $page->setEnabled(true);
|
|
|
+ $page->setDecorate(1);
|
|
|
+ $page->setRequestMethod('GET|POST|HEAD|DELETE|PUT');
|
|
|
+ $page->setTemplateCode('default');
|
|
|
+ $page->setRouteName('homepage');
|
|
|
+
|
|
|
+ $page->setSite($site);
|
|
|
+ $pageManager->save($page);
|
|
|
}
|
|
|
|
|
|
$em = $this->getDoctrine()->getManager();
|