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

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

Всего: 872 Доступных коммитов | Отфильтровано: 872 Коммиты | Страница: 75 / 88
29.01.2026
refactor(news): reuse ModuleBase offset and letter filter in liste
Автор: Eduard Laas | Дата: 16:56 29.01.2026
refactor(core): add ModuleBase and reuse navigation in news
Автор: Eduard Laas | Дата: 16:12 29.01.2026
28.01.2026
Chore: Update copyright year and add commit template
Автор: Eduard Laas | Дата: 15:36 28.01.2026

Focus: ops

Summary

Updates copyright year to 2026 and adds standardized commit message template.

Changes

What

  • Update copyright year in modules.php to 2026
  • Add .gitmessage template for consistent commit formatting

Why

  • Keep copyright notices current
  • Standardize commit message format across team

Test

  • N/A - metadata changes only

Impact

For Admins / DevOps

  • None

For Developers

  • Use .gitmessage as template: git config commit.template .gitmessage

Breaking Changes

  • None

Upgrade

  • No action required
Refactor: Rename language icons to ISO 639-1 codes
Автор: Eduard Laas | Дата: 15:35 28.01.2026

Focus: UX

Summary

Standardizes language icon filenames using ISO 639-1 two-letter codes for consistency and internationalization.

Changes

What

  • Rename language icons from full names to ISO codes (e.g., english_mini.png → en_mini.png)
  • Applied to admin, default, and lite templates

Why

  • Align with international standards (ISO 639-1)
  • Simplify language detection logic
  • Enable consistent naming across all templates

Test

  • Visual inspection of language switcher in all templates

Impact

For Admins / DevOps

  • None - purely cosmetic change

For Developers

  • Update any hardcoded references to old icon names
  • New naming: de, en, fr, pl, ru, uk

Breaking Changes

  • Language icon filenames changed - update template references if needed

Upgrade

  • No action required if using dynamic language detection
Setup: Add PHPStan and PHPUnit testing infrastructure
Автор: Eduard Laas | Дата: 15:24 28.01.2026

Focus: stability

Summary

Adds static analysis and unit testing tools to improve code quality and catch bugs early.

Changes

What

  • Add PHPStan for static code analysis (level 0)
  • Add PHPUnit 12 for unit testing
  • Create test directory structure with example tests
  • Update .gitignore for test artifacts

Why

  • Enable automated code quality checks
  • Establish foundation for test-driven development
  • Catch type errors and bugs before runtime

Test

  • PHPStan: php vendor/bin/phpstan analyse (81 issues found at level 0)
  • PHPUnit: php vendor/bin/phpunit (3 tests passing)

Impact

For Admins / DevOps

  • New dev dependencies: phpstan/phpstan, phpunit/phpunit
  • Run composer install to get testing tools

For Developers

  • Use php vendor/bin/phpstan analyse to check code
  • Use php vendor/bin/phpunit to run tests
  • Add tests in tests/Unit/ directory

Breaking Changes

  • None

Upgrade

  • Run composer install --dev to install testing tools
30.12.2025
Refactor: Migrate admin panel from database module IDs to config-based names
Автор: Eduard Laas | Дата: 16:09 30.12.2025

This commit completes the module system migration by updating the admin panel and admin management to use module names instead of database IDs, aligning with the new config-based module architecture.

admin/index.php - Admin panel module loading:

  1. Panel sidebar (panelblock function):

    • Replace: SELECT title, active FROM _modules query
    • Use: getModules() iterator for module enumeration
    • Direct module name access eliminates database dependency
  2. Panel navigation (panel function):

    • Replace: SELECT title, active FROM _modules query
    • Use: getModules() iterator for building navigation
    • Consistent with panelblock implementation
  3. Module loader refactoring:

    • System modules: Use BASE_DIR constant for absolute paths
    • Change: include() → require_once for better error handling
    • Custom modules: Remove database lookup for module existence
    • Direct filesystem check: file_exists(modules/$name/admin/index.php)
    • Clean up: Remove commented experimental code
    • Code formatting: Consistent indentation and spacing

admin/modules/admins.php - Admin permissions management:

  1. Module list generation (add function):

    • Replace: SELECT mid, title FROM _modules query
    • Use: getModules() iterator to enumerate available modules
    • Change checkbox values: mid (database ID) → title (module name)
    • Update permission check: Compare with module name instead of ID
    • Storage format: Comma-separated names instead of IDs
  2. Permission save handler (save function):

    • Parameter type change: 'amodules[]', 'num' → 'amodules[]', 'var'
    • Accept module names (strings) instead of numeric IDs
    • Implode array to comma-separated string of names
    • Database stores: "news,pages,users" instead of "1,5,8"

Benefits:

  • No database queries for module enumeration (performance gain)
  • Module permissions portable across installations
  • Human-readable permission strings for debugging
  • Eliminates mid/title mismatch issues during migrations
  • Consistent with config-based module architecture

Technical notes:

  • Admin permissions stored as module name CSV in database
  • Module existence validated by filesystem, not database
  • getModules() provides consistent iteration interface
  • Backward compatibility maintained for existing installs

