Seite 1 von 2
Kombinierter Email-Verteiler mit Liste
Verfasst: Do 29.Sep, 2005 11:53
von schmidtedv
Servus, ich dachte, vielleicht kann's jemand brauchen. Ich fand die Email-Liste (meine Kombination von AWSW mit ner Tabelle von "weiß ich jetz net...") gehört irgendwie mit dem Email-Verteiler (Massen-Email) mit der Erweiterung auf Zeiträume (MOD von Markus021) zusammen (sonst unnötige Menüvergrößerung im ACP) und hab's demnach mal zusammengebaut. Vielleicht bau ich nachher noch die Email-Suche mit da rein...(EDIT: Nö, Email-Suche ist nicht nötig, man sieht so ja eh alle...)
Siehe Anhang...
PS: Was noch Sinn machen würde, wäre für die Tabelle ne "Pagination" aber da muss ich wohl passen, sowas ist wieder mal was für Oxpus oder andere Profis :-) Wenn da also einer Lust hat, mir die einzubauen, häng ich das gerne noch mit dran :-) (EDIT: Die Tabelle nun unten drangehangen, falls da noch ne "Pagination" kommt :-) )
Verfasst: Do 29.Sep, 2005 13:44
von oxpus
Wenn Du das zusammengeschraubt hast, packs hier an, dann kümmert sich auch jemand um das Pagination...
Verfasst: Do 29.Sep, 2005 14:42
von schmidtedv
Ok, also in der lang_admin.php hätten wir dann
Code: Alles auswählen
//
// Mass Email
//
$lang['Mass_email_explain'] = 'Hier kannst du registrierten Benutzern oder einer bestimmten Gruppe eine Nachricht schicken. Diese Nachricht wird an das Postfach des Administrators geschickt und anonym (BCC) an alle Empfänger. Solltest du einer großen Gruppe eine E-Mail schicken, habe etwas Geduld und brich den Vorgang nicht ab. Es ist völlig normal, dass der Vorgang länger dauert und du erhältst eine Rückmeldung, wenn das Skript beendet ist';
$lang['Compose'] = 'Erstellen';
$lang['Recipients'] = 'Empfänger';
$lang['All_users'] = 'Alle Benutzer';
$lang['Usergroup'] = 'Benutzergruppe';
$lang['Activated_users'] = 'Nur aktiverte Benutzer';
$lang['Not_activated_users'] = 'Nur NICHT aktiverte Benutzer';
$lang['Today_visited'] = 'Benutzer, die in den letzten 24 Std. eingeloggt waren (1 Tag)';
$lang['Today_not_visited'] = 'Benutzer, die NICHT in den letzten 24 Std. eingeloggt waren (1 Tag)';
$lang['Last_week_visited'] = 'Benutzer, die in der letzten Woche eingeloggt waren (7 Tage)';
$lang['Last_week_not_visited'] = 'Benutzer, die NICHT in der letzten Woche eingeloggt waren (7 Tage)';
$lang['Last_month_visited'] = 'Benutzer, die im letzten Monat eingeloggt waren (30 Tage)';
$lang['Last_month_not_visited'] = 'Benutzer, die NICHT im letzten Monat eingeloggt waren (30 Tage)';
$lang['Mass_email_list'] = 'E-Mail-Adressen aller Benutzer';
$lang['Mass_email_list_explain'] = 'Hier findest Du eine Liste aller E-Mail-Adressen der im Forum registrierten Benutzer.';
$lang['Mass_email_list_database'] = 'Datenbank';
$lang['Mass_email_list_total'] = 'Gesamtzahl';
$lang['Mass_email_list_list'] = 'Liste';
wobei hier 2 Einträge gelöscht wurden, da diese in der php nicht vorkommen und auch sonst nirgends benutzt werden im phpbb (hat wohl nie einer aufgeräumt....in der admin_mass_email.php ist auch noch von $notice die Rede, das gibt's auch nirgends...löl) zudem hab ich Mass_Email weiter oben halt mit 'E-Mail-Verteiler' umgenannt.
Ansonsten sind nur die Anlagen nötig...
Verfasst: Do 29.Sep, 2005 14:56
von oxpus
Ui, danke.
Den schau ich mir nachher mal genauer an.
Verfasst: Do 29.Sep, 2005 15:06
von schmidtedv
Als besondere Pfiffichkeit könnte ich mir noch vorstellen, das z.B. nach dem Klick auf "Absenden" der Sendevorgang noch nicht vollzogen wird, sondern noch eine Bestätigungsseite (confirm.tpl) aufgeht in der eine Liste der Mails erscheint an die diese auswahl wirklich gehen würde und da noch ein "Absenden" wäre oder das, aber das könnte ich mir schwieriger vorstellen, zwischen dem Block "E-Mail-Verteiler" und der Tabelle mit der E-Mail-Liste eine "block_vars"-Tabelle eingeblendet wird, sobald eine Auswahl getroffen wurde....somit muss der Auswahl dann noch ein leeres <select> hinzugefügt werden....hm, das gefällt mir, vielleicht bastel ich da noch dran :-)
Verfasst: Fr 30.Sep, 2005 12:51
von dagobert
ein zweites adressfeld im massmailer wär noch cool.
direkt unters dropdown. im quellcode dann ne abfrage ob das textfeld ne email addy enthält und wenn nicht, dann wird die entsprechende einstellung des dropdowns beachtet.
wenn ne email addy drinne war, einfach die mail an die addy schicken.
wenne da nich weiterkommst guck mal in den kontaktmod. da kann man sich das wunderbar erschliessen. vielleicht (ich hab mir den massmailer noch nich angeguckt) kannste aber auch direkt die funktionalität des massmailers zum verschicken nutzen....
edit:
hmm......noch besser wärs, wenn hinter jeder angezeigten email addy nen kästchen wär, das man auswählen kann. nach absenden dann alle in ein array und das zum verschicken weitergeben.
Verfasst: Fr 30.Sep, 2005 13:44
von oxpus
@dagobert
So ganz kann ich nicht folgen:
Warum sollte man in einem Massenemailer wenige Email-Adressen auswählen können?
Klingt ein wenig sinnlos oder stehe ich auf dem Schlauch?
Verfasst: Fr 30.Sep, 2005 14:38
von dagobert
für einem simplen massmailer stimme ich dir zu.
dieser mod erweitert den massmailer aber in der form, dass es ne richtige email übersicht ist. und da sollte dann auch die funktionalität nicht fehlen, einzelne user oder teile von gruppen anmailen zu können.
ich habe bei mir zum beispiel immer einen abgewandelten kontakt mod (adressat eingebbar) im acp, mit dem ich mal schnell ne mail verschicken kann. der würde bei so einer überischt inkl der erwähnten funktion wegfallen.
so wird der massmailer zum email center

