]> BookStack Code Mirror - bookstack/blob - app/Users/Controllers/UserProfileController.php
c1a82dda9e872564c9562e9af9f7e6d0ea94bd3c
[bookstack] / app / Users / Controllers / UserProfileController.php
1 <?php
2
3 namespace BookStack\Users\Controllers;
4
5 use BookStack\Activity\ActivityQueries;
6 use BookStack\Http\Controllers\Controller;
7 use BookStack\Users\Queries\UserContentCounts;
8 use BookStack\Users\Queries\UserRecentlyCreatedContent;
9 use BookStack\Users\UserRepo;
10
11 class UserProfileController extends Controller
12 {
13     /**
14      * Show the user profile page.
15      */
16     public function show(UserRepo $repo, ActivityQueries $activities, string $slug)
17     {
18         $user = $repo->getBySlug($slug);
19
20         $userActivity = $activities->userActivity($user);
21         $recentlyCreated = (new UserRecentlyCreatedContent())->run($user, 5);
22         $assetCounts = (new UserContentCounts())->run($user);
23
24         $this->setPageTitle($user->name);
25
26         return view('users.profile', [
27             'user'            => $user,
28             'activity'        => $userActivity,
29             'recentlyCreated' => $recentlyCreated,
30             'assetCounts'     => $assetCounts,
31         ]);
32     }
33 }