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

Официальный сайт SLAED CMS

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

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

Всего: 1038 Доступных коммитов | Отфильтровано: 1038 Коммиты | Страница: 1 / 104
Сегодня (17.07.2026)
Feature: redesign the public user profile as a dense split card
Автор: Eduard Laas | Дата: 12:49 17.07.2026

Replace the legacy table profile (account&op=view) with the approved Dense Split composition: identity rail, trust strip, symmetric fact panels, module contribution hub and a tabbed last-activity feed, all rendered from live data in four SQL queries.

Core changes:

  1. Profile view (modules/account/index.php):
  2. Rebuild view() around template data arrays: role-aware fact panels, trust strip, level progress and group chips

    • online status via a subquery in the main user select
    • one groups select drives chips, rank fallback and level thresholds
    • module hub counts, weighted ratings and favorites in one UNION ALL
    • hidden fields keep the localized placeholder for panel symmetry
  3. profil() reuses the shared feed; the legacy last() helper is removed
  4. Shared profile helpers (core/user.php):
  5. getProfileModules() maps module tables, icons, rating column pairs and favorites keys in one place

  6. getProfileLastView() renders the per-module activity feed from a single UNION ALL round-trip and respects per-module rating settings

    • computed union columns are aliased because a literal 0 column would
otherwise shadow numeric row index 0 under FETCH_BOTH
  1. Theme (templates/lite):
  2. account-profile.html rewritten for the split card; new feed partials account-profile-feed.html and account-profile-feed-list.html

  3. sl-profile-* styles on base.css tokens; chip labels truncate with an ellipsis; dead sl-table-acc-info and sl-user-group-special styles removed

  4. signature renders as the system blockquote and is visible to everyone
  5. Feed auto-scroll (plugins/system/slaed.js):
  6. setProfileScrolls clones visible feed entries and animates them with reduced-motion and hover-pause support, re-measuring on tab switches

  7. Language constants (lang/, modules/account/lang/):
  8. nine ACCOUNT* module constants and the global _LASTACTIVITY in all six locales

Benefits:

  • Profile page cost drops from ~17 module queries to 4
  • One module map feeds the hub, the feed and future consolidation
  • Deferred follow-ups documented in docs/PROFILE-BACKLOG.md
Вчера (16.07.2026)
Feature: full theme parity for the editor UI and a third image insert mode
Автор: Eduard Laas | Дата: 18:56 16.07.2026

Align every editor surface with the active theme's visual language and add a size-limited base64 embed option to the image dialog. Harden the integration with the vendor engine after three virtual-DOM regressions.

