PATH:
home
/
centosnipponia
/
public_html
/
apptt-oldgit
/
vendor
/
jeroennoten
/
laravel-adminlte
/
src
<?php namespace JeroenNoten\LaravelAdminLte; use Illuminate\Contracts\Container\Container; use Illuminate\Contracts\Events\Dispatcher; use JeroenNoten\LaravelAdminLte\Events\BuildingMenu; use JeroenNoten\LaravelAdminLte\Helpers\LayoutHelper; use JeroenNoten\LaravelAdminLte\Helpers\NavbarItemHelper; use JeroenNoten\LaravelAdminLte\Helpers\SidebarItemHelper; use JeroenNoten\LaravelAdminLte\Menu\Builder; class AdminLte { /** * The array of menu items. * * @var array */ protected $menu; /** * The array of menu filters. These filters will apply on each one of the * menu items in order to transforms they in some way. * * @var array */ protected $filters; /** * The events dispatcher. * * @var Dispatcher */ protected $events; /** * The application service container. * * @var Container */ protected $container; /** * Map between a valid menu filter token and his respective filter method. * These filters are intended to get a specific set of menu items. * * @var array */ protected $menuFilterMap; /** * Constructor. * * @param array $filters * @param Dispatcher $events * @param Container $container */ public function __construct(array $filters, Dispatcher $events, Container $container) { $this->filters = $filters; $this->events = $events; $this->container = $container; // Fill the map of filters methods. $this->menuFilterMap = [ 'sidebar' => [$this, 'sidebarFilter'], 'navbar-left' => [$this, 'navbarLeftFilter'], 'navbar-right' => [$this, 'navbarRightFilter'], 'navbar-user' => [$this, 'navbarUserMenuFilter'], ]; } /** * Get all the menu items, or a specific set of these. * * @param string $filterToken Token representing a subset of the menu items * @return array A set of menu items */ public function menu($filterToken = null) { if (empty($this->menu)) { $this->menu = $this->buildMenu(); } // Check for filter token. if (isset($this->menuFilterMap[$filterToken])) { return array_filter( $this->menu, $this->menuFilterMap[$filterToken] ); } // No filter token provided, return the complete menu. return $this->menu; } /** * Build the menu. * * @return array The set of menu items */ protected function buildMenu() { // Create the menu builder instance. $builder = new Builder($this->buildFilters()); // Dispatch the BuildingMenu event. Listeners of this event will fill // the menu. $this->events->dispatch(new BuildingMenu($builder)); // Return the set of menu items. return $builder->menu; } /** * Build the menu filters. * * @return array The set of filters that will apply on each menu item */ protected function buildFilters() { return array_map([$this->container, 'make'], $this->filters); } /** * Filter method used to get the sidebar menu items. * * @param mixed $item A menu item * @return bool */ private function sidebarFilter($item) { return SidebarItemHelper::isValidItem($item); } /** * Filter method used to get the top navbar left menu items. * * @param mixed $item A menu item * @return bool */ private function navbarLeftFilter($item) { if (LayoutHelper::isLayoutTopnavEnabled() && SidebarItemHelper::isValidItem($item)) { return NavbarItemHelper::isAcceptedItem($item); } return NavbarItemHelper::isValidLeftItem($item); } /** * Filter method used to get the top navbar right menu items. * * @param mixed $item A menu item * @return bool */ private function navbarRightFilter($item) { return NavbarItemHelper::isValidRightItem($item); } /** * Filter method used to get the navbar user menu items. * * @param mixed $item A menu item * @return bool */ private function navbarUserMenuFilter($item) { return NavbarItemHelper::isValidUserMenuItem($item); } }
[+]
..
[-] AdminLte.php
[edit]
[-] AdminLteServiceProvider.php
[edit]
[+]
Console
[+]
Events
[+]
Helpers
[+]
Http
[+]
Menu
[+]
View
[-] .htaccess.disabled
[edit]