Login

ZIP-Download

JP Shape Divider

Version 2.5 · ZIP · 12.68 kB

Zum Download anmelden

JP Shape Divider

mod_shape_divider_2_5.zip · 12.68 kB

ZIP-Version
2.5
SHA-256
6569d64e7ebc95d3f4b72e83de567c772bde03f3c4828f1ae6644bf1a6499b5c

Changelog

Version 2.5

Behoben

  • Joomla 5 & 6 Compatibility Analysis – mod_shape_divider
    This document summarizes the compatibility and modernization of **mod_shape_divider** (JP Shape Divider) with **Joomla 5** and **Joomla 6**.

Entfernt

  • ❌ `JModuleHelper` is a **legacy J3 class**
  • ❌ Deprecated in Joomla 4/5
  • ❌ **REMOVED in Joomla 6 without compatibility plugin**
  • ❌ Module would **fail completely** on J6 without plugin
  • ✅ Entry file removed (not needed with Dispatcher pattern)
  • ✅ Uses modern `AbstractModuleDispatcher`
  • ⚠️ No sanitization of color values
  • ⚠️ XSS vulnerability if values are manipulated
  • ✅ All output properly escaped
  • ✅ XSS-safe
  • ❌ No language files
  • ❌ Hardcoded English strings in XML
  • ❌ Not translatable
  • ✅ Complete English language files
  • ✅ Complete German language files
  • ✅ All strings use language keys
  • ✅ Fully translatable
  • ❌ Uses `JModuleHelper` (removed in J6)
  • ❌ No namespaces
  • ❌ No service provider
  • ❌ No language files
  • ⚠️ Security issues
  • ✅ Modern architecture
  • ✅ No legacy APIs
  • ✅ Full security
  • ✅ Multilingual
  • ✅ J5/J6 compliant
  • Retrieves all parameters
  • Sets sensible defaults
  • Prepares data for template
  • Clean separation of concerns
  • `mod_shape_divider.ini` - 9 strings
  • `mod_shape_divider.sys.ini` - 2 strings
  • `mod_shape_divider.ini` - 9 strings
  • `mod_shape_divider.sys.ini` - 2 strings
    All hardcoded strings replaced with language keys.
  • ✅ Version bumped: 2.0 → 2.5
  • ✅ Namespace added: `<namespace path="src">Joomlaplates\Module\ShapeDivider</namespace>`
  • ✅ Name uses language key: `MOD_SHAPE_DIVIDER_NAME`
  • ✅ Description uses language key: `MOD_SHAPE_DIVIDER_DESCRIPTION`
  • ✅ Files section: `services/` and `src/` added, entry file removed
  • ✅ Languages section: EN + DE registered
  • ✅ All field labels use language keys
  • ✅ All field options use language keys
  • ✅ HTML error fixed
  • ✅ Default values added where missing
  • ❌ `JPATH_PLATFORM` – Not used ✅
  • ❌ Legacy `JModuleHelper` – **REMOVED** (was causing failure) ✅
  • ❌ `CMSObject` / `JObject` – Not used ✅
  • ❌ Old Input class – Not used ✅
  • Install/upgrade module
  • Test with compatibility plugin enabled and disabled
  • Verify shape divider displays correctly
  • Test color picker
  • Test angle and position options
    2. **Joomla 6**
  • Same tests as Joomla 5
  • Verify no deprecated warnings
  • Test German and English language files
    3. **Module Settings**
  • Test all angle degrees (1-7)
  • Test both positions (left/right)
  • Test color picker with different colors
  • Verify CSS generates correctly
  • ✅ Modern, maintainable codebase
  • ✅ Testable architecture
  • ✅ PSR-4 autoloading
  • ✅ Dependency Injection support
  • ✅ Follows Joomla best practices
  • ✅ Better performance
  • ✅ German language support
  • ✅ Future-proof (J7+ ready)
  • ✅ More secure
  • ✅ Compatible with J5 and J6
  • ✅ No compatibility plugin required
  • ✅ Clean upgrade path
  • ✅ Long-term support ready
  • ✅ **100% compatible** with Joomla 5 and 6 (with and without compatibility plugins)
  • ✅ **Critical bug fixed** (JModuleHelper removed)
  • ✅ **Security improved** (proper output escaping)
  • ✅ **Fully translatable** (EN + DE)
  • ✅ **Best practice** implementation
  • ✅ **Production-ready** with version 2.5
    The module was previously **broken on J6 without compatibility plugin** due to `JModuleHelper` usage. This critical issue is now resolved.
    *Migration completed: February 2026*
    *Compatible with: Joomla 4.x, 5.x, 6.x+*
    *Version upgraded: 2.0 → 2.5*

