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

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

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

Всего: 1173 Доступных коммитов | Отфильтровано: 1173 Коммиты | Страница: 66 из 118
10.04.2026
Refactor: admin modules — migrate scheduler, security, statistic, template, uploads to new fragment API
Автор: Eduard Laas | Дата: 00:06 10.04.2026

Replace legacy template helpers (getTplOption, getTplSelect, getTplAdminNavi, getTplAdminSearchBox, admin-*-form fragments) with the unified new/ fragment API across five admin modules, improving consistency and removing deprecated paths.

Core changes:

  1. Scheduler (admin/modules/scheduler.php):
  2. Replace getTplAdminNavi with getTplAdminTabs
  3. Replace getTplAdminTipLine string concatenation with structured $tips array
  4. Replace custom action form+link HTML with $acts arrays using row-actions-item fragments
  5. Use token-carrying GET links for run/unlock/delete actions instead of POST forms

    • run action now gated behind job[manual] === 1 flag
  6. Replace old alert() fragments with new/alert fragments
  7. Security / bansave (admin/modules/security.php):
  8. Refactor bansave(): move all logic under if (!$warn) guard using $warn pattern
  9. Remove manual opcache_invalidate and file re-include for config reload

    • Use $conf['security'] directly instead of re-reading security.php
  10. Migrate token-error path to setRedirect flash instead of inline echo
  11. Statistic (admin/modules/statistic.php):
  12. Replace getTplOption/getTplSelect with new/select-option + new/select fragments
  13. Replace getTplAdminSearchBox + admin-statistic-search-form with new/form + searchbox part
  14. Replace getTplAdminNavi with getTplAdminTabs using subtitle_html for search bar
  15. Replace admin-statistic-image with new/image-preview fragment
  16. Template (admin/modules/template.php):
  17. Add getTemplateFiles(), getTemplateHtmlFiles(), getTemplateCssFiles() helpers

    • Use RecursiveIteratorIterator instead of manual scandir loops
  18. Add getTemplateTabsOps() for consistent tab URL generation
  19. Migrate getTemplateSearch() to new/select-option + new/form + searchbox part
  20. Remove preg_match('/\./', $file) guard; replace with is_dir() check
  21. Uploads (admin/modules/uploads.php):
  22. Migrate getUploadsSearch() to new/select-option + new/form + searchbox part
  23. Migrate upload form to new/form with structured rows and hidden arrays
  24. Replace admin-uploads-upload-rows fragment with inline new/input fields
  25. Replace old alert() with new/alert fragments

Benefits:

  • Eliminates six deprecated template helpers from admin module code paths
  • Scheduler run/unlock/delete no longer require hidden POST forms per row
  • Security bansave is simpler and does not perform redundant config file re-reads

Technical notes:

  • Scheduler manual flag (job[manual]) gates the Run action; built-in jobs are not manually runnable
  • Template RecursiveIteratorIterator replaces nested scandir and covers subdirectories
  • No changes to config keys, DB schema, or public-facing URLs
Fix: admin modules — getVar migration, tab index, required attr, indentation
Автор: Eduard Laas | Дата: 00:06 10.04.2026

Minor targeted fixes across four admin modules, each addressing a distinct correctness or style issue found during review.

Core changes:

  1. Security fix (admin/modules/blocks.php):
  2. Replace filter_input(INPUT_POST, 'blocktext', FILTER_UNSAFE_RAW) with getVar('post', 'blocktext', 'raw', '')

    • Aligns with project security baseline requiring getVar for all user input
  3. Fix tab index in add(): change active tab from 1 to 3 (Add new block tab)
  4. Comment config form (admin/modules/comments.php):
  5. Replace deprecated com_access() helper with explicit $tpl->getHtmlFrag('new/select', ...) call

    • Uses standard select-option fragments with three anonpost values: 0, 1, 2
  6. Indentation (admin/modules/config.php):
  7. Fix save() function body: indent $protect/$kprotect block and $cont array

    • Code was at column 0 inside the if (!$warn) block
  8. Replace module (admin/modules/replace.php):
  9. Remove is_required => true from two field fragment calls

    • Fields allow empty values; required constraint was incorrect

Benefits:

  • All user input in blocks.php now goes through the getVar security layer
  • Consistent indentation in config.php save() matches surrounding style

Technical notes:

  • No behavior change in config.php or replace.php; purely cosmetic corrections
  • com_access() is no longer referenced in comments.php
