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

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

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

Всего: 1045 Доступных коммитов | Отфильтровано: 1045 Коммиты | Страница: 51 / 105
13.04.2026
Refactor: admin modules — migrate to Parser::filterContent()
Автор: Eduard Laas | Дата: 14:17 13.04.2026

Replace filterMarkdown() + filterReplaceText() with $prs->filterContent() in all admin-context module files. Add global $prs to affected function signatures.

Core changes:

  1. Admin panel modules (admin/modules/):
  2. admins.php → save(): migrate mail body rendering for admin password email
  3. security.php → bansave(): migrate ban notification email body
  4. Module admin controllers (modules/*/admin/index.php):
  5. account/admin: save() — migrate mail body for new-user password email
  6. help/admin: view help page text rendering
  7. money/admin: billing() call — migrate author and info text fields (2 sites)

    • payment notification email body
  8. order/admin: order confirmation email body
  9. shop/admin: product preview body_b and body_c fields (2 sites)

Benefits:

  • All admin module PHP files are free of filterMarkdown/filterReplaceText
  • Consistent $prs->filterContent() pattern across the entire admin layer

Technical notes:

  • All changes are mechanical; argument order adjusted to filterContent($src, false, $mod)
  • No logic or output changes
Refactor: core functions — migrate to Parser::filterContent()
Автор: Eduard Laas | Дата: 14:16 13.04.2026

Replace every filterMarkdown() + filterReplaceText() call pair in the core function files with $prs->filterContent(). Add global $prs to all affected function signatures.

Core changes:

  1. Admin helpers (core/admin.php):
  2. getAdminPrivateList(): add global $prs; replace filterMarkdown/filterReplaceText
  3. getAdminInfo(): add global $prs; replace filterMarkdown/filterReplaceText
  4. Template helpers (core/helpers.php):
  5. getTplViewFieldRows(): add global $prs; replace for type-2 custom field values
  6. getTplPreviewContent(): add global $prs; replace for $bodya and $bodyb
  7. setTplAdminInfoPage(): add global $prs; replace for $info rendering
  8. User helpers (core/user.php):
  9. setMessageShow(): add global $prs; replace for message body
  10. getUserBlock(): add global $prs; replace for user sidebar block
  11. updatePost(): add global $prs; replace for inline post rendering (2 sites)
  12. getPrivateMessageView(): add global $prs; replace for body and sig fields
  13. view() (account): add global $prs; replace for $seodesc and $sign
  14. last(): add global $prs; replace for comment snippet truncation

Benefits:

  • All core PHP functions use the new Parser API; zero legacy calls remain
  • Global $prs follows the same declaration pattern as $tpl and $db

Technical notes:

  • Argument order change: filterMarkdown($src, $mod, $safe) becomes $prs->filterContent($src, $safe, $mod) — safe flag is the second arg

  • No behavioral changes; pipeline logic is identical
Refactor: extract Parser class from filterMarkdown / filterReplaceText
Автор: Eduard Laas | Дата: 14:16 13.04.2026

Move the Markdown+BB-code processing pipeline out of the inline anonymous class in core/system.php into a dedicated Parser class at core/classes/parser.php. Expose a single entry point filterContent() that merges the old two-step filterMarkdown() + filterReplaceText() call into one method. Instantiate $prs globally alongside $tpl in system.php and remove the now-replaced standalone functions.

Core changes:

  1. New class (core/classes/parser.php):
  2. Parser class with filterContent(string $src, bool $safe, string $mod) as the unified entry point

    • safe=true: escapes user-injected HTML and applies URL allowlist
    • safe=false: allows raw HTML blocks and admin BB tags
  3. Internal pipeline: filterBbBlocks → filterCode → filterBlocks → filterSafe (safe mode) → filterStash

  4. Per-request parse cache keyed by md5(src + safe + mod) to avoid re-parsing identical content within one request

  5. All logic is a direct extraction of the anonymous class from system.php; no behavioral changes

  6. Bootstrap (core/system.php):
  7. Add require_once for core/classes/parser.php
  8. Instantiate $prs = new Parser() immediately after $tpl
  9. Remove filterMarkdown() and filterReplaceText() function definitions
  10. Migrate all call sites inside system.php to $prs->filterContent()

    • getBlocks(), scheduler mail, comment rendering, updateComment(),
getUserSessionInfo() area

Benefits:

  • Parser logic is testable in isolation via core/classes/parser.php
  • Single filterContent() call replaces every filterMarkdown() + filterReplaceText() pair
  • Removes 780-line anonymous class from system.php bootstrap

Technical notes:

  • $prs is a global like $tpl and $db; callers must declare global $prs
  • filterMarkdown() and filterReplaceText() no longer exist after this commit
  • All remaining callers are migrated in subsequent commits
Chore: config — update base_fingerprint after fragment namespace refactor
Автор: Eduard Laas | Дата: 11:51 13.04.2026

Regenerate base_fingerprint to reflect the current state of the codebase after the admin fragment namespace was flattened and all PHP callers were updated to use flat fragment paths.

Core changes:

  1. Config fingerprint (config/local.php):
  2. Update base_fingerprint from 95db252... to 67064900...

    • Reflects changes across templates, core, admin modules, and
module admin/public pages from the fragment refactor

Benefits:

  • Fingerprint is consistent with the actual file state
  • Prevents false-positive change detection on next build

Technical notes:

  • No functional change; fingerprint is a build-state checksum only
Refactor: module public pages — migrate to flat fragment API, fix span-btn
Автор: Eduard Laas | Дата: 11:51 13.04.2026

Remove the new/ prefix from getHtmlFrag() calls in public-facing module controllers and replace the removed span-btn fragment with the new inline-badge fragment. Update title_tip() call sites to use the new structured array API.

Core changes:

  1. Content module (modules/content/index.php):
  2. Migrate title_tip() call to structured array: label/value/is_last pairs

    • Replaces getTplAdminTipLine() helper with direct data array
  3. Forum module (modules/forum/index.php):
  4. Replace span-btn fragment calls with inline-badge across all icon rows

    • topic state badges: new, old, popular, announce, hot, mod, admin,
closed, pinned (9 call sites)
  • forum state badges: new, nonew, closed (3 call sites)
  • Fix form submit button: sl_but_blue → sl-but-blue (BEM class)
  • Rename title_attr → title_text in inline-badge call signature
  • Files, links, media, money, shop, users, voting (modules/*/index.php):
  • Remove new/ prefix from getHtmlFrag() calls where present
  • Apply BEM class name corrections where applicable

