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

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

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

Всего: 500 Доступных коммитов | Отфильтровано: 500 Коммиты | Страница: 1 / 50
Сегодня (09.04.2026)
Docs: fix trailing newline in admin info pages
Автор: Eduard Laas | Дата: 18:37 09.04.2026

admin/info/modules/ru.md was missing a trailing newline at end of file. No content change.

Core changes:

  1. admin/info/modules/ru.md:
  2. Add missing trailing newline (EOF) to last line
  3. admin/info/admins/ru.md:
  4. Normalize CRLF line endings to LF

Benefits: - Consistent file endings across all documentation files - Eliminates spurious diff noise in future patches

Technical notes: - Content unchanged; whitespace normalization only

Fix: slaed.js — fix animateSlide cancellation, height measurement and easing
Автор: Eduard Laas | Дата: 18:37 09.04.2026

animateSlide previously measured scrollHeight before showing the element, producing zero on hide and an incorrect start height on show. Running simultaneous slide animations on the same element also left orphaned animation state. This commit cancels any in-progress animations before starting a new one, sets the initial height explicitly after the element is visible (triggering a reflow), and switches from ease to linear easing to prevent height overshoot on fast toggles.

Core changes:

  1. Animation cancellation (plugins/system/slaed.js — animateSlide):
  2. Call element.getAnimations() and cancel all active animations before starting * Prevents stacked/conflicting animations when toggled rapidly

  3. Height measurement fix:
  4. For show: set height 0px and trigger reflow before reading scrollHeight * Ensures correct endHeight even on first-time display

  5. For hide: capture offsetHeight into style.height before animating * Prevents jump when element has non-auto height

  6. Easing change:
  7. Switch from 'ease' to 'linear' * Avoids perceived overshoot at end of animation at high durations

Benefits: - Collapse/expand no longer glitches when triggered before previous animation ends - Correct height on all browsers regardless of display timing - Predictable animation feel for UI elements like toggle-form-block

Technical notes: - getAnimations() is supported in all modern browsers; gracefully defaults to [] - No changes to the public HideShow / SlideUp / SlideDown API surface - Opacity keyframe removed from slide animation (only height animates now)

Feature: templates — flash alert, toggle-form-block, HTMX pager, module-foot, CSS
Автор: Eduard Laas | Дата: 18:37 09.04.2026

Add new admin UI fragments and extend existing ones to support the flash notification system, collapsible form blocks, HTMX-driven pager links, and a unified module footer. Remove five legacy fragments replaced by the new generic API. Add alerts.js for auto-hiding flash banners. Extend new.css with all new component styles.

Core changes:

  1. New fragments:
  2. new/toggle-form-block.html: collapsible labeled form section with optional add-trigger
  3. new/module-foot.html: module list footer combining pager and bulk-action select
  4. new/image-preview.html: generic inline image preview by id/src/alt
  5. rating-like-live.html: HTMX-wired rating widget (rate1_query / rate5_query)
  6. rating-like.html: static rating widget (no HTMX) for non-admin contexts
  7. Deleted fragments (replaced by generic API):
  8. admin-fields-field-block.html → new/toggle-form-block
  9. admin-ratings-module-block.html → new/toggle-form-block
  10. admin-referers-search-form.html → new/form subtitle
  11. admin-replace-field-block.html → new/toggle-form-block
  12. comment-bulk-actions.html → inline new/div rows
  13. Updated fragments:
  14. new/alert.html: add is_flash / alert_attr support; render sl-alert-flash-bar
  15. new/form.html: add actions_html slot alongside submit_label
  16. new/pager-link.html: support query/target_id/push_url for HTMX pagination
  17. new/table.html: add is_wrapless branch that omits basecont wrapper
  18. pager-link.html: add query/target_id/push_url branch for HTMX
  19. comment.html: replace date+IP inline text with meta_tip slot; add z-index to actions
  20. CSS (templates/admin/assets/css/new.css):
  21. .sl-toggle-form-block and inner grid layout
  22. .sl-alert-flash / .sl-alert-flash-bar auto-hide animation
  23. .sl-plus sprite icon for collapsible triggers
  24. .sl-module-foot layout classes
  25. .sl-ratings-inner-row and .sl-lang-edit-row column overrides
  26. Responsive breakpoint for toggle-form-block-item
  27. Fix .sl-div-actions margin-top (was padding-top)
  28. JS (templates/admin/assets/js/alerts.js):
  29. initAdminAlerts(): binds auto-hide timer to [data-sl-autohide] elements
  30. Runs on DOMContentLoaded and htmx:load for HTMX-injected content

