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

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

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

Всего: 1173 Доступных коммитов | Отфильтровано: 1173 Коммиты | Страница: 62 из 118
14.04.2026
Refactor: getTplPager — add prefix option for new/ fragment namespace
Автор: Eduard Laas | Дата: 15:40 14.04.2026

Frontend modules using the new/ template layer need to call pager-link, pager-dots, and pager fragments from the new/ subdirectory. The prefix option allows callers to pass 'new/' and get new-layer fragments without duplicating pager logic.

Core changes:

  1. getTplPager (core/helpers.php):
  2. Added: $prefix = (string)($opt['prefix'] ?? '')
  3. Changed: pager-link, pager-dots, pager fragment calls now use $prefix
  4. Closure captures $prefix via use() for link rendering
  5. Added missing space after current page number for consistent spacing

Benefits:

  • No duplicate pager code for new/ vs legacy fragment paths
  • modules/content/index.php and future modules pass prefix: 'new/'
  • Legacy callers unaffected (prefix defaults to empty string)

Technical notes:

  • Fragment path: $prefix.'pager-link' resolves to 'new/pager-link'
  • Space after current page item aligns with non-current item spacing
Style: remove duplicate border-bottom from .fullview in theme.css
Автор: Eduard Laas | Дата: 15:40 14.04.2026

The sl-fullview article in new/view.html already renders a <hr> element before the footer buttons, making the CSS border-bottom on .fullview produce a visible double line.

Core changes:

  1. theme.css — .fullview (templates/default/assets/css/theme.css):
  2. Removed: border-bottom: 1px solid #ebebee
  3. Kept: padding-bottom: 25px
  4. theme.css — .fullview (templates/lite/assets/css/theme.css):
  5. Same change applied

Benefits:

  • Single visual separator (the <hr>) in full article view
  • Eliminates visible double-line regression in default and lite themes

Technical notes:

  • Legacy .fullview class still used by old content-view.html fragments
  • new/view.html uses sl-fullview — border handled by <hr> in markup
Feature: add new/ frontend template layer — fragments and CSS
Автор: Eduard Laas | Дата: 15:40 14.04.2026

Introduces a unified new/ fragment namespace for all frontend modules. All fragments use sl-* CSS class naming (hyphen), defined in new.css alongside the sl_* legacy classes in system.css/theme.css.

Core changes:

  1. New fragment set (templates/*/fragments/new/):
  2. alert.html — inline alert block (warn/info variants)
  3. card.html — article card for grid layouts (sl-post sl-card)
  4. navi.html — frontend navigation menu (sl-navi-menu)
  5. pager.html, pager-link.html, pager-dots.html — paginator
  6. table.html — sortable table wrapper with optional columns
  7. table-row.html — generic table row wrapper
  8. table-row-content.html — standard 3-column article row
  9. table-row-liste.html — 5-column liste row (title/cat/poster/date)
  10. tip.html — hover tooltip with date and read-count
  11. view.html — full-page article view (sl-post sl-fullview)
  12. New CSS layer (templates/*/assets/css/new.css):
  13. sl-post, sl-card, sl-fullview, sl-title, sl-meta, sl-meta-foot
  14. sl-entry-content, sl-rate-box, sl-pull-right
  15. sl-table, sl-table-head, sl-table-body, sl-table-cell, sl-table-col-num
  16. sl-pager and all pager sub-elements
  17. sl-navi-menu
  18. Applied identically to default, lite, and simple themes

Benefits:

  • Single source of truth for new-layer class naming across all themes
  • No HTML in PHP — all presentation moved to fragments
  • Clear separation: sl- (new.css) vs sl_ (legacy)

Technical notes:

  • Fragments deployed identically to all three themes (default, lite, simple)
  • new.css comments follow admin new.css style (simple slash-star groups)
  • Backward compatible: legacy fragments untouched
13.04.2026
Docs: add EDITORS.md and PARSER.md architecture documents
Автор: Eduard Laas | Дата: 23:19 13.04.2026

Adds two new architecture reference documents for subsystems introduced in the editor system migration. These files are referenced in the README documentation table and describe the stable contracts that contributors should follow when extending or integrating editors and the content parser.

Core changes:

  1. docs/EDITORS.md:
  2. Describe the pluggable Editor class architecture and manifest.json format
  3. Document ContentDriver and CodeDriver interfaces
  4. List bundled drivers and their intended roles
  5. docs/PARSER.md:
  6. Describe Parser class and filterContent() API
  7. Document filterMarkdown() legacy shim and migration path
  8. Clarify safe vs. unsafe parsing contexts

Benefits:

  • New contributors have a single reference for editor and parser integration
  • Eliminates undocumented API surface for two actively used subsystems

