Inviare nodo per email
Ciao ragazzi,
chissà se qualcuno ha visto o usato questa funzione con drupal:
vorrei quando aggiungo un nodo poter selezionare un ruolo da quelli disponibili e quando lo pubblico inviare questo nodo per email a tutti gli utenti di quel ruolo.
Ho provato con il modulo rules ma manca la dinamicità dei ruoli scelti in fase di creazione del nodo.
Qualche consiglio, magari qualche parola chiave su cui fare ricerca...

Risposte
Ciao, mi viene in mente ad
Ciao, mi viene in mente ad esempio http://drupal.org/project/notifications ma non penso risolva perfettamente i tuoi bisogni. Potresti pensare di utilizzare un cck http://drupal.org/project/rolereference che referenzia un ruolo e poi utilizzare questo campo con rules, magari con un'azione php basata sul codice dell'azione "Invia una mail a tutti gli utenti di un ruolo" che ti riporto per riferimento:
<?php
function rules_action_mail_to_users_of_role($settings) {
$recipients = $settings['recipients'];
$from = ($settings['from']) ? str_replace(array("\r", "\n"), '', $settings['from']) : NULL;
// All authenticated users, which is everybody.
if (in_array(DRUPAL_AUTHENTICATED_RID, $recipients)) {
$result = db_query('SELECT mail FROM {users} WHERE uid > 0');
}
else {
$rids = implode(',', $recipients);
// Avoid sending emails to members of two or more target role groups.
$result = db_query('SELECT DISTINCT u.mail FROM {users} u INNER JOIN {users_roles} r ON u.uid = r.uid WHERE r.rid IN (' . $rids . ')');
}
// Now, actually send the mails.
$message = array('result' => TRUE);
while (($account = db_fetch_object($result)) && $message['result']) {
$message = drupal_mail('rules', 'rules_action_role_mail', $account->mail, language_default(), $settings, $from);
}
if ($message['result']) {
$roles = array_intersect_key(user_roles(TRUE), drupal_map_assoc($recipients));
watchdog('rules', 'Successfully sent email to the role(s) %roles.', array('%roles' => implode(', ', $roles)));
}
}
?>
Spero ti sia utile.
Spero tu abbia risolto.
Spero tu abbia risolto.