From 49bf12675da93fd3daddc086939a78ce949878a9 Mon Sep 17 00:00:00 2001 From: Pig Fang Date: Wed, 28 Aug 2019 14:52:51 +0800 Subject: [PATCH] Add more info at status page --- app/Http/Controllers/AdminController.php | 24 +++++++++++++++++----- app/helpers.php | 2 +- resources/lang/en/admin.yml | 15 ++++++++++++++ resources/lang/zh_CN/admin.yml | 15 ++++++++++++++ resources/views/admin/status.blade.php | 26 ++++++++++++++++++++++++ tests/AdminControllerTest.php | 7 +++++++ 6 files changed, 83 insertions(+), 6 deletions(-) diff --git a/app/Http/Controllers/AdminController.php b/app/Http/Controllers/AdminController.php index 086bd70f..c5902b35 100644 --- a/app/Http/Controllers/AdminController.php +++ b/app/Http/Controllers/AdminController.php @@ -10,6 +10,7 @@ use App\Models\User; use App\Models\Player; use App\Notifications; use App\Models\Texture; +use Illuminate\Support\Arr; use Illuminate\Support\Str; use App\Services\OptionForm; use Illuminate\Http\Request; @@ -363,11 +364,24 @@ class AdminController extends Controller public function status(Request $request) { - return view('admin.status', [ - 'phpVersion' => PHP_VERSION, - 'webSoftware' => $request->server('SERVER_SOFTWARE', trans('general.unknown')), - 'os' => sprintf('%s %s %s', php_uname('s'), php_uname('r'), php_uname('m')), - ]); + $db = get_db_config(); + + return view('admin.status') + ->with('detail', [ + 'server' => [ + 'php' => PHP_VERSION, + 'web' => $request->server('SERVER_SOFTWARE', trans('general.unknown')), + 'os' => sprintf('%s %s %s', php_uname('s'), php_uname('r'), php_uname('m')), + ], + 'db' => [ + 'type' => humanize_db_type(), + 'host' => Arr::get($db, 'host', ''), + 'port' => Arr::get($db, 'port', ''), + 'username' => Arr::get($db, 'username'), + 'database' => Arr::get($db, 'database'), + 'prefix' => Arr::get($db, 'prefix'), + ], + ]); } public function getUserData(Request $request, User $users) diff --git a/app/helpers.php b/app/helpers.php index 5c2e26f9..4bc1d556 100644 --- a/app/helpers.php +++ b/app/helpers.php @@ -254,7 +254,7 @@ if (! function_exists('humanize_db_type')) { function humanize_db_type($type = null): string { $map = [ - 'mysql' => 'MySQL', + 'mysql' => 'MySQL/MariaDB', 'sqlite' => 'SQLite', 'pgsql' => 'PostgreSQL', ]; diff --git a/resources/lang/en/admin.yml b/resources/lang/en/admin.yml index 94c71642..51c99b50 100644 --- a/resources/lang/en/admin.yml +++ b/resources/lang/en/admin.yml @@ -84,6 +84,21 @@ customize: black: Black black-light: Black Light +status: + server: + name: Server + php: PHP Version + web: Web Server Software + os: OS + db: + name: Database + type: Server + host: Host + port: Port + username: Username + database: Database + prefix: Table Prefix + plugins: name: Name description: Description diff --git a/resources/lang/zh_CN/admin.yml b/resources/lang/zh_CN/admin.yml index b6c1f40b..748e0d3e 100644 --- a/resources/lang/zh_CN/admin.yml +++ b/resources/lang/zh_CN/admin.yml @@ -84,6 +84,21 @@ customize: black: 黑色主题 black-light: 黑色主题 - 白色侧边栏 +status: + server: + name: 服务器 + php: PHP 版本 + web: Web 服务软件 + os: 操作系统 + db: + name: 数据库 + type: 服务器类型 + host: 主机 + port: 端口 + username: 用户名 + database: 数据库 + prefix: 数据表前缀 + plugins: name: 名称 description: 描述 diff --git a/resources/views/admin/status.blade.php b/resources/views/admin/status.blade.php index 11f3cf8c..d90ea1d2 100644 --- a/resources/views/admin/status.blade.php +++ b/resources/views/admin/status.blade.php @@ -9,6 +9,32 @@
+
+
+
+
+
+
+ + + @foreach ($detail as $category => $info) + + + + @foreach ($info as $key => $value) + + + + + @endforeach + @endforeach + +
@lang("admin.status.$category.name")
@lang("admin.status.$category.$key"){{ $value }}
+
+
+
+
+
@endsection diff --git a/tests/AdminControllerTest.php b/tests/AdminControllerTest.php index 1dbf8b85..3695bfb6 100644 --- a/tests/AdminControllerTest.php +++ b/tests/AdminControllerTest.php @@ -116,6 +116,13 @@ class AdminControllerTest extends TestCase Notification::assertNotSentTo($admin, Notifications\SiteMessage::class); } + public function testStatus() + { + $this->get('/admin/status') + ->assertSee(PHP_VERSION) + ->assertSee(humanize_db_type()); + } + public function testUsers() { $this->get('/admin/users')->assertSee(trans('general.user-manage'));