Benefits: - Flash alerts auto-dismiss after 15 s without user interaction - Pager links in admin lists are HTMX-navigable with browser history push - Collapsible form blocks reduce visual noise in fields/ratings/replace modules - Module footer unifies pager + bulk-action placement across all list views

Technical notes: - rating-like-live.html replaces hover_query with separate rate1_query/rate5_query - is_wrapless on new/table renders a bare <table> for use inside other containers - alerts.js must be included in the admin layout after htmx.js - Deleted fragments have no remaining callers after commit 4

Refactor: admin modules — flash redirects, new fragment API, UI modernization
Автор: Eduard Laas | Дата: 18:36 09.04.2026

Replace all inline token-check error pages with setRedirect flash calls. Migrate table rendering, form widgets, and action menus to the new fragment API (new/table, new/div, new/row-actions, new/select, new/input, new/form, new/toggle-form-block). Drop legacy getTplAdminNavi in favor of getTplAdminTabs across all remaining modules. Affected: admins, blocks, categories, comments, config, database, editor, favorites, fields, groups, lang, messages, modules, monitor, newsletter, privat, ratings, referers, replace, uploads.

Core changes:

  1. Token-check pattern (all modules):
  2. Replace full setHead/echo/setFoot guard blocks with $warn = !checkSiteToken()
  3. Pass flash text and $warn flag to setRedirect() on every POST/GET action
  4. Use _TOKENMISS (warn) or _SUCC* (success) constants from the new lang set
  5. Navigation migration (groups, ratings, lang, modules, newsletter, replace, referers):
  6. Replace getTplAdminNavi with getTplAdminTabs
  7. Remove getTplAdminTabsSetup and getTplAdminConfSave wrapper calls
  8. Form widget migration (fields, groups, lang, modules, ratings, newsletter, replace):
  9. Replace getTplTextInput / getTplSelect / getTplOption with new/input, new/select, new/select-option
  10. Replace getTplAdminFormRow with new/div rows array
  11. Replace getTplAdminTableHead / getTplAdminTable / getTplAdminTableRow with new/table, new/table-row, new/table-cells
  12. Replace getTplAdminActionMenu / getTplLinkAction with new/row-actions items
  13. fields module:
  14. Complete rewrite: runtime tab system using getTplAdminTabs is_runtime mode
  15. Replace admin-fields-field-block with new/toggle-form-block
  16. Fix field data parsing: use array_pad/explode instead of preg_match
  17. ratings module:
  18. Replace admin-ratings-module-block with new/toggle-form-block
  19. Replace radio_form with getTplRadioGroup for all per-module radio groups
  20. comments module:
  21. Add module-filter select with live onchange submit
  22. Replace comment-bulk-actions fragment with new/div rows + new/select
  23. Wrap list bottom in new/module-foot fragment
  24. Extend getTplPager call to filter by modul when selected
  25. referers module:
  26. Replace admin-referers-search-form with inline new/form subtitle
  27. Add token to all action URLs
  28. replace module:
  29. Replace admin-replace-field-block with new/toggle-form-block
  30. Migrate sort select to new/select-option
  31. favorites / privat modules:
  32. Use is_wrapless table, getTplPager with HTMX target
  33. favorites: deletion moved to module (op=delete) with token + confirm dialog
  34. Misc modules (blocks, categories, database, editor, config, monitor, uploads):
  35. Align token handling to $warn pattern
  36. Add _SUCC* flash messages on successful saves

Benefits: - Eliminates ~40 duplicated inline error-page guard blocks - Consistent UX: every action returns a flash notification instead of blank reload - All form and table UI rendered through the new fragment API - Removes dependency on getTplAdminNavi and related legacy helpers

