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

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

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

Всего: 500 Доступных коммитов | Отфильтровано: 500 Коммиты | Страница: 1 / 50
Сегодня (07.05.2026)
Style: admin flag image CSS — size, border, and Bootstrap-Icons hover scale
Автор: Eduard Laas | Дата: 18:05 07.05.2026

SVG flags have no intrinsic size (viewBox only), so without explicit CSS they render at 300×150 px. This commit adds size, border, and the Bootstrap Icons hover scale pattern to every flag placement in the admin theme.

Core changes:

  1. .sl-menu-list-image (sidebar menu, left navigation icons):
  2. width: 24px; height: auto (replaces fixed 24×24 with object-fit)
  3. border: 1px solid var(--sl-color-border-strong)
  4. border-radius: var(--sl-radius-control)
  5. .sl-table-list-sort .sl-col-ip .sl-geo-flag img (IP column in tables):
  6. width: 24px; height: auto; border and border-radius as above
  7. .sl-session-icon .sl-geo-flag img (online-users sidebar widget):
  8. Same 24 px sizing, border, border-radius treatment
  9. .sl-admin-language-link (header language switcher):
  10. Transition eased to background-color 0.15s (matches Bootstrap Icons)
  11. :hover applies transform: scale(0.84) to the child .sl-menu-list-image (rule already present; transition value corrected here)

Benefits: - Flags render at a consistent 24 px across all admin placements - Rounded border provides visual framing identical to icon buttons - Hover scale follows the Bootstrap Icons interaction pattern without introducing background-color bleed artefacts during transition

Technical notes: - --sl-color-border-strong and --sl-radius-control are defined in base.css; no new custom properties added here - The 0.15s timing eliminates the white-shimmer artefact visible at non-default browser zoom levels with the previous .18s ease value

Chore: add SVG flag assets for all four themes
Автор: Eduard Laas | Дата: 18:05 07.05.2026

Add 266 SVG files per theme (1064 total) under templates/*/images/flags/. Files use ISO 3166-1 Alpha-2 lowercase filenames (e.g. de.svg, ua.svg) plus an unknown.svg fallback used when no matching code is found.

Core changes:

  1. templates/{admin,default,lite,simple}/images/flags/ (new directories):
  2. 265 country flag SVGs sourced from a standard flag icon set
  3. unknown.svg — grey placeholder shown for unresolved language codes
  4. All filenames are lowercase ASCII; no spaces or special characters

Benefits: - Scalable vector flags render crisp at any DPI and zoom level - ISO 3166-1 Alpha-2 naming eliminates the need for a translation map for the common case (only edge cases like en→gb require mapping) - Four identical copies keep each theme self-contained; no cross-theme asset dependencies

Technical notes: - SVG files contain viewBox but no width/height attributes; CSS sets the rendered size (24px) via the .sl-menu-list-image rule - Flag files are identical across all four themes at this point

Refactor: migrate flag image resolution from PNG to SVG
Автор: Eduard Laas | Дата: 18:05 07.05.2026

Flag images were resolved from templates/*/images/lang/ as PNG files named after full country names (germany.png). This replaces the logic with a central getLanguageFlagSrc() function that resolves ISO 3166-1 Alpha-2 codes from templates//images/flags/.svg.

Core changes:

  1. getLanguageFlagSrc() (core/system.php ~3022):
  2. Accepts a language code string and returns an absolute file path
  3. Maintains a small normalisation map for edge cases: en → gb (British flag), uk → ua (Ukraine)

  4. Falls back to flags/unknown.svg when the resolved file does not exist
  5. Uses img_find() so the current theme's flags/ directory is resolved
  6. user_geo_ip() (core/system.php ~3096):
  7. Fallback flag src updated to flags/unknown.svg via img_find()
  8. Removed dead variable \$flag_src; inline img_find() call
  9. modules/clients/index.php ~102:
  10. Package builder probe updated from lang/germany.png to flags/de.svg to detect whether flag assets are present for inclusion

Benefits: - Single function owns flag resolution; no more scattered img_find calls - ISO 3166-1 codes match the SVG filenames 1:1 without a large map - unknown.svg fallback prevents broken image tags for unmapped locales

