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

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

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

Всего: 1347 Доступных коммитов | Отфильтровано: 1347 Коммиты | Страница: 73 из 135
20.04.2026
Refactor: templates — update existing fragments to boolean-flag contracts
Автор: Eduard Laas | Дата: 14:26 20.04.2026

Rewrite existing fragment and partial templates to accept boolean semantic flags instead of raw CSS class strings, consolidate conditional rendering logic inside the templates, and merge live/static rating variants into unified fragments. Applied uniformly to default, lite, and simple themes.

Core changes:

  1. Universal fragments updated to accept boolean flags:
  • link: is_footer_button, is_last, is_account_button, is_votes, is_comments, is_delete, is_category, is_avatar_link, is_blank
  • image: is_avatar (adds sl_avatar class internally)
  • span: is_highlight, is_bold, is_message_in/out/save, is_hidden, is_votes
  • post-div: is_form_submit, is_center
  • table: is_form, is_avatar_grid, is_amount, is_faq; open/close handled internally
  • select: is_account (replaces sl-field--account class string)
  • button: is_legacy_green (replaces sl_but_green class string)
  • textarea: is_editor_area (replaces sl_earea class string)
  • comment-action-ajax: is_button_blue flag
  • inline-badge: is_comment_date variant
  • category-row: is_hidden flag replaces style string
  • table-row: is_avatar flag in cell context
  1. Rating fragments merged and extended:
  • rating-bar: absorbs rating-bar-live behavior via is_live + target_id flags; has_score replaces nrate class string; data-sl-rating-width attribute for CSS
  • rating-like: absorbs rating-like-live behavior via is_live flag; has_score replaces nrate class string
  • rating-wrap: is_like replaces wrap_class string
  1. Forum/view fragments updated:
  • forum-view-basic: extended with is_private_message flag and new meta fields
  • comment.html: updated field names for consistency
  1. Navigation and account fragments:
  • account-nav, account-nav-item: updated slot names
  • login-logged, navi, msg-center, main-section, main-content-item: minor updates
  1. Partials updated:
  • view.html, contact-block.html: field name and conditional logic updates

Benefits:

  • Templates own their own CSS decisions — PHP passes intent, not class names
  • Fewer breaking changes needed for future CSS refactors
  • Rating templates unified: 4 fragments → 2 with conditional live behavior

Technical notes:

  • rating-bar-live and rating-like-live fragments are no longer called from PHP (they remain as dead files until the delete commit removes them)
  • All changes are backward-compatible within the new boolean API
Refactor: templates — add new partial and fragment templates across all themes
Автор: Eduard Laas | Дата: 14:24 20.04.2026

Introduce consolidated partial templates and new utility fragments that replace multiple scattered atomic fragments with single reusable view-level contracts. Applied uniformly to default, lite, and simple themes.

Core changes:

  1. New partial templates (*/partials/):
  • account-view: full user profile view shell
  • contact-form: contact page form with captcha and field layout
  • editor-upload-panel: BB-editor file upload panel with HTMX upload form
  • fieldset-block: generic fieldset wrapper with legend and content
  • fieldset-post-form: fieldset-wrapped post/comment add form
  • files-download-form: file download action form
  • form-wrap: generic form container (replaces ajax-textarea-form partial)
  • forum-reply-form: forum reply/edit HTMX form
  • line-list: ordered/unordered list layout for inline stacked items
  • login-nav: login form embedded in site header navigation
  • main-slider: front-page image slider partial
  • message-block: generic labeled key-value email/notification block
  • mini-post-form: compact inline post form
  • recommend-form: recommend-to-friend form
  • rss-info-form: RSS subscription info and subscribe form
  • rss-read-forms: RSS reader add-source form
  • session-summary: active session overview table
  • shop-kasse-form: shop checkout/order form
  • voting-widget: voting poll with results, admin controls, and footer links
  • whois-output: WHOIS domain/IP lookup result panel
  1. New utility fragments (*/fragments/):
  • list / list-item: generic ol/ul list and li item (replaces inline HTML lists)
  • line-stack-item: stacked inline item wrapper
  • debug-section: debug info section header
  • debug-stats: CPU/memory stats row in debug panel
  • email-noscript: noscript fallback block for HTML emails
  • rss-source-title: RSS source title row
  • security-mail-message: security event notification email body

Benefits:

  • Eliminates inline HTML string concatenation for complex form/view layouts
  • Single template file per concept instead of 3-8 micro-fragments per form
  • Uniform partial contracts across all three themes

