choose who can see their referral URL

This commit is contained in:
1day2die 2022-06-02 18:41:08 +02:00
parent c0e0c99a1b
commit 7ed402a227
4 changed files with 192 additions and 170 deletions

View file

@ -39,6 +39,7 @@ class Misc
'mailfromname' => 'nullable|string',
'enable_referral' => 'nullable|string',
'referral_reward' => 'nullable|numeric',
'referral_allowed' => 'nullable|string',
]);
if ($validator->fails()) {
@ -72,7 +73,8 @@ class Misc
"SETTINGS::MAIL:FROM_ADDRESS" => "mailfromadress",
"SETTINGS::MAIL:FROM_NAME" => "mailfromname",
"SETTINGS::REFERRAL::ENABLED" => "enable_referral",
"SETTINGS::REFERRAL::REWARD" => "referral_reward"
"SETTINGS::REFERRAL::REWARD" => "referral_reward",
"SETTINGS::REFERRAL::ALLOWED" => "referral_allowed"
];

View file

@ -479,5 +479,12 @@ class SettingsSeeder extends Seeder
'type' => 'integer',
'description' => 'Credit reward a user should receive when a user registers with his referral code'
]);
Settings::firstOrCreate([
'key' => 'SETTINGS::REFERRAL::ALLOWED',
], [
'value' =>"client",
'type' => 'string',
'description' => 'Who should be allowed to to use the referral code. all/client'
]);
}
}

View file

@ -210,6 +210,19 @@
class="form-control @error('referral_reward') is-invalid @enderror">
</div>
</div>
<div class="custom-control mb-3 p-0">
<label for="mailservice">{{ __('Allowed') }}:
<i data-toggle="popover" data-trigger="hover"
data-content="{{ __('Who is allowed to see their referral-URL') }}" class="fas fa-info-circle"></i>
</label>
<select id="referral_allowed" style="width:100%" class="custom-select" name="referral_allowed" required
autocomplete="off" @error('referral_allowed') is-invalid @enderror>
<option value="everyone" @if (config('SETTINGS::REFERRAL::ALLOWED') == "everyone") selected
@endif>{{ __("Everyone") }}</option>
<option value="client" @if (config('SETTINGS::REFERRAL::ALLOWED') == "client") selected
@endif>{{ __("Clients") }}</option>
</select>
</div>
</div>
</div>

View file

