Browse Source

choose who can see their referral URL

1day2die 3 years ago
parent
commit
7ed402a227

+ 3 - 1
app/Classes/Settings/Misc.php

@@ -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"
 
 
         ];

+ 7 - 0
database/seeders/Seeds/SettingsSeeder.php

@@ -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'
+        ]);
     }
 }

+ 13 - 0
resources/views/admin/settings/tabs/misc.blade.php

@@ -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>

+ 157 - 157
resources/views/profile/index.blade.php

@@ -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>
-                                                        @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="••••••">
+                                                <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 }}
+                                                            @error('new_password')
+                                                            <div class="invalid-feedback">
+                                                                {{ $message }}
+                                                            </div>
+                                                            @enderror
                                                         </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="••••••">
+                                                <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 }}
+                                                            @error('new_password_confirmation')
+                                                            <div class="invalid-feedback">
+                                                                {{ $message }}
+                                                            </div>
+                                                            @enderror
                                                         </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
+                                            @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>
-                                                    </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>
+                                                        <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>
-                                                    <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 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 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
+                                                    @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>
-                                        @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>
-            </form>
+                </form>
 
 
-        </div>
-        <!-- END CUSTOM CONTENT -->
+            </div>
+            <!-- END CUSTOM CONTENT -->
 
-        </div>
-    </section>
-    <!-- END CONTENT -->
+            </div>
+        </section>
+        <!-- END CONTENT -->
 
-@endsection
+    @endsection