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

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

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

Всего: 1045 Доступных коммитов | Отфильтровано: 1045 Коммиты | Страница: 48 / 105
15.04.2026
Test: update AdminPreviewBridgeFlowTest — stub fields_out → getTplFieldsOut
Автор: Eduard Laas | Дата: 13:17 15.04.2026

Replace the test double for fields_out() with one for getTplFieldsOut() to match the renamed function in helpers.php. The stub behaviour is identical; only the function name changes.

Core changes:

  1. tests/Unit/AdminPreviewBridgeFlowTest.php:
  2. Stub function_exists guard: 'fields_out' → 'getTplFieldsOut'
  3. Stub function name: fields_out() → getTplFieldsOut()

Benefits:

  • Test suite matches the current public API
  • No risk of false-pass from stale stub name

Technical notes:

  • Stub return value logic unchanged
Refactor: update all call sites to getTpl* naming convention
Автор: Eduard Laas | Дата: 13:17 15.04.2026

Replace all legacy function calls throughout admin modules, frontend modules, and templates with the new getTpl* names established in helpers.php. No logic changes — pure rename at every call site.

Core changes:

  1. admin/modules/ (6 files):
  2. cat_modul() → getTplCategoryModule()
  3. getTplCategorySelect() (image picker) → getTplImageSelect()
  4. getcat() → getTplCategorySelect()
  5. language() → getTplLanguageOptions()
  6. naviTabsLink/Content/Wrap → getTplTabLink/Content/Wrap
  7. categoryRow, categoryTextLink → getTplCatRow, getTplCatText
  8. modules/ (24 files) + core/user.php:
  9. new_graphic() → getTplNewGraphic()
  10. gender() → getGenderText()
  11. get_gender() → getTplGenderSelect()
  12. fields_out() → getTplFieldsOut()
  13. fields_in() → getTplFieldsIn()
  14. catlink() → getTplCategoryTrail()
  15. getcat() → getTplCategorySelect()
  16. title_tip() → getTplTitleTip()
  17. editorFilePreview → getTplEditorPreview()
  18. editorInsertAction → getTplEditorInsert()
  19. commentActionLink/Js/Delete/Menu → getTplCommentLink/Js/Delete/Menu
  20. votingActionLink/Delete/Menu → getTplVotingLink/Delete/Menu
  21. pagerLink/Current/Dots → getTplPagerLink/Current/Dots()
  22. getAsyncPagerLink → unchanged signature, still resolves correctly
  23. templates/lite/index.php:
  24. catlink() → getTplCategoryTrail()

Benefits:

  • All call sites consistent with getTpl* convention
  • No ambiguity between old legacy names and new helpers
  • Codebase-wide rename is complete after this commit

Technical notes:

  • No template fragments were changed
  • No behavior changes — pure rename at call sites
Refactor: consolidate getTpl* helpers — migrate and rename from system.php
Автор: Eduard Laas | Дата: 13:17 15.04.2026

Move all legacy template-helper functions out of system.php and helpers-old.php into helpers.php, applying the getTpl* naming convention and SLAED variable-naming rules. Removes the last large block of mixed-concern render functions from system.php.

