ソースを参照

feat: Added Imprint and Privacy Page & Links

IceToast 2 年 前
コミット
3edff8f6fc

+ 113 - 97
resources/views/auth/login.blade.php

@@ -1,121 +1,137 @@
 @extends('layouts.app')
 
 @section('content')
+
     <body class="hold-transition dark-mode login-page">
-    <div class="login-box">
-        <!-- /.login-logo -->
-        <div class="card card-outline card-primary">
-            <div class="card-header text-center">
-                <a href="{{route('welcome')}}" class="h1"><b class="mr-1">{{config('app.name', 'Laravel')}}</b></a>
-                @if(config("SETTINGS::SYSTEM:ENABLE_LOGIN_LOGO"))
-                <img
-                     src="{{ \Illuminate\Support\Facades\Storage::disk('public')->exists('logo.png')? asset('storage/logo.png'): asset('images/controlpanel_logo.png') }}"
-                     alt="{{ config('app.name', 'Controlpanel.gg') }} Logo"
-                     style="opacity: .8;max-width:100%">
-                @endif
-            </div>
-            <div class="card-body">
-                <p class="login-box-msg">{{__('Sign in to start your session')}}</p>
+        <div class="login-box">
+            <!-- /.login-logo -->
+            <div class="card card-outline card-primary">
+                <div class="card-header text-center">
+                    <a href="{{ route('welcome') }}" class="h1"><b
+                            class="mr-1">{{ config('app.name', 'Laravel') }}</b></a>
+                    @if (config('SETTINGS::SYSTEM:ENABLE_LOGIN_LOGO'))
+                        <img src="{{ \Illuminate\Support\Facades\Storage::disk('public')->exists('logo.png') ? asset('storage/logo.png') : asset('images/controlpanel_logo.png') }}"
+                            alt="{{ config('app.name', 'Controlpanel.gg') }} Logo" style="opacity: .8;max-width:100%">
+                    @endif
+                </div>
+                <div class="card-body">
+                    <p class="login-box-msg">{{ __('Sign in to start your session') }}</p>
 
-                @if (session('message'))
-                    <div class="alert alert-danger">{{ session('message') }}</div>
-                @endif
+                    @if (session('message'))
+                        <div class="alert alert-danger">{{ session('message') }}</div>
+                    @endif
 
-                <form action="{{route('login')}}" method="post">
-                    @csrf
-                    @if(Session::has('error'))
-                        <span class="text-danger" role="alert">
-                                <small><strong>{{Session::get('error')}}</strong></small>
+                    <form action="{{ route('login') }}" method="post">
+                        @csrf
+                        @if (Session::has('error'))
+                            <span class="text-danger" role="alert">
+                                <small><strong>{{ Session::get('error') }}</strong></small>
                             </span>
-                    @endif
+                        @endif
 
-                    <div class="form-group">
-                        <div class="input-group mb-3">
-                            <input type="email" name="email" class="form-control @error('email') is-invalid @enderror" placeholder="{{__('Email')}}">
-                            <div class="input-group-append">
-                                <div class="input-group-text">
-                                    <span class="fas fa-envelope"></span>
+                        <div class="form-group">
+                            <div class="input-group mb-3">
+                                <input type="email" name="email"
+                                    class="form-control @error('email') is-invalid @enderror"
+                                    placeholder="{{ __('Email') }}">
+                                <div class="input-group-append">
+                                    <div class="input-group-text">
+                                        <span class="fas fa-envelope"></span>
+                                    </div>
                                 </div>
-                            </div>
 
+                            </div>
+                            @error('email')
+                                <span class="text-danger" role="alert">
+                                    <small><strong>{{ $message }}</strong></small>
+                                </span>
+                            @enderror
                         </div>
-                        @error('email')
-                        <span class="text-danger" role="alert">
-                                <small><strong>{{ $message }}</strong></small>
-                            </span>
-                        @enderror
-                    </div>
 
-                    <div class="form-group">
-                        <div class="input-group mb-3">
-                            <input type="password" name="password" class="form-control @error('password') is-invalid @enderror"
-                                   placeholder="{{__('Password')}}">
-                            <div class="input-group-append">
-                                <div class="input-group-text">
-                                    <span class="fas fa-lock"></span>
+                        <div class="form-group">
+                            <div class="input-group mb-3">
+                                <input type="password" name="password"
+                                    class="form-control @error('password') is-invalid @enderror"
+                                    placeholder="{{ __('Password') }}">
+                                <div class="input-group-append">
+                                    <div class="input-group-text">
+                                        <span class="fas fa-lock"></span>
+                                    </div>
                                 </div>
-                            </div>
 
+                            </div>
+                            @error('password')
+                                <span class="text-danger" role="alert">
+                                    <small><strong>{{ $message }}</strong></small>
+                                </span>
+                            @enderror
                         </div>
-                        @error('password')
-                        <span class="text-danger" role="alert">
-                                <small><strong>{{ $message }}</strong></small>
-                            </span>
-                        @enderror
-                    </div>
-                    @if (config('SETTINGS::RECAPTCHA:ENABLED') == 'true')
-                    <div class="input-group mb-3">
-                        {!! htmlFormSnippet() !!}
-                        @error('g-recaptcha-response')
-                        <span class="text-danger" role="alert">
-                                <small><strong>{{ $message }}</strong></small>
-                            </span>
-                        @enderror
-                    </div>
-                    @endif
+                        @if (config('SETTINGS::RECAPTCHA:ENABLED') == 'true')
+                            <div class="input-group mb-3">
+                                {!! htmlFormSnippet() !!}
+                                @error('g-recaptcha-response')
+                                    <span class="text-danger" role="alert">
+                                        <small><strong>{{ $message }}</strong></small>
+                                    </span>
+                                @enderror
+                            </div>
+                        @endif
 
-                    <div class="row">
-                        <div class="col-8">
-                            <div class="icheck-primary">
-                                <input type="checkbox" name="remember" id="remember" {{ old('remember') ? 'checked' : '' }}>
-                                <label for="remember">
-                                    {{__('Remember Me')}}
-                                </label>
+                        <div class="row">
+                            <div class="col-8">
+                                <div class="icheck-primary">
+                                    <input type="checkbox" name="remember" id="remember"
+                                        {{ old('remember') ? 'checked' : '' }}>
+                                    <label for="remember">
+                                        {{ __('Remember Me') }}
+                                    </label>
+                                </div>
                             </div>
+                            <!-- /.col -->
+                            <div class="col-4">
+                                <button type="submit" class="btn btn-primary btn-block">{{ __('Sign In') }}</button>
+                            </div>
+                            <!-- /.col -->
                         </div>
-                        <!-- /.col -->
-                        <div class="col-4">
-                            <button type="submit" class="btn btn-primary btn-block">{{__('Sign In')}}</button>
-                        </div>
-                        <!-- /.col -->
-                    </div>
-                </form>
+                    </form>
 
-            {{--                <div class="social-auth-links text-center mt-2 mb-3">--}}
-            {{--                    <a href="#" class="btn btn-block btn-primary">--}}
-            {{--                        <i class="fab fa-facebook mr-2"></i> Sign in using Facebook--}}
-            {{--                    </a>--}}
-            {{--                    <a href="#" class="btn btn-block btn-danger">--}}
-            {{--                        <i class="fab fa-google-plus mr-2"></i> Sign in using Google+--}}
-            {{--                    </a>--}}
-            {{--                </div>--}}
-            <!-- /.social-auth-links -->
+                    {{--                <div class="social-auth-links text-center mt-2 mb-3"> --}}
+                    {{--                    <a href="#" class="btn btn-block btn-primary"> --}}
+                    {{--                        <i class="fab fa-facebook mr-2"></i> Sign in using Facebook --}}
+                    {{--                    </a> --}}
+                    {{--                    <a href="#" class="btn btn-block btn-danger"> --}}
+                    {{--                        <i class="fab fa-google-plus mr-2"></i> Sign in using Google+ --}}
+                    {{--                    </a> --}}
+                    {{--                </div> --}}
+                    <!-- /.social-auth-links -->
 
