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

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

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

Всего: 1347 Доступных коммитов | Отфильтровано: 1347 Коммиты | Страница: 123 из 135
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
  3. 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
  4. 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
  5. 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

22.12.2025
Docs: update README content
Автор: Eduard Laas | Дата: 14:32 22.12.2025
Setup/config: update config loaders and setup entrypoint
Автор: Eduard Laas | Дата: 14:29 22.12.2025
Config admin: fix saving module multiselect input
Автор: Eduard Laas | Дата: 14:26 22.12.2025
Refactor: Remove forum module and cleanup code
Автор: Eduard Laas | Дата: 13:36 22.12.2025
  • Delete forum module (core/forum.php)
  • Remove forum-related images
  • Rename admin info files (configure-.html → config-.html)
  • Update language files
  • Modernize blocks and modules
  • Create config/global.php
Modernize admin/modules/config.php: Quote conversion and code cleanup
Автор: Eduard Laas | Дата: 13:35 22.12.2025
  • Convert all double quotes (") to single quotes (')
  • Remove dead commented code (# DELETE block)
  • Rename function configNavi() → navi()
  • Add return type hints (: void)
  • Modernize opendir/readdir → scandir()
  • Replace timezone array with timezone_identifiers_list()
  • Update require_once to use CONFIG_DIR constant
  • Add exit after header redirect
  • Implement strict comparisons (===, !==)
  • Format code according to SLAED standards
Хотите опробовать SLAED CMS в действии?
Идеи и предложения
Обратная связь
Подтверждение

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

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