Der Wartungsmodus und die Moderatoren

 
Kiana
Benutzer
Avatar
Geschlecht:
Alter: 29
Beiträge: 28
Dabei seit: 06 / 2018
Betreff:

Der Wartungsmodus und die Moderatoren

 · 
Gepostet: 11.08.2018 - 13:53 Uhr  ·  #1
Hallo,

ich bräuchte mal bitte eure Hilfe. :) Mir ist aufgefallen, dass sowohl Super-Moderatoren als auch normale Moderatoren das Forum gar nicht betreten können, sobald es im Wartungsmodus ist.

Gibt es dafür eine existente Funktion, die ich im ACP einfach noch nicht gefunden habe, um das zu ändern? Wenn ja wo?

Und wenn nicht, wie könnte man es dann anders im CF4 realisieren?



Liebe Grüße
Charline


PS: Wünsche euch ein schönes Wochenende! 😊
Mathias
Benutzer
Avatar
Geschlecht:
Alter: 59
Homepage: baremountain-forum…
Beiträge: 61
Dabei seit: 06 / 2017
Betreff:

Re: Der Wartungsmodus und die Moderatoren

 · 
Gepostet: 11.08.2018 - 22:36 Uhr  ·  #2
Kiana
Benutzer
Avatar
Geschlecht:
Alter: 29
Beiträge: 28
Dabei seit: 06 / 2018
Betreff:

Re: Der Wartungsmodus und die Moderatoren

 · 
Gepostet: 12.08.2018 - 14:46 Uhr  ·  #3
Wäre sehr schade, wenn man das nicht irgendwie ändern könnte ohne die Mods zusätzlich in die Admingruppe zu setzen. :(
cback
Admin
Avatar
Geschlecht:
Herkunft: Saarland
Alter: 36
Homepage: cback.de
Beiträge: 17539
Dabei seit: 12 / 2003
Betreff:

Re: Der Wartungsmodus und die Moderatoren

 · 
Gepostet: 13.08.2018 - 14:43 Uhr  ·  #4
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: :D


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:

Code
$wartung_an = true;


auf

Code
$wartung_an = false;



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://www.cback.de/content/d…lopers.pdf


Ich hoffe ich konnte Dir helfen. ;)


LG,
Chris
Kiana
Benutzer
Avatar
Geschlecht:
Alter: 29
Beiträge: 28
Dabei seit: 06 / 2018
Betreff:

Re: Der Wartungsmodus und die Moderatoren

 · 
Gepostet: 13.08.2018 - 17:29 Uhr  ·  #5
Hallo Chris,

du bist mein Held des Tages! Das Workaround funktioniert super, also kann meine Modine doch noch das Forum befüllen, auch wenn sich das Forum ab und an mal im Wartunsmodus befindet.

Danke, danke, danke!


Wünsche dir und allen anderen auch eine schöne Woche, lasst euch von niemandem unterkriegen! :)
cback
Admin
Avatar
Geschlecht:
Herkunft: Saarland
Alter: 36
Homepage: cback.de
Beiträge: 17539
Dabei seit: 12 / 2003
Betreff:

Re: Der Wartungsmodus und die Moderatoren

 · 
Gepostet: 14.08.2018 - 15:14 Uhr  ·  #6
Hallöchen,

super da freue ich mich, dass ich Dir helfen konnte und damit alles klappt!


Viele Grüße und danke auch für die netten Wünsche,
Chris
Mathias
Benutzer
Avatar
Geschlecht:
Alter: 59
Homepage: baremountain-forum…
Beiträge: 61
Dabei seit: 06 / 2017
Betreff:

Re: Der Wartungsmodus und die Moderatoren

 · 
Gepostet: 15.08.2018 - 08:33 Uhr  ·  #7
Hallo Zusammen,

DAS ist einer der Unterschiede zu vielen anderen Forensystemen. - Chris, der immer da ist, wenn er gebraucht wird und der eben mal grad so ein Plugin ausm Ärmel schüttelt.

Chris, Du bist echt Klasse 👍
cback
Admin
Avatar
Geschlecht:
Herkunft: Saarland
Alter: 36
Homepage: cback.de
Beiträge: 17539
Dabei seit: 12 / 2003
Betreff:

Re: Der Wartungsmodus und die Moderatoren

 · 
Gepostet: 15.08.2018 - 15:23 Uhr  ·  #8
Gewählte Zitate für Mehrfachzitierung:   0

Registrierte in diesem Topic

Aktuell kein registrierter in diesem Bereich

Die Statistik zeigt, wer in den letzten 5 Minuten online war. Erneuerung alle 90 Sekunden.