Technical notes:

  • Applied identically to default, lite, and simple themes (87 new files total)
  • PHP callers updated in preceding commits; these files complete the contract
Refactor: admin + modules — migrate callers to new fragment/partial API
Автор: Eduard Laas | Дата: 14:23 20.04.2026

Update all module callers to match the updated fragment/partial contracts: replace CSS class strings with boolean semantic flags, adopt consolidated partials for forms and views, and align getPageNumbers() calls with the dropped $frag parameter.

Core changes:

  1. Fragment API normalization (all 20 modules + admin/modules/referers.php):
  • link: 'class' => 'sl_but_foot' → is_footer_button; 'class' => 'sl_last' → is_last; 'class' => 'sl_but' → is_account_button; 'class' => 'sl_votes/sl_coms' → is_votes/is_comments
  • image: 'class' => 'sl_avatar' → is_avatar; link_class sl-avatar-link → is_avatar_link; 'img_class' → is_avatar in table-row cells
  • table: 'class' => 'sl_table_form' → is_form; + is_avatar_grid flag for avatar grids; 'class' => 'sl_table_amount' → is_amount
  • post-div: 'class' => 'sl-form-submit' → is_form_submit; 'class' => 'sl_center' → is_center
  • select: 'select_class' => 'sl-field--account' → is_account
  • submit: 'class' => 'sl_but_blue' removed (fragment uses default style)
  1. Partial migration:
  • contact: contact-form → getHtmlPart('contact-form'); contact-email-body → message-block
  • account: account-view → getHtmlPart('account-view')
  • faq: faq-quicklinks-open/row/close → table/table-row/table with is_faq flag
  • files, forum, whois, shop, rss, recommend, money, order: respective obsolete fragments → partials
  1. Action element migration:
  • action-delete → link with is_delete flag (across forum, content, faq, voting, news, etc.)
  • action-menu-item → list-item with content_html key (all editor action menus)
  1. getPageNumbers() caller updates (admin + all modules):
  • Drop first $frag argument from every call site

Benefits:

  • Modules no longer carry CSS knowledge — all styling decisions live in templates
  • Consistent boolean flag convention across all call sites
  • Partial-based forms reduce inline HTML from module PHP files

Technical notes:

  • getPageNumbers() breaking change handled in all 21 affected call sites
  • No functional behavior changes — pure API contract migration
Refactor: core — migrate helpers, security, system, user to new partial/fragment API
Автор: Eduard Laas | Дата: 14:22 20.04.2026

Replace raw CSS class strings and obsolete fragment names with boolean semantic flags and consolidated partial templates, completing the contract-driven template layer. getPageNumbers() signature simplified by removing the unused $frag parameter.

Core changes:

  1. Fragment/partial API migration (core/helpers.php):
  • getPageNumbers(): remove dead $frag param, update all internal call sites
  • getTplViewFieldRows(): view-field → field-value, label → label key rename
  • getTplBbEditor(): inline HTML → getHtmlPart('editor-upload-panel', ...)
  • getTplAjaxTextarea(): ajax-textarea-form → getHtmlPart('form-wrap', ...) + inlined buttons
  • getRatingAsync(): nrate class string → has_score bool; rating-like-live/rating-bar-live merged into unified rating-like/rating-bar with is_live flag; wrap_class → is_like bool
  • getTplCategorySelect(): category-select → getHtmlFrag('select', ...)
  1. Security email templates (core/security.php):
  • addHackReport/addWarnReport: security-report-email + br-line → getHtmlPart('message-block', lines[])
  1. System helpers (core/system.php):
  • setHead(): getHtmlFrag('login') → getHtmlPart('login-nav')
  • filterTextHighlight(): remove admin-only span-raw branch, use span with is_highlight flag
  • setCategories(): style string → is_hidden bool; category-link → link with is_category flag; category-row style → is_hidden
  • addSitemapTask(): inline HTML ol/li → list/list-item fragments; add $tpl to globals
  • getNaviTabs(): navi-tab-link → link + list-item
  • getVotingView(): action-delete → link with is_delete; action-menu-item → list-item; voting-widget → getHtmlPart; CSS class strings → is_* booleans; width calculation clamped with max/min/round
  1. User/message templates (core/user.php):
  • setComShow: submit class removed (default style)
  • setMessageShow: post-div class → is_center bool
  • getPrivateMessageView: action-menu-item → list-item; comment-date → inline-badge with is_comment_date; comment-rank-image → image; meta-value → span with label; privat-message → forum-view-basic with is_private_message; span class strings → is_* booleans

