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

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

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

Всего: 500 Доступных коммитов | Отфильтровано: 500 Коммиты | Страница: 1 / 50
Вчера (30.04.2026)
Refactor: Debug stats, editor insert, PDO, theme templates and lang constants
Автор: Eduard Laas | Дата: 18:13 30.04.2026

Consolidates editor-insert functionality into slaed.js, improves PDO debug output via template, extends debug-stats across all themes with new lang constants, and migrates icon_name support to default/lite/simple link fragments.

Core changes:

  1. Editor insert (plugins/system/):
  2. Remove insert-code.js (413 lines); logic merged into slaed.js
  3. Add getEditorInsertText() and syncEditorValue() helpers in slaed.js
  4. Remove editor-action-insert.html fragments from all themes
  5. PDO class (core/classes/pdo.php):
  6. Use $tpl for SQL debug output; consolidate getSqlQuery() internals
  7. Simplify error message format (remove bare <br> tag)
  8. Language constants (lang/*.php — all 6 languages):
  9. Add _ERRLOG, _PAGETIME, _MEMUSAGE, _DBQUERY, _DBQTIME
  10. Debug stats templates (templates/*/fragments/debug-stats.html):
  11. Use new lang constants instead of hardcoded strings
  12. Theme templates (default/lite/simple):
  13. link.html: icon_name support (mirrors admin link.html)
  14. voting-view.html: minor adjustments
  15. new.css: CSS updates
  16. Admin info panel (admin/info/config, admin/info/template — all 5 langs):
  17. Template and config HTML adjustments
  18. Misc:
  19. core/helpers.php, core/security.php, core/classes/template.php: minor fixes
  20. modules/forum/index.php: minor fix
  21. index.php: minor fix
  22. config/global.php, config/local.php: fingerprint update
  23. docs/TODO.md: removed

Benefits: - Single JS file for editor interactions; no separate insert-code.js loader - Debug stats use translatable constants across all themes - icon_name in link.html is now consistent across all 4 template themes

Technical notes: - editor-action-insert.html deleted from all 4 themes (admin/default/lite/simple) - Backward compatible: link.html callers without icon_name are unaffected

Style: Admin sidebar — CSS tokens, block icons in links, session block UI
Автор: Eduard Laas | Дата: 18:13 30.04.2026

Unified spacing tokens (--sl-space-xs/sm/md/lg) across all sidebar blocks, replaced standalone icon columns with icons embedded inside <a> elements so the full row — icon and label — forms a single clickable target.

Core changes:

  1. CSS tokens (base.css, theme.css):
  2. Add --sl-space-xs/sm as canonical spacing tokens; remove --sl-space-xxs
  3. Sidebar count-row: 3-col grid (icon|label|value) → 2-col (label|value)
  4. Icons live inside <a>, styled via .sl-block-sidebar-count-label a
  5. Blocks 3+4 warning color applied to <a> via :has() selector
  6. Session summary lines: optional icon column (sl-session-line--icon)
  7. Session rows: geo flag in 20 px icon slot (sl-session-row--icon)
  8. Admin-block-link: icon inside link, remove separate .sl-admin-block-icon
  9. Hover/border-radius unified for all block content types
  10. Templates (link.html, session-row.html, session-summary.html):
  11. link.html: {% if icon_name %}<i class="bi bi-{{ icon_name }}"></i>{% endif %} before label — zero impact on existing calls without icon_name

  12. session-row.html: geo_html in icon slot, name_link in text column
  13. session-summary.html: per-category icon_name vars, optional rendering
  14. dashboard-panel.html: remove redundant sl-dashboard-panel-pad wrapper
  15. monitor-tooltip-text.html: new fragment for tooltip with BI info icon
  16. PHP (admin.php, system.php, monitor.php):
  17. icon_name moved into link array at call site — no intermediate icon_html
  18. Removed icon-bi.html fragment; icon rendered inline by link.html
  19. adminblock(): icon_name in admin_link/logout_link arrays
  20. getUserSessionAdminInfo(): geo flag drives 3-col layout; BI icons on summary category lines (shield-check/person-check/robot/eye/people)

  21. monitor.php getTooltipText(): output via monitor-tooltip-text.html

