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

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

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

Всего: 1347 Доступных коммитов | Отфильтровано: 1347 Коммиты | Страница: 65 из 135
27.04.2026
Refactor: Consolidate admin CSS theme and route class names through templates
Автор: Eduard Laas | Дата: 23:27 27.04.2026

Reorganize admin theme into two stylesheets and stop emitting CSS class strings from PHP. Asset loader now auto-discovers theme CSS files instead of using a hardcoded list.

CSS structure

  • Add templates/admin/assets/css/base.css: HTML tag resets, typography, base form element styling. No classes
  • Merge legacy system.css and new.css into templates/admin/assets/css/theme.css along with the previous theme.css contents (page chrome, login-shell, components). Delete obsolete system.css and new.css
  • Replace hardcoded ['theme.css','system.css','new.css','blocks.css'] list in core/security.php and core/access.php with new helper getThemeCssFiles() that globs templates/{theme}/assets/css/*.css alphabetically. New helper added in core/system.php

Dead CSS removal

  • Drop legacy underscore aliases: .sl_first (was emitted by core/admin.php), .sl_warn/.sl_info/.sl_atten (unused in admin), .sl_tip aliasing (~14 selector groups in new.css), and .sl_info:before/.sl_warn:before sprite hook
  • Drop duplicate .sl-form-control declaration that lived in both system.css and new.css. Canonical declaration now in theme.css
  • Fix .sl-admin-shell .sl-table-list selector which never matched (admin uses .sl-table-list-sort) - selector corrected to .sl-table-list-sort

Debug section tone vocabulary

  • Normalize debugSection() tones in core/system.php from ad-hoc color names (system/green/blue/orangered/purple/fuchsia/red) to a small semantic palette: info/success/warn/danger/accent
  • Add matching .sl-debug-section-info and .sl-debug-section-accent CSS rules alongside existing success/warn/danger so all PHP-passed tones now apply

Renames driven by 'no PHP-emitted CSS class strings' rule

  • Rename .sl_code_editor to .sl-code-editor across plugins/editors/codemirror (driver.php and assets/cm6.css) and theme.css
  • Rename .sl-status-status-blue to .sl-status-blue (drop the duplicated word) in theme.css and templates/admin/partials/basic-monitor.html

Templates take ownership of class names previously emitted by PHP

  • Drop 'class' field from getAdminTopMenu() items in core/admin.php (the legacy sl_first rules were redundant against the toolbar baseline anyway)
  • New fragment editor-robots-button.html plus sibling editor-robots-button.js delegate replace the inline class='sl-but-green' and onclick handler that admin/modules/editor.php used to emit. Runtime auto-injects the JS sibling
  • New fragment monitor-info-icon.html replaces the '<i class="bi bi-info-circle sl-monitor-info-icon">' string that admin/modules/monitor.php::getTooltipText() used to build
  • Extend getTplAddDateTime() in core/helpers.php with is_config flag and drop the 'attr' parameter. All five callers in admin/modules/config.php and modules/account/admin/index.php now pass 'is_config' => true instead of 'attr' => 'class="sl-select-config"'
  • Drop the $clas parameter from getTplModuleSelect() in core/helpers.php; the function now passes 'is_config' => true to the select fragment internally. Callers in admin/modules/config.php and modules/sitemap/admin/index.php updated
  • Introduce private buildBbcodeImage() in core/classes/parser.php so the parser owns its <img class='sl-img'> markup in one place. Four [img] bbcode handlers updated to call it

Test fixture

  • tests/Unit/AdminPageRenderFlowTest.php: switch fixture string from 'class="sl_warn"' to 'class="sl-warn"' to match the dash convention
Refactor: Strip public-only sl_* CSS from admin system.css
Автор: Eduard Laas | Дата: 15:34 27.04.2026

Admin and public templates load separate CSS contexts and never share stylesheets. All sl_* rules in templates/admin/assets/css/system.css that are only used in public templates (or not used anywhere) have been removed. The file now contains only what the admin area actually needs.

Core changes:

  1. Removed — dead CSS (public-only, never loaded in admin):
  • .sl_hidden, .sl_none (public table/layout helpers)
  • .sl_conf, .sl_note, .sl_small, .sl_label (public form helpers)
  • .sl_orange, .sl_blue (public color utilities)
  • .sl_avatar (public user avatar)
  • .sl_atten, .sl_warn, .sl_info (public alert boxes)
  • .sl_menu, .sl_drop, .sl_drop-form (public nav — admin uses sl-menu in new.css)
  • .sl_right, .sl_left, .sl_center, .sl_pos_right, .sl_pos_center (public positioning)
  • .sl_num, .sl_pnum, .sl_flag (public meta icons)
  • .sl_rate*, .sl_urating*, .sl_out*, .sl_over*, rate-box, min-rate (public ratings)
  • .sl_n_act, .sl_coms, .sl_n_deact, .sl_plus, .sl_post, .sl_date, .sl_cat, .sl_views, .sl_votes (public module meta icons)
  • .sl_loading (public Ajax loader)
  • .sl_preview_mini (public image preview)
  • .sl_bodyline, .sl_blockline (public content blocks)
  • .sl_img_mod, .sl_td_mod, .sl_tab_bl, .sl_tab_blm, .sl_img_blm (public block tables)
  • .sl_table_block, .sl_table_edit, .sl_table_form, .sl_table_conf, .sl_table_basic (public tables)
  • sl_table_conf td .CodeMirror (dead rule — sl_table_conf not used in admin)
  1. Kept — admin-active rules:
  • CodeMirror base styles (.CodeMirror, .CodeMirror-hints)
  • .sl-field, .sl-form-control (used in admin.php and categories.php)
  • .sl-red, .sl-green (used in pdo.php debug output)
  • .sl-callout-* (used in parser.php for admin markdown rendering)
  • .sl-sort / .sl-sort-asc / .sl-sort-desc (used in slaed.js tablesort)
  • .sl-but* button variants (used throughout admin)
  • .sl-preview* (used in admin/partials/preview.html)

Benefits:

  • system.css shrinks from ~620 lines to ~190 lines
  • Zero dead CSS remains in admin stylesheet
  • No risk of admin accidentally inheriting public-only styles

Technical notes:

  • Public templates have their own system.css in templates/default|lite/assets/css/
  • Removed classes remain intact in public template CSS files — no public breakage
Chore: Remove obsolete admin logo sprite images
Автор: Eduard Laas | Дата: 15:24 27.04.2026

slaedcms.png and 000slaedcms.png were the CSS-background logo images referenced via background-image in theme.css. The admin logo is now rendered as an <img> tag (committed in Feature: Admin logo selection), so these sprite files are no longer referenced anywhere and can be removed.

Core changes:

  1. Deleted: templates/admin/images/slaedcms.png
  2. Deleted: templates/admin/images/000slaedcms.png

Benefits:

  • Repository no longer carries unreferenced binary assets
  • Grep confirms zero remaining references to these filenames in PHP, CSS, or templates

Technical notes:

  • Replacement logo images live in templates/admin/images/logos/
  • No functional change; CSS background-image sprite approach was already removed
Refactor: Rename sl_* to sl-* CSS classes in admin area
Автор: Eduard Laas | Дата: 15:24 27.04.2026

All sl_* class names actively used within the admin area are renamed to the canonical sl-* (dash) convention. Dead CSS rules that were already superseded by equivalents in new.css are removed.

Core changes:

  1. Sort indicators (plugins/system/slaed.js):
  • classList operations renamed: sl_sort → sl-sort, sl_sort_asc → sl-sort-asc, sl_sort_desc → sl-sort-desc (6 occurrences)
  1. Markdown callouts (core/classes/parser.php):
  • $map array updated: sl_callout_note/tip/important/warning/caution → sl-callout-note/tip/important/warning/caution
  1. DB debug colors (core/classes/pdo.php):
  • $color values renamed: sl_red → sl-red, sl_green → sl-green
  1. Admin CSS (templates/admin/assets/css/system.css):
  • .sl_sort / .sl_sort_asc / .sl_sort_desc → .sl-sort / .sl-sort-asc / .sl-sort-desc
  • .sl_callout_* (10 selectors) → .sl-callout-*
  • .sl_red → .sl-red, .sl_green → .sl-green

Benefits:

  • All admin-active CSS classes now follow the uniform sl-* naming convention
  • Grep for sl_* in admin scope returns zero hits for the renamed classes
  • sl_orange, sl_blue, sl_small etc. remain as-is (not used in admin area)

Technical notes:

  • No DB schema changes; no API changes
  • .sl_word alias removed separately (see next commit)
Chore: Update config fingerprint and normalize news config line endings
Автор: Eduard Laas | Дата: 13:55 27.04.2026

config/local.php fingerprint updated to reflect the new base config state after admin_logo was added to config/global.php. config/news.php line endings normalized from CRLF to LF.

Core changes:

  1. Config local (config/local.php):
  • base_fingerprint updated to match new global config hash
  1. Config news (config/news.php):
  • Line endings normalized (CRLF → LF); no content changes

Benefits:

  • Fingerprint keeps config drift detection accurate after global config additions
  • Consistent line endings across all config files

Technical notes:

  • No functional change
  • No DB schema changes
Chore: Remove trailing colons from changelog lang constants
Автор: Eduard Laas | Дата: 13:54 27.04.2026

Changelog module lang files contained colons embedded directly in constant values (_CHLOG_SEARCH, _CHLOG_DATE_FROM, _CHLOG_DATE_TO). These are removed to match the project-wide convention where punctuation is rendered by CSS, keeping constants reusable as plain label strings.

Core changes:

  1. Changelog lang (modules/changelog/lang/*.php — de, en, fr, pl, ru, uk):
  • _CHLOG_SEARCH: removed trailing ':'
  • _CHLOG_DATE_FROM: removed trailing ':'
  • _CHLOG_DATE_TO: removed trailing ':'
  1. Changelog admin lang (modules/changelog/admin/lang/*.php — de, en, fr, pl, ru, uk):
  • Same three constants cleaned across all six admin language files

Benefits:

  • Constants match the colon-free convention established across admin and module labels
  • No risk of double colons when constants are reused in non-label contexts

Technical notes:

  • No functional change; CSS ::after provides the visible colon
  • No DB schema changes
Refactor: slaed.js — set-prefix naming, multi-image replace, table check-all
Автор: Eduard Laas | Дата: 13:54 27.04.2026

All internal function names are renamed to the set*/get* convention for consistency. The global CheckBox() function is removed in favour of setTableCheckAll(), which uses data-attribute delegation. setImageReplace() now handles multiple selects via data-sl-image-replace instead of a single hardcoded id="img_replace". Tablesort extensions are inlined into setTableSort().

