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

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

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

Всего: 1024 Доступных коммитов | Отфильтровано: 1024 Коммиты | Страница: 101 / 103
27.11.2025
Security: Complete modernization users.php - CRITICAL SQL injection fixed
Автор: Eduard Laas | Дата: 15:33 27.11.2025

SICHERHEIT (KRITISCH!):

  • ALLE SQL-Injection-Schwachstellen behoben
  • All SQL queries → PDO Prepared Statements mit Parameter-Binding
  • users_show(): Parametrisierte LIKE-Suche (:search, :group, :points)
  • users_add(): PDO mit :id, :extra
  • users_add_save(): Alle UPDATE/INSERT mit PDO (24 Parameter!)
  • users_new(), users_null_save(): PDO mit :offset, :limit, :zero, :empty
  • users_new_del(), users_del(): Neue separate Funktionen mit PDO
  • $_POST → getVar() with security filters

MODERNIZATIONS:

  • Copyright 2017 → 2026
  • PHP 8 Type Hints for all functions (int, string, void)
  • array() → [] (Short Array Syntax)
  • tpl_eval()/tpl_warn() → setTemplateBasic()/setTemplateWarning()
  • navi_gen() + func_get_args() → getAdminTabs() mit Parametern
  • include() → require_once CONFIG_DIR
  • save_conf() → setConfigFile()
  • checkConfigFile() statt end_chmod()

CODE-STRUKTUR:

  • Switch-Case bereinigt: Inline-Queries extrahiert
  • users_null_save() als eigene Funktion (Line 329)
  • users_new_del() als eigene Funktion (Line 441)
  • users_del() als eigene Funktion (Line 450)
  • Alle DELETE-Operationen jetzt mit PDO-Schutz

ZEILEN: 440 → 512 (+72)

Refactor: Complete modernization groups.php
Автор: Eduard Laas | Дата: 15:24 27.11.2025

MODERNIZATIONS:

  • Copyright 2018 → 2026
  • PHP 8 Type Hints for all functions (int, string, void)
  • array() → [] (Short Array Syntax)
  • $_POST/$_GET/$_REQUEST → getVar() with security filters
  • tpl_eval()/tpl_warn() → setTemplateBasic()/setTemplateWarning()
  • navi_gen() → getAdminTabs()
  • func_get_args() → named parameters
  • Manual file operations → setConfigFile()

SQL SECURITY:

  • All SQL queries → PDO Prepared Statements
  • Parameter binding with :param placeholders
  • SQL injection protection

FUNCTIONAL CHANGES:

  • groups_del() extracted as separate function
  • Error handling in groups_save() corrected
  • Code formatting standardized
Refactor: Code-Bereinigung und Modernisierung
Автор: Eduard Laas | Дата: 14:52 27.11.2025

Core-Änderungen (core/core.php):

  • fields_in() und fields_out(): include → require_once
  • Hardcoded Pfad → CONFIG_DIR Konstante
  • config_fields.php → fields.php (korrekte Datei)

Changelog-Modul (admin/modules/changelog.php):

  • Removed unnecessary default case in switch statement
Optimize: getVar() mit Bracket-Notation und Code-Optimierung
Автор: Eduard Laas | Дата: 14:48 27.11.2025

Core-Änderungen (core/security.php):

  • Bracket-Notation implementiert: field[0] für Index, field[] für ganzes Array
  • Parameters reduced from 5 to 4 (index parameter removed)
  • Code duplication removed: $filters Array only defined once
  • Variablen auf snake_case umgestellt: $array_index, $is_array_all
  • Array-Element-Filterung added für bessere Sicherheit

Module aktualisiert:

  • admin/modules/fields.php: Verwendet Bracket-Notation field1X[i]
  • admin/modules/comments.php: Verwendet Bracket-Notation id[] mit num-Filter

Advantages:

  • Sauberere API without zusätzlichen Index-Parameter
  • ~26 Zeilen weniger Code durch Entfernung von Duplikaten
  • Konsistente Namenskonvention (snake_case)
  • Sicherer durch Element-Filterung bei Arrays
Extend: getVar() now supports type 'array' for entire arrays
Автор: Eduard Laas | Дата: 14:21 27.11.2025
  • core/security.php: Neuer Typ 'array' für getVar()

    • Gibt ganzes Array zurück: $_POST['id'] = [1,2,3]
    • Verwendung: getVar('post', 'id', 'array')
    • Ersetzt filter_input(..., FILTER_REQUIRE_ARRAY)
    • PHPDoc aktualisiert mit neuem Typ
  • admin/modules/comments.php: Modernisiert mit neuem Array-Typ

    • Vorher: filter_input(INPUT_POST, 'id', FILTER_DEFAULT, FILTER_REQUIRE_ARRAY)
    • Nachher: getVar('post', 'id', 'array')
    • Konsistente API, sauberer Code

