WBCE CMS Forum

WBCE CMS – Way Better Content Editing.

You are not logged in.

#1 01.02.2026 21:48:03

Slugger
Member

Daybased_picker

Hallo,
das ist eine Weiterentwicklung aus der Diskussion von damals:
https://forum.wbce.org/viewtopic.php?pid=42253#p42253

Rund um das Thema Coden mit KI habe ich die Gelegenheit mit Gemini genutzt und im kleinen Umfang auf Basis von Timebased Section Picker eine Variante nur mit Tagesauswahl zu erstellen.

==TXT==
======================================================================
MODUL: DAYBASED PICKER
======================================================================

CHANGELOG / VERSIONSHISTORIE:
v0.1.1-beta (2026-02-03):
- UX-Optimierung: Terminologie von "Sektion" auf "Abschnitt" umgestellt.
- Sprachdateien präzisiert (Aktiv/Inaktiv/Zusatzabschnitt Logik).
- Dokumentation (README.md/txt) an neue Bezeichnungen angepasst.
- upgrade.php für reibungslose Aktualisierung hinzugefügt.

v0.1.0-beta (2026-01-28):
- Initialer Release (Refactoring des timebased_picker).
- Einführung des Präfix dbp_ zur Konfliktvermeidung.
- Optimierung für PHP 8.2+.

======================================================================

1. ALLGEMEINES
Inhalts-Umschalter fuer WBCE basierend auf Wochentag und Monat.
Verzichtet auf Uhrzeiten fuer maximale Einfachheit.
Optimiert fuer PHP 8.2+. Präfix: dbp_
Origin: Basiert auf der Idee von Ruud Eisinga (timebased_picker).

2. ANLEITUNG
Das Modul dient als Weiche fuer bereits existierende Abschnitte.
A) Inhalte vorbereiten: Erstellen Sie normale Abschnitte als Quellen.
B) Verknuepfen:
   - Aktiv: Abschnitt zeigen -> Erscheint im gewaehlten Zeitraum.
   - Inaktiv: Abschnitt zeigen (Opt.) -> Erscheint ausserhalb.
   - Zusatzabschnitt Aktiv (Opt.) -> Zusatzeinblendung nur wenn AKTIV.
C) Zeitplan: Gewuenschte Tage und Monate in der Matrix markieren.

3. STRUKTUR
/daybased_picker/
|-- /languages/       -> DE/EN Sprachdateien (Neu: Term "Abschnitt")
|-- add.php           -> Initialisierung des Datenbank-Eintrags
|-- backend.css       -> Styling des Admin-Interface
|-- c_show_section.php-> Kern-Klasse fuer Asset-Handling
|-- delete.php        -> Bereinigung bei Abschnitts-Loeschung
|-- info.php          -> Metadaten & Eindeutige GUID
|-- install.php       -> Erstellt SQL-Tabelle bei Installation
|-- modify.php        -> Backend-Konfigurationsmaske
|-- save.php          -> Validierung und Speicherung (Int-Casting)
|-- search.php        -> Suchfunktion-Delegierung
|-- uninstall.php     -> Entfernt SQL-Tabelle bei Deinstallation
|-- view.php          -> Frontend-Ausgabe & Logik

4. SICHERHEIT
- SQL-Injection Schutz durch konsequentes Type-Casting (Integer).
- Recursion Guard verhindert Endlosschleifen bei Fehlkonfiguration.
- WB_PATH Check in allen PHP-Dateien verhindert Direktaufrufe.
- index.php Verzeichnisschutz in allen Unterordnern.

5. INSTALLATION / UPGRADE
Installation: ZIP-Archiv via WBCE-Erweiterungsverwaltung hochladen.
Upgrade: Vorhandene ZIP einfach ueber "Installieren/Aktualisieren"
darueberkopieren (upgrade.php wird ausgefuehrt).

======================================================================
Entwicklung: Ruud Eisinga, Evaki, Dietrich, Roland, Pehlke, Slugger & Gemini (2026)
======================================================================

Last edited by Slugger (03.02.2026 21:22:55)


