Чтение RSS каналов

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

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

Всего: 500 Доступных коммитов | Отфильтровано: 500 Коммиты | Страница: 1 / 50
Вчера (20.04.2026)
Refactor: core + admin + modules — migrate callers to consolidated contracts
Автор: Eduard Laas | Дата: 23:24 20.04.2026

Migrate every call site away from the removed admin fragments and onto the consolidated atomic contracts (link, div, hidden, button, select, inline-badge, save-action, title-tip, message-block with details, flat menu-grid items). Also switch two public theme helpers (pager-dots, radio-group) to the flag-based variants and make small variable-name cleanups along the way.

Core changes:

  1. core/helpers.php:
  2. getTplPager / getPageNumbers: pager-dots now emits inline-badge with is_pager_dots

  3. getTplRadioGroup: uses post-div with is_radio_group flag
  4. getTplTitleTip: builds an items array and hands it to title-tip directly (no per-item include)

  5. getRatingAsync: drops the deleted rating-wrap in favour of div
  6. core/admin.php:
  7. admininfo row actions switch from row-actions-item to link
  8. All ~20 admin info row constructions realigned to the new contract
  9. core/system.php:
  10. getUserSessionInfo / getUserSessionAdminInfo: supply name_link and module_link structured objects alongside the legacy fields so session-row can render links via the consolidated link fragment

  11. adminblock: add admin_link / logout_link objects
  12. renderFootControls: add top_link object for the upper anchor
  13. encode_php: use div with is_code flag instead of code-block
  14. getAsyncPager: pager-dots switches to inline-badge variant
  15. getCartSummary: rename $titleLink to $titlink to satisfy the variable-name rule (letters only, ≤8 chars)

  16. admin/index.php (admin dashboard):
  17. getAdminMenu: compose image_link, title_link, link (grid) objects consumed by the new menu-grid-item / menu-list-item contracts

  18. getAdminPanel: feed items_html directly to the flattened menu-grid (no per-row chunking; CSS now wraps)

  19. admin/modules/*.php:
  20. admins, blocks, categories, editor, groups, monitor, scheduler, security: migrate emissions from removed fragments (row-actions-item, user-search, multi-select, etc.) to the consolidated fragments and pass link objects where needed

  21. modules/*/admin/index.php:
  22. account, auto_links, changelog, content, news, search: migrate admin-side emissions the same way; notably content/admin and news/admin switch comment/action groupings to the new contracts

  23. modules/money/index.php (send):
  24. Build message-block details as a structured list (label + value_html) instead of concatenating title-tip-item output into details_html

  25. modules/shop/index.php:
  26. edit-tip callers pass edit_link / delete_link objects with confirm_text flag instead of the old flat edit_*/delete_* scalar fields

Benefits: - Every admin emission now goes through the same atomic fragment set; no hidden fragment-specific logic - Dashboard menu-grid is a single flat list; layout is CSS-driven - Session and footer rendering work off structured link objects, matching how the rest of the codebase composes links - Pager-dots and radio-group callers stop depending on deleted per-purpose fragments

Technical notes: - Closes the multi-commit refactor series: admin fragment consolidation + public fragment contract extension + admin CSS update + caller migration - link/div-based recomposition matches the HTML emitted previously; no visible output change expected - A CRLF warning is emitted on core/admin.php during staging; Git normalizes the file to LF on commit as per .gitattributes

Refactor: templates/public — extend shared fragment contracts
Автор: Eduard Laas | Дата: 23:23 20.04.2026

Align the three public themes (default, lite, simple) with the same fragment contracts used on the admin side: inline items loop inside title-tip, pager-dots variant on inline-badge, radio-group flag on post-div, and optional structured details list on message-block.

Core changes:

  1. title-tip fragment (default/lite/simple):
  2. Replace the single-content emission with a multi-branch contract: content_html / content / items (with inline label+value+is_last loop) / label_text

  3. Remove the per-theme title-tip-item fragment; the item loop is inlined into title-tip to match the admin contract

  4. inline-badge fragment (default/lite/simple):
  5. Add is_pager_dots flag: renders the ellipsis pager placeholder (sl_num_exit span) directly from inline-badge

  6. Matches admin-side pager-dots consolidation
  7. post-div fragment (default/lite/simple):
  8. Add is_radio_group flag that appends the sl-radio-group class when the caller composes a radio group via post-div

  9. message-block partial (default/lite/simple):
  10. Accept a structured details list (label + value/value_html) in addition to the existing free-form details_html

  11. Callers building a key/value detail table can now skip manual <br> composition

Benefits: - Single contract for title-tip across admin and public themes, eliminating the per-item include round-trip - Shared pager-dots visual uses one fragment definition across stacks - Message-block rendering works from structured data instead of pre-concatenated strings

