Introduction

Forum

Complete Joomla 5/6 forum component with hierarchical forum structure, user management, file attachment system, thanks/like functionality, search, profile management, and comprehensive administration tools.


Modern Forum - Feature Description (Version 1.1.5)

Author: Mertsch-Web.de
License: GNU General Public License v2 or later
System Requirements: PHP 8.1+, Joomla 5.0.0+

1. Forum Structure

1.1 Categories

  • Creation and management of categories for thematic organization of the forum
  • Individual color assignment per category (colored border on the left side of the category card)
  • Sorting via an ordering field
  • Publication status (active/inactive)
  • Custom description per category
  • URL alias (slug) for search-engine-friendly URLs, auto-generated or manually configurable

1.2 Subforums

  • Unlimited subforums per category
  • Custom description per subforum
  • Automatically maintained statistics:
    • Number of topics
    • Number of posts
    • Last post (date, user)
  • Sorting via ordering field
  • Publication status (active/inactive)
  • URL alias (slug) for search-engine-friendly URLs

1.3 Topics

  • Creation of new topics within subforums
  • WYSIWYG editor integration (Joomla editor) for content creation
  • Pinning important topics (sticky) -- always displayed at the top
  • Locking topics -- no new replies allowed, with visual indicator
  • Editing own topics (title and content)
  • Deleting own topics (with confirmation dialog)
  • Administrators can edit and delete all topics
  • Automatic view counting on each page load
  • Display of modification date for edited topics
  • Automatic URL alias generation from the title
  • Pagination for topic listings