Benefits:

  • PHP callers no longer embed CSS class strings, removing style coupling
  • Partial contracts centralize layout logic in templates
  • Unified rating-like and rating-bar fragments (removed *-live duplicates)
  • Cleaner boolean API reduces fragile string concatenation

Technical notes:

  • getPageNumbers() signature change is breaking for all callers (all updated in this commit)
  • rating-like-live and rating-bar-live fragments no longer referenced from PHP
  • message-block partial replaces security-report-email + br-line combination
Refactor: templates — remove obsolete fragments replaced by consolidated contracts
Автор: Eduard Laas | Дата: 01:03 20.04.2026

Delete frontend fragments whose callers have been migrated in the preceding runtime-migration commit. Every deletion is covered by a generic replacement contract; no productive code path references these files any more.

Core changes:

  1. Account form fragments (10 files × 3 themes):
  • Replaced by partials/form-add with flexible attributes
  • activate, edit, login, newuser, passlost, password, privat-message, rss-select, rss-url, comment
  1. Account view helpers (14 files × 3 themes):
  • account-avatar-current, account-avatar-grid-cell, account-avatar-grid, account-avatar-upload
  • account-favorite-add, account-favorite-on, account-favorite-off, account-favorites-list
  • account-last-row, account-last-wrap
  • account-message-admin-note, account-pm-icon-link
  • account-avatar-grid-row-open, account-avatar-grid-row-close (merged via open flag)
  1. Shop summary fragments (4 files × 3 themes):
  • shop-cart-item-row, shop-cart-table (replaced by generic table)
  • shop-partners-form, shop-partners-summary
  1. Clients list info (clients-list-info, 3 files):
  • Replaced by post-div atom
  1. Link variant (comment-action-link, 3 files):
  • Replaced by the generic link fragment with is_blank flag

Benefits:

  • Net template count reduced by 90 productive files
  • Single source of truth per view role (forms, tables, links, avatars)
  • No orphaned references remain

Technical notes:

  • All deletions verified via grep before commit
  • Three themes (default, simple, lite) carry identical deletions
Refactor: core + modules — migrate callers to consolidated fragments
Автор: Eduard Laas | Дата: 01:02 20.04.2026

Migrate PHP callers to the new unified contracts introduced in the preceding template commits. Removes every raw <a> HTML string from core/user.php, drops hclass attribute assembly in core/system.php, switches comment-action-link callsites to the generic link atom, and rewrites the shop cart summary onto the generic table/table-row.

Core changes:

  1. Account module (modules/account/index.php):
  • Migrate the avatar-grid row loop onto account-avatar-grid-row with open flag (no per-row tr/close fragments)
  • Drop per-cell width math; grid sizing is now CSS-driven
  • Migrate account forms to the shared form-add partial with new flags
  1. User helpers (core/user.php):
  • Replace five add_menu raw-HTML calls with comment-action-ajax and link fragment arrays joined by pipe separators
  • Favorites toggle inlined via span fragment
  • No raw HTML remains in user.php for action menus
  1. System helpers (core/system.php):
  • Drop hclass variable in ashowcom; pass is_closed/closed_title
  • Replace comment-action-link with link (including is_blank flag)
  • Rewrite getCartSummary onto generic table/table-row/link/ajax fragments (no shop-cart-* fragments)
  • Rename checkbox-input callers to checkbox
  1. Search, voting, admin config (modules/search/index.php, modules/voting/index.php, admin/modules/config.php):
  • Switch comment-action-link to link
  1. Forum module (modules/forum/index.php):
  • Open and close mod-form via forum-mod-form with open flag
  • Pass is_closed/closed_title to forum-view-basic (no hclass)
  1. Shop module (modules/shop/index.php):
  • Align cart callers with the new table-based summary
  1. Clients module (modules/clients/index.php):
  • Switch clients-list-info to the generic post-div atom
  1. Help and order modules (modules/help/index.php, modules/help/admin/index.php, modules/order/index.php):
  • Adjust getTplFieldsIn call sites to the named-array signature
  1. Parser (core/classes/parser.php):
  • Rename checkbox-input call to checkbox

Benefits:

  • Removes the last inline <a> HTML from frontend PHP
  • Single link contract powers every non-htmx action link
  • Shop cart uses the generic table atom; no bespoke fragments left
  • Account views are contract-driven, not per-form duplicates

