Журнал изменений

Журнал изменений

Фильтр и поиск

Всего: 1347 Доступных коммитов | Отфильтровано: 1347 Коммиты | Страница: 85 из 135
08.04.2026
Refactor: blocks, favorites, privat modules — migrate navi and placeholders
Автор: Eduard Laas | Дата: 15:28 08.04.2026

Replace getTplAdminNavi with getTplAdminTabs, getTplAdminPlaceholder with box partial, and setAdminInfoPage with setTplAdminInfoPage across all three modules.

Core changes:

  1. blocks.php:
  • blocks(): replace getTplAdminPlaceholder with box partial (box_id repajax_block)
  • getTplAdminTabs already in place; no navi migration needed
  1. favorites.php:
  • favorites(): add global $tpl; replace getTplAdminNavi with getTplAdminTabs; replace getTplAdminPlaceholder with box partial (box_id repadminFavoriteList)
  • config(): replace getTplAdminNavi with getTplAdminTabs
  • info(): replace getTplAdminNavi + setAdminInfoPage with setTplAdminInfoPage
  1. privat.php:
  • privat(): add global $tpl; replace getTplAdminNavi with getTplAdminTabs; replace getTplAdminPlaceholder with box partial (box_id repadminPrivateList)
  • config(): replace getTplAdminNavi with getTplAdminTabs
  • info(): replace getTplAdminNavi + setAdminInfoPage with setTplAdminInfoPage

Benefits:

  • All three modules now use approved getTplAdminTabs contract
  • box_id attribute on partial enables HTMX partial replacement
  • setTplAdminInfoPage replaces two-call pattern (navi + setAdminInfoPage)

Technical notes:

  • No logic changes; purely rendering contract migration
  • getTplAdminNavi no longer called from these modules
Refactor: uploads module — migrate tabs and placeholders to new fragment API
Автор: Eduard Laas | Дата: 15:27 08.04.2026

Replace getTplAdminNavi and admin-uploads-tabs-content with new/tabs, new/tabs-link and new/tabs-panel fragments. Replace getTplAdminPlaceholder with box partial. Move HTMX lazy-load attributes from sattrs array to individual tab link_attr fields.

Core changes:

  1. uploads() (admin/modules/uploads.php):
  • Replace getTplAdminNavi with getTplAdminTabs (main module nav; subtitle via getUploadsSearch)
  • Remove sattrs / subtab / id params — HTMX attrs moved to per-tab link_attr in new/tabs-link
  • Replace admin-uploads-tabs-content fragment with new/tabs + new/tabs-link + new/tabs-panel
  • Replace getTplAdminPlaceholder('repf1') / ('repf2') with box partial using box_id
  1. tplconfig(), config(), tplsave() (admin/modules/uploads.php):
  • Replace getTplAdminNavi with getTplAdminTabs with correct tab index

Benefits:

  • Removes admin-uploads-tabs-content module-specific fragment
  • HTMX lazy-load per sub-tab expressed as link_attr; cleaner than sattrs side-channel
  • Sub-tab panels defined as new/tabs-panel with explicit IDs

Technical notes:

  • Token appended to HTMX URLs at uploads() call site (token var initialized early)
  • getTplAdminTabsSetup removed; new tabs runtime driven by data-sl-tabs-init on new/tabs
Refactor: database module — migrate table rendering and alerts to new fragment API
Автор: Eduard Laas | Дата: 15:27 08.04.2026

