Automatisches Begrüßungsthema für Neu registrierte Benutzer.

Du suchst eine bestimmte Extension, weißt aber nicht genau wo bzw. ob sie überhaupt existiert? Du kannst hier die von dir gewünschte/gesuchte Extension beschreiben ...
Falls ein Extension-Autor eine der Anfragen hier aufnimmt, um eine neue Extension zu entwickeln, geht's in Extensions in Entwicklung weiter.
Benutzeravatar
chris1278
Mitglied
Beiträge: 3526
Registriert: 12.11.2007 06:20
Wohnort: Euskirchen
Kontaktdaten:

Automatisches Begrüßungsthema für Neu registrierte Benutzer.

Beitrag von chris1278 »

So da ja schon mal das Thema aufgekommen ist, das bei Neu registrierten Benutzer automatisch ein neuer Beitrag als Begrüssung erstellt werden soll habe ich mir mal die Extension hier angeschaut:

[ABD] Welcome Topic/Post Robot

Ich habe die Extension mal durch ein Diagnosetool laufen lassen, welches ich dank freundlicher Hilfe benutzen darf.

Ich konnte die Kompatibilität zu phpbb 3.3.0 herstellen und den Code schon etwas säubern.

Ob ich das als Beta-Version dann öffentlich mache, muss ich schauen. Da sind noch einige Fehler zu beheben.

Aber ich wollte ja schon vorab mal screenshots posten:

Hier im Adminbereich die Einstellungen:

https://prnt.sc/te7xyb


Und hier der erstellte Beitrag nach dem sich ein neuer Benutzer Registriert hat:

https://prnt.sc/te7zam


Ich denke da kann man was mit anfangen. Ich muss, das nur schauen, ob ich das so hinbekomme das die Fehler weg sind und es ohne Probleme funktioniert.

Wenn dann werde ich berichten und es veröffentlichen.
manuel1983
Mitglied
Beiträge: 58
Registriert: 26.05.2018 16:38

Re: Automatisches Begrüßungsthema für Neu registrierte Benutzer.

Beitrag von manuel1983 »

Hallo Chris,
danke erstmal für deine Mühe.

Auf deinen Screenshots sieht man, dass der Post immer noch im Namen des neuen Users verfasst wird. Kannst du das noch ändern? Ist das noch ein Fehler, den du meinst?
Benutzeravatar
chris1278
Mitglied
Beiträge: 3526
Registriert: 12.11.2007 06:20
Wohnort: Euskirchen
Kontaktdaten:

Re: Automatisches Begrüßungsthema für Neu registrierte Benutzer.

Beitrag von chris1278 »

Leider eher nicht. Dazu reichen meine Kenntnisse leider nicht wirklich!

Des Weiteren funktioniert diese Extension leider nur bei Aktivierung direkt. Bei den Methoden Aktivierung durch den Benutzer (E-Mail Aktivierung) und durch den Administrator wird kein Beitrag erstellt. Ich kann, das auch leider nicht ändern dazu reicht mein Wissen nicht. Wer diese Version dennoch haben will, ist recht einfach.

Ladet euch im Startbeitrag die Extension herunter.

Und ersetzt den Inhalt der Datei /conig/service.yml mit folgendem:

Code: Alles auswählen

services:
  alifaraji.welcomerobot.listener:
    arguments:
      - '@config'
      - '@dbal.conn'
      - '@user'
      - '%core.root_path%'
      - '%core.php_ext%'
    class: alifaraji\welcomerobot\event\listener
    tags:
      - name: event.listener

Damit lässt die sich bei phpbb 3.3.0 aktivieren und nutzen.

Wer noch die passende deutsche Sprache haben will, hier auch das gebe ich gern noch dabei:

Erstelle in dem Ordner language den Ordner de und speichere folgenden Inhalt dort als info_acp_welcomerobot.php ab:

Code: Alles auswählen

<?php
/**
*
* @package Welcome Robot
* @copyright eMosbat & (c) 2014 Ali Faraji(Ali@php) <alifaraji.mail@gmail.com> phpbbpersian.ir
* @license GNU General Public License, version 2 (GPL-2.0)
*
*/