Technical notes:

  • Link fragment adds rel=noopener noreferrer to former target=_blank callers (security hardening, not behavior change)
  • Legacy add_menu(string) signature preserved for existing clients/forum callers; arrays joined with pipe separators at callsites
Refactor: templates — consolidate comment/forum/account view shells
Автор: Eduard Laas | Дата: 01:02 20.04.2026

Drop the hclass attribute-string hack in favor of explicit is_closed/closed_title booleans, replace inline-style avatars with proper <img class="sl_avatar">, and rename forum-mod-form-open to forum-mod-form with an open flag (matching the table/cat-wrap pattern).

Core changes:

  1. Comment post shell (comment.html):
  • Replace hclass passthrough with conditional is_closed attributes
  • Default avatar branch now uses <img> (not <a style background-image>)
  1. Avatar fragment (comment-avatar.html):
  • Switch from <a class sl_avatar style background-image> to <img>
  1. Forum list mod-form (forum-mod-form.html, renamed):
  • Collapse forum-mod-form-open into single fragment with open flag
  • Emit <form> on open and </form> otherwise
  1. Forum post shell (forum-view-basic.html):
  • Replace hclass with is_closed/closed_title
  • Switch avatar to <img>
  1. Private message shell (privat-message.html):
  • Switch avatar to <img>
  1. Account profile view (account-view.html):
  • Switch avatar to <img>

Benefits:

  • Removes every hclass attribute-string hack from the codebase
  • Eliminates inline style= for dynamic avatar URLs
  • Fewer fragment files (forum-mod-form-open gone via rename)

Technical notes:

  • Callers updated in the runtime-migration commit that follows
  • All three themes (default, simple, lite) kept in sync
Refactor: templates/partials/form-add — flexible form attributes
Автор: Eduard Laas | Дата: 01:01 20.04.2026

Extend the shared form-add partial so callers can override action, method, form name/id, enctype, and append content after submit. Needed to migrate account forms (POST, GET activate, htmx hx-post variants) onto a single reusable contract.

Core changes:

  1. partials/form-add.html (default/simple/lite):
  • Optional action with no_action bypass
  • Optional method (default post), form_name (default post), form_id
  • Optional enctype with no_enctype bypass; default multipart
  • Optional form_attr raw-attribute passthrough
  • Optional token (render only when present)
  • Optional after_submit content hook

Benefits:

  • Single partial covers 7+ formerly separate account-*-form fragments
  • GET, POST and htmx-post flows share the same layout
  • Preserves defaults: existing callers continue to work unchanged

Technical notes:

  • All three themes carry identical markup
  • No PHP changes in this commit; runtime migration in later commits
Style: templates/css — sl-* rules for table-amount and avatar-grid
Автор: Eduard Laas | Дата: 01:01 20.04.2026

Add CSS rules that back the inline-style removals in account and avatar grid fragments. Styles live exclusively in new.css per the project rule; no inline styles are reintroduced anywhere.

Core changes:

  1. new.css (default/simple/lite):
  • .sl_table_amount td:first-child widths the date column
  • .sl-avatar-grid + .sl-avatar-grid td provide fixed 6-column distribution without per-cell inline style

Benefits:

  • Removes style="width: X%" from HTML fragments
  • Consistent avatar grid rendering across themes

Technical notes:

  • Rules are additive; no existing selectors changed
Feature: templates/fragments — introduce checkbox, submit, image, field-value atoms
Автор: Eduard Laas | Дата: 01:01 20.04.2026

Add four reusable atomic primitives that replace inline markup in forms and lists. These are the building blocks for the upcoming form-add consolidation and the account-* migration.

Core changes:

  1. checkbox.html:
  • Unified checkbox input with optional label wrapper
  • Supports is_checked, is_required, is_disabled, input_id, input_attr
  1. submit.html:
  • Single submit-button contract with default sl-but-blue class
  • Supports title, input_id, input_attr passthrough
  1. image.html:
  • Generic <img> fragment with class and arbitrary attribute passthrough
  1. field-value.html:
  • Form-row contract for read-only display (label + rendered value)

Benefits:

  • Eliminates copy-pasted <input type="submit"> and <img> markup
  • Enables form-add partial and account forms to share primitives

Technical notes:

  • All three themes (default, simple, lite) carry identical markup
  • No callers wired in this commit; migration follows in later commits
Хотите опробовать SLAED CMS в действии?
Идеи и предложения
Обратная связь
Подтверждение

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

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