Technical notes: - Pairs with the core/helpers getTplTitleTip switch to items and the modules/money/send switch to details (see caller migration commit) - No visible HTML change when callers supply the same data in the new format; the rendered markup matches prior output

Style: templates/admin/css — support consolidated admin fragments
Автор: Eduard Laas | Дата: 23:23 20.04.2026

Rework the admin stylesheet to match the consolidated fragment contracts: drop rules that belonged to removed fragments, add rules for the atomic variants now emitted by select, div, save-action, and flatten menu-grid to remove the row wrapper.

Core changes:

  1. Admin stylesheet (templates/admin/assets/css/new.css):
  2. Add .sl-save-action-select for save-action's composed select
  3. Add .sl-debug-section, .sl-debug-section-success, .sl-debug-section-warn, .sl-debug-section-danger to drive the debug-section fragment's tone variants

  4. Add .sl-code-row-odd, .sl-code-row-even, .sl-code-row-num, .sl-code-row-cell to style the code-row fragment directly

  5. Flatten .sl-menu-grid: it is now a flex wrap container, with the former .sl-menu-grid-row wrapper removed from markup

  6. Remove .sl-menu-grid-row, .sl-user-search* rules tied to the deleted menu-grid-row and user-search fragments

Benefits: - Stylesheet stays aligned with the current admin fragment set - Menu-grid renders from a single flat items_html without per-row wrappers, matching the admin/index.php caller change

Technical notes: - Pure CSS change; no JS or template contract implications beyond what the admin fragment refactor already introduced

Refactor: templates/admin — consolidate fragments and partials
Автор: Eduard Laas | Дата: 23:22 20.04.2026

Collapse ~35 single-purpose admin fragments into shared atomic ones (link, div, hidden, button, select, inline-badge, etc.) and extend the surviving fragments with the flags their consolidated callers need. Three admin partials are realigned to the new contracts.

Core changes:

  1. Removed obsolete fragments (templates/admin/fragments/):
  2. Wrappers collapsed into link/div: alpha-nav-link, alpha-nav-text, category-sub-item, comment--link,

comment-avatar, comment-num-link, comment-text, comment-list-form, geo-ip-flag, label-item, row-actions-item, view-field, title-tip-item, table-cell, table-row-content, span-raw, navi-tab-link, navi-tab-content, tabs-* helpers
  • Form/list wrappers collapsed into shared form/select/hidden: * ajax-textarea-form, comment-list-form, edit-list-select,

forum-reply-form, money-calculator-form, multi-select, radio-group, radio-option, user-search
  • Display wrappers collapsed into inline-badge/div: * graphic, img-preview, pdo-error-badge, rating-wrap, code-block,

code-table, div-collapse, session-admin-summary, list-bottom, menu-grid-row, msg-center, warning-list, checkbox-input, pager-dots (now an inline-badge flag)
  1. Extended surviving fragment contracts (templates/admin/fragments/):
  2. title-tip: inline items loop replaces the title-tip-item include
  3. table: single <table> emission with is_wrapless + disable_sort branches handled via boolean flags instead of 4-way duplication

  4. form: accept either raw actions_html + submit_label or a structured actions block that defers to save-action

  5. save-action: compose from hidden + select + button fragments
  6. inline-badge: add is_pager_dots flag (replaces pager-dots)
  7. post-div, div, link, span, button, hidden, input, checkbox, radio, select, textarea, file-input, foot-controls, module-foot, admin-block-links, menu-grid, menu-grid-item, menu-list-item, debug-section, code-row, edit-tip, session-row, tabs-link, toggle-form-block, table-cells: tighten markup, add boolean flags required by migrated call sites

  8. Realigned partials (templates/admin/partials/):
  9. changelog.html, login.html, registration.html: update to match new contract of underlying fragments (link/hidden/button composition)

Benefits: - One atomic fragment per concept; admins stop carrying 3-4 near duplicates for the same tag - Flag-driven variants keep markup consistent across callers - Contracts converge between admin and public themes (title-tip, inline-badge, save-action etc.)

Technical notes: - Pairs with the core + admin + modules caller migration commit below; intermediate checkouts are not expected to render cleanly - No behavioural change in the final output; the emitted HTML matches the previous markup once callers pass the new flag/link arrays

Docs: admin/info — drop legacy blocks help content
Автор: Eduard Laas | Дата: 23:22 20.04.2026

Empty the per-language blocks help pages. Their contents described the previous block-<name>.php naming convention and the old fly/standard block mechanics, none of which match the current implementation after the recent block filename normalization and block-rendering refactor.