Technical notes: - getTplAdminNavi is now unused across all admin modules - All destructive GET actions include getSiteToken() in the URL - Field data for fields.php now uses 1-based index (field1/field2 instead of field2/field3) - No database schema changes

Refactor: core — flash message system, HTMX pager support, token-safe URLs
Автор: Eduard Laas | Дата: 18:35 09.04.2026

Introduce a session-based one-shot flash message system and thread it through setRedirect, setFoot, and admin helpers. Extend getTplPager with optional HTMX target/push-url so paginated admin lists become fully AJAX-navigable. Fix token-less delete URLs in getAdminCategoryList and getAdminBlockList, and migrate getAdminFavoriteList/getAdminPrivateList from the legacy getAsyncPager to getTplPager. Remove the standalone deleteAdminFavorite function now that favorites deletion is handled by the refactored favorites module.

Core changes:

  1. Flash message API (core/system.php):
  2. Add setFlash(string $text, bool $warn): stores one-time flash in $_SESSION
  3. Add getFlashHtml(): renders and clears flash on next page load
  4. Extend setRedirect() with optional $text/$warn params that call setFlash
  5. Prepend getFlashHtml() to setFoot() admin content buffer
  6. HTMX pager (core/helpers.php):
  7. getTplPager() accepts target_id and push_url options
  8. $link closure passes query/target_id/push_url to new/pager-link when set
  9. setTplAdminInfoPage() uses flash-style alert for token miss and success save
  10. Admin helper fixes (core/admin.php):
  11. getAdminCategoryList delete URL: add op=delete, token, correct param names
  12. getAdminBlockList: add token to activate and delete action URLs
  13. Rename table flag disable_sort -> is_wrapless (renamed in template)
  14. getAdminFavoriteList: migrate to getTplPager, add delete token, decode title
  15. getAdminPrivateList: migrate to getTplPager, add delete token, decode title
  16. Remove deleteAdminFavorite() — deletion handled in favorites module directly
  17. Routing (index.php):
  18. Remove deleteAdminFavorite case from go=5 HTMX dispatch table
  19. Comment moderation (core/system.php — ashowcom):
  20. Update action URLs to new name/op/token scheme (op=edit, op=approve, op=delete)
  21. Show activate/deactivate label based on current comment status
  22. Replace inline date/IP rendering with new/title-tip fragment
  23. Add modul filter support via GET param
  24. Wrap comment list close tag consistently
  25. Rating live widget (core/system.php — ratingLikeHover):
  26. Switch template from rating-like to rating-like-live
  27. Pass rate1_query and rate5_query instead of hover_query
  28. Async pager link fix (core/system.php — getAsyncPagerLink):
  29. Prepend 'index.php?' to non-empty query strings

Benefits: - Eliminates page-reload-based error/success messages in favor of flash toasts - AJAX pager in admin lists no longer requires full-page reload - All destructive action URLs now carry CSRF tokens - Removed dead code (deleteAdminFavorite)

Technical notes: - Flash data stored in $_SESSION['slaed_flash']; cleared after first read - HTMX pager links degrade gracefully to plain hrefs when target_id is absent - is_wrapless replaces disable_sort in new/table.html (same semantic, better name) - Breaking: deleteAdminFavorite op removed from index.php dispatch

Chore: normalize config file formatting and update runtime values
Автор: Eduard Laas | Дата: 18:35 09.04.2026

Normalize array alignment from padded to compact style, replace the Unicode copyright symbol with the ASCII equivalent in file headers, and update runtime config values (privat anum, referers key order, local fingerprint).

Core changes:

  1. Config headers (config/comments,favorites,privat,referers,users.php):
  2. Replace '# Copyright © ...' with '# Copyright (c) ...' for ASCII safety
  3. Array alignment (config/privat,referers,users.php):
  4. Remove trailing-space alignment padding from array keys * Compact style consistent with other config files in the project

  5. Runtime values:
  6. config/privat.php: increase privat anum from 25 to 50
  7. config/referers.php: reorder refer_t before referb for logical grouping
  8. config/local.php: update base_fingerprint to current build hash

