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

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

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

Всего: 1045 Доступных коммитов | Отфильтровано: 1045 Коммиты | Страница: 53 / 105
10.04.2026
Refactor: admin account — migrate to new fragment API with pagination, CSRF, and search extraction
Автор: Eduard Laas | Дата: 12:29 10.04.2026

Rewrites the account admin module to align with the new unified admin fragment API introduced across all admin modules: replaces legacy getTplAdminNavi, getTplAdminTableHead, getTplAdminActionMenu, getTplBox, and radio_form calls with new/table, new/row-actions, new/form, new/alert, and getTplAdminTabs; extracts getAccountSearch() as a standalone function and adds proper CSRF token guards and getSiteToken() on all state-changing actions.

Core changes:

  1. Account list (modules/account/admin/index.php):
  2. Replaced getTplAdminNavi with getTplAdminTabs and subtitle_html parameter
  3. Rewrote row rendering: new/table-row, new/table-cells, new/row-actions, new/title-tip
  4. Added filterTextHighlight() for search term highlighting in all relevant columns
  5. Extracted getAccountSearch() as named function; moved search form to subtitle_html slot
  6. Replaced getTplPager with inline pagination using new/pager-link and new/pager-dots
  7. Account config (modules/account/admin/index.php):
  8. Replaced getTplBox + form-conf fragment with new/form rows array
  9. Replaced radio_form() / getTplSelect() with getTplRadioGroup / new/select
  10. Added CSRF token hidden field to config form via getSiteToken()
  11. Replaced getTplCodeEditor call with updated signature pattern

Benefits:

  • Consistent admin UI: all controls rendered via unified new/* fragment API
  • CSRF-safe: all state-mutating actions guarded with getSiteToken()
  • Search now highlights matched text in ID, name, IP, and email columns
  • Config form no longer depends on legacy form-conf HTML fragment

Technical notes:

  • getAccountSearch() is module-private; not exported or shared
  • Pagination logic moved from getTplPager to inline loop with new/pager-link
  • No schema, URL, or session-API changes
Revert: config — restore Unicode © in copyright headers and generator
Автор: Eduard Laas | Дата: 00:12 10.04.2026

The previous commit normalized copyright to ASCII (c) in config files, but setConfigFile() in core/system.php uses © as the canonical template for generated configs. Restoring © everywhere keeps generated and hand-authored files consistent.

Core changes:

  1. Config generator (core/system.php):
  2. Restore '# Copyright © 2005 - Y SLAED' in setConfigFile() template

    • Was changed to (c) in the previous chore commit
  3. Config files (config/referers.php, config/replace.php, config/scheduler.php, config/security.php, config/statistic.php):
  4. Revert copyright line from (c) back to ©

    • These files are generated or maintained by setConfigFile(); must match

Benefits:

  • Generated and static config files share identical copyright format
  • No divergence between setConfigFile() output and repository state

Technical notes:

  • config/referers.php was not touched in the previous commit; corrected here
  • Encoding rule exception: © is required here as the project copyright symbol
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)

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

1 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 105
Хотите опробовать SLAED CMS в действии?
Идеи и предложения
Обратная связь
Подтверждение

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