getVar() unterstützt jetzt 3 Array-Modi:

  1. Einzelwerte: getVar('post', 'name', 'text')
  2. Array-Index: getVar('post', 'field10', '', '', 0) → $_POST['field10'][0]
  3. Ganzes Array: getVar('post', 'id', 'array') → $_POST['id'] als Array
Optimize: getVar() mit Array-Index-Support + fields.php modernisiert
Автор: Eduard Laas | Дата: 12:15 27.11.2025
  • core/security.php: getVar() um 5. Parameter $index erweitert

    • Unterstützt jetzt mehrdimensionale Arrays: $_POST['field10'][0]
    • filter_input() funktioniert nicht mit mehrdimensionalen Arrays
    • Bei $index !== null: Direkter Zugriff auf $_POST/$_GET
  • admin/modules/fields.php: Komplett modernisiert

    • Nutzt neue getVar() mit Index-Parameter
    • Void return type, moderne Array-Syntax
    • Removed all commented code blocks
    • Saubere, wartbare Implementierung
  • config/fields.php: Ersetzt config_config_fields.php

    • Vereinfachter Pfad without "config_" Präfix
    • Konsistent mit anderen Config-Dateien
Refactor: Changelog Module UI Improvements
Автор: Eduard Laas | Дата: 10:50 27.11.2025

Export-Funktionalität als Tabs integriert:

  • Export-Optionen jetzt als echte Tabs im Navigation-System
  • Filter-Feld-Breiten optimiert für bessere UX
  • Switch cases für changelog_export_txt und changelog_export_md added

Änderungen:

  • Filter-Felder: Breiten angepasst (200px/180px/150px)
  • Export-Tabs: In $ops und $lang Arrays integriert
  • Tab-Labels: "Export TXT" und "Export Markdown"
  • Export nur sichtbar wenn export_enabled aktiviert ist
  • Cleaner Code: Export-Logik in Tab-System statt separate Sektion
Feature: Complete Changelog Module Overhaul
Автор: Eduard Laas | Дата: 10:32 27.11.2025

Massive enhancement with ALL requested features: New Features:

  • Filter & Search: Author, file, search term, date range
  • Pagination: 10 commits per page (configurable)
  • Export: TXT and Markdown formats with download
  • Date Grouping: Today, Yesterday, This Week labels
  • Preferences Tab: Full configuration UI
  • Configuration: 6 customizable settings

Technical Improvements:

  • Added config/changelog.php configuration file
  • 454 lines (from ~190) with clean structure
  • Default case in switch statement
  • 4-space formatting (consistent with fields.php)
  • Proper escapeshellarg() for security
  • Query parameter preservation in pagination
  • HTTP export headers for file download

Functions:

  • changelog() - Main display with filters
  • changelog_conf() - Preferences tab
  • changelog_save_conf() - Save configuration
  • changelog_export() - Export functionality
  • group_commits_by_date() - Date grouping
  • render_commit() - Commit rendering with config awareness

All features work together seamlessly.

Refactor: fields.php Config-Pfad simplified + Formatierung
Автор: Eduard Laas | Дата: 10:20 27.11.2025

Änderungen:

  • Config-Datei: config_fields.php → fields.php (kürzer, konsistenter)
  • require_once: CONFIG_DIR.'/fields.php'
  • checkConfigFile('fields.php')
  • setConfigFile bleibt: 'config_fields.php' (echter Dateiname)
  • Code-Formatierung: Tabs → 4 Spaces (einheitlich)

Konsistente Namensgebung für Config-Dateien.

Improve: getAdminTabs() mit Multi-Tab-Support erweitert
Автор: Eduard Laas | Дата: 10:14 27.11.2025

Änderungen in fields.php:

  • getAdminTabs() nutzt jetzt $legacy und $extra Parameter
  • Bessere Lösung als zurück zu navi_gen()
  • Moderne Funktion bleibt, aber mit erweiterten Capabilities

Multi-Tab-System (7 Tabs) funktioniert jetzt mit getAdminTabs():

  • Account, Content, Forum, Help, News, Order, Info

Tab-Navigation und Content-Anzeige funktionieren korrekt.

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

1 92 93 94 95 96 97 98 99 100 101 102 103
Хотите опробовать SLAED CMS в действии?
Идеи и предложения
Обратная связь