Technical notes:

  • Documents describe current repository state only; no forward-looking promises
Feature: update editor drivers and add bbcode driver
Автор: Eduard Laas | Дата: 23:19 13.04.2026

Updates the active editor driver implementations for CKEditor, TinyMCE, ToastUI, and plain editors to align with the pluggable Editor class contract. Adds the BBCode driver as a new bundled content editor option. Updates TinyMCE and ToastUI to include current asset bundles.

Core changes:

  1. Editor drivers (plugins/editors/):
  2. ckeditor: update driver.php and manifest.json for current CKEditor 5

    • Add bundled CSS asset (ckeditor.bundle.css)
  3. tinymce: update driver.php and manifest.json; add current theme/model assets
  4. toastui: update driver.php and assets; add i18n support and full JS bundle
  5. plain: update driver.php for current Editor class interface
  6. bbcode: add new bbcode driver (driver.php, manifest.json, assets)
  7. Database schema (setup/sql/table.sql):
  8. Apply pending schema updates matching current runtime expectations

Benefits:

  • All active editor drivers implement the ContentDriver interface correctly
  • BBCode editor available as a bundled option for user-facing content
  • ToastUI i18n bundle enables locale-aware Markdown editing

Technical notes:

  • Driver interface: getAssets(profile) + getWidget(id, name, value, profile, data)
  • manifest.json format unchanged; new drivers follow existing schema
Chore: remove legacy plugins/filemanager and plugins/tinymce
Автор: Eduard Laas | Дата: 23:19 13.04.2026

Both standalone directories are superseded by the pluggable editor system. The TinyMCE 4.5 driver is now bundled in plugins/editors/tinymce/ with a current version and manifest. The filemanager plugin had no active callers after the textarea() editor dispatch migration and was confirmed unused.

Core changes:

  1. Legacy file manager (plugins/filemanager/):
  2. Remove entire ResponsiveFilemanager bundle (PHP backend + JS + assets)

    • No active references remain in core, admin, or module code after migration
    • File upload paths now go through the module-level upload handlers
  3. Legacy TinyMCE standalone (plugins/tinymce/):
  4. Remove TinyMCE 4.5.6 standalone bundle

    • Active TinyMCE driver is in plugins/editors/tinymce/ with current version
    • Old bundle used Flash (ZeroClipboard) and Flash-era plugins

Benefits:

  • Removes Flash-era dependencies (ZeroClipboard.swf, Jplayer.swf, jPlayer)
  • Eliminates ~300 dead files from the repository
  • No remaining references to either directory

Technical notes:

  • plugins/editors/tinymce/ and its manifest.json are unaffected
  • plugins/editors/ckeditor/ uses the current CKEditor 5, not the removed 4.x bundle
Docs: sync project documentation with current codebase state
Автор: Eduard Laas | Дата: 23:18 13.04.2026

Updates all root-level and docs/ documentation to reflect changes made since the March 2026 snapshot: highlight.js integration, editor system migration, removal of legacy plugins, and the pluggable Editor architecture. Dates updated to April 2026.

Core changes:

  1. README.md:
  2. Remove Migration: 90% Complete badge (static metric)
  3. Update Tech Stack: Editor class and pluggable plugins/editors/ system
  4. Update Content Parsing: Parser class (not bare filterMarkdown)
  5. Update project structure: add editor.php, parser.php entries
  6. Remove docs/TEMPLATE_STATUS.md reference (file deleted)
  7. Update plugins/ description to reflect current directory contents
  8. CONTRIBUTING.md:
  9. Add Content Parsers and Editors section with Parser and Editor API guidance
  10. Remove MySQL/MariaDB version TODO (resolved by badge in README)
  11. UPGRADING.md:
  12. Add Content Editors section: Editor::getContent() / Editor::getCode() migration
  13. Add Content Parsing section: Parser::filterContent() replaces filterMarkdown()
  14. Fix storage/sitemap path reference
  15. SECURITY.md:
  16. Update storage paths for sitemap data
  17. docs/TESTS.md:
  18. Add ParserFixturesTest.php to Unit test list
  19. docs/TEMPLATES.md:
  20. Minor alignment with current runtime state

Benefits:

  • Documentation accurately reflects the active plugin stack and editor API
  • Contributors no longer see references to deleted functions or plugins
  • Parser and Editor migration paths are explicitly documented

Technical notes:

  • docs/TEMPLATE_STATUS.md was removed in the plugin cleanup commit
  • No new documentation files created; existing files updated in place
Style: update admin templates — preview-content CSS classes and div-row
Автор: Eduard Laas | Дата: 23:18 13.04.2026

