]> _ Git - cubist_cms-back.git/commitdiff
wip #3080 @0.5
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Thu, 26 Sep 2019 09:28:53 +0000 (11:28 +0200)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Thu, 26 Sep 2019 09:28:53 +0000 (11:28 +0200)
src/app/Magic/Menu/Menu.php
src/app/Middleware/LocaleSelector.php

index d3cacadc3d327d55482869c051ad59823bf59d41..c47cfce441691255931c21e9bf36e7c54681b7a5 100644 (file)
@@ -4,6 +4,7 @@ namespace Cubist\Backpack\app\Magic\Menu;
 
 use Cubist\Backpack\app\Template\Navigation;
 use Cubist\Backpack\app\Template\Redirection;
+use Illuminate\Support\Facades\App;
 use Lavary\Menu\Menu as BaseMenu;
 use Illuminate\Support\Facades\Cache;
 
@@ -27,7 +28,7 @@ class Menu extends BaseMenu
     public function get($key, $name = self::_STANDARD_PREFIX)
     {
         if ($name) {
-            $key = $name . '_' . $key;
+            $key = $name . '_' . App::getLocale() . '_' . $key;
         }
         if (!$this->exists($key)) {
             $this->makeAllMenus();
@@ -79,7 +80,7 @@ class Menu extends BaseMenu
             }
 
             $href = $page->getHref();
-            if ($href == '#' || $href == 'home') {
+            if ($href === '#' || $href === 'home') {
                 continue;
             }
 
@@ -94,7 +95,7 @@ class Menu extends BaseMenu
 
     public static function internalToHref($url)
     {
-        if (stristr($url, 'internal:')) {
+        if (stripos($url, 'internal:') !== false) {
             $e = explode(':', $url, 2);
             $url = $e[1];
         }
@@ -119,8 +120,9 @@ class Menu extends BaseMenu
             $this->makeStandardMenus($main);
         }
 
+        $key = self::_STANDARD_PREFIX . '_' . App::getLocale() . '_breadcrumbs';
         // Also make a menu for the breadcrumbs - this one is simpler and doesn't have the submenu headings
-        $this->make(self::_STANDARD_PREFIX . '_breadcrumbs', function ($menu) use ($nav) {
+        $this->make($key, function ($menu) use ($nav) {
             // Start with home link
             $menu = $menu->add(__('Accueil'), '');
             $this->_addToBreadcrumbs($nav, $menu);
@@ -129,14 +131,14 @@ class Menu extends BaseMenu
 
     public function makeStandardMenus($item)
     {
-        $this->make(self::_STANDARD_PREFIX . '_' . $item->getName(), function ($menu) use ($item) {
+        $this->make(self::_STANDARD_PREFIX . '_' . App::getLocale() . '_' . $item->getName(), function ($menu) use ($item) {
             $this->makeStandardMenu($menu, $item);
         });
-        $this->make('mobile_' . $item->getName(), function ($menu) use ($item) {
+        $this->make('mobile_' . App::getLocale() . '_' . $item->getName(), function ($menu) use ($item) {
             $this->makeMobileMenu($menu, $item);
         });
         foreach ($this->_registeredMenuMakers as $name => $registeredMenuMaker) {
-            $this->make($name . '_' . $item->getName(), function ($menu) use ($item, $registeredMenuMaker) {
+            $this->make($name . '_' . App::getLocale() . '_' . $item->getName(), function ($menu) use ($item, $registeredMenuMaker) {
                 call_user_func($registeredMenuMaker, $menu, $item);
             });
         }
@@ -186,7 +188,7 @@ class Menu extends BaseMenu
     protected function _addToBreadcrumbs($nav, $menu)
     {
         if ($nav->getTitle() && $nav->isBreadcrumbs()) {
-            if (substr($nav->getBreadcrumbHref(), 0, 1) == '#') {
+            if (strpos($nav->getBreadcrumbHref(), '#') === 0) {
                 $parent = $menu->raw($nav->getTitle());
             } else {
                 $parent = $menu->add($nav->getTitle(), $nav->getBreadcrumbHref());
index bbdc7a3fd147952219184650da7eaf1d68a03950..9c60479f33c2a4fdfbed41b487acbb195b3db8b7 100644 (file)
@@ -21,7 +21,6 @@ class LocaleSelector
             }
         }
 
-
         $selectedLocale = $this->_getLocaleByDomain($request, $locales);
         if (null === $selectedLocale) {
             $selectedLocale = $defaultLocale;
@@ -34,7 +33,6 @@ class LocaleSelector
 
     public function setLocale($locale, $default)
     {
-
         App::setLocale($locale);
         app('translator')->setLocale($locale);
         app('translator')->setFallback($default);