Чтение RSS каналов

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

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

Всего: 500 Доступных коммитов | Отфильтровано: 500 Коммиты | Страница: 32 / 50
26.02.2026
Docs: add [headline] and [author] to _TPLVARS in all language files
Автор: Eduard Laas | Дата: 18:06 26.02.2026

Update the SEO template variable reference string (_TPLVARS) in all six admin UI languages. The [title] description is also clarified to reflect the full composite SEO title (article + category + module + site).

Core changes:

  1. Language files (admin/language/de.php, en.php, fr.php, pl.php, ru.php, uk.php):
  2. Add [headline] variable — article headline (plain text, no suffixes) * Used in Schema.org "headline" field

  3. Add [author] variable — article author display name * Used in Schema.org "author.name" field

  4. Clarify [title] description to reflect full SEO composition

Benefits: - Editors can now understand all available SEO tokens at a glance - Consistent variable docs across all 6 UI languages

Technical notes: - Change is documentation only (help text); no PHP logic altered - Backward compatible — existing templates not affected

25.02.2026
Fix: tighten INSERT table name regex in InsertValidationTest
Автор: Eduard Laas | Дата: 21:47 25.02.2026

The regex used to extract table names from INSERT statements could match partial identifiers where a word character preceded the underscore prefix, producing false-positive table matches.

Core changes:

  1. tests/InsertValidationTest.php:
  2. Add negative lookbehind (?<!\w) before _(\w+) in INSERT pattern
  3. Ensures the prefix underscore is only matched at a word boundary

Benefits: - Eliminates false-positive table name matches in test assertions - Test results more accurately reflect actual INSERT targets

Technical notes: - Pattern change is regex-only; test logic and assertions unchanged - Lookbehind is zero-width and does not affect captured groups

Chore: update external links to HTTPS in lite template
Автор: Eduard Laas | Дата: 21:47 25.02.2026

Two menu links pointed to deprecated HTTP URLs on old domains.

Core changes:

  1. templates/lite/index.php:
  2. http://www.slaed.in -> https://slaed.de (themes/templates link)
  3. http://www.slaed.info -> https://slaed.info (PHP guide link)

Benefits: - Eliminates mixed-content warnings on HTTPS sites - Reflects current domain structure

Technical notes: - No logic or structural changes; text labels unchanged

Fix: initialize \$stop and remove premature save_text in auto_links add()
Автор: Eduard Laas | Дата: 21:46 25.02.2026

Two issues in the auto_links admin add() function corrected.

Core changes:

  1. auto_links/admin/index.php:
  2. Add \$stop = \$stop ?? []; guard before first use to prevent undefined var
  3. Remove save_text() wrapper around getVar() calls for a_sitename and a_description: input encoding should happen at save time, not on read

Benefits: - Prevents PHP notice/warning on fresh add form where \$stop is undefined - Separates input retrieval from output encoding responsibility

Technical notes: - save_text() is called correctly in the save handler; reading back raw values from getVar() is the expected pattern for form pre-population

Refactor: simplify anonym author display and update voting admin links
Автор: Eduard Laas | Дата: 21:46 25.02.2026

Two consistent patterns updated across nine admin modules to reduce boilerplate and align with the new voting URL routing scheme.

Core changes:

  1. Anonym author display (8 modules: faq, files, help, jokes, links, media, news, pages):
  2. Replace ($user_name) ? ... : (($uname) ? $uname : ($confu['anonym'] ?? 'Anonym')) with $user_name ?: ($uname ?: $confu['anonym'])

  3. Removes redundant ?? 'Anonym' fallback; $confu['anonym'] is the canonical default
  4. Voting admin links (news/admin/index.php, shop/admin/index.php):
  5. Update ?op=voting_add&id= to ?name=voting&op=add&id=
  6. Aligns with the new op-based routing in the modernized voting admin module

Benefits: - Consistent null-coalescing style across all content admin modules - Voting edit links work correctly after voting admin module was refactored

Technical notes: - $confu['anonym'] value comes from user config; no hardcoded fallback needed - Encoding pattern for copyright fixed in affected files (faq, files, etc.)

Fix: restrict admin module access to per-module permission check
Автор: Eduard Laas | Дата: 21:46 25.02.2026

Four admin modules used is_admin_god() as their access guard, allowing only super-admins in. Replaced with is_admin_modul() so module access can be delegated to non-god administrators via the modules config.

Core changes:

  1. Access guard replacement (four files):
  2. modules/account/admin/index.php: is_admin_god() -> is_admin_modul('account')
  3. modules/changelog/admin/index.php: is_admin_god() -> is_admin_modul('changelog')
  4. modules/rss/admin/index.php: is_admin_god() -> is_admin_modul('rss')
  5. modules/sitemap/admin/index.php: is_admin_god() -> is_admin_modul('sitemap')
  6. Additional fixes in the same files:
  7. account: rename users() to account() to match op dispatch convention
  8. changelog: remove @ suppressor from file_get_contents()
  9. sitemap: remove @ suppressor from fopen(); remove BOM from file header