if (!defined('IN_PHPBB'))
{
	exit;
}
if (empty($lang) || !is_array($lang))
{
	$lang = array();
}
$lang = array_merge($lang, array(
	'ACP_WELCOMEROBOT_MOD_TITLE'					=> 'Automatisches Begrüßungsthema für Neu registrierte Benutzer.',
	'ACP_WELCOMEROBOT_CONFIG_TITLE'					=> 'Automatisches Begrüßungsthema für Neu registrierte Benutzer.',
	'ACP_WELCOMEROBOT_TITLE'						=> 'Automatisches Begrüßungsthema für Neu registrierte Benutzer.',
	'ACP_WELCOMEROBOT_LEGEND1'						=> 'Einstellungen',
	'ACP_WELCOMEROBOT_CONFIG_ENABLE'				=> 'Extension Aktivieren oder Deaktivieren',
	'ACP_WELCOMEROBOT_CONFIG_FORUM'					=> 'Beitragsforum',
	'ACP_WELCOMEROBOT_CONFIG_FORUM_EXPLAIN'			=> 'Hier kannst du auswählen in Welchem Forum die Willkommens Beiträge eröffnet werden.',
	'ACP_WELCOMEROBOT_CONFIG_USERNAME'				=> 'Abesender des Willkommen Beitrages',
	'ACP_WELCOMEROBOT_CONFIG_USERNAME_EXPLAIN'		=> 'Hier kannst du den Namen des jenigen Eintragen der für die Variable %robot Stehen soll.',
	'ACP_WELCOMEROBOT_CONFIG_TOPICTITLE'			=> 'Titel Des Beitrages',
	'ACP_WELCOMEROBOT_CONFIG_TOPICTITLE_EXPLAIN'	=> 'Hier Kannst du Eintragen Welchen Titel der Beitrag hat. Für diese Extension wäre z.B. Willkommen %user Sinnvoll. ',
	'ACP_WELCOMEROBOT_CONFIG_DETAIL'				=> 'Inhalt des Willkommens Beitrages',
	'ACP_WELCOMEROBOT_CONFIG_DETAIL_EXPLAIN'		=> 'Hier kannst du Reinschreiben was als Willkommensbeitrag gepostet werden soll.<br> <br> Benutze Folgende Variabeln für:<br><br> %user - für den Benutzername<br>%robot - Für den Abesnder des Beitrages<br>%board - Für Forum Titel',
	'ACP_WELCOMEROBOT_SETTINGS'						=> 'Einstellungen',
	'ACP_WELCOMEROBOT_SUCCESS'						=> 'Einstellungen erfolgreich gespeichert.',
	'ACP_WELCOMEROBOT_ERROR'						=> 'Der Benutzername der als Absender Des Beitrages eingetragen ist geht leider nicht.',
	'ACP_WELCOMEROBOT_ERROR2'						=> 'Wähle ein Forum.',
	'ACL_A_WELCOMEROBOT_MOD'						=> 'Kann die Einstellungen für das automatische Begrüßungsthema für neu registrierte Benutzer verwalten',
));

Des Weiteren müsst ihr noch einen kleinen Fehler korrigieren:

Öffne adm/style/acp_welcomerobot.html

Finde dort: {LA_ACP_WELCOMEROBOT_CONFIG_FORUM_EXPLAIN} Hier müsst ihr am Anfang bei dem LA das a entfernen. Das muss dann eigentlich so aussehen: {L_ACP_WELCOMEROBOT_CONFIG_FORUM_EXPLAIN}


Danach sollte das korrekt in Deutsch angezeigt werden. Mehr kann ich leider nicht tun.

Aber bedenkt, die Extension an sich wird so nicht mehr weiterentwickelt. Das heißt, Einsatz ist auf eigene Gefahr.
Benutzeravatar
BNa
Valued Contributor
Beiträge: 3169
Registriert: 12.04.2010 23:51
Kontaktdaten:

Re: Automatisches Begrüßungsthema für Neu registrierte Benutzer.

Beitrag von BNa »

Mein Tip:

- Man sollte einen Begrüßungs-User erstellen, meinetwegen zB. "Begrüßungs-Bot"
- Dann an bestimmter Stelle in der listener.php die exakte User-ID des Begrüßungs-User's hard-coded eingeben.

Dann wird der entsprechende User immer vom Bot begrüßt :wink:
Benutzeravatar
chris1278
Mitglied
Beiträge: 3526
Registriert: 12.11.2007 06:20
Wohnort: Euskirchen
Kontaktdaten:

Re: Automatisches Begrüßungsthema für Neu registrierte Benutzer.

Beitrag von chris1278 »

