WBCE CMS – Way Better Content Editing.
You are not logged in.
Habe damit eine produktive Seite von 1.5.4 auf 1.6.5 gezogen, was hervorragend funktioniert hat.
Kann das Modul im AOR ergänzt werden, oder sind noch Änderungen geplant?
Sorgen sind wie Nudeln: man macht sich meist zu viele.
Online
Das freut mich zu lesen.
Aktuell habe ich keine Änderungen mehr geplant.
Online
Magst du dann einen Release auf Github erstellen und dann einen Eintrag im AOR anlegen? Hat beim Linkcounter ja auch geklappt ;-)
Sorgen sind wie Nudeln: man macht sich meist zu viele.
Online
Version auf 1.0.0 gesetzt. Neues Release auf Github erstellt und ins AOR eingereicht. 
Online
mk70, florian, pfreud01
Sollten Sie jemals Unterstützung bei der englischen Dokumentation benötigen, helfe ich Ihnen gerne.
Vielen Dank für die hervorragende Zusammenarbeit bei der Entwicklung dieses hilfreichen Moduls.
--
If there is ever any need for assistance with English documentation, I would be happy to help.
Thank you for your excellent cooperative development of this beneficial module.
Offline
beach, florian, webbird, mk70
WBCE Update-Assistent — Bugfix 1.0.1
upload.php · Stand: 24. März 2026
---
Fehlermeldung
[Deprecated] /modules/wbce_updater/upload.php:[117]
Function finfo_close() is deprecated since 8.5,
as finfo objects are freed automatically ---
Ursache
In upload.php wurde die MIME-Typ-Validierung hochgeladener ZIP-Dateien über die
prozedurale finfo-API durchgeführt (finfo_open() / finfo_file() / finfo_close()).
PHP 8.5 hat finfo_close() als deprecated markiert, da finfo-Ressourcen
seit PHP 8.x als echte Objekte behandelt und automatisch freigegeben werden —
ein manuelles finfo_close() ist nicht mehr notwendig und löst eine Deprecation-Warnung aus.
---
Fix — upload.php
[== PHP ==]
// vorher
if (function_exists('finfo_open')) {
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$mime_type = finfo_file($finfo, $uploaded_file);
finfo_close($finfo);
// nachher
if (class_exists('finfo')) {
$finfo = new finfo(FILEINFO_MIME_TYPE);
$mime_type = $finfo->file($uploaded_file); Umstellung auf den OOP-Stil: class_exists('finfo') statt function_exists('finfo_open'),
Instanziierung per new finfo() statt finfo_open(), Methodenaufruf ->file() statt finfo_file().
finfo_close() entfällt vollständig — das Objekt wird beim Garbage Collection automatisch freigegeben.
---
Ergebnis
Kein Eintrag im Errorlog nach dem Fix.
Die MIME-Typ-Validierung funktioniert identisch wie zuvor.
---
Umgebung
WBCE Update-Assistent 1.0.1
WBCE 1.6.5
PHP 8.5.4
Auf Github und im AOR geupdated
Online
Nachdem es bei einem Hoster ein paar Probleme beim Einsatz des Modul gab, gibt es eine aktualisierte und leicht erweiterte Version.
Es wurden z.B. ein paar der Wünsche von ruebezahl integriert.
Hier eine Zusammenfassung:
Release 1.0.5: Persistente Benutzerkonfiguration, Custom Source und diverse Bugfixes
Neue Features:
- user_config.php: Lokale Konfiguration, die Updates überlebt (Custom Source URL,
Tool-Deaktivierungsflag); Vorlage in user_config.default.php
- Eigene Update-Quelle: Server-seitig via hash_equals() gewhitelistet, UI-Anzeige
in tool.php, Durchleitung in download.php
- Tool-Deaktivierung: $wbce_updater_disabled sperrt das Tool ohne Code-Änderung
- Backup-Erkennung: Scannt /backups/ nach echten ZIPs (≥ 100 KB) und zeigt das
neueste mit Alter und Größe
- Zielversion beim manuellen ZIP-Upload (optionales Eingabefeld)Bugfixes:
- parse_size() mit function_exists()-Guard (verhindert Fehler bei mehrfacher Einbindung)
- execute_update.php: expliziter Auth-Check (is_authenticated + isAdmin)
- download.php: ZIP-Signatur-Check (PK-Header) vor dem Speichern
- Maintenance-Logik in maintenance_helper.php ausgelagert
- Überflüssigen FTAN-Body aus Fetch-Requests entfernt
- Backup-Confirm-Popup (5 s-Timeout) entferntLokalisierung:
- execute_update.php vollständig aus Sprachdateien übersetzt (~50 neue Strings
in DE.php und EN.php)Sicherheit:
- SSL-Peer-Verifizierung in download.php aktiviert
- Validierungsfehler in download.php leiten per Redirect weiter statt HTML auszugeben
- Guard in tool.php auf WBCE-Standard umgestellt (defined('WB_PATH') or die)
Github ist aktualisiert.
https://github.com/Beachbone/wbce_updater/releases
Last edited by beach (07.05.2026 23:22:22)
Online
webbird, jimmy
Eintrag im AOR ist aktualisiert.
Bei einem WBCE-Update wird bedauerlicher- bzw. logischerweise wieder Version 1.0.1 installiert, da diese im Installationspaket der 1.6.7 enthalten ist. Dananach muss man also WBCE-Updater updaten, dann sind alle neuen Funktionen wieder da. Die angepasste Konfiguration bleibt in der Tat erhalten.
Die Optionen zur Sperrung und für das eigene Update-Zip habe ich getestet. Funktioniert so weit, wobei ich mir vorstellen könnte, dass das möglicherweise noch nicht ganz das ist, was sich rübezahl erhofft hatte, denn man kann ja trotzdem noch ein normales Update durchführen (statt ausschließlich das angepasste zu verwenden) und die Warnmeldungen beim custom Update könnten abschreckend wirken.
Ebenso braucht ja nur der AFE installiert zu sein und unbedarfte Anwender können flugs die Modulsperre aufheben, da ja genau erklärt ist, wo und wie. Wirkungsvoller wäre evtl. ein Flag in der WBCE-config.php, da kommt man ohne FTP nicht ran.
Das Custom Update kommt nicht mit der https://wbce.org/media/wbce.zip zurecht.
ZIP-Umpacken fehlgeschlagen: WBCE-Ordner konnte nicht automatisch gefunden werden
Wenn man exakt dieselbe Datei manuell hochlädt, klappt's.
Last edited by florian (08.05.2026 06:53:06)
Sorgen sind wie Nudeln: man macht sich meist zu viele.
Online
jimmy
[...]
Die Optionen zur Sperrung und für das eigene Update-Zip habe ich getestet. Funktioniert so weit, wobei ich mir vorstellen könnte, dass das möglicherweise noch nicht ganz das ist, was sich rübezahl erhofft hatte, denn man kann ja trotzdem noch ein normales Update durchführen (statt ausschließlich das angepasste zu verwenden) und die Warnmeldungen beim custom Update könnten abschreckend wirken.
[...]Das Custom Update kommt nicht mit der https://wbce.org/media/wbce.zip zurecht.
ZIP-Umpacken fehlgeschlagen: WBCE-Ordner konnte nicht automatisch gefunden werden
Wenn man exakt dieselbe Datei manuell hochlädt, klappt's.
Ok. Ich glaube nun verstehe ich was ruebezahl gemeint hat. Mal genauer durch den Kopf gehen lassen.
Das mit dem Custom Update schaue ich mir nochmal an.
Online
jimmy
Hallo zusaammen
habe damit gerade unsere Vereinswebseite hochgezogen (1.6.4 --> 1.6.7).
Das hat reibungslos geklappt und ist eine tolle Sache!!
Was mir aufgefallen ist:
Das erste Mal bei all den Updates, die ich gemacht habe in den letzten 12 Monaten, seit die Webseite steht, wurde das Template (wbcezon) überschrieben.
Da ich mir nicht sicher war, ob da ebenfalls Security Patches integriert wurden, habe ich über Datei-Vergleich meine Anpassungen herausgesucht und wieder implementiert.
Keine grosse Sache, aber wenn das nun jedesmal der Fall ist, werde ich das Template wohl umkopieren und ein eigenes daraus machen.
(oder gibt es eine Technik, um Anpassungen im Template so zu gestalten, dass diese das eigentliche Template nur "ergänzen" oder "übersteuern".
Meine Anpassungen betraffen:
index.php
wbcezon.css
responsee.css
Das nur als Kommentar, falls es was hilft ist gut, wenn nicht, auch gut 
Quick and dirty lasts longer dirty than it was quick..
Offline
stefanek
Guter Hinweis. Das ist wahr. In dem Updatepaket wbceup.zip, was ich immer händisch schnüre, hatte ich immer die Standardtemplates rausgenommen, damit diese nicht überschrieben werden. Das ist beim automatischen Updater (noch) nicht vorgesehen.
Wenn Anpassungen an Templates vorgenommen werden, die Templates unter eigenem Namen speichern. So geht's:
1. Seite kurz in Wartungsmodus setzen (Admintool Maintenance Mode Switcher)
2. Grundeinstellungen > Template Whiteboard auswählen (oder halt irgend ein anderes)
3. Per FTP das Templateverzeichnis wbcezon umbenennen in irgendwas anderes, z.B. wbce_custom oder website_mustermann (völlig egal, Hauptsache keine Leerzeichen, Sonderzeichen)
4. in der info.php des Templates Änderung nachziehen, also
$template_directory = 'wbcezon';
$template_name = 'WBCEZon';entsprechend ändern
$template_directory = 'website_mustermann';
$template_name = 'Mustermann GmbH';5. Im Backend unter Erweiterungen > Erweitert Templates neu laden
6 Bei Grundeinstellungen > Templates auf das "neue alte" Template umstellen, also In diesem Beispiel "Mustermann GmbH"
7. Wartungsmodus aufheben
Last edited by florian (11.05.2026 07:43:19)
Sorgen sind wie Nudeln: man macht sich meist zu viele.
Online
mk70, jimmy
Mhhh.
Ich werde mal prüfen wie viel Aufwand es ist das aktive Template bei einem Update auszunehmen.
Ansonsten sollte ich vielleicht an dem Template Editor mal weitermachen. Da könnte man soetwas vereinfachen. Z. B. Wenn man eines der Standard templates editiert wird automatisch ein eigenes Template angelegt oder so aber das ist eine andere Baustelle.

Online
mk70
Ich habe mir das Upgrade Tool nicht im Detail angeschaut.
Was denkbar wäre, wenn das Paket von GitHub gefetcht wird, geht es wahrscheinlich erstmal in einen Ordner wie /temp, wird entpackt und dann könnte man das aktive Template (Edit: alle aktiven Templates, es können u.U. mehrere sein, wenn sie pro Seite zugeteilt wurden) rausfiltern (und entfernen, bevor es verschoben wird).
Christian
Last edited by stefanek (11.05.2026 11:36:50)
“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale
Offline
beach