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

.
chore(library): remove migrated legacy includes and templates
Remove includes and templates that have been replaced by controllers:
del, download, lastcom, moder, move, premod, tagcloud, tags
.
refactor(library): extract lastcom and tagcloud actions to controllers
- Add LatestCommentsController at /library/latest-comments
- Update latest comments link in main.phtml
- Add 301 redirect from ?act=lastcom to new URL
- Remove lastcom and tagcloud from array_includes in index.php
.
refactor(library): extract tags action to controller
- Add TagsController at /library/tags?tag=
- Add unique page titles with PageMeta and pagination suffix
- Update Links.php default URL to /library/tags?tag=
- Add 301 redirect from ?act=tags to new URL
- Remove tags from array_includes in index.php
.
refactor(library): extract premod action to controller
- Add PremodController at /library/premod
- Approve single article via ?approve={id} with POST-Redirect-GET and flash message
- Approve all via ?approve-all with POST-Redirect-GET and flash message
- Show empty state message when no articles pending moderation
- Show moderation button with counter on library main page for admins
- Fix section counters to exclude unmoderated articles (premod = 1 only)
- Update moderation links in Counters.php and notifications module
- Remove premod from array_includes in index.php
.
refactor(library): extract move action to controller
- Add MoveSectionController at /library/section/{parentId}/move/{direction}/{positionIndex}
- Update move links in sectionListAdminPanel.phtml to absolute URLs
- Remove move from array_includes in index.php
.
refactor(library): extract moder action to controllers
- Add EditArticleController at /library/article/{id}/edit
- Add EditSectionController at /library/section/{id}/edit
- Update act=moder links in templates to absolute URLs
- Remove moder from array_includes in index.php
.
refactor(library): extract download action to controller
New route: GET /library/article/{id}/download/{type}

Legacy URLs (?act=download&type=X&id=Y) redirect 301 in index.php.
Updated book.phtml to use new absolute URLs.
Removed unused del and download from includes dispatch.
.
refactor(library): extract delete actions to controllers
New routes:
GET /library/article/{id}/delete
GET /library/article/{id}/image/delete
GET|POST /library/section/{id}/delete

Legacy URLs (?act=del&type=X&id=Y) redirect 301 via
LibraryLegacyRedirectResolver in index.php.

Updated all module templates to use new absolute URLs.
.
docs: update AGENTS.md and MODULE_REFACTORING_GUIDE.md
AGENTS.md: add Model::query() rule, full docker exec commands in pre-commit checklist,
fix Docker Command Policy to use consistent container lookup pattern.
MODULE_REFACTORING_GUIDE.md: remove duplicate Access Guard, Repository Rules, and
Template Variables content already covered in AGENTS.md; reference AGENTS.md instead.
.
chore: add CLAUDE.md as symlink to AGENTS.md