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

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

Всего: 899 Доступных коммитов | Отфильтровано: 899 Коммиты | Страница: 5 / 90
03.06.2026
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
Docs: note ALTCHA CSP behavior in the security help
Автор: Eduard Laas | Дата: 13:43 03.06.2026

Explain in the security admin help that the captcha proof-of-work worker is self-hosted (same-origin), so it works under a strict CSP without blob:.

Core changes:

  1. Security help (admin/info/security/ru.md):
  2. Add a note that the PoW worker loads from the site origin (plugins/altcha/altcha-sha.js), so default-src 'self' is enough

  3. Mention that an explicit worker-src directive must include 'self'

Benefits:

  • Admins find the captcha CSP behavior documented in-product

Technical notes:

  • Russian help file; code samples and identifiers stay in English

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

1 2 3 4 5 6 7 8 9 10 11 12 13 14 90

Хотите опробовать SLAED CMS в действии?

Идеи и предложения
Обратная связь