From e6fedfd2f3586a1d399635285bec5960867b3733 Mon Sep 17 00:00:00 2001 From: printempw Date: Tue, 25 Oct 2016 22:47:50 +0800 Subject: [PATCH] separate config generator as a plugin --- app/Events/ConfigureUserMenu.php | 19 +++ app/Events/ConfigureWebRoutes.php | 20 +++ app/Http/Controllers/UserController.php | 5 - app/Http/Routes/web.php | 1 - app/Providers/RouteServiceProvider.php | 3 + app/Services/Plugin.php | 2 +- app/helpers.php | 2 + config/menu.php | 1 - resources/views/user/config.tpl | 173 ------------------------ 9 files changed, 45 insertions(+), 181 deletions(-) create mode 100644 app/Events/ConfigureUserMenu.php create mode 100644 app/Events/ConfigureWebRoutes.php delete mode 100644 resources/views/user/config.tpl diff --git a/app/Events/ConfigureUserMenu.php b/app/Events/ConfigureUserMenu.php new file mode 100644 index 00000000..653e9acf --- /dev/null +++ b/app/Events/ConfigureUserMenu.php @@ -0,0 +1,19 @@ +menu = &$menu; + } +} diff --git a/app/Events/ConfigureWebRoutes.php b/app/Events/ConfigureWebRoutes.php new file mode 100644 index 00000000..919d2f95 --- /dev/null +++ b/app/Events/ConfigureWebRoutes.php @@ -0,0 +1,20 @@ +router = $router; + } +} diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index f30c742d..c1bab5e8 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -126,11 +126,6 @@ class UserController extends Controller } - public function config() - { - return view('user.config')->with('user', $this->user); - } - /** * Set Avatar for User * diff --git a/app/Http/Routes/web.php b/app/Http/Routes/web.php index c5f94659..fa94df8c 100644 --- a/app/Http/Routes/web.php +++ b/app/Http/Routes/web.php @@ -51,7 +51,6 @@ Route::group(['middleware' => 'auth', 'prefix' => 'user'], function() Route::get ('/profile', 'UserController@profile'); Route::post('/profile', 'UserController@handleProfile'); Route::post('/profile/avatar', 'UserController@setAvatar'); - Route::get ('/config', 'UserController@config'); // Player Route::any ('/player', 'PlayerController@index'); diff --git a/app/Providers/RouteServiceProvider.php b/app/Providers/RouteServiceProvider.php index 573ab7fe..081dee40 100644 --- a/app/Providers/RouteServiceProvider.php +++ b/app/Providers/RouteServiceProvider.php @@ -3,6 +3,7 @@ namespace App\Providers; use Illuminate\Routing\Router; +use App\Events\ConfigureWebRoutes; use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider; class RouteServiceProvider extends ServiceProvider @@ -60,6 +61,8 @@ class RouteServiceProvider extends ServiceProvider ], function ($router) { require app_path('Http/Routes/web.php'); }); + + event(new ConfigureWebRoutes($router)); } /** diff --git a/app/Services/Plugin.php b/app/Services/Plugin.php index 876da0de..5b5abe51 100644 --- a/app/Services/Plugin.php +++ b/app/Services/Plugin.php @@ -133,7 +133,7 @@ class Plugin implements Arrayable public function hasConfigView() { - return file_exists($this->getViewPath('config')); + return Arr::get($this->packageInfo, 'config') != ""; } /** diff --git a/app/helpers.php b/app/helpers.php index cc0ace4d..291398b5 100644 --- a/app/helpers.php +++ b/app/helpers.php @@ -143,6 +143,8 @@ if (! function_exists('bs_menu')) { { $menu = require BASE_DIR."/config/menu.php"; + event(new App\Events\ConfigureUserMenu($menu)); + if (!isset($menu[$type])) { throw new InvalidArgumentException; } diff --git a/config/menu.php b/config/menu.php index 80bc7d07..69622c7a 100644 --- a/config/menu.php +++ b/config/menu.php @@ -12,7 +12,6 @@ $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.generate-config', 'link' => 'user/config', 'icon' => 'fa-book'], ['title' => 'general.profile', 'link' => 'user/profile', 'icon' => 'fa-user'] ); diff --git a/resources/views/user/config.tpl b/resources/views/user/config.tpl deleted file mode 100644 index 2d5c7c0a..00000000 --- a/resources/views/user/config.tpl +++ /dev/null @@ -1,173 +0,0 @@ -@extends('user.master') - -@section('title', trans('general.generate-config')) - -@section('style') - - -@endsection - -@section('content') - - -
- -
-

- {{ trans('general.generate-config') }} - Configuration Generator -

-
- - -
-
-
-
-
-

{{ trans('user.config.mod-requirement') }}

-
-
- {!! trans('user.config.mod-intro') !!} -
-
- -
-
-

{{ trans('general.generate-config') }}

-
-
- - - - - - - - - - - - -
MOD - -
{{ trans('user.config.version') }} - -
-
-
-
-
-
-
-

{{ trans('user.config.config-file') }}

-
-
- -
-{
-    "enable": true,
-    "loadlist": [
-        {
-            "name": "",
-            "type": "CustomSkinAPI",
-            "root": ""
-        },
-        {
-            "name": "Mojang",
-            "type": "MojangAPI"
-        }
-    ]
-}
-
- - - - - - - - - -
-
-
-
- -
-
- -@endsection - -@section('script') - - - -@endsection