This commit is contained in:
21 files changed
+844
-15
No files matched your search
@@ -1,18 +1,22 @@
|
||||
<?php namespace RVR\Controller;
|
||||
|
||||
use RVR\PersistentData\Model\User;
|
||||
use RVR\Repository\CommunityMemberRepository;
|
||||
use SokoWeb\Interfaces\Authorization\ISecured;
|
||||
use SokoWeb\Interfaces\Request\IRequest;
|
||||
use SokoWeb\Interfaces\Response\IContent;
|
||||
use SokoWeb\Response\HtmlContent;
|
||||
use SokoWeb\Response\JsonContent;
|
||||
|
||||
class HomeController implements ISecured
|
||||
{
|
||||
private IRequest $request;
|
||||
|
||||
private CommunityMemberRepository $communityMemberRepository;
|
||||
|
||||
public function __construct(IRequest $request)
|
||||
{
|
||||
$this->request = $request;
|
||||
$this->communityMemberRepository = new CommunityMemberRepository();
|
||||
}
|
||||
|
||||
public function authorize(): bool
|
||||
@@ -20,8 +24,25 @@ class HomeController implements ISecured
|
||||
return $this->request->user() !== null;
|
||||
}
|
||||
|
||||
public function getIndex(): IContent
|
||||
public function getHome(): IContent
|
||||
{
|
||||
return new HtmlContent('index');
|
||||
/**
|
||||
* @var User $user
|
||||
*/
|
||||
$user = $this->request->user();
|
||||
|
||||
$ownCommunityMembers = $this->communityMemberRepository->getAllByUser($user, true);
|
||||
$communities = [];
|
||||
foreach ($ownCommunityMembers as $ownCommunityMember) {
|
||||
$communities[] = $ownCommunityMember->getCommunity();
|
||||
}
|
||||
usort($communities, function($a, $b) {
|
||||
return strnatcmp($a->getName(), $b->getName());
|
||||
});
|
||||
|
||||
return new HtmlContent('home', [
|
||||
'communities' => $communities,
|
||||
'upcomingEvents' => []
|
||||
]);
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user