Core changes:

  1. Function renames (slaed.js):
  • initLightbox → setLightbox (merged ensureLightboxStyles + createLightbox inline)
  • close → setLightboxClose
  • open → setLightboxOpen
  • ensureLightbox → getLightbox
  • toggleBlock → setToggleBlock
  • animateSlide → setSlideMotion
  • animateFadeScale → setFadeScale
  • fetchJson → getJsonData
  • initImageReplace → setImageReplace
  • initToggleBlocks → setToggleBlocks
  • initSlaedUi → setSlaedUi
  • processNext → setProcessNext
  • scan → checkScan
  1. setImageReplace():
  • Queries all [data-sl-image-replace] selects instead of getElementById('img_replace')
  • Falls back to legacy id="img_replace" and attaches data attribute automatically
  • Each select targets the element whose id matches its data-sl-image-replace value
  1. setTableCheckAll() (new):
  • Replaces global window.CheckBox(id, clas)
  • Click delegation on th[data-sl-check-all] header cells toggles master checkbox
  • Change delegation on master checkbox syncs all [data-sl-check-item] inputs in form scope
  • Works with any number of tables; no global state or id coupling
  1. setTableSort():
  • Tablesort slaedNumber and slaedDate extensions inlined here
  • Removed standalone initTableSortExtensions(); guard flag unchanged
  1. setSlaedUi():
  • Calls setTableCheckAll() in addition to existing initializers