-                <p class="mb-1">
-                    @if (Route::has('password.request'))
-                        <a class="" href="{{ route('password.request') }}">
-                            {{ __('Forgot Your Password?') }}
-                        </a>
-                    @endif
-                </p>
-                <p class="mb-0">
-                    <a href="{{route('register')}}" class="text-center">{{__('Register a new membership')}}</a>
-                </p>
+                    <p class="mb-1">
+                        @if (Route::has('password.request'))
+                            <a class="" href="{{ route('password.request') }}">
+                                {{ __('Forgot Your Password?') }}
+                            </a>
+                        @endif
+                    </p>
+                    <p class="mb-0">
+                        <a href="{{ route('register') }}" class="text-center">{{ __('Register a new membership') }}</a>
+                    </p>
+                </div>
+                <!-- /.card-body -->
+            </div>
+            <!-- /.card -->
+        </div>
+        <!-- /.login-box -->
+
+        {{-- imprint and privacy policy --}}
+        <div class="fixed-bottom ">
+            <div class="container text-center">
+                @if (config('SETTINGS::SYSTEM:SHOW_IMPRINT'))
+                    <a href="{{ route('imprint') }}"><strong>{{ __('Imprint') }}</strong></a> |
+                @endif
+                @if (config('SETTINGS::SYSTEM:SHOW_PRIVACY'))
+                    <a href="{{ route('privacy') }}"><strong>{{ __('Privacy') }}</strong></a>
+                @endif
             </div>
-            <!-- /.card-body -->
         </div>
-        <!-- /.card -->
-    </div>
-    <!-- /.login-box -->
     </body>
 @endsection

+ 56 - 38
resources/views/auth/passwords/email.blade.php

@@ -1,51 +1,69 @@
 @extends('layouts.app')
 
 @section('content')
+
     <body class="hold-transition dark-mode login-page">
-    <div class="login-box">
-        <div class="card card-outline card-primary">
-            <div class="card-header text-center">
-                <a href="{{route('welcome')}}" class="h1"><b class="mr-1">{{config('app.name', 'Laravel')}}</b></a>
-            </div>
-            <div class="card-body">
-                @if (session('status'))
-                    <div class="alert alert-success" role="alert">
-                        {{ session('status') }}
-                    </div>
-                @endif
-                <p class="login-box-msg">{{__('You forgot your password? Here you can easily retrieve a new password.')}}</p>
-                <form method="POST" action="{{ route('password.email') }}">
-                    @csrf
+        <div class="login-box">
+            <div class="card card-outline card-primary">
+                <div class="card-header text-center">
+                    <a href="{{ route('welcome') }}" class="h1"><b
+                            class="mr-1">{{ config('app.name', 'Laravel') }}</b></a>
+                </div>
+                <div class="card-body">
+                    @if (session('status'))
+                        <div class="alert alert-success" role="alert">
+                            {{ session('status') }}
+                        </div>
+                    @endif
+                    <p class="login-box-msg">
+                        {{ __('You forgot your password? Here you can easily retrieve a new password.') }}</p>
+                    <form method="POST" action="{{ route('password.email') }}">
+                        @csrf
 
-                    <div class="input-group mb-3">
-                        <input type="email" class="form-control @error('email') is-invalid @enderror" placeholder="{{__('Email')}}" name="email" value="{{ old('email') }}" required autocomplete="email" autofocus>
-                        <div class="input-group-append">
-                            <div class="input-group-text">
-                                <span class="fas fa-envelope"></span>
+                        <div class="input-group mb-3">
+                            <input type="email" class="form-control @error('email') is-invalid @enderror"
+                                placeholder="{{ __('Email') }}" name="email" value="{{ old('email') }}" required
+                                autocomplete="email" autofocus>
+                            <div class="input-group-append">
+                                <div class="input-group-text">
+                                    <span class="fas fa-envelope"></span>
+                                </div>
                             </div>
-                        </div>
 
-                        @error('email')
-                        <span class="text-danger" role="alert">
-                                        <strong>{{ $message }}</strong>
-                                    </span>
-                        @enderror
-                    </div>
+                            @error('email')
+                                <span class="text-danger" role="alert">
+                                    <strong>{{ $message }}</strong>
+                                </span>
+                            @enderror
+                        </div>
 
-                    <div class="row">
-                        <div class="col-12">
-                            <button type="submit" class="btn btn-primary btn-block">{{__('Request new password')}}</button>
+                        <div class="row">
+                            <div class="col-12">
+                                <button type="submit"
+                                    class="btn btn-primary btn-block">{{ __('Request new password') }}</button>
+                            </div>
+                            <!-- /.col -->
                         </div>
-                        <!-- /.col -->
-                    </div>
-                </form>
-                <p class="mt-3 mb-1">
-                    <a href="{{route('login')}}">{{__('Login')}}</a>
-                </p>
+                    </form>
+                    <p class="mt-3 mb-1">
+                        <a href="{{ route('login') }}">{{ __('Login') }}</a>
+                    </p>
+                </div>
+                <!-- /.login-card-body -->
+            </div>
+        </div>
+        <!-- /.login-box -->
+
+        {{-- imprint and privacy policy --}}
+        <div class="fixed-bottom ">
+            <div class="container text-center">
+                @if (config('SETTINGS::SYSTEM:SHOW_IMPRINT'))
+                    <a href="{{ route('imprint') }}"><strong>{{ __('Imprint') }}</strong></a> |
+                @endif
+                @if (config('SETTINGS::SYSTEM:SHOW_PRIVACY'))
+                    <a href="{{ route('privacy') }}"><strong>{{ __('Privacy') }}</strong></a>
+                @endif
             </div>
-            <!-- /.login-card-body -->
         </div>
-    </div>
-    <!-- /.login-box -->
     </body>
 @endsection

+ 69 - 50
resources/views/auth/passwords/reset.blade.php

@@ -1,74 +1,93 @@
 @extends('layouts.app')
 
 @section('content')
+
     <body class="hold-transition dark-mode login-page">
-    <div class="login-box">
-        <div class="card card-outline card-primary">
-            <div class="card-header text-center">
-                <a href="{{route('welcome')}}" class="h1"><b class="mr-1">{{config('app.name', 'Laravel')}}</b></a>
-            </div>
-            <div class="card-body">
-                <p class="login-box-msg">{{__('You are only one step a way from your new password, recover your password now.')}}</p>
+        <div class="login-box">
+            <div class="card card-outline card-primary">
+                <div class="card-header text-center">
+                    <a href="{{ route('welcome') }}" class="h1"><b
+                            class="mr-1">{{ config('app.name', 'Laravel') }}</b></a>
+                </div>
+                <div class="card-body">
+                    <p class="login-box-msg">
+                        {{ __('You are only one step a way from your new password, recover your password now.') }}</p>
 
-                <form method="POST" action="{{ route('password.update') }}">
-                    @csrf
+                    <form method="POST" action="{{ route('password.update') }}">
+                        @csrf
 
-                    <input type="hidden" name="token" value="{{ $token }}">
+                        <input type="hidden" name="token" value="{{ $token }}">
 
-                    <div class="input-group mb-3">
-                        <input type="email" name="email" class="form-control @error('email') is-invalid @enderror" placeholder="{{__('Email')}}">
-                        <div class="input-group-append">
-                            <div class="input-group-text">
-                                <span class="fas fa-envelope"></span>
+                        <div class="input-group mb-3">
+                            <input type="email" name="email" class="form-control @error('email') is-invalid @enderror"
+                                placeholder="{{ __('Email') }}">
+                            <div class="input-group-append">
+                                <div class="input-group-text">
+                                    <span class="fas fa-envelope"></span>
+                                </div>
                             </div>
+                            @error('email')
+                                <span class="text-danger" role="alert">
+                                    <small><strong>{{ $message }}</strong></small>
+                                </span>
+                            @enderror
                         </div>
-                        @error('email')
-                        <span class="text-danger" role="alert">
-                                <small><strong>{{ $message }}</strong></small>
-                            </span>
-                        @enderror
-                    </div>
 
 
-                    <div class="input-group mb-3">
-                        <input type="password" class="form-control @error('password') is-invalid @enderror" placeholder="{{__('Password')}}" name="password" required autocomplete="new-password">
-                        <div class="input-group-append">
-                            <div class="input-group-text">
-                                <span class="fas fa-lock"></span>
+                        <div class="input-group mb-3">
+                            <input type="password" class="form-control @error('password') is-invalid @enderror"
+                                placeholder="{{ __('Password') }}" name="password" required autocomplete="new-password">
+                            <div class="input-group-append">
+                                <div class="input-group-text">
+                                    <span class="fas fa-lock"></span>
+                                </div>
                             </div>