Refactor: core — subtitle_html in admin tabs, CodeMirror height, cutstr trim
Автор: Eduard Laas | Дата: 00:06 10.04.2026

Extend two helper functions to support new use cases introduced by the admin module migration to the new template fragment API.

Core changes:

  1. setTplAdminInfoPage / getTplAdminTabs (core/helpers.php):
  2. Pass subtitle_html from data array through to getTplAdminTabs call

    • Allows info-page callers to inject a search or filter bar below tabs
  3. getTplCodeEditor (core/helpers.php):
  4. Add optional height parameter support
  5. When height is set, emit inline script to call editor.setSize(null, height)

    • Targets the specific editor instance by textarea id to avoid conflicts
  6. getAdminCategoryList (core/admin.php):
  7. Reduce cutstr title length from 50 to 45 characters

    • Prevents overflow in tip-label cells at standard column widths

Benefits:

  • Admin modules using setTplAdminInfoPage can now pass subtitle search bars
  • Code editors in full-width rows respect explicit height constraints

Technical notes:

  • getHtmlScriptInline is used for the inline height script (existing helper)
  • subtitle_html defaults to empty string when not provided
Style: admin CSS — fix sort header alignment and add CodeMirror full-width rule
Автор: Eduard Laas | Дата: 00:05 10.04.2026

Two unrelated visual fixes in the admin stylesheet plus a new layout rule for full-width code editor fields inside sl-div-item-full containers.

Core changes:

  1. Table sort last-column header (new.css, system.css):
  2. Change text-align from right to left for consistency with other headers
  3. Restore padding-right from 8px to 16px to match standard header padding
  4. Sort icon pseudo-element (system.css):
  5. Add width: 10px and text-align: center to the ::after arrow indicator
  6. Reduce padding-right from 18px to 16px on .sl_sort* cells
  7. CodeMirror full-width in sl-div-item-full (new.css):
  8. Add rule: .sl-div-item-full .sl-div-field .sl_form and .CodeMirror

    • width: 100%, max-width: 100%, box-sizing: border-box
    • Prevents code editor overflow in full-width layout rows

Benefits:

  • Sort icons are properly centered and do not overflow cell padding
  • Code editor fields render flush to the container in full-width rows

Technical notes:

  • Both .sl_table_list_sort (system.css) and .sl-table-list-sort (new.css) updated
  • No changes to HTML structure required
Style: lang — rename _BOTSOPT label to 'Crawlers' in all languages
Автор: Eduard Laas | Дата: 00:05 10.04.2026

Update the display name for the search-bot settings section from the vague 'Search bots' / 'Поисковые боты' phrasing to the more precise technical term 'Crawlers' / 'Краулеры' across all six language files.