Adds admin-preview-* CSS classes to preview-content.html across all themes for targeted admin-side styling. Updates div-row fragment to support field_unwrapped mode for editor widgets that should not be wrapped in the sl-div-field container. Adds CKEditor and full-width editor CSS rules to the admin theme stylesheet.

Core changes:

  1. Preview templates (templates/*/partials/preview-content.html):
  2. Add admin-preview class to root div (all themes)
  3. Add admin-preview-title, admin-preview-fields1/2/3 classes for scoped CSS
  4. admin theme: fix broken indentation from previous edit
  5. Admin template fragments (templates/admin/fragments/):
  6. div-row.html: add field_unwrapped branch to skip sl-div-field wrapper
  7. image-preview.html: replace show_image nullable check with explicit show_toggle / show_fallback boolean flags (matches editorFilePreview() update)

  8. Admin CSS (templates/admin/assets/css/new.css):
  9. Add .sl-div-item-full editor width rules for all active editor containers
  10. Add CKEditor min-height rule for inline editable regions

Benefits:

  • Admin preview sections are independently targetable via CSS class
  • Editor widgets in full-width rows no longer clip or overflow
  • image-preview fragment logic is now explicit; no nullable-check ambiguity

Technical notes:

  • Companion change to editorFilePreview() in core/system.php (show_toggle/show_fallback)
  • No template engine changes required; existing Template runtime handles the new flags
Chore: remove legacy standalone plugins/codemirror
Автор: Eduard Laas | Дата: 23:18 13.04.2026

The standalone CodeMirror bundle is superseded by the CodeMirror editor driver inside plugins/editors/codemirror/, which is loaded on demand by the Editor class. The old top-level directory was no longer referenced by any active code path after the editor system migration.

Core changes:

  1. Legacy CodeMirror bundle (plugins/codemirror/):
  2. Remove 5.x standalone distribution (lib, addon, mode, theme, keymap)

    • Active CodeMirror 6.x driver lives in plugins/editors/codemirror/
    • No remaining references from core, admin, or module code

Benefits:

  • Eliminates dead asset tree from the repository
  • Prevents confusion between the legacy standalone and the active driver

Technical notes:

  • plugins/editors/codemirror/ and its manifest.json are unaffected
Refactor: editor system integration — replace legacy editor dispatch
Автор: Eduard Laas | Дата: 23:17 13.04.2026

Replaces the hardcoded redaktor/editor integer flag system with the pluggable Editor class. Legacy functions textarea_code(), redaktor(), datetime(), getUserSearch() are removed; textarea() and getAjaxTextarea() now delegate to Editor::getContent(). encode_php() (syntax=2) now renders highlight.js blocks instead of SyntaxHighlighter. Config key 'redaktor' removed; editor config now lives under 'editor.user/admin/code'.

Core changes:

  1. Runtime bootstrap (core/system.php):
  2. Move Editor bootstrap before security.php to ensure availability
  3. Add getEditorKey(), checkHtmlEditor(), getEditorMode() helpers
  4. Rewrite textarea() to call Editor::getContent() via driver dispatch
  5. Remove textarea_code(), redaktor(), getUserSearch(), datetime()
  6. encode_php() syntax=2: emit highlight.js markup, map language aliases
  7. ad_save(), categorySelectOption(), editorFilePreview(): use $tpl frags
  8. Admin runtime (core/admin.php, core/classes/editor.php):
  9. Minor adjustments to editor key resolution and admin context
  10. Admin modules (admin/modules/*.php):
  11. editor.php: migrate to Editor::getCode() and Editor::getSelect()
  12. config.php: remove 'redaktor', update css_f default to highlightjs
  13. admins.php, newsletter.php: clean up editor field rendering
  14. Frontend modules (modules/*/admin/index.php, account, forum, rss):
  15. Migrate textarea_code() calls to Editor::getCode()
  16. Remove redaktor() dropdown calls; use Editor::getSelect()
  17. faq, files, help, jokes, links, media, money, news, order, pages, shop, voting
  18. Config (config/global.php, config/local.php):
  19. Remove 'redaktor' key from global config
  20. Update css_f from syntaxhighlighter path to highlightjs/slaed-theme.css
  21. Update base_fingerprint after asset changes

Benefits:

  • Editor selection is now data-driven via manifest.json, not integer flags
  • Removes ~150 lines of hardcoded editor branching from system.php
  • Single dispatch point; adding a new editor requires only a driver file

Technical notes:

  • Old admin[3] integer flags (0-4) are fully retired
  • checkHtmlEditor() replaces the (editor==1) trust check for HTML input
  • All admin modules continue to function identically from user perspective

Страница 62 из 118. Всего: 1173

1 57 58 59 60 61 62 63 64 65 66 118
Хотите опробовать SLAED CMS в действии?
Идеи и предложения
Обратная связь
Подтверждение

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

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