Technical notes: - Old lang/ PNG directory is not deleted here; a separate migration step or manual cleanup can remove it once confirmed unused - All four themes must have a flags/ directory with unknown.svg

Chore: update logo filenames to SVG and regenerate config fingerprint
Автор: Eduard Laas | Дата: 18:04 07.05.2026

The two logo references pointed to legacy PNG files that no longer exist after the SVG migration. Config values are updated to the new SVG filenames. The base fingerprint in local.php is regenerated to reflect the changed base config.

Core changes:

  1. config/global.php:
  2. admin_logo: slaed_logo_256x79.png → slaed-logo-wordmark-gradient-blue.svg
  3. site_logo: slaed_logo_256x340.png → slaed-logo-mark-gradient-blue.svg
  4. sitekey: regenerated
  5. config/local.php:
  6. base_fingerprint: updated to match new global.php hash

Benefits: - Logo references point to existing SVG files; no 404s on logo load - Config fingerprint stays consistent with the updated global config

Technical notes: - New SVG files are present under templates/admin/images/logos/ - Only the config references and fingerprint change; no PHP logic touched

Refactor: extend getQueryString with HTML encoding, tail, and hash options
Автор: Eduard Laas | Дата: 18:04 07.05.2026

The original helper only returned an &-joined string with no control over the separator or trailing delimiter. Several call sites need a raw & separator (for redirect URLs) or a trailing separator (for building paginated links), and hash fragment support.

Core changes:

  1. getQueryString() (core/helpers.php):
  2. Add bool \$html = true — uses & when true, & when false
  3. Add bool \$tail = false — appends the separator after the last pair
  4. Add string \$hash = '' — appends #hash fragment when non-empty
  5. Skip false values in addition to empty string / null
  6. Preserve key encoding via rawurlencode on both name and value

Benefits: - Single function covers all URL-building patterns in the codebase - Removes ad-hoc string concatenation of & vs & at call sites - Hash support eliminates a separate string append after the call

Technical notes: - Backward-compatible: default arguments preserve old behaviour - false-skip allows boolean flags to be passed directly without wrapping in an if block at the call site

Feature: comments module — full-text search and persistent bulk actions
Автор: Eduard Laas | Дата: 18:04 07.05.2026

The comments list was a minimal read-only view with a fixed modul filter. This overhaul adds searchable columns, a reusable search bar function, a proper bulk-action endpoint, and URL state preservation so that filters survive navigation through edit, approve, and delete.

Core changes:

  1. getCommentsSearch() (new helper function):
  2. Extracted search bar construction into a reusable function
  3. Fields: modul select, search-by select (id/body/author/modul/ip), text input for the search string, submit button

  4. comments() (main list view):
  5. getVar source changed to req to unify GET/POST handling
  6. SQL query extended with LEFT JOIN to users; supports all five search columns including cross-table author search

  7. Table rebuilt with sortable columns using getHtmlFrag/table-row API
  8. info-tooltip added per row showing modul, CID, date, IP details
  9. Pager migrated to getTplPager with correct WHERE/params
  10. actions() (new bulk-action handler, op=actions):
  11. Replaces the old op=approve route for form-submitted bulk ops
  12. Handles status toggle (a0/a1) and delete (d) for arrays of IDs
  13. numcom() called correctly to keep comment counters in sync
  14. edit(), editsave(), approve(), delete():
  15. All now accept and pass through status/modul/search/chng params
  16. Redirect back URL preserves the full filter state

Benefits: - Admins can search comments by text, author, IP, or module name - Bulk operations no longer reset the filter to the default view - Less SQL string concatenation; parameterised WHERE throughout

Technical notes: - op=approve still works for single-row links; actions handles forms - All modul/chng values are rawurlencode()d in redirect URLs

Chore: remove deprecated CSS files and unused logo asset
Автор: Eduard Laas | Дата: 18:04 07.05.2026

Files that are no longer loaded or referenced are deleted to keep the asset tree clean.

