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

changelog

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

Всего: 166 Коммитов в репозитории | Отфильтровано: 166 Коммиты | Страница: 14 / 17
28.11.2025
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
Modernize: Replace FILTER_REQUIRE_ARRAY with getVar() bracket notation
Автор: Eduard Laas | Дата: 17:48 27.11.2025
• admins.php: 2 occurrences (admins_add, admins_save)
• comments.php: 1 occurrence (comm_del)
• blocks.php: 2 occurrences (blocks_add_save, blocks_change)
Changed pattern:
filter_input(INPUT_POST, 'field', FILTER_DEFAULT, FILTER_REQUIRE_ARRAY) ?? []
→ getVar('post', 'field[]', 'num') ?: []
Simplified array processing:
is_array($arr) ? implode(',', array_map('intval', $arr)) : ''
→ $arr ? implode(',', $arr) : ''
(getVar with 'num' type already returns filtered integers)
Consistent with modern getVar() API across entire admin module

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