Benefits: - Eliminates inconsistent array formatting across config files - ASCII copyright is safe in all encodings and editors - Config values reflect current production defaults

Technical notes: - No functional behavior change in the application - Alignment change is whitespace-only, does not affect PHP semantics - base_fingerprint is auto-generated; update is routine

Lang: add flash success constants and extend admin-lang
Автор: Eduard Laas | Дата: 18:35 09.04.2026

Add six new success-notification constants to all six frontend languages and extend admin-lang files with _SORTORDER and an updated _TOKENMISS. These constants are consumed by the new setRedirect/setFlash API introduced in core/system.php.

Core changes:

  1. Frontend languages (lang/de,en,fr,pl,ru,uk.php):
  2. Add _SUCCSAVE, _SUCCDELETE, _SUCCCLEAR, _SUCCUPLOAD, _SUCCFILESAVE, _SUCCSTATUS * Six new localized flash-message strings for post-action feedback

  3. Admin languages (admin/lang/de,en,fr,pl,ru,uk.php):
  4. Add _SORTORDER constant for sort-order UI label
  5. Update _TOKENMISS to include a trailing exclamation mark

Benefits: - Enables human-readable flash notifications after every admin action - Keeps all user-facing strings in language files, not hardcoded in PHP - Consistent message set across all six supported locales

Technical notes: - Constants follow existing _SUCC* naming pattern - No behavior change in existing code; new constants extend the set - Admin lang change is non-breaking: only the display text is modified

Вчера (08.04.2026)
Refactor: config module — migrate tabs to runtime links API and simplify info()
Автор: Eduard Laas | Дата: 15:29 08.04.2026

Replace static op-based tabs in config() with runtime link-based tab navigation using the new links/is_runtime/tabs_id/tabs_sync_selector API in getTplAdminTabs. Simplify info() to a single setTplAdminInfoPage call. Remove inline tabs-panel wrapping from each config section (panel rendering handled by new/tabs-panel in form).

Core changes:

  1. config() (admin/modules/config.php):
  2. Build links array with href, rel, is_active, label, title per tab
  3. Pass is_runtime, tabs_id, tabs_index and tabs_sync_selector to getTplAdminTabs
  4. Remove individual tabs-panel wrappers around $taba..$tabg sections
  5. Tabs panel wrapping now provided by the form fragment tabs-panel contract
  6. info() (admin/modules/config.php):
  7. Replace full inline implementation (tab nav, markdown render, HTMX form) with setTplAdminInfoPage using ops array matching the config tab URL pattern

Benefits: - Config tabs now driven by client-side runtime (data-sl-tabs-init); no page reload - tabs_sync_selector syncs active tab index into hidden input[name=tab] on switch - info() reduced from ~50 lines to a single helper call

Technical notes: - tabs_index initialised from $ctab (validated 0-6); persisted in sessionStorage by tabs.js - info-link tab carries data-sl-tab-info-link for URL sync on tab switch - Removes dependency on full inline info tab render in this module

Chore: update base_fingerprint in local config
Автор: Eduard Laas | Дата: 15:28 08.04.2026

Reflects the current state of tracked assets after this refactor wave.

Core changes:

  1. config/local.php:
  2. Update base_fingerprint to b1eb1cf42212ffc5135e26ff202dc4cf93f7b366

Technical notes: - Local-only config; not part of the distributed base config

Fix: lang — remove trailing colon from _OGRAPHT and _SCHEMAT constants
Автор: Eduard Laas | Дата: 15:28 08.04.2026

Label constants must not contain trailing punctuation; colons are added by the rendering layer (label fragments or form rows).

Core changes:

  1. admin/lang/*.php (de, en, fr, pl, ru, uk):
  2. _OGRAPHT: remove trailing ':' from all 6 language files
  3. _SCHEMAT: remove trailing ':' from all 6 language files

Benefits: - Consistent with all other label constants in the project - Prevents double colon when rendered via label fragment

Technical notes: - Values-only change; keys and structure unchanged

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

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

Технологии

PHPMySQLHTML 5CSS 3jQueryjQuery UI

Контакты

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

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