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

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

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

Всего: 1347 Доступных коммитов | Отфильтровано: 1347 Коммиты | Страница: 101 из 135
03.03.2026
Docs: update documentation for renamed security and utility functions
Автор: Eduard Laas | Дата: 13:39 03.03.2026

Updates all user-facing and developer-facing documentation to reflect the camelCase function rename sprint completed in core/security.php.

Core changes:

  1. CONTRIBUTING.md:
  • getVar() type table updated (filterWord, filterHtml, filterFields)
  1. SECURITY.md:
  • New section: renamed security functions reference table (20 entries)
  1. UPGRADING.md:
  • Breaking changes section: full migration table for renamed functions
  • Version history updated
  1. docs/TEMPLATES.md:
  • Date updated to 2026
  1. docs/TESTS.md:
  • Function names updated to camelCase equivalents

Benefits:

  • Developers can look up old names and find new equivalents
  • Migration path is clearly documented for upgraders

Technical notes:

  • No code changes; documentation only
  • Covers all renames tracked in GLOSSARY.md
Refactor: rename legacy snake_case functions to camelCase across codebase
Автор: Eduard Laas | Дата: 13:38 03.03.2026

Completes the security/utility function rename sprint: all legacy snake_case identifiers in core/security.php are replaced with camelCase VerbNoun names per SLAED coding standard §3-4, and every call site across the project is updated accordingly.

Core changes:

  1. Function renames (core/security.php):
  • log_report() → addLog()
  • is_admin_god() / is_admin() → isAdmin(bool $super = false)
  • get_host() → getHost()
  • get_referer() → getReferer()
  • zip_check() / zip_compress() → checkCompress() / addCompress()
  • isVar() / analyze() → filterVar()
  • url_filter() → filterUrl()
  • num_filter() → filterNum()
  • var_filter() → filterWord()
  • text_filter() → filterText()
  • cutstrc() → filterCut()
  • ed2k_link() → getEd2kLink()
  • url_clickable() → filterClickable()
  • save_text() → filterHtml()
  • fields_save() → filterFields()
  • display_time() → getDuration()
  • rest_time() → getTimeLeft()
  • mail_send() → addMail()
  • doHackReport() → addHackReport()
  • doWarnReport() → addWarnReport()
  • error_sql_log() → addSqlLog() (core/classes/pdo.php)
  1. isAdmin() optimisation (core/security.php):
  • Merged isAdminSuper() into isAdmin(bool $super = false)
  • Single DB query fills both cache slots (key 0 and key 1)
  • hash_equals() for constant-time password comparison
  • Strict === throughout; getSqlRow() null-guard added
  1. Variable renames (core/security.php):
  • $ua → $uagt, $ag → $agent, $ipt_base → $iptbase
  • $array_index → $arridx, $is_array_all → $allarr
  • $date_time → $dtime
  1. Bug fixes (core/security.php):
  • @ suppression removed from $lwrite closure
  • getIp() / getAgent() hoisted out of blocker foreach loop
  • setCookies() uses implode() instead of fixed $value[0..5] indexing
  • getTimeLeft() calls time() once; getHost() has ?: '' fallback
  • getSqlRow() null-guard added via ?? ['', '', '']
  1. Call sites updated across 68 files:
  • admin/modules/*.php, modules//index.php, modules//admin/index.php
  • core/admin.php, core/system.php, core/user.php, templates/admin/index.php
  • core/legacy.php removed (empty guard-only file)

Benefits:

  • Consistent camelCase API throughout the project
  • Merged admin-check function reduces DB queries per request
  • Security hardened: timing-safe comparison, no error suppression

Technical notes:

  • All renames tracked in .agents/skills/slaed/GLOSSARY.md
  • php -l: no syntax errors in all changed files
  • Backward compatible: no public API exposed outside this project
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/):
  • 150+ define() calls: double to single quotes
  1. Block files (blocks/*.php):
  • All string literals converted to single quotes
  1. Plugin files (plugins/filemanager/**):
  • All string literals converted to single quotes
  1. Template (templates/lite/index.php):
  • 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:
  • Restore all legacy functions that were moved to core/legacy.php
    • Production server failed silently after deployment of the split
  1. core/legacy.php:
  • 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):
  • Fix indentation: $id = getVar(...) was at 8 spaces, corrected to 4
  • 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):
  • Add $retcode = 0 before gitexec($cmd, $gitlog, $retcode)
    • Prevents PHP 8.x warning: undefined variable passed by reference
  1. export() (modules/changelog/admin/index.php):
  • 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
  1. File header (modules/changelog/admin/index.php):
  • 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):
  • Remove _BAN, _OPTION, _SOFT, _TOP
    • Constants confirmed unused after legacy function extraction
  1. Frontend language files (language/*.php — 6 files):
  • 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):
  • 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):
  • 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
  • Remove stale section comments (### Config bootstrap functions, ### The beginning of new functions)
  1. filterSlug() fix (core/system.php):
  • Fix indentation of static $rus array declaration (8 spaces → 4 spaces)
  • 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):
  • SQL examples updated to getSqlQuery() / Database
  • New section: Global Configuration ($conf) — key table, module nesting, usage
  • New section: Page Lifecycle — setHead($seo keys table) and setFoot()
  • New section: Language Loading — getLang() with params table, setLang() bootstrap warning
  • Admin Module Conventions: added Help Info Files (getAdminInfo() paths)
  • Content Parsing: filterMarkdown() section added; removed broken link to deleted docs/PARSE.md
  1. README.md:
  • Tech Stack: Database class / getSql* prefix; filterMarkdown() full signature
  • Modernization status: 80% → 85% complete; added completed items for getAdminInfo(), admin info file restructure, sql_db → Database rename
  • SQL examples updated
  1. SECURITY.md:
  • SQL example updated to getSqlQuery()
  • Security changelog: 3 new entries (getAdminInfo, admin info paths, Database rename)
  1. UPGRADING.md:
  • SQL migration table updated (new getSqlQuery() column)
  • Breaking changes: full rename tables for Database class and getAdminInfo()
  • Admin info file path fix: corrected wrong en.html/english.html references to actual 2-letter locale codes (en, de, fr, pl, ru, uk)
  • Migration checklist: 3 new items
  • Troubleshooting: fixed wrong class name in error message
  1. CODE_OF_CONDUCT.md:
  • Date updated to March 2026
  1. docs/PARSE.md, docs/DISCUS.md — deleted:
  • PARSE.md: filterMarkdown() reference (content now in CONTRIBUTING.md)
  • 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']
Хотите опробовать SLAED CMS в действии?
Идеи и предложения
Обратная связь
Подтверждение

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

Предварительный просмотр