Optimize anonymous public sessions
This commit is contained in:
@@ -157,6 +157,11 @@ class AppServiceProvider extends ServiceProvider
|
||||
$displayName = null;
|
||||
$userId = null;
|
||||
$toolbarContentTypes = collect();
|
||||
$request = request();
|
||||
$canReadSessionAuth = $request instanceof \Illuminate\Http\Request
|
||||
&& $request->hasSession()
|
||||
&& $request->attributes->get('skinbase.session_skipped') !== true;
|
||||
$authUser = $canReadSessionAuth ? Auth::user() : null;
|
||||
|
||||
try {
|
||||
$toolbarContentTypes = $this->app
|
||||
@@ -168,8 +173,8 @@ class AppServiceProvider extends ServiceProvider
|
||||
$toolbarContentTypes = collect();
|
||||
}
|
||||
|
||||
if (Auth::check()) {
|
||||
$userId = Auth::id();
|
||||
if ($authUser) {
|
||||
$userId = (int) $authUser->id;
|
||||
try {
|
||||
$uploadCount = DB::table('artworks')->where('user_id', $userId)->count();
|
||||
} catch (\Throwable $e) {
|
||||
@@ -206,7 +211,7 @@ class AppServiceProvider extends ServiceProvider
|
||||
|
||||
try {
|
||||
$receivedCommentsCount = $this->app->make(ReceivedCommentsInboxService::class)
|
||||
->unreadCountForUser(Auth::user());
|
||||
->unreadCountForUser($authUser);
|
||||
} catch (\Throwable $e) {
|
||||
$receivedCommentsCount = 0;
|
||||
}
|
||||
@@ -218,7 +223,7 @@ class AppServiceProvider extends ServiceProvider
|
||||
$avatarHash = null;
|
||||
}
|
||||
|
||||
$displayName = Auth::user()->name ?: (Auth::user()->username ?? '');
|
||||
$displayName = $authUser->name ?: ($authUser->username ?? '');
|
||||
}
|
||||
|
||||
$view->with(compact('userId','uploadCount', 'favCount', 'msgCount', 'noticeCount', 'receivedCommentsCount', 'avatarHash', 'displayName', 'toolbarContentTypes'));
|
||||
|
||||
Reference in New Issue
Block a user