+                            @error('password')
+                                <span class="text-danger" role="alert">
+                                    <small><strong>{{ $message }}</strong></small>
+                                </span>
+                            @enderror
                         </div>
-                        @error('password')
-                        <span class="text-danger" role="alert">
-                                <small><strong>{{ $message }}</strong></small>
-                            </span>
-                        @enderror
-                    </div>
 
-                    <div class="input-group mb-3">
-                        <input type="password" class="form-control" name="password_confirmation" placeholder="{{__('Retype password')}}" required autocomplete="new-password">
-                        <div class="input-group-append">
-                            <div class="input-group-text">
-                                <span class="fas fa-lock"></span>
+                        <div class="input-group mb-3">
+                            <input type="password" class="form-control" name="password_confirmation"
+                                placeholder="{{ __('Retype password') }}" required autocomplete="new-password">
+                            <div class="input-group-append">
+                                <div class="input-group-text">
+                                    <span class="fas fa-lock"></span>
+                                </div>
                             </div>
                         </div>
-                    </div>
 
 
-                    <div class="row">
-                        <div class="col-12">
-                            <button type="submit" class="btn btn-primary btn-block">{{__('Change password')}}</button>
+                        <div class="row">
+                            <div class="col-12">
+                                <button type="submit"
+                                    class="btn btn-primary btn-block">{{ __('Change password') }}</button>
+                            </div>
+                            <!-- /.col -->
                         </div>
-                        <!-- /.col -->
-                    </div>
-                </form>
+                    </form>
+
+                    <p class="mt-3 mb-1">
+                        <a href="{{ route('login') }}">Login</a>
+                    </p>
+                </div>
+                <!-- /.login-card-body -->
+            </div>
+        </div>
+        <!-- /.login-box -->
 
-                <p class="mt-3 mb-1">
-                    <a href="{{route('login')}}">Login</a>
-                </p>
+        {{-- imprint and privacy policy --}}
+        <div class="fixed-bottom">
+            <div class="container text-center">
+                @if (config('SETTINGS::SYSTEM:SHOW_IMPRINT'))
+                    <a href="{{ route('imprint') }}"><strong>{{ __('Imprint') }}</strong></a> |
+                @endif
+                @if (config('SETTINGS::SYSTEM:SHOW_PRIVACY'))
+                    <a href="{{ route('privacy') }}"><strong>{{ __('Privacy') }}</strong></a>
+                @endif
             </div>
-            <!-- /.login-card-body -->
         </div>
-    </div>
-    <!-- /.login-box -->
     </body>
 @endsection

+ 89 - 67
resources/views/auth/register.blade.php

@@ -1,50 +1,53 @@
 @extends('layouts.app')
 
 @section('content')
+
     <body class="hold-transition dark-mode register-page">
-            <div class="register-box">
-                <div class="card card-outline card-primary">
-                    <div class="card-header text-center">
-                        <a href="{{route('welcome')}}" class="h1"><b class="mr-1">{{config('app.name', 'Laravel')}}</b></a>
-                    </div>
-                    <div class="card-body">
-                        @if(!config('SETTINGS::SYSTEM:CREATION_OF_NEW_USERS'))
+        <div class="register-box">
+            <div class="card card-outline card-primary">
+                <div class="card-header text-center">
+                    <a href="{{ route('welcome') }}" class="h1"><b
+                            class="mr-1">{{ config('app.name', 'Laravel') }}</b></a>
+                </div>
+                <div class="card-body">
+                    @if (!config('SETTINGS::SYSTEM:CREATION_OF_NEW_USERS'))
                         <div class="alert alert-warning p-2 m-2">
                             <h5><i class="icon fas fa-exclamation-circle"></i> {{ __('Warning!') }}</h5>
                             {{ __('The system administrator has blocked the registration of new users') }}
                         </div>
                         <div class="text-center">
-                            <a class="btn btn-primary" href="{{ route('login') }}">{{__('Back')}}</a>
+                            <a class="btn btn-primary" href="{{ route('login') }}">{{ __('Back') }}</a>
                         </div>
-                        @else
-                        <p class="login-box-msg">{{__('Register a new membership')}}</p>
+                    @else
+                        <p class="login-box-msg">{{ __('Register a new membership') }}</p>
 
                         <form method="POST" action="{{ route('register') }}">
 
                             @error('ip')
-                            <span class="text-danger" role="alert">
-                                        <small><strong>{{ $message }}</strong></small>
-                                    </span>
+                                <span class="text-danger" role="alert">
+                                    <small><strong>{{ $message }}</strong></small>
+                                </span>
                             @enderror
 
                             @error('registered')
-                            <span class="text-danger" role="alert">
-                                        <small><strong>{{ $message }}</strong></small>
-                                    </span>
+                                <span class="text-danger" role="alert">
+                                    <small><strong>{{ $message }}</strong></small>
+                                </span>
                             @enderror
-                            @if( $errors->has('ptero_registration_error') )
-                                @foreach( $errors->get('ptero_registration_error') as $err )
+                            @if ($errors->has('ptero_registration_error'))
+                                @foreach ($errors->get('ptero_registration_error') as $err)
                                     <span class="text-danger" role="alert">
                                         <small><strong>{{ $err }}</strong></small>
-                                </span>
+                                    </span>
                                 @endforeach
                             @endif
 
                             @csrf
                             <div class="form-group">
                                 <div class="input-group">
-                                    <input type="text" class="form-control @error('name') is-invalid @enderror" name="name" value="{{ old('name') }}"
-                                        placeholder="{{__('Username')}}" required autocomplete="name" autofocus>
+                                    <input type="text" class="form-control @error('name') is-invalid @enderror"
+                                        name="name" value="{{ old('name') }}" placeholder="{{ __('Username') }}"
+                                        required autocomplete="name" autofocus>
                                     <div class="input-group-append">
                                         <div class="input-group-text">
                                             <span class="fas fa-user"></span>
@@ -52,7 +55,7 @@
                                     </div>
                                 </div>
                                 @error('name')
-                                <span class="text-danger" role="alert">
+                                    <span class="text-danger" role="alert">
                                         <small><strong>{{ $message }}</strong></small>
                                     </span>
                                 @enderror
@@ -61,8 +64,10 @@
 
                             <div class="form-group">
                                 <div class="input-group mb-3">
-                                    <input type="email" name="email" class="form-control  @error('email') is-invalid @enderror" placeholder="{{__('Email')}}"
-                                        value="{{ old('email') }}" required autocomplete="email">
+                                    <input type="email" name="email"
+                                        class="form-control  @error('email') is-invalid @enderror"
+                                        placeholder="{{ __('Email') }}" value="{{ old('email') }}" required
+                                        autocomplete="email">
                                     <div class="input-group-append">
                                         <div class="input-group-text">
                                             <span class="fas fa-envelope"></span>
@@ -70,7 +75,7 @@
                                     </div>
                                 </div>
                                 @error('email')
-                                <span class="text-danger" role="alert">
+                                    <span class="text-danger" role="alert">
                                         <small><strong>{{ $message }}</strong></small>
                                     </span>
                                 @enderror
@@ -78,7 +83,9 @@
 
                             <div class="form-group">
                                 <div class="input-group mb-3">
-                                    <input type="password" class="form-control @error('password') is-invalid @enderror" placeholder="{{__('Password')}}" name="password" required autocomplete="new-password">
+                                    <input type="password" class="form-control @error('password') is-invalid @enderror"
+                                        placeholder="{{ __('Password') }}" name="password" required
+                                        autocomplete="new-password">
                                     <div class="input-group-append">
                                         <div class="input-group-text">
                                             <span class="fas fa-lock"></span>
@@ -86,23 +93,26 @@
                                     </div>
                                 </div>
                                 @error('password')
-                                <span class="text-danger" role="alert">
+                                    <span class="text-danger" role="alert">
                                         <small><strong>{{ $message }}</strong></small>
                                     </span>
                                 @enderror
                             </div>
 
                             <div class="input-group mb-3">
