Autor: Chris1278
Version der Extension: 2.0.0
Voraussetzungen:
- phpbb 3.3.0 aufwärts
- php 7.1<8.4@dev
Download der Extension via: Phpbb.com Datenbank
Wichtige Anmerkung
Der Willkommensbeitrag wird nicht mit der Aktivierung des Benutzers erstellt. Dieser wird erstellt, sobald sich der neue Benutzer das erste Mal einloggt. Somit spielt es auch keine Rolle, welche Art der Registrierung im ACP eingestellt wurde.
Kompatibel mit folgenden/-r Erweiterung/-en
Beschreibung der Extension
Der Ursprung dieses Forks ist folgende Erweiterung:
[ABD] Welcome Topic/Post Robot
Start des Forks mit Version 2.0.0
Ich habe diesen Fork um einiges Verbessert. Nachfolgend eine Liste der Änderungen:
- Admin Controller angepasst und auf Controllerbasis umgeschrieben
- Es wird eine eigene Tabelle angelegt, damit man dort den Betreff und den Beitragstext speichern kann. Das war nötig, damit man auch größere Texte speichern kann.
- Die listener.php geändert:
- Die Datenbankparameter für die Tabelle phpbb_config geändert
- Es mussten einige SQL Abfragen in die Listener.php integriert werden, auch schon deswegen, da ich die Texte jetzt individuell über eine eigens dafür angelegte Tabelle laufen lassen. Es ist jetzt möglich für jede im Forum installierte Sprache einen Betreff sowie Text zu hinterlegen. Dieser wird dann als Vorlage genutzt, um den Benutzer in seiner ausgewählten Sprache mit einem Beitrag zu begrüßen.
- Es wurde eine Routine eingefügt (nach Vorlage der Extension Contactadmin von rmcgirr83) die während des Loginvorgangs die Benutzerdaten abfängt und bei dem zu erstellenden Beitrag dann durch den WPT-BOT (als der Benutzer der Im ACP ausgewählt wurde) zu ersetzen. Abschließend nach Erstellung des Beitrages werden die alten Benutzerdaten dann wieder in den Vorgang zurückgeführt. Das ermöglicht es am einfachsten und unkompliziertesten Weg, dass der Beitrag mit dem Benutzer erstellt wird, der im ACP auch angegeben wurde.
- Es wurden auch noch einige Prüfungen implementiert. Der Begrüßungsbeitrag wird jetzt nur noch erstellt, wenn nachfolgende Bedingungen alle erfüllt sind:
- Der Benutzer existiert. Das heißt, der Benutzer in der Datenbank auch vorhanden ist (wird im ACP-Controller auch geprüft, aber wenn der Benutzer im Nachhinein gelöscht werden sollte, entsteht sonst Geisterpost. Daher muss der Benutzer ein in der Datenbank gültiger und vorhandener Benutzer sein.
- Das Forum, welches ausgewählt wurde, muss existieren.
- Es muss ein Begrüßungsbeitrag entweder in der ausgewählten Sprache des Benutzers in der Tabelle sein oder einer in der Standardsprache des Forums.
- Das ACP wurde auf Controllerbasis umgestellt, da das alte noch für die ganz alte Phpbb Version konzipiert war.
- Im ACP-Controller sind diverse Abfragen eingefügt, da die Erweiterung durch die Umprogrammierung ein paar Funktionen hinzu bekommen hat.
- Folgende Funktionen und Änderungen im ACP Modul sind dazu gekommen bzw. haben sich geändert:
- Der Absender ist jetzt auch (sofern korrekt eingestellt) der Beitragsersteller. Hier kann man mittels Benutzerwahl so wie man es auch bei der Option "Benutzer verwalten" im ACP machen kann den Benutzer durch eine Liste Suchen und Einfügen. Dadurch werden folgende Werte für den Benutzer in der Datenbank hinterlegt, welche später für die Bearbeitung des erstellten Willkommensbeitrages benötigt werden. Es ist einfacher, diese Daten einmal im ACP zu erstellen als jedes mal beim Beitrag erstellen abzurufen und zu sortieren, was man benötigt.
Folgende Informationen zu dem Ausgewählten Benutzer werden in der Datenbank hinterlegt:- Benutzername
- Benutzer Benutzerfarbe (Gruppenfarbe)
- Benutzer ID
- Dann kann man das Forum, in welchem der Beitrag erscheinen soll, mittels eines Drop-Down-Menüs (select) auswählen.
- Mit der Sprachauswahl kann man Betreff und Text des Beitrages anlegen. Sollte noch kein Text in der Standard-Sprache des Forums installiert sein, kann man erstmal nur eben diesen anlegen, auch lässt sich die Funktion erst dann aktivieren.
- Der Beitragstext lässt sich genau so formatieren wie mit dem normalen Beitragseditor im Forum.
- Sollte kein Forum ausgewählt worden sein oder ein Benutzername eingegeben werden, der nicht in der Datenbank ist, lässt sich die Funktion nicht aktivieren.
- Im ACP ist eine Übersicht über die vorhandenen Einträge aufgeführt.
- Der Absender ist jetzt auch (sofern korrekt eingestellt) der Beitragsersteller. Hier kann man mittels Benutzerwahl so wie man es auch bei der Option "Benutzer verwalten" im ACP machen kann den Benutzer durch eine Liste Suchen und Einfügen. Dadurch werden folgende Werte für den Benutzer in der Datenbank hinterlegt, welche später für die Bearbeitung des erstellten Willkommensbeitrages benötigt werden. Es ist einfacher, diese Daten einmal im ACP zu erstellen als jedes mal beim Beitrag erstellen abzurufen und zu sortieren, was man benötigt.
- Die PHP-Version wurde auf 7.1 erhöht.
- Die Extension für Toogle Control Kompatibel gemacht
- Diverse weitere Code-Optimierungen.