09.08.2008, 15:56 (Dieser Beitrag wurde zuletzt bearbeitet: 09.08.2008, 16:17 von Falke.)
Hi Leutz,
das Plugin "E-Mail-Benachrichtigung bei Registrierung" hab ich mit der Folgenden Anleitung unter 1.4 hinbekommen: http://community.mybboard.net/thread-24122.html (wenn gewünscht, lad ich die aktuallisierte Version hier hoch)
<?php /* Plugin "E-Mail an Benutzer nach Aktivierung 1.1" (c) 2007 by A&A-Anglerforum (Wassermann) Website: http://www.aa-anglerforum.de PlugIn geschrieben für MyBBoard Version 1.2.x (getestet mit V1.2.7) Dieses PlugIn darf, auf eigene Gefahr und ohne jegliche Gewährleistung unsererseits, benutzt und verbreitet werden. */
// MyBB-Hooks, an denen das PlugIn ausgeführt werden soll $plugins->add_hook("member_activate_accountactivated", "member_activation_mail_user"); // bei Aktivierung durch User $plugins->add_hook("admin_users_activate", "member_activation_mail_admin"); // bei Aktivierung durch Admin
// Infos für den MyBB-Plugin-Manager function member_activation_mail_info() { return array( "name" => "E-Mail an Benutzer nach Aktivierung", "description" => "Sendet einem Benutzer nach erfolgreicher Aktivierung eine E-Mail mit wählbarem Text.<br /><small>In Betreff und E-Mail dürfen auch Platzhalter verwendet werden.</small>", "website" => "http://forum.aa-anglerforum.de", "author" => "A&A-Anglerforum (Wassermann)", "authorsite" => "http://www.aa-anglerforum.de", "version" => "1.1", ); }
// Aktivierung des PlugIns function member_activation_mail_activate() { global $db;
// Einstellungsgruppe ins ACP hinzufügen $activation_mail_group = array( "gid" => "NULL", "name" => "E-Mail an Benutzer nach Aktivierung", "title" => "E-Mail an Benutzer nach Aktivierung", "description" => "", "disporder" => "1", "isdefault" => "no", ); $db->insert_query("settinggroups", $activation_mail_group); $gid = $db->insert_id();
// Deaktivierung des PlugIns function member_activation_mail_deactivate() { global $db;
// Einstellungsgruppen löschen $query = $db->query("SELECT gid FROM ".TABLE_PREFIX."settinggroups WHERE name='E-Mail an Benutzer nach Aktivierung'"); $g = $db->fetch_array($query); $db->query("DELETE FROM ".TABLE_PREFIX."settinggroups WHERE gid='".$g['gid']."'");
// Einstellungen löschen $db->query("DELETE FROM ".TABLE_PREFIX."settings WHERE gid='".$g['gid']."'");
// Mail wird versendet my_mail("".$emaildata['email']."", "".$betreff."", "".$mailtext."");
}
// Einstellungen aktualisieren if(!function_exists("rebuild_settings")) { function rebuild_settings() { global $db; $query = $db->query("SELECT * FROM ".TABLE_PREFIX."settings ORDER BY title ASC"); while($setting = $db->fetch_array($query)) { $setting['value'] = addslashes($setting['value']); $settings .= "\$settings['".$setting['name']."'] = \"".$setting['value']."\";\n"; } $settings = "<?php\n/*********************************\ \n DO NOT EDIT THIS FILE, PLEASE USE\n THE SETTINGS EDITOR\n\*********************************/\n\n$settings\n?>"; $file = fopen(MYBB_ROOT."/inc/settings.php", "w"); fwrite($file, $settings); fclose($file); } } ?>
Danke schonmal für eure Hilfe!
Gruß
Falke
EDIT: es kommen keine Fehlermeldungen, nur die Mail wird nicht versendet...
Nochmal EDIT: es geht um die aktuelle Foren - Version 1.4 .... glaub das Posting müsste verschoben werden, sorry!
ich habe das Plugin geschrieben. Ich bin auch gerade am Umschreiben für die 1.4er. Ich habe es in etwas so, wie du oben. Ich bin mir nicht ganz sicher, ob beide Hooks noch existieren, speziell "admin_users_activate"...
Falls jemand mehr weiß, würde ich mich natürlich auch über eine Info freuen. Soviel dürfte am Plugin eigentlich nicht falsch sein...
Im Anhang mal der aktuelle Stand meines Aktualisierungsversuches. Ich habe mich jetzt erst einmal auf den Fall beschränkt, dass der User sich selbst aktiviert. Hier stimmt der Hook auf jeden Fall noch. Die Funktion "member_activation_mail_user()" wird auch aufgerufen. So sieht die Funktion aus:
PHP-Code:
// Aktivierung durch User function member_activation_mail_user() { global $mybb;
if ($mybb->settings['activmail_onoff'] != 0) { $act_uid = intval($mybb->user['uid']);
member_activation_mail($act_uid); } }
In dieser Funktion soll mittels
PHP-Code:
$act_uid = intval($mybb->user['uid']);
die User-ID des Users ermittelt werden, der sich gerade selbst aktiviert hat.
Genau an dieser Stelle ist der Haken. Die Ermittlung der User-ID durch diese Zeile funktioniert nicht. Da hat sich etwas von MyBB 1.2 zu MyBB 1.4 verändert. Ich habe testweise einmal eine bekannte User-ID "hardkodiert" eingesetzt, mit dem Ergebnis, dass die Mail an diesen User zugestellt wurde.
Falls jemand also weiß, wie man die aktuelle User-ID des Users ermittelt, der sich gerade aktiviert, dann wäre es nett, wenn er es nicht für sich behält
meine aktuelle Übergangslösung (zu Mail an Benutzer nach Aktivierung) ist nicht besonders kreativ, aber einfacher, als die Mails "per Hand" zu tippen:
hab ein Kontaktformular angepasst... man muss nur Nick und Mailadresse rüberkopieren & fertsch:
den folgenden Code z.B. unter account_aktiv.php speichern...
PHP-Code:
<Html> <head> <title>Account wurde Aktiviert</title> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"> </head> <body style="background-color:#ADADAD;"> <!--Inhalt der Seite:-->
if ($flag==1) //Wenn das Fromular ausgefüllt wurde. { //Die Eingaben prüfen if(!$namer){$fehler="Bitte Namen eingeben<br>";} if(check_email($email) & $email!="") {$fehler.="Emailadresse ist ungültig<br>";} if(!$email) {$fehler.="Bitte die Emailadresse eingeben<br>";}
if($fehler) //Bei Fehlern, Meldung ausgeben { $meldung="<b>" .$fehler. "</b>"; unset($flag); echo "<font color='red'><br> " .$meldung. "</font>"; } else //Wenn es keine Fehler gibt kann ja gemailt werden. { $text="Hallo $namer, dein Account wurde freigeschalten.
Wir wünschen dir viel Spass in unserem Forum!
Gruß Forenteam ";
//Nun kann gemailt werden mail ($email, "Forum: Account aktiviert", $text, "From:Forum - No-Reply"); echo "<br>Die Mail wurde gesendet."; } }
</form> <?php } ?> </TD> </TR> </TABLE></div> <hr> <h2>Text:</h2><br><br> <div align="left">Hallo... ,<br> dein Account wurde freigeschalten. <br><br> Wir wünschen dir viel Spass in unserem Forum! <br><br><br> Gruß<br> Forenteam<br> </div>