Core changes:

  1. core/helpers.php — new getTpl* functions added:
  2. getTplNewGraphic, getTplRadioForm, getTplGenderSelect, getGenderText
  3. getTplTitleTip, getTplFieldsOut, getTplSearchResultTitle, getTplMoneyCalcForm
  4. getTplEditorPreview, getTplEditorInsert, getTplEditorMenu, getTplEditorRow, getTplEditorTable
  5. getTplCommentLink, getTplCommentJs, getTplCommentDelete, getTplCommentMenu
  6. getTplCommentMeta, getTplCommentColor, getTplCommentAvatar, getTplCommentRank, getTplCommentSign
  7. getTplAlphaLink, getTplAlphaText
  8. getTplTabLink, getTplTabContent, getTplTabWrap
  9. getTplPagerLink, getTplPagerCurrent, getTplPagerDots, getAsyncPagerLink
  10. getTplCatIcon, getTplCatIconText, getTplCatTitle, getTplCatText, getTplCatTitleText
  11. getTplCatSubitem, getTplCatRow, getTplCategorySelect (image variant renamed to getTplImageSelect)
  12. getTplBlockPosition, getTplBlockRefresh, getTplBlockAction, getTplBlockView
  13. getTplAdminHintLabel, getTplAdminSmallNote, getTplAdminTipLine, getTplAdminInfoLine
  14. getTplAdminTableHead, getTplAdminTableCells, getTplAdminStatusBadge, getTplAdminLangHint
  15. getTplAdminListForm, getTplAdminSubmitButton, getTplAdminSection
  16. getTplCatPermRow, getTplCatTab, getTplCatSubmitRow, getTplAdminConfSave, getTplCatForm
  17. getTplAdminAccountSearch, getTplAdminBlockGrid, getTplAdminSearchDrop, getTplAdminCatSearch
  18. getTplVotingLink, getTplVotingDelete, getTplVotingMenu, getRatingAsync
  19. core/system.php — corresponding legacy functions removed:
  20. new_graphic, radio_form, get_gender, gender
  21. editorFilePreview, editorInsertAction, editorActionMenu, editorFilesRow, editorFilesTable
  22. commentActionLink, commentActionJs, commentActionDelete, commentActionMenu
  23. commentMetaText, commentMetaColor, commentAvatar, commentRankImage, commentSignature
  24. alphaNavLink, alphaNavText, naviTabsLink, naviTabsContent, naviTabsWrap
  25. pagerLink, pagerCurrent, pagerDots, getAsyncPagerLink (old signature)
  26. categoryIconLink, categoryIconText, categoryTitleLink, categoryTextLink
  27. categoryTitleText, categorySubItem, categoryRow, categorySelect, categorySelectOption
  28. breadcrumbLink, getRatingAsync (old location)
  29. getCommentAsyncAction, getEditorAsyncAction (moved)
  30. core/helpers-old.php — removed duplicates/superseded functions:
  31. getTplAdminAjaxAction, getTplSearchResultTitle (old version)
  32. getTplCatPermRow, getTplCatTab, getTplCatSubmitRow, getTplAdminConfSave, getTplCatForm
  33. getTplAdminAccountSearch, getBlockModules, getTplAdminBlockGrid, getTplAdminSearchDrop
  34. getTplAdminCatSearch, getTplCategorySelect (image variant), getTplBlockPosition/Refresh/Action/View
  35. getTplAdminHintLabel, getTplAdminSmallNote, getTplAdminTipLine, getTplAdminInfoLine
  36. getTplAdminTableHead, getTplAdminTableCells, getTplAdminStatusBadge, getTplAdminLangHint
  37. getTplMoneyCalcForm, getTplAdminListForm, getTplAdminSubmitButton, getTplAdminSection
  38. core/admin.php — edit_list() removed (superseded by getTplAdminListForm)

Benefits:

  • system.php focuses on runtime logic; all render helpers live in helpers.php
  • Consistent getTpl* naming across the entire codebase
  • Variable names comply with SLAED 2–8 char lowercase rule

Technical notes:

  • getTplCategorySelect (image picker) renamed to getTplImageSelect to avoid collision with the new getTplCategorySelect (category dropdown)

  • All moved functions retain identical template fragment calls
  • No fragment files changed in this commit
Refactor: template fragments and layouts — form controls, CSS, admin cleanup
Автор: Eduard Laas | Дата: 12:04 15.04.2026

Align all 4 themes (default, lite, simple, admin) with the new template layer: update shared fragment markup to use sl-* CSS classes, sync layout partials, and remove admin-* fragments from frontend themes (default/lite/simple) that belong exclusively to the admin theme.

Core changes:

  1. Account forms (default/lite/simple):
  2. account-login-form, account-edit-form, account-newuser-form, account-passlost-form, account-password-form, account-privat-message-form, account-rss-select-form, account-rss-url-form, account-avatar-upload updated to current markup conventions

  3. Layouts (all 4 themes):
  4. app.html, main.html, home.html, bare.html synced across themes
  5. CSS (default, admin):
  6. new.css: sl-* class additions for new fragment layer
  7. system.css: cleanup in default and admin themes
  8. Fragment updates (all themes):
  9. form-add.html, form-select.html, contact-form.html, login.html
  10. editor-code-panel.html, editor-text-panel.html
  11. block-login-form.html, block-search-form.html, block-languages-select.html
  12. files-add-input-row.html, files-add-upload-row.html
  13. media-form-add.html, media-link-row.html
  14. shop-kasse-form.html, shop-partners-form.html
  15. recommend-form.html, rss-info-form.html, rss-read-forms.html
  16. whois-add-form.html, whois-domain-form.html, whois-license-form.html
  17. pager-dots.html, button.html, money-calculator-form.html (admin)
  18. partials: changelog.html, contact-block.html
  19. Admin fragment cleanup (default/lite/simple — 120 files deleted):
  20. Removed all admin-* fragments from non-admin themes; they are only rendered in the admin theme and must not exist in frontend themes

Benefits:

  • Themes stay in sync; no stale admin markup in frontend
  • CSS class naming consistent with sl-* convention
  • Fragment structure aligned with new/ template layer

Technical notes:

  • Admin theme retains all admin-* fragments unchanged
  • No PHP changes in this commit
Feat: add template fragments — new/ namespace, system UI, code rendering
Автор: Eduard Laas | Дата: 12:02 15.04.2026