Benefits: - Icon is semantically part of the link — clickable area covers icon+text - No zoo of micro-fragments; icon_name is a plain string, not rendered HTML - All block types share one hover/spacing rule set - Geo flag symmetrically aligned with category icons in sidebar

Technical notes: - link.html change is additive; callers without icon_name are unaffected - sl-session-row--icon applied only when geo_html is present - --sl-space-xxs removed; 3 px values replaced with --sl-space-xs (4 px)

Эта неделя (29.04.2026)
Refactor: Introduce CSS design tokens and migrate admin theme to custom properties
Автор: Eduard Laas | Дата: 15:27 29.04.2026

A :root block with named CSS custom properties is added to base.css and every hardcoded colour, size, and shadow value across base.css, theme.css, and basic-monitor.html is replaced with the corresponding token. No visual changes are intended — this is a pure token-extraction refactor.

Core changes:

  1. base.css — design token block (:root):
  2. Colour palette: --sl-color-bg/-soft/-muted/-subtle, -border/-border-strong, -text/-text-soft, -muted, -primary (and -hover/-soft/-tint), -success (and -strong/-soft), -danger (and -strong/-soft), -warning (and -strong/-soft), -accent/-accent-soft, -info-soft

  3. Size tokens: --sl-size-control (28px), -pager (30px), -head (32px), -icon (18px)
  4. Radius tokens: --sl-radius-control (3px), -panel (4px), -soft (6px)
  5. Spacing tokens: --sl-space-xs (4px), -sm (6px), -md (8px), -lg (12px)
  6. Shadow tokens: --sl-shadow-soft, -control, -control-active, -hover-soft
  7. Typography tokens: --sl-text-shadow-light, -text-shadow-dark
  8. Focus token: --sl-focus-primary
  9. base.css — all hardcoded values replaced:
  10. html background gradient, legend, body font colour, h2/h5, links, hr, inputs, blockquote, focus ring, required input colours

  11. theme.css — all hardcoded values replaced:
  12. Buttons (sl-but-), callout blocks (sl-callout-) now use Bootstrap Icon via font-family bootstrap-icons on ::before; content codes updated to BI

  13. Status icons, sort arrows, toggle controls, tips, div-grid rows
  14. Block-sidebar, dashboard-panel, radio-switch, pager, alerts (sl-warn/sl-info)
  15. Debug sections, preview blocks, menu grid, session summary
  16. Table, tabs, voting widget, monitor, login shell — complete token migration
  17. basic-monitor.html:
  18. SVG linearGradient stop-color and path stroke attributes for chart lines (gUp/gDown/gCpu/gRam) replaced with CSS var() references

Benefits: - Single source of truth for all colour decisions; theme changes require only token updates in :root - Enables future dark-mode or white-label overrides via a single :root block - Removes ~300 scattered hex literals from stylesheets

Technical notes: - CSS var() in SVG stop-color is supported in all modern browsers - No Sass/PostCSS required; native CSS custom properties only - Callout ::before now uses BI icon codes (f430, f26a, f33a, f622) replacing Unicode symbols; font-family declaration ensures correct rendering

Chore: Update config fingerprint
Автор: Eduard Laas | Дата: 14:01 29.04.2026

Regenerated base_fingerprint after template and CSS changes.

Core changes:

  1. config/local.php:
  2. base_fingerprint updated to reflect current asset state

Benefits: - Cache invalidation aligned with deployed asset versions

Technical notes: - No runtime behaviour changes

Feature: Redesign voting admin form with toggle blocks; add forceResult to getVotingView()
Автор: Eduard Laas | Дата: 14:01 29.04.2026