Core changes:

  1. templates/default/assets/css/blocks.css (deleted):
  2. 199-line legacy block stylesheet superseded by new.css rules
  3. templates/lite/assets/css/blocks.css (deleted):
  4. 483-line equivalent for the lite theme; same reason
  5. templates/admin/images/logos/slaed-logo-mark-gradient-blue-big.svg (deleted):
  6. Oversized logo variant not referenced by any template or config

Benefits: - Removes 682 lines of dead CSS from the served asset set - Eliminates stale file that would mislead future asset lookups

Technical notes: - blocks.css rules were already migrated or deleted; no regressions - Logo filename updated in config/global.php in a separate commit

Style: frontend CSS layer — design tokens, rating-bar, vote-meter, flags
Автор: Eduard Laas | Дата: 18:04 07.05.2026

Consolidates CSS changes across the frontend new.css layer for all three templates (default, lite, simple): adds a :root token block, migrates rating-bar to the native meter approach, switches vote-meter rules to CSS vars, and adds flag-image sizing rules.

Core changes:

  1. new.css :root (all three themes):
  2. --sl-color-border, --sl-color-border-strong, --sl-radius-control
  3. --sl-vote-meter-* colour and geometry tokens
  4. Rating-bar CSS (all themes):
  5. Replace .sl-crating background-sprite approach with .sl-rating-meter native <meter> sub-element CSS

  6. Remove the 101-entry data-sl-rating-width attribute table
  7. Vote-meter (all themes):
  8. .sl-vote-meter and variants migrated from inline hex to CSS vars
  9. Flag image rules (all themes):
  10. .sl-geo-flag img — 24 px width, border, border-radius
  11. .block-flags img — same treatment

Benefits: - Rating display is accessible and themeable via a single token - Token blocks allow per-theme colour overrides in one place - Flag images render at a consistent size without per-call inline styles

Technical notes: - Removing data-attribute table cuts ~103 lines per theme - .sl-rating-meter CSS requires the rating-bar.html fragment refactor committed earlier

Style: CSS design tokens for vote-meter and progress-bar
Автор: Eduard Laas | Дата: 18:03 07.05.2026

Hard-coded hex colours in .sl-vote-meter, .sl-progress-*, and the <meter> fill rules are replaced by CSS custom properties so all five rating colours and the track style can be changed from one location per theme.

Core changes:

  1. Admin base.css:
  2. Add --sl-vote-meter- and --sl-progress-fill- tokens to :root
  3. Progress tokens mirror the five colour variants already in theme.css
  4. Frontend theme.css (default, lite):
  5. Add :root block with --sl-progress-track- and --sl-progress-fill-
  6. Migrate .progress-line and .progress-N div rules to use the new vars
  7. Admin theme.css (vote-meter section):
  8. Replace inline colours in .sl-vote-meter and all vendor-prefixed pseudo-elements with --sl-vote-meter-* references

Benefits: - Single-file token override per theme instead of hunting hex values - Vote-meter and progress bars are now themeable without CSS duplication

Technical notes: - Admin tokens reference existing palette vars (--sl-color-*) - Frontend tokens use the same concrete hex values, now centralised

Refactor: replace rating-bar HTML fragment with native meter element
Автор: Eduard Laas | Дата: 18:03 07.05.2026

The rating-bar template used a CSS background-position trick to show a pixel-based overlay for the star rating. This replaces it with a semantic <meter> element that is driven purely by CSS vars, making the visual layer themeable without touching markup.

Core changes:

  1. Rating-bar fragments (rating-bar.html × 3 themes):
  2. Replace <li class="sl-crating" data-sl-rating-width="..."> overlay with <meter class="sl-rating-meter" value="..." max="100">

  3. Remove the data attribute; value is passed directly to the element

Benefits: - Native <meter> is accessible and semantic - Eliminates the 101-entry data-attribute-to-width CSS table - Decouples rendering from HTML data attributes; themes control appearance

Technical notes: - CSS for .sl-rating-meter added in separate CSS commit - Compatible with all four themes (admin template unchanged)

Всего: 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
Идеи и предложения
Обратная связь