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

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

Всего: 899 Доступных коммитов | Отфильтровано: 899 Коммиты | Страница: 33 / 90
15.04.2026
Refactor: migrate all form-add call sites to new/ fragment namespace
Автор: Eduard Laas | Дата: 13:44 15.04.2026

All modules that previously used the legacy form-add, files-add-input-row and files-add-upload-row fragments now point exclusively to the new/ namespace. Legacy fragments deleted. New new/ fragments created in all 4 themes.

Core changes:

  1. modules/*.php (9 files) — call site renames:
  2. 'form-add' → 'new/form-add' (auto_links, faq, files, help, jokes, links, money, order, pages)

  3. 'files-add-upload-row' → 'new/files-add-upload-row' (files)
  4. 'files-add-input-row' → 'new/files-add-input-row' (files)
  5. templates/*/fragments/new/ — new fragments added (all 4 themes):
  6. new/files-add-input-row.html: sl-form-row with label + typed input
  7. new/files-add-upload-row.html: sl-form-row with label + file input
  8. templates/*/fragments/ — old fragments deleted (default, lite, simple):
  9. form-add.html (3×)
  10. files-add-input-row.html (3×)
  11. files-add-upload-row.html (3×)

Benefits:

  • No legacy root-level fragment used by any module
  • Single consistent new/ fragment namespace for all add-form templates

Technical notes:

  • No template content changes — only namespace migration
  • admin theme had no form-add.html to delete
Refactor: migrate form-add and files-add rows to sl-form div layout
Автор: Eduard Laas | Дата: 13:41 15.04.2026

Replace the legacy <table class="sl_table_form"> form layout in form-add.html with the same sl-form div structure already used by new/form-add.html. Also update files-add-input-row and files-add-upload-row to emit sl-form-row divs instead of <tr><td> rows, which were invalid inside the new div container.

Core changes:

  1. templates/*/fragments/form-add.html (default, lite, simple):
  2. Replace <table class="sl_table_form"> wrapper with <div class="sl-form">
  3. Replace <tr><td>label</td><td>field</td></tr> rows with <div class="sl-form-row"><label class="sl-form-label">...</label>field</div>

  4. Replace {% if titleval %} condition with {% if lbl_title %}
  5. Replace {% if catselect %} condition with {% if lbl_cat %}
  6. Replace <tr><td colspan="2" class="sl_center"> submit row with <div class="sl-form-submit">

  7. templates/*/fragments/files-add-input-row.html (default, lite, simple):
  8. <tr><td> → <div class="sl-form-row"><label class="sl-form-label">
  9. templates/*/fragments/files-add-upload-row.html (default, lite, simple):
  10. <tr><td> → <div class="sl-form-row"><label class="sl-form-label">

Benefits:

  • form-add and new/form-add now use the same layout — one consistent design
  • All add-form modules (files, faq, jokes, links, pages, help, auto_links, money, order) render identical structure as the news module

  • Valid HTML: no <tr> outside <table>

Technical notes:

  • No PHP changes
  • All call sites already pass lbl_title and lbl_cat — condition change is transparent

  • new/form-add.html unchanged; form-add.html now matches it exactly
Style: add <title> block to bare layout in all frontend themes
Автор: Eduard Laas | Дата: 13:18 15.04.2026

Insert a <title> block into bare.html for default, lite, and simple themes so that bare-layout pages (e.g. print, iframe, standalone views) render a proper document title. Also update the config fingerprint to reflect the changed template layer.

Core changes:

  1. templates/default/layouts/bare.html
  2. templates/lite/layouts/bare.html
  3. templates/simple/layouts/bare.html:
  4. Added <title> tag with block/fallback pattern before {{{ meta }}}: <title>{% block title %}{% if title %}{{ title }}{% else %}{{ sitename }}{% endif %}{% endblock %}</title>

  5. config/local.php:
  6. base_fingerprint updated to reflect new template state

Benefits:

  • Bare-layout pages pass HTML validation (title is required)
  • Consistent title rendering across all layout types

Technical notes:

  • Admin theme bare.html not included (managed separately)
  • Pattern matches existing block structure in main.html and app.html
Chore: remove unused language constants from all locale files
Автор: Eduard Laas | Дата: 13:18 15.04.2026

Delete constants that are no longer referenced anywhere in the codebase after the getTpl* refactoring and admin UI cleanup. All 6 locales (de/en/fr/pl/ru/uk) updated in sync.

Core changes:

  1. admin/lang/*.php (6 locales) — 18 constants removed per locale:
  2. _BOTTOM, _CALENDAR, _CENTER, _INDEX
  3. _INFO_NO, _INFO_NULL
  4. _IP_CIDR_EX, _LISTING, _LOGGED
  5. _NAVI, _PAGENUM, _PRINTS, _STYLE
  6. _TCLOSE, _TMESS, _TOPEN, _TTITLE, _TWARNING
  7. lang/*.php (6 locales) — 3 constants removed per locale:
  8. _RATE2, _RATE4, _SPOILER
  9. modules/changelog/admin/lang/*.php (6 locales) — 1 constant removed:
  10. _CHLOG_ERR_TOKEN (moved to inline validation; no longer a translatable string)

Benefits:

  • Lang files contain only constants that are actively used
  • Reduces risk of accidental reuse of stale identifiers

Technical notes:

  • No PHP logic changes — constants only
  • All locales kept in sync; no locale-specific differences
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)

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

1 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 90

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

Идеи и предложения
Обратная связь