The voting admin edit form is restructured to use toggle-form-block for each answer row, matching the pattern used in fields/rss/replace. getVotingView() gains a forceResult parameter so the admin preview always shows results regardless of vote state or user role.

Core changes:

  1. modules/voting/admin/index.php:
  2. Table head adds is_col_title flag and explicit class_name for lang/module columns (sl-col-lang, sl-col-module) for fixed-width layout

  3. Title cell splits into prefix_html (info-tooltip) + has_content_text
  4. Answer input rows replaced with toggle-form-block: each answer pair (body[] text + answer[] number) lives in its own collapsible block; empty answers from index 1 onward are hidden by default

  5. getVotingView() called with forceResult=true so the admin preview is always in result-display mode

  6. core/system.php — getVotingView():
  7. New $forceResult parameter (default false)
  8. When true: querylang is bypassed ('1 = 1'), rate forced to 1, result branch always taken, admin edit links suppressed, navigation links (polls, votes, comments) hidden; submit form also suppressed

  9. toggle_onclick removed from both image-preview calls in getEditorFiles()
  10. core/admin.php:
  11. toggle_onclick removed from both image-preview calls in getAdminUploadFiles(); image-preview now uses data-sl-toggle-* via the template (set in the preceding template commit)

Benefits: - Admin can preview voting results without casting a vote or ending the poll - Answer fields follow the same expand/collapse UX as fields and rss modules - No toggle_onclick parameters remain in core or voting module

Technical notes: - forceResult=true suppresses is_moder() check and all front-end links; the preview is intentionally read-only and context-free

Refactor: Migrate modules from htmlspecialchars() to safe-text API; remove HideShow calls
Автор: Eduard Laas | Дата: 14:01 29.04.2026

Module files receive the same safe-text template API migration as the admin modules, plus removal of legacy HideShow() onclick_attr patterns in favour of the data-attribute toggle approach.

Core changes:

  1. clients/admin/index.php:
  2. Title cell uses has_content_text / content_text
  3. clients/index.php:
  4. HideShow call in the info link replaced with data-sl-toggle-control onclick_attr carrying data-* attributes; href changes to '#'

  5. content/admin/index.php:
  6. Title cell splits into prefix_html (tooltip) + has_content_text
  7. media/index.php:
  8. add() URL label toggle changes from onclick="HideShow(...)" to data-sl-toggle-control / data-sl-toggle-effect / data-sl-toggle-duration

  9. money/admin/index.php:
  10. Tooltip items for valute labels, comment, browser use has_value_text
  11. news/admin/index.php:
  12. Checkbox label_html changed to label_text (auto-escaped)
  13. rss/admin/index.php:
  14. Tab system removed; content rendered directly based on $tab value
  15. save() now merges only the active tab's fields into existing $conf['rss'] instead of overwriting the entire config on every save

  16. Field 1/2 '0' sentinel values normalised to '' for cleaner display
  17. toggle_onclick replaced with toggle_target_id + is_toggle_block
  18. search/admin/index.php:
  19. All getSearchauditTable() cells migrated to has_content_text
  20. Tooltip item for module label uses has_value_text
  21. shop/admin/index.php:
  22. Tooltip items for address, phone, email, note use has_value_text
  23. Title cells split into prefix_html + has_content_text throughout
  24. Checkbox label for associated products uses prefix_html + has_content_text
  25. Label fragment receives prefix_html support for checkbox+text combos
  26. whois/admin/index.php:
  27. Comment tooltip item uses has_value_text

Benefits: - Removes ~35 htmlspecialchars() calls scattered across module files - RSS save now preserves unsaved tab's settings correctly - HideShow removed from all active module call sites

Technical notes: - rss/admin tab rendering: UI is now single-page per tab; no JS tab widget

Refactor: Migrate admin modules from htmlspecialchars() to safe-text template API
Автор: Eduard Laas | Дата: 14:01 29.04.2026

