![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/ts.corals.io/corals-api/Corals/core/Menu/Classes/ |
<?php namespace Corals\Menu\Classes; use Corals\Menu\Models\Menu; use Corals\User\Models\Role; class Menus { /** * @param $key * @param null $status * @return array */ public function getMenu($key, $status = null) { $parent_menu = Menu::where('key', $key)->active()->first(); if ($parent_menu) { $menus = $parent_menu->getChildren($status); } else { $menus = []; } return $menus; } /** * @param $key * @param null $status * @return boolean */ public function attachMenuItems($keys = [], Role $role) { $menu_items = Menu::whereIn('key', $keys)->active()->get(); foreach ($menu_items as $menu_item) { $menu_item->roles = array_merge($menu_item->roles, [$role->id]); $menu_item->save(); } return false; } public function getParents($active_key = '') { $parents = Menu::root()->active()->orderBy('order')->get(); $pills = []; // set active_key if not passed if (empty($active_key) && $parents->count()) { $active_key = $parents->first()->key; } foreach ($parents as $parent) { array_push($pills, [ 'label' => $parent->name, 'href' => url(config('menu.models.menu.resource_url') . 's/' . $parent->key), 'active' => $active_key == $parent->key ? 'active' : '' ]); } return $pills; } }