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

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

Всего: 500 Доступных коммитов | Отфильтровано: 500 Коммиты | Страница: 1 / 50
Сегодня (02.06.2026)
Chore: drop ALTCHA LICENSE/VERSION ignore rules
Автор: Eduard Laas | Дата: 15:46 02.06.2026

The vendored meta files are not present and no longer need ignoring.

Refactor: consolidate pagination into a single renderer
Автор: Eduard Laas | Дата: 15:46 02.06.2026

Add getTplPagerView() as the one place that builds the pager wrapper, numbered links, prev/next and dots. getTplPager (count query), getPageNumbers (known counters) and getAsyncPager (HTMX) become thin adapters that supply a per-page link target. The hand-rolled pager loops in the account, auto_links and changelog admin lists and the language editor now call getPageNumbers. Output is unchanged; each theme keeps its own pager fragments, so admin and lite stay independent.

Style: unify content id badges on sl-card-id
Автор: Eduard Laas | Дата: 15:46 02.06.2026

Render the article id on detail/view pages, the numeric-anchor links (search, voting) and the voting list with the sl-card-id badge so they match the list cards, instead of the pager sl-pnum pill. Drop the redundant inline-flex meta rule group; the badge styling is self-contained.

Chore: stop tracking vendored ALTCHA LICENSE/VERSION
Автор: Eduard Laas | Дата: 14:44 02.06.2026

These meta files are not needed in the repository; ignore them so they are not re-added. The widget bundle (altcha.min.js) keeps its inline license banner.

Refactor: serve admin help from Markdown only, drop legacy HTML
Автор: Eduard Laas | Дата: 14:40 02.06.2026

getAdminInfo() now resolves and creates help files as .md exclusively. The per-language BBCode .html help files under admin/info/ and modules/*/admin/info/ are removed in favour of the ru.md etalon (to be translated per language). Missing translations show _NO_INFO; index.html directory guards are kept.

Fix: let lists interrupt paragraphs in the Markdown parser
Автор: Eduard Laas | Дата: 14:40 02.06.2026

A list line (*, +, - or an ordered list starting at 1) placed directly after a paragraph with no blank line was swallowed into the paragraph and rendered as literal text, so unordered and nested lists did not render. Break the paragraph on such lines (CommonMark behaviour); ordered lists only interrupt when starting at 1 to keep prose like "... 1990. ..." intact. Update the ul-nested fixture to the corrected nested output.

Fix: guard filterWord() against invalid UTF-8 input
Автор: Eduard Laas | Дата: 13:56 02.06.2026

preg_replace() with the /u flag returns null on malformed UTF-8 (e.g. bots sending CP1251 query parameters), which violated the string return type and raised a TypeError. Coalesce the result to an empty string.

Test: align captcha test double with action-based API
Автор: Eduard Laas | Дата: 13:56 02.06.2026

Update the getCaptcha() stub to the string action signature and drop the obsolete gfx_chk mock key from the admin login flow test.

Docs: ALTCHA captcha language strings and help texts (de/en/fr/pl/ru/uk)
Автор: Eduard Laas | Дата: 13:55 02.06.2026

Add frontend widget strings and admin captcha/secret settings constants; remove the obsolete Google reCAPTCHA constants (_CAPSEC, _CAPKEY, _CAPQUALITY*, _CAPSECKEY). Move the captcha help from the general config info to the security info and correct it: the master secret lives in config/security.php, with ephemeral data in storage/captcha. RU/UK use "Капча".

Assets: vendor local ALTCHA widget, captcha fragment and honeypot CSS
Автор: Eduard Laas | Дата: 13:53 02.06.2026

Bundle the self-hosted ALTCHA widget (plugins/altcha/altcha.min.js, v3.0.11, MIT) so end users need no Composer, npm or CDN. Add the captcha-altcha template fragment to the lite and admin themes and the .sl-captcha / .sl-captcha-hp (off-screen honeypot) rules to both themes' theme.css.

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

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

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