Hoster: ALL-INKL *** Grundsätzliche WBCE Konfig ***
WBCE: 1.6.5 • BE: 2.1.0 • PHP: 8.3.29 * 1. Projekt: FE: Simple responsive * 2. Projekt: FE: hortal * 3. Projekt: FE: WBCEZon * 4. Projekt: FE: WBCETik * Alle • BE: Argos
Status Projekt 1-4:  OK

Offline

Liked by:

jean

#2 02.02.2026 17:50:35

florian
Administrator

Re: Daybased_picker

Danke schon mal. Funktioniert so weit gut.

Die Sections werden auf deutsch als "Abschnitte" bezeichnet, es wäre von Vorteil, das einheitlich handzuhaben.
"Header-Sektion" verwirrt mich - da denke ich an <head> oder irgendwelche PHP-Funktionen, dabei ist hier doch eigentlich "nur" ein weiterer optionaler Abschnitt gemeint, der direkt über dem anderen erscheint?

Sinnvoll wäre auch noch, Gemini vielleicht noch eine Datumsauswahl aus dem virtuellen Kreuz zu leiern, also dass man z.B. vom 03. bis zum 06.03. "Frohe Ostern" ausgeben kann oder so.


Sorgen sind wie Nudeln: man macht sich meist zu viele.

Offline

#3 03.02.2026 21:21:45

Slugger
Member

Re: Daybased_picker

Hallo,

florian wrote:

Die Sections werden auf deutsch als "Abschnitte" bezeichnet, es wäre von Vorteil, das einheitlich handzuhaben.
"Header-Sektion" verwirrt mich - da denke ich an <head> oder irgendwelche PHP-Funktionen, dabei ist hier doch eigentlich "nur" ein weiterer optionaler Abschnitt gemeint, der direkt über dem anderen erscheint?

Habe es angepasst und danke für das Feedback.

florian wrote:

Sinnvoll wäre auch noch, Gemini vielleicht noch eine Datumsauswahl aus dem virtuellen Kreuz zu leiern, also dass man z.B. vom 03. bis zum 06.03. "Frohe Ostern" ausgeben kann oder so.

Gemini hat das im ersten Durchlauf auch vorgeschlagen. Ich habe es aber abgelehnt, damit das Modul schlank bleibt.
Zumal bin ich der Meinung das es im WBCE zwei Mechanismen im Abschnitt und Page gibt, die man dafür einsetzten kann.

Auch das Beispiel mit Ostern fällt grundsätzlich aus dem Serienraster, hier muss man sowie jedes Jahr das Datum immer anpassen, weil er sich ständig verschiebt.

==TXT==
======================================================================
MODUL: DAYBASED PICKER
======================================================================

CHANGELOG / VERSIONSHISTORIE:
v0.1.1-beta (2026-02-03):
- UX-Optimierung: Terminologie von "Sektion" auf "Abschnitt" umgestellt.
- Sprachdateien präzisiert (Aktiv/Inaktiv/Zusatzabschnitt Logik).
- Dokumentation (README.md/txt) an neue Bezeichnungen angepasst.
- upgrade.php für reibungslose Aktualisierung hinzugefügt.

Upgrade auf 0.1.1 beta hängt hier an.

Im Eröffnungsthread ist das die gesamte Version 0.1.1 beta angehängt.

Last edited by Slugger (03.02.2026 21:23:58)


Hoster: ALL-INKL *** Grundsätzliche WBCE Konfig ***
WBCE: 1.6.5 • BE: 2.1.0 • PHP: 8.3.29 * 1. Projekt: FE: Simple responsive * 2. Projekt: FE: hortal * 3. Projekt: FE: WBCEZon * 4. Projekt: FE: WBCETik * Alle • BE: Argos
Status Projekt 1-4:  OK

Offline

#4 04.02.2026 07:29:52

florian
Administrator

Re: Daybased_picker

Danke für die Anpassungen. So ist es besser.

Zumal bin ich der Meinung das es im WBCE zwei Mechanismen im Abschnitt und Page gibt, die man dafür einsetzten kann.

Ja, da hast du recht.

Was ich mir jetzt nur wünschen würde, wäre, das UI etwas aufzubrezeln, also select2 für die Auswahllisten (vgl. Auswahllisten auf Erweiterungen > Module) und eine irgendwie ansprechendere Darstellung für die Auswahl der Tage / Monate.  Vielleicht so in dieser Richtung.


