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

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

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

Всего: 500 Доступных коммитов | Отфильтровано: 500 Коммиты | Страница: 6 / 50
27.04.2026
Feature: Radio switch mode detection and admin template fragment improvements
Автор: Eduard Laas | Дата: 13:52 27.04.2026

getTplRadioGroup() now auto-detects boolean yes/no option sets and emits the sl-radio-switch CSS class, rendering them as pill-style toggle switches. Multiple admin template fragments receive targeted attribute improvements to reduce PHP-side attribute injection and centralize behavior in the template.

Core changes:

  1. Helpers (core/helpers.php):
  2. getTplRadioGroup(): detects 2-option groups with values '0' and '1' * Auto-sets switch=true unless caller overrides via 'switch' key * Passes switch flag to block-content fragment

  3. block-content.html:
  4. Adds sl-radio-switch class when switch=true alongside sl-radio-group * Enables CSS pill/toggle rendering for boolean radio groups

  5. button.html:
  6. Auto-sets type="submit" when submit_label is present and button_type is absent * Prevents accidental type="button" on submit-intended buttons

  7. checkbox.html:
  8. is_check flag now renders class="sl-check" and data-sl-check-item attribute * Replaces inline input_class="sl-check" and manual data- injection from PHP * Used by setTableCheckAll() in slaed.js for master/item check wiring

  9. label-hint.html:
  10. Removed embedded ':' from template
  11. Wraps label text in <span class="sl-div-label-main"> for CSS ::after targeting
  12. select.html:
  13. Added selectid attribute rendered as id="{{ selectid }}"
  14. Added imgtar attribute rendered as data-sl-image-replace="{{ imgtar }}" * Replaces hardcoded id="img_replace" dependency in PHP and JS

  15. th.html:
  16. Adds data-sl-check-all attribute to is_col_check header cells * Enables setTableCheckAll() click delegation without id dependency

  17. checkbox.html (default, lite, simple templates):
  18. Same is_check / sl-check / data-sl-check-item changes for frontend forms

Benefits: - Boolean config toggles visually communicate on/off state as pill switches - Fragment attributes centralize behavior wiring; PHP passes semantic flags - setTableCheckAll() works via data attributes, removing global CheckBox() function

Technical notes: - sl-radio-switch class requires CSS from new.css to style the pill appearance - Backward compatible: groups with more than 2 options or non-bool values stay unchanged - No DB schema changes

Refactor: Remove trailing colons from form labels across modules and core
Автор: Eduard Laas | Дата: 13:52 27.04.2026

Continues the label colon removal from commit 2, covering all remaining module admin and frontend form rows. Core user.php and helpers.php are also cleaned up: form-field-row label values no longer carry hard-coded ':' suffixes, delegating colon rendering entirely to CSS.

Core changes:

  1. Core helpers (core/helpers.php):
  2. getTplAddFieldRows(): removed ':' from label_html assignment
  3. Core user (core/user.php):
  4. setComShow(): removed ':' from _YOURNAME and _COMMENT labels
  5. getPrivateMessageView(): removed ':' from _PRRE, _TITLE, _MESSAGE labels
  6. Module admin panels — all label_html colon suffixes removed:
  7. modules/account/admin/index.php
  8. modules/auto_links/admin/index.php
  9. modules/changelog/admin/index.php
  10. modules/clients/admin/index.php
  11. modules/contact/admin/index.php
  12. modules/content/admin/index.php
  13. modules/faq/admin/index.php
  14. modules/files/admin/index.php
  15. modules/help/admin/index.php
  16. modules/jokes/admin/index.php
  17. modules/links/admin/index.php
  18. modules/media/admin/index.php
  19. modules/money/admin/index.php
  20. modules/order/admin/index.php
  21. modules/rss/admin/index.php
  22. modules/search/admin/index.php
  23. modules/shop/admin/index.php
  24. modules/voting/admin/index.php
  25. modules/whois/admin/index.php
  26. Module frontend views — all label colon suffixes removed:
  27. modules/account/index.php
  28. modules/auto_links/index.php
  29. modules/contact/index.php
  30. modules/forum/index.php
  31. modules/media/index.php
  32. modules/money/index.php
  33. modules/order/index.php
  34. modules/recommend/index.php
  35. modules/rss/index.php
  36. modules/search/index.php
  37. modules/shop/index.php

Benefits: - Uniform colon rendering via CSS ::after across all form labels - Constants remain clean strings usable anywhere without punctuation - Zero functional change; affects visual rendering only via stylesheet