All manual htmlspecialchars() calls in admin module files are replaced by the new has_content_text / content_text, has_value_text / value_text, and has_field_text / field_text template slots. Escaping now happens inside the Mustache fragments at the output boundary instead of in PHP.

Core changes:

  1. admins.php:
  2. Cell content for name, title, lang columns uses has_content_text; the concatenated htmlspecialchars($name) after info-tooltip moves to a separate content_text slot with prefix_html for the tooltip

  3. blocks.php:
  4. filecode() form row for filename uses has_field_text / field_text
  5. database.php:
  6. getSqltable() cells for type, table, sql use has_content_text
  7. dump() alert for parse error passes raw $parsed['error'] without manual escaping; the alert fragment handles output encoding

  8. fields.php / replace.php:
  9. toggle_onclick replaced with toggle_target_id + is_toggle_block to wire the new button toggle; no htmlspecialchars changes (values are constants)

  10. groups.php:
  11. Tooltip + badge cell splits into prefix_html (tooltip) + content_html (badge); color_attr no longer manually escaped

  12. scheduler.php:
  13. nextr, stat, priority cells switch to has_content_text / content_text
  14. Title cell: info-tooltip moves to prefix_html, title text to content_text
  15. security.php:
  16. banlist() tooltip items for IP_CIDR and BANN_REAS use has_value_text
  17. Ban reason cell uses has_content_text
  18. config() textarea value_text for dump_skip loses manual htmlspecialchars

Benefits: - Removes ~20 htmlspecialchars() calls from PHP business logic - Escaping is now consistently enforced at template render time - Callers read cleaner: no ENT_QUOTES / ENT_SUBSTITUTE flags in PHP

Technical notes: - Template fragments updated in the preceding commit handle escaping via Mustache {{ }} (auto-escaped) vs {{{ }}} (raw HTML) distinction

Style: Update admin CSS — input hover, icon sizes, voting widget, toggle-form-block button
Автор: Eduard Laas | Дата: 14:00 29.04.2026

Admin stylesheet receives a broad visual consistency pass: icon sizes are unified, form element hover states are added, and new component styles are introduced for the voting widget and the toggle-form-block button.

Core changes:

  1. base.css:
  2. Global .bi rule sets font-size: 18px for all Bootstrap Icons
  3. Input/textarea/select get a :hover state: white background, blue-tinted border, subtle box-shadow; disabled inputs excluded

  4. Focus rule adds explicit border-color alongside the existing box-shadow
  5. theme.css — icon size unification (16px → 18px):
  6. sl-plus, sl-tip, sl-date/cat/views pseudo-elements, sl-monitor-head, sl-status-compact-left, sl-overview-icon-arr all updated to 18px

  7. theme.css — toggle-form-block button:
  8. New sl-toggle-form-block-toggle: inline-flex button, green when closed, red when open (.sl-is-open state); scales on hover/focus

  9. sl-toggle-form-block-title: flexbox layout with gap; title color updated
  10. sl-toggle-form-block-label: cursor:default, matching line-height
  11. Label colon suppressed inside toggle-form-block via :not() selector
  12. theme.css — row-actions trigger:
  13. New sl-row-actions-trigger: 18px inline-flex icon button, purple color, scale transform on hover; .bi inside inherits 18px

  14. theme.css — table layout:
  15. sl-col-status width reduced 64px → 52px; sl-col-actions 102px → 72px
  16. New fixed widths: sl-col-lang 58px, sl-col-module 88px
  17. th.sl-col-status / th.sl-col-actions padding tightened to 4px
  18. theme.css — voting widget (sl-vote-*):
  19. Full set of voting result styles: sl-vote-view, sl-vote-title, sl-vote-list, sl-vote-result, sl-vote-result-head, sl-vote-answer, sl-vote-result-meta, sl-vote-meter, sl-vote-progress

  20. Colour variants 1–5 via sl-vote-meter-N / sl-vote-progress-N
  21. theme.css — sl-tip refinement:
  22. Width/height 16px → 18px; font-size 15px → 18px; hover scale 1.08 → 1.12
  23. Inner div font-size: 14px / line-height: 16px for consistent tooltip text
  24. sl-plus open state shows minus icon via ::before content override