-                                <input type="password" class="form-control" name="password_confirmation" placeholder="{{__('Retype password')}}" required autocomplete="new-password">
+                                <input type="password" class="form-control" name="password_confirmation"
+                                    placeholder="{{ __('Retype password') }}" required autocomplete="new-password">
                                 <div class="input-group-append">
                                     <div class="input-group-text">
                                         <span class="fas fa-lock"></span>
                                     </div>
                                 </div>
                             </div>
-                            @if(config('SETTINGS::REFERRAL::ENABLED') == "true")
+                            @if (config('SETTINGS::REFERRAL::ENABLED') == 'true')
                                 <div class="input-group mb-3">
-                                    <input type="text" value="{{ \Request::get('ref') }}" class="form-control" name="referral_code" placeholder="{{__('Referral code')}} ({{__("optional")}})">
+                                    <input type="text" value="{{ \Request::get('ref') }}" class="form-control"
+                                        name="referral_code"
+                                        placeholder="{{ __('Referral code') }} ({{ __('optional') }})">
                                     <div class="input-group-append">
                                         <div class="input-group-text">
                                             <span class="fas fa-user-check"></span>
@@ -111,51 +121,63 @@
                                 </div>
                             @endif
                             @if (config('SETTINGS::RECAPTCHA:ENABLED') == 'true')
-                            <div class="input-group mb-3">
-                                {!! htmlFormSnippet() !!}
-                                @error('g-recaptcha-response')
-                                <span class="text-danger" role="alert">
-                                        <small><strong>{{ $message }}</strong></small>
-                                    </span>
-                                @enderror
-                            </div>
+                                <div class="input-group mb-3">
+                                    {!! htmlFormSnippet() !!}
+                                    @error('g-recaptcha-response')
+                                        <span class="text-danger" role="alert">
+                                            <small><strong>{{ $message }}</strong></small>
+                                        </span>
+                                    @enderror
+                                </div>
                             @endif
 
                             <div class="row">
                                 <div class="col-8">
 
-{{--                            <div class="icheck-primary">--}}
-{{--                                <input type="checkbox" id="agreeTerms" name="terms" value="agree">--}}
-{{--                                <label for="agreeTerms">--}}
-{{--                                    I agree to the <a href="#">terms</a>--}}
-{{--                                </label>--}}
-{{--                            </div>--}}
-                        </div>
-                        <!-- /.col -->
-                        <div class="col-4">
-                            <button type="submit" class="btn btn-primary">{{__('Register')}}</button>
-                        </div>
-                        <!-- /.col -->
-                    </div>
-                </form>
+                                    {{--                            <div class="icheck-primary"> --}}
+                                    {{--                                <input type="checkbox" id="agreeTerms" name="terms" value="agree"> --}}
+                                    {{--                                <label for="agreeTerms"> --}}
+                                    {{--                                    I agree to the <a href="#">terms</a> --}}
+                                    {{--                                </label> --}}
+                                    {{--                            </div> --}}
+                                </div>
+                                <!-- /.col -->
+                                <div class="col-4">
+                                    <button type="submit" class="btn btn-primary">{{ __('Register') }}</button>
+                                </div>
+                                <!-- /.col -->
+                            </div>
+                        </form>
+
+                        {{--                <div class="social-auth-links text-center"> --}}
+                        {{--                    <a href="#" class="btn btn-block btn-primary"> --}}
+                        {{--                        <i class="fab fa-facebook mr-2"></i> --}}
+                        {{--                        Sign up using Facebook --}}
+                        {{--                    </a> --}}
+                        {{--                    <a href="#" class="btn btn-block btn-danger"> --}}
+                        {{--                        <i class="fab fa-google-plus mr-2"></i> --}}
+                        {{--                        Sign up using Google+ --}}
+                        {{--                    </a> --}}
+                        {{--                </div> --}}
 
-{{--                <div class="social-auth-links text-center">--}}
-{{--                    <a href="#" class="btn btn-block btn-primary">--}}
-{{--                        <i class="fab fa-facebook mr-2"></i>--}}
-{{--                        Sign up using Facebook--}}
-{{--                    </a>--}}
-{{--                    <a href="#" class="btn btn-block btn-danger">--}}
-{{--                        <i class="fab fa-google-plus mr-2"></i>--}}
-{{--                        Sign up using Google+--}}
-{{--                    </a>--}}
-{{--                </div>--}}
+                        <a href="{{ route('login') }}" class="text-center">{{ __('I already have a membership') }}</a>
+                </div>
+                <!-- /.form-box -->
+            </div><!-- /.card -->
+        </div>
+        <!-- /.register-box -->
 
-                <a href="{{route('login')}}" class="text-center">{{__('I already have a membership')}}</a>
+        {{-- imprint and privacy policy --}}
+        <div class="fixed-bottom ">
+            <div class="container text-center">
+                @if (config('SETTINGS::SYSTEM:SHOW_IMPRINT'))
+                    <a href="{{ route('imprint') }}"><strong>{{ __('Imprint') }}</strong></a> |
+                @endif
+                @if (config('SETTINGS::SYSTEM:SHOW_PRIVACY'))
+                    <a href="{{ route('privacy') }}"><strong>{{ __('Privacy') }}</strong></a>
+                @endif
             </div>
-            <!-- /.form-box -->
-        </div><!-- /.card -->
-    </div>
-    <!-- /.register-box -->
+        </div>
     </body>
     @endif
 @endsection

+ 48 - 0
resources/views/imprint-content.blade.php

@@ -0,0 +1,48 @@
+<p>
+    This website is operated by:
+</p>
+
+<p>
+    <strong>Company Name</strong><br>
+    Street Name &amp; Number<br>
+    City<br>
+    Country<br>
+    Phone: +00 000 000 000<br>
+    Email: <a href="mailto">[email protected]</a>
+</p>
+
+<p>
+    <strong>Company Registration Number:</strong> 00000000<br>
+    <strong>VAT Number:</strong> 000000000
+
+</p>
+
+<p>
+    The European Commission provides a platform for online dispute resolution (OS) which is available at <a
+        href="https://ec.europa.eu/consumers/odr/main/index.cfm?event=main.home2.show&lng=EN">https://ec.europa.eu/consumers/odr/main/index.cfm?event=main.home2.show&lng=EN</a>.
+    We are not obliged or willing to participate in dispute resolution proceedings before a consumer arbitration board.
+
+</p>
+
+<p>
+    <strong>Disclaimer</strong><br>
+    Liability for Contents<br>
+    The contents of our pages have been created with the utmost care. However, we cannot guarantee the contents'
+    accuracy, completeness or topicality. According to statutory provisions, we are furthermore responsible for our own
+    content on these web pages. In this matter, please note that we are not obliged to monitor the transmitted or saved
+    information of third parties, or investigate circumstances pointing to illegal activity. Our obligations to remove
+    or block the use of information under generally applicable laws remain unaffected by this as per §§ 8 to 10 of the
+    Telemedia Act (TMG).
+
+</p>
+
+<p>
+    Liability for Links<br>
+    Our offer contains links to external third party websites. We have no influence on the contents of those websites,
+    and therefore cannot assume any liability for these foreign contents. The respective provider or operator of the
+    pages is always responsible for the contents of the linked pages. The linked pages were checked for possible legal
+    violations at the time of linking. Illegal contents were not discernible at the time of linking. However, a
+    permanent content control of the linked pages is not reasonable without concrete evidence of a violation of law. If
+    we become aware of any infringements, we will remove such links immediately.
+
+</p>

+ 22 - 0
resources/views/imprint.blade.php

@@ -0,0 +1,22 @@
+@extends('layouts.app')
+
+@section('content')
+
+    <body class="dark-mode">
+        <div class="container privacy-card">
+            <div class="row">
+                <div class="col-md-10" style="height: 20px;"></div>
+            </div>
+            <div class="row  justify-content-center ">
+                <div class="col-md-10">
+
+                    <div class="card">
+                        <div class="card-header">{{ __('Imprint') }}</div>
+                        <div class="card-body">
+                            @include('imprint-content')
+                        </div>
+                    </div>
+                </div>
+            </div>
+    </body>
+@endsection

+ 17 - 15
resources/views/layouts/app.blade.php

@@ -20,9 +20,11 @@
     <link rel="dns-prefetch" href="//fonts.gstatic.com">
     <link href="https://fonts.googleapis.com/css?family=Nunito" rel="stylesheet">
 
