From 8a583424db3116bcc4f443c35c6cf039ed6d5d70 Mon Sep 17 00:00:00 2001 From: 1Day Date: Mon, 27 Dec 2021 08:39:50 +0100 Subject: [PATCH 1/2] Fix --- app/Http/Controllers/ProfileController.php | 35 ++++++++++++++++ resources/views/profile/index.blade.php | 47 +++++++++++++++++----- 2 files changed, 72 insertions(+), 10 deletions(-) diff --git a/app/Http/Controllers/ProfileController.php b/app/Http/Controllers/ProfileController.php index 3ddc1655..50f19d1e 100644 --- a/app/Http/Controllers/ProfileController.php +++ b/app/Http/Controllers/ProfileController.php @@ -2,6 +2,7 @@ namespace App\Http\Controllers; +use App\Classes\Pterodactyl; use App\Models\Configuration; use App\Models\User; use Illuminate\Contracts\View\Factory; @@ -11,6 +12,7 @@ use Illuminate\Http\Request; use Illuminate\Http\Response; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Hash; +use Illuminate\Validation\ValidationException; class ProfileController extends Controller { @@ -53,10 +55,27 @@ class ProfileController extends Controller 'new_password_confirmation' => 'required|same:new_password' ]); + //Update Users Password on Pterodactyl + //Username,Mail,First and Lastname are required aswell + $response = Pterodactyl::client()->patch('/application/users/'.$user->pterodactyl_id, [ + "password" => $request->input('new_password'), + "username" => $request->input('name'), + "first_name" => $request->input('name'), + "last_name" => $request->input('name'), + "email" => $request->input('email'), + + ]); + if ($response->failed()) { + throw ValidationException::withMessages([ + 'pterodactyl_error_message' => $response->toException()->getMessage(), + 'pterodactyl_error_status' => $response->toException()->getCode() + ]); + } //update password $user->update([ 'password' => Hash::make($request->input('new_password')), ]); + } //validate request @@ -80,11 +99,27 @@ class ProfileController extends Controller ]); } + //update name and email on Pterodactyl + $response = Pterodactyl::client()->patch('/application/users/'.$user->pterodactyl_id, [ + "username" => $request->input('name'), + "first_name" => $request->input('name'), + "last_name" => $request->input('name'), + "email" => $request->input('email'), + ]); + + if ($response->failed()) { + throw ValidationException::withMessages([ + 'pterodactyl_error_message' => $response->toException()->getMessage(), + 'pterodactyl_error_status' => $response->toException()->getCode() + ]); + } + //update name and email $user->update([ 'name' => $request->input('name'), 'email' => $request->input('email'), ]); + $user->sendEmailVerificationNotification(); return redirect()->route('profile.index')->with('success' , __('Profile updated')); } diff --git a/resources/views/profile/index.blade.php b/resources/views/profile/index.blade.php index 3a02f5b8..3bc69bca 100644 --- a/resources/views/profile/index.blade.php +++ b/resources/views/profile/index.blade.php @@ -11,7 +11,8 @@
@@ -28,9 +29,12 @@
@if(!Auth::user()->hasVerifiedEmail() && strtolower($force_email_verification) == 'true')
-
{{__('Required Email verification!')}}
+
{{__('Required Email verification!')}} +
{{__('You have not yet verified your email address')}} - {{__('Click here to resend verification email')}}
+ {{__('Click here to resend verification email')}} +
{{__('Please contact support If you didnt receive your verification email.')}}
@endif @@ -38,14 +42,19 @@ @if(is_null(Auth::user()->discordUser) && strtolower($force_discord_verification) == 'true') @if(!empty(env('DISCORD_CLIENT_ID')) && !empty(env('DISCORD_CLIENT_SECRET')))
-
{{__('Required Discord verification!')}}
+
+ {{__('Required Discord verification!')}} +
{{__('You have not yet verified your discord account')}} - {{__('Login with discord')}}
+ {{__('Login with discord')}}
{{__('Please contact support If you face any issues.')}}
@else
-
{{__('Required Discord verification!')}}
+
+ {{__('Required Discord verification!')}} +
{{__('Due to system settings you are required to verify your discord account!')}}
{{__('It looks like this hasnt been set-up correctly! Please contact support.')}}'
@@ -99,7 +108,8 @@
@@ -108,6 +118,20 @@
+ @if( $errors->has('pterodactyl_error_message') ) + @foreach( $errors->get('pterodactyl_error_message') as $err ) + + {{ $err }} + + @endforeach + @endif + @if( $errors->has('pterodactyl_error_status') ) + @foreach( $errors->get('pterodactyl_error_status') as $err ) + + {{ $err }} + + @endforeach + @endif
{{__('Change Password')}}
-
+ @@ -173,7 +198,8 @@
-
+
+
- +
From b72009aa840cc64b6e6104f5686f8eeb6d200b05 Mon Sep 17 00:00:00 2001 From: 1Day Date: Mon, 27 Dec 2021 09:10:38 +0100 Subject: [PATCH 2/2] Added API Route --- app/Http/Controllers/Api/UserController.php | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/Api/UserController.php b/app/Http/Controllers/Api/UserController.php index 07a7a698..e5fbd571 100644 --- a/app/Http/Controllers/Api/UserController.php +++ b/app/Http/Controllers/Api/UserController.php @@ -88,9 +88,24 @@ class UserController extends Controller "role" => ['sometimes', Rule::in(['admin', 'mod', 'client', 'member'])], ]); - $user->update($request->all()); - event(new UserUpdateCreditsEvent($user)); + + //Update Users Password on Pterodactyl + //Username,Mail,First and Lastname are required aswell + $response = Pterodactyl::client()->patch('/application/users/'.$user->pterodactyl_id, [ + "username" => $request->name, + "first_name" => $request->name, + "last_name" => $request->name, + "email" => $request->email, + + ]); + if ($response->failed()) { + throw ValidationException::withMessages([ + 'pterodactyl_error_message' => $response->toException()->getMessage(), + 'pterodactyl_error_status' => $response->toException()->getCode() + ]); + } + $user->update($request->all()); return $user; }