From 5cf0c99e32ea90e807e8025e72fead8747e47870 Mon Sep 17 00:00:00 2001 From: Zero <john.royer@gmail.com> Date: Fri, 27 Aug 2021 12:18:50 +0800 Subject: [PATCH 1/5] Add IP column --- ...1_044614_add_column_ip_into_activities.php | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 database/migrations/2021_08_21_044614_add_column_ip_into_activities.php diff --git a/database/migrations/2021_08_21_044614_add_column_ip_into_activities.php b/database/migrations/2021_08_21_044614_add_column_ip_into_activities.php new file mode 100644 index 000000000..97cc2c039 --- /dev/null +++ b/database/migrations/2021_08_21_044614_add_column_ip_into_activities.php @@ -0,0 +1,35 @@ +<?php + +use Illuminate\Database\Migrations\Migration; +use Illuminate\Database\Schema\Blueprint; +use Illuminate\Support\Facades\Schema; + +class AddColumnIpIntoActivities extends Migration +{ + /** + * Run the migrations. + * + * @return void + */ + public function up() + { + Schema::table('activities', function (Blueprint $table) { + $table->string('ip', 45)->after('user_id'); + + $table->index(['ip'], 'user_ip_idx'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('activities', function (Blueprint $table) { + $table->dropIndex('user_ip_idx'); + $table->dropColumn('ip'); + }); + } +} From 8efaeb068b89de5181e38368fe592fbd555d07be Mon Sep 17 00:00:00 2001 From: Zero <john.royer@gmail.com> Date: Fri, 27 Aug 2021 12:42:02 +0800 Subject: [PATCH 2/5] Save user IP to audit log --- app/Actions/ActivityService.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/Actions/ActivityService.php b/app/Actions/ActivityService.php index dce7dc7b2..87cb075ae 100644 --- a/app/Actions/ActivityService.php +++ b/app/Actions/ActivityService.php @@ -11,6 +11,7 @@ use BookStack\Interfaces\Loggable; use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Relations\Relation; use Illuminate\Support\Facades\Log; +use Illuminate\Support\Facades\Request; class ActivityService { @@ -58,6 +59,7 @@ class ActivityService return $this->activity->newInstance()->forceFill([ 'type' => strtolower($type), 'user_id' => user()->id, + 'ip' => Request::ip(), ]); } From b834f58e87b56e34799df5456636c4d88c37486c Mon Sep 17 00:00:00 2001 From: Zero <john.royer@gmail.com> Date: Fri, 27 Aug 2021 12:53:47 +0800 Subject: [PATCH 3/5] Add user IP into audit table --- resources/views/settings/audit.blade.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/resources/views/settings/audit.blade.php b/resources/views/settings/audit.blade.php index 7a66cc3f3..b1de77567 100644 --- a/resources/views/settings/audit.blade.php +++ b/resources/views/settings/audit.blade.php @@ -62,6 +62,7 @@ <a href="{{ sortUrl('/settings/audit', $listDetails, ['sort' => 'key']) }}">{{ trans('settings.audit_table_event') }}</a> </th> <th>{{ trans('settings.audit_table_related') }}</th> + <th>{{ trans('settings.audit_table_user_ip') }}</th> <th> <a href="{{ sortUrl('/settings/audit', $listDetails, ['sort' => 'created_at']) }}">{{ trans('settings.audit_table_date') }}</a></th> </tr> @@ -88,6 +89,7 @@ <div class="px-m">{{ $activity->detail }}</div> @endif </td> + <td>{{ $activity->ip }}</td> <td>{{ $activity->created_at }}</td> </tr> @endforeach From 64188241393fa8fab4b564a789541705b70ae5a0 Mon Sep 17 00:00:00 2001 From: Zero <john.royer@gmail.com> Date: Fri, 27 Aug 2021 12:54:18 +0800 Subject: [PATCH 4/5] Update translation file --- resources/lang/en/settings.php | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/lang/en/settings.php b/resources/lang/en/settings.php index 4c1ae1345..d4feb2e7c 100755 --- a/resources/lang/en/settings.php +++ b/resources/lang/en/settings.php @@ -117,6 +117,7 @@ return [ 'audit_deleted_item' => 'Deleted Item', 'audit_deleted_item_name' => 'Name: :name', 'audit_table_user' => 'User', + 'audit_table_user_ip' => 'User IP', 'audit_table_event' => 'Event', 'audit_table_related' => 'Related Item or Detail', 'audit_table_date' => 'Activity Date', From c0da5616f3a5805238a48bedb5b011c6cdbc397c Mon Sep 17 00:00:00 2001 From: Zero <john.royer@gmail.com> Date: Thu, 23 Sep 2021 11:07:13 +0800 Subject: [PATCH 5/5] Fix coding style --- app/Actions/ActivityService.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Actions/ActivityService.php b/app/Actions/ActivityService.php index 87cb075ae..b2a4a132f 100644 --- a/app/Actions/ActivityService.php +++ b/app/Actions/ActivityService.php @@ -59,7 +59,7 @@ class ActivityService return $this->activity->newInstance()->forceFill([ 'type' => strtolower($type), 'user_id' => user()->id, - 'ip' => Request::ip(), + 'ip' => Request::ip(), ]); }