[3.3] Quick Activation in Profile

In diesem Forum können Extension-Autoren ihre Extensions vorstellen, die sich noch im Entwicklungsstatus befinden. Der Einbau in Foren im produktiven Betrieb wird nicht empfohlen.
Joe Kolade
Mitglied
Beiträge: 323
Registriert: 27.02.2023 19:59

[3.3] Quick Activation in Profile

Beitrag von Joe Kolade »

Name der Extension: Quick Activation in Profile

Autoren: Moe / Joe Kolade

Version: 1.1.0

Sprachen: de, de_x_sie; en, es, fr, it, nl

Beschreibung:
Diese Extension ermöglicht es, neu registrierte Benutzer direkt in ihrem Benutzerprofil zu aktivieren. Die Aktivierung über die Benutzerverwaltung kann dadurch entfallen.
Mit Version 1.1.0 können Administratoren außerdem aktive Benutzer direkt aus deren Profil deaktivieren, manuell deaktivierte Benutzer wieder aktivieren und Benutzer, die noch keine Beiträge erstellt haben, direkt löschen.
Das erweiterte Benutzerprofil zeigt Administratoren zur direkten Kontrolle außerdem die E-Mail-Adresse, die Website-Adresse und die IP-Adresse des Benutzers an.

Hat man im Administrations-Bereich (ACP) unter Allgemein > Registrierung > Benutzerkonto-Aktivierung festgelegt, dass eine Aktivierung "Durch einen Administrator" erfolgen muss, wird (im Regelfall) nach Benachrichtigung per E-Mail (und PN) der neue Benutzer in der Benutzer-Verwaltung aktiviert, soweit man das Benutzerkonto nicht direkt aktiviert.
Der Weg dahin führt vom Profil des Benutzers über den Link "Benutzer administrieren" zur Benutzer-Verwaltung und hier über die "Schnellauswahl" unter den "Standard-Funktionen" zum Eintrag "Benutzer aktivieren".
Die Extension Quick Activation in Profile verkürzt dieses Prozedere wie eingangs beschrieben.

Hinweis:
Die Erweiterung wurde bisher nur auf der eigenen phpBB-Installation getestet.
Die Einträge bzw. Links "Benutzer aktivieren", "Benutzer deaktivieren" und "Benutzer löschen" im Benutzerprofil sollten nur Administratoren (und Gründern) angezeigt werden und natürlich auch nur für den Fall, dass der Benutzer aktiviert bzw. deaktiviert oder gelöscht werden kann.

Screenshots:
Erweitertes Benutzerprofil (noch nicht aktivierter Benutzer)
Erweitertes Benutzerprofil

Voraussetzungen:
phpBB >=v3.3.0
php >= v7.2

Download:
https://github.com/modul-i/phpBB-Quick- ... e/releases

Installation:
Die Extension nach `phpBB3/ext/moemorox/qaip` kopieren. Anschließend im Administrations-Bereich (ACP) > „Anpassen“ > „Erweiterungen verwalten“ die Extension „Quick activation in profile“ aktivieren.

Aktualisierung:
Im Administrations-Bereich (ACP) zu „Anpassen“ > „Erweiterungen verwalten“ navigieren. Bei „Quick activation in profile“ auf „Deaktivieren“ klicken.
Nach dem Löschen des Ordners `qaip` aus `phpBB3/ext/moemorox/` die aktualisierte Extension nach `phpBB3/ext/moemorox/qaip` kopieren.
Anschließend im Administrations-Bereich (ACP) > „Anpassen“ > „Erweiterungen verwalten“ die Extension „Quick activation in profile“ aktivieren.

Deinstallation:
Im Administrations-Bereich (ACP) zu „Anpassen“ > „Erweiterungen verwalten“ navigieren. Bei „Quick activation in profile“ auf „Deaktivieren“ klicken.
Für eine vollständige Deinstallation anschließend auf „Arbeitsdaten löschen“ klicken und danach den Ordner `qaip` aus `phpBB3/ext/moemorox/` löschen.

Changelog:
v1.1.0 (07-09-2026)
- Added activation, deactivation and deletion of users directly from their profiles.
- Added permission checks for profile user-management actions.
- Added confirmation pages and return links after profile actions.
- Validated profile website URLs before rendering them as links. (Thanks to bonelifer)
v1.0.3 (23-04-2025)
- Optimised performance (Thanks to IMC)
- Fixed bug showing "Info area for administrators"-h3 to non-admin users
v1.0.2 (19-04-2025)
- Code changes
- Optimised templates
- New language files
v1.0.1 (16-04-2025)
- Code changes
- Optimised template
v1.0.0 (01-04-2025)
Zuletzt geändert von Joe Kolade am 07.09.2026 21:27, insgesamt 8-mal geändert.
Benutzeravatar
LukeWCS
Supporter
Supporter
Beiträge: 3820
Registriert: 15.12.2014 10:19

