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

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

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

Всего: 1347 Доступных коммитов | Отфильтровано: 1347 Коммиты | Страница: 132 из 135
28.11.2025
Refactor admin modules and core system for PHP 8.4 compatibility
Автор: Eduard Laas | Дата: 20:56 28.11.2025

Major refactoring of admin panel modules and core functions to improve type safety, security, and code quality with PHP 8.4 strict types. Admin Module Improvements:

  • Refactored lang.php: Modernized language editor with strict typing
    • Added type hints for all functions (int, string, array returns)
    • Improved navigation with lang_navi() parameter typing
    • Better path handling with lang_get_path() helper
    • Enhanced bracket notation support in getVar() for arrays
  • Refactored users.php: Complete rewrite with modern practices
    • Replaced func_get_args() with explicit typed parameters
    • Improved user management functions with strict types
    • Better security validation and input filtering
  • Refactored groups.php: Enhanced group management
    • Added strict type declarations throughout
    • Improved permission handling logic
    • Better error handling and validation
  • Refactored fields.php: Custom fields management improvements
    • Type-safe field processing
    • Enhanced validation and sanitization
  • Added changelog.php: New changelog management module
    • Git commit history viewer and analyzer
    • Export functionality (TXT, Markdown formats)
    • Filtering by author, date, files, search
    • Pagination and statistics display
  • Enhanced database.php: Database management improvements
    • Better query optimization tracking
    • Improved backup functionality
  • Updated admins.php, blocks.php, comments.php, sitemap.php:
    • Copyright year updates (2005-2026)
    • Minor code quality improvements Core System Enhancements:
  • core.php: Modernized core functions
    • setArticleNumbers(): Full parameter typing, removed func_get_args()
    • Improved category-based pagination with proper type casting
    • Better SQL query building with parameter support
    • Enhanced fields_in() and fields_out() with new config paths
  • security.php: Major security improvements
    • Enhanced getVar() with bracket notation support for arrays
      • field[0]: Get specific array index
      • field[]: Get entire filtered array
    • Array filtering with element-level validation
    • Improved type validation for num, let, word, name, title, text
    • Better URL and boolean filtering
    • More secure input handling Configuration Changes:
  • Renamed config_fields.php → fields.php (shorter, cleaner)
  • Renamed config_users.php → users.php (consistency)
  • Added changelog.php: Changelog module configuration
  • Updated config_lang.php: Language settings improvements
  • Updated all includes to use new config file names Frontend/JavaScript:
  • Updated jquery.slaed.js: Code formatting and optimization
    • Better readability and structure
    • Maintained backward compatibility Technical Details: Modified files:
  • admin/links/links.admin.php: Minor improvements
  • admin/modules/admins.php: Copyright update
  • admin/modules/blocks.php: Code quality
  • admin/modules/comments.php: Type safety
  • admin/modules/database.php: +205 lines (new features)
  • admin/modules/fields.php: Refactored 216 lines
  • admin/modules/groups.php: Refactored 352 lines
  • admin/modules/lang.php: Refactored 522 lines (major rewrite)
  • admin/modules/sitemap.php: Minor update
  • admin/modules/users.php: Refactored 1048 lines (complete rewrite)
  • core/core.php: Enhanced 29 lines
  • core/security.php: Enhanced 94 lines
  • plugins/jquery/jquery.slaed.js: Refactored 366 lines New files:
  • admin/modules/changelog.php: New module for Git history
  • config/changelog.php: Module configuration Renamed files:
  • config/config_fields.php → config/fields.php
  • config/config_users.php → config/users.php Impact:
  • Better type safety reduces runtime errors
  • Improved security through enhanced input validation
  • Easier maintenance with cleaner, typed functions
  • New changelog module improves development workflow
  • Full PHP 8.4 compatibility maintained
  • No breaking changes for existing functionality Breaking changes: None (backward compatible)
Add detailed Git commit message guidelines to coding rules
Автор: Eduard Laas | Дата: 20:53 28.11.2025

Extended coding rules with comprehensive Git commit standards:

  • Enforce English language for all commit messages
  • Define detailed commit structure with multiple sections
  • Include example of well-formatted commit message
  • Add commit message requirements to AI checklist Guidelines include:
  • Brief summary line (50-72 characters)
  • Detailed description of changes and reasoning
  • Technical details section (files, functions, database)
  • Impact analysis (performance, security, breaking changes)
  • Mandatory detailed commits (no "fix bug" or "update code") Benefits:
  • Improved project history readability
  • Better understanding of changes over time
  • Easier debugging and rollback procedures
  • International team compatibility
  • Professional standard alignment Updated files:
  • .
  • . This ensures all future commits follow professional standards with comprehensive documentation of what, why, where, and impact of changes.
Optimize: lang.php - Complete refactoring with pagination & path fixes
Автор: Eduard Laas | Дата: 12:17 28.11.2025

Hauptänderungen:

1. Helper-Funktion zur Code-Deduplizierung

  • Neue Funktion lang_get_path() eliminiert doppelte Path-Logik
  • Wird in lang_file() und lang_save() verwendet
  • Konsistente Path-Konstruktion über beide Funktionen