1.4 Replies (Posts)

  • Replying to topics with WYSIWYG editor (new replies) or textarea (editing)
  • Editing own replies
  • Deleting own replies (with confirmation dialog)
  • Administrators and moderators can edit and delete all replies
  • Display of modification date for edited replies ("edited" indicator)
  • Sequential reply numbering (#1, #2, #3, ...)
  • Topic starter badge for the original author
  • Display of total post count per author
  • Pagination for reply listings
  • Automatic reply counter maintenance (increment on creation, safe decrement on deletion)

2. Thanks/Like System (New in Version 1.1.4)

  • Thanks functionality for individual topics and individual replies
  • Toggle behavior: clicking "Thanks" adds a thank, clicking again removes it
  • AJAX-based execution without page reload (JSON response)
  • Display of current thanks count next to the button
  • List of all users who have thanked (usernames visible)
  • One user can only thank once per content item (duplicate protection via database constraint)
  • Only available to authenticated users
  • Visual feedback: thumbs-up icon with active/inactive state

3. File Attachment System

3.1 Topic Attachments

  • Upload one or multiple files when creating a topic
  • Upload additional files when editing a topic
  • Delete existing attachments (checkbox selection with strikethrough preview)
  • Display of attachments with filename, file size, and file type icon

3.2 Reply Attachments

  • Upload one or multiple files when creating a reply
  • Upload additional files when editing
  • Delete existing attachments

3.3 Supported File Formats

  • Documents: PDF, DOC, DOCX, XLS, XLSX, TXT
  • Archives: ZIP
  • Images: JPG, JPEG, PNG, GIF
  • Maximum file size: 10 MB per file

3.4 Security

  • Server-side file type validation against whitelist
  • Secure filename generation (MD5 hash of filename + timestamp)
  • Dedicated download endpoint with proper HTTP headers (Content-Type, Content-Disposition)
  • Preview of selected files (name and size) before upload (JavaScript)

4. Search Functionality

  • Search for topics by title (LIKE-based with wildcard matching)
  • Search field on the forum homepage and on the "All Topics" page
  • Dedicated search results page with:
    • Display of result count ("X results for 'search term'")
    • Result list with topic title, author, creation date, subforum, reply count, view count
    • Pinned and locked topics marked with badges
  • Pagination of search results (Previous/Next with page indicator)
  • Search term preserved across pagination navigation
  • Secure search string handling (database escaping)

5. All Topics View

  • Overview of all topics across all subforums in chronological order
  • Pinned topics displayed first
  • Per-topic display: title, pinned/locked badges, author, creation date, subforum name, reply count, view count
  • Pagination (20 topics per page)
  • Search field with redirect to search page
  • "New Topic" button (only for authenticated users)

6. User Management

6.1 Authentication

  • Integration with the native Joomla user system (com_users)
  • Login redirect to Joomla login form with automatic return to the forum
  • Registration redirect to Joomla registration form
  • Custom logout function with success message
  • Welcome message with username for authenticated users
  • Session management via Joomla session system

6.2 User Profiles

  • Public profile page for each user with:
    • Profile picture (avatar) or initial letter fallback (colored circle with first letter)
    • Username and display name
    • Member since date (with calendar icon)
    • Number of topics created
    • Number of replies written
    • Location (with map pin icon)
    • Website (with globe icon, as clickable link)
    • Signature
  • Recent topics by the user (as activity list with links)
  • Recent replies by the user (with anchor links to the specific post)

6.3 Profile Editing (own profile only)

  • Change location
  • Change website URL
  • Change signature (maximum 500 characters)
  • Upload profile picture (avatar):
    • Supported formats: JPG, JPEG, PNG, GIF, WebP
    • Maximum size: 2 MB
    • Automatic center-cropping to square format
    • Automatic resizing to 200x200 pixels
    • Transparency support for PNG, GIF, and WebP
    • Image processing via GD library (fallback to raw upload)
  • Delete profile picture
  • Avatar preview dialog with file selection and preview (FileReader API)
  • Old avatar image is automatically deleted when uploading a new one

6.4 User Roles

  • User: Default role, can create, edit, and delete own content
  • Moderator: Can edit and delete all posts
  • Administrator (admin/super_admin): Full access to all content and administration areas

7. Spam Protection

7.1 Math CAPTCHA

  • Security question on:
    • Registration
    • Topic creation
    • Topic editing
    • Reply creation
  • Three problem types: addition, subtraction, multiplication
  • Random number ranges (no negative results)
  • Visual feedback: green/red border for correct/incorrect input
  • Refresh button for a new problem
  • Server-side validation against session-stored value (single use)

7.2 CSRF Protection

  • Joomla form token on all POST forms and delete actions
  • Server-side token verification in all controllers (Session::checkToken())

8. Administration (Backend)

8.1 Dashboard

  • Statistics overview with cards for:
    • Number of categories
    • Number of subforums
    • Number of topics
    • Number of posts
    • Number of users
  • Recent topics (last 5 with author, subforum badge, and date)
  • Recent posts (last 5 with author, topic title, and date)
  • Quick access links to all management areas
  • Premium section (collapsible):
    • Premium code activation
    • Settings: hide info page, hide powered-by branding, enable EasyDiscuss import

8.2 Category Management

  • Create new categories
  • Edit existing categories (title, description, alias, color, ordering)
  • Delete categories
  • Publish/unpublish
  • List view with search and filter functionality

8.3 Subforum Management

  • Create new subforums with category assignment
  • Edit title, description, alias, ordering
  • Delete subforums
  • Display of parent category
  • Display of topic count and publication status

8.4 Topic Management

  • Overview of all topics with pagination
  • Display of: title, subforum, author, post count, creation date, sticky status, lock status
  • Edit topics (including attachment management)
  • Delete topics
  • Pin/unpin (sticky)
  • Lock/unlock
  • Highlighting of pinned topics in the list
  • Link to posts view per topic

8.5 Post Management

  • Overview of all posts with pagination
  • Display of: content preview (first 100 characters), topic title, author, creation date, status
  • Edit posts
  • Delete posts

8.6 User Management

  • Overview of all Joomla users with forum activity
  • Display of: username, display name, email, topic count, post count, status (active/blocked), registration date
  • Direct link to Joomla user management per user
  • Pagination

8.7 Info Page

  • Developer contact information (phone, email, website)
  • PayPal donation link
  • Can be hidden via premium setting

8.8 Data Import

8.8.1 EasyDiscuss Import (Premium Feature)

Two-step migration wizard:
- Step 1: Table prefix configuration and validation
- Check for existence of EasyDiscuss tables
- Display of source data statistics (categories, subcategories, topics, replies)
- Display of existing ModernForum data
- Step 2a: Category import
- Import of EasyDiscuss categories as ModernForum categories
- Import of EasyDiscuss subcategories as subforums
- Creation of default subforums for main categories
- Overwrite mode (update existing entries by alias)
- German umlaut handling in alias generation (ae, oe, ue, ss)
- Step 2b: Topic/post import
- Year-based selection (checkboxes)
- AJAX preview of the number of topics and replies to import
- Import of topics with content, views, sticky status, lock status
- Import of replies with topic assignment
- Automatic creation of an "Imported" fallback category
- Recalculation of all counters after import

8.8.2 phpBB3 Import

  • Import of categories/forums, topics, posts, and user associations

9. Configuration Options

9.1 Display Settings

| Setting | Default | Range |
|---|---|---|
| Posts per page | 20 | 5-100 |
| Topics per page | 25 | 5-100 |
| Show statistics | Yes | Yes/No |

9.2 Color Customization (8 Color Fields)

| Setting | Default |
|---|---|
| Primary color | #2563eb |
| Secondary color | #1e40af |
| Accent color | #0ea5e9 |
| Background color | #f8fafc |
| Card color | #ffffff |
| Text color | #1e293b |
| Muted text color | #64748b |
| Border color | #e2e8f0 |

Colors are injected as CSS custom properties (variables) inline and affect the entire forum design.

9.3 Premium Settings

| Setting | Default |
|---|---|
| Premium activated | No |
| Hide info page | No |
| Hide powered-by | No |
| Enable EasyDiscuss import | No |

9.4 Permissions

  • Standard Joomla ACL rules for component-wide access rights

10. Security

10.1 Access Rights and Permissions

  • Only authenticated users can:
    • Create topics
    • Write replies
    • Edit profiles
    • Give thanks
  • Only own content can be edited and deleted (ownership check)
  • Moderators can edit and delete all posts
  • Administrators have full access to all content and administration areas
  • Admin area only accessible to users with admin or super admin role

10.2 Data Security

  • CSRF token protection on all forms and actions
  • XSS protection through consistent use of htmlspecialchars() on all user output
  • Secure password storage (via Joomla system)
  • SQL injection protection through parameterized queries and database escaping
  • Secure file upload validation (whitelist of allowed file types and size restriction)
  • Secure filename generation for uploads (MD5 hash)
  • Index.html security files in upload directories

11. Multi-Language Support

11.1 Supported Languages

  • German (de-DE) -- complete
  • English (en-GB) -- complete

11.2 Translation Scope

  • Backend/Administration: 163 language strings (dashboard, CRUD operations, import wizard, premium section, configuration labels, error messages)
  • Frontend/Website: 174 language strings (forum navigation, authentication, topic/post management, file attachments, user profiles, search, CAPTCHA, thanks system)
  • All interface texts, error messages, success messages, and form labels are translatable

12. Technical Features

12.1 Joomla Integration

  • Fully MVC-based architecture (Model-View-Controller)
  • Namespace support (JoomlaComponentModernForum)
  • Compatible with Joomla 5 and 6
  • Native Joomla user management and authentication
  • Joomla menu integration for all views
  • Joomla editor integration (WYSIWYG) for content
  • Joomla ACL permission system
  • Joomla update server integration for automatic updates
  • Installation script with system requirements check (PHP 8.1+, Joomla 5.0+)

12.2 Responsive Design

  • Optimized for all screen sizes (desktop, tablet, mobile)
  • CSS breakpoint at 768px for mobile adjustments:
    • Vertical post layout (author above content instead of side by side)
    • Stacked form actions
    • Centered profile layout
    • Adjusted search field widths
  • Mobile-friendly navigation with hamburger menu

12.3 Design and Presentation

  • CSS custom properties for consistent theming
  • System font stack (-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, etc.)
  • Max-width container (1200px) with centered layout
  • Category cards with colored left border and gradient header
  • Hover effects on interactive elements
  • Color-coded badges for roles (admin=red, moderator=blue, user=gray)
  • Color-coded status badges (active=green, blocked=red, pinned=yellow, locked=gray)
  • File-type-specific icon colors (PDF=red, DOC=blue, image=green)

12.4 Performance

  • Efficient database queries with JOINs instead of individual queries
  • Cached counters on subforums (topic/post count, last post) and topics (reply count, last reply)
  • Pagination on all list views
  • Parallel database queries where possible
  • View count tracking without additional page load

12.5 Database

7 tables:
1. #__modernforum_categories -- Categories with title, description, color, alias, ordering, status
2. #__modernforum_subforums -- Subforums with category assignment, cached counter values
3. #__modernforum_topics -- Topics with subforum assignment, sticky/lock status, view counter, reply counter
4. #__modernforum_posts -- Posts/replies with topic assignment, modification tracking
5. #__modernforumuserprofiles -- Extended user profiles (avatar, signature, location, website, counters)
6. #__modernforum_attachments -- File attachments for topics or posts
7. #__modernforum_thanks -- Thanks/like entries with content type, content ID, and user ID (unique constraint)

13. Menu Items

Available Views for Joomla Menu Items

| View | Description |
|---|---|
| Forum Overview | Shows all categories with their subforums and forum statistics |
| All Topics | Lists all topics across all subforums sorted by date with pagination |
| Single Subforum | Shows all topics of a specific subforum |
| Single Topic | Shows a specific topic with all replies |
| User Profile | Shows the profile page of a user |
| Search | Shows the search page with results |


14. Administration Menu

| Menu Item | Description |
|---|---|
| Dashboard | Statistics, recent activity, quick access, premium section |
| Categories | Management of all forum categories |
| Subforums | Management of all subforums |
| Topics | Management of all topics |
| Users | Overview of users with forum activity |
| Info | Developer contact and donation option |


15. Version History

| Version | Changes |
|---|---|
| 1.0.0 | Initial release: categories, subforums, topics, posts, user management, multi-language support (DE/EN) |
| 1.0.1 | Easy Discuss import functionality |
| 1.0.2 | Topic editing for topic starters, Joomla update server integration |
| 1.0.3 | File attachment system (upload, download, management) |
| 1.0.4 | Attachment folder creation during installation |
| 1.0.5 | Improved file upload processing |
| 1.0.6 | Improved post/reply styling |
| 1.0.7 | Attachment management in backend topic editor |
| 1.0.8 | User profile page with avatar upload, profile picture display in topics and posts, clickable usernames |
| 1.0.9 | Math CAPTCHA for topic creation and replies, refresh button for new problems |
| 1.1.0 | Math CAPTCHA for registration |
| 1.1.1 | Performance and stability improvements, code optimization |
| 1.1.2 | Info page in admin backend with developer contact information and donation link |
| 1.1.3 | Premium section with code activation (hide branding, enable import, hide info page) |
| 1.1.4 | Thanks/like system for topics and posts (toggle, AJAX, counter, user list) |

Modern Forum - Funktionsbeschreibung (Version 1.1.4)

Vollstaendige Joomla 5/6 Forum-Komponente mit hierarchischer Forenstruktur, Benutzerverwaltung, Dateianhang-System, Danke-/Like-Funktion, Suchfunktion, Profilverwaltung und umfangreichen Administrationswerkzeugen.

Autor: Mertsch-Web.de
Lizenz: GNU General Public License v2 oder hoeher
Systemvoraussetzungen: PHP 8.1+, Joomla 5.0.0+


1. Forum-Struktur

1.1 Kategorien

  • Erstellung und Verwaltung von Kategorien zur thematischen Gliederung des Forums
  • Individuelle Farbgebung pro Kategorie (Farbbalken am linken Rand der Kategorie-Karte)
  • Sortierung ueber ein Reihenfolge-Feld (ordering)
  • Veroeffentlichungsstatus (aktiv/inaktiv)
  • Eigene Beschreibung pro Kategorie
  • URL-Alias (Slug) fuer suchmaschinenfreundliche Adressen, automatisch generiert oder manuell festlegbar

1.2 Unterforen

  • Beliebig viele Unterforen pro Kategorie
  • Eigene Beschreibung pro Unterforum
  • Automatisch gepflegte Statistiken:
    • Anzahl der Themen
    • Anzahl der Beitraege
    • Letzter Beitrag (Datum, Benutzer)
  • Sortierung ueber Reihenfolge-Feld
  • Veroeffentlichungsstatus (aktiv/inaktiv)
  • URL-Alias (Slug) fuer suchmaschinenfreundliche Adressen

1.3 Themen (Topics)

  • Erstellung neuer Themen innerhalb von Unterforen
  • WYSIWYG-Editor-Integration (Joomla-Editor) fuer die Inhaltserstellung
  • Anpinnen wichtiger Themen (Sticky) -- werden immer oben angezeigt
  • Sperren von Themen (Locked) -- keine neuen Antworten moeglich, mit visueller Kennzeichnung
  • Bearbeiten eigener Themen (Titel und Inhalt)
  • Loeschen eigener Themen (mit Bestaetigung)
  • Administratoren koennen alle Themen bearbeiten und loeschen
  • Automatische Ansichtszaehlung (Views) bei jedem Seitenaufruf
  • Anzeige von Bearbeitungsdatum bei geaenderten Themen
  • Automatische URL-Alias-Generierung aus dem Titel
  • Seitenweise Navigation bei vielen Themen (Pagination)

1.4 Antworten (Posts/Replies)

  • Antworten auf Themen mit WYSIWYG-Editor (Neuerstellung) oder Textfeld (Bearbeitung)
  • Bearbeiten eigener Antworten
  • Loeschen eigener Antworten (mit Bestaetigung)
  • Administratoren und Moderatoren koennen alle Antworten bearbeiten und loeschen
  • Anzeige von Bearbeitungsdatum bei geaenderten Antworten ("bearbeitet"-Kennzeichnung)
  • Fortlaufende Nummerierung der Antworten (#1, #2, #3, ...)
  • Kennzeichnung des Themenerstellers ("Themenstarter"/"Topic Starter"-Badge)
  • Anzeige der Gesamtbeitragsanzahl des jeweiligen Autors
  • Seitenweise Navigation bei vielen Antworten (Pagination)
  • Automatische Pflege der Antwortenzaehler (Inkrementierung bei Erstellung, sichere Dekrementierung bei Loeschung)

2. Danke-/Like-System (Neu in Version 1.1.4)

  • Danke-Funktion fuer einzelne Themen und einzelne Antworten
  • Toggle-Verhalten: Klick auf "Danke" gibt ein Danke, erneuter Klick entfernt es
  • AJAX-basierte Ausfuehrung ohne Seitenneuladung (JSON-Antwort)
  • Anzeige der aktuellen Danke-Anzahl neben dem Button
  • Auflistung aller Benutzer, die gedankt haben (Benutzernamen sichtbar)
  • Ein Benutzer kann pro Inhalt nur einmal danken (Duplikat-Schutz durch Datenbank-Constraint)
  • Nur fuer angemeldete Benutzer verfuegbar
  • Visuelles Feedback: Daumen-hoch-Icon mit aktivem/inaktivem Zustand

3. Dateianhang-System

3.1 Anhaenge an Themen

  • Hochladen einer oder mehrerer Dateien beim Erstellen eines Themas
  • Hochladen zusaetzlicher Dateien beim Bearbeiten eines Themas
  • Loeschen bestehender Anhaenge (Checkbox-Auswahl mit Durchstreich-Vorschau)
  • Anzeige der Anhaenge mit Dateiname, Dateigroesse und Dateityp-Icon

3.2 Anhaenge an Antworten

  • Hochladen einer oder mehrerer Dateien beim Erstellen einer Antwort
  • Hochladen zusaetzlicher Dateien beim Bearbeiten
  • Loeschen bestehender Anhaenge

3.3 Unterstuetzte Dateiformate

  • Dokumente: PDF, DOC, DOCX, XLS, XLSX, TXT
  • Archive: ZIP
  • Bilder: JPG, JPEG, PNG, GIF
  • Maximale Dateigroesse: 10 MB pro Datei

3.4 Sicherheit

  • Serverseitige Dateitypvalidierung gegen Whitelist
  • Sichere Dateinamen-Generierung (MD5-Hash aus Dateiname + Zeitstempel)
  • Dedizierter Download-Endpunkt mit korrekten HTTP-Headern (Content-Type, Content-Disposition)
  • Vorschau der ausgewaehlten Dateien (Name und Groesse) vor dem Hochladen (JavaScript)

4. Suchfunktion

  • Suche nach Themen anhand des Titels (LIKE-basiert mit Wildcard-Matching)
  • Suchfeld auf der Forum-Startseite und auf der "Alle Themen"-Seite
  • Eigene Suchergebnis-Seite mit:
    • Anzeige der Trefferanzahl ("X Ergebnisse fuer 'Suchbegriff'")
    • Ergebnisliste mit Thementitel, Autor, Erstellungsdatum, Unterforum, Antwortenzahl, Ansichtenanzahl
    • Angeheftete und gesperrte Themen werden mit Badges gekennzeichnet
  • Seitenweise Navigation der Suchergebnisse (Pagination mit Vor/Zurueck und Seitenangabe)
  • Suchbegriff wird durch Seitennavigation hindurch beibehalten
  • Sichere Suchstring-Behandlung (Datenbankescaping)

5. Alle-Themen-Ansicht

  • Uebersicht aller Themen aller Unterforen in chronologischer Reihenfolge
  • Angeheftete Themen werden zuerst angezeigt
  • Anzeige pro Thema: Titel, Pinned/Locked-Badges, Autor, Erstellungsdatum, Unterforum-Name, Antwortenzahl, Ansichtenzahl
  • Seitenweise Navigation (20 Themen pro Seite)
  • Suchfeld mit Weiterleitung zur Suchseite
  • "Neues Thema"-Button (nur fuer angemeldete Benutzer)

6. Benutzerverwaltung

6.1 Authentifizierung

  • Integration mit dem nativen Joomla-Benutzersystem (com_users)
  • Login-Weiterleitung zum Joomla-Anmeldeformular mit automatischer Rueckleitung zum Forum
  • Registrierungs-Weiterleitung zum Joomla-Registrierungsformular
  • Eigene Abmelde-Funktion mit Erfolgsmeldung
  • Willkommensnachricht mit Benutzernamen fuer angemeldete Benutzer
  • Session-Verwaltung ueber Joomla-Session-System

6.2 Benutzerprofile

  • Oeffentliche Profilseite fuer jeden Benutzer mit:
    • Profilbild (Avatar) oder Initialen-Fallback (farbiger Kreis mit Anfangsbuchstabe)
    • Benutzername und Anzeigename
    • Mitglied-seit-Datum (mit Kalender-Icon)
    • Anzahl erstellter Themen
    • Anzahl geschriebener Antworten
    • Standort (mit Karten-Pin-Icon)
    • Website (mit Globus-Icon, als klickbarer Link)
    • Signatur
  • Letzte Themen des Benutzers (als Aktivitaetsliste mit Links)
  • Letzte Antworten des Benutzers (mit Ankerlinks zum jeweiligen Beitrag)

6.3 Profilbearbeitung (nur eigenes Profil)

  • Aendern des Standorts
  • Aendern der Website-URL
  • Aendern der Signatur (maximal 500 Zeichen)
  • Hochladen eines Profilbilds (Avatar):
    • Unterstuetzte Formate: JPG, JPEG, PNG, GIF, WebP
    • Maximale Groesse: 2 MB
    • Automatisches Zuschneiden auf quadratisches Format (Mitte)
    • Automatische Skalierung auf 200x200 Pixel
    • Transparenz-Unterstuetzung fuer PNG, GIF und WebP
    • Bildverarbeitung ueber GD-Bibliothek (Fallback auf Rohupload)
  • Loeschen des Profilbilds
  • Avatar-Vorschau-Dialog mit Dateiauswahl und Vorschau (FileReader API)
  • Altes Avatar-Bild wird beim Hochladen eines neuen automatisch geloescht

6.4 Benutzerrollen

  • Benutzer (user): Standard-Rolle, kann eigene Inhalte erstellen, bearbeiten und loeschen
  • Moderator (moderator): Kann alle Beitraege bearbeiten und loeschen
  • Administrator (admin/super_admin): Vollzugriff auf alle Inhalte und Verwaltungsbereiche

7. Spam-Schutz

7.1 Mathe-Captcha

  • Sicherheitsfrage bei:
    • Registrierung
    • Themen-Erstellung
    • Themen-Bearbeitung
    • Antwort-Erstellung
  • Drei Aufgabentypen: Addition, Subtraktion, Multiplikation
  • Zufaellige Zahlenbereiche (keine negativen Ergebnisse)
  • Visuelle Rueckmeldung: gruener/roter Rahmen bei korrekter/falscher Eingabe
  • Aktualisierungsbutton fuer neue Aufgabe
  • Serverseitige Validierung gegen Session-gespeicherten Wert (Einmalverwendung)

7.2 CSRF-Schutz

  • Joomla-Form-Token auf allen POST-Formularen und Loeschaktionen
  • Serverseitige Token-Pruefung in allen Controllern (Session::checkToken())

8. Administration (Backend)

8.1 Dashboard

  • Statistik-Uebersicht mit Karten fuer:
    • Anzahl Kategorien
    • Anzahl Unterforen
    • Anzahl Themen
    • Anzahl Beitraege
    • Anzahl Benutzer
  • Neueste Themen (letzte 5 mit Autor, Unterforum-Badge und Datum)
  • Neueste Beitraege (letzte 5 mit Autor, Thementitel und Datum)
  • Schnellzugriff-Links zu allen Verwaltungsbereichen
  • Premium-Bereich (aufklappbar):
    • Premium-Code-Aktivierung
    • Einstellungen: Info-Seite ausblenden, Powered-By-Branding ausblenden, EasyDiscuss-Import aktivieren

8.2 Kategorie-Verwaltung

  • Erstellen neuer Kategorien
  • Bearbeiten bestehender Kategorien (Titel, Beschreibung, Alias, Farbe, Reihenfolge)
  • Loeschen von Kategorien
  • Veroeffentlichen/Zurueckziehen
  • Listenansicht mit Such- und Filterfunktion

8.3 Unterforum-Verwaltung

  • Erstellen neuer Unterforen mit Zuordnung zu Kategorien
  • Bearbeiten von Titel, Beschreibung, Alias, Reihenfolge
  • Loeschen von Unterforen
  • Anzeige der uebergeordneten Kategorie
  • Anzeige der Themenanzahl und des Veroeffentlichungsstatus

8.4 Themen-Verwaltung

  • Uebersicht aller Themen mit Pagination
  • Anzeige von: Titel, Unterforum, Autor, Beitragsanzahl, Erstellungsdatum, Sticky-Status, Lock-Status
  • Bearbeiten von Themen (inkl. Anhangsverwaltung)
  • Loeschen von Themen
  • Anpinnen/Entspinnen (Sticky)
  • Sperren/Entsperren (Lock)
  • Hervorhebung angepinnter Themen in der Liste
  • Link zur Beitragsansicht pro Thema

8.5 Beitrags-Verwaltung

  • Uebersicht aller Beitraege mit Pagination
  • Anzeige von: Inhaltsvorschau (erste 100 Zeichen), Thementitel, Autor, Erstellungsdatum, Status
  • Bearbeiten von Beitraegen
  • Loeschen von Beitraegen

8.6 Benutzer-Verwaltung

  • Uebersicht aller Joomla-Benutzer mit Forum-Aktivitaet
  • Anzeige von: Benutzername, Anzeigename, E-Mail, Themenanzahl, Beitragsanzahl, Status (Aktiv/Gesperrt), Registrierungsdatum
  • Direkter Link zur Joomla-Benutzerverwaltung pro Benutzer
  • Pagination

8.7 Info-Seite

  • Entwickler-Kontaktinformationen (Telefon, E-Mail, Website)
  • PayPal-Spenden-Link
  • Kann ueber Premium-Einstellung ausgeblendet werden

8.8 Datenimport

8.8.1 EasyDiscuss-Import (Premium-Funktion)

Zweistufiger Migrationsassistent:
- Schritt 1: Tabellen-Praefix-Konfiguration und Validierung
- Pruefung auf Existenz der EasyDiscuss-Tabellen
- Anzeige der Quelldaten-Statistik (Kategorien, Unterkategorien, Themen, Antworten)
- Anzeige der bestehenden ModernForum-Daten
- Schritt 2a: Kategorie-Import
- Import von EasyDiscuss-Kategorien als ModernForum-Kategorien
- Import von EasyDiscuss-Unterkategorien als Unterforen
- Erstellung von Standard-Unterforen fuer Hauptkategorien
- Ueberschreib-Modus (Aktualisierung bestehender Eintraege anhand Alias)
- Deutsche Umlaut-Behandlung bei Alias-Generierung (ae, oe, ue, ss)
- Schritt 2b: Themen-/Beitrags-Import
- Jahresbasierte Auswahl (Checkboxen)
- AJAX-Vorschau der Anzahl zu importierender Themen und Antworten
- Import von Themen mit Inhalt, Ansichten, Sticky-Status, Lock-Status
- Import von Antworten mit Zuordnung zu Themen
- Automatische Erstellung einer "Importiert"-Fallback-Kategorie
- Neuberechnung aller Zaehler nach Import

8.8.2 phpBB3-Import

  • Import von Kategorien/Foren, Themen, Beitraegen und Benutzerverknuepfungen

9. Konfigurationsoptionen

9.1 Anzeige-Einstellungen

| Einstellung | Standard | Bereich |
|---|---|---|
| Beitraege pro Seite | 20 | 5-100 |
| Themen pro Seite | 25 | 5-100 |
| Statistiken anzeigen | Ja | Ja/Nein |

9.2 Farb-Anpassung (8 Farbfelder)

| Einstellung | Standard |
|---|---|
| Primaerfarbe | #2563eb |
| Sekundaerfarbe | #1e40af |
| Akzentfarbe | #0ea5e9 |
| Hintergrundfarbe | #f8fafc |
| Kartenfarbe | #ffffff |
| Textfarbe | #1e293b |
| Gedaempfte Textfarbe | #64748b |
| Rahmenfarbe | #e2e8f0 |

Die Farben werden als CSS Custom Properties (Variablen) inline eingefuegt und wirken sich auf das gesamte Forum-Design aus.

9.3 Premium-Einstellungen

| Einstellung | Standard |
|---|---|
| Premium aktiviert | Nein |
| Info-Seite ausblenden | Nein |
| Powered-By ausblenden | Nein |
| EasyDiscuss-Import aktivieren | Nein |

9.4 Berechtigungen

  • Standard-Joomla-ACL-Regeln fuer komponentenweite Zugriffsrechte

10. Sicherheit

10.1 Zugriffsrechte und Berechtigungen

  • Nur angemeldete Benutzer koennen:
    • Themen erstellen
    • Antworten schreiben
    • Profile bearbeiten
    • Danke vergeben
  • Nur eigene Inhalte koennen bearbeitet und geloescht werden (Eigentuemercheck)
  • Moderatoren koennen alle Beitraege bearbeiten und loeschen
  • Administratoren haben Vollzugriff auf alle Inhalte und Verwaltungsbereiche
  • Admin-Bereich nur fuer Benutzer mit Admin- oder Super-Admin-Rolle zugaenglich

10.2 Datensicherheit

  • CSRF-Token-Schutz auf allen Formularen und Aktionen
  • XSS-Schutz durch konsequente Verwendung von htmlspecialchars() auf allen Benutzerausgaben
  • Sichere Passwort-Speicherung (ueber Joomla-System)
  • SQL-Injection-Schutz durch parametrisierte Abfragen und Datenbankescaping
  • Sichere Datei-Upload-Pruefung (Whitelist der erlaubten Dateitypen und Groessenbeschraenkung)
  • Sichere Dateinamen-Generierung bei Uploads (MD5-Hash)
  • Index.html-Sicherheitsdateien in Upload-Verzeichnissen

11. Mehrsprachigkeit

11.1 Unterstuetzte Sprachen

  • Deutsch (de-DE) -- vollstaendig
  • Englisch (en-GB) -- vollstaendig

11.2 Umfang der Uebersetzungen

  • Backend/Administration: 163 Sprachstrings (Dashboard, CRUD-Operationen, Import-Assistent, Premium-Bereich, Konfigurationslabels, Fehlermeldungen)
  • Frontend/Website: 174 Sprachstrings (Forum-Navigation, Authentifizierung, Themen-/Beitrags-Verwaltung, Dateianhang, Benutzerprofile, Suche, Captcha, Danke-System)
  • Alle Oberflaechen-Texte, Fehlermeldungen, Erfolgsmeldungen und Formular-Labels sind uebersetzbar

12. Technische Merkmale

12.1 Joomla-Integration

  • Vollstaendig MVC-basierte Architektur (Model-View-Controller)
  • Namespace-Unterstuetzung (Joomla\Component\ModernForum)
  • Kompatibel mit Joomla 5 und 6
  • Native Joomla-Benutzerverwaltung und -Authentifizierung
  • Joomla-Menue-Integration fuer alle Ansichten
  • Joomla-Editor-Integration (WYSIWYG) fuer Inhalte
  • Joomla-ACL-Berechtigungssystem
  • Joomla-Update-Server-Integration fuer automatische Aktualisierungen
  • Installations-Skript mit Systemvoraussetzungspruefung (PHP 8.1+, Joomla 5.0+)

12.2 Responsive Design

  • Optimiert fuer alle Bildschirmgroessen (Desktop, Tablet, Mobil)
  • CSS-Breakpoint bei 768px fuer mobile Anpassungen:
    • Vertikales Beitragslayout (Autor ueber Inhalt statt nebeneinander)
    • Gestapelte Formular-Aktionen
    • Zentriertes Profillayout
    • Angepasste Suchfeld-Breiten
  • Mobile-freundliche Navigation mit Hamburger-Menue

12.3 Design und Darstellung

  • CSS Custom Properties fuer durchgaengiges Theming
  • System-Schriftart-Stack (-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, etc.)
  • Max-Breite-Container (1200px) mit zentriertem Layout
  • Kategorie-Karten mit farbigem linken Rand und Gradient-Kopfzeile
  • Hover-Effekte auf interaktiven Elementen
  • Farbkodierte Badges fuer Rollen (Admin=rot, Moderator=blau, Benutzer=grau)
  • Farbkodierte Status-Badges (Aktiv=gruen, Gesperrt=rot, Angeheftet=gelb, Gesperrt=grau)
  • Dateityp-spezifische Icon-Farben (PDF=rot, DOC=blau, Bild=gruen)

12.4 Performance

  • Effiziente Datenbankabfragen mit JOINs statt Einzelabfragen
  • Gecachte Zaehler auf Unterforen (Themen-/Beitrags-Anzahl, letzter Beitrag) und Themen (Antwortenzahl, letzte Antwort)
  • Seitenweise Ausgabe (Pagination) auf allen Listenansichten
  • Parallele Datenbankabfragen wo moeglich (Promise.all)
  • View-Count-Tracking ohne zusaetzliche Seitenladung

12.5 Datenbank

7 Tabellen:
1. #__modernforum_categories -- Kategorien mit Titel, Beschreibung, Farbe, Alias, Reihenfolge, Status
2. #__modernforum_subforums -- Unterforen mit Kategorie-Zuordnung, gecachten Zaehlerstaenden
3. #__modernforum_topics -- Themen mit Unterforum-Zuordnung, Sticky/Lock-Status, View-Counter, Antwortenzaehler
4. #__modernforum_posts -- Beitraege/Antworten mit Themen-Zuordnung, Bearbeitungsverfolgung
5. #__modernforumuserprofiles -- Erweiterte Benutzerprofile (Avatar, Signatur, Standort, Website, Zaehler)
6. #__modernforum_attachments -- Dateianhang zu Themen oder Beitraegen
7. #__modernforum_thanks -- Danke-/Like-Eintraege mit Inhaltstyp, Inhalts-ID und Benutzer-ID (Unique Constraint)


13. Menue-Eintraege

Verfuegbare Ansichten fuer Joomla-Menue-Eintraege

| Ansicht | Beschreibung |
|---|---|
| Forum-Uebersicht | Zeigt alle Kategorien mit ihren Unterforen und Forum-Statistiken |
| Alle Themen | Listet alle Themen aller Unterforen sortiert nach Datum mit Pagination |
| Einzelnes Unterforum | Zeigt alle Themen eines bestimmten Unterforums |
| Einzelnes Thema | Zeigt ein bestimmtes Thema mit allen Antworten |
| Benutzerprofil | Zeigt die Profilseite eines Benutzers |
| Suche | Zeigt die Suchseite mit Ergebnissen |


14. Administrations-Menue

| Menue-Eintrag | Beschreibung |
|---|---|
| Dashboard | Statistiken, neueste Aktivitaeten, Schnellzugriff, Premium-Bereich |
| Kategorien | Verwaltung aller Forum-Kategorien |
| Unterforen | Verwaltung aller Unterforen |
| Themen | Verwaltung aller Themen |
| Benutzer | Uebersicht der Benutzer mit Forum-Aktivitaet |
| Info | Entwickler-Kontakt und Spendenmoeglichkeit |


15. Versionshistorie

| Version | Aenderungen |
|---|---|
| 1.0.0 | Erstveroeffentlichung: Kategorien, Unterforen, Themen, Beitraege, Benutzerverwaltung, Mehrsprachigkeit (DE/EN) |
| 1.0.1 | Kunena-Import-Funktion |
| 1.0.2 | Themenbearbeitung fuer Themenersteller, Joomla Update-Server-Integration |
| 1.0.3 | Dateianhang-System (Upload, Download, Verwaltung) |
| 1.0.4 | Anhang-Ordner-Erstellung bei Installation |
| 1.0.5 | Verbesserung der Datei-Upload-Verarbeitung |
| 1.0.6 | Verbessertes Beitrags-/Antwort-Styling |
| 1.0.7 | Anhangsverwaltung im Backend-Themeneditor |
| 1.0.8 | Benutzerprofilseite mit Avatar-Upload, Profilbild-Anzeige in Themen und Beitraegen, klickbare Benutzernamen |
| 1.0.9 | Mathe-Captcha fuer Themenerstellung und Antworten, Aktualisierungsbutton fuer neue Aufgaben |
| 1.1.0 | Mathe-Captcha fuer Registrierung |
| 1.1.1 | Performance- und Stabilitaetsverbesserungen, Code-Optimierung |
| 1.1.2 | Info-Seite im Admin-Backend mit Entwickler-Kontaktinformationen und Spenden-Link |
| 1.1.3 | Premium-Bereich mit Code-Aktivierung (Branding ausblenden, Import aktivieren, Info-Seite ausblenden) |
| 1.1.4 | Danke-/Like-System fuer Themen und Beitraege (Toggle, AJAX, Zaehler, Benutzerliste) |

BarrierFree
Free

BarrierFree

By Mertsch-Web
Accessibility
BarrierFree Joomla Plugin - Release Notes Version 2.1.2 Release Date: December 2025 Version: 2.1.2 Compatibility: Joomla 4.x, 5.x, 6.x 🎉 What's New in Version 2.1.2 🎨 Custom Toolbar Colors You can now customize the toolbar color to perfectly match your website design! What does this mean for you? - Choose from predefined color schemes (Blue, Green, Red, Orange, Purple) - Or enter you...
MW Quick PDF Viewer
Free

MW Quick PDF Viewer

By Mertsch-Web
Print & PDF
MW Quick PDF Viewer is a powerful and user-friendly Joomla 5/6 Content Plugin that revolutionizes the management and presentation of PDF documents on your website. With just a simple shortcode, you can create professional PDF libraries that your visitors can browse through with a modern modal viewer. Developed by Mertsch-Web Version: 1.0.2 Release Date: January 8, 2026 Compatibility: Joomla 5.0...
MW Quick Gallery
Free

MW Quick Gallery

By Mertsch-Web
Photos & Images
MW Quick Gallery - Joomla 5/6 Plugin A powerful Joomla 5/6 plugin for dynamically displaying image galleries from folders. Developed by Mertsch-Web Version: 1.0.5 Date: January 4, 2026 Quick Start After installation, add the following code to your article: {gallery path='images/my-folder'} That's it! The gallery will automatically load and display all images from the specified f...

Modern Forum

Version:
1.1.5
Developer:
Mertsch-Web
Last updated:
Feb 21 2026
2 hours ago
Date added:
Feb 19 2026
License:
GPLv2 or later
Type:
Free download
Includes:
c
Compatibility:
J5 J6
Download

Uses Joomla! Update System