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

simba77
refactor(downloads): extract TopUsersController with clean URL route
Migrates ?act=top_users to /downloads/top-users/ via a dedicated controller,
use case, and repository method. Two-query pagination strategy avoids MySQL
ONLY_FULL_GROUP_BY violation from grouping users by PK with SELECT *.
simba77
refactor(downloads): include search query in page title and description
simba77
refactor(downloads): extract SearchController with GET-based search URL
- New route GET /downloads/search handled by SearchController
- SearchFilesUseCase sanitizes query and delegates to repository
- DownloadFileRepository::searchFiles() with LIKE escaping
- Search form uses GET method so query is preserved in the URL
- 301 redirect from legacy ?act=search to /downloads/search/
- All Eloquent queries updated to use ::query() for IDE autocompletion
simba77
refactor(downloads): extract TopFilesController with slug-based routes
simba77
refactor(downloads): scaffold src/ and extract NewFilesController
simba77
chore: update AGENTS.md
simba77
refactor(forum): extract forum access check into middleware
Move EnsureForumAccessUseCase from ~39 controllers into ForumAccessMiddleware
applied at the route group level, eliminating repetitive try-catch boilerplate.
UploadFileController is excluded from the group to preserve JSON error responses.
simba77
feat(router): add named routes using module.action format
simba77
deprecate(router): deprecate config/routes.local.php with trigger_error
simba77
chore(docs): bump docs submodule pointer