+
     <link rel="stylesheet" href="{{ asset('css/app.css') }}">
     <link rel="preload" href="{{ asset('plugins/fontawesome-free/css/all.min.css') }}" as="style"
         onload="this.onload=null;this.rel='stylesheet'">
+    <link rel="stylesheet" href="{{ asset('css/app.css') }}">
     <noscript>
         <link rel="stylesheet" href="{{ asset('plugins/fontawesome-free/css/all.min.css') }}">
     </noscript>
@@ -36,26 +38,26 @@
 <script>
     @if (Session::has('error'))
         Swal.fire({
-        icon: 'error',
-        title: 'Oops...',
-        html: '{{ Session::get('error') }}',
+            icon: 'error',
+            title: 'Oops...',
+            html: '{{ Session::get('error') }}',
         })
     @endif
 
     @if (Session::has('success'))
         Swal.fire({
-        icon: 'success',
-        title: '{{ Session::get('success') }}',
-        position: 'top-end',
-        showConfirmButton: false,
-        background : '#343a40',
-        toast: true,
-        timer: 3000,
-        timerProgressBar: true,
-        didOpen: (toast) => {
-        toast.addEventListener('mouseenter', Swal.stopTimer)
-        toast.addEventListener('mouseleave', Swal.resumeTimer)
-        }
+            icon: 'success',
+            title: '{{ Session::get('success') }}',
+            position: 'top-end',
+            showConfirmButton: false,
+            background: '#343a40',
+            toast: true,
+            timer: 3000,
+            timerProgressBar: true,
+            didOpen: (toast) => {
+                toast.addEventListener('mouseenter', Swal.stopTimer)
+                toast.addEventListener('mouseleave', Swal.resumeTimer)
+            }
         })
     @endif
 </script>

+ 84 - 64
resources/views/layouts/main.blade.php

@@ -8,7 +8,7 @@
     <meta name="csrf-token" content="{{ csrf_token() }}">
     <title>{{ config('app.name', 'Laravel') }}</title>
     <link rel="icon"
-        href="{{ \Illuminate\Support\Facades\Storage::disk('public')->exists('favicon.ico')? asset('storage/favicon.ico'): asset('favicon.ico') }}"
+        href="{{ \Illuminate\Support\Facades\Storage::disk('public')->exists('favicon.ico') ? asset('storage/favicon.ico') : asset('favicon.ico') }}"
         type="image/x-icon">
 
     <script defer src="https://unpkg.com/alpinejs@3.x.x/dist/cdn.min.js"></script>
@@ -49,11 +49,11 @@
                     <a href="{{ route('home') }}" class="nav-link"><i
                             class="fas fa-home mr-2"></i>{{ __('Home') }}</a>
                 </li>
-                @if(config('SETTINGS::DISCORD:INVITE_URL'))
-                <li class="nav-item d-none d-sm-inline-block">
-                    <a href="{{ config('SETTINGS::DISCORD:INVITE_URL') }}" class="nav-link" target="__blank"><i
-                            class="fab fa-discord mr-2"></i>{{ __('Discord') }}</a>
-                </li>
+                @if (config('SETTINGS::DISCORD:INVITE_URL'))
+                    <li class="nav-item d-none d-sm-inline-block">
+                        <a href="{{ config('SETTINGS::DISCORD:INVITE_URL') }}" class="nav-link" target="__blank"><i
+                                class="fab fa-discord mr-2"></i>{{ __('Discord') }}</a>
+                    </li>
                 @endif
                 <!-- Language Selection -->
                 @if (config('SETTINGS::LOCALE:CLIENTS_CAN_CHANGE') == 'true')
@@ -72,7 +72,6 @@
                                     <button class="dropdown-item" name="inputLocale" value="{{ $key }}">
                                         {{ __($key) }}
                                     </button>
-
                                 @endforeach
 
                             </form>
@@ -98,8 +97,7 @@
                             {{ __('Notifications') }}</span>
                         <div class="dropdown-divider"></div>
 
-                        @foreach (Auth::user()->unreadNotifications->sortBy('created_at')->take(5)
-    as $notification)
+                        @foreach (Auth::user()->unreadNotifications->sortBy('created_at')->take(5) as $notification)
                             <a href="{{ route('notifications.show', $notification->id) }}" class="dropdown-item">
                                 <span class="d-inline-block text-truncate" style="max-width: 150px;"><i
                                         class="fas fa-envelope mr-2"></i>{{ $notification->data['title'] }}</span>
@@ -114,7 +112,7 @@
                             class="dropdown-item dropdown-footer">{{ __('See all Notifications') }}</a>
                         <div class="dropdown-divider"></div>
                         <a href="{{ route('notifications.readAll') }}"
-                           class="dropdown-item dropdown-footer">{{ __('Mark all as read') }}</a>
+                            class="dropdown-item dropdown-footer">{{ __('Mark all as read') }}</a>
                     </div>
                 </li>
 
@@ -141,8 +139,8 @@
                 </li>
 
                 <li class="nav-item dropdown no-arrow">
-                    <a class="nav-link dropdown-toggle" href="#" id="userDropdown" role="button" data-toggle="dropdown"
-                        aria-haspopup="true" aria-expanded="false">
+                    <a class="nav-link dropdown-toggle" href="#" id="userDropdown" role="button"
+                        data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                         <span class="mr-1 d-lg-inline text-gray-600 small">
                             {{ Auth::user()->name }}
                             <img width="28px" height="28px" class="rounded-circle ml-1"
@@ -170,7 +168,8 @@
                         <div class="dropdown-divider"></div>
                         <form method="post" action="{{ route('logout') }}">
                             @csrf
-                            <button class="dropdown-item" href="#" data-toggle="modal" data-target="#logoutModal">
+                            <button class="dropdown-item" href="#" data-toggle="modal"
+                                data-target="#logoutModal">
                                 <i class="fas fa-sign-out-alt fa-sm fa-fw mr-2 text-gray-400"></i>
                                 {{ __('Logout') }}
                             </button>
@@ -185,7 +184,7 @@
             <!-- Brand Logo -->
             <a href="{{ route('home') }}" class="brand-link">
                 <img width="64" height="64"
-                    src="{{ \Illuminate\Support\Facades\Storage::disk('public')->exists('icon.png')? asset('storage/icon.png'): asset('images/controlpanel_logo.png') }}"
+                    src="{{ \Illuminate\Support\Facades\Storage::disk('public')->exists('icon.png') ? asset('storage/icon.png') : asset('images/controlpanel_logo.png') }}"
                     alt="{{ config('app.name', 'Laravel') }} Logo" class="brand-image img-circle"
                     style="opacity: .8">
                 <span class="brand-text font-weight-light">{{ config('app.name', 'Controlpanel.gg') }}</span>
@@ -201,14 +200,16 @@
                         <!-- Add icons to the links using the .nav-icon class
                          with font-awesome or any other icon font library -->
                         <li class="nav-item">
-                            <a href="{{ route('home') }}" class="nav-link @if (Request::routeIs('home')) active @endif">
+                            <a href="{{ route('home') }}"
+                                class="nav-link @if (Request::routeIs('home')) active @endif">
                                 <i class="nav-icon fa fa-home"></i>
                                 <p>{{ __('Dashboard') }}</p>
                             </a>
                         </li>
 
                         <li class="nav-item">
-                            <a href="{{ route('servers.index') }}" class="nav-link @if (Request::routeIs('servers.*')) active @endif">
+                            <a href="{{ route('servers.index') }}"
+                                class="nav-link @if (Request::routeIs('servers.*')) active @endif">
                                 <i class="nav-icon fa fa-server"></i>
                                 <p>{{ __('Servers') }}
                                     <span class="badge badge-info right">{{ Auth::user()->servers()->count() }} /
@@ -217,34 +218,42 @@
                             </a>
                         </li>
 
-                        @if (env('APP_ENV') == 'local' || (config('SETTINGS::PAYMENTS:PAYPAL:SECRET') && config('SETTINGS::PAYMENTS:PAYPAL:CLIENT_ID')) || (config('SETTINGS::PAYMENTS:STRIPE:SECRET') && config('SETTINGS::PAYMENTS:STRIPE:ENDPOINT_SECRET') && config('SETTINGS::PAYMENTS:STRIPE:METHODS')))
+                        @if (env('APP_ENV') == 'local' ||
+                            (config('SETTINGS::PAYMENTS:PAYPAL:SECRET') && config('SETTINGS::PAYMENTS:PAYPAL:CLIENT_ID')) ||
+                            (config('SETTINGS::PAYMENTS:STRIPE:SECRET') &&
+                                config('SETTINGS::PAYMENTS:STRIPE:ENDPOINT_SECRET') &&
+                                config('SETTINGS::PAYMENTS:STRIPE:METHODS')))
                             <li class="nav-item">
