Hallo Charline,
ich wünsche Dir eine schöne Woche!
Wie Mathias richtig sagte schaltet der Wartungsmodus des CF4 wirklich alle ab außer die Admins. Das hat auch einen bestimmten Hintergedanken: In vielen Boards gibt es viele Moderatoren, die nicht unbedingt sich um technisches kümmern, und gerade in produktiven Foren sollte der Wartungsmodus ja (hoffentlich) selten zum Einsatz kommen. Wenn er es dann aber mal tut, dann muss er dafür sorgen, dass eine strengere Datensicherheit besteht, da er auch für gewisse "Systemkritische" Aufgaben kurz zugeschaltet wird. Beispielsweise wenn Du den Suchindex neu aufbaust oder bei Updates mal dann, wenn tiefere DB Änderungen an Topic / Post / etc. Tabelle stattfinden.
Deshalb geht der Wartungsmodus vom CF4 sogar so weit, dass während er aktiv ist auch für Administratoren die Plugin-Hooks nicht mehr ausgeführt werden, sodass also praktisch das System nur minimal mit der DB kommuniziert und abgesehen vom Admin (der normal weiß was er tut) keiner in der Lage ist Daten in der Datenbank zu verändern.
ABER
Im CF4 ist dank der flexiblen Plugins natürlich nichts in Stein gemeißelt.
Mein Vorschlag zum Workaround wäre also, dass Du Dir selbst ein kleines Wartungsmodus-Plugin bastelst. Ich kann Dir hier gerne mal mit einem ganz ganz rudimentären Beispiel sagen wie das geht. Natürlich kannst Du das alles dann in einen Plugin-Installer packen (damit Du es bequemer installieren/deinstallieren kannst) oder sogar eine ACP Seite machen, womit Du den Modus ein/ausschalten kannst.
Aber für meine Hilfe jetzt erstmal ein kleiner Workaround über den Plugin-Developer womit Du im Plugin Code den Modus an und ausschalten kannst, aber für das Board selbst den Effekt bekommst den Du gerne hättest.
Also anschnallen und los gehts, jetzt programmieren wir Dein erstes CF4 Plugin:
Gehe ins ACP und klicke links auf "Developer" und dann "Neues Projekt erstellen"
Nun gibst Du in die Felder des Formulars rechts folgendes ein:
Modulname: Wartungsmodus
Modulbeschreibung: Was immer Du möchtest.
Modulordnername: kiana_wartungsmodus
Wichtig, dass Du bei Modulordnername wirklich genau das eingibst (also nur kleinbuchstaben, unterstrich oder zahlen hinten)
Die Felder Pluginautor Name, Pluginautor Webseite usw. kannst Du leer lassen oder Deine eigenen Angaben eintragen.
Lege das Plugin dann an. Du kommst dann auf eine Übersicht des Plugin Developers.
Klicke dort auf das gerade angelegte Projekt "Wartungsmodus"
und klicke dann rechts unten auf "Neuer Hookpoint erstellen". Es öffnet sich dann ein Dialogfenster.
Gib dort ein:
Hook-Name: wartung init
Reihenfolge: 0
Hook-Key: init_1
Hook-SID: cback
Als Code fügst Du das hier ein:
Code
$wartung_an = true;
if($wartung_an && !(defined('LOGINPAGE') && !$Core->get(GET, 'mode', true)))
{
if ( $User->get_user_value('auth_mod') != 1 && $User->get_user_value('auth_smod') != 1 && $User->get_user_value('auth_admin') != 1 )
{
$Core->showmessage('', 'Das Forum befindet sich aktuell im Wartungsmodus. Bitte versuche den Zugriff später noch einmal.', YELLOW, true);
exit;
}
}
Den Text "Das Forum befindet sich aktuell im Wartungsmodus....." kannst Du gerne anpassen. Pass nur auf, dass Du wenn Du das Zeichen ' verwendest im Text Du dieses als \' schreiben musst sonst bekommst Du einen Codefehler.
Nachdem Du diesen Hook gespeichert hast ist der Wartungsmodus für alle außer Moderator, Super Moderator und Admin sofort aktiv.
Wenn Du den Modus abschalten möchtest musst Du das auch über diesen Hook machen.
Das heißt Du klickst dann wieder im Admin-Bereich links auf "Developer" dann auf "Plugin Developer"
Dann dort rechts auf Dein Projekt "Wartungsmodus".
Klicke in dem eben angelegten Hook dann dort auf das kleine Stift Symbol (editieren)
und ändere im Code die Zeile:
auf
Damit ist der Wartungsmodus aus. Zum wieder einschalten einfach wieder auf "true" ändern.
Alternativ kannst Du Dir diesen Plugincode auch als Setup exportieren und sie im automatisch angelegten Plugin Paket auf Deinem FTP im Ordner modules/kiana_wartungsmodus/ in Deine package_setup.php an die richtige Stelle packen, sodass Du das Plugin über das normale CF4 Pluginpanel installieren/deinstallieren kannst.
Und natürlich kannst Du es auch ausbauen wenn Du das kannst.
Wenn Dich das mit der Plugin Entwicklung neugierig macht kannst Du mal in unserem Entwickler-Handbuch stöbern:
https://cback.net/content/down…lopers.pdf
Ich hoffe ich konnte Dir helfen.
LG,
Chris