Email schreiben an alle User die bestimmten Content markiert haben (flag-modul)
Eingetragen von Sawascwoolf (125)
am 01.07.2010 - 09:57 Uhr in
am 01.07.2010 - 09:57 Uhr in
Hallo Forum,
Ich würde gerne für eine Usergruppe die Möglichkeit bereitstellen über das Drupalsystem E-Mails an alle User die mittels des Flagsmoduls bestimmte Inhalte gekennzeichnet haben.
Jedoch habe ich auf meiner Suche bisherl leider noch kein Modul gefunden...Gibt es sowas überhaupt schon?
- Anmelden oder Registrieren um Kommentare zu schreiben
http://drupal.org/project/mes
am 01.07.2010 - 11:33 Uhr
http://drupal.org/project/messaging und darauf aufbauende Module
"A Programmer is a device for turning coffee into code!"
mhh... ich habe leider keine
am 04.07.2010 - 07:55 Uhr
mhh... ich habe leider keine Möglichkeit gefunden mein Wunsch umzusetzen.
Das einzige was mir jetzt übrig bleibt ist die Verwendung von copy&paste (werde den berechtigten Usern mittels eines views blocks alle User anzeigen welche einen Content markiert haben).
Computerboard da wird dir geholfen
Das kann man auch recht
am 04.07.2010 - 13:28 Uhr
Das kann man auch recht leicht über ein eigenes Modul regeln, denke ich.
In einer Funktion einfach so eine Abfrage machen:
SELECT u.mail FROM {users} u INNER JOIN {flag_content} fc ON u.uid = fc.uid WHERE fc.content_id LIKE "%s";
Query ausführen und die gewünschte Node-ID als Argument an die SQL-Abfrage geben und schon bekommst du die Mail-Adressen aller User, die den besagten Node geflaged haben. Das ganze kann man natürlich in der WHERE-Klausel noch auf bestimmte Flags beschränken usw.
Diese Mail-Liste könnte man dann mit einer While-Schleife abrufen, sich immer die aktuelle Adresse nehmen und als Empfänger speichern und dann mittels drupal_mail oder PHPs mail() eine eMail an diese Person schicken. Oder man nimmt erst alle Adressen und erstellt daraus eine Empfängerliste und trägt die als Empfänger ein, dann muss man nur einmal die Mail-Funktion aufrufen.
Dürfte eigentlich kein allzugroßer Aufwand sein.
Ich habe das ganze gerade
am 04.07.2010 - 19:34 Uhr
Ich habe das ganze gerade komplett anders gelöst.
Folgendes habe ich gemacht für alle die ein ähnliches Problem haben:
verwendete Module:
Ich denke mal bis auf "Rules and Views Integration" sollten die anderen Module wohl bekannt sein ;)
Argumente:
Aktionen:
So und hier noch schnell der PHP code:
$explode=explode('<span class="field-content">',$rendered_view);
$a=count($explode);
$i=1;
$mails="";
while ($i<$a) {
$help=explode('</span>',$explode[$i]);
$i++;
if ($i<$a) {
$mails.=$help[0].", ";
} else {
$mails.=$help[0];
}
}
$header="Content-type: text/html; charset=utf-8" . "\r\n";
$nachricht="Nachrichtentext";
mail($mails, 'Ankündigung durch Dozent(in)', $nachrich, $header);
Der erste Teil des PHP Codes zerlegt den View in seine Bestandteile und ermittelt somit die E-Mail Adressen der User und fasst sie in $mails zusammen. Anschliessend wird noch ein vorgefertigter Nachrichtentext an die User gesendet.
Computerboard da wird dir geholfen
Auch eine interessante
am 04.07.2010 - 19:39 Uhr
Auch eine interessante Lösung, obwohl ich persönlich finde, dass man das einfacher hätte haben können (zumindest, wenn man schonmal ein kleines Modul geschrieben hat).
Aber hauptsache, es klappt ;-)