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

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

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

Всего: 1173 Доступных коммитов | Отфильтровано: 1173 Коммиты | Страница: 32 из 118
04.06.2026
Fix: format debug error timestamps with system locale
Автор: Eduard Laas | Дата: 11:59 04.06.2026

Render each recent error time in getDebugErrors() via date_create()->format(_TIMESTRING) instead of the raw stored string, so the debug panel shows dates in the configured system format and keeps the embedded timezone offset.

Core changes:

  1. Debug error list (system.php):
  2. Parse row time with date_create() and format with _TIMESTRING

    • Guard empty time values so no stray leading space is emitted
  3. Keep channel, message and optional URL layout unchanged

Benefits:

  • Consistent, localized timestamps in the performance/debug panel
  • Avoids timezone shift from re-parsing with the server default

Technical notes:

  • Presentation only, no storage/format change
  • Backward compatible
Style: align debug stats label and value above the progress bar
Автор: Eduard Laas | Дата: 08:09 04.06.2026

Lay out the four system-performance metrics like the voting result rows: label on the left, value on the right, on one line above a full-width progress bar, in both the admin and frontend themes.

Core changes:

  1. Debug stats fragment (templates/{admin,lite}/fragments/debug-stats.html):
  2. Move the value next to the label inside the <dt> header; <dd> holds only the bar
  3. Theme styles (templates/{admin,lite}/assets/css/theme.css):
  4. Replace the two-column grid with a flex header (space-between) and a full-width bar
  5. Drop the trailing colon after the label

Benefits:

  • Clearer, consistent performance panel matching the voting result layout

Technical notes:

  • Template/CSS only; no PHP change; data keys and value strings unchanged
03.06.2026
Chore: remove dead upload_token CSRF fallback
Автор: Eduard Laas | Дата: 23:43 03.06.2026

The index.php CSRF gate read an upload_token request param that no client ever sends (uploads, the editor and forms all use token or the X-CSRF-Token header), so the fallback was unreachable.

Core changes:

  1. Entry point (index.php):
  2. Drop the unreachable upload_token branch from the token resolution chain

Benefits:

  • Removes dead code from the security gate

Technical notes:

  • Behavior-preserving: the token param and X-CSRF-Token header remain
Refactor: consolidate progress bars onto .sl-progress
Автор: Eduard Laas | Дата: 23:43 03.06.2026

Voting results and the debug-stats panel used two parallel bar systems: a <meter>-based .sl-vote-meter with ~135 lines of vendor pseudo-element hacks, plus orphaned --sl-progress-* variables. Unify everything on a single gradient div component .sl-progress-line and drop the meter system.

Core changes:

  1. Markup (lite + admin fragments):
  2. voting-view, debug-stats: <meter> replaced by .sl-progress-line div bars
  3. Styles (lite + admin base.css, theme.css):
  4. Add .sl-progress-line / .sl-progress-1..5 gradient rules
  5. Remove all .sl-vote-meter rules and --sl-vote-meter-* variables
  6. Component is margin-neutral; spacing scoped to .sl-vote-list / .sl-vote-result
  7. Lite bars thickened to 10px track / 8px fill, radius 3px; admin keeps 6/4/2

Benefits:

  • One bar component instead of two; net fewer lines of CSS
  • Consistent cross-browser rendering, restored gradient look

Technical notes:

  • Threshold color (debug success/info/warn/danger) preserved via sl-progress-{N}
  • Admin and lite themes remain independent
Fix: voting block CSRF token and POST submission
Автор: Eduard Laas | Дата: 23:42 03.06.2026

The vote action used hx-get without a token, so it hit the index.php CSRF gate ("Illegal file access"); htmx also does not include form fields on GET, so the chosen options were never sent. Switch the vote to an htmx POST that carries a hidden CSRF token, matching the admin token pattern.

Core changes:

  1. Voting view (core/system.php):
  2. getVotingView(): vote button uses hx-post via an is_post flag
  3. Pass the poll id and ajax token into the voting form
  4. Templates:
  5. comment-action-ajax: add is_post flag (hx-post instead of hx-get)
  6. voting-widget: hidden id and token fields inside the form

Benefits:

  • Voting passes the CSRF gate and records the selected options
  • Reuses the established hidden-token contract, no global shim

