choose who can see their referral URL
This commit is contained in:
parent
c0e0c99a1b
commit
7ed402a227
|
@ -39,6 +39,7 @@ class Misc
|
||||||
'mailfromname' => 'nullable|string',
|
'mailfromname' => 'nullable|string',
|
||||||
'enable_referral' => 'nullable|string',
|
'enable_referral' => 'nullable|string',
|
||||||
'referral_reward' => 'nullable|numeric',
|
'referral_reward' => 'nullable|numeric',
|
||||||
|
'referral_allowed' => 'nullable|string',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
if ($validator->fails()) {
|
if ($validator->fails()) {
|
||||||
|
@ -72,7 +73,8 @@ class Misc
|
||||||
"SETTINGS::MAIL:FROM_ADDRESS" => "mailfromadress",
|
"SETTINGS::MAIL:FROM_ADDRESS" => "mailfromadress",
|
||||||
"SETTINGS::MAIL:FROM_NAME" => "mailfromname",
|
"SETTINGS::MAIL:FROM_NAME" => "mailfromname",
|
||||||
"SETTINGS::REFERRAL::ENABLED" => "enable_referral",
|
"SETTINGS::REFERRAL::ENABLED" => "enable_referral",
|
||||||
"SETTINGS::REFERRAL::REWARD" => "referral_reward"
|
"SETTINGS::REFERRAL::REWARD" => "referral_reward",
|
||||||
|
"SETTINGS::REFERRAL::ALLOWED" => "referral_allowed"
|
||||||
|
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
|
@ -479,5 +479,12 @@ class SettingsSeeder extends Seeder
|
||||||
'type' => 'integer',
|
'type' => 'integer',
|
||||||
'description' => 'Credit reward a user should receive when a user registers with his referral code'
|
'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'
|
||||||
|
]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -210,6 +210,19 @@
|
||||||
class="form-control @error('referral_reward') is-invalid @enderror">
|
class="form-control @error('referral_reward') is-invalid @enderror">
|
||||||
</div>
|
</div>
|
||||||
</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>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -100,209 +100,209 @@
|
||||||
class="fa fa-coins mr-2"></i>{{ $user->Credits() }}</span>
|
class="fa fa-coins mr-2"></i>{{ $user->Credits() }}</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@if(config('SETTINGS::REFERRAL::ENABLED') == "true")
|
||||||
<div class="mt-1">
|
@if((config('SETTINGS::REFERRAL::ALLOWED') == "client" && $user->role != "member") || config('SETTINGS::REFERRAL::ALLOWED') == "everyone")
|
||||||
@if(config('SETTINGS::REFERRAL::ENABLED') == "true" && $user->role != "member")
|
<div class="mt-1">
|
||||||
<span class="badge badge-success"><i
|
<span class="badge badge-success"><i
|
||||||
class="fa fa-user-check mr-2"></i>
|
class="fa fa-user-check mr-2"></i>
|
||||||
{{_("Referral URL")}} : {{route("register")}}?ref={{$user->referral_code}}</span>
|
{{_("Referral URL")}} : {{route("register")}}?ref={{$user->referral_code}}</span>
|
||||||
@else
|
@else
|
||||||
<span class="badge badge-warning"><i
|
<span class="badge badge-warning"><i
|
||||||
class="fa fa-user-check mr-2"></i>
|
class="fa fa-user-check mr-2"></i>
|
||||||
{{_("Make a purchase to reveal your referral-URL")}}</span>
|
{{_("Make a purchase to reveal your referral-URL")}}</span>
|
||||||
@endif
|
@endif
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
<div class="text-center text-sm-right"><span
|
||||||
<div class="text-center text-sm-right"><span
|
class="badge badge-secondary">{{ $user->role }}</span>
|
||||||
class="badge badge-secondary">{{ $user->role }}</span>
|
<div class="text-muted">
|
||||||
<div class="text-muted">
|
<small>{{ $user->created_at->isoFormat('LL') }}</small>
|
||||||
<small>{{ $user->created_at->isoFormat('LL') }}</small>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<ul class="nav nav-tabs">
|
||||||
<ul class="nav nav-tabs">
|
<li class="nav-item"><a href="javasript:void(0)"
|
||||||
<li class="nav-item"><a href="javasript:void(0)"
|
class="active nav-link">{{ __('Settings') }}</a>
|
||||||
class="active nav-link">{{ __('Settings') }}</a>
|
</li>
|
||||||
</li>
|
</ul>
|
||||||
</ul>
|
<div class="tab-content pt-3">
|
||||||
<div class="tab-content pt-3">
|
<div class="tab-pane active">
|
||||||
<div class="tab-pane active">
|
<div class="row">
|
||||||
<div class="row">
|
<div class="col">
|
||||||
<div class="col">
|
<div class="row">
|
||||||
<div class="row">
|
<div class="col">
|
||||||
<div class="col">
|
@if( $errors->has('pterodactyl_error_message') )
|
||||||
@if( $errors->has('pterodactyl_error_message') )
|
@foreach( $errors->get('pterodactyl_error_message') as $err )
|
||||||
@foreach( $errors->get('pterodactyl_error_message') as $err )
|
<span class="text-danger" role="alert">
|
||||||
<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">
|
|
||||||
<small><strong>{{ $err }}</strong></small>
|
<small><strong>{{ $err }}</strong></small>
|
||||||
</span>
|
</span>
|
||||||
@endforeach
|
@endforeach
|
||||||
@endif
|
@endif
|
||||||
<div class="form-group"><label>{{__('Name')}}</label> <input
|
@if( $errors->has('pterodactyl_error_status') )
|
||||||
class="form-control @error('name') is-invalid @enderror"
|
@foreach( $errors->get('pterodactyl_error_status') as $err )
|
||||||
type="text" name="name" placeholder="{{ $user->name }}"
|
<span class="text-danger" role="alert">
|
||||||
value="{{ $user->name }}">
|
<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')
|
@error('name')
|
||||||
<div class="invalid-feedback">
|
<div class="invalid-feedback">
|
||||||
{{ $message }}
|
{{ $message }}
|
||||||
|
</div>
|
||||||
|
@enderror
|
||||||
</div>
|
</div>
|
||||||
@enderror
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div class="row">
|
||||||
<div class="row">
|
<div class="col">
|
||||||
<div class="col">
|
<div class="form-group"><label>{{ __('Email') }}</label> <input
|
||||||
<div class="form-group"><label>{{ __('Email') }}</label> <input
|
class="form-control @error('email') is-invalid @enderror"
|
||||||
class="form-control @error('email') is-invalid @enderror"
|
type="text" placeholder="{{ $user->email }}" name="email"
|
||||||
type="text" placeholder="{{ $user->email }}" name="email"
|
value="{{ $user->email }}">
|
||||||
value="{{ $user->email }}">
|
|
||||||
|
|
||||||
@error('email')
|
@error('email')
|
||||||
<div class="invalid-feedback">
|
<div class="invalid-feedback">
|
||||||
{{ $message }}
|
{{ $message }}
|
||||||
|
</div>
|
||||||
|
@enderror
|
||||||
</div>
|
</div>
|
||||||
@enderror
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div class="row">
|
||||||
<div class="row">
|
<div class="col-12 col-sm-6 mb-3">
|
||||||
<div class="col-12 col-sm-6 mb-3">
|
<div class="mb-3"><b>{{ __('Change Password') }}</b></div>
|
||||||
<div class="mb-3"><b>{{ __('Change Password') }}</b></div>
|
<div class="row">
|
||||||
<div class="row">
|
<div class="col">
|
||||||
<div class="col">
|
<div class="form-group">
|
||||||
<div class="form-group">
|
<label>{{ __('Current Password') }}</label>
|
||||||
<label>{{ __('Current Password') }}</label>
|
<input
|
||||||
<input
|
class="form-control @error('current_password') is-invalid @enderror"
|
||||||
class="form-control @error('current_password') is-invalid @enderror"
|
name="current_password" type="password"
|
||||||
name="current_password" type="password"
|
placeholder="••••••">
|
||||||
placeholder="••••••">
|
|
||||||
|
|
||||||
@error('current_password')
|
@error('current_password')
|
||||||
<div class="invalid-feedback">
|
<div class="invalid-feedback">
|
||||||
{{ $message }}
|
{{ $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>
|
</div>
|
||||||
@enderror
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
@if (!empty(config('SETTINGS::DISCORD:CLIENT_ID')) && !empty(config('SETTINGS::DISCORD:CLIENT_SECRET')))
|
||||||
<div class="col">
|
<div class="col-12 col-sm-5 offset-sm-1 mb-3">
|
||||||
<div class="form-group"><label>{{ __('New Password') }}</label>
|
@if (is_null(Auth::user()->discordUser))
|
||||||
<input
|
<b>{{ __('Link your discord account!') }}</b>
|
||||||
class="form-control @error('new_password') is-invalid @enderror"
|
<div class="verify-discord">
|
||||||
name="new_password" type="password" placeholder="••••••">
|
<div class="mb-3">
|
||||||
|
@if ($credits_reward_after_verify_discord)
|
||||||
@error('new_password')
|
<p>{{ __('By verifying your discord account, you receive extra Credits and increased Server amounts') }}
|
||||||
<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 }}
|
|
||||||
</p>
|
</p>
|
||||||
</div>
|
@endif
|
||||||
<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>
|
</div>
|
||||||
</div>
|
|
||||||
@endif
|
|
||||||
|
|
||||||
</div>
|
<a class="btn btn-light" href="{{ route('auth.redirect') }}">
|
||||||
@endif
|
<i class="fab fa-discord mr-2"></i>{{ __('Login with Discord') }}
|
||||||
</div>
|
</a>
|
||||||
<div class="row">
|
@else
|
||||||
<div class="col d-flex justify-content-end">
|
<div class="verified-discord">
|
||||||
<button class="btn btn-primary"
|
<div class="my-3 callout callout-info">
|
||||||
type="submit">{{ __('Save Changes') }}</button>
|
<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>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</form>
|
||||||
</form>
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<!-- END CUSTOM CONTENT -->
|
<!-- END CUSTOM CONTENT -->
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
<!-- END CONTENT -->
|
<!-- END CONTENT -->
|
||||||
|
|
||||||
@endsection
|
@endsection
|
||||||
|
|
Loading…
Reference in a new issue