2. URL-Parameter Modernisierung

  • Alte Parameter: mod_dir, lng_wh (enthielten volle Pfade)
  • Neue Parameter: mod, typ (nur Modulname/Typ)
  • Saubere URLs: ?op=lang_file&mod=faq&typ=admin
  • Path-Konstruktion erfolgt intern in den Funktionen

3. Pagination-System (PHP max_input_vars)

  • Problem: 562 Konstanten × 6 Sprachen = 3372+ Felder (> 1000 Limit)
  • Lösung: Pagination mit max 100 Konstanten pro Seite (~600 Vars)
  • Pagination-Navigation mit Seitenlinks
  • Partial Update: Nur bearbeitete Konstanten aktualisieren
  • Bestehende Konstanten bleiben beim Speichern erhalten

4. Konfigurierbare Pagination

  • Neue Einstellung: per_page in lang_conf()
  • Speicherung in config/config_lang.php
  • Default: 100, Range: 10-500

5. Absolute Pfade mit BASE_DIR

  • Problem: Relative Pfade führten zu Working-Directory-Fehlern
  • Lösung: BASE_DIR für alle Dateizugriffe
  • Konsistente Pfade: BASE_DIR.'/modules', BASE_DIR.'/'.$mod_dir
  • Eliminiert opendir() Fehler

6. Quote-Konsistenz (PHP Best Practice)

  • Alle String-Literale: "" → ''
  • Schnellere Parsing-Performance
  • Keine Interpolation bei statischen Strings

7. Regex-Robustheit für Konstanten

  • Alt: #define("(.)"\s,\s*"(.*)");#
  • Neu: #define("'["']\s*,\s*"'["']);#sU
  • Erkennt beide: define("NAME","value") und define('NAME','value')
  • Korrekte Zählung: 562 statt 560 Konstanten

8. Konstanten-Ausgabe mit Single Quotes

  • Output-Format: define('NAME','value') statt define("NAME","value")
  • Proper Escaping: str_replace("'", "'", $value)
  • Verhindert Syntax-Errors bei Apostrophen im Text

9. Variable Optimization

  • Removed: $out = []; $out[1] = ...; $out[2] = ...;
  • Neu: $cnst und $translations mit direkter Initialisierung
  • Beschreibende Namen statt numerische Indices
  • Bessere Code-Lesbarkeit

10. Dead Code Removal

  • Removed: $adm_fl Variable (was never used)
  • Cleaner Code without unnötige Variablen

11. Modernisierung lang_main()

  • scandir() statt opendir()/readdir()
  • Array-Initialisierung: $modbase = [], $who_view = []
  • isset() Guards gegen undefined index warnings
  • Bessere HTML-String-Formatierung
  • Ternärer Operator für cleanen Code

12. Redirect-Verbesserung

  • lang_save() redirected zurück zur gleichen Seite
  • Erhält Pagination-State: &page=$page
  • Bessere UX beim Speichern

Technische Details:

  • PHP 8.0+ Kompatibilität
  • Null Coalescing Operator: ?? 100
  • Array Destructuring: [$mod_dir, $lng_wh] = lang_get_path()
  • Type Hints: string $mod, string $typ
  • Return Types: array
Refactor: lang.php - Double to single quotes consistency
Автор: Eduard Laas | Дата: 08:14 28.11.2025

String literal modernization (PHP Best Practice):

  1. Template functions:
    • Line 91: tpl_warn() → setTemplateWarning() (missed)
    • Line 89, 169: String concatenation with single quotes
  2. String literals "" → '':
    • Line 98: $cnst_tmp initialization
    • Line 116: Ternary operator defaults
    • Line 117: isset() default value
    • Line 121: trim() default
    • Line 123-127: CSS class names
    • Line 163-165: Array literals
    • Line 168: PHP closing tag
    • Line 170: fopen() mode
    • Line 174: referer() URL
    • Line 181: end_chmod() path Best Practice:
  • Use '' for strings without variable interpolation
  • Faster parsing, cleaner code
  • Consistent with modern PHP standards
Fix: lang.php - Complete array() and tpl_eval() modernization
Автор: Eduard Laas | Дата: 08:10 28.11.2025

Missed modernizations from previous commit:

  1. lang_main() templates:
    • Line 33: tpl_eval('open') → setTemplateBasic('open')
    • Line 66: tpl_eval("close", "") → setTemplateBasic('close')
  2. lang_file() array syntax:
    • Line 86: array() → []
    • Line 103: array() → [] All array() and tpl_eval() now modernized consistently.
Modernize: lang.php - Modern syntax + templates
Автор: Eduard Laas | Дата: 08:08 28.11.2025

Applied MODERNISIERUNG_RULES v2.0:

  1. Modern Array Syntax (Kapitel 11)
    • array() → [] (6 occurrences)
    • Lines: 13, 14, 78, 79, 127, 151, 163, 164
  2. Function Return Types (Kapitel 12)
    • lang_main(): void
    • lang_file(): void
    • lang_save(): void
    • lang_conf(): void
    • lang_info(): void
  3. Modern Template Functions (Kapitel 16)
    • tpl_eval('open') → setTemplateBasic('open')
    • tpl_eval('close') → setTemplateBasic('close')
    • tpl_warn() → setTemplateWarning() with array parameters Changes:
  • All array() syntax replaced with []
  • All functions typed with void return type
  • Modern template API throughout
  • Consistent with MODERNISIERUNG_RULES v2.0