Technical notes: - CSS rule added in new.css targets .sl-div-label and .sl-div-label-main - No DB schema changes; no API contract changes

Feature: Full-text search with highlighting and batch actions in news/pages admin
Автор: Eduard Laas | Дата: 13:51 27.04.2026

News and pages admin list views gain a live search bar that filters by ID, title, author, category, or IP using parameterized queries. Matching substrings are highlighted via filterTextHighlight(). Pages admin also receives the full batch-action form and pager that news already had, bringing both modules to feature parity.

Core changes:

  1. News admin (modules/news/admin/index.php):
  2. Added getNewsSearch(): renders search form with field selector and text input
  3. news(): reads search/chng from req, builds dynamic WHERE clause with named params * Five search modes: ID, title, author (name/nick), category, IP * filterTextHighlight() applied to id, title, author, category, IP cells * Pager updated to pass where_params for filtered count

  4. news(): subtitle_html passes search form into admin tab header
  5. Removed label_html colon suffix from add() form rows
  6. Removed hardcoded OnClick="CheckBox()" from markcheck header checkbox
  7. Pages admin (modules/pages/admin/index.php):
  8. Added getPagesSearch(): identical structure to getNewsSearch()
  9. pages(): same search/chng/WHERE parameterization as news * filterTextHighlight() applied to id, title, author, category, IP cells

  10. pages(): upgraded from plain table to form with batch-action select + pager * Added checkbox column to each row (is_check) * Added markcheck header checkbox for select-all * Batch actions: activate, deactivate, ihome on/off, date toggle,

comments 0/1/2, move to category, delete
  • Fixed ambiguous WHERE clause: p.id instead of bare id in SELECT
  • Removed label_html colon suffix from add() form rows

Benefits: - Editors can filter long news/pages lists without leaving the admin panel - Match context is highlighted inline; no extra page load - Pages list now supports the same bulk operations as news

Technical notes: - Search uses LIKE with named placeholders; no raw interpolation - filterTextHighlight() is already defined in core; no new helpers needed - Pager where_params added to support filtered total-row counts - No DB schema changes

Refactor: Remove trailing colons from label_html in admin modules
Автор: Eduard Laas | Дата: 13:51 27.04.2026

All label_html values in admin module form rows previously appended a literal ':' via string concatenation (e.g. _SOMETHING.':'). The colon is now rendered by CSS ::after on the .sl-div-label element, making the label text constants reusable as tooltips, headings, and aria-labels without embedded punctuation.

Core changes:

  1. Admin modules (admin/modules/admins.php):
  2. Removed ':' suffix from all label_html strings
  3. Admin modules (admin/modules/blocks.php):
  4. Removed ':' suffix from all label_html strings
  5. Admin modules (admin/modules/categories.php):
  6. Removed ':' suffix from all label_html strings
  7. Admin modules (admin/modules/comments.php, editor.php, fields.php, groups.php, lang.php, messages.php, modules.php, newsletter.php, replace.php, scheduler.php, security.php, uploads.php):

  8. Removed ':' suffix from all label_html strings

Benefits: - Colons are now a single CSS-controlled convention, not scattered literals - Constants remain punctuation-free for reuse in non-form contexts - Architecture alignment with label-hint fragment which already uses CSS colon

Technical notes: - No functional change; purely a presentation refactor - label-hint fragment wraps label in span.sl-div-label-main; CSS rule targets .sl-div-label::after and .sl-div-label-main::after

Feature: Admin logo selection, rendering, and config panel
Автор: Eduard Laas | Дата: 13:49 27.04.2026

Admin panel now supports a configurable logo image selected from the logos directory, rendered as an <img> tag in both the main admin layout and the login (bare) layout, replacing the hard-coded CSS background sprite approach.