Add all new template fragments required by the HTML-in-PHP removal refactor and the new/ namespace for reusable form controls and UI components. All fragments are added to all 4 themes (default, lite, simple, admin).

Core changes:

  1. new/ namespace — form controls (all 4 themes):
  2. input.html, textarea.html, select.html, select-option.html
  3. hidden.html, button.html, form-submit.html, form-add.html, form-field-row.html
  4. ajax-textarea-form.html
  5. new/ namespace — layout and UI (all 4 themes):
  6. grid.html, card.html, div-hr.html, cat-navi.html
  7. related.html, related-item.html, graphic.html
  8. msg-center.html, alert.html (new/)
  9. new/ namespace — code rendering (all 4 themes):
  10. code-block.html, code-row.html, code-table.html, code-hljs.html
  11. System UI fragments (root level, all 4 themes):
  12. comment-avatar.html, comment-num-link.html, comment-text.html
  13. comment-list-form.html, alpha-nav-link.html, alpha-nav-text.html
  14. navi-tab-link.html, navi-tab-content.html, pager-dots.html
  15. category-sub-item.html, rating-wrap.html, warning-list.html
  16. debug-section.html, admin-block-links.html, geo-ip-flag.html
  17. Shared UI fragments (root level, all 4 themes):
  18. button.html, ajax-textarea-form.html, checkbox-input.html
  19. file-input.html, multi-select.html, radio-option.html, select-option.html

Benefits:

  • All HTML output from PHP helper functions now has a fragment counterpart
  • new/ namespace provides reusable form controls for all frontend modules
  • Theme-specific overrides possible for any fragment independently

Technical notes:

  • new/ fragments are identical across all 4 themes by default
  • Root-level fragments match existing PHP function output exactly
  • pager-dots.html added to root level (used by both old pagerDots() and getTplPager())
Refactor: modules and blocks — convert textarea/pager/hidden call sites
Автор: Eduard Laas | Дата: 11:59 15.04.2026

Replace all legacy function calls across modules and blocks with the new array-based getTpl* API. Includes mass-converted textarea() → getTplTextarea() call sites and related API updates.

Core changes:

  1. textarea() → getTplTextarea([]) (all modules):
  2. Converted 31 files via balanced-paren argument parser
  3. All positional args mapped to named array keys: id, name, value, mod, rows, placeholder, required

  4. getAjaxTextarea() → getTplAjaxTextarea([]) (modules/forum, user):
  5. Updated call sites with named array parameters
  6. getTplHiddenInput() positional → array API:
  7. modules/forum/index.php: subject, id, fid, pid, cat hidden inputs
  8. modules/help/index.php: pid, catid, posttype hidden inputs
  9. fields_in() → getTplFieldsIn([]) (modules/news/index.php):
  10. New div-based field rows instead of legacy <tr><td> table layout
  11. Other module updates:
  12. modules/content/index.php: migrated to new/ template fragments
  13. modules/news/index.php: getTplTextInput class sl_field (no inline style)
  14. blocks/block-login.php, block-user_info.php: API updates

Benefits:

  • No module code references deprecated textarea() or getAjaxTextarea()
  • Consistent named-array call convention throughout all modules
  • getTplFieldsIn() replaces table-based fields_in() for new layouts

Technical notes:

  • textarea() and getAjaxTextarea() remain in system.php as deprecated wrappers
  • fields_in() unchanged — still used for legacy table forms (forum, account)
Refactor: editor and parser classes — template-based rendering, new API
Автор: Eduard Laas | Дата: 11:59 15.04.2026

Migrate Editor::getSelect() and all editor drivers to use template fragments and the new getTplTextarea() array API. Parser refactored with private helper methods for image normalization.