Hinweise

  • ## Executive Summary
    The module has been **fully modernized** from legacy architecture to **Joomla 4/5/6 architecture** with namespaces, service providers, and custom dispatcher pattern. Critical compatibility issues have been fixed. It is now **fully compatible** with Joomla 5 and 6, with and without backward compatibility plugins.
  • ## Critical Issues Fixed
  • ### 1. **Legacy JModuleHelper (CRITICAL)**
  • **Before (INCOMPATIBLE):**
    ```php
    // mod_shape_divider.php - Line 11
    require JModuleHelper::getLayoutPath('mod_shape_divider', $params->get('layout', 'default'));
    ```
  • **Problem:**
  • **After (FIXED):**
  • ### 2. **Security: No Output Escaping**
  • **Before (VULNERABLE):**
    ```php
    background: <?php echo $shape_bg; ?>;
    transform: skewY(...<?php echo $shape_angle; ?>);
    ```
  • **Problem:**
  • **After (FIXED):**
    ```php
    background: <?php echo htmlspecialchars($shape_bg, ENT_QUOTES, 'UTF-8'); ?>;
    transform: skewY(...<?php echo htmlspecialchars($shape_angle, ENT_QUOTES, 'UTF-8'); ?>);
    ```
  • ### 3. **No Language Files**
  • **Before:**
  • **After (FIXED):**
  • ### 4. **HTML Error in Manifest**
  • **Before:**
    ```xml
    <p class="btn btn-sm btn-info" p>Version 2.0</p>
    ```
    ⚠️ Invalid HTML: `" p>` instead of `">`
  • **After (FIXED):**
    ```xml
    MOD_SHAPE_DIVIDER_DESCRIPTION (in language file)
    ```
    ✅ Valid HTML, proper language string
  • ## Migration to Modern Architecture
  • ### Before Migration (Legacy)
    ```
    mod_shape_divider/
    ├── mod_shape_divider.php ❌ Legacy entry file
    ├── tmpl/default.php ⚠️ No escaping
    └── mod_shape_divider.xml ⚠️ Hardcoded strings
    ```
  • **Issues:**
  • ### After Migration (Modern J4/5/6)
    ```
    mod_shape_divider/
    ├── services/
    │ └── provider.php ✨ NEW: Service provider
    ├── src/
    │ └── Dispatcher/
    │ └── Dispatcher.php ✨ NEW: Custom dispatcher
    ├── tmpl/
    │ └── default.php ✅ Simplified + secured
    ├── language/
    │ ├── en-GB/ ✨ NEW: English
    │ │ ├── mod_shape_divider.ini
    │ │ └── mod_shape_divider.sys.ini
    │ └── de-DE/ ✨ NEW: German
    │ ├── mod_shape_divider.ini
    │ └── mod_shape_divider.sys.ini
    └── mod_shape_divider.xml ✅ Modernized
    ```
  • **Benefits:**
  • ## New Architecture Components
  • ### 1. Service Provider (services/provider.php)
    Implements modern Joomla 4/5/6 service provider pattern:
    ```php
    return new class () implements ServiceProviderInterface {
    public function register(Container $container): void
    {
    $container->registerServiceProvider(
    new ModuleDispatcherFactoryServiceProvider('\\Joomlaplates\\Module\\ShapeDivider')
    );
    $container->registerServiceProvider(new ModuleServiceProvider());
    }
    };
    ```
  • ### 2. Custom Dispatcher (src/Dispatcher/Dispatcher.php)
    | Feature | Implementation |
    |---------|----------------|
    | Namespace | `Joomlaplates\Module\ShapeDivider\Site\Dispatcher` |
    | Base Class | `AbstractModuleDispatcher` |
    | Method | `getLayoutData()` |
    | Logic | Parameter retrieval with defaults |
  • **Responsibilities:**
  • ### 3. Simplified Template (tmpl/default.php)
  • **Before:**
    ```php
    $shape_height = $params->get('shape_height');
    $shape_bg = $params->get('shape_bg');
    $shape_angle = $params->get('shape_angle');
    $shape_pos = $params->get('shape_pos');
    // No escaping
    echo $shape_bg;
    ```
  • **After:**
    ```php
    // All variables prepared by Dispatcher
    // With proper escaping:
    echo htmlspecialchars($shape_bg, ENT_QUOTES, 'UTF-8');
    echo htmlspecialchars($shape_angle, ENT_QUOTES, 'UTF-8');
    echo htmlspecialchars($shape_pos, ENT_QUOTES, 'UTF-8');
    ```
  • ### 4. Language Files (NEW)
  • **English (en-GB):**
  • **German (de-DE):**
  • ### 5. Updated Manifest (mod_shape_divider.xml)
  • **Changes:**
  • ## Compatibility Matrix
    | Environment | Before | After | Status |
    |-------------|--------|-------|--------|
    | Joomla 5.x (no plugin) | ❌ Fails | ✅ Works | ✅ Fixed |
    | Joomla 5.x (with plugin) | ⚠️ Works | ✅ Works | ✅ Improved |
    | Joomla 6.x (no plugin) | ❌ Fails | ✅ Works | ✅ Fixed |
    | Joomla 6.x (with plugin) | ⚠️ Works | ✅ Works | ✅ Improved |
  • ## Security Improvements
    | Issue | Before | After |
    |-------|--------|-------|
    | Color value escaping | ❌ None | ✅ htmlspecialchars() |
    | Angle value escaping | ❌ None | ✅ htmlspecialchars() |
    | Position value escaping | ❌ None | ✅ htmlspecialchars() |
    | Module ID escaping | ❌ None | ✅ (int) cast |
  • ## Code Quality Improvements
    | Aspect | Before | After |
    |--------|--------|-------|
    | **Architecture** | ❌ Legacy J3 | ✅ Modern J4/5/6 |
    | **APIs** | ❌ JModuleHelper | ✅ AbstractModuleDispatcher |
    | **Namespaces** | ❌ No | ✅ Yes (PSR-4) |
    | **Service Provider** | ❌ No | ✅ Yes |
    | **Custom Dispatcher** | ❌ No | ✅ Yes |
    | **Language Files** | ❌ No | ✅ Yes (EN + DE) |
    | **Security** | ⚠️ Vulnerable | ✅ Secured |
    | **Maintainability** | ⚠️ Low | ✅ High |
    | **Testability** | ⚠️ Difficult | ✅ Easy |
    | **Future-proof** | ❌ No | ✅ J7+ ready |
  • ## Joomla 6 Specific Checks
    The module does **not** use any APIs removed in Joomla 6:
  • ## Testing Recommendations
    1. **Joomla 5**
  • ## Migration Benefits Summary
  • ### For Developers
  • ### For Users
  • ### For Site Operators
  • ## Conclusion
  • **mod_shape_divider** has been **fully modernized** to the Joomla 4/5/6 architecture standard. The module is:
  • 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