Core changes:

  1. Legacy help pages (admin/info/blocks/):
  2. Empty de.html, en.html, fr.html, pl.html, uk.html
  3. Files are kept in place (they are loaded by the admin help viewer) but carry no body until rewritten against the current architecture

Benefits: - Stops shipping documentation that contradicts the current code - Clears the slate for a rewrite aligned with the new naming and APIs

Technical notes: - No code changes and no path changes; the admin help viewer simply renders an empty help body for this section - New documentation for blocks will land separately once the stack settles

Chore: config — update base fingerprint
Автор: Eduard Laas | Дата: 22:02 20.04.2026

Refresh _meta.base_fingerprint in local config to reflect the new baseline after the block-filename normalization, slim form-add partial and liste/form-add caller migration.

Core changes:

  1. Local config snapshot (config/local.php):
  2. Update _meta.base_fingerprint from 9bac3d77… to f005dfd5…

Benefits: - Keeps the deploy fingerprint consistent with the current tree state - Prevents the integrity check from flagging the refactor as drift

Technical notes: - Value-only change; no structural or behavioural impact

Refactor: core + modules — migrate callers to liste partial and slim form-add
Автор: Eduard Laas | Дата: 22:01 20.04.2026

Align call sites with two consolidated template contracts: - liste partial absorbs table-open/rows/table-close/empty-alert/pager, replacing the old table + table-row + alert branching in callers - form-add partial accepts a single fields string; callers now compose token, name, email, title, category, text, site fields from atomic fragments themselves

Core changes:

  1. core/user.php (getPrivateMessageView):
  2. Introduce local $messageList helper that emits liste partial
  3. Convert inbox/outbox/saved lists to build $rows arrays and hand them to the helper instead of manual table + alert branching

  4. Switch row loop to while ($row = ...) pattern used elsewhere
  5. Module callers (modules/*/index.php):
  6. form-add contract migration: * account, contact, recommend, shop.kasse: inject token via

getHtmlFrag('hidden') inside `fields` instead of `token` param
  • money, order: drop redundant empty token param
  • whois.add, help.add/addview, auto_links.add: replace lbl_*, emailval,
titleval, catselect, hometext, siteval, has_name/is_user with composed `fields` built from form-field-row fragments
  • liste partial migration (table + alert + pager collapsed to one call): auto_links.send, clients., content, faq, files, jokes, links,

media, news, pages, shop.kasse/clients/partners, users.*, account.last/asetup
  • Consistently switch list loops to while ($row = $db->getSqlRow()) with array destructuring for readability and alignment with existing patterns

Benefits: - One template contract for listings; callers stop emitting scaffolding - Token injection is visible at the call site, matching how all other form fields are composed - Empty-result branches no longer duplicate alert scaffolding - Smaller modules files overall (-362 lines vs +405 lines removed)

Technical notes: - Pairs with the preceding templates/partials — slim form-add commit - No behavioural change in output structure; visible HTML matches the previous table/alert markup (liste is a wrapper around the same table/table-row/alert fragments) - getHtmlPart('liste', ...) accepts: rows, table_open, table_close, optional empty_alert, optional pager_html

Refactor: templates/partials — slim form-add to fields-only contract
Автор: Eduard Laas | Дата: 22:01 20.04.2026

Drop all inline field rendering from form-add partials. The partial now only renders the form shell, extrafields, fields and the submit row; per-field scaffolding (token, name, email, title, category, hometext, bodytext, fields_before/after_text, site) is no longer the partial's responsibility.

Core changes:

  1. Form shell partial (templates/default/partials/form-add.html):
  2. Remove inline {% if token %} hidden input
  3. Remove inline {% if has_name %}/{% if is_user %} username blocks
  4. Remove inline {% if emailval %}, {% if lbl_title %}, {% if lbl_cat %}
  5. Remove inline {% if hometext %}, {% if bodytext %}, {% if siteval %}
  6. Remove {% if fields_before_text %} / {% if fields_after_text %} hooks
  7. Keep: form tag, extrafields, fields, submit row
  8. Same change applied to templates/lite/partials/form-add.html
  9. Same change applied to templates/simple/partials/form-add.html

Benefits: - Single rendering contract across themes (no divergent inline markup) - Callers compose the body from atomic fragments they already own - No surprise required fields hidden in the partial; form semantics (required, placeholder, names) live where the data lives

Technical notes: - Breaking contract: callers must now inject token, name, email, title, category, text/body, site fields via fields (see accompanying modules refactor commit) - Unused params (token, has_name, lbl_*, emailval, hometext, bodytext, siteval, etc.) are simply ignored by the thinner partial

Feature: blocks — normalize filenames by dropping `block-` prefix
Автор: Eduard Laas | Дата: 22:00 20.04.2026

Unify block file naming across storage, admin UI, default data and docs. Block files no longer carry a block- prefix; the admin editor, default dataset, migration and template comments are aligned to the new scheme.

Core changes:

  1. Block files (blocks/):
  2. Rename 23 block files: block-<name>.php -> <name>.php * Covers navigation, language, user_info, stat, banner_random, forum,

login, menu, modules, news, pages, faq, files, jokes, jokes_random, auto_links, center*, img, links, search, voting
  • No code changes inside block files themselves
  • Admin editor (admin/modules/blocks.php):
  • Update scandir() regex to match ^(.+)\.php$ instead of ^block-(.+)\.php * Affects add(), fileedit(), filecode(), edit() scanners

  • Update POST validation for bfile to accept bare filenames * addsave(), editsave(), filecode(), filecodesave()

  • Update filecode() path rewrite to drop the block- prefix injection
  • Update title fallback in addsave() to only strip .php
  • Default dataset & migration (setup/sql/):
  • insert.sql: rewrite default _blocks rows to new filenames
  • table_update6_3.sql: add UPDATE statement to strip block- from bfile for existing installations during upgrade

  • Template comments (templates/*/assets/css/blocks.css):
  • Update inline doc reference blocks/block-keywords_search_style.php to blocks/keywords_search_style.php in default and lite themes

