История коммитов

.
refactor(help): migrate to new pagination component
Replace legacy displayPagination with Johncms\Http\Pagination (PaginationFactory
+ PaginationGuard) in the smilies and avatar list controllers.

Extract filesystem/config listing and item building into use cases with
count()/getPage(): GetMySmiliesUseCase, GetAdminSmiliesUseCase,
GetUserSmiliesUseCase, GetAvatarsUseCase. Controllers keep only HTTP
concerns (access checks, pagination, render).

Unify smilies naming: methods/constants/local variables now use the
module's "Smilies" spelling (USER_SMILIES_MAX, userSmiliesCount); only the
User model attribute access (->smileys) and DB key stay "smileys".

Admin smilies directory is now read via sorted glob() instead of opendir/
readdir for deterministic count()/getPage() paging.

Add unit tests for the my-smilies and user-smilies use cases.
.
refactor(online): migrate to new pagination component
Replace legacy ->paginate()/displayPagination with Johncms\Http\Pagination
(PaginationFactory + PaginationGuard) across all four online controllers.

Extract inline queries into repositories (Domain interfaces + Eloquent
implementations) and use cases with count()/getPage(), following the
guestbook reference. Unify users/history/guests rows under a single
OnlineItemDTO mapped in the use cases, decoupling the user_row template
from Eloquent models. Add unit tests for the use cases.
.
docs: update documentation submodule (pagination guide)
.
docs: update changelog
.
fix(admin): invalidate container cache after settings update (#252)
.
test(guestbook): add unit tests for module use cases, access and forms
.
docs(agents): add pagination usage guidelines
.
refactor(guestbook): extract user stats update to repository
.
feat: add new pagination component and migrate guestbook to it
.
refactor(guestbook): migrate to use case architecture
- fix TypeError: nullable manage URLs in GuestbookEntryMetaDTO
- enforce manage access server-side: edit/delete/reply check author rights (403)
- unify mode/access checks in GuestbookMode and GuestbookAccess, drop GuestbookService
- add use cases: create, edit, reply, delete, clear + context/ensure-access guards
- move all data access to GuestbookEntryRepositoryInterface, add ClearGuestbookPeriod enum
- extract text formatting from model to GuestbookEntryTextFormatter (profile activity updated)
- use PageMeta for paginated titles, Session service instead of $_SESSION
- escape user text at output in templates instead of controllers
- log previously swallowed exceptions in captcha and attached files cleanup