]> _ Git - cubist_cms-back.git/commitdiff
#2843
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Thu, 4 Jul 2019 10:23:03 +0000 (12:23 +0200)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Thu, 4 Jul 2019 10:23:03 +0000 (12:23 +0200)
composer.json
src/app/Magic/CubistMenu.php [deleted file]
src/app/Magic/Menu/Facade.php [new file with mode: 0644]
src/app/Magic/Menu/Menu.php [new file with mode: 0644]

index 9b3d05ce21ce06582cac9a20a44aaa64b07e256c..abc913199880883f5e71d4f6c92dee844bcbb339 100644 (file)
@@ -50,7 +50,7 @@
                 "Cubist\\Backpack\\CubistBackpackServiceProvider"
             ],
             "aliases": {
-                "CubistMenu": "Cubist\\Backpack\\App\\CubistMenu",
+                "CubistMenu": "Cubist\\Backpack\\App\\Magic\\Menu\\Facade",
                 "Markdown": "Illuminate\\Mail\\Markdown"
             }
         }
diff --git a/src/app/Magic/CubistMenu.php b/src/app/Magic/CubistMenu.php
deleted file mode 100644 (file)
index c6e788d..0000000
+++ /dev/null
@@ -1,99 +0,0 @@
-<?php
-
-namespace Cubist\Backpack\app\Magic;
-
-use Cubist\Backpack\app\Magic\Models\CMSPage;
-use Lavary\Menu\Menu;
-
-class CubistMenu extends Menu
-{
-    public function get($key)
-    {
-        if (!$this->exists($key)) {
-            $this->makeAllMenus();
-        }
-        return parent::get($key);
-    }
-
-    public function makeAllMenus()
-    {
-        $tree = CMSPage::getTree();
-        foreach ($tree as $mainKey => $main) {
-            $nav_items = [];
-            foreach ($main['children'] as $name => $item) {
-                $submenus = null;
-
-                $links = [];
-
-                foreach ($item['children'] as $key => $child) {
-                    $links[$child['element']->title] = $child['element']->slug;
-                }
-
-                if (count($links) > 0) {
-                    $submenus = [['links' => $links]];
-                }
-
-                $s = ['url' => $item['element']->slug];
-                if (null !== $submenus) {
-                    $s['submenus'] = $submenus;
-                }
-
-                $nav_items[$item['element']->title] = $s;
-            }
-
-            \Menu::make($mainKey, function ($menu) use ($nav_items) {
-
-                foreach ($nav_items as $nav_label => $nav_item) {
-
-                    $parent = $menu->add($nav_label, $nav_item['url']);
-
-                    // Handle items with submenus
-                    if (isset($nav_item['submenus'])) {
-
-                        foreach ($nav_item['submenus'] as $submenu_data) {
-
-                            // Create an empty sub-element that will serve as a wrapper for the submenu(s)
-                            $wrapper = $parent->raw('')->attr(['class' => 'nav-submenu-wrapper']);
-
-                            // Some submenus have a title element
-                            if (isset($submenu_data['title'])) {
-                                $wrapper->raw($submenu_data['title'])->attr(['class' => 'nav-submenu-title']);
-                            }
-
-                            foreach ($submenu_data['links'] as $label => $url) {
-                                $wrapper->add($label, $url);
-                            }
-                        }
-                    }
-
-                }
-
-            });
-        }
-
-
-        if ($mainKey == '#main') {
-            // Also make a menu for the breadcrumbs - this one is simpler and doesn't have the submenu headings
-            \Menu::make('breadcrumbs', function ($menu) use ($nav_items) {
-
-                // Start with home link
-                $menu = $menu->add('Home', '');
-
-                foreach ($nav_items as $nav_label => $nav_item) {
-
-                    $parent = $menu->add($nav_label, $nav_item['url']);
-
-                    // Handle items with submenus
-                    if (isset($nav_item['submenus'])) {
-
-                        foreach ($nav_item['submenus'] as $submenu_data) {
-                            foreach ($submenu_data['links'] as $label => $url) {
-                                $parent->add($label, $url);
-                            }
-                        }
-                    }
-                }
-            });
-        }
-    }
-}
diff --git a/src/app/Magic/Menu/Facade.php b/src/app/Magic/Menu/Facade.php
new file mode 100644 (file)
index 0000000..c0c5c1f
--- /dev/null
@@ -0,0 +1,15 @@
+<?php
+
+
+namespace app\Magic\Menu;
+
+use Cubist\Backpack\app\Magic\Menu\Menu;
+use \Illuminate\Support\Facades\Facade as BaseFacade;
+
+class Facade extends BaseFacade
+{
+    protected static function getFacadeAccessor()
+    {
+        return Menu::class;
+    }
+}
diff --git a/src/app/Magic/Menu/Menu.php b/src/app/Magic/Menu/Menu.php
new file mode 100644 (file)
index 0000000..3ebecc5
--- /dev/null
@@ -0,0 +1,99 @@
+<?php
+
+namespace Cubist\Backpack\app\Magic\Menu;
+
+use Cubist\Backpack\app\Magic\Models\CMSPage;
+use Lavary\Menu\Menu as BaseMenu;
+
+class Menu extends BaseMenu
+{
+    public function get($key)
+    {
+        if (!$this->exists($key)) {
+            $this->makeAllMenus();
+        }
+        return parent::get($key);
+    }
+
+    public function makeAllMenus()
+    {
+        $tree = CMSPage::getTree();
+        foreach ($tree as $mainKey => $main) {
+            $nav_items = [];
+            foreach ($main['children'] as $name => $item) {
+                $submenus = null;
+
+                $links = [];
+
+                foreach ($item['children'] as $key => $child) {
+                    $links[$child['element']->title] = $child['element']->slug;
+                }
+
+                if (count($links) > 0) {
+                    $submenus = [['links' => $links]];
+                }
+
+                $s = ['url' => $item['element']->slug];
+                if (null !== $submenus) {
+                    $s['submenus'] = $submenus;
+                }
+
+                $nav_items[$item['element']->title] = $s;
+            }
+
+            \Menu::make($mainKey, function ($menu) use ($nav_items) {
+
+                foreach ($nav_items as $nav_label => $nav_item) {
+
+                    $parent = $menu->add($nav_label, $nav_item['url']);
+
+                    // Handle items with submenus
+                    if (isset($nav_item['submenus'])) {
+
+                        foreach ($nav_item['submenus'] as $submenu_data) {
+
+                            // Create an empty sub-element that will serve as a wrapper for the submenu(s)
+                            $wrapper = $parent->raw('')->attr(['class' => 'nav-submenu-wrapper']);
+
+                            // Some submenus have a title element
+                            if (isset($submenu_data['title'])) {
+                                $wrapper->raw($submenu_data['title'])->attr(['class' => 'nav-submenu-title']);
+                            }
+
+                            foreach ($submenu_data['links'] as $label => $url) {
+                                $wrapper->add($label, $url);
+                            }
+                        }
+                    }
+
+                }
+
+            });
+        }
+
+
+        if ($mainKey == '#main') {
+            // Also make a menu for the breadcrumbs - this one is simpler and doesn't have the submenu headings
+            \Menu::make('breadcrumbs', function ($menu) use ($nav_items) {
+
+                // Start with home link
+                $menu = $menu->add('Home', '');
+
+                foreach ($nav_items as $nav_label => $nav_item) {
+
+                    $parent = $menu->add($nav_label, $nav_item['url']);
+
+                    // Handle items with submenus
+                    if (isset($nav_item['submenus'])) {
+
+                        foreach ($nav_item['submenus'] as $submenu_data) {
+                            foreach ($submenu_data['links'] as $label => $url) {
+                                $parent->add($label, $url);
+                            }
+                        }
+                    }
+                }
+            });
+        }
+    }
+}