Re: [3.3] Quick Activation in Profile

Beitrag von LukeWCS »

Joe, als kleiner Tipp aus eigener Erfahrung als ich mit phpBB Exts als Endbenutzer zum ersten Mal (10 Jahre her) zu tun hatte:

Bei den ZIPs die GitHub selber erstellt, wird die Ordnerstruktur nochmal in einen separaten Ordner gepackt (in dem Fall phpBB-Quick-Activation-in-Profile-1.0.0), was manche Admins (primär neue) irritieren kann und diese dann genau die im ZIP enthaltene Struktur nach ext/ hochladen und sich dann wundern, warum die Ext in phpBB nicht angezeigt wird.

Es empfiehlt sich also ein eigenes Release ZIP mit einer Ordnerstruktur nach CDB Standard zu erstellen und dem Release hinzuzufügen:

autor_name/ext_name/...

Beispiele von hier mit eigenen Release ZIPs nach CDB Standard:
https://github.com/Mike-on-Tour/userreminder/releases
https://github.com/IMC-GER/phpBB-Current-Time/releases
https://github.com/LukeWCS/ext-mgr-plus/releases

Dadurch kommen Admins besser klar mit der Installation und ihr müsst nicht ggf. Support-Fragen bezüglich Installationspfad bearbeiten.

Die gezeigten Beispiele nutzen bei der Bennenung des ZIPs folgendes Muster, was sich bewährt hat:

{autor-name}_{ext-name}_{ext-version}.zip

Hier sind also sofort erkennbar: der Ext-Autor, der technische Ext-Name, die Ext-Version. Das ist auch beim Archivieren hilfreich.
Möge das Backup mit dir sein. Immer.
Kein Support via PN! Siehe den Punkt "Private Nachrichten" im phpBB.de-Knigge.
Erweiterungen - Infos zur artgerechten Haltung / phpBB Ext Check - Analyse von Erweiterungen
Joe Kolade
Mitglied
Beiträge: 323
Registriert: 27.02.2023 19:59

Re: [3.3] Quick Activation in Profile

Beitrag von Joe Kolade »

Danke für den Hinweis! Jetzt steht auch die Release-Datei phpbb-Quick-activation-in-profile_v100.zip zum Download bereit.

Über ein Feedback würde ich mich sehr freuen ;-)
Benutzeravatar
IMC
Mitglied
Beiträge: 1013
Registriert: 25.11.2018 20:32
Wohnort: Lüneburg
Kontaktdaten:

Re: [3.3] Quick Activation in Profile

Beitrag von IMC »

Hi Joe,

Gratulation zu deiner ersten Extension. :thumbsup: Da meine erste Extension noch nicht solange her ist weis ich noch genau was es für ein Krampf sein kann sich die richtigen Stellen im phpBB-Code heraus zu suchen um sich dort einzuklinken oder Daten zu übernehmen.

Ich habe auch nur zwei kleinen lese Hinweise:
1. Coding Guidelines
2. [Tutorial] Convert to Twig Syntax

Durch die einheitliche Code-Guideline ist es etwas einfacher sich auch in fremden Codes schnell zurechtzufinden.

Dann ist mir noch aufgefallen in der deutschen Sprachdatei und der ext.php die Zeilen mit einem CR LF enden. Das kann passieren wenn man zwischendurch einen anderen Editor verwendet.

Wenn du deine .editorconfig in dem übergeordneten Verzeichnis von deinem Verzeichnis, in denen du deine Codes bearbeitest speicherst, übernimmt z.B. Notepad++ die Einstellungen und macht in Zukunft alles richtig was mit TABS, Linefeeds und whitespaces zu tun hat.

Und jetzt noch ein dickes Lob zu deiner Extension und Danke das du diese mit uns geteilt hast.
Gruß, Thorsten

Meine Extensions
Benutzeravatar
chris1278
Mitglied
Beiträge: 4281
Registriert: 12.11.2007 06:20
Wohnort: Euskirchen
Kontaktdaten:

Re: [3.3] Quick Activation in Profile

Beitrag von chris1278 »

Hier noch eine kleine Ergänzung bezüglih editorconfig

https://www.phpbb.de/kb/viewarticle?a=93
Benutzeravatar
LukeWCS
Supporter
Supporter
Beiträge: 3820
Registriert: 15.12.2014 10:19

Re: [3.3] Quick Activation in Profile

Beitrag von LukeWCS »

Hallo Joe

...und willkommen Kollege. :)
Joe Kolade hat geschrieben: 13.04.2025 20:18 Über ein Feedback würde ich mich sehr freuen
Bekommst du auch von mir, in Form von technischem Feedback, sprich; unter die Haube geschaut.

Programmier-Richtlinien:

Wie Thorsten bereits erwähnt und Lesestoff dazu verlinkt hat, gibt es bei phpBB Richtlinien bezüglich Code-Stil. Das ist für euch zwar keine Pflicht, solange ihr nicht eine offzielle Validierung in Betracht zieht, aber denoch höchst empfehlenswert wenn ihr euch freiwillig daran haltet, weil: Die meisten Ext Entwickler hier sind an diese Richtlinien gewöhnt und richten sich danach, was den Vorteil hat, dass Kollegen die man mal nach Hilfe frägt, sich nicht erst an einen fremden, individuellen Code-Stil gewöhnen müssen. Und spätestens wenn man eine Validierung in Betracht zieht, wird das ohnehin zur Pflicht.

Um die Berücksichtigung von Code-Richtlinien und Ext-Vorgaben zu erleichtern, betreibe ich seit 2019 den Dienst "phpBB Ext Check" für Ext Entwickler, der zum einen mit den offiziellen phpBB.com Analysetools arbeitet, als auch weitere zusätzliche Analysetools bietet, die sowohl bei der Berücksichtigung von Kompatibilität als auch Optimierung behilflich sein können. Wenn gewünscht, kann ich euch eimalig einen solchen Bericht zur Verfügung stellen; die Ext hat aktuell ein paar Probleme bezüglich Vorgaben und etliche Verstösse gegen die Richtlinien. Aufgrund dem was ich im Code von 1.0.0 sehe, schätze ich euch so ein, das ihr einen solchen Bericht auswerten und bewerten könnt, da hierfür solide Kenntnisse auf mehreren Gebieten nötig sind, primär PHP. Wenn ihr mit dem Bericht klarkommt und zukünftig selber einen solchen erstellt haben wollt, kann ich euch Zugang dafür geben, die Vorrausetzungen dafür sind erfüllt.

.editorconfig

Bitte seid so gut, und verwendet den original Autoren-Block dieser Datei, da diese von phpBB.de stammt. Den Link mit allen Details hat chris1278 ja schon gepostet, dort gibts auch die Original-Datei. Dann können andere sehen, woher diese Datei stammt und haben auch gleich einen Link zu dem KB Artikel bei uns mit allen Details zu dieser Datei.

memberlist_view_contact_custom_fields_after.html

Code: Alles auswählen

<!-- IF USER_REAL_EMAIL -->
<dt>&nbsp;</dt>
<dt>{L_EMAIL_ADDRESS}{L_COLON}</dt><dd>({L_ONLY_VISIBLE_FOR_ADMINS})<br />{USER_REAL_EMAIL}</dd>
<!-- ENDIF -->
<!-- IF USER_WEBSITE_RAW -->
<dt>{L_WEBSITE}{L_COLON}</dt>
<dd><a href="{USER_WEBSITE_RAW}" target="_blank" rel="nofollow noopener">{USER_WEBSITE_RAW}</a></dd>
<!-- ENDIF -->
<!-- IF USER_IP -->
<dt>{L_LAST_IP}:</dt>
<dd><a href="{USER_IP_URL}" target="_blank" rel="noopener">{USER_IP}</a></dd>
<!-- ENDIF -->
<!-- IF USER_REAL_EMAIL or USER_WEBSITE_RAW or USER_IP -->
<dt>&nbsp;</dt>
<!-- ENDIF -->
Zum einen sollte man es vermeiden, diese alte phpBB Template Syntax zu nutzen, denn die ist bereits seit phpBB 3.1.0 als veraltet eingestuft und wurde auch aus dem phpBB Core entfernt. Die funktioniert heutzutage nur noch deswegen, weil diese Syntax von phpBB im Hintergrund automatisch nach Twig konvertiert wird. Also möglichst nur noch Twig nutzen, das ist ohnehin der alten Syntax um ein vielfaches überlegen und sehr mächtig. Vieles was man früher nur in PHP realisieren konnte, ist heute problemlos direkt im Template machbar.

Zum anderen sollte der Sourcecode stets gut lesbar sein und das schliesst auch passende Einrückungen im Template mit ein. Wenn man dabei die Qual der Wahl hat zwischen einem sauberen Sourcecode und einem sauberen HTML-Output, dann hat der Sourcecode stets Vorrang. Sourcecode muss von Menschen gelesen werden können, HTML-Output nicht. :wink: Das HTML dient dem Browser ohnehin nur als Bauplan für das DOM Objekt und deshalb sind sämtliche "Schön-Formatierungen" wie Leerzeilen, Einrückungen usw. irrelevant, weil diese beim Parsen ohnehin entfernt werden. Das heisst: HTML-Output muss nicht schön aussehen, er muss nur fehlerfrei sein.

Besser lesbar:

Code: Alles auswählen

