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

.
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
.
docs: sync MODULE_REFACTORING_GUIDE.md from .claude/module-refactoring.md
Add Installer migration steps, empty src/ directory warning, services.php exclude note,
trailing slash convention, template link absolutization rules, and @var IDE annotation note.
.
refactor(library): extract ArticleCommentsController at /library/article/{id}/comments
Delete includes/comments.php, register new route, fix page_title support in Comments.php,
align FileCommentsController to use PageMeta with page_title field.
.
refactor(mail): extract unblock action to invokable controller
.
refactor(mail): extract block action to invokable controller