]> BookStack Code Mirror - bookstack/blob - app/Users/Controllers/UserProfileController.php
PHP: Updated DOMPDF version
[bookstack] / app / Users / Controllers / UserProfileController.php
1 <?php
2
3 namespace BookStack\Users\Controllers;
4
5 use BookStack\Activity\ActivityQueries;
6 use BookStack\Http\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     public function __construct(
14         protected UserRepo $userRepo,
15         protected ActivityQueries $activityQueries,
16         protected UserContentCounts $contentCounts,
17         protected UserRecentlyCreatedContent $recentlyCreatedContent
18     ) {
19     }
20
21
22     /**
23      * Show the user profile page.
24      */
25     public function show(string $slug)
26     {
27         $user = $this->userRepo->getBySlug($slug);
28
29         $userActivity = $this->activityQueries->userActivity($user);
30         $recentlyCreated = $this->recentlyCreatedContent->run($user, 5);
31         $assetCounts = $this->contentCounts->run($user);
32
33         $this->setPageTitle($user->name);
34
35         return view('users.profile', [
36             'user'            => $user,
37             'activity'        => $userActivity,
38             'recentlyCreated' => $recentlyCreated,
39             'assetCounts'     => $assetCounts,
40         ]);
41     }
42 }