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

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

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

Всего: 1040 Доступных коммитов | Отфильтровано: 1040 Коммиты | Страница: 19 / 104
03.06.2026
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
Style: refine Russian captcha success wording
Автор: Eduard Laas | Дата: 13:51 03.06.2026

Adjust the Russian captcha verified message word order to the preferred phrasing.

Core changes:

  1. Captcha strings (lang/ru.php):
  2. _CAPTCHA_VERIFIED: "Проверка успешно завершена!" -> "Проверка завершена успешно!"

Benefits:

  • More natural Russian phrasing for the success confirmation

Technical notes:

  • Text only; no behavior change; mapped to the ALTCHA i18n key "verified"
Style: show a fuller ALTCHA captcha success message
Автор: Eduard Laas | Дата: 13:50 03.06.2026

Replace the terse "Verified" label with a clear confirmation sentence in the captcha verified state, across all shipped languages.

Core changes:

  1. Captcha strings (lang/*.php):
  2. _CAPTCHA_VERIFIED now reads as a full success sentence

    • ru: "Проверка успешно завершена!"
    • de/en/fr/pl/uk: equivalent wording, kept in sync

Benefits:

  • Clearer feedback to the user right after solving the captcha

Technical notes:

  • Text only; no behavior change; mapped to the ALTCHA i18n key "verified"
Chore: enable captcha and security logging defaults
Автор: Eduard Laas | Дата: 13:46 03.06.2026

Turn on the ALTCHA captcha and the database-backup and dynamic error logs in the shipped security configuration.

Core changes:

  1. Security config (config/security.php):
  2. captcha.active 0 -> 1 (enable the ALTCHA captcha)
  3. log_b 0 -> 1 (database backup log)
  4. log_d 0 -> 1 (dynamic error log)

Benefits:

  • Spam protection and operational logging are on by default

Technical notes:

  • No secret is committed; the security secret stays empty in the tracked config

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

1 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 104
Хотите опробовать SLAED CMS в действии?
Идеи и предложения
Обратная связь
Подтверждение

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