Sorgen sind wie Nudeln: man macht sich meist zu viele.

Offline

#5 04.02.2026 07:52:30

Slugger
Member

Re: Daybased_picker

Hallo florian,

ja, das wird auch der nächste Stepp wenn alles technisch funktioniert.

Und danke für den Ansatz.

Wie sagt man, das Beste kommt zum Schluss. smile

Allein auch wegen der "Kreativität" von Gemini, da muss ich noch Feinheiten an der Anweisung machen, damit ihm nicht die Pferde durchgehen.


Hoster: ALL-INKL *** Grundsätzliche WBCE Konfig ***
WBCE: 1.6.5 • BE: 2.1.0 • PHP: 8.3.29 * 1. Projekt: FE: Simple responsive * 2. Projekt: FE: hortal * 3. Projekt: FE: WBCEZon * 4. Projekt: FE: WBCETik * Alle • BE: Argos
Status Projekt 1-4:  OK

Offline

#6 08.02.2026 19:12:25

Slugger
Member

Re: Daybased_picker

Hallo,
nächste Beta, sie hängt erst einmal hier dran:

==TXT==
======================================================================
WBCE MODUL: DAYBASED PICKER - VERSION 0.1.3 (BETA)
======================================================================
Projekt-Status: Beta-Testlauf
Entwicklung: Slugger & Gemini
Origin: Idee basierend auf 'timebased_picker'
======================================================================

CHANGELOG / WAS IST NEU IN BETA 0.1.3:

1. MULTI-INSTANZ-SUPPORT
   - Vollständige Isolierung der HTML-IDs und JS-Funktionen pro Abschnitt.
   - Mehrere Picker auf einer Seite können nun unabhängig voneinander
     konfiguriert werden, ohne sich gegenseitig zu beeinflussen.

2. ASSET-AWARE RENDERING (CSS/JS)
   - Integration der neuen Klasse 'dbp_show_section'.
   - Das Modul erkennt nun automatisch 'frontend.css' und 'frontend.js'
     der Ziel-Abschnitte und lädt diese im Frontend mit.

3. OPTIMIERTES BACKEND-UI
   - AJAX-Live-Vorschau: Inhalte gewählter Abschnitte werden sofort
     in der Konfigurationsmaske angezeigt.
   - Verbesserte Select-Boxen: Anzeige im Format
     "[ID: XX] Seitentitel (Abschnittsname) [Modul]".
   - Umkehr-Logik im CSS: Inaktive Tage/Monate sind weiß, aktive
     Tage sind grün markiert.

4. SICHERHEIT & STABILITÄT
   - Recursion Guard: Verhindert Endlosschleifen, falls ein Picker
     fälschlicherweise auf sich selbst verweist.
   - SQL-Härtung: Konsequentes Integer-Casting aller Speicherwerte.
   - PHP 8.2+ Kompatibilität sichergestellt.

5. SPRACHANPASSUNG
   - Vollständige Trennung von Logik und Texten.
   - Sprachpakete für DE und EN im Unterordner /languages/.

======================================================================
INSTALLATIONSHINWEIS:
Das Modul kann als ZIP über die Erweiterungsverwaltung installiert
oder aktualisiert werden. Die 'upgrade.php' sorgt für einen
reibungslosen Übergang von Version 0.1.1.
======================================================================

Viel Spass beim Testen.

Last edited by Slugger (08.02.2026 19:13:01)


Hoster: ALL-INKL *** Grundsätzliche WBCE Konfig ***
WBCE: 1.6.5 • BE: 2.1.0 • PHP: 8.3.29 * 1. Projekt: FE: Simple responsive * 2. Projekt: FE: hortal * 3. Projekt: FE: WBCEZon * 4. Projekt: FE: WBCETik * Alle • BE: Argos
Status Projekt 1-4:  OK

Offline

Liked by:

florian

#7 09.02.2026 14:34:20

florian
Administrator

Re: Daybased_picker

Schaut gut aus und funktioniert


Sorgen sind wie Nudeln: man macht sich meist zu viele.

Offline

Board footer

up