Core changes:

  1. Theme token contract (templates/*/assets/css/base.css):
  2. field group (--sl-field-*), --sl-color-text-heading, --sl-color-on-dark, --sl-color-primary-hover, --sl-radius-card, --sl-shadow-input canonized; admin defines the field group, lite gains primary-hover

  3. --sl-field-focus-ring is a color composed as 0 0 0 3px var() in place
  4. Editor skin vendor alignment (templates/*/assets/editors/toastui/skin.css):
  5. chrome, work area, toolbar states, mode switch, dropdown, popups, buttons, inputs, tabs, table selector, context menu, focus rings, selection, placeholders, md syntax accents and WYSIWYG content colors mapped to tokens

  6. one control standard across all windows: theme font chain (vendor font stack removed), fields 32px/12px/field tokens, buttons 32px/12px, hints 11px; emoji tabs restyled as the popup button pair with primary active

  7. toolbar header painted by the wrapper (rounded corners fixed), md tab bottom border restored, popup pinned to the right edge by CSS instead of the racy JS left assignment

  8. Image dialog (plugins/editors/toastui/, templates/*/partials/):
  9. three insert modes as theme-owned radios: upload to server (default), attachment thumbnail, and NEW base64 embed into the text with a 32 KB client limit (_EMODE* constants in all six locales)

  10. file selection uploads automatically (no OK click), drag and drop included
  11. system sl-alert everywhere: upload limits, messages and errors render in an extras strip; file field and hints unified with the file manager

  12. Vendor virtual-DOM integration hard rules (editor-upload.js):
  13. no foreign DOM inside vendor popups: SLAED nodes live in the extras strip and absolutely positioned blocks raised together with the window

  14. vendor node text patched via nodeValue, never textContent
  15. popup closing detected by a MutationObserver on the popup style attribute, fixing stuck header strips for guests and async close paths

  16. Fullscreen (editor-tags.js):
  17. height driven by the engine setHeight('100%') with save/restore, bottom tabs and mode switch stay visible; the 100vh CSS override removed

Benefits:

  • Switching a theme now changes the complete editor look including geometry
  • Anonymous and privileged flows verified end to end without JS errors
  • docs/DATA-URI-SECURITY-PLAN.md records the follow-up server-side hardening
Fix: message markup cloned from theme templates in editor upload JS
Автор: Eduard Laas | Дата: 15:47 16.07.2026

Remove the last visual-contract leak in the editor plugin JS: setMsg() no longer assembles sl-toastui-message-* class names itself and instead clones the theme-owned msg-info/msg-warn template blocks.

Core changes:

  1. Upload messages (plugins/editors/toastui/assets/editor-upload.js):
  2. setMsg() clones the msg-info/msg-warn <template> from the theme and only fills textContent; the message container keeps no plugin-chosen classes

  3. getWarn() and the inline empty-list branch consolidated into one getMsg() helper used by all message paths

Benefits:

  • Theme designers restyle upload messages purely in the theme partial
  • One message-building path instead of three
Feature: theme-owned visuals for editor, icons and avatars
Автор: Eduard Laas | Дата: 13:29 16.07.2026

Complete the 'theme owns visuals, plugin owns mechanics' migration: every SLAED-authored visual asset now lives in the theme, plugins keep only logic and versioned vendor engines, and switching a theme changes the entire look.

Core changes:

  1. Editor asset contract (core/classes/editor.php, plugins/editors/toastui/):
  2. Theme skin moved to templates/<theme>/assets/editors/toastui/skin.css

    • loaded by Editor::getThemeSkin() right after the engine CSS
    • resolved from the effective editor key after all fallbacks
    • deduplicated per theme:key pair, missing declared skin is logged
  3. Dialog markup moved to theme partials editor-toastui-{dialogs,files,templates}.html

    • dialogs partial renders window headers via a template loop
    • EditorToastTemplate bypass class deleted, standard getHtmlPart() used
  4. Plugin JS builds no markup: emoji panel and file manager clone theme-owned <template> blocks and fill textContent/src/data-* only

  5. Plugin JS renamed to editor-{tags,emoji,upload}.js; dead unminified vendor build toastui-editor.js removed

  6. Theme structure validator (core/system.php):
  7. checkThemeAssets() checks the canonical structure including editor assets declared in editor manifests

  8. applied on all theme selection paths: user list/save, admin user edit, global config, getTheme() runtime guard

  9. Avatars (core/user.php, modules/account/index.php, setup/):
  10. system avatars and presets live in templates/<theme>/images/avatars/
  11. getUserAvatarUrl() resolves presets/system from the active theme and accepts only the canonical presets/<name>.<ext> format

  12. idempotent upgrade migration added to table_update6_3.sql with a PHP-side verification counter in setup

  13. Icons and tokens (templates/, core/security.php):
  14. Bootstrap Icons vendor directory renamed to assets/vendor/bootstrap-icons/
  15. canonical token dictionary normalized: primary, bg-soft, text-muted, shadow-panel replace brand-link, surface, muted, shadow-medium everywhere

  16. setExit() uses getThemeAssets() for emergency pages, getThemeCssFiles() and the manual icon CSS include removed

  17. editor classes renamed to sl-editor-icon- / sl-editor-emoji-
  18. toolbar icon color now follows --sl-color-text-muted
  19. img_find() renamed to getThemeImagePath()
  20. Multilingual search (lang/, plugins/editors/toastui/assets/i18n/, templates/admin/assets/js/):

  21. emoji set stored as plain symbols, names and search keywords generated from Unicode CLDR for de/en/fr/pl/ru/uk with localized tooltips

  22. editor labels moved to language constants (_EEMOJI*, _ETABS) in all six locale files

  23. admin icon picker searches by official Bootstrap Icons tags plus CLDR-derived locale term maps, lazy-loaded on first open

Benefits:

  • A theme is a complete, replaceable visual package validated on activation
  • Editor CSS order is deterministic: engine first, theme skin second
  • No innerHTML markup in plugin JS; designers restyle without touching plugins
  • Reproducible avatar migration for existing installations
Feature: Improve editor uploads and form layout
Автор: Eduard Laas | Дата: 00:11 16.07.2026

Unify editor dialogs, upload validation, localization, and full-width form layout while keeping Toast UI resources independent from site themes.

Core changes:

  1. Toast UI editor (plugins/editors/toastui):
  2. Add unified upload and file-manager dialogs with drag, fullscreen, and attachment modes
  3. Move editor templates and translations into the plugin
  4. Upload handling (core and modules):
  5. Validate file types, dimensions, sizes, and aggregate upload limits
  6. Surface clear localized upload errors and help text
  7. Shared interface assets (plugins/bootstrap-icons):
  8. Consolidate Bootstrap Icons outside individual themes
  9. Align editor controls, dialog buttons, inputs, and responsive behavior
  10. Module forms (modules and templates/lite):
  11. Expand editors and intuitive fields to the available width
  12. Preserve explicit labels where additional field context is required
  13. Browser verification (tools/browser-audit.mjs):
  14. Extend authenticated browser checks for editor and upload workflows

Benefits:

  • Consistent editor behavior across themes and modules
  • Clearer upload limits and failure messages
  • Reduced theme duplication and simpler maintenance

Technical notes:

  • Existing CKEditor and TinyMCE drivers load the shared icon assets
  • Toast UI templates no longer depend on theme partials
  • Existing parser attachment behavior remains compatible
Эта неделя (15.07.2026)
Feature: Add 2026 user profile design concepts
Автор: Eduard Laas | Дата: 15:45 15.07.2026

Add a responsive profile redesign showcase centered on the refined Dense Split concept, with complete account details, trust signals, ratings, module activity, and administrative actions.

Core changes:

  1. User profile showcase (demo/user-profile-2026.html):
  2. Add sixteen responsive profile design variants based on the lite theme system
  3. Refine Dense Split with complete user data, trust proofs, rating controls, module statistics, and social and administrative actions
  4. Add switchable activity feeds with threshold-based auto-scrolling and system chips for dates, ratings, and bookmarks

Benefits:

  • Provides a detailed visual foundation for the production profile redesign
  • Reuses established theme controls, tokens, icons, and interaction patterns

Technical notes:

  • Keeps demo-specific CSS and JavaScript inline in the standalone HTML file
  • Does not change backend APIs, database schema, routes, or production templates
  • Preserves existing production behavior
Style: migrate default avatars to SVG
Автор: Eduard Laas | Дата: 14:13 15.07.2026

Replace the legacy raster avatar gallery with a scalable SVG set and expose the required upload placeholders to version control.

Core changes:

  1. Default avatar gallery (uploads/avatars/default):
  2. Replace 54 PNG avatars with 56 SVG avatars
  3. Refresh guest, user, and deleted fallback artwork
  4. Upload placeholders (.gitignore):
  5. Track upload assets and directory index guards
  6. Add index guards for file and news uploads

Benefits:

  • Reduces avatar asset size and improves scaling
  • Keeps required upload directory guards in the repository

Technical notes:

  • Breaking change: legacy default avatar filenames 01.png through 54.png are removed
  • Existing stored references to removed PNG avatars fall back until migrated
Fix: stabilize user block live state
Автор: Eduard Laas | Дата: 14:13 15.07.2026

Keep the guest user block compact and prevent session-bound tokens from breaking its read-only Live refresh.

Core changes:

  1. Live session endpoints (index.php):
  2. Exempt only public read-only session summary and row requests from CSRF validation
  3. Keep login and state-changing routes protected
  4. Guest presentation (templates/lite):
  5. Restore the online chip and correct greeting order
  6. Smooth guest action hover states and remove artificial vertical gaps

Benefits:

  • Prevents intermittent token mismatch alerts during Live refresh
  • Keeps the Dense Login layout compact and predictable

Technical notes:

  • No database schema changes
  • Public session endpoints remain read-only
  • Existing protected actions retain CSRF validation
Feature: redesign user information block
Автор: Eduard Laas | Дата: 13:04 15.07.2026

Redesign the user sidebar around the Dense Split layout and carry the selected Live audience behavior into the production template system.

Core changes:

  1. User and guest states (blocks/user_info.php):
  2. Add group color, rank image, level progress, compact navigation, and guest login presentation data
  3. Rebuild the shared user block partial for authenticated and guest sessions
  4. Live audience summary (core/system.php):
  5. Add member, bot, and guest percentages for the audience ring
  6. Preserve popup rows across refreshes and add overflow-aware automatic scrolling with hover and accessibility pauses
  7. Theme and design labs (templates/lite):
  8. Consolidate the Dense Split visuals into the Lite theme and shared partials
  9. Add the selected 2026 demo variants for future comparison

Benefits:

  • Provides one consistent user block for guest and authenticated states
  • Reuses the existing template, theme, HTMX, and Live UI infrastructure
  • Keeps group identity and online audience data visible without increasing block size

Technical notes:

  • No database schema or route changes
  • Existing user block and session helper interfaces remain backward compatible
Эта неделя (14.07.2026)
Feature: unify interactive UI controls
Автор: Eduard Laas | Дата: 15:33 14.07.2026

Add reusable sharing, favorites, live-status, and modal interactions across frontend and admin views. Consolidate browser behavior and template hooks, refresh localized labels, and replace obsolete UI demos with focused component examples.

Core changes:

  1. Interactive controls (core/system.php, core/user.php, plugins/system/slaed.js):
  2. Add canonical sharing with QR, copy, and social network actions

    • Keep comment and forum links stable across pagination and HTMX updates
    • Reuse global confirmation and share dialogs
  3. Optimize favorite-state rendering and add live refresh controls
  4. Template integration (templates/admin, templates/lite):
  5. Add reusable modal, favorite, freshness, live-chip, and share fragments
  6. Align admin and frontend styles with the consolidated interaction model
  7. Module and demo coverage (modules, demo, lang):
  8. Wire sharing and favorite controls into supported content modules
  9. Synchronize interface labels across all active locales
  10. Replace outdated demo laboratories with focused UI reference pages

Benefits:

  • Consistent interactive behavior across modules and asynchronous updates
  • Fewer duplicate controls and database lookups
  • Clearer template ownership and reusable frontend primitives

Technical notes:

  • No database schema changes
  • Existing public routes and module contracts remain compatible

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

1 2 3 4 5 6 7 8 9 10 104
Хотите опробовать SLAED CMS в действии?
Идеи и предложения
Обратная связь
Подтверждение

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