Core changes:

  1. Config panel (admin/modules/config.php):
  2. Added admin_logo selector reading from templates/admin/images/logos/ * Uses same scandir/select-option pattern as site_logo * Preview image linked via selectid/imgtar fragment attributes

  3. Removed trailing colons from all label_html strings in this file
  4. save(): added admin_logo extraction and validation via basename()
  5. System head (core/system.php):
  6. setHead(): resolves admin_logo path via img_find(), falls back to default * Passes adlogo, adalt, adtitle vars to admin layout templates

  7. ashowcom(): removed hardcoded OnClick="CheckBox()" from markcheck input
  8. Templates (templates/admin/layouts/admin.html, bare.html):
  9. Replaced CSS-background h1>a text link with <img> tag using adlogo/adalt/adtitle
  10. Removed class="thide" from brand link
  11. Config defaults (config/global.php):
  12. Added admin_logo key with default slaed_logo_256x73.png
  13. Moved editor array to alphabetical position
  14. Updated copyright symbol to Unicode ©
  15. Rotated sitekey value
  16. Lang strings (admin/lang/*.php — all 6 languages):
  17. Added _ADMINLOGO and _ADMINLOGOP constants
  18. Clarified _DEVMODE label (added ?)
  19. Clarified _OGRAPH and _SCHEMA labels (added "Enable/Aktivieren/Activer/Włączyć/Активировать/Активувати" prefix and ?)

Benefits: - Logo is now a first-class config option without CSS overrides - login and admin pages share the same logo variable - Consistent with site_logo selector pattern already in config

Technical notes: - Logo path is validated on save; invalid name falls back to slaed_logo_256x73.png - No DB schema changes - Backward compatible: existing installs without admin_logo key use the default

24.04.2026
Refactor: Core cleanup — function rename, column markers, admin link styling
Автор: Eduard Laas | Дата: 12:01 24.04.2026

Rename renderFootControls to getFootControls, add is_col_status markers and language link CSS class to admin list builders, apply column class_name in newsletter and account modules, and update config fingerprint.

Core changes:

  1. Footer function rename (core/system.php):
  2. renderFootControls() renamed to getFootControls() with shorter param names
  3. Both call sites in setFoot() updated
  4. Admin list builders (core/admin.php):
  5. Add class 'sl-admin-language-link' and is_menu_list_image to language switcher
  6. Mark status cells with is_col_status => true in category, block, private lists
  7. Fix is_last flag in block list tip items (was incorrectly bound to $lang check)
  8. Column classes (admin/modules/newsletter.php):
  9. Add class_name 'sl-col-sent' to newsletter sent-count column (head + body)
  10. Account admin (modules/account/admin/index.php):
  11. Add class_name 'sl-col-ip' to IP column (head + body rows)
  12. Add autofocus => true to signature textarea in add form
  13. Config (config/local.php):
  14. Update base_fingerprint to reflect current template asset state

Benefits: - getFootControls follows project naming convention (get* prefix for renderers) - is_col_status enables template-side alignment without hardcoded selectors - Column class_name allows CSS targeting of specific data columns

Technical notes: - getFootControls is a non-breaking rename; no callers outside setFoot() - Fingerprint update required after CSS and JS asset changes in this batch

Feature: Autofocus support in textarea helper and ToastUI editor
Автор: Eduard Laas | Дата: 12:01 24.04.2026

Add autofocus parameter to getTplTextarea() and implement editor-level focus in the ToastUI driver, enabling modules to declare which field receives keyboard focus on page load. Also fix category select indent encoding and improve editor height calculation.

Core changes:

  1. Textarea helper (core/helpers.php):
  2. Add 'autofocus' key forwarded to template via getTplTextarea()
  3. Fix category-select indent: replace raw HTML entity string with html_entity_decode() to avoid double-encoding in templates

  4. ToastUI editor driver (plugins/editors/toastui/driver.php):
  5. Honor autofocus data key: emit JS setTimeout focus on editable surface
  6. Replace fixed rowsСмайл - 24 height formula with tiered defaults (250/300/500px)
  7. Support explicit 'height' override via data key

Benefits: - Modules can declare autofocus declaratively without custom JS overrides - ToastUI focus targets contenteditable, ProseMirror, or textarea fallback - Height tiers produce better visual defaults for short vs. full editor profiles

Technical notes: - Focus fires after 300ms delay to allow ToastUI initialization to complete - Category indent precomputes the nbsp string once per query for efficiency - Minimum height clamped to 250px regardless of rows or override value

Feature: News admin — optgroup batch selector and textarea autofocus
Автор: Eduard Laas | Дата: 12:01 24.04.2026

Restructure the bulk-action <select> into labeled <optgroup> sections (actions vs. move-to-category) and add autofocus to the body textarea on the add-news form for faster keyboard-driven entry.

Core changes:

  1. Bulk action selector (modules/news/admin/index.php):
  2. Split $actopts into $modopts (action options) and category opts
  3. Wrap each group in <optgroup> via new select-optgroup fragment
  4. Remove "Move to: " prefix from category option labels (now in group label)
  5. New fragment (templates/admin/fragments/select-optgroup.html):
  6. Renders <optgroup label="..."> with inner options_html
  7. Add form autofocus (modules/news/admin/index.php):
  8. Pass autofocus => true to hometext getTplTextarea call

Benefits: - Batch selector is visually grouped and easier to scan at a glance - autofocus moves keyboard focus directly to body on add-news page

Technical notes: - select-optgroup.html is a shared admin fragment reusable in other modules - Placeholder option (_OPMOD) remains as the default unselected item

Style: Admin UI — migrate icons from sprite.png to Bootstrap Icons
Автор: Eduard Laas | Дата: 12:01 24.04.2026

Replace all sprite.png-based icons in admin UI components (tooltips, move controls, status badges) with Bootstrap Icons SVG font, enabling vector rendering, keyboard accessibility, and theme-aware coloring across all template variants.

Core changes:

  1. Tooltip styles (new.css × 4 templates, system.css):
  2. Replace sprite background-image with inline Bootstrap Icon (bi-info-circle-fill)
  3. Add tabindex="0" and focus-visible outline for keyboard accessibility
  4. Replace <br>-separated items with <dl>/<dt>/<dd> grid layout
  5. Remove legacy .sl_tip definition from system.css (merged into new.css)
  6. Move controls (new.css, move-controls.html):
  7. Replace sprite arrows with Bootstrap Icons (\f139 up, \f118 down)
  8. Add .sl-move-controls flex wrapper for alignment
  9. Add hover/focus scale and color transitions
  10. Status icons (new.css, inline-badge.html):
  11. Add .sl-status-active and .sl-status-inactive icon classes
  12. Wire is_status_active / is_status_inactive flags in inline-badge fragment
  13. Floating panel engine (floating.js):
  14. New JS module: viewport-aware positioning for .sl-tip and .sl-menu dropdowns
  15. Handles edge overflow, above/below flip, arrow alignment
  16. Binds to DOMContentLoaded and htmx:load for HTMX fragment reloads
  17. Admin CSS tweaks (system.css, theme.css):
  18. Add .sl-col-check column alignment rules
  19. Add .sl-admin-language-link hover styles
  20. Unify hover background-color to #f7fbfd across all table components
  21. Remove font-weight:bold from inline button rule

Benefits: - Scalable vector icons replace fixed-size 16x16 sprite fragments - Tooltips and menus are now keyboard-navigable (tabindex, focus-within) - Consistent hover token (#f7fbfd) across all list and table components

Technical notes: - Bootstrap Icons font already present in admin layout - floating.js replaces CSS :hover positioning with JS viewport-aware placement - .sl_tip legacy alias preserved in new.css for modules not yet migrated

23.04.2026
Chore: Language flags — rename to country-based scheme and refresh visuals
Автор: Eduard Laas | Дата: 23:22 23.04.2026

Refresh the language flag set across all four themes, dropping legacy short-code and _mini filenames in favor of consistent country-based naming matched by getLanguageFlagSrc(), and re-export the remaining flags with a unified visual style.

Core changes:

  1. New country-named flags (templates/{admin,default,lite,simple}/images/lang/):
  2. Add usa.png, russia.png, iran.png, syria.png, moldova.png, south_korea.png, north_korea.png, faeroe_islands.png

  3. Names align with getLanguageFlagSrc() mapping and with the common ISO short-code <-> country pairing used by the admin switcher

  4. Legacy short-code removal (templates/{admin,default,lite,simple}/images/lang/):
  5. Remove de.png, en.png, fr.png, pl.png, ru.png, uk.png
  6. Remove all _mini variants (de_mini.png, en_mini.png, fr_mini.png, pl_mini.png, ru_mini.png, uk_mini.png)

  7. Admin no longer ships _mini files; the frontend no longer ships short-code duplicates

  8. Long-form name removal (templates/{admin,default,lite,simple}/images/lang/):
  9. Remove russian_federation.png, islamic_republic_of_iran.png, syrian_arab_republic.png, republic_of_korea.png, democratic_peoples_republic_of_korea.png, republic_of_moldova.png, united_states_of_america.png, europe.png, islands.png

  10. Superseded by the shorter country-named equivalents
  11. Visual refresh (templates/{admin,default,lite,simple}/images/lang/):
  12. Re-export the remaining country flags with a consistent style; binary content changes across the full set in every theme

Benefits: - Filenames align with the runtime flag resolver, eliminating the previous dependency on short-code and _mini lookups - Unified visual style across admin and frontend themes - Smaller, cleaner flag inventory with one canonical filename per country

Technical notes: - Binary-only change; no code is touched in this commit - Depends on the previous commit that introduces getLanguageFlagSrc() and maps short codes to the new country-named files - Admin and frontend themes now share the same filename conventions

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

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

Технологии

PHP MySQL HTML 5 CSS 3 jQuery jQuery UI

Контакты

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

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