Benefits: - Delegated admin access works correctly for these modules - Error suppression removed; failures are now visible in error logs

Technical notes: - is_admin_modul() reads from $conf['modules'] so no DB query needed - Behavior for god-level admins is unchanged (they pass all module checks)

Refactor: modernize monitor admin module and align template variables
Автор: Eduard Laas | Дата: 21:46 25.02.2026

Renames internal helpers to camelCase, extracts platform detection, and renames template placeholders to snake_case for consistency.

Core changes:

  1. Monitor module (admin/modules/monitor.php):
  2. Rename navi() to getMonitorTabs() to avoid collision with module navs
  3. Extract isWindows() and getServerSoftware() helpers
  4. Rename get_server_load_data() to getServerLoadData()
  5. Rename template placeholders: ramP/offR/dashD/offD/diskP/pathUp/pathDown to ram_p/off_r/dash_d/off_d/disk_p/path_up/path_down

  6. Monitor template (templates/admin/basic-monitor.html):
  7. Update all SVG and chart placeholder tokens to match new snake_case names

Benefits: - Consistent naming convention across admin module helpers - Snake_case template tokens match the broader SLAED template convention

Technical notes: - Placeholder rename is a coordinated change across PHP and HTML - No logic changes; all monitoring metrics and rendering preserved

Refactor: modernize whois admin module
Автор: Eduard Laas | Дата: 21:46 25.02.2026

Rewrites whois admin module to match current SLAED coding standards: typed functions, single-quoted strings, and modern navigation API.

Core changes:

  1. Navigation (modules/whois/admin/index.php):
  2. Replace whois_navi() / func_get_args() with typed navi()
  3. Switch to getAdminTabs() and name=whois&op= URL scheme
  4. All handler functions:
  5. Add void return type declarations
  6. Replace double-quoted strings with single-quoted throughout
  7. Replace list() with [] destructuring in fetchrow loops
  8. Replace $admin_file with $afile

Benefits: - Consistent style with other modernized admin modules - Cleaner navigation registration via getAdminTabs()

Technical notes: - Copyright year updated to 2026 - No functional logic changes; all CRUD operations preserved

Refactor: modernize voting admin module
Автор: Eduard Laas | Дата: 21:45 25.02.2026

Rewrites voting admin module to align with the current SLAED admin architecture: typed functions, modern API calls, and clean URL routing.

Core changes:

  1. Navigation (modules/voting/admin/index.php):
  2. Replace voting_navi() / func_get_args() pattern with typed navi()
  3. Use getAdminTabs() and name=voting&op= URL scheme
  4. All handler functions:
  5. Add void return type declarations
  6. Replace $admin_file with $afile, tpl_eval() with setTemplateBasic()
  7. Replace double-quoted heredoc style with single-quoted strings
  8. Replace list() with [] destructuring in fetchrow loops
  9. Admin links:
  10. Update op=voting_add/delete to name=voting&op=add/delete throughout

Benefits: - Consistent with other modernized admin modules - Typed API reduces silent failures from wrong argument types - URL routing aligned with new op-based dispatch scheme

Technical notes: - Copyright year updated to 2026 - No functional logic changes; all CRUD operations preserved

Fix: replace _rating UNIQUE KEY uid with host to allow multi-guest voting
Автор: Eduard Laas | Дата: 21:45 25.02.2026

UNIQUE KEY mid_modul_uid (mid, modul, uid) blocked all guest votes after the first one, because all guests share uid=0. The application already enforces one-vote-per-IP in PHP; the DB key now mirrors that.

Core changes:

  1. Schema for fresh installs (setup/sql/table.sql):
  2. Drop UNIQUE KEY mid_modul_uid (mid, modul, uid)
  3. Add UNIQUE KEY mid_modul_host (mid, modul, host)
  4. Migration for 6.2 > 6.3 upgrade (setup/sql/table_update6_3.sql):
  5. Same key replacement applied to the ALTER TABLE block
  6. Setup wizard (setup/index.php):
  7. Append deduplication DELETE and key migration queries to update6_3 branch
  8. DELETE removes duplicate (mid, modul, host) rows keeping earliest id
  9. ALTER TABLE DROP INDEX IF EXISTS mid_modul_uid (safe if already absent)
  10. ALTER TABLE ADD UNIQUE KEY mid_modul_host
  11. Fix unused $key => $val in language() foreach loop
  12. getInfo() output added to report migration result in the UI

Benefits: - Multiple guests from different IPs can now vote in the same poll - DB-level uniqueness still enforces one vote per IP per item per module - Race-condition protection preserved via $inserted guard (see prev commit)

Technical notes: - host column is VARCHAR(45), covers both IPv4 and IPv6 - PHP duplicate check logic (by host for guests, by uid for users) unchanged - Migration is idempotent: IF EXISTS prevents error on already-applied runs

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

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

Технологии

PHP MySQL HTML 5 CSS 3 jQuery jQuery UI

Контакты

  • D-49179, Deutschland
    Ostercappeln, Im Siek 6
  • +49 176 61966679

  • https://slaed.net
Идеи и предложения
Обратная связь