Последнии сообщения форума
Rewrote admin listing and action views in 10 modules to use the new fragment API (new/table-row, new/row-actions, new/title-tip, getTplAdminTabs instead of getTplAdminNavi). CSRF tokens added to all state-changing action URLs. Indentation and inline style issues fixed throughout.
Core changes:
Fragment API migration (modules/money, news, order, pages, rss, search, shop, sitemap, voting, whois — admin/index.php):
- getTplAdminNavi() replaced with getTplAdminTabs()
- getTplAdminActionMenu() replaced with new/row-actions fragment
- Table rows rebuilt with new/table-cell + new/title-tip fragments
- Legacy getTplOption/getTplSelect replaced with new/select-option/select
- CSRF hardening:
- getSiteToken() appended to all activate/delete/action URLs
- Style fixes:
- Corrected indentation (spurious leading spaces in setHead() etc.)
- Removed alignment padding in variable assignments
Benefits: - Consistent admin UI rendering across all modules - State-changing GET actions protected with CSRF tokens - Easier template maintenance via named fragment params
Technical notes: - new/row-actions expects 'items' array with href/label/title keys - new/title-tip expects 'items' array with label/value/is_last keys - Backward compatible: no DB or config schema changes
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