-                                <a href="{{ route('store.index') }}" class="nav-link @if (Request::routeIs('store.*') || Request::routeIs('checkout')) active @endif">
+                                <a href="{{ route('store.index') }}"
+                                    class="nav-link @if (Request::routeIs('store.*') || Request::routeIs('checkout')) active @endif">
                                     <i class="nav-icon fa fa-coins"></i>
                                     <p>{{ __('Store') }}</p>
                                 </a>
                             </li>
                         @endif
-                       @if(config("SETTINGS::TICKET:ENABLED"))
-                        <li class="nav-item">
-                            <a href="{{ route('ticket.index') }}" class="nav-link @if (Request::routeIs('ticket.*')) active @endif">
-                                <i class="nav-icon fas fas fa-ticket-alt"></i>
-                                <p>{{ __('Support Ticket') }}</p>
-                            </a>
-                        </li>
+                        @if (config('SETTINGS::TICKET:ENABLED'))
+                            <li class="nav-item">
+                                <a href="{{ route('ticket.index') }}"
+                                    class="nav-link @if (Request::routeIs('ticket.*')) active @endif">
+                                    <i class="nav-icon fas fas fa-ticket-alt"></i>
+                                    <p>{{ __('Support Ticket') }}</p>
+                                </a>
+                            </li>
                         @endif
 
-                        @if ((Auth::user()->role == 'admin' || Auth::user()->role == 'moderator') && config("SETTINGS::TICKET:ENABLED"))
+                        @if ((Auth::user()->role == 'admin' || Auth::user()->role == 'moderator') && config('SETTINGS::TICKET:ENABLED'))
                             <li class="nav-header">{{ __('Moderation') }}</li>
 
                             <li class="nav-item">
-                                <a href="{{ route('moderator.ticket.index') }}" class="nav-link @if (Request::routeIs('moderator.ticket.index')) active @endif">
+                                <a href="{{ route('moderator.ticket.index') }}"
+                                    class="nav-link @if (Request::routeIs('moderator.ticket.index')) active @endif">
                                     <i class="nav-icon fas fa-ticket-alt"></i>
                                     <p>{{ __('Ticket List') }}</p>
                                 </a>
                             </li>
                             <li class="nav-item">
-                                <a href="{{ route('moderator.ticket.blacklist') }}" class="nav-link @if (Request::routeIs('moderator.ticket.blacklist')) active @endif">
+                                <a href="{{ route('moderator.ticket.blacklist') }}"
+                                    class="nav-link @if (Request::routeIs('moderator.ticket.blacklist')) active @endif">
                                     <i class="nav-icon fas fa-user-times"></i>
                                     <p>{{ __('Ticket Blacklist') }}</p>
                                 </a>
@@ -252,7 +261,6 @@
                         @endif
 
                         @if (Auth::user()->role == 'admin')
-
                             <li class="nav-header">{{ __('Administration') }}</li>
 
                             <li class="nav-item">
@@ -273,7 +281,8 @@
                             </li>
 
                             <li class="nav-item">
-                                <a href="{{ route('admin.api.index') }}" class="nav-link @if (Request::routeIs('admin.api.*')) active @endif">
+                                <a href="{{ route('admin.api.index') }}"
+                                    class="nav-link @if (Request::routeIs('admin.api.*')) active @endif">
                                     <i class="nav-icon fa fa-gamepad"></i>
                                     <p>{{ __('Application API') }}</p>
                                 </a>
@@ -282,7 +291,8 @@
                             <li class="nav-header">{{ __('Management') }}</li>
 
                             <li class="nav-item">
-                                <a href="{{ route('admin.users.index') }}" class="nav-link @if (Request::routeIs('admin.users.*')) active @endif">
+                                <a href="{{ route('admin.users.index') }}"
+                                    class="nav-link @if (Request::routeIs('admin.users.*')) active @endif">
                                     <i class="nav-icon fas fa-users"></i>
                                     <p>{{ __('Users') }}</p>
                                 </a>
@@ -305,7 +315,8 @@
                             </li>
 
                             <li class="nav-item">
-                                <a href="{{ route('admin.store.index') }}" class="nav-link @if (Request::routeIs('admin.store.*')) active @endif">
+                                <a href="{{ route('admin.store.index') }}"
+                                    class="nav-link @if (Request::routeIs('admin.store.*')) active @endif">
                                     <i class="nav-icon fas fa-shopping-basket"></i>
                                     <p>{{ __('Store') }}</p>
                                 </a>
@@ -368,7 +379,6 @@
                                     <p>{{ __('Activity Logs') }}</p>
                                 </a>
                             </li>
-
                         @endif
 
                     </ul>
@@ -404,9 +414,19 @@
                     href="{{ url('/') }}">{{ env('APP_NAME', 'Laravel') }}</a>.</strong>
             All rights
             reserved. Powered by <a href="https://controlpanel.gg">ControlPanel</a>.
-            @if(!str_contains(config("BRANCHNAME"),"main"))
-                 Version <b>{{ config('app')['version'] }} - {{config("BRANCHNAME")}}</b>
+            @if (!str_contains(config('BRANCHNAME'), 'main'))
+                Version <b>{{ config('app')['version'] }} - {{ config('BRANCHNAME') }}</b>
             @endif
+
+            {{-- Show imprint and privacy link --}}
+            <div class="float-right d-none d-sm-inline-block">
+                @if (config('SETTINGS::SYSTEM:SHOW_IMPRINT'))
+                    <a href="{{ route('imprint') }}"><strong>{{ __('Imprint') }}</strong></a> |
+                @endif
+                @if (config('SETTINGS::SYSTEM:SHOW_PRIVACY'))
+                    <a href="{{ route('privacy') }}"><strong>{{ __('Privacy') }}</strong></a>
+                @endif
+            </div>
         </footer>
 
         <!-- Control Sidebar -->
@@ -448,42 +468,42 @@
     <script>
         @if (Session::has('error'))
             Swal.fire({
-            icon: 'error',
-            title: 'Oops...',
-            html: '{{ Session::get('error') }}',
+                icon: 'error',
+                title: 'Oops...',
+                html: '{{ Session::get('error') }}',
             })
         @endif
         @if (Session::has('success'))
             Swal.fire({
-            icon: 'success',
-            title: '{{ Session::get('success') }}',
-            position: 'top-end',
-            showConfirmButton: false,
-            background: '#343a40',
-            toast: true,
-            timer: 3000,
-            timerProgressBar: true,
-            didOpen: (toast) => {
-            toast.addEventListener('mouseenter', Swal.stopTimer)
-            toast.addEventListener('mouseleave', Swal.resumeTimer)
-            }
+                icon: 'success',
+                title: '{{ Session::get('success') }}',
+                position: 'top-end',
+                showConfirmButton: false,
+                background: '#343a40',
+                toast: true,
+                timer: 3000,
+                timerProgressBar: true,
+                didOpen: (toast) => {
+                    toast.addEventListener('mouseenter', Swal.stopTimer)
+                    toast.addEventListener('mouseleave', Swal.resumeTimer)
+                }
             })
         @endif
         @if (Session::has('info'))
-        Swal.fire({
-            icon: 'info',
-            title: '{{ Session::get('info') }}',
-            position: 'top-end',
-            showConfirmButton: false,
-            background: '#343a40',
-            toast: true,
-            timer: 3000,
-            timerProgressBar: true,
-            didOpen: (toast) => {
-                toast.addEventListener('mouseenter', Swal.stopTimer)
-                toast.addEventListener('mouseleave', Swal.resumeTimer)
-            }
-        })
+            Swal.fire({
+                icon: 'info',
+                title: '{{ Session::get('info') }}',
+                position: 'top-end',
+                showConfirmButton: false,
+                background: '#343a40',
+                toast: true,
+                timer: 3000,
+                timerProgressBar: true,
+                didOpen: (toast) => {
+                    toast.addEventListener('mouseenter', Swal.stopTimer)
+                    toast.addEventListener('mouseleave', Swal.resumeTimer)
+                }
+            })
         @endif
     </script>
 </body>

