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

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

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

Всего: 415 Доступных коммитов | Отфильтровано: 415 Коммиты | Страница: 8 / 42
03.03.2026
Style: apply php-cs-fixer (double to single quotes) across codebase
Автор: Eduard Laas | Дата: 13:37 03.03.2026

Replaces all double-quoted strings with single quotes in language files, blocks, and plugins to align with SLAED coding standard §17 (always use single quotes for simple strings).

Core changes:

  1. Language files (language/, admin/language/, modules/*/language/):
  2. 150+ define() calls: double to single quotes
  3. Block files (blocks/*.php):
  4. All string literals converted to single quotes
  5. Plugin files (plugins/filemanager/**):
  6. All string literals converted to single quotes
  7. Template (templates/lite/index.php):
  8. array() → [] syntax; string literals to single quotes

Benefits: - Consistent code style across the project - Alignment with SLAED coding standard §17

Technical notes: - Behaviour unchanged; purely cosmetic - Applied via php-cs-fixer - Backward compatible

02.03.2026
Revert: restore legacy functions to system.php
Автор: Eduard Laas | Дата: 22:25 02.03.2026

Revert the function extraction introduced in commit 6ec4ea7 due to a production failure. The refactored split (system.php + legacy.php) caused 500 errors on the live server that persisted even after PHP-FPM restart.

Core changes:

  1. core/system.php:
  2. Restore all legacy functions that were moved to core/legacy.php * Production server failed silently after deployment of the split

  3. core/legacy.php:
  4. Remove all functions; restore to stub (guard only)

Benefits: - Production stability restored

Technical notes: - Root cause not yet confirmed; suspected: config file format mismatch between old doConfig() output and new getConfig() reader - Refactor to be re-attempted after diagnosing production config format

Fix: indentation and remove stray setThemeInclude() in money admin module
Автор: Eduard Laas | Дата: 21:15 02.03.2026

Correct over-indented variable declaration in rechn() and remove a redundant setThemeInclude() call that was left after a prior refactor.

Core changes:

  1. rechn() (modules/money/admin/index.php):
  2. Fix indentation: $id = getVar(...) was at 8 spaces, corrected to 4
  3. Remove setThemeInclude() call * Function is called by the dispatcher before rechn() is invoked;

calling it again inside the function is redundant and incorrect

Benefits: - Consistent indentation aligned with project code style - Eliminates double theme-include side effect

Technical notes: - No behavioral change for normal request flow - setThemeInclude() removal has no visible effect as template is already loaded

Fix: resolve undefined variables and BOM in changelog admin module
Автор: Eduard Laas | Дата: 21:15 02.03.2026

Initialize $retcode before pass-by-reference use and fetch $format from GET input to eliminate PHP undefined-variable warnings in the changelog admin module.

Core changes:

  1. gitfetch() (modules/changelog/admin/index.php):
  2. Add $retcode = 0 before gitexec($cmd, $gitlog, $retcode) * Prevents PHP 8.x warning: undefined variable passed by reference

  3. export() (modules/changelog/admin/index.php):
  4. Add $format = getVar('get', 'format', 'var', 'txt') at function start * Variable was used on lines 659 and 664 without being declared * Default 'txt'; accepts 'md' for Markdown export

  5. File header (modules/changelog/admin/index.php):
  6. Remove UTF-8 BOM () from line 1

Benefits: - Eliminates two PHP undefined-variable warnings - export() correctly handles both txt and md format requests

Technical notes: - $format default 'txt' preserves existing plain-text export behavior - No changes to git log parsing or GitHub fetch logic

Chore: remove unused language constants across all locales
Автор: Eduard Laas | Дата: 21:15 02.03.2026

Drop constants that are no longer referenced anywhere in the codebase, keeping all 6 locale files (de, en, fr, pl, ru, uk) in sync.

Core changes:

  1. Admin language files (admin/language/*.php — 6 files):
  2. Remove _BAN, _OPTION, _SOFT, _TOP * Constants confirmed unused after legacy function extraction

  3. Frontend language files (language/*.php — 6 files):
  4. Remove _IN, _MENU * Constants confirmed unused in templates and modules

Benefits: - Eliminates dead constants and reduces noise in language files - All 6 locales remain consistent with each other

Technical notes: - No functional impact; purely declarative constant removal - No template or module references to these constants exist

Fix: migrate doHackReport() to setConfigFile() API
Автор: Eduard Laas | Дата: 21:14 02.03.2026

Replace the deprecated doConfig() call in doHackReport() with the modern setConfigFile() to align with the unified config architecture.

Core changes:

  1. doHackReport() (core/security.php):
  2. Replace doConfig('config/security.php', 'confs', $cont, $conf['security'], '') with setConfigFile('security.php', $cont, $conf['security']) * Path prefix 'config/' dropped — setConfigFile prepends CONFIG_DIR automatically * Variable name parameter removed — derived from filename by setConfigFile * Type parameter removed — no longer required

Benefits: - Consistent with the rest of the codebase using setConfigFile() - Removes dependency on the deprecated doConfig() function

Technical notes: - Output format changes from $confs = [...] to return ['security' => [...]] - Merge behavior: array_replace_recursive() replaces += for proper deep merge - Backward compatible for all callers of the security config

Refactor: extract legacy functions from system.php to legacy.php
Автор: Eduard Laas | Дата: 21:14 02.03.2026

Move deprecated and low-priority functions out of core/system.php into core/legacy.php to reduce system.php size and separate legacy code from the modern API surface. Also fix two issues in filterSlug().

Core changes:

  1. Legacy function extraction (core/legacy.php + core/system.php):
  2. Move ~2800 lines of legacy functions from system.php to legacy.php * Deprecated helpers: datetime(), save_datetime(), format_time(), user_news(), etc. * Admin UI helpers: getBlocks(), doScript(), doCss(), and related

  3. Remove stale section comments (### Config bootstrap functions, ### The beginning of new functions)
  4. filterSlug() fix (core/system.php):
  5. Fix indentation of static $rus array declaration (8 spaces → 4 spaces)
  6. Replace Unicode escapes ("\u{0410}") with literal Cyrillic characters * Improves readability and avoids reliance on double-quoted escape processing

Benefits: - system.php is significantly leaner and easier to navigate - Legacy code is isolated from the modern API - filterSlug() array is human-readable

Technical notes: - Behavior is unchanged; all moved functions remain callable - Cyrillic literals require UTF-8 file encoding (already enforced project-wide) - No API/interface changes

Docs: update project documentation — API changes, new helper functions
Автор: Eduard Laas | Дата: 15:21 02.03.2026

Bring all project docs in sync with the 6.3.x refactoring: Database rename, filterMarkdown, getLang/setLang, getAdminInfo, $conf, setHead/setFoot page lifecycle, and admin info file path restructure.

Core changes:

  1. CONTRIBUTING.md (main contributor guide):
  2. SQL examples updated to getSqlQuery() / Database
  3. New section: Global Configuration ($conf) — key table, module nesting, usage
  4. New section: Page Lifecycle — setHead($seo keys table) and setFoot()
  5. New section: Language Loading — getLang() with params table, setLang() bootstrap warning
  6. Admin Module Conventions: added Help Info Files (getAdminInfo() paths)
  7. Content Parsing: filterMarkdown() section added; removed broken link to deleted docs/PARSE.md
  8. README.md:
  9. Tech Stack: Database class / getSql* prefix; filterMarkdown() full signature
  10. Modernization status: 80% → 85% complete; added completed items for getAdminInfo(), admin info file restructure, sql_db → Database rename

  11. SQL examples updated
  12. SECURITY.md:
  13. SQL example updated to getSqlQuery()
  14. Security changelog: 3 new entries (getAdminInfo, admin info paths, Database rename)
  15. UPGRADING.md:
  16. SQL migration table updated (new getSqlQuery() column)
  17. Breaking changes: full rename tables for Database class and getAdminInfo()
  18. Admin info file path fix: corrected wrong en.html/english.html references to actual 2-letter locale codes (en, de, fr, pl, ru, uk)

  19. Migration checklist: 3 new items
  20. Troubleshooting: fixed wrong class name in error message
  21. CODE_OF_CONDUCT.md:
  22. Date updated to March 2026
  23. docs/PARSE.md, docs/DISCUS.md — deleted:
  24. PARSE.md: filterMarkdown() reference (content now in CONTRIBUTING.md)
  25. DISCUS.md: architecture discussion (unified parser; superseded by implementation)

Benefits: - All documented APIs match actual function signatures in codebase - Contributors have accurate migration guidance for the Database rename - filterMarkdown, getLang, setHead/setFoot, $conf now fully documented

Technical notes: - filterMarkdown() parameter order corrected in all docs: ($src, $mod, $safe) - Admin info paths use 2-letter locale codes (not full language names) - getAdminInfo() takes no parameters — auto-detects from $_GET['name']

Refactor: rename Database class and all SQL methods to getSql* prefix
Автор: Eduard Laas | Дата: 15:20 02.03.2026

Replace legacy sql_db class and sql_* method names with Database class and getSql* prefix across the entire codebase. The new naming follows SLAED verb-noun conventions and makes database calls visually distinct in all module files.

Core changes:

  1. Database class (core/classes/pdo.php):
  2. class sql_db → class Database
  3. sql_interpol() → filterSqlQuery() (private)
  4. sql_quote() → filterSqlValue() (private)
  5. sql_close() → getSqlClose()
  6. sql_query() → getSqlQuery()
  7. sql_fetchrow() → getSqlRow()
  8. sql_fetchrowset() → getSqlRows()
  9. sql_numrows() → getSqlRowCount()
  10. sql_numfields() → getSqlFieldCount()
  11. sql_fieldname() → getSqlFieldName()
  12. sql_fieldtype() → getSqlFieldType()
  13. sql_affected_rows() → getSqlAffected()
  14. sql_last_id() → getSqlLastId()
  15. sql_error() → getSqlError()
  16. sql_free_result() → getSqlFree()
  17. sql_seek() → getSqlSeek()
  18. sql_value() → getSqlValue()
  19. All consumers (77 PHP files — modules, admin, blocks, core, setup, templates):
  20. new sql_db(...) → new Database(...)
  21. instanceof sql_db → instanceof Database
  22. All sql_ method calls replaced with getSql equivalents
  23. setup/index.php:
  24. executeSqlFile() → getSqlFile() (follows verb-noun standard)

Benefits: - Consistent naming: getSql* prefix makes DB calls immediately recognisable - Follows SLAED function naming standard (verbNoun, mandatory get/set/filter verbs) - Eliminates legacy sql_db class name from all call sites

Technical notes: - Zero regressions: all 15 public method signatures preserved (types, params, returns) - getSqlSeek() kept as stub (PDO does not support row seek; always returns false) - getSqlValue() remains public (used externally in admin/modules/database.php backup)

Fix: PHP 8.4 warnings and runtime bugs — admin, account, forum modules
Автор: Eduard Laas | Дата: 13:13 02.03.2026

Three independent runtime fixes across frontend and admin modules, plus updated sitemap.xml reflecting corrected storage path.

Core changes:

  1. admin/index.php — getAdminPanelBlocks():
  2. Added \$conf to global declaration
  3. Eliminated 'Undefined variable \$conf' + 'foreach null' warnings
  4. modules/account/index.php — profile render:
  5. bb_decode(\$sig, ...) → bb_decode(\$sig ?? '', ...)
  6. user_sig column is NULL for users without a signature (TypeError)
  7. modules/forum/index.php — post anchor navigation:
  8. URL generation: &last# → &last=1# (9 occurrences)
  9. Detection: getVar('get','last','num') → filter_input presence check
  10. Fixes ?name=forum&op=view&id=X&last#Y not scrolling to anchor
  11. sitemap.xml:
  12. Regenerated after SITEMAP_DIR path fix (storage/sitemap/)

Benefits: - Admin panel loads without PHP warnings - Forum deep-link anchors work with both old and new URL formats - No TypeError when viewing profiles of users without a signature

Всего: 415 на 42 страницах по 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
Идеи и предложения
Обратная связь