diff --git a/app/Http/Routes/web.php b/app/Http/Routes/web.php index cecc1a6c..42a9da53 100644 --- a/app/Http/Routes/web.php +++ b/app/Http/Routes/web.php @@ -98,7 +98,8 @@ Route::group(['middleware' => 'admin', 'prefix' => 'admin'], function () { Route::get('/', 'AdminController@index'); - Route::any('/plugins', 'AdminController@plugins'); + Route::any('/plugins/manage', 'AdminController@plugins'); + Route::any('/customize', 'AdminController@customize'); Route::any('/score', 'AdminController@score'); Route::any('/options', 'AdminController@options'); diff --git a/app/helpers.php b/app/helpers.php index 42fc9f28..62303a73 100644 --- a/app/helpers.php +++ b/app/helpers.php @@ -158,14 +158,28 @@ if (! function_exists('bs_menu')) { throw new InvalidArgumentException; } - $request = App::make('request'); + echo bs_menu_render($menu[$type]); + } - foreach ($menu[$type] as $key => $value) { - echo ($request->is($value['link'])) ? '
  • ' : '
  • '; + function bs_menu_render($data) + { + $content = ""; - echo ' '.trans($value['title']).'
  • '; + foreach ($data as $key => $value) { + $content .= (app('request')->is(@$value['link'])) ? '
  • ' : '
  • '; + + if (isset($value['children'])) { + $content .= ' '.trans($value['title']).''; + // recurse + $content .= ''; + } else { + $content .= ' '.trans($value['title']).''; + } + + $content .= '
  • '; } + return $content; } } diff --git a/config/menu.php b/config/menu.php index db36623f..f0985174 100644 --- a/config/menu.php +++ b/config/menu.php @@ -12,18 +12,21 @@ $menu['user'] = array( ['title' => 'general.dashboard', 'link' => 'user', 'icon' => 'fa-dashboard'], ['title' => 'general.my-closet', 'link' => 'user/closet', 'icon' => 'fa-star'], ['title' => 'general.player-manage', 'link' => 'user/player', 'icon' => 'fa-users'], - ['title' => 'general.profile', 'link' => 'user/profile', 'icon' => 'fa-user'] + ['title' => 'general.profile', 'link' => 'user/profile', 'icon' => 'fa-user'], ); $menu['admin'] = array( ['title' => 'general.dashboard', 'link' => 'admin', 'icon' => 'fa-dashboard'], ['title' => 'general.user-manage', 'link' => 'admin/users', 'icon' => 'fa-users'], ['title' => 'general.player-manage', 'link' => 'admin/players', 'icon' => 'fa-gamepad'], - ['title' => 'general.plugin-manage', 'link' => 'admin/plugins', 'icon' => 'fa-plug'], + ['title' => 'general.plugin-manage', 'icon' => 'fa-plug', 'children' => [ + ['title' => 'general.plugin-market', 'link' => 'admin/plugins/market', 'icon' => 'fa-shopping-bag'], + ['title' => 'general.plugin-installed', 'link' => 'admin/plugins/manage', 'icon' => 'fa-download'], + ]], ['title' => 'general.customize', 'link' => 'admin/customize', 'icon' => 'fa-paint-brush'], ['title' => 'general.score-options', 'link' => 'admin/score', 'icon' => 'fa-credit-card'], ['title' => 'general.options', 'link' => 'admin/options', 'icon' => 'fa-cog'], - ['title' => 'general.check-update', 'link' => 'admin/update', 'icon' => 'fa-arrow-up'] + ['title' => 'general.check-update', 'link' => 'admin/update', 'icon' => 'fa-arrow-up'], ); return $menu; diff --git a/resources/lang/en/general.yml b/resources/lang/en/general.yml index e5901729..72db3cc5 100644 --- a/resources/lang/en/general.yml +++ b/resources/lang/en/general.yml @@ -16,6 +16,8 @@ my-closet: Closet player-manage: Player Manage user-manage: User Manage plugin-manage: Plugin Manage +plugin-market: Plugin Market +plugin-installed: Installed customize: Customize options: Options import-v2: Import Data diff --git a/resources/lang/zh-CN/general.yml b/resources/lang/zh-CN/general.yml index 871b0925..36b615fc 100644 --- a/resources/lang/zh-CN/general.yml +++ b/resources/lang/zh-CN/general.yml @@ -16,6 +16,8 @@ my-closet: 我的衣柜 player-manage: 角色管理 user-manage: 用户管理 plugin-manage: 插件管理 +plugin-market: 插件市场 +plugin-installed: 已安装 customize: 个性化 options: 站点配置 import-v2: 导入数据