Журнал изменений
Replaced legacy preview() calls with getTplPreviewContent() across all affected admin modules and removed hardcoded 'tab' index from setTplAdminInfoPage() calls so the info tab is resolved automatically.
Core changes:
preview() migration (admin/modules/messages.php, newsletter.php, modules/clients, faq, files, help, jokes, links, media admin/index.php):
- preview($title, $body, ...) replaced with getTplPreviewContent([...]) using named params
setTplAdminInfoPage() cleanup (modules/clients, contact, faq, files, forum, help, jokes, links, media admin/index.php):
- Removed explicit 'tab' => N argument; tab is now auto-computed
Benefits:
- Consistent preview rendering API across all admin modules
- Info tab no longer needs manual index maintenance
Technical notes:
- getTplPreviewContent() accepts named array: title, texta, textb, field, mod
- Behavior unchanged; visual output identical
Two targeted config updates applied after module refactoring: content module removed from the search index, base_fingerprint refreshed to match current admin module state.
Core changes:
- Search config (config/search.php):
- Removed 'content' from the 'mods' list of searchable modules
- Local config (config/local.php):
- Updated base_fingerprint to 95db25262294c2f867f3bb75581549e2e3b277eb
Benefits:
- Search no longer indexes removed content module
- Fingerprint reflects current admin build state
Technical notes:
- base_fingerprint is auto-derived; manual update after module changes
- Backward compatible
Reformatted all module config files to match project coding style: no alignment padding in array assignments, no heredoc syntax for multi-line string values. Behavior unchanged.
Core changes:
Config array style (config/money.php, config/news.php, config/order.php, config/pages.php, config/rss.php, config/shop.php, config/sitemap.php, config/voting.php, config/whois.php):
- Removed extra spaces used to align '=>' operators
- Replaced heredoc (<<<HTML) with regular single-quote multi-line strings
Benefits:
- Consistent style across all config files
- Easier to diff and merge
Technical notes:
- No config values were changed
- Backward compatible
Updates the base_fingerprint value in config/local.php to reflect the current state of the codebase following the batch refactor of admin modules to the new fragment API.
Core changes:
- Fingerprint update (config/local.php):
- Updated base_fingerprint from 268a9d51... to 8cc21cf6...
Benefits:
- Config fingerprint in sync with current codebase state
Technical notes:
- Auto-generated value; no logic or behavior changes
Rewrites the links and media admin modules to use the unified new/* fragment API, replacing all legacy getTplAdminNavi, getTplAdminTableHead, and getTplAdminActionMenu calls with getTplAdminTabs, new/table, new/row-actions, new/table-row, new/table-cells, and new/form; removes four legacy HTML fragment files.
Core changes:
- Links list and add form (modules/links/admin/index.php):
- Fixed setHead() leading-whitespace indentation
- Replaced getTplAdminNavi with getTplAdminTabs in all three status branches
- Row rendering migrated to new/table-row, new/table-cells, new/row-actions
- Add/edit form rebuilt as new/form rows array with new/input and new/textarea
- Table + pager wrapped in getHtmlPart('box')
- Media list and add form (modules/media/admin/index.php):
- Fixed setHead() leading-whitespace indentation
- Replaced getTplAdminNavi with getTplAdminTabs in all three status branches
- Row rendering migrated to new/table-row, new/table-cells, new/row-actions
- Add/edit and linked-files forms rebuilt as new/form rows array
- Table + pager wrapped in getHtmlPart('box')
- Template cleanup (templates/admin/fragments/):
Removed: admin-links-add-rows.html, admin-links-list-row.html, admin-media-add-rows.html, admin-media-link-row.html
Benefits:
- Links and media modules fully aligned with new admin fragment API
- All legacy HTML fragment files for these modules eliminated
Technical notes:
- No SQL, schema, or URL changes
Rewrites the files and help admin modules to use the unified new/* fragment API, replacing all legacy getTplAdminNavi, getTplAdminTableHead, and getTplAdminActionMenu calls with getTplAdminTabs, new/table, new/row-actions, new/table-row, new/table-cells, and new/form; removes four legacy HTML fragment files.
Core changes:
- Files list and add form (modules/files/admin/index.php):
- Fixed setHead() leading-whitespace indentation
- Replaced getTplAdminNavi with getTplAdminTabs in all three status branches
- Row rendering migrated to new/table-row, new/table-cells, new/row-actions
- Add/edit form rebuilt as new/form rows array
- Table + pager wrapped in getHtmlPart('box')
- Help list and add form (modules/help/admin/index.php):
- Fixed setHead() leading-whitespace indentation
- Replaced getTplAdminNavi with getTplAdminTabs in both status branches
- Row rendering migrated to new/table-row, new/table-cells, new/row-actions
- Add and thread-view forms rebuilt as new/form rows array
- Table + pager wrapped in getHtmlPart('box')
- Template cleanup (templates/admin/fragments/):
Removed: admin-files-add-rows.html, admin-help-add-rows.html, admin-help-addview-rows.html, admin-help-list-row.html
Benefits:
- Files and help modules fully aligned with new admin fragment API
- All legacy HTML fragment files for these modules eliminated
Technical notes:
- No SQL, schema, or URL changes
Rewrites four admin modules to use the unified new/* fragment API, replacing getTplAdminNavi, getTplAdminTableHead, getTplAdminActionMenu, and associated legacy helpers with getTplAdminTabs, new/table, new/row-actions, new/table-row, and new/table-cells; also fixes setHead() indentation regression in files that had accidental leading whitespace.
Core changes:
- Content list (modules/content/admin/index.php):
- Replaced inline head array + getTplAdminNavi with getTplAdminTabs
- Table rebuilt with new/table (is_wrapless) + new/row-actions
- Pager and table wrapped in getHtmlPart('box')
- FAQ list (modules/faq/admin/index.php):
- Replaced getTplAdminNavi with getTplAdminTabs in both status branches
- Row rendering migrated to new/table-row, new/table-cells, new/row-actions
- Table + pager wrapped in getHtmlPart('box')
- Forum sync (modules/forum/admin/index.php):
- Replaced getTplAdminNavi with getTplAdminTabs
- 'alert' key updated to 'new/alert'
- Table rebuilt with new/table + new/table-cells, new/table-row
- Removed getTplAdminTitleTip / getTplAdminTextLink / getTplAdminColorLabel
- Jokes list (modules/jokes/admin/index.php):
- Replaced getTplAdminNavi with getTplAdminTabs in both status branches
- Row rendering migrated to new/table-row, new/table-cells, new/row-actions
- Fixed setHead() leading-whitespace indentation
Benefits:
- All four modules render tables and action menus via the new fragment API
- No legacy getTplAdminNavi or getTplAdminTableHead calls remain in these files
Technical notes:
- No SQL, schema, or URL changes; no template files deleted in this group
Rewrites the clients and contact admin modules to use the unified new/* fragment API, replacing all legacy getTplAdminNavi, getTplAdminTableHead, getTplAdminActionMenu, getTplAdminForm, and radio_form calls; removes three legacy HTML fragment files that are no longer referenced.
Core changes:
- Clients list (modules/clients/admin/index.php):
- Replaced getTplAdminNavi with getTplAdminTabs
- Rewrote row rendering: new/table-row, new/table-cells, new/row-actions
- Add form rebuilt as new/form with rows array; new/input for all fields
- getTplAdminForm replaced with new/form + getHtmlPart('box')
- Contact config (modules/contact/admin/index.php):
- Replaced getTplAdminNavi with getTplAdminTabs
Config form rebuilt as new/form rows array: getTplRadioGroup for admins, new/textarea for info field
- getTplAdminForm / getTplHiddenInput replaced with new/form hidden array
- Template cleanup (templates/admin/fragments/):
Removed: admin-clients-add-rows.html, admin-clients-list-row.html, admin-contact-config-rows.html
Benefits:
- Both modules aligned with the unified admin fragment API
- No dependency on legacy HTML fragment files for form or table rendering
Technical notes:
- No SQL, schema, or URL changes
- Prepared statements and getVar() usage unchanged
Rewrites the changelog admin config form to use the new/form rows array and new/* fragment components, adds CSRF token validation on configsave, and updates chlogRenderCommitStats() in common.php to render file lists and stats with inline HTML when running in the admin context (ADMIN_FILE defined) instead of depending on deprecated changelog-file-row and changelog-stats fragments; removes three legacy HTML fragment files.
Core changes:
- Config form (modules/changelog/admin/index.php):
- Replaced getTplAdminNavi with getTplAdminTabs in changelog() and config()
- Replaced new/alert frag key 'alert' with 'new/alert' for consistency
Config form rebuilt as new/form with rows array: source select with new/label-hint, GitHub fields with conditional row_class, numeric inputs, and radio groups via getTplRadioGroup
- configsave() now validates CSRF token via checkSiteToken('changelog')
- Main changelog view wraps content in getHtmlPart('box') with checkPerms()
- Dual-context rendering (modules/changelog/common.php):
chlogRenderCommitStats(): when ADMIN_FILE is defined, renders file list and stats as raw inline HTML instead of calling legacy fragment functions
- Frontend path unchanged: continues using changelog-file-row / changelog-stats
- Template cleanup (templates/admin/fragments/):
Removed: admin-chlog-config-rows.html, admin-chlog-config-script.html, admin-chlog-source-select.html
Benefits:
- Config form no longer depends on legacy HTML fragments
- Admin file-stats rendering decoupled from frontend fragment contract
- CSRF-safe config saves with named token scope
Technical notes:
- Frontend template fragments (changelog-file-row, changelog-stats) unchanged
- No schema, URL, or stored-data changes
Rewrites the auto_links admin module to use the new unified fragment API and strengthens security by adding CSRF token validation on all state-mutating actions (delete, hitreset, zerodel, configsave); removes six legacy HTML fragment files that were replaced by inline new/* fragment calls.
Core changes:
- List and stats views (modules/auto_links/admin/index.php):
Replaced getTplAdminNavi with getTplAdminTabs; added getSiteToken() to hitreset and zerodel tab URLs
- Rewrote row rendering with new/table-row, new/table-cells, new/row-actions
- Config form rebuilt using new/form rows array and new/select, new/input
- Replaced getTplAdminForm / getTplBox with new/form + getHtmlPart('box')
- Stats view: table head and rows migrated to new/table + new/table-row
- CSRF hardening (modules/auto_links/admin/index.php):
delete(), hitreset(), zerodel() now check checkSiteToken(); skip mutation and redirect with _TOKENMISS warning on failure
- add() save path checks checkSiteToken() before INSERT/UPDATE
- Template cleanup (templates/admin/fragments/):
Removed: admin-auto-links-add-rows.html, admin-auto-links-config-rows.html, admin-auto-links-list-row.html, admin-auto-links-stats-head.html, admin-auto-links-stats-row.html, admin-auto-links-stats-search.html
Benefits:
- CSRF-safe: all write operations require a valid site token
- Legacy fragment files eliminated; rendering fully handled in PHP
- Config form uses structured rows array for consistency with other modules
Technical notes:
- Prepared statements were already in use; no SQL API changes
- No schema, URL, or session-API changes