Benefits: - Consistent filename convention across the codebase - Shorter, cleaner block filenames in admin and storage - Fresh installs and upgrades both land on the new scheme

Technical notes: - Upgrade path is handled by a single UPDATE in table_update6_3.sql - Admin regex now accepts any <name>.php under blocks/, which is the same trust boundary as before (still scoped to the blocks/ directory) - No behavioural change in block rendering; only naming is affected

Refactor: templates — remove obsolete fragments and partials
Автор: Eduard Laas | Дата: 15:22 20.04.2026

Delete all template files that are no longer referenced by any PHP caller after the migration to generic fragments and inlined form-add/form-wrap patterns. Applied uniformly to default, lite, and simple themes.

Core changes:

  1. Fragments replaced by generic fragment flags:
  2. submit → form-submit fragment (same rendering, unified contract)
  3. graphic → span with class + title
  4. line-stack-item → span with sl-line-stack-item + is_line_break flag
  5. msg-center → post-div with is_center flag
  6. messagebox → post-div with class + title fragment
  7. radio-group → post-div with sl-radio-group class
  8. category-icon → link with img_src (or span for locked items)
  9. category-title → link/span with sl-catname class
  10. category-sub-item → post-div
  11. div-hr → post-div with has_hr flag
  12. tip → post-div with date-badge + span inside
  13. basic-search → caller builds search inline
  14. Auto-links fragments replaced:
  15. auto-links-embed-link → link fragment
  16. auto-links-embed-image → link with img_src
  17. auto-links-code-row → table-row + textarea
  18. Code display:
  19. code-table → table open/close with is_form flag
  20. Rating/voting:
  21. voting-post → checkbox/radio + list-item
  22. voting-basic → post-div with class post-vote
  23. Shop fragments:
  24. shop-cart-button → link with is_htmx + onclick_attr
  25. shop-kasse-content → post-div wrapper
  26. Email/notification fragments:
  27. security-mail-message → message-block partial
  28. rss-source-title → title (is_level_two) + link (is_blank)
  29. recommend-success-text → alert fragment
  30. account-comment-section → nested post-div
  31. Media:
  32. media-link-row → form-field-row with link label + input
  33. Partials replaced by form-add/form-wrap + inlined fields:
  34. contact-form → form-add with form-field-row fields
  35. files-download-form → form-wrap with hidden + form-submit
  36. forum-reply-form → form-add with form_attr
  37. calculator-form → form-add with number/result/button fields
  38. mini-post-form → form-add
  39. fieldset-post-form → fieldset-block
  40. recommend-form, rss-info-form, rss-read-forms → form-add with inlined fields
  41. shop-kasse-form → retained as named partial (not deleted)
  42. whois-output → inline fieldset-block composition

Benefits: - Removes ~108 dead template files from the repository - Fragment directory contains only actively used generic components - Partial directory retains only true reusable view shells

Technical notes: - All deleted files have confirmed zero callers after preceding refactor commits - Applied identically to default, lite, and simple themes

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

Хотите опробовать SLAED CMS в действии?

Технологии

PHPMySQLHTML 5CSS 3jQueryjQuery UI

Контакты

  • D-49179, Deutschland
    Ostercappeln, Im Siek 6
  • +49 176 61966679

  • https://slaed.net
Идеи и предложения
Обратная связь