Willkommen im neuen Forum von concrete5.de.
Die Anmeldung ist ab dem 15.10.2020 nur noch mit E-Mail Adresse und Passwort möglich. Eine Anmeldung mit Benutzername ist nicht mehr möglich.

Diese Nachricht löschen.
Anhang entfernen?
Zurück zur Themenliste
S
scharfe 0.png 25.01.2011 17:52

Email an Admin bei neu registrierten User

Es gibt einige Beschreibungen im Forum concrete5.org, die bei mir immer wieder Fehler verursachten. Aus allen Threads nun hier eine deutschsprachige Zusammenfassung:

[size=large]Email an Admin bei neu registrierten User[/size]
Wenn sich neue Mitglieder registrieren und man es so eingestellt hat, dass der Admin diesen Account freischalten muss, ist es hilfreich, wenn der Admin eine Benachrichtigung bekommt. Leider ist dies noch nicht Standard in Concrete5. Deshalb hier ein Tutorial:

1. Erstelle eine neue PHP-Datei site_events.php im Ordner /config
[php]<?php
Events::extend('on_user_add', /* event */
'ApplicationUser', /* class */
'setupUserJoinInfo', /* method */
'models/application_user.php');
?>[/php]

2. Erstelle eine neue PHP-Datei notify_new_user_added.php im Ordner /mail
[php]<?php
defined('C5_EXECUTE') or die("Access Denied.");
$subject = SITE . " - Benachrichtigung: Neues Mitglied registriert";
$body = t("Hallo Administrator,
ein neues Mitglied hat sich bei deiner Seite registriert.

Benutzername: %s
Emailaddresse: %s

", $_POST['uName'], $_POST['uEmail'], $_POST['uPassword']);
$body .= t("Das Konto wurde der Gruppe NEU REGISTRIERT zugeordnet.
Hier kannst du dieses Konto direkt verwalten und freischalten:
%s", BASE_URL . View::url('/dashboard/users/search?uID=' . $uID));[/php]
Hinweis: Hier kein schließendes PHP Tag, also kein ?> (Warum? Dazu konnte ich unter concrete5.org auch nichts finden)

3. Erstelle eine neue Datei application_user.php im Ordner /models
(in diesem Quellcode die Empfänger-Email hier: info@meine-domain.de anpassen):
[php]<?php
class ApplicationUser extends Object {
public function setupUserJoinInfo($ui)
{
Loader::model('groups');
$u = $ui->getUserObject();

// add new user to groups
$g1 = Group::getByName('Neu registriert');
if (is_object($g1)) {
$u->enterGroup($g1);
}

// Notify admin that new user added
$adminUserInfo=UserInfo::getByEmail("info@meine-domain.de");
$adminEmailAddress = $adminUserInfo->getUserEmail();

$mh = Loader::helper('mail');
$mh->addParameter('userName', $ui->getUserName());
$mh->addParameter('uPassword', $ui->uPassword);
$mh->addParameter('uID', $ui->uID);
$mh->to($adminEmailAddress);
$mh->load('notify_new_user_added');
$mh->sendMail();
}
}
[/php]
Hinweis: Auch hier kein schließendes PHP Tag, also kein ?>

4. Dateien hochladen. Diese befinden sich dann nicht im /concrete - Ordner, somit sollte es beim Concrete5-Update kein Problem geben.

5. In der Concrete5 Verwaltung unter Benutzer > Gruppen eine Gruppe "Neu registriert" anlegen. Hier werden diese neuen Mitglieder dann automatisch zugeordnet. Eine Anpassung (unter Nr. 3 und im Emailtext unter Nr. 2) ermöglicht natürlich auch eine Zuordnung in einen anderen Gruppenordner.

So, nun ist der Admin immer auf dem Laufenden :-)

Nachricht hinzufügen