openvk/Web/Presenters/NotificationPresenter.php
Alexander Minkin 6ec54a379d
feat: add linting of code (#1220)
* feat(lint): add php-cs-fixer for linting

Removing previous CODE_STYLE as it was not enforced anyway and using PER-CS 2.0.

This is not the reformatting commit.

* style: format code according to PER-CS 2.0 with php-cs-fixer

* ci(actions): add lint action

Resolves #1132.
2025-01-31 18:20:13 +03:00

33 lines
993 B
PHP

<?php
declare(strict_types=1);
namespace openvk\Web\Presenters;
final class NotificationPresenter extends OpenVKPresenter
{
protected $presenterName = "notification";
public function renderFeed(): void
{
$this->assertUserLoggedIn();
$archive = $this->queryParam("act") === "archived";
$count = $this->user->identity->getNotificationsCount($archive);
if ($count == 0 && $this->queryParam("act") == null) {
$mode = "archived";
$archive = true;
} else {
$mode = $archive ? "archived" : "new";
}
$this->template->mode = $mode;
$this->template->page = (int) ($this->queryParam("p") ?? 1);
$this->template->iterator = iterator_to_array($this->user->identity->getNotifications($this->template->page, $archive));
$this->template->count = $count;
$this->user->identity->updateNotificationOffset();
$this->user->identity->save();
}
}