Replace getTplAdminTable, getTplAdminTableHead, getTplAdminTableRow, getTplAdminTableCells, getTplAdminFlagBox and old alert fragment calls with new/* fragment API throughout. Replace getTplAdminNavi with getTplAdminTabs in all handler functions.

Core changes:

  1. getSqltable (admin/modules/database.php):
  • Replace getTplAdminFlagBox with inline new/inline-badge fragment call
  • Replace getTplAdminTableRow + getTplAdminTableCells with new/table-row + new/table-cells
  • Replace getTplAdminTable + getTplAdminTableHead with new/table fragment (disable_sort)
  1. getSqlsum (admin/modules/database.php):
  • Replace getTplAdminInfoLine lines and old alert fragment with new/alert using lines array
  • Inline status as plain text (_OK / _ERROR) instead of inline-badge
  1. All handler functions (dump, dblock, etc.):
  • Replace getTplAdminNavi with getTplAdminTabs
  • Replace old alert type-string calls with new/alert is_warn bool

Benefits:

  • Removes dependency on all deprecated getTplAdmin* table helpers
  • Alert rendering consistent with rest of admin via new/alert

Technical notes:

  • disable_sort: true used on SQL log table (row order is query-defined)
  • new/alert lines array renders each element as a separate paragraph
Refactor: editor module — migrate to new fragment API with HTMX form and CSRF guard
Автор: Eduard Laas | Дата: 15:27 08.04.2026

Replace all legacy fragment and helper calls with new/* fragment API. Rebuild getEditbox as a new/form with HTMX attributes, box_id anchor, and inline token. Add CSRF check to save() with HTMX-aware response. Replace robots button fragment with new/button and inline onclick. Add global $tpl declaration to renderEditorPage.

Core changes:

  1. getEditbox (admin/modules/editor.php):
  • Replace getTplAdminNavi with getTplAdminTabs
  • Replace admin-editor-note-panel with box partial using box_id repeditornote
  • Replace alert fragments with new/alert (is_warn flag instead of type string)
  • Replace getTplAdminForm + row helpers with new/form (form_attr, rows, hidden, submit_label)
  • Replace textarea_code direct call with getTplCodeEditor helper
  1. getRobotsButton (admin/modules/editor.php):
  • Replace admin-editor-robots-button fragment with new/button + button_attr containing data-robots-template and inline onclick for CodeMirror setValue/focus
  1. renderEditorPage (admin/modules/editor.php):
  • Replace admin-editor-root-panel fragment with box partial using box_id repeditor
  • Add missing global $tpl declaration
  1. save() (admin/modules/editor.php):
  • Add checkSiteToken() guard with HTMX-aware early echo for new/alert is_warn
  1. info() (admin/modules/editor.php):
  • Replace setAdminInfoPage with setTplAdminInfoPage

Benefits:

  • CSRF guard in save() closes missing token check for file write operations
  • HTMX partial replacement targets named box_id anchors (repeditor, repeditornote)
  • No module-specific fragments remain; all replaced by new/* contracts

Technical notes:

  • getTplCodeEditor called with mode, id, name, text — API unchanged
  • form_attr passed through new/form via form.html form_attr extension
Refactor: categories module — migrate to new fragment API with CSRF guard in fix()
Автор: Eduard Laas | Дата: 15:27 08.04.2026

Replace getTplAdminNavi with getTplAdminTabs throughout. Replace getTplAdminPlaceholder and legacy alert fragment calls with new/alert and box partial. Add CSRF token validation to fix() with early return on failure. Add module search widget as subtitle.

Core changes:

  1. categories(), add(), subadd(), addedit(), edit() (admin/modules/categories.php):
  • Replace getTplAdminNavi with getTplAdminTabs (same op/tab arrays, no subtabs)
  • Replace getTplAdminCatSearch + sub param with subtitle_html via getHtmlPart searchbox
  • Replace getTplAdminPlaceholder with $tpl->getHtmlPart('box', ['box_id' => ...])
  • Replace alert fragment calls with new/alert
  1. fix() (admin/modules/categories.php):
  • Add checkSiteToken() guard with early return and getTplAdminTabs header output
  • Prevents category reorder endpoint from being called without a valid CSRF token
  1. add() and related form functions:
  • Replace admin-categories-add-rows fragment with getTplRadioGroup and new/* inputs
  • Form rows passed as structured arrays to new/form fragment

Benefits:

  • CSRF protection in fix() closes a missing token check
  • Subtitle search widget aligned right in module head via new flex layout
  • All legacy admin-* fragment calls replaced by new/* contracts

Technical notes:

  • getTplAdminNavi no longer called from this module
  • No behavioral changes to category CRUD logic
Refactor: core/admin — migrate category, block and favorite lists to new fragment API
Автор: Eduard Laas | Дата: 15:26 08.04.2026

Replace all module-specific table/row fragment helpers in getAdminCategoryList, getAdminBlockList and getAdminFavoriteList with direct new/table, new/table-row, new/table-cells, new/title-tip and new/row-actions fragment calls.

Core changes:

  1. getAdminCategoryList (core/admin.php):
  • Build tipItems array for new/title-tip (description, subcategory, language)
  • Replace getTplAdminCategoryRow with new/table-row + new/table-cells inline
  • Replace getTplAdminCategoryTable with new/table fragment (disable_sort, colspan for weight)
  • Replace getTplAdminMoveControls with getTplMoveControls
  • Inline delete action as row-actions item with onclick_attr
  1. getAdminBlockList (core/admin.php):
  • Build tipItems array for new/title-tip (name, language, expiry)
  • Replace getTplAdminBlockRow with new/table-row + new/table-cells inline
  • Replace getTplAdminBlockTable with new/table fragment (disable_sort, colspan for weight)
  • Inline status-change, edit and delete as row-actions items with onclick_attr
  1. getAdminFavoriteList (core/admin.php):
  • Analogous migration to new/table-row + new/table-cells + new/table

Benefits:

  • Removes dependency on all deleted module-specific row/table fragments
  • Table header defined inline as data; no separate head fragment needed
  • Action menus built from structured arrays; no string concatenation

Technical notes:

  • disable_sort: true used for reorderable lists where JS sort would conflict
  • Colspan 2 on weight column accounts for the adjacent move-controls cell
  • All onclick_attr values use htmlspecialchars on title to prevent XSS
Refactor: helpers — promote getTplMoveControls and extend getTplAdminTabs
Автор: Eduard Laas | Дата: 15:26 08.04.2026

Move getTplMoveControls from helpers-old to helpers as a stable new-layer helper. Extend getTplAdminTabs to pass tabs_id, is_runtime, tabs_index and tabs_sync_selector to the module-head fragment, and forward link_attr and rel per tab link. Remove deprecated module-specific table/row helpers from helpers-old.

Core changes:

  1. core/helpers.php:
  • getTplAdminTabs: pass tabs_id, is_runtime, tabs_index (from tab or tabs_index key), tabs_sync_selector, link_attr and rel to the new/module-head fragment
  • getTplMoveControls: new stable helper replacing getTplAdminMoveControls in old layer; renders new/move-controls fragment with HTMX transport and token-safe URLs
  1. core/helpers-old.php:
  • Remove getTplAdminMoveControls (superseded by getTplMoveControls in helpers.php)
  • Remove getTplAdminCategoryTable, getTplAdminCategoryRow
  • Remove getTplAdminBlockTable, getTplAdminBlockRow
  • Remove getTplAdminFavoriteTable, getTplAdminFavoriteRow
  • Remove getTplAdminPrivateTable, getTplAdminPrivateRow
  • Remove getTplAdminFilesTable, getTplAdminFilesRow
  • Update getTplAdminFlagBox to use new/inline-badge fragment

Benefits:

  • getTplMoveControls is now a first-class new-layer helper
  • getTplAdminTabs covers all new module-head contract attributes in one call
  • Removes ~110 lines of deprecated, module-specific rendering code

Technical notes:

  • All callers of removed helpers have been migrated to direct fragment rendering
  • getTplAdminFlagBox still exists in helpers-old for legacy callers not yet migrated
Feature: tabs.js — add data-sl-tabs-sync selector support and extract index variable
Автор: Eduard Laas | Дата: 15:26 08.04.2026

Tab switching now reads data-sl-tabs-sync from the root element and updates matching DOM nodes (e.g. hidden inputs) with the active tab index on every pick.

Core changes:

  1. tabs.js (setAdminTabs):
  • Read data-sl-tabs-sync attribute from the tabs root element
  • Extract tab index into local var before the loop (avoids repeated indexOf call)
  • On pick: query all syncSelector nodes and set their .value to the active index
  • Reuse index var for sessionStorage and info-link URL param (no behavior change)

Benefits:

  • Enables tab index persistence into hidden form inputs without PHP-side coupling
  • Reduces redundant list.indexOf(link) calls inside the pick handler

Technical notes:

  • Backward compatible: if data-sl-tabs-sync is absent, behavior is unchanged
  • Complements the new tabs_sync_selector attr added to module-head.html
Refactor: CSS — migrate move-controls to new layer and polish admin layout
Автор: Eduard Laas | Дата: 15:26 08.04.2026

Move legacy sl_bl_up/down styles from system.css to new.css under sl-* naming. Improve alert border-radius and module-head flex layout for subtitle alignment.

Core changes:

  1. new.css:
  • Add .sl-bl-up / .sl-bl-down (move controls, replaces legacy sl_* equivalents)
  • Add border-radius: 6px to .sl-warn and .sl-info alert boxes
  • Refactor .sl-module-head-body to flex with space-between for subtitle alignment
  • Fix .sl-module-head-subtitle margin and searchbox float reset
  1. system.css:
  • Remove legacy .sl_bl_up / .sl_bl_down rules (now covered by new.css)

Benefits:

  • Move-control styles now live in the new layer alongside the move-controls fragment
  • Alert boxes visually consistent with rounded corners
  • Module head subtitle (e.g. search widget) aligns right without float hacks

Technical notes:

  • No behavior change; purely visual and structural CSS migration
  • sl_* legacy classes remain unaffected elsewhere
Refactor: admin fragments — extend base layer and remove module-specific fragments
Автор: Eduard Laas | Дата: 15:25 08.04.2026

New fragment contracts replace module-specific HTML templates with neutral, reusable fragments aligned to the new admin base layer architecture.

Core changes:

  1. New fragments (templates/admin/fragments/new/):
  • inline-badge.html: colored status badge (replaces admin-flag-box)
  • move-controls.html: HTMX up/down reorder controls (replaces admin-move-controls)
  1. Extended fragments (templates/admin/fragments/new/):
  • form.html: add optional form_attr pass-through for HTMX attributes
  • label-hint.html: switch hint to triple-braces to allow HTML content
  • module-head.html: add tabs_id, is_runtime, tabs_index, tabs_sync_selector attrs
  • row-actions-item.html: add link_attr for HTMX and custom attributes on links
  • table.html: add disable_sort flag to suppress data-sl-table-sort
  • th.html: add colspan support
  1. Extended partials (templates/admin/partials/):
  • box.html: add optional box_id attribute for HTMX target anchoring
  1. Removed module-specific fragments (13 files):
  • admin-block-row.html, admin-block-table.html
  • admin-category-row.html, admin-category-table.html
  • admin-editor-note-panel.html, admin-editor-robots-button.html, admin-editor-root-panel.html
  • admin-favorites-row.html, admin-favorites-table.html
  • admin-files-row.html, admin-files-table.html
  • admin-private-row.html, admin-private-table.html

Benefits:

  • All callers now use neutral new/* contracts instead of module-specific fragments
  • box_id enables HTMX partial replacement without extra wrapper elements
  • Reduces total fragment count; eliminates one-off module templates

Technical notes:

  • inline-badge replaces getTplAdminFlagBox output contract
  • move-controls replaces getTplAdminMoveControls output contract
  • Deleted fragments had no callers remaining after module migration
Хотите опробовать SLAED CMS в действии?
Идеи и предложения
Обратная связь
Подтверждение

Поделиться
QR-код

Предварительный просмотр