ZIP-Download

JP Progressbar

Version 2.5 · ZIP · 10.70 kB

Zum Download anmelden

JP Progressbar

mod_uk_progressbar_2_5.zip · 10.70 kB

ZIP-Version
2.5
SHA-256
2741b1d2bb9c19721cdcd8468f57767b050e308399f01e51a622e390cf7b1182

Changelog

Version 2.5

Behoben

  • Joomla 5 & 6 Compatibility - mod_uk_progressbar

Entfernt

  • ❌ Legacy entry file (`mod_uk_progressbar.php`)
  • ❌ No namespaces
  • ❌ No service provider
  • ❌ No custom dispatcher
  • ⚠️ XSS vulnerabilities (no output escaping)
  • ⚠️ ~60 lines of dead code
  • ❌ No German language files
  • ⚠️ HTML error in manifest
  • ✅ Modern architecture with Service Provider
  • ✅ Custom Dispatcher with namespace `Joomlaplates\Module\UkProgressbar`
  • ✅ PSR-4 autoloading
  • ✅ All output properly escaped (XSS-safe)
  • ✅ Clean codebase (dead code removed)
  • ✅ English + German language files
  • ✅ Valid HTML in manifest
  • Added `htmlspecialchars()` for all text output
  • Added `(int)` casting for numeric values
  • Protected against XSS attacks
  • Fixed HTML error in manifest (`<p ... p>` → `<p>`)
  • Filled empty `sys.ini` file
  • Created German language files (DE)
  • Registered DE files in XML
  • Removed 60 lines of unused code
  • Removed unused slider/grid parameters
  • Simplified to essential functionality
  • Created Service Provider
  • Created Custom Dispatcher with namespace
  • Added namespace to XML
  • Updated version to 2.5
  • Simplified template (parameters now from Dispatcher)
  • Deleted legacy entry file
  • Updated XML files section
  • ✅ Clean, maintainable code
  • ✅ Modern architecture
  • ✅ PSR-4 autoloading
  • ✅ Testable design
  • ✅ Better security
  • ✅ German language support
  • ✅ Future-proof (J7+ ready)
  • ✅ No compatibility plugin needed
  • ✅ Long-term support
  • ✅ Production-ready

Hinweise

  • **Module:** JP Progressbar
  • **Version:** 2.5
  • **Date:** February 2025
  • **Status:** ✅ Fully Compatible
  • ## Summary
    The module **mod_uk_progressbar** has been successfully modernized to **Joomla 4/5/6 architecture** with namespaces, service providers, and custom dispatcher pattern. It is now **fully compatible** with Joomla 5 and 6, with and without backward compatibility plugins.
  • ## Migration Details
  • ### Before (Version 2.0)
  • ### After (Version 2.5)
  • ## Changes Made (Step by Step)
  • ### Step 1: Security - Output Escaping
  • **Files:** `tmpl/default.php`
  • ### Step 2: Language Files
  • **Files:** `languages/*`, `mod_uk_progressbar.xml`
  • ### Step 3: Code Cleanup
  • **Files:** `mod_uk_progressbar.php`
  • ### Step 4: Modern Architecture
  • **Files:** `services/provider.php`, `src/Dispatcher/Dispatcher.php`, `mod_uk_progressbar.xml`
  • ### Step 5: Final Cleanup
  • **Files:** `tmpl/default.php`, `mod_uk_progressbar.php` (deleted)
  • ## Architecture
  • ### Service Provider
    ```
    services/provider.php
    ```
    Registers the module with Joomla's dependency injection container using the modern service provider pattern.
  • ### Custom Dispatcher
    ```
    src/Dispatcher/Dispatcher.php
    Namespace: Joomlaplates\Module\UkProgressbar\Site\Dispatcher
    ```
    Extends `AbstractModuleDispatcher` and prepares all data for the template in `getLayoutData()`.
  • ### Template
    ```
    tmpl/default.php
    ```
    Receives prepared data from Dispatcher. All output is properly escaped.
  • ## Compatibility Matrix
    | Environment | Status | Notes |
    |-------------|--------|-------|
    | Joomla 4.x | ✅ Works | Modern architecture |
    | Joomla 5.x (no plugin) | ✅ Works | Fully compatible |
    | Joomla 5.x (with plugin) | ✅ Works | Plugin not needed |
    | Joomla 6.x (no plugin) | ✅ Works | Fully compatible |
    | Joomla 6.x (with plugin) | ✅ Works | Plugin not needed |
  • ## Security Improvements
    | Issue | Before | After |
    |-------|--------|-------|
    | Title output | ❌ No escaping | ✅ htmlspecialchars() |
    | Color values | ❌ No escaping | ✅ htmlspecialchars() |
    | CSS classes | ❌ No escaping | ✅ htmlspecialchars() |
    | Numeric values | ❌ No validation | ✅ (int) casting |
  • ## Testing Performed
    Each step was tested individually:
    1. ✅ **Step 1 (Escaping):** Module displayed correctly with security improvements
    2. ✅ **Step 2 (Languages):** German/English translations working
    3. ✅ **Step 3 (Cleanup):** Module still functional after removing dead code
    4. ✅ **Step 4 (Architecture):** Modern dispatcher working properly
    5. ✅ **Step 5 (Finalization):** Legacy entry file removed, module still works
  • ## Benefits
  • ### For Developers
  • ### For Users
  • ### For Site Operators
  • ## Conclusion
    The module is now **fully compatible** with Joomla 4, 5, and 6, follows best practices, and is ready for production use.
  • **Migration completed successfully.**
  • Changelog metadata update (2026-11-06): Release notes are now maintained as XML and published centrally at https://github.com/joomlaplates-de/changelogs. This package includes its release snapshot as changelog.xml.
Version 2.0

Behoben

  • Changes Prefix. All modules have now the "JP"-Module Name
  • Ready for J5 and J6 without compatibility Plugin

Entfernt

  • Removed the XML version. Not needed anymore for J5 or J6
Version 1.2.2

Behoben

  • Changed the xml path for updates
Version 1.2.1

Hinzugefügt

  • Module Class Suffix
Version 1.2.0

Hinzugefügt

  • Initial Release

Anmeldung erforderlich

Melde dich mit einem berechtigten Konto an, um diese Datei herunterzuladen.