Skip to content

Commit 057e7f3

Browse files
committed
Look for App\Models\User before App\User in provider
1 parent a3ac873 commit 057e7f3

File tree

2 files changed

+27
-3
lines changed

2 files changed

+27
-3
lines changed
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<?php
2+
3+
namespace PanicHD\PanicHD\Models;
4+
5+
use App\Models\User;
6+
use PanicHD\PanicHD\Traits\MemberTrait;
7+
8+
class Member_AppModelsUser extends User
9+
{
10+
use MemberTrait;
11+
12+
protected $table = 'users';
13+
}

src/PanicHDServiceProvider.php

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,12 +34,23 @@ public function boot()
3434

3535
// Alias for Member model
3636
$loader = \Illuminate\Foundation\AliasLoader::getInstance();
37-
$member_model_class = 'PanicHD\PanicHD\Models\Member';
38-
if (Schema::hasTable('panichd_settings') and Setting::where('slug', 'member_model_class')->count() == 1 and Setting::grab('member_model_class') != 'default') {
39-
// TODO: Check Class existence before using it. Add in cache to avoid this checks in every load
37+
if (Schema::hasTable('panichd_settings') and Setting::where('slug', 'member_model_class')->count() == 1) {
4038
$member_model_class = Setting::grab('member_model_class');
4139
}
4240

41+
if (!isset($member_model_class) or $member_model_class == 'default'){
42+
$member_model_class = Cache::remember('panichd::provider_member_class', 3600, function () {
43+
// Check App\Models\User existence first
44+
if (class_exists('\App\Models\User')){
45+
return 'PanicHD\PanicHD\Models\Member_AppModelsUser';
46+
47+
}else{
48+
// Inherit from App\User as default
49+
return 'PanicHD\PanicHD\Models\Member_AppUser';
50+
}
51+
});
52+
}
53+
4354
$loader->alias('PanicHDMember', $member_model_class);
4455

4556
$this->loadTranslationsFrom(__DIR__.'/Translations', 'panichd');

0 commit comments

Comments
 (0)