Benefits:

  • Public module pages no longer reference deleted span-btn fragment
  • Consistent inline-badge fragment usage across admin and front-end
  • title_tip() structured API replaces ad-hoc string concatenation

Technical notes:

  • inline-badge replaces span-btn 1:1 for icon-label badges; title attr key renamed from title to title_text in the new fragment signature

  • sl_but_blue → sl-but-blue is a visual-only class change (no layout effect)
Refactor: module admin pages — migrate to flat fragment API
Автор: Eduard Laas | Дата: 11:51 13.04.2026

Remove the new/ prefix from every getHtmlFrag() call in all 23 module admin controllers (modules/*/admin/index.php). Aligns the module admin layer with the flat fragment namespace introduced in the template refactor.

Core changes:

  1. Account module (modules/account/admin/index.php):
  2. Replace new/* fragment paths with flat names throughout all views

    • label-hint, input, select, select-option, checkbox, radio-group, etc.
  3. Auto-links, changelog, clients, contact, content (admin):
  4. Remove new/ prefix from getHtmlFrag() calls (input, label-hint, div-row)
  5. FAQ, files, forum, help, jokes, links, media (admin):
  6. Remove new/ prefix from all getHtmlFrag() fragment calls
  7. Money, news, order, pages, RSS, search, shop, sitemap (admin):
  8. Remove new/ prefix; shop/admin has the most call sites (select, checkbox, table-cell, table-cells, row-actions)

  9. Voting, whois (admin):
  10. Remove new/ prefix from getHtmlFrag() calls

Benefits:

  • Module admin pages are fully aligned with the flat fragment API
  • No new/ prefix fragment paths remain in any modules/*/admin/ file

Technical notes:

  • Pure path prefix removal; no logic or behavior changes
  • All 23 admin index files affected; changes are mechanical and uniform
Refactor: admin panel — migrate to flat fragment API, update admininfo()
Автор: Eduard Laas | Дата: 11:50 13.04.2026

Update admin/index.php, core/admin.php, and all 25 admin/modules/*.php to use the flat fragment namespace. Remove the new/ prefix from every getHtmlFrag() call site. Migrate admininfo() in core/admin.php from legacy getTplAdminInfoRow() to the new table-row / table-cells / row-actions-item / inline-badge fragment composition.

Core changes:

  1. Admin dashboard (core/admin.php):
  2. Rewrite admininfo() rows using table-row + table-cells + row-actions-item

    • inline-badge fragments (replaces getTplAdminInfoRow() calls)
    • All 16 module rows (account, faq, files, help, jokes, links, media,
news, pages, shop, voting, etc.) converted to new API
  1. Admin entry point (admin/index.php):
  2. Remove new/ prefix from getHtmlFrag() calls for menu and panel fragments
  3. Admin modules (admin/modules/*.php — 25 files):
  4. Remove new/ prefix from all getHtmlFrag() calls: label-hint, input, select, select-option, checkbox, radio, radio-group, textarea, hidden, div-row, div-collapse, div, form, button, submit, move-controls, tabs-link, tabs-panel, table-cell, table-cells, table-row, inline-badge, row-actions, row-actions-item, image-preview, toggle-form-block, user-search, edit-tip, title-tip

Benefits:

  • All admin panel PHP is aligned with the flat fragment namespace
  • Legacy getTplAdminInfoRow() dependency removed from core/admin.php
  • Consistent getHtmlFrag() call style across the entire admin layer

Technical notes:

  • Pure search-and-replace of new/ prefix; no logic changes
  • getTplAdminInfoRow() function can now be removed from helpers
Refactor: core — update fragment paths, inline micro-HTML, add getTplFragmentName()
Автор: Eduard Laas | Дата: 11:50 13.04.2026

Update all core PHP files to use the new flat fragment namespace after the new/ subdirectory was removed. Replace dedicated micro-fragments (meta-refresh, head-link-icon, pdo-query-time) with direct inline HTML to eliminate trivial fragment round-trips and reduce the fragment dependency surface.

Core changes:

  1. Template engine (core/classes/template.php):
  2. Change fallback alert path from new/alert → alert

    • Removes hard-coded new/ prefix in the fragment-not-found error path
  3. Database logger (core/classes/pdo.php):
  4. Replace getHtmlFrag('pdo-query-time', ...) with direct sprintf HTML

    • Eliminates pdo-query-time fragment dependency from the DB layer
  5. Pager and tab helpers (core/helpers.php):
  6. Remove new/ prefix from getHtmlFrag() calls: pager, pager-link, pager-dots
  7. Remove new/ prefix from tabs-link, module-head, alert calls in getTplPager() and getTplAdminTabs() / setTplAdminInfoPage()

  8. Legacy helpers (core/helpers-old.php):
  9. Add getTplFragmentName(string $name): string helper for theme-aware fragment path resolution (used by access.php, security.php, system.php)

  10. Remove obsolete getTplAdminTable(), getTplAdminTableRow(), getTplAdminForm(), and related wrapper functions (replaced by direct getHtmlFrag() calls in callers)

  11. Exit-page renderers (core/access.php, core/security.php):
  12. Inline meta-refresh and head-link-icon HTML directly (htmlspecialchars-safe)

    • Removes fragment dependency for trivial one-liner tags
  13. Replace head-link-css fragment lookup with getTplFragmentName() call
  14. Front-end session rendering (core/system.php):
  15. Replace new/alert with alert in getFlashHtml()
  16. Replace bare 'session-row' with getTplFragmentName('session-row') in getUserSessionInfo() and getUserSessionAdminInfo() (5 call sites)

  17. Fix CSS class: sl_but_blue → sl-but-blue in getVotingView()

Benefits:

  • Zero new/ fragment paths remain in core after this commit
  • Trivial micro-fragments (meta tag, link tag, query-time span) eliminated
  • getTplFragmentName() provides a single lookup point for theme-context paths

Technical notes:

  • Inline HTML in access.php and security.php is equivalent to the removed fragments
  • No behavior changes; only fragment-path and class-name corrections
Refactor: flatten admin fragment namespace — remove new/ subdirectory
Автор: Eduard Laas | Дата: 11:49 13.04.2026

Drop the templates/admin/fragments/new/ subdirectory and promote all shared UI primitives to the flat fragments/ root. Delete obsolete module-specific fragment files that were replaced by the new generic API in earlier commits. Update alert, table, input, th, title-tip, pager-link, and label-hint fragments to the new BEM-style CSS class naming.

Core changes:

  1. CSS stylesheets (new.css, system.css, theme.css):
  2. Rename legacy sl_ class names to BEM sl- convention throughout

    • sl_table_form → sl-table-form, sl_but_blue → sl-but-blue, etc.
  3. Add new layout utility and component classes for revised fragments
  4. Fragment promotion (templates/admin/fragments/):
  5. Move all new/.html → fragments/.html (flat namespace)

    • button, checkbox, div, div-row, div-collapse, form, hidden
    • image-preview, inline-badge, label-item, module-head, module-foot
    • move-controls, pager, pager-dots, pager-link, radio, radio-group
    • row-actions, row-actions-item, select, select-option, submit
    • table-cell, table-cells, table-row-content, table-row, tabs
    • tabs-link, tabs-panel, textarea, th, title-tip, toggle-form-block
    • user-search, edit-tip, label-hint
  6. Add new dashboard-panel, menu-grid, menu-grid-item, menu-grid-row menu-list-item, sidebar-block, edit-list-select fragments

  7. Fragment updates (existing files):
  8. alert.html: add is_flash, alert_attr, lines[] support; BEM class names
  9. table.html: add is_wrapless and disable_sort flags; BEM wrapper classes
  10. input.html: replace generic input_class with is_config flag
  11. th.html, title-tip.html, pager-link.html: minor markup updates
  12. Deleted legacy fragments (~200 files):
  13. All admin-* module-specific fragments (replaced by generic API)
  14. Micro-fragments: meta-refresh, head-link-css, pdo-query-time, span-btn script-inline, style-inline, navi, br-line, etc.

  15. Partials: admin-config-base.html, admin-config-communication.html blocks/add.html, blocks/edit.html (rendered inline in PHP)

  16. Partials and index updates:
  17. box.html, login.html, preview-content.html, registration.html, searchbox.html: align with new BEM class names and revised fragment API

Benefits:

  • Single flat fragment directory eliminates the ambiguous new/ indirection
  • BEM class naming is consistent across CSS and templates
  • Removal of 200+ obsolete fragment files reduces maintenance surface
  • New generic fragments (dashboard-panel, menu-grid) enable admin UI rebuild

Technical notes:

  • All new/ fragment paths are now invalid; PHP callers updated in parallel
  • CSS class renames are breaking for any custom themes using old sl_* names
  • No functional behavior changes — purely structural and naming refactor
12.04.2026
Refactor: admin modules — migrate to new fragment API, add CSRF tokens
Автор: Eduard Laas | Дата: 21:33 12.04.2026

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:

  1. Fragment API migration (modules/money, news, order, pages, rss, search, shop, sitemap, voting, whois — admin/index.php):

  2. getTplAdminNavi() replaced with getTplAdminTabs()
  3. getTplAdminActionMenu() replaced with new/row-actions fragment
  4. Table rows rebuilt with new/table-cell + new/title-tip fragments
  5. Legacy getTplOption/getTplSelect replaced with new/select-option/select
  6. CSRF hardening:
  7. getSiteToken() appended to all activate/delete/action URLs
  8. Style fixes:
  9. Corrected indentation (spurious leading spaces in setHead() etc.)
  10. 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

Всего: 1045 на 105 страницах по 10 на каждой странице

1 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 105
Хотите опробовать SLAED CMS в действии?
Идеи и предложения
Обратная связь
Подтверждение

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