/
MemberServiceProvider.php
47 lines (37 loc) · 1.35 KB
/
MemberServiceProvider.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<?php
namespace NineCells\Member;
use App;
use Illuminate\Support\ServiceProvider;
use Laravel\Socialite\SocialiteServiceProvider;
use Laravel\Socialite\Facades\Socialite;
use Illuminate\Foundation\AliasLoader;
use NineCells\Assets\Twbs3\Twbs3JumboNarrowServiceProvider;
use NineCells\Admin\PackageList;
class MemberServiceProvider extends ServiceProvider
{
public function boot(MemberTab $tab, PackageList $packages)
{
if (! $this->app->routesAreCached()) {
require __DIR__ . '/Http/routes.php';
}
$this->loadViewsFrom(__DIR__ . '/resources/views', 'ncells');
$this->publishes([
__DIR__ . '/database/migrations/' => database_path('migrations')
], 'migrations');
$tab->addMemberTabItemInfo('profile', 'Profile', function($member_id) {
return route('ncells::url.auth.member_profile', $member_id);
});
$packages->addPackageInfo('member', 'Members', function() {
return '/admin/members';
});
}
public function register()
{
App::register(SocialiteServiceProvider::class);
AliasLoader::getInstance()->alias('Socialite', Socialite::class);
App::register(Twbs3JumboNarrowServiceProvider::class);
$this->app->singleton(MemberTab::class, function ($app) {
return new MemberTab();
});
}
}