Benefits:

  • Consistent naming convention across all internal helpers
  • CheckBox() global removed; no inline OnClick attributes needed in PHP/templates
  • Multiple image-preview selectors on the same page work without id conflicts
  • Tablesort extension setup no longer risks running before setTableSort

Technical notes:

  • window.CheckBox is gone; callers that used it must use data-sl-check-all
  • data-sl-image-replace attribute wired in select.html fragment
  • data-sl-check-all attribute wired in th.html fragment
  • No external API changes
Style: Admin CSS consolidation, checkbox design, and colon rule
Автор: Eduard Laas | Дата: 13:53 27.04.2026

Admin stylesheet receives a full custom checkbox design, a CSS-driven colon rule for form labels, search highlight utility, and cleanup of obsolete rules that were duplicated from or superseded by new.css. Public theme CSS files receive the .sl-highlight utility class.

Core changes:

  1. Admin new.css:
  • Added .sl-highlight utility (red text on yellow bg) for search results
  • Added CSS ::after colon rule for .sl-div-label and .sl-div-label-main
    • Suppresses colon when a radio-group follows (.sl-radio-group sibling)
    • Enables consistent punctuation without PHP-side concatenation
  • Added full custom checkbox design for .sl-admin-shell input[type="checkbox"]
    • Appearance: 16×16px, gradient border, animated checked/indeterminate states
    • SVG checkmark and indeterminate bar via background-image data URIs
    • Focus-visible ring and disabled opacity
  • Removed .sl-code-row-odd / .sl-code-row-even (no longer used)
  • Removed .sl-page-title block (superseded by admin header CSS)
  1. Admin system.css:
  • .sl_word selector extended to include .sl-highlight (aliased)
  • Removed .sl-table-form / .sl-form duplicates (kept .sl_table_form legacy)
  • Removed .sl-config-form / .sl-config-grid / .sl-config-item block (moved to new.css)
  1. Admin theme.css:
  • Removed .clr utility (use clearfix or flex instead)
  • Removed table.tabreset (no longer referenced)
  • Removed .list-text (obsolete)
  • Removed .lcolomn / .rcolomn float helpers
  • Logo rule changed from CSS background sprite to img-based selector (.header h1 a sets width; .header h1 img sets display:block and height:auto)
  1. Public new.css (default, lite, simple templates):
  • Added .sl-highlight utility class to match admin styling