Entfernt

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

Behoben

  • Changed the xml path for updates
Version 1.2.0

Hinzugefügt

  • Initial Release

Anmeldung erforderlich

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

Future-proof Joomla templates

You can install the template today in your existing Joomla and migrate toJoomla 4/5 or Joomla 6 without changing anything. Furthermore, all our extensions, such as the Uikit 3 modules, are also compatible with Joomla 4/5 and Joomla 6, so no additional effort is expected for the Joomla 6 migration.


Installations-Service

Don´t waste your time, we install your purchased Template with the "Demo Content" within the next 24 hours.

Buy Now

Joomla 4 Migration

Joomla Template Options

Template Options


Layout Manager

The Layout Manager is a powerful and effective tool that allows you to create flexible layouts in the drag and drop builder. With the drag & drop tool you can create and move any number of modules, sections and columns. You can assign images, videos and colors to all sections and modules.

Multi Langauge Backend

Our design or the configuration in the backend is multilingual. The operation is described in detail and is self-explanatory, see picture

Video


Easy to customize

Play around with the font family, size, transformation, style, decoration, line height and letter spacing to give users a different look on your website.

Custom fonts

In the configuration you can add your own custom fonts and use them on your Joomla website.

Google Fonts

Play with 998+ Google Fonts built into the Typography section.