Update: MODERNISIERUNG_RULES.md v2.0 - Complete patterns
Автор: Eduard Laas | Дата: 08:02 28.11.2025

Added 11 new chapters based on admins.php analysis: 11. Modern PHP Array Syntax - array() → [] (PHP 7+ standard) 12. Function Return Types - void, string, int, array, bool - Type safety for all functions 13. getVar() mit 'req' Source - GET/POST flexible parameter handling - Use case: Edit forms with ID from GET 14. PDO Prepared Statements - Parameter-Formatierung - Inline: ≤3 parameters - Multi-line: ≥4 parameters for readability 15. Boolean zu Integer Konvertierung für DB - Checkboxen: bool → TINYINT(1) - Pattern: getVar('bool', 0) ? 1 : 0 16. Template-Funktionen (Modern) - setTemplateWarning() statt tpl_warn() - setTemplateBasic() statt tpl_eval() 17. getAdminTabs() statt navi_gen() - Modern API with [] instead of '' - Shorter parameter list 18. Header Redirects mit dynamischen Query-Parametern - Optional parameters: ($send ?? '') 19. Validation Arrays - $stop[] pattern für Fehlersammlung - Better UX: Show all errors at once 20. Zusammenfassung erweiterte Regeln - ✅ DO: 8 additional patterns - ❌ DON'T: 5 additional anti-patterns 21. Vollständiges Beispiel (admins.php Style) - Complete function with all modern patterns Version: 1.0 → 2.0 Total: 21 chapters, 600+ lines Reference: admins.php as complete example

Modernize: lang.php - getVar() + typed parameters
Автор: Eduard Laas | Дата: 07:46 28.11.2025

Modernized all input handling and config save:

  1. lang_navi()
    • func_get_args() → typed parameters
    • Added return type: string
  2. lang_file()
    • $_GET['mod_dir'] → getVar('get', 'mod_dir', 'var', '')
    • $_GET['adm_fl'] → getVar('get', 'adm_fl', 'bool', false)
    • $_GET['lng_wh'] → getVar('get', 'lng_wh', 'var', '')
  3. lang_save()
    • $_POST['mod_dir'] → getVar('post', 'mod_dir', 'var', '')
    • $_POST['lwh'] → getVar('post', 'lwh', 'var', '')
    • $_POST['lcn'] → getVar('post', 'lcn[]', 'var') (bracket notation)
    • $_POST['cnst'] → getVar('post', 'cnst[]', 'var')
    • $_POST['lng'] → getVar('post', 'lng', 'var', [])
  4. lang_conf_save()
    • $_POST → getVar() for all inputs
    • save_conf() → setConfigFile() (modern API)
    • Compact array-based config structure
    • Added void return type Benefits:
  • Consistent input filtering across module
  • Type safety with modern PHP 8 patterns
  • Bracket notation for arrays
  • Secure config file handling
27.11.2025
Add: Comprehensive modernization rules documentation
Автор: Eduard Laas | Дата: 18:07 27.11.2025

Created MODERNISIERUNG_RULES.md with complete guidelines for:

  1. getVar() Array Handling
    • FILTER_REQUIRE_ARRAY → getVar('post', 'field[]', 'num')
    • Bracket notation patterns
  2. Compact Config-Save Functions
    • Inline getVar() in $cont arrays
    • Elvis operator for defaults
    • Eliminate intermediate variables
  3. Remove Redundant Code
    • intval() checks when using getVar('num')
    • stripslashes() (PHP 8+)
    • array_map('intval') after filtered arrays
  4. Modern PHP Patterns
    • Typed function parameters
    • setConfigFile() 4th parameter
    • Inline processing
  5. Migration Checklist
    • Step-by-step modernization guide
    • DO/DON'T rules
    • Commit message templates Purpose: Enable consistent modernization across different code instances (work/home environments)
Modernize: Core functions + Database module improvements
Автор: Eduard Laas | Дата: 17:52 27.11.2025

Core improvements:

  • core.php: Modernize setArticleNumbers() with typed parameters
    • func_get_args() → named parameters with types
    • Improved SQL with prepared statements support
    • Better category access control logic
  • security.php: Fix config path
    • config_users.php → users.php (consistent naming)
  • config/users.php: Add modern users config file Admin modules:
  • database.php: Add new database() overview function
    • SHOW TABLE STATUS with detailed metrics
    • Exact row counts via COUNT(*)
    • Size calculations (Data + Index + Free)
    • Support for optimize/repair operations
  • groups.php: Code formatting + setConfigFile() fix
    • Multi-line if → one-liner (consistency)
    • SQL arrays formatted inline
    • setConfigFile() now receives $confu parameter
Хотите опробовать SLAED CMS в действии?
Идеи и предложения
Обратная связь
Подтверждение

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

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