Benefits:

  • Checkbox appearance is now fully branded and consistent across admin
  • Colon is a CSS responsibility, not PHP string concatenation
  • theme.css/system.css reduced by ~100 lines of dead rules
  • Public highlight class enables consistent search term styling on frontend

Technical notes:

  • Custom checkbox uses appearance:none + SVG data URIs; no external assets
  • .sl_table_form is kept for backward compat with legacy module templates
  • No JS or PHP changes in this commit
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):
  • 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
  1. block-content.html:
  • Adds sl-radio-switch class when switch=true alongside sl-radio-group
    • Enables CSS pill/toggle rendering for boolean radio groups
  1. button.html:
  • Auto-sets type="submit" when submit_label is present and button_type is absent
    • Prevents accidental type="button" on submit-intended buttons
  1. checkbox.html:
  • 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
  1. label-hint.html:
  • Removed embedded ':' from template
  • Wraps label text in <span class="sl-div-label-main"> for CSS ::after targeting
  1. select.html:
  • Added selectid attribute rendered as id="{{ selectid }}"
  • Added imgtar attribute rendered as data-sl-image-replace="{{ imgtar }}"
    • Replaces hardcoded id="img_replace" dependency in PHP and JS
  1. th.html:
  • Adds data-sl-check-all attribute to is_col_check header cells
    • Enables setTableCheckAll() click delegation without id dependency
  1. checkbox.html (default, lite, simple templates):
  • 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):
  • getTplAddFieldRows(): removed ':' from label_html assignment
  1. Core user (core/user.php):
  • setComShow(): removed ':' from _YOURNAME and _COMMENT labels
  • getPrivateMessageView(): removed ':' from _PRRE, _TITLE, _MESSAGE labels
  1. Module admin panels — all label_html colon suffixes removed:
  • modules/account/admin/index.php
  • modules/auto_links/admin/index.php
  • modules/changelog/admin/index.php
  • modules/clients/admin/index.php
  • modules/contact/admin/index.php
  • modules/content/admin/index.php
  • modules/faq/admin/index.php
  • modules/files/admin/index.php
  • modules/help/admin/index.php
  • modules/jokes/admin/index.php
  • modules/links/admin/index.php
  • modules/media/admin/index.php
  • modules/money/admin/index.php
  • modules/order/admin/index.php
  • modules/rss/admin/index.php
  • modules/search/admin/index.php
  • modules/shop/admin/index.php
  • modules/voting/admin/index.php
  • modules/whois/admin/index.php
  1. Module frontend views — all label colon suffixes removed:
  • modules/account/index.php
  • modules/auto_links/index.php
  • modules/contact/index.php
  • modules/forum/index.php
  • modules/media/index.php
  • modules/money/index.php
  • modules/order/index.php
  • modules/recommend/index.php
  • modules/rss/index.php
  • modules/search/index.php
  • 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
Хотите опробовать SLAED CMS в действии?
Идеи и предложения
Обратная связь
Подтверждение

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

Предварительный просмотр