+ 261 - 0
resources/views/privacy-content.blade.php

@@ -0,0 +1,261 @@
+<p>Last updated: December 22, 2022</p>
+<p>This Privacy Policy describes Our policies and procedures on the collection, use and disclosure of Your information
+    when You use the Service and tells You about Your privacy rights and how the law protects You.</p>
+<p>We use Your Personal data to provide and improve the Service. By using the Service, You agree to the collection and
+    use of information in accordance with this Privacy Policy. This Privacy Policy has been created with the help of the
+    <a href="https://www.freeprivacypolicy.com/free-privacy-policy-generator/" target="_blank">Free Privacy Policy
+        Generator</a>.</p>
+<h1>Interpretation and Definitions</h1>
+<h2>Interpretation</h2>
+<p>The words of which the initial letter is capitalized have meanings defined under the following conditions. The
+    following definitions shall have the same meaning regardless of whether they appear in singular or in plural.</p>
+<h2>Definitions</h2>
+<p>For the purposes of this Privacy Policy:</p>
+<ul>
+    <li>
+        <p><strong>Account</strong> means a unique account created for You to access our Service or parts of our
+            Service.</p>
+    </li>
+    <li>
+        <p><strong>Company</strong> (referred to as either &quot;the Company&quot;, &quot;We&quot;, &quot;Us&quot; or
+            &quot;Our&quot; in this Agreement) refers to controlpanel.</p>
+    </li>
+    <li>
+        <p><strong>Cookies</strong> are small files that are placed on Your computer, mobile device or any other device
+            by a website, containing the details of Your browsing history on that website among its many uses.</p>
+    </li>
+    <li>
+        <p><strong>Country</strong> refers to: Alabama, United States</p>
+    </li>
+    <li>
+        <p><strong>Device</strong> means any device that can access the Service such as a computer, a cellphone or a
+            digital tablet.</p>
+    </li>
+    <li>
+        <p><strong>Personal Data</strong> is any information that relates to an identified or identifiable individual.
+        </p>
+    </li>
+    <li>
+        <p><strong>Service</strong> refers to the Website.</p>
+    </li>
+    <li>
+        <p><strong>Service Provider</strong> means any natural or legal person who processes the data on behalf of the
+            Company. It refers to third-party companies or individuals employed by the Company to facilitate the
+            Service, to provide the Service on behalf of the Company, to perform services related to the Service or to
+            assist the Company in analyzing how the Service is used.</p>
+    </li>
+    <li>
+        <p><strong>Usage Data</strong> refers to data collected automatically, either generated by the use of the
+            Service or from the Service infrastructure itself (for example, the duration of a page visit).</p>
+    </li>
+    <li>
+        <p><strong>Website</strong> refers to controlpanel, accessible from <a href="controlpanel"
+                rel="external nofollow noopener" target="_blank">controlpanel</a></p>
+    </li>
+    <li>
+        <p><strong>You</strong> means the individual accessing or using the Service, or the company, or other legal
+            entity on behalf of which such individual is accessing or using the Service, as applicable.</p>
+    </li>
+</ul>
+<h1>Collecting and Using Your Personal Data</h1>
+<h2>Types of Data Collected</h2>
+<h3>Personal Data</h3>
+<p>While using Our Service, We may ask You to provide Us with certain personally identifiable information that can be
+    used to contact or identify You. Personally identifiable information may include, but is not limited to:</p>
+<ul>
+    <li>
+        <p>Email address</p>
+    </li>
+    <li>
+        <p>Usage Data</p>
+    </li>
+</ul>
+<h3>Usage Data</h3>
+<p>Usage Data is collected automatically when using the Service.</p>
+<p>Usage Data may include information such as Your Device's Internet Protocol address (e.g. IP address), browser type,
+    browser version, the pages of our Service that You visit, the time and date of Your visit, the time spent on those
+    pages, unique device identifiers and other diagnostic data.</p>
+<p>When You access the Service by or through a mobile device, We may collect certain information automatically,
+    including, but not limited to, the type of mobile device You use, Your mobile device unique ID, the IP address of
+    Your mobile device, Your mobile operating system, the type of mobile Internet browser You use, unique device
+    identifiers and other diagnostic data.</p>
+<p>We may also collect information that Your browser sends whenever You visit our Service or when You access the Service
+    by or through a mobile device.</p>
+<h3>Tracking Technologies and Cookies</h3>
+<p>We use Cookies and similar tracking technologies to track the activity on Our Service and store certain information.
+    Tracking technologies used are beacons, tags, and scripts to collect and track information and to improve and
+    analyze Our Service. The technologies We use may include:</p>
+<ul>
+    <li><strong>Cookies or Browser Cookies.</strong> A cookie is a small file placed on Your Device. You can instruct
+        Your browser to refuse all Cookies or to indicate when a Cookie is being sent. However, if You do not accept
+        Cookies, You may not be able to use some parts of our Service. Unless you have adjusted Your browser setting so
+        that it will refuse Cookies, our Service may use Cookies.</li>
+    <li><strong>Web Beacons.</strong> Certain sections of our Service and our emails may contain small electronic files
+        known as web beacons (also referred to as clear gifs, pixel tags, and single-pixel gifs) that permit the
+        Company, for example, to count users who have visited those pages or opened an email and for other related
+        website statistics (for example, recording the popularity of a certain section and verifying system and server
+        integrity).</li>
+</ul>
+<p>Cookies can be &quot;Persistent&quot; or &quot;Session&quot; Cookies. Persistent Cookies remain on Your personal
+    computer or mobile device when You go offline, while Session Cookies are deleted as soon as You close Your web
+    browser. Learn more about cookies on the <a
+        href="https://www.freeprivacypolicy.com/blog/sample-privacy-policy-template/#Use_Of_Cookies_And_Tracking"
+        target="_blank">Free Privacy Policy website</a> article.</p>
+<p>We use both Session and Persistent Cookies for the purposes set out below:</p>
+<ul>
+    <li>
+        <p><strong>Necessary / Essential Cookies</strong></p>
+        <p>Type: Session Cookies</p>
+        <p>Administered by: Us</p>
+        <p>Purpose: These Cookies are essential to provide You with services available through the Website and to enable
+            You to use some of its features. They help to authenticate users and prevent fraudulent use of user
+            accounts. Without these Cookies, the services that You have asked for cannot be provided, and We only use
+            these Cookies to provide You with those services.</p>
+    </li>
+    <li>
+        <p><strong>Cookies Policy / Notice Acceptance Cookies</strong></p>
+        <p>Type: Persistent Cookies</p>
+        <p>Administered by: Us</p>
+        <p>Purpose: These Cookies identify if users have accepted the use of cookies on the Website.</p>
+    </li>
+    <li>
+        <p><strong>Functionality Cookies</strong></p>
+        <p>Type: Persistent Cookies</p>
+        <p>Administered by: Us</p>
+        <p>Purpose: These Cookies allow us to remember choices You make when You use the Website, such as remembering
+            your login details or language preference. The purpose of these Cookies is to provide You with a more
+            personal experience and to avoid You having to re-enter your preferences every time You use the Website.</p>
+    </li>
+</ul>
+<p>For more information about the cookies we use and your choices regarding cookies, please visit our Cookies Policy or
+    the Cookies section of our Privacy Policy.</p>
+<h2>Use of Your Personal Data</h2>
+<p>The Company may use Personal Data for the following purposes:</p>
+<ul>
+    <li>
+        <p><strong>To provide and maintain our Service</strong>, including to monitor the usage of our Service.</p>
+    </li>
+    <li>
+        <p><strong>To manage Your Account:</strong> to manage Your registration as a user of the Service. The Personal
+            Data You provide can give You access to different functionalities of the Service that are available to You
+            as a registered user.</p>
+    </li>
+    <li>
+        <p><strong>For the performance of a contract:</strong> the development, compliance and undertaking of the
+            purchase contract for the products, items or services You have purchased or of any other contract with Us
+            through the Service.</p>
+    </li>
+    <li>
+        <p><strong>To contact You:</strong> To contact You by email, telephone calls, SMS, or other equivalent forms of
+            electronic communication, such as a mobile application's push notifications regarding updates or informative
+            communications related to the functionalities, products or contracted services, including the security
+            updates, when necessary or reasonable for their implementation.</p>
+    </li>
+    <li>
+        <p><strong>To provide You</strong> with news, special offers and general information about other goods, services
+            and events which we offer that are similar to those that you have already purchased or enquired about unless
+            You have opted not to receive such information.</p>
+    </li>
+    <li>
+        <p><strong>To manage Your requests:</strong> To attend and manage Your requests to Us.</p>
+    </li>
+    <li>
+        <p><strong>For business transfers:</strong> We may use Your information to evaluate or conduct a merger,
+            divestiture, restructuring, reorganization, dissolution, or other sale or transfer of some or all of Our
+            assets, whether as a going concern or as part of bankruptcy, liquidation, or similar proceeding, in which
+            Personal Data held by Us about our Service users is among the assets transferred.</p>
+    </li>
+    <li>
+        <p><strong>For other purposes</strong>: We may use Your information for other purposes, such as data analysis,
+            identifying usage trends, determining the effectiveness of our promotional campaigns and to evaluate and
+            improve our Service, products, services, marketing and your experience.</p>
+    </li>
+</ul>
+<p>We may share Your personal information in the following situations:</p>
+<ul>
+    <li><strong>With Service Providers:</strong> We may share Your personal information with Service Providers to
+        monitor and analyze the use of our Service, to contact You.</li>
+    <li><strong>For business transfers:</strong> We may share or transfer Your personal information in connection with,
+        or during negotiations of, any merger, sale of Company assets, financing, or acquisition of all or a portion of
+        Our business to another company.</li>
+    <li><strong>With Affiliates:</strong> We may share Your information with Our affiliates, in which case we will
+        require those affiliates to honor this Privacy Policy. Affiliates include Our parent company and any other
+        subsidiaries, joint venture partners or other companies that We control or that are under common control with
+        Us.</li>
+    <li><strong>With business partners:</strong> We may share Your information with Our business partners to offer You
+        certain products, services or promotions.</li>
+    <li><strong>With other users:</strong> when You share personal information or otherwise interact in the public areas
+        with other users, such information may be viewed by all users and may be publicly distributed outside.</li>
+    <li><strong>With Your consent</strong>: We may disclose Your personal information for any other purpose with Your
+        consent.</li>
+</ul>
+<h2>Retention of Your Personal Data</h2>
+<p>The Company will retain Your Personal Data only for as long as is necessary for the purposes set out in this Privacy
+    Policy. We will retain and use Your Personal Data to the extent necessary to comply with our legal obligations (for
+    example, if we are required to retain your data to comply with applicable laws), resolve disputes, and enforce our
+    legal agreements and policies.</p>
+<p>The Company will also retain Usage Data for internal analysis purposes. Usage Data is generally retained for a
+    shorter period of time, except when this data is used to strengthen the security or to improve the functionality of
+    Our Service, or We are legally obligated to retain this data for longer time periods.</p>
+<h2>Transfer of Your Personal Data</h2>
+<p>Your information, including Personal Data, is processed at the Company's operating offices and in any other places
+    where the parties involved in the processing are located. It means that this information may be transferred to — and
+    maintained on — computers located outside of Your state, province, country or other governmental jurisdiction where
+    the data protection laws may differ than those from Your jurisdiction.</p>
+<p>Your consent to this Privacy Policy followed by Your submission of such information represents Your agreement to that
+    transfer.</p>
+<p>The Company will take all steps reasonably necessary to ensure that Your data is treated securely and in accordance
+    with this Privacy Policy and no transfer of Your Personal Data will take place to an organization or a country
+    unless there are adequate controls in place including the security of Your data and other personal information.</p>
+<h2>Delete Your Personal Data</h2>
+<p>You have the right to delete or request that We assist in deleting the Personal Data that We have collected about
+    You.</p>
+<p>Our Service may give You the ability to delete certain information about You from within the Service.</p>
+<p>You may update, amend, or delete Your information at any time by signing in to Your Account, if you have one, and
+    visiting the account settings section that allows you to manage Your personal information. You may also contact Us
+    to request access to, correct, or delete any personal information that You have provided to Us.</p>
+<p>Please note, however, that We may need to retain certain information when we have a legal obligation or lawful basis
+    to do so.</p>
+<h2>Disclosure of Your Personal Data</h2>
+<h3>Business Transactions</h3>
+<p>If the Company is involved in a merger, acquisition or asset sale, Your Personal Data may be transferred. We will
+    provide notice before Your Personal Data is transferred and becomes subject to a different Privacy Policy.</p>
+<h3>Law enforcement</h3>
+<p>Under certain circumstances, the Company may be required to disclose Your Personal Data if required to do so by law
+    or in response to valid requests by public authorities (e.g. a court or a government agency).</p>
+<h3>Other legal requirements</h3>
+<p>The Company may disclose Your Personal Data in the good faith belief that such action is necessary to:</p>
+<ul>
+    <li>Comply with a legal obligation</li>
+    <li>Protect and defend the rights or property of the Company</li>
+    <li>Prevent or investigate possible wrongdoing in connection with the Service</li>
+    <li>Protect the personal safety of Users of the Service or the public</li>
+    <li>Protect against legal liability</li>
+</ul>
+<h2>Security of Your Personal Data</h2>
+<p>The security of Your Personal Data is important to Us, but remember that no method of transmission over the Internet,
+    or method of electronic storage is 100% secure. While We strive to use commercially acceptable means to protect Your
+    Personal Data, We cannot guarantee its absolute security.</p>
+<h1>Children's Privacy</h1>
+<p>Our Service does not address anyone under the age of 13. We do not knowingly collect personally identifiable
+    information from anyone under the age of 13. If You are a parent or guardian and You are aware that Your child has
+    provided Us with Personal Data, please contact Us. If We become aware that We have collected Personal Data from
+    anyone under the age of 13 without verification of parental consent, We take steps to remove that information from
+    Our servers.</p>
+<p>If We need to rely on consent as a legal basis for processing Your information and Your country requires consent from
+    a parent, We may require Your parent's consent before We collect and use that information.</p>
+<h1>Links to Other Websites</h1>
+<p>Our Service may contain links to other websites that are not operated by Us. If You click on a third party link, You
+    will be directed to that third party's site. We strongly advise You to review the Privacy Policy of every site You
+    visit.</p>
+<p>We have no control over and assume no responsibility for the content, privacy policies or practices of any third
+    party sites or services.</p>
+<h1>Changes to this Privacy Policy</h1>
+<p>We may update Our Privacy Policy from time to time. We will notify You of any changes by posting the new Privacy
+    Policy on this page.</p>
+<p>We will let You know via email and/or a prominent notice on Our Service, prior to the change becoming effective and
+    update the &quot;Last updated&quot; date at the top of this Privacy Policy.</p>
+<p>You are advised to review this Privacy Policy periodically for any changes. Changes to this Privacy Policy are
+    effective when they are posted on this page.</p>
+<h1>Contact Us</h1>
+<p>If you have any questions about this Privacy Policy, You can contact us:</p>