<!-- IF USER_REAL_EMAIL -->
	<dt>&nbsp;</dt>
	<dt>{L_EMAIL_ADDRESS}{L_COLON}</dt><dd>({L_ONLY_VISIBLE_FOR_ADMINS})<br />{USER_REAL_EMAIL}</dd>
<!-- ENDIF -->
<!-- IF USER_WEBSITE_RAW -->
	<dt>{L_WEBSITE}{L_COLON}</dt>
	<dd><a href="{USER_WEBSITE_RAW}" target="_blank" rel="nofollow noopener">{USER_WEBSITE_RAW}</a></dd>
<!-- ENDIF -->
<!-- IF USER_IP -->
	<dt>{L_LAST_IP}:</dt>
	<dd><a href="{USER_IP_URL}" target="_blank" rel="noopener">{USER_IP}</a></dd>
<!-- ENDIF -->
<!-- IF USER_REAL_EMAIL or USER_WEBSITE_RAW or USER_IP -->
	<dt>&nbsp;</dt>
<!-- ENDIF -->
Möge das Backup mit dir sein. Immer.
Kein Support via PN! Siehe den Punkt "Private Nachrichten" im phpBB.de-Knigge.
Erweiterungen - Infos zur artgerechten Haltung / phpBB Ext Check - Analyse von Erweiterungen
Joe Kolade
Mitglied
Beiträge: 323
Registriert: 27.02.2023 19:59

Re: [3.3] Quick Activation in Profile

Beitrag von Joe Kolade »

Herzlichen Dank an IMC, chris1278 und LukeWCS für Eure Rückmeldungen und Hinweise.

Ich (respektive mein Sohn) sehe/sieht schon, dass da ggf. noch einiges zu beachten und auch zu lernen ist.

Bevor wir uns aber eingehender mit der Überarbeitung des Codes beschäftigen, wäre ein profundes Feedback zum Nutzen der Erweiterung selbst wichtig und hilfreich.
Für die Betreuung des von mir betriebenen Forums ist es in jedem Fall eine Erleichterung, insbesondere auch was die Freigabe neuer bzw. inaktiver Mitglieder angeht. Die meisten Neuanmeldungen bearbeite ich via Smartphone und gerade hier ist es sehr komfortabel, direkt über das aufgerufene Benutzerprofil alle relevanten Infos (auch die IP-Adresse) kontrollieren und dann direkt den Benutzer aktivieren zu können.

Für mich ist es also sehr praktikabel und in der jetzigen Version (vorerst) ausreichend.
Sollte es mehrere Interessierte geben, die diese Extension gut und nützlich finden, kann ich mir auch vorstellen, an dem "Projekt" weiterzuarbeiten.

Mit besten Grüßen, Joe
Benutzeravatar
IMC
Mitglied
Beiträge: 1013
Registriert: 25.11.2018 20:32
Wohnort: Lüneburg
Kontaktdaten:

Re: [3.3] Quick Activation in Profile

Beitrag von IMC »

Joe Kolade hat geschrieben: 14.04.2025 18:05... wäre ein profundes Feedback zum Nutzen der Erweiterung selbst wichtig und hilfreich.
Ich kann mir sehr gut vorstellen das diese Extension von vielen Admins genutzt werden wird. Mit ein paar kleinen Anpassungen werde ich diese bei mir auch testen.
Joe Kolade hat geschrieben: 14.04.2025 18:05... kann ich mir auch vorstellen, an dem "Projekt" weiterzuarbeiten.
Wenn du an deiner Extension weiter machst, solltest du auf spezielle Datenbankabfragen verzichten. Diese werden meist nicht von allen, von phpBB unterstützten Datenbanken, unterstützt. Im besonderen meine ich:

Code: Alles auswählen

$sql = "SHOW COLUMNS FROM " . PROFILE_FIELDS_DATA_TABLE . " LIKE 'pf_phpbb_website'";
Besser ist es in diesem Fall aus der phpBB Klasse db tools diese Methode zu nutzen
bool sql_column_exists(string $table_name, string $column_name) (Beschreibung).
Gruß, Thorsten

Meine Extensions
Benutzeravatar
Dref
Mitglied
Beiträge: 153
Registriert: 13.01.2022 15:36
Wohnort: Le Lude - Pays de la Loire, France
Kontaktdaten:

Re: [3.3] Quick Activation in Profile

Beitrag von Dref »

Sehr nützliche Erweiterung, danke.
Ich würde die Möglichkeit hinzufügen, das Konto direkt unter der IP-Adresse abzulehnen
Joe Kolade
Mitglied
Beiträge: 323
Registriert: 27.02.2023 19:59

Re: [3.3] Quick Activation in Profile

Beitrag von Joe Kolade »

Danke! Kannst Du etwas konkretisieren, was mit "Konto direkt unter der IP-Adresse ablehnen" gemeint ist?
Antworten

Zurück zu „Extensions in Entwicklung“