Verfasst: Fr 30.Sep, 2005 16:33
von oxpus
Du weist aber schon, daß das Mitlesen von Emails rechtlich heikel ist?
Verfasst: Fr 30.Sep, 2005 16:51
von dagobert
stimmt, das dürfen nur die amerikaner
ich weiss aber leider grad nich wie du darauf kommst.
Verfasst: Fr 30.Sep, 2005 17:27
von oxpus
Na, weil Du von einem Email-Center sprachst

Verfasst: Fr 30.Sep, 2005 17:53
von dagobert
ich will dort ja emails verschicken und nich lesen. (an die emails selber komm ich ja auch gar nich ran)
ich brauch also ein email center für den zugriff auf jede email addy, die in den user profilen eingetragen ist.....
schmidtedv hat im ersten beitrag sogar von einer suchfunktion für emailaddys gesprochen, was ich für grosse boards auch nich schlecht finden würde.
Verfasst: Fr 30.Sep, 2005 18:20
von oxpus
Dafür gibts Email Mods, wie diesen hier:
http://www.phpbbhacks.com/download/704
Verfasst: Fr 30.Sep, 2005 19:11
von dagobert
und genau so einen mod (evtl sogar den gleichen) hat er hier mit dem massmailer verbunden. oder steh ich jetz aufm schlauch ?
Verfasst: Fr 30.Sep, 2005 19:22
von oxpus
Nein, nicht ganz. Es sind nur zusätzliche Auswahlmöglichkeiten hinzugekommen, die eben die User weiter unterteilen.
Verfasst: Fr 30.Sep, 2005 21:12
von dagobert
dann guck nochmal auf den screenshot:
ganz oben: "email adressen aller benutzer"
und darunter eine kurze auflistung
und unterhalb der eingabemaske für den massmailer is noch eine liste der user samt email......genau der mod den du mir gepostet hast.....
Verfasst: Fr 30.Sep, 2005 21:32
von oxpus
Ja, aber das ist nicht abhängig voneinander.
Verfasst: Fr 30.Sep, 2005 23:07
von schmidtedv
...eins nach dem anderen :-) erstmal die Pagination bitte, hehe
Verfasst: Sa 01.Okt, 2005 02:29
von oxpus
Ich schau mal.
Hast Du auch den englischen Teil der lang_admin.php?
EDIT
Das Pagination und auch einige andere "Fehler" habe ich ausgebügelt. Ich werde nachher im Laufe des Tages den MOD dann mal ausführlicher testen und auch eine Anleitung dazu verfassen.
Verfasst: Sa 01.Okt, 2005 10:21
von schmidtedv
jo, ausnahmsweise versuch ich den auftrag 2-sprachig zu halten, aber englisch werd' ich noch überarbeiten und das deutsche letztenendes auch wieder ins "Sie" übertragen, denk ich...
Code: Alles auswählen
//
// Mass Email
//
$lang['Mass_email_explain'] = 'Here you can email a message to your users or users of a specific group. To do this, an email will be sent out to the administrative email address supplied, with a blind carbon copy sent to all recipients. If you are emailing a large group of people please be patient after submitting and do not stop the page halfway through. It is normal for a mass emailing to take a long time and you will be notified when the script has completed';
$lang['Compose'] = 'Compose';
$lang['Recipients'] = 'Recipients';
$lang['All_users'] = 'All Users';
$lang['Usergroup'] = 'Usergroup';
$lang['Activated_users'] = 'Only activated Users';
$lang['Not_activated_users'] = 'Only NOT activated Users';
$lang['Today_visited'] = 'Users, that logged in during the last 24h (1 day)';
$lang['Today_not_visited'] = 'Users, that NOT logged in during the last 24h (1 day)';
$lang['Last_week_visited'] = 'Users, that logged in during the last week (7 days)';
$lang['Last_week_not_visited'] = 'Users, that NOT logged in during the last week (7 days)';
$lang['Last_month_visited'] = 'Users, that logged in during the last month (30 days)';
$lang['Last_month_not_visited'] = 'Users, that NOT logged in during the last month (30 days)';
$lang['Mass_email_list'] = 'User-Email-List';
$lang['Mass_email_list_explain'] = 'Here You find a list of all registered Users Email-Addresses.';
$lang['Mass_email_list_database'] = 'Database';
$lang['Mass_email_list_total'] = 'Total';
$lang['Mass_email_list_list'] = 'List';
BTW: Fehler oder unnötige Stellen? So wie er ist läuft er bei mir Fehlerfrei.....allerdings hab ich nur 1-2 Testuser drin in dem Board
Nochwas Code...so hab' ich auch die userlist erweitert...dem Emailer noch den tatsächlichen ADMINISTRATOR verpasst, die SIG hinzugefügt und die "AntiBuse" geändert...(TPL dann auch erweitert/geändert)
Code: Alles auswählen
$emailer->from($board_config['board_email']);
$emailer->replyto($board_config['board_email']);
for ($i = 0; $i < count($bcc_list); $i++)
{
$emailer->bcc($bcc_list[$i]);
}
$email_headers = 'X-AntiAbuse: phpBB Forum - ' . $board_config['server_name'] . "\n";
$email_headers .= 'X-AntiAbuse: Benutzer ID - ' . $userdata['user_id'] . "\n";
$email_headers .= 'X-AntiAbuse: Benutzername - ' . $userdata['username'] . "\n";
$email_headers .= 'X-AntiAbuse: Benutzer 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'],
'ADMINISTRATOR' => $userdata['username'],
'MESSAGE' => $message,
'EMAIL_SIG' => (!empty($board_config['board_email_sig'])) ? str_replace('<br />', "\n", "-- \n" . $board_config['board_email_sig']) : '')
);
Verfasst: Sa 01.Okt, 2005 10:53
von oxpus
Danke für die Übersetzung und die Email-Erweiterung.
Nun, Fehler im weiteresten Sinne.
Es waren einige Teile mit echo dargestellt und das passt nunmal nicht so richtig ins Bild. Das habe ich daher in das Template integriert.
Und auch die Abfragen waren etwas chaothisch.
Wie gesagt: Ich will das nachher noch austesten, eine Anleitung zur Installation verfassen und dann poste ich es hier wieder.
Verfasst: Sa 01.Okt, 2005 12:16
von schmidtedv
naja, das mit dem echo hat mich auch gestört, da es dann ja IMMER oben erscheint, war aber so von AWSW umgesetzt...und ich wußte net wie mans anders macht :-)
Verfasst: Sa 01.Okt, 2005 15:48
von oxpus
Let's dance:
Verfasst: Sa 01.Okt, 2005 20:18
von JaneDoe
Hallo, wenn ich sowas
Code: Alles auswählen
case -10:
$sql = "SELECT user_email FROM " . USERS_TABLE . " WHERE user_level = 2";
break;
einbaue ( die options etc lass ich mal weg) sollte das doch an alle Moderatoren gesendet werden ?
Verfasst: Sa 01.Okt, 2005 20:55
von oxpus
Ja, das sollte so sein.
Oder man erstellt sich eine Usergruppe mit Moderatoren und braucht den MOD nicht weiter anpassen