+ 21 - 0
resources/views/privacy.blade.php

@@ -0,0 +1,21 @@
+@extends('layouts.app')
+
+@section('content')
+
+    <body class="dark-mode">
+        <div class="container privacy-card">
+            <div class="row">
+                <div class="col-md-10" style="height: 20px;"></div>
+            </div>
+            <div class="row justify-content-center">
+                <div class="col-md-10">
+                    <div class="card">
+                        <div class="card-header">{{ __('Privacy Policy') }}</div>
+                        <div class="card-body">
+                            @include('privacy-content')
+                        </div>
+                    </div>
+                </div>
+            </div>
+    </body>
+@endsection

+ 8 - 0
routes/web.php

@@ -52,6 +52,14 @@ Auth::routes(['verify' => true]);
 # Stripe WebhookRoute -> validation in Route Handler
 Route::post('payment/StripeWebhooks', [PaymentController::class, 'StripeWebhooks'])->name('payment.StripeWebhooks');
 
+Route::get('/privacy', function () {
+    return view('privacy');
+})->name('privacy');
+Route::get('/imprint', function () {
+    return view('imprint');
+})->name('imprint');
+
+
 Route::middleware(['auth', 'checkSuspended'])->group(function () {
     #resend verification email
     Route::get('/email/verification-notification', function (Request $request) {