Technical notes:

  • POST lets htmx include the enclosing form (body[] + token)
  • Backward compatible: other comment-action-ajax callers stay on GET
Fix: read array inputs through getVar() key[] syntax
Автор: Eduard Laas | Дата: 23:42 03.06.2026

Array form fields must be read via the name[] key suffix; getVar() never supported a type='array' argument, so ~20 callers that passed it fell through to the scalar path where filter_input() returns false on an array, crashing with "count(): ... false given" (e.g. admin poll save).

Core changes:

  1. Input reader (core/security.php):
  2. Revert getVar() to detect arrays only by the key[] / key[n] syntax
  3. Drop the unsupported 'array' type branch
  4. Callers migrated to key[] (raw, indexes preserved):
  5. voting/admin: body[], answer[] (keeps body<->answer alignment)
  6. news/admin, shop/admin: associated[], id[]
  7. media, media/admin: links[]
  8. money, money/admin: intro[]
  9. forum, pages/admin: id[]

Benefits:

  • Fixes admin poll save and other multi-value form handlers
  • Single canonical way to read arrays, matching existing key[] callers

Technical notes:

  • Empty filter type returns the raw array (no element stripping)
  • Behavior-preserving: previously these calls returned false (broken)
Docs: translate plugin architecture analysis to Russian
Автор: Eduard Laas | Дата: 15:26 03.06.2026

Mirror the plugin analysis in Russian (identifiers, code and JSON stay English per project rules) so it matches the team's working language.

Core changes:

  1. Plugin analysis (docs/PLUGINS.md):
  2. Translate the prose to Russian; keep manifest examples and identifiers in English

Benefits:

  • Documentation in the team's working language

Technical notes:

  • Documentation only; no code change
Docs: add plugin architecture analysis
Автор: Eduard Laas | Дата: 15:24 03.06.2026

Document SLAED's existing extension mechanisms and a safe direction for an admin-managed plugin layer based on the editor manifest/driver pattern.

Core changes:

  1. Plugin analysis (docs/PLUGINS.md):
  2. Survey current mechanisms (modules, editor plugins, captcha provider, vendored libs)
  3. Recommend generalizing the manifest + driver + registry pattern
  4. Propose a managing (not installing) admin page; warn against remote PHP install

Benefits:

  • Shared reference for unifying SLAED's extension points

Technical notes:

  • Documentation only; no code change
Style: match the captcha checkbox to the form input design
Автор: Eduard Laas | Дата: 14:22 03.06.2026

Style the ALTCHA captcha checkbox like the theme form controls (size, border, radius, shadow) with a green success state and a single centered check mark, in both the admin and frontend themes.

Core changes:

  1. Admin theme (templates/admin/assets/css/theme.css):
  2. Replace the earlier glyph-suppression hack with a full captcha checkbox style
  3. 18px box using --sl-color-border-strong / --sl-radius-control / --sl-shadow-input, green --sl-color-success when checked; ALTCHA's own SVG check, centered

  4. Frontend theme (templates/lite/assets/css/theme.css):
  5. Same captcha checkbox style resolved through the lite theme tokens

Benefits:

  • Consistent, on-brand captcha checkbox in both themes
  • Single, centered, green check mark (no double, not crooked)

Technical notes:

  • Scoped to .sl-captcha .altcha-checkbox; keeps ALTCHA's SVG centered by syncing --altcha-checkbox-size with the box size

Style: fix doubled check mark on the admin captcha checkbox
Автор: Eduard Laas | Дата: 14:04 03.06.2026

The admin theme draws its own checkbox glyph via a background-image, which stacked on top of the ALTCHA widget's own SVG check mark (rendered in light DOM), so the verified captcha showed two check marks.

Core changes:

  1. Admin theme (templates/admin/assets/css/theme.css):
  2. Suppress the admin checkbox background glyph on .altcha-checkbox inputs (:checked / :indeterminate), leaving only ALTCHA's own check mark

Benefits:

  • Single, correct check mark in the admin login captcha

Technical notes:

  • CSS only; scoped to .sl-admin-shell .altcha-checkbox; the lite theme was unaffected

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

1 27 28 29 30 31 32 33 34 35 36 118
Хотите опробовать SLAED CMS в действии?
Идеи и предложения
Обратная связь
Подтверждение

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

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