Benachrichtigung wenn User sich löscht

Allgemeiner Support zum phpBB 2 Board und phpBB 2 Modifikationen
Forumsregeln
Auch wenn hier der Support für phpBB 2 weiterhin aufrecht erhalten bleibt, weisen wir darauf hin, dass das phpBB 2 nicht mehr offiziell unterstützt und weiterentwickelt wird!
Antworten
Benutzeravatar
beedy
Beiträge: 33
Registriert: Mo 03.Apr, 2006 19:07
Wohnort: Berlin
Kontaktdaten:

Benachrichtigung wenn User sich löscht

Beitrag von beedy »

Hallo ihrs! ;)

Ich bin gerade dran, das Snippet im Anhang etwas zu editieren, komme aber nicht weiter!?!

Das Snippet erlaubt Usern, sich über einen Button im Profil, den Account zu löschen.

Soweit funktioniert das auch.

Was ich aber jetzt noch gerne mit verbaut hätte, das einer der Admins (Hauptadmin: User_id 2) eine Email bekommt, das sich user xy gerade gelöscht hat.

Ich kriegs nich hin, krieg schon Bauchschmerzen, ¢¦


Ich könnte mir vorstellen, die Benachrichtigung etwa hier einzubauen:
if( $error == TRUE )
{
message_die(GENERAL_MESSAGE, "Error deleting your account.");
}
else
{
message_die(GENERAL_MESSAGE, "Your account deleted.");
<<<<<<Hier kommt die Benachrichtigung vielleicht hinein>>>>>>>>
}
}
else
{
$message = $lang['Profile_updated'] . '<br /><br />' . sprintf($lang['Click_return_index'], '<a href="' . append_sid("index.$phpEx") . '">', '</a>');
message_die(GENERAL_MESSAGE, $message);
}

Könnte mir da vielleicht jemand helfen?


Vielen Dank im Voraus!


Gruß!

beedy
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Naja, nicht nach, sondern als Ersatz für die Zeile

Code: Alles auswählen

            message_die(GENERAL_MESSAGE, "Your account deleted.");
muss die Email-Benachrichtigung eingetragen werden.
Sonst ist das Script ja mit message_die bereits beendet und es wird nichts weiter ausgeführt.

Die Benachrichtigung kann z. B. aus beinahe jedem anderen Script genommen werden.
Z. B. wäre das

Code: Alles auswählen

$subject = ''; // Hier den Titel der Email eintragen
$message = ''; // Hier den Text der Nachricht eintragen. Kann auch irgendwie/-wo den Usernamen enthalten

include($phpbb_root_path . 'includes/emailer.'.$phpEx);

//
// Let's do some checking to make sure that mass mail functions
// are working in win32 versions of php.
//
if ( preg_match('/[c-z]:\\\.*/i', getenv('PATH')) && !$board_config['smtp_delivery'])
{
	$ini_val = ( @phpversion() >= '4.0.0' ) ? 'ini_get' : 'get_cfg_var';

	// We are running on windows, force delivery to use our smtp functions
	// since php's are broken by default
	$board_config['smtp_delivery'] = 1;
	$board_config['smtp_host'] = @$ini_val('SMTP');
}

$emailer = new emailer($board_config['smtp_delivery']);

$emailer->from($board_config['board_email']);
$emailer->replyto($board_config['board_email']);

$email_headers = 'X-AntiAbuse: Board servername - ' . $board_config['server_name'] . "\n";
$email_headers .= 'X-AntiAbuse: User_id - ' . $userdata['user_id'] . "\n";
$email_headers .= 'X-AntiAbuse: Username - ' . $userdata['username'] . "\n";
$email_headers .= 'X-AntiAbuse: User IP - ' . decode_ip($user_ip) . "\n";

$emailer->use_template('admin_send_email');
$emailer->email_address($board_config['board_email']);
$emailer->set_subject($subject);
$emailer->extra_headers($email_headers);

$emailer->assign_vars(array(
	'SITENAME' => $board_config['sitename'], 
	'BOARD_EMAIL' => $board_config['board_email'], 
	'MESSAGE' => $message)
);
$emailer->send();
$emailer->reset();
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
beedy
Beiträge: 33
Registriert: Mo 03.Apr, 2006 19:07
Wohnort: Berlin
Kontaktdaten:

Beitrag von beedy »

Hmmm, ich hab das jetzt mal so versucht und als Titel und Betreff etwas eingegeben und den Code anstatt der Zeile eingefügt, muß ich da noch mehr anpassen?

Wenn sich jetzt ein User löscht, bekommt er generell die Fehlermeldung:

"Fehler bei der Löschung deines Accounts."

Der User ist trotzdem gelöscht, aber eine Email kommt nicht... :(


Anbei mal meine profile.php


Gruß!

beedy

[ Attachment gelöscht am Di 06.März, 2007 22:39 von oxpus ]
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Ist ja auch kein Wunder:
Der Account wird gelöscht, aber bei den anderen User-Daten fällt das Script auf die Nase und hält dann mit der weiteren Verarbeitung an, also auch kein Email.
Nimm mal die angehangene profile.php.
Die zeigt dann (hoffentlich) die Stelle, an der das Script einen Fehler hat.
Und dann kann man dem gezielt nachgehen...

[ Attachment gelöscht am Di 06.März, 2007 22:44 von oxpus ]
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
beedy
Beiträge: 33
Registriert: Mo 03.Apr, 2006 19:07
Wohnort: Berlin
Kontaktdaten:

Beitrag von beedy »

Juhuuu, dank dir gibts schonmal einen Teilerfolg! :)

Nun kommt schonmal eine Bestätigung per Email und wenn ich den Account lösche, bekomme ich folgenden Hinweis:
Fehler bei der Löschung deines Accounts:

Fehler beim Löschen der Benutzergruppe des Users

Reicht es da aus, wenn ich den Text in der profile.php anpasse mit dem Text den ich möchte?


Zweite Frage:

Wenn ich in diesen Text

Code: Alles auswählen

    $message = 'Der User xy hat gerade seinen Account gelöscht'; 

noch den Usernamen reinbekommen möchte, der sich gerade gelöscht hat, wie stell ich das an?


Es wird bestimmt irgendwas mit "$userdata['username']" sein, oder denke ich da falsch?



Schonmal herzlichen Dank bis hier her!


Gruß!

beedy
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Code: Alles auswählen

$message = 'Der User '.$userdata['username'].' hat gerade seinen Account gelöscht';
Soweit lagst Du schon einmal richtig.

Und mit der angehängten profile.php sollte das Löschen auch endlich fehlerfrei klappen:
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
beedy
Beiträge: 33
Registriert: Mo 03.Apr, 2006 19:07
Wohnort: Berlin
Kontaktdaten:

Beitrag von beedy »

Wuuussaaaa, klappt! :)

Wiedermal herzlichen Dank für deine Hilfe!


Gruß!

beedy
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Keine Ursache.
Freut mich immer wieder, wenn ich helfen konnte, sofern ich das wirklich konnte...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
beedy
Beiträge: 33
Registriert: Mo 03.Apr, 2006 19:07
Wohnort: Berlin
Kontaktdaten:

Beitrag von beedy »

?
Natürlich konntest du helfen, alleine hätte ich noch ein paar Schaltjahre gebraucht, bis ich das hinbekommen hätte! :eek:


Gruß!

beedy
Antworten