Core changes:

  1. Editor class (core/classes/editor.php):
  2. Editor::getSelect(): removed inline <select>/<option> HTML

    • Now uses new/select + new/select-option fragments
    • Added $selectAttr parameter for OnChange and other attributes
  3. Editor drivers (plugins/editors/*/driver.php):
  4. All drivers: textarea() → getTplTextarea(['id', 'name', ...]) array call
  5. bbcode/driver.php: removed legacy textarea() call
  6. ckeditor, codemirror, plain, tinymce, toastui: updated call signatures
  7. Parser class (core/classes/parser.php):
  8. Extracted getRootPath(), getFallbackImage(), buildImageError(), normalizeImageSource(), normalizeHtmlImages() as private helpers

  9. checkbox-input fragment used for checklist rendering

Benefits:

  • Editor select rendering is now theme-switchable via new/select fragment
  • Consistent array API across all driver implementations
  • Parser logic split into focused private methods

Technical notes:

  • Editor::getSelect() signature: added optional $selectAttr = '' parameter
  • All editor drivers call getTplTextarea() — textarea() no longer used
Refactor: system.php — remove inline HTML, migrate all output to fragments
Автор: Eduard Laas | Дата: 11:59 15.04.2026

Replace all inline HTML string construction in PHP with $tpl->getHtmlFrag() calls. No HTML is built directly in PHP code anymore — all output is delegated to template fragments.

Core changes:

  1. HTML-in-PHP removal — standalone helper functions (core/system.php):
  2. new_graphic(): spans → new/graphic fragment
  3. user_geo_ip(): img/a → geo-ip-flag + link-btn-blank fragments
  4. adminblock(): table/hr → admin-block-links fragment
  5. user_info(): anchor → breadcrumb-link fragment
  6. warnings(): ol/li → warning-list + action-menu-item fragments
  7. commentMetaColor/Avatar/RankImage/Signature(): → dedicated fragments
  8. alphaNavLink/Text(): → alpha-nav-link/text fragments
  9. naviTabsLink/Content(): → navi-tab-link/content fragments
  10. pagerDots(): → pager-dots fragment
  11. categorySubItem(): → category-sub-item fragment
  12. breadcrumbLink(): → breadcrumb-link fragment
  13. debugSection(): → debug-section fragment
  14. ratingWrap(): → rating-wrap fragment
  15. add_menu(): → editor-action-menu + action-menu-item fragments
  16. renderFootControls(): → foot-controls fragment
  17. editorActionMenu/commentActionMenu/votingActionMenu(): li wrapping → action-menu-item
  18. HTML-in-PHP removal — larger functions (core/system.php):
  19. encode_php(): table/tr/td/pre/code/div → code-row/table/hljs/block fragments
  20. render_blocks(): div.sl_center → msg-center fragment
  21. ashowcom(): form/span/a/div → comment-list-form/date/num-link/text fragments
  22. updateVotingResult(): meta refresh × 3 → meta-refresh fragment
  23. API updates (core/admin.php, core/user.php):
  24. getTplMoveControls(): positional → array call sites updated
  25. textarea()/getAjaxTextarea() → getTplTextarea/getTplAjaxTextarea array API
  26. getTplHiddenInput(): legacy positional call → array call
  27. Editor::getSelect(): + $selectAttr param, inline HTML removed

Benefits:

  • Zero inline HTML in core PHP files — full separation of logic and markup
  • All rendering is theme-switchable via fragment overrides
  • Consistent $tpl->getHtmlFrag() pattern throughout

Technical notes:

  • comment-list-form fragment wraps admin bulk-action form
  • ashowcom $hclass remains as data attribute string (passed to comment.html)
Refactor: helpers.php — array API, new getTpl* functions, naming rules
Автор: Eduard Laas | Дата: 11:58 15.04.2026

Migrate all helper functions to uniform array-based parameter API. Add new template helpers, enforce variable naming rules (max 8 chars, lowercase letters only, no snake_case), and remove = alignment padding.

Core changes:

  1. New functions (core/helpers.php):
  2. getTplFieldsIn(): new-layout field rows via new/form-field-row fragment
  3. getTplHiddenInput(): updated to accept 'attr' key
  4. getTplFormSubmit(): new form submit bar with preview/delete controls
  5. getTplTextarea(): rich-text editor textarea with upload config
  6. getTplAjaxTextarea(): inline HTMX edit form with save/back buttons
  7. Refactored functions (core/helpers.php):
  8. getTplBbEditor(): parameter $opt → $data
  9. getTplPager(): $opt → $data, $url_extra → $urlx, = alignment removed
  10. getTplMoveControls(): positional params → array $data
  11. getTplUserSearchInput(): $minlength → $mlen
  12. getTplFieldsIn(): $field_html → $fhtml
  13. Alignment cleanup (core/helpers.php):
  14. Removed = padding in getTplFormSubmit, getTplMoveControls, getTplTextarea
  15. helpers-old.php:
  16. Migrated getHtmlFrag() calls to new/ fragment namespace

Benefits:

  • Consistent array API across all getTpl* helpers
  • Variable names comply with .rules/global.md (2–8 chars, lowercase)
  • No alignment padding — easier diffs and code review

Technical notes:

  • getTplTextarea and getTplAjaxTextarea exist only in helpers.php
  • system.php previously had textarea() and getAjaxTextarea() — removed there
14.04.2026
Chore: update config fingerprint after template layer changes
Автор: Eduard Laas | Дата: 15:45 14.04.2026

Auto-generated base_fingerprint reflects the new template file set introduced by the new/ fragment layer across all three themes.

Core changes:

  1. config/local.php:
  2. Updated: base_fingerprint to current codebase state

Benefits:

  • Config stays in sync with deployed template files

Technical notes:

  • Fingerprint is computed automatically on template structure changes

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

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

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