Core changes:

  1. Language constant _BOTSOPT (admin/lang/*.php):
  2. en.php: 'Search bots' → 'Crawlers'
  3. ru.php: 'Поисковые боты' → 'Краулеры'
  4. de.php, fr.php, pl.php, uk.php: equivalent rename applied

Benefits:

  • Consistent terminology with industry-standard crawler terminology
  • Cleaner distinction between bots (generic) and crawlers (indexing agents)

Technical notes:

  • Constant key _BOTSOPT is unchanged; only the display string updated
  • No impact on logic or config keys
Chore: config — copyright symbol, padding cleanup, uploads thumbnail size
Автор: Eduard Laas | Дата: 00:04 10.04.2026

Normalize config files to align with code style rules and bring runtime data up to date after recent admin module refactoring.

Core changes:

  1. Copyright header (config/filetype.php, config/replace.php, config/statistic.php, config/uploads.php):
  2. Replace Unicode © with ASCII (c) for encoding consistency
  3. Alignment padding (config/replace.php, config/statistic.php, config/uploads.php):
  4. Remove extra spaces used to align array key-value pairs
  5. Upload thumbnail sizes (config/uploads.php):
  6. Unify thumbnail max-width to 150px across all upload contexts

    • Was inconsistent: 250, 260, 220 for different modules
  7. Security dump_skip (config/security.php):
  8. Swap order: vendor/ before tests/ in dump exclusion list
  9. Base fingerprint (config/local.php):
  10. Update to reflect current config state

Benefits:

  • ASCII-only headers are portable across all editors and terminals
  • Uniform thumbnail limit simplifies upload behaviour expectations
  • Consistent padding style matches global.md alignment rules

Technical notes:

  • No behavioral changes beyond thumbnail size normalization
  • CRLF line endings in config/scheduler.php normalized to LF
  • config/local.php fingerprint is a runtime artifact updated automatically
09.04.2026
Docs: fix trailing newline in admin info pages
Автор: Eduard Laas | Дата: 18:37 09.04.2026

admin/info/modules/ru.md was missing a trailing newline at end of file. No content change.

Core changes:

  1. admin/info/modules/ru.md:
  2. Add missing trailing newline (EOF) to last line
  3. admin/info/admins/ru.md:
  4. Normalize CRLF line endings to LF

Benefits:

  • Consistent file endings across all documentation files
  • Eliminates spurious diff noise in future patches

Technical notes:

  • Content unchanged; whitespace normalization only
Fix: slaed.js — fix animateSlide cancellation, height measurement and easing
Автор: Eduard Laas | Дата: 18:37 09.04.2026

animateSlide previously measured scrollHeight before showing the element, producing zero on hide and an incorrect start height on show. Running simultaneous slide animations on the same element also left orphaned animation state. This commit cancels any in-progress animations before starting a new one, sets the initial height explicitly after the element is visible (triggering a reflow), and switches from ease to linear easing to prevent height overshoot on fast toggles.

Core changes:

  1. Animation cancellation (plugins/system/slaed.js — animateSlide):
  2. Call element.getAnimations() and cancel all active animations before starting

    • Prevents stacked/conflicting animations when toggled rapidly
  3. Height measurement fix:
  4. For show: set height 0px and trigger reflow before reading scrollHeight

    • Ensures correct endHeight even on first-time display
  5. For hide: capture offsetHeight into style.height before animating

    • Prevents jump when element has non-auto height
  6. Easing change:
  7. Switch from 'ease' to 'linear'

    • Avoids perceived overshoot at end of animation at high durations

Benefits:

  • Collapse/expand no longer glitches when triggered before previous animation ends
  • Correct height on all browsers regardless of display timing
  • Predictable animation feel for UI elements like toggle-form-block

Technical notes:

  • getAnimations() is supported in all modern browsers; gracefully defaults to []
  • No changes to the public HideShow / SlideUp / SlideDown API surface
  • Opacity keyframe removed from slide animation (only height animates now)
Feature: templates — flash alert, toggle-form-block, HTMX pager, module-foot, CSS
Автор: Eduard Laas | Дата: 18:37 09.04.2026

Add new admin UI fragments and extend existing ones to support the flash notification system, collapsible form blocks, HTMX-driven pager links, and a unified module footer. Remove five legacy fragments replaced by the new generic API. Add alerts.js for auto-hiding flash banners. Extend new.css with all new component styles.

Core changes:

  1. New fragments:
  2. new/toggle-form-block.html: collapsible labeled form section with optional add-trigger
  3. new/module-foot.html: module list footer combining pager and bulk-action select
  4. new/image-preview.html: generic inline image preview by id/src/alt
  5. rating-like-live.html: HTMX-wired rating widget (rate1_query / rate5_query)
  6. rating-like.html: static rating widget (no HTMX) for non-admin contexts
  7. Deleted fragments (replaced by generic API):
  8. admin-fields-field-block.html → new/toggle-form-block
  9. admin-ratings-module-block.html → new/toggle-form-block
  10. admin-referers-search-form.html → new/form subtitle
  11. admin-replace-field-block.html → new/toggle-form-block
  12. comment-bulk-actions.html → inline new/div rows
  13. Updated fragments:
  14. new/alert.html: add is_flash / alert_attr support; render sl-alert-flash-bar
  15. new/form.html: add actions_html slot alongside submit_label
  16. new/pager-link.html: support query/target_id/push_url for HTMX pagination
  17. new/table.html: add is_wrapless branch that omits basecont wrapper
  18. pager-link.html: add query/target_id/push_url branch for HTMX
  19. comment.html: replace date+IP inline text with meta_tip slot; add z-index to actions
  20. CSS (templates/admin/assets/css/new.css):
  21. .sl-toggle-form-block and inner grid layout
  22. .sl-alert-flash / .sl-alert-flash-bar auto-hide animation
  23. .sl-plus sprite icon for collapsible triggers
  24. .sl-module-foot layout classes
  25. .sl-ratings-inner-row and .sl-lang-edit-row column overrides
  26. Responsive breakpoint for toggle-form-block-item
  27. Fix .sl-div-actions margin-top (was padding-top)
  28. JS (templates/admin/assets/js/alerts.js):
  29. initAdminAlerts(): binds auto-hide timer to [data-sl-autohide] elements
  30. Runs on DOMContentLoaded and htmx:load for HTMX-injected content

Benefits:

  • Flash alerts auto-dismiss after 15 s without user interaction
  • Pager links in admin lists are HTMX-navigable with browser history push
  • Collapsible form blocks reduce visual noise in fields/ratings/replace modules
  • Module footer unifies pager + bulk-action placement across all list views

Technical notes:

  • rating-like-live.html replaces hover_query with separate rate1_query/rate5_query
  • is_wrapless on new/table renders a bare <table> for use inside other containers
  • alerts.js must be included in the admin layout after htmx.js
  • Deleted fragments have no remaining callers after commit 4
Refactor: admin modules — flash redirects, new fragment API, UI modernization
Автор: Eduard Laas | Дата: 18:36 09.04.2026

Replace all inline token-check error pages with setRedirect flash calls. Migrate table rendering, form widgets, and action menus to the new fragment API (new/table, new/div, new/row-actions, new/select, new/input, new/form, new/toggle-form-block). Drop legacy getTplAdminNavi in favor of getTplAdminTabs across all remaining modules. Affected: admins, blocks, categories, comments, config, database, editor, favorites, fields, groups, lang, messages, modules, monitor, newsletter, privat, ratings, referers, replace, uploads.

Core changes:

  1. Token-check pattern (all modules):
  2. Replace full setHead/echo/setFoot guard blocks with $warn = !checkSiteToken()
  3. Pass flash text and $warn flag to setRedirect() on every POST/GET action
  4. Use _TOKENMISS (warn) or _SUCC* (success) constants from the new lang set
  5. Navigation migration (groups, ratings, lang, modules, newsletter, replace, referers):
  6. Replace getTplAdminNavi with getTplAdminTabs
  7. Remove getTplAdminTabsSetup and getTplAdminConfSave wrapper calls
  8. Form widget migration (fields, groups, lang, modules, ratings, newsletter, replace):
  9. Replace getTplTextInput / getTplSelect / getTplOption with new/input, new/select, new/select-option
  10. Replace getTplAdminFormRow with new/div rows array
  11. Replace getTplAdminTableHead / getTplAdminTable / getTplAdminTableRow with new/table, new/table-row, new/table-cells
  12. Replace getTplAdminActionMenu / getTplLinkAction with new/row-actions items
  13. fields module:
  14. Complete rewrite: runtime tab system using getTplAdminTabs is_runtime mode
  15. Replace admin-fields-field-block with new/toggle-form-block
  16. Fix field data parsing: use array_pad/explode instead of preg_match
  17. ratings module:
  18. Replace admin-ratings-module-block with new/toggle-form-block
  19. Replace radio_form with getTplRadioGroup for all per-module radio groups
  20. comments module:
  21. Add module-filter select with live onchange submit
  22. Replace comment-bulk-actions fragment with new/div rows + new/select
  23. Wrap list bottom in new/module-foot fragment
  24. Extend getTplPager call to filter by modul when selected
  25. referers module:
  26. Replace admin-referers-search-form with inline new/form subtitle
  27. Add token to all action URLs
  28. replace module:
  29. Replace admin-replace-field-block with new/toggle-form-block
  30. Migrate sort select to new/select-option
  31. favorites / privat modules:
  32. Use is_wrapless table, getTplPager with HTMX target
  33. favorites: deletion moved to module (op=delete) with token + confirm dialog
  34. Misc modules (blocks, categories, database, editor, config, monitor, uploads):
  35. Align token handling to $warn pattern
  36. Add _SUCC* flash messages on successful saves

Benefits:

  • Eliminates ~40 duplicated inline error-page guard blocks
  • Consistent UX: every action returns a flash notification instead of blank reload
  • All form and table UI rendered through the new fragment API
  • Removes dependency on getTplAdminNavi and related legacy helpers

Technical notes:

  • getTplAdminNavi is now unused across all admin modules
  • All destructive GET actions include getSiteToken() in the URL
  • Field data for fields.php now uses 1-based index (field1/field2 instead of field2/field3)
  • No database schema changes

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

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

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

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