Benefits: - Visual consistency: all icons at 18px regardless of component context - Input hover feedback matches the rest of the SLAED UI pattern - Voting widget fully styleable without inline CSS

Technical notes: - .bi global rule in base.css takes precedence only where no component rule overrides; component rules that already set font-size are unchanged

Feature: Add new admin template fragments for voting, lists, and AJAX actions
Автор: Eduard Laas | Дата: 14:00 29.04.2026

Six new template fragments are introduced to support the voting admin redesign and to provide reusable list and AJAX-action primitives.

Core changes:

  1. comment-action-ajax.html (fragment):
  2. HTMX-powered action link with hx-get, hx-target, hx-swap attributes
  3. Supports class variants: is_favorite, is_button_blue, is_cart_plus, is_cart_minus; used as the Vote submit button in voting widget

  4. editor-action-menu.html (fragment):
  5. Alternative row-actions variant using bi icon as trigger span directly without the wrapper nav structure; kept for editor-specific contexts

  6. list-item.html (fragment):
  7. Minimal <li> wrapper supporting content_html and nested children_html
  8. list.html (fragment):
  9. Renders <ul> or <ol> with conditional class variants: sl-list, sl-sublist, sl-sublist-two, login-top (with logged state)

  10. voting-view.html (fragment):
  11. Single poll answer row: answer text, percentage, vote count, and a <meter> progress bar with colour variant class sl-vote-meter-N

  12. voting-widget.html (partial):
  13. Full voting widget section: title header, answer list, admin links, submit button, vote/comment footer links; wraps optional <form> tag

Benefits: - Voting result display fully template-driven, no HTML generation in PHP - List and action fragments reduce ad-hoc HTML in module files

Technical notes: - voting-widget.html replaces the HTML previously assembled in getVotingView() inside core/system.php - CSS for sl-vote-* classes is added in the accompanying style commit

Refactor: Redesign row-actions trigger as icon button; convert toggle-form-block to button toggle
Автор: Eduard Laas | Дата: 14:00 29.04.2026

Two admin UI patterns are updated to use semantically correct, accessible interactive elements and the new data-attribute toggle API.

Core changes:

  1. row-actions.html:
  2. Trigger element changes from <span class="sl-but-red">text</span> to <span class="sl-row-actions-trigger" role="button" tabindex="0"> wrapping a Bootstrap icon <i class="bi bi-menu-button-wide-fill">

  3. Label text moves to title and aria-label attributes for screen readers
  4. Visual label is now the icon only; text is available on hover/focus
  5. toggle-form-block.html:
  6. Block element gains data-sl-toggle and data-sl-toggle-default when is_toggle_block is true, enabling JS state tracking

  7. New toggle_target_id path: renders a <button class="sl-plus sl-toggle-form-block-toggle"> with data-sl-toggle-control pointing to the next block, replacing the previous toggle_onclick link pattern

  8. Existing toggle_onclick link path is preserved as legacy fallback
  9. Label is now wrapped in a <span class="sl-toggle-form-block-label"> for independent styling

Benefits: - Row action trigger is keyboard-navigable without inline onclick - Toggle button communicates expand/collapse semantics to assistive tech - Removes final toggle_onclick usages from active code paths

Technical notes: - toggle_onclick attribute still accepted but only for legacy callers; new callers must use toggle_target_id + is_toggle_block - CSS for sl-row-actions-trigger and sl-toggle-form-block-toggle added in the accompanying style commit

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

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

Технологии

PHPMySQLHTML 5CSS 3jQueryjQuery UI

Контакты

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

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