Ja das wäre schon gut aber man müsste erst mal dafür sorgen, das dies auch bei dem Aktivierung arten email und admin funktioniert. Ein bekanter von mir schaut sich das mal an vieleicht hat er ne lösung.
Benutzeravatar
Mike-on-Tour
Supporter
Supporter
Beiträge: 1063
Registriert: 13.01.2020 21:09
Kontaktdaten:

Re: Automatisches Begrüßungsthema für Neu registrierte Benutzer.

Beitrag von Mike-on-Tour »

Bei Aktivierung per eMail und durch einen Administrator wird der Event core.user_active_flip_after aufgerufen, der bietet sich für so etwas förmlich an. Man muss dann nur auswerten, ob aktiviert oder deaktiviert wird und - wenn eine erneute Begrüßung nach Deaktivierung und erneuter Aktivierung vermieden werden soll - noch, ob in der users Tabelle der Wert user_new true ist. Beispiel siehe hier ab Zeile 60.
Benutzeravatar
BNa
Valued Contributor
Beiträge: 3169
Registriert: 12.04.2010 23:51
Kontaktdaten:

Re: Automatisches Begrüßungsthema für Neu registrierte Benutzer.

Beitrag von BNa »

Ja Mike,
allerdings ist ja der Code bis auf den Schönheitsfleck ok. Ideal wäre, der Bot wird in der Ext (ist dann halt ein zusätzliches Feld) im ACP als User erstellt create_user (sollte dann aber sofort schreiben können > gruppenzuweisung) und die User-ID des Bots landet via sql in der config_table und dadurch automatisch in der Ext this>config['id_greet_bot'], mit der Ausgabe des clearname als Begrüßungs-Poster. Im Grunde nur eine Umschreibung der vorhandenen Ext, weil, wie gesagt, der Rest funktioniert ja.
Benutzeravatar
Mike-on-Tour
Supporter
Supporter
Beiträge: 1063
Registriert: 13.01.2020 21:09
Kontaktdaten:

Re: Automatisches Begrüßungsthema für Neu registrierte Benutzer.

Beitrag von Mike-on-Tour »

Dann hatte ich den Beitrag von Chris falsch verstanden, klang für mich, als wenn diese beiden Aktivierungsmethoden nicht funktionieren würden..
Benutzeravatar
chris1278
Mitglied
Beiträge: 3526
Registriert: 12.11.2007 06:20
Wohnort: Euskirchen
Kontaktdaten:

Re: Automatisches Begrüßungsthema für Neu registrierte Benutzer.

Beitrag von chris1278 »

Also die Extension erstellt einen neuen beitrag so wie im eingangspost auf den bildern zu sehen ist.

Stelle ich unter acp/regestrierung:

Keine Aktivierung - Thema/Beitrag wird erstellt
Durch den Benutzer - Nix passiert
Durch den Administrator - Nix passiert

Heißt, man müsste die Abfrage so einrichten das diese erst mal prüft ob der Benutzer aktiviert ist aber noch nicht eingeloggt und dann erst das senden des topics veranlassen.

Das geht so leider nicht. weil wenn ich das in der listener.php richtig sehe wird dort nur abgefragt ist regestriert und ist noch nicht angemeldet gewesen:


Hier kannst du dir die listener.php der Extension mal anschauen:

pastebin/?mode=view&s=37

Wenn ich das richtig sehe, ist für die abfrage, was ich vermute die Zeile 58 maßgebend.
Benutzeravatar
Mike-on-Tour
Supporter
Supporter
Beiträge: 1063
Registriert: 13.01.2020 21:09
Kontaktdaten:

Re: Automatisches Begrüßungsthema für Neu registrierte Benutzer.

Beitrag von Mike-on-Tour »

Ja, das sehe ich auch so, die Funktion ab Zeile 58 wird durch den Event core.user_setup aufgerufen. Was mich verwundert, ist die Variable $this->user->data['is_registered'], die dort abgefragt wird, die stammt nämlich im Gegensatz zur zweiten abgefragten Variable $this->user->data['user_lastvisit'] nicht aus der Datenbank, deshalb bin ich nicht sicher, ob die für alle Fälle passt. Letztere ist 'Null', solange der Nutzer noch nicht eingeloggt war und wird am Ende der ersten Session auf diesen Zeitpunkt gesetzt (also beim Ausloggen, aber das übernimmt diese Funktion schon mal vorab).

Ich würde deshalb die von mir vorgeschlagenen Events benutzen, plus core.ucp_register_register_after für den Fall, dass die Registrierung ohne Aktivierung eingeschaltet ist.
Antworten

Zurück zu „Extension Suche/Anfrage“