Files changed: 2 files Impact: Admin panel, module permissions, panel navigation

29.12.2025
Cleanup: Remove legacy code and fix setConfigFile calls
Автор: Eduard Laas | Дата: 12:34 29.12.2025

admin/modules/modules.php:

  • Remove commented debug line (migrateModulesConfig call)
  • Delete legacy database-based module scanning code (32 lines)
  • Remove obsolete module sync logic from old system
  • Clean up empty lines for better readability

admin/modules/newsletter.php:

  • Fix setConfigFile parameter order: (file, name, base, update)
  • Align with refactored function signature
Refactor: Migrate module system from database to configuration files
Автор: Eduard Laas | Дата: 12:30 29.12.2025

This commit represents a major architectural change in SLAED CMS, moving module management from database storage to file-based configuration for better performance, portability, and version control integration.

Core changes:

  1. Module configuration storage (config/modules.php):

    • Rename field: 'inmenu' → 'menu' for clarity
    • Store all module settings: active, view, menu, group, side, top
    • Configuration now version-controlled and portable
    • 26 modules migrated with existing settings preserved
  2. New module management functions (core/system.php):

    • Add getModules($title = null): Iterator-style module reader
 * Returns array: [title, active, view, menu, group, side, top]
 * Static iterator for row-by-row processing
 * Single module lookup when title provided
  • Load modules.php configuration on bootstrap
  • Enhance setConfigFile(): array_replace_recursive for deep merging
  1. Module synchronization utility (core/admin.php):

    • Add updateModulesConfig(): Sync config with filesystem
 * Scan modules/ directory for actual modules
 * Add new modules with default settings
 * Preserve existing module configurations
 * Remove entries for deleted modules
 * Natural case-insensitive sorting
  1. Admin module management refactor (admin/modules/modules.php):

    • Remove temporary migration function migrateModulesDbToConfig()
    • Replace database operations with config file operations
    • Update all functions to use config-based storage:
 modules():
 - Call updateModulesConfig() to sync filesystem
 - Read modules via getModules() iterator
 - Comment out legacy directory scanning code
 edit():
 - Parameter change: 'mid' (DB ID) → 'mod' (module name)
 - Load settings from config instead of database
 - Field renames: mod_group→group, blocks_m→side, blocks_mc→top
 - Display module status in edit form
 status():
 - Update module active state in config file
 - Use setConfigFile() instead of SQL UPDATE
 save():
 - Persist all module settings to config file
 - Conditional group assignment (only for view=1)
 - Parameter renames throughout: inmenu→menu, mod_group→group
  1. Setup/upgrade system (setup/index.php):

    • Sync setConfigFile() implementation with core
    • Add recursive normalization for nested arrays
    • Fix parameter order in setConfigFile() calls
    • Add update6_3 migration:
 * Read all modules from database _modules table
 * Generate initial config/modules.php
 * Rename inmenu→menu during migration

Benefits:

  • No database queries for module configuration (performance)
  • Module settings in version control (auditability)
  • Easier backup and restore (portability)
  • Simpler debugging (readable PHP arrays)
  • Atomic updates via setConfigFile() with file locking

Technical details:

  • Maintains backward compatibility during upgrade
  • Config file auto-regenerates from filesystem scan
  • Preserves all existing module settings
  • Natural sorting ensures consistent file ordering
  • Deep merge allows partial config updates

Files changed: 5 files, ~250 lines modified Database impact: Replaces _modules table reads/writes with config file I/O

23.12.2025
Setup: Add generated module configuration file
Автор: Eduard Laas | Дата: 15:22 23.12.2025
  • Create config/modules.php with all module settings
  • Migrate module data from database to configuration
  • Include settings for 26 modules: active, view, inmenu, group, side, top
  • Generated by migrateModulesDbToConfig() function
Refactor: Migrate SEO config and improve code formatting
Автор: Eduard Laas | Дата: 15:21 23.12.2025

Core changes:

  • Merge config/config_seo.php into core/system.php

    • Move $confse SEO configuration array inline
    • Remove separate config_seo.php file
    • Consolidate configuration loading
  • Enhance setConfigFile() function in core/system.php

    • Add recursive normalization for array values
    • Convert booleans to string '0'/'1'
    • Handle floats, integers, and null values
    • Add copyright header to generated files
    • Improve type safety and consistency
  • Add module migration utility in admin/modules/modules.php

    • Create migrateModulesDbToConfig() function
    • Migrate module settings from database to config file
    • Extract: active, view, inmenu, group, side, top fields
    • Generate config/modules.php via setConfigFile()

Code formatting:

  • core/access.php: Convert tabs to spaces, update copyright to 2026
  • core/security.php: Fix indentation, add trailing newline
  • modules/news/index.php: Reformat code structure

Configuration:

  • config/global.php: Regenerate sitekey

Files changed: 7 modified, 1 deleted

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

1 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 88

Хотите опробовать SLAED CMS в действии?

Идеи и предложения
Обратная связь