@ -100,209 +100,209 @@
class="fa fa-coins mr-2"></i>{{ $user->Credits() }}</span>
</div>
<div class="mt-1">
@if(config('SETTINGS::REFERRAL::ENABLED') == "true" && $user->role != "member")
<span class="badge badge-success"><i
class="fa fa-user-check mr-2"></i>
{{_("Referral URL")}} : {{route("register")}}?ref={{$user->referral_code}}</span>
@else
<span class="badge badge-warning"><i
class="fa fa-user-check mr-2"></i>
{{_("Make a purchase to reveal your referral-URL")}}</span>
@endif
@if(config('SETTINGS::REFERRAL::ENABLED') == "true")
@if((config('SETTINGS::REFERRAL::ALLOWED') == "client" && $user->role != "member") || config('SETTINGS::REFERRAL::ALLOWED') == "everyone")
<div class="mt-1">
<span class="badge badge-success"><i
class="fa fa-user-check mr-2"></i>
{{_("Referral URL")}} : {{route("register")}}?ref={{$user->referral_code}}</span>
@else
<span class="badge badge-warning"><i
class="fa fa-user-check mr-2"></i>
{{_("Make a purchase to reveal your referral-URL")}}</span>
@endif
</div>
@endif
</div>
</div>
<div class="text-center text-sm-right"><span
class="badge badge-secondary">{{ $user->role }}</span>
<div class="text-muted">
<small>{{ $user->created_at->isoFormat('LL') }}</small>
<div class="text-center text-sm-right"><span
class="badge badge-secondary">{{ $user->role }}</span>
<div class="text-muted">
<small>{{ $user->created_at->isoFormat('LL') }}</small>
</div>
</div>
</div>
</div>
</div>
<ul class="nav nav-tabs">
<li class="nav-item"><a href="javasript:void(0)"
class="active nav-link">{{ __('Settings') }}</a>
</li>
</ul>
<div class="tab-content pt-3">
<div class="tab-pane active">
<div class="row">
<div class="col">
<div class="row">
<div class="col">
@if( $errors->has('pterodactyl_error_message') )
@foreach( $errors->get('pterodactyl_error_message') as $err )
<span class="text-danger" role="alert">
<small><strong>{{ $err }}</strong></small>
</span>
@endforeach
@endif
@if( $errors->has('pterodactyl_error_status') )
@foreach( $errors->get('pterodactyl_error_status') as $err )
<span class="text-danger" role="alert">
<ul class="nav nav-tabs">
<li class="nav-item"><a href="javasript:void(0)"
class="active nav-link">{{ __('Settings') }}</a>
</li>
</ul>
<div class="tab-content pt-3">
<div class="tab-pane active">
<div class="row">
<div class="col">
<div class="row">
<div class="col">
@if( $errors->has('pterodactyl_error_message') )
@foreach( $errors->get('pterodactyl_error_message') as $err )
<span class="text-danger" role="alert">
<small><strong>{{ $err }}</strong></small>
</span>
@endforeach
@endif
<div class="form-group"><label>{{__('Name')}}</label> <input
class="form-control @error('name') is-invalid @enderror"
type="text" name="name" placeholder="{{ $user->name }}"
value="{{ $user->name }}">
@endforeach
@endif
@if( $errors->has('pterodactyl_error_status') )
@foreach( $errors->get('pterodactyl_error_status') as $err )
<span class="text-danger" role="alert">
<small><strong>{{ $err }}</strong></small>
</span>
@endforeach
@endif
<div class="form-group"><label>{{__('Name')}}</label> <input
class="form-control @error('name') is-invalid @enderror"
type="text" name="name" placeholder="{{ $user->name }}"
value="{{ $user->name }}">
@error('name')
<div class="invalid-feedback">
{{ $message }}
@error('name')
<div class="invalid-feedback">
{{ $message }}
</div>
@enderror
</div>
@enderror
</div>
</div>
</div>
<div class="row">
<div class="col">
<div class="form-group"><label>{{ __('Email') }}</label> <input
class="form-control @error('email') is-invalid @enderror"
type="text" placeholder="{{ $user->email }}" name="email"
value="{{ $user->email }}">
<div class="row">
<div class="col">
<div class="form-group"><label>{{ __('Email') }}</label> <input
class="form-control @error('email') is-invalid @enderror"
type="text" placeholder="{{ $user->email }}" name="email"
value="{{ $user->email }}">
@error('email')
<div class="invalid-feedback">
{{ $message }}
@error('email')
<div class="invalid-feedback">
{{ $message }}
</div>
@enderror
</div>
@enderror
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-12 col-sm-6 mb-3">
<div class="mb-3"><b>{{ __('Change Password') }}</b></div>
<div class="row">
<div class="col">
<div class="form-group">
<label>{{ __('Current Password') }}</label>
<input
class="form-control @error('current_password') is-invalid @enderror"
name="current_password" type="password"
placeholder="••••••">
<div class="row">
<div class="col-12 col-sm-6 mb-3">
<div class="mb-3"><b>{{ __('Change Password') }}</b></div>
<div class="row">
<div class="col">
<div class="form-group">
<label>{{ __('Current Password') }}</label>
<input
class="form-control @error('current_password') is-invalid @enderror"
name="current_password" type="password"
placeholder="••••••">
@error('current_password')
<div class="invalid-feedback">
{{ $message }}
@error('current_password')
<div class="invalid-feedback">
{{ $message }}
</div>
@enderror
</div>
</div>
</div>
<div class="row">
<div class="col">
<div class="form-group"><label>{{ __('New Password') }}</label>
<input
class="form-control @error('new_password') is-invalid @enderror"
name="new_password" type="password" placeholder="••••••">
@error('new_password')
<div class="invalid-feedback">
{{ $message }}
</div>
@enderror
</div>
</div>
</div>
<div class="row">
<div class="col">
<div class="form-group">
<label>{{ __('Confirm Password') }}</span></label>
<input
class="form-control @error('new_password_confirmation') is-invalid @enderror"
name="new_password_confirmation" type="password"
placeholder="••••••">
@error('new_password_confirmation')
<div class="invalid-feedback">
{{ $message }}
</div>
@enderror
</div>
@enderror
</div>
</div>
</div>
<div class="row">
<div class="col">
<div class="form-group"><label>{{ __('New Password') }}</label>
<input
class="form-control @error('new_password') is-invalid @enderror"
name="new_password" type="password" placeholder="••••••">
@error('new_password')
<div class="invalid-feedback">
{{ $message }}
</div>
@enderror
</div>
</div>
</div>
<div class="row">
<div class="col">
<div class="form-group">
<label>{{ __('Confirm Password') }}</span></label>
<input
class="form-control @error('new_password_confirmation') is-invalid @enderror"
name="new_password_confirmation" type="password"
placeholder="••••••">
@error('new_password_confirmation')
<div class="invalid-feedback">
{{ $message }}
</div>
@enderror
</div>
</div>
</div>
</div>
@if (!empty(config('SETTINGS::DISCORD:CLIENT_ID')) && !empty(config('SETTINGS::DISCORD:CLIENT_SECRET')))
<div class="col-12 col-sm-5 offset-sm-1 mb-3">
@if (is_null(Auth::user()->discordUser))
<b>{{ __('Link your discord account!') }}</b>
<div class="verify-discord">
<div class="mb-3">
@if ($credits_reward_after_verify_discord)
<p>{{ __('By verifying your discord account, you receive extra Credits and increased Server amounts') }}
</p>
@endif
</div>
</div>
<a class="btn btn-light" href="{{ route('auth.redirect') }}">
<i class="fab fa-discord mr-2"></i>{{ __('Login with Discord') }}
</a>
@else
<div class="verified-discord">
<div class="my-3 callout callout-info">
<p>{{ __('You are verified!') }}</p>
</div>
</div>
<div class="row pl-2">
<div class="small-box bg-dark">
<div class="d-flex justify-content-between">
<div class="p-3">
<h3>{{ $user->discordUser->username }}
<sup>{{ $user->discordUser->locale }}</sup>
</h3>
<p>{{ $user->discordUser->id }}
@if (!empty(config('SETTINGS::DISCORD:CLIENT_ID')) && !empty(config('SETTINGS::DISCORD:CLIENT_SECRET')))
<div class="col-12 col-sm-5 offset-sm-1 mb-3">
@if (is_null(Auth::user()->discordUser))
<b>{{ __('Link your discord account!') }}</b>
<div class="verify-discord">
<div class="mb-3">
@if ($credits_reward_after_verify_discord)
<p>{{ __('By verifying your discord account, you receive extra Credits and increased Server amounts') }}
</p>
</div>
<div class="p-3"><img width="100px"
height="100px"
class="rounded-circle"
src="{{ $user->discordUser->getAvatar() }}"
alt="avatar"></div>
</div>
<div class="small-box-footer">
<a href="{{ route('auth.redirect') }}">
<i
class="fab fa-discord mr-1"></i>{{ __('Re-Sync Discord') }}
</a>
@endif
</div>
</div>
</div>
@endif
</div>
@endif
</div>
<div class="row">
<div class="col d-flex justify-content-end">
<button class="btn btn-primary"
type="submit">{{ __('Save Changes') }}</button>
<a class="btn btn-light" href="{{ route('auth.redirect') }}">
<i class="fab fa-discord mr-2"></i>{{ __('Login with Discord') }}
</a>
@else
<div class="verified-discord">
<div class="my-3 callout callout-info">
<p>{{ __('You are verified!') }}</p>
</div>
</div>
<div class="row pl-2">
<div class="small-box bg-dark">
<div class="d-flex justify-content-between">
<div class="p-3">
<h3>{{ $user->discordUser->username }}
<sup>{{ $user->discordUser->locale }}</sup>
</h3>
<p>{{ $user->discordUser->id }}
</p>
</div>
<div class="p-3"><img width="100px"
height="100px"
class="rounded-circle"
src="{{ $user->discordUser->getAvatar() }}"
alt="avatar"></div>
</div>
<div class="small-box-footer">
<a href="{{ route('auth.redirect') }}">
<i
class="fab fa-discord mr-1"></i>{{ __('Re-Sync Discord') }}
</a>
</div>
</div>
</div>
@endif
</div>
@endif
</div>
<div class="row">
<div class="col d-flex justify-content-end">
<button class="btn btn-primary"
type="submit">{{ __('Save Changes') }}</button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</form>
</form>
</div>
<!-- END CUSTOM CONTENT -->
</div>
<!-- END CUSTOM CONTENT -->
</div>
</section>
<!-- END CONTENT -->
</div>
</section>
<!-- END CONTENT -->
@endsection
@endsection