Preloader

You can add an animated preloader to your Joomla website, including built-in animations, custom images or Font Awesome icons.

Back to top

You can add an animated preloader to your Joomla website, including built-in animations, custom images or Font Awesome icons.

Smooth Scroll

If you activate Smooth Scroll, the file Smooth-Scroll.js is loaded, which enables so-called on-page designs to be created.

Video


HTML-Compression

The HTML Compression option allows you to compress your website's HTML to improve performance and make your website load faster.

Lazy Load

Built-in advanced delay loading feature that allows you to load only the images that are visible in the viewport and get high speed for google page speed.

CSS / JS Compression

The JS / CSS compression feature allows you to compress CSS and JS files and reduce their size to increase the website loading speed.


Wide & boxed layout

The template offers you a wide and boxed layout. You can always choose between box and wide layout and change the appearance of your website..

Multiple header layouts

You have several options to choose from and you can easily switch between the headers in the Layout Manager.

Sticky Header

Add a sticky "header to your Joomla website with one click. No additional plugins required. Configure it according to the needs of your website.


Unlimited colors

With the built-in color picker, you can quickly change the color of almost all elements on your website without having to write a single line of code.

Video background

The Layout Manager makes it easy to add video backgrounds to your sections to keep your website looking interesting and interactive.

Parallaxeeffekt

The Layout Manager makes it easy to create parallax effects for any section of your website.


Mega Menu

Configuring the mega menu is really simple and straightforward. You can get a great looking mega menu in just a few clicks. The first step is to configure the menu and choose the header layout for your site.


Once you are done with these settings, you can create your own mega menu for individual menu items. The structure of the main level menu items corresponds to the structure of your Joomla menu. By default, all submenu items are automatically displayed as drop-down menu items.

Infos and Videos


Mobile Menu

The theme has a built-in menu for mobile devices that allows you to easily list all menu items on mobile devices.

Mega-Menu

The framework comes with a mega menu builder via drag and drop. You can add your menu items and Joomla modules and create an interactive mega menu.

Off Canvas-Menu

The theme also comes with the off canvas menu. You can use it alongside your regular menu and publish each module to the off-canvas position.

Responsive typography

With the template frameworks, you can specify different font sizes, letter spacing and line heights for different device sizes.

Animations

With the integrated animations at section, column and module level, you can choose from over 80 different animations.

Custom Codes

Use your own custom code like CSS, JS, meta tags, links and verification codes.

Installations-Service

Don´t waste your time, we install your purchased Template
with the "Demo Content" within the next 24 hours.

Buy Now - 59€

JoomlaPlates

Professional Joomla Templates with rich documentation and support since 2008. 60+ templates for Joomla 5 & 6.

Joomla 4 Joomla 5 Joomla 6
Contact & Legal
  • support@joomlaplates.com
  • Support Team
  • Mon-Fri: 9:00-18:00 CET

© JoomlaPlates. All rights reserved. 2008 - 2026

JoomlaPlates is not affiliated with or endorsed by the Joomla! Project. Joomla! is a registered trademark of Open Source Matters, Inc.