feat: Added Imprint and Privacy Page & Links
This commit is contained in:
parent
5d18b36083
commit
3edff8f6fc
11 changed files with 811 additions and 354 deletions
|
@ -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
|
||||
|
||||
<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>
|
||||
@if (session('message'))
|
||||
<div class="alert alert-danger">{{ session('message') }}</div>
|
||||
@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>
|
||||
<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
|
||||
|
||||
<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>
|
||||
@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>
|
||||
</div>
|
||||
|
||||
</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
|
||||
|
||||
<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>
|
||||
|
||||
</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>
|
||||
<!-- /.col -->
|
||||
<div class="col-4">
|
||||
<button type="submit" class="btn btn-primary btn-block">{{ __('Sign In') }}</button>
|
||||
</div>
|
||||
|
||||
<!-- /.col -->
|
||||
</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
|
||||
</form>
|
||||
|
||||
<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>
|
||||
</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
|
||||
|
|
|
@ -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>
|
||||
|
||||
@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
|
||||
|
|
|
@ -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 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
|
||||
|
||||
<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>
|
||||
</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>
|
||||
</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>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<button type="submit"
|
||||
class="btn btn-primary btn-block">{{ __('Change password') }}</button>
|
||||
</div>
|
||||
<!-- /.col -->
|
||||
</div>
|
||||
</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>
|
||||
<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
|
||||
|
||||
<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>
|
||||
</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>
|
||||
</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>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<button type="submit" class="btn btn-primary btn-block">{{__('Change password')}}</button>
|
||||
</div>
|
||||
<!-- /.col -->
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<p class="mt-3 mb-1">
|
||||
<a href="{{route('login')}}">Login</a>
|
||||
</p>
|
||||
</div>
|
||||
<!-- /.login-card-body -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.login-box -->
|
||||
</body>
|
||||
@endsection
|
||||
|
|
|
@ -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>
|
||||
<a href="{{ route('login') }}" class="text-center">{{ __('I already have a membership') }}</a>
|
||||
</div>
|
||||
<!-- /.form-box -->
|
||||
</div><!-- /.card -->
|
||||
</div>
|
||||
<!-- /.register-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>
|
||||
<!-- /.form-box -->
|
||||
</div><!-- /.card -->
|
||||
</div>
|
||||
<!-- /.register-box -->
|
||||
</div>
|
||||
</body>
|
||||
@endif
|
||||
@endsection
|
||||
|
|
48
resources/views/imprint-content.blade.php
Normal file
48
resources/views/imprint-content.blade.php
Normal file
|
@ -0,0 +1,48 @@
|
|||
<p>
|
||||
This website is operated by:
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<strong>Company Name</strong><br>
|
||||
Street Name & 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
resources/views/imprint.blade.php
Normal file
22
resources/views/imprint.blade.php
Normal file
|
@ -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
|
|
@ -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>
|
||||
|
|
|
@ -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
resources/views/privacy-content.blade.php
Normal file
261
resources/views/privacy-content.blade.php
Normal file
|
@ -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 "the Company", "We", "Us" or
|
||||
"Our" 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 "Persistent" or "Session" 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 "Last updated" 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
resources/views/privacy.blade.php
Normal file
21
resources/views/privacy.blade.php
Normal file
|
@ -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
|
|
@ -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) {
|
||||
|
|
Loading…
Add table
Reference in a new issue