本文整理汇总了PHP中notifications_envoyer_mails函数的典型用法代码示例。如果您正苦于以下问题:PHP notifications_envoyer_mails函数的具体用法?PHP notifications_envoyer_mails怎么用?PHP notifications_envoyer_mails使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了notifications_envoyer_mails函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: genie_mail_dist
/**
* Envoi du Mail des nouveautés
*
* Ce mail est basé sur le squelette nouveautes.html
*
* La meta `dernier_envoi_neuf` permet de marquer la date du dernier envoi
* et de determiner les nouveautes publiees depuis cette date
*
* @param int $t
* @return int
*/
function genie_mail_dist($t)
{
$adresse_neuf = $GLOBALS['meta']['adresse_neuf'];
$jours_neuf = $GLOBALS['meta']['jours_neuf'];
$now = time();
if (!isset($GLOBALS['meta']['dernier_envoi_neuf'])) {
ecrire_meta('dernier_envoi_neuf', date('Y-m-d H:i:s', $now - 3600 * 24 * $jours_neuf));
}
$page = recuperer_fond('nouveautes', array('date' => $GLOBALS['meta']['dernier_envoi_neuf'], 'jours_neuf' => $jours_neuf), array('raw' => true));
if (strlen(trim($page['texte']))) {
// recuperer les entetes envoyes par #HTTP_HEADER
$headers = "";
if (isset($page['entetes']) and count($page['entetes'])) {
foreach ($page['entetes'] as $k => $v) {
$headers .= (strlen($v) ? "{$k}: {$v}" : $k) . "\n";
}
}
include_spip("inc/notifications");
notifications_envoyer_mails($adresse_neuf, $page['texte'], "", "", $headers);
ecrire_meta('dernier_envoi_neuf', date('Y-m-d H:i:s', $now));
} else {
spip_log("mail nouveautes : rien de neuf depuis {$jours_neuf} jours");
}
return 1;
}
示例2: notifications_instituerarticle_dist
function notifications_instituerarticle_dist($quoi, $id_article, $options)
{
// ne devrait jamais se produire
if ($options['statut'] == $options['statut_ancien']) {
spip_log("statut inchange", 'notifications');
return;
}
include_spip('inc/texte');
$modele = "";
if ($options['statut'] == 'publie') {
if ($GLOBALS['meta']["post_dates"] == 'non' and strtotime($options['date']) > time()) {
$modele = "notifications/article_valide";
} else {
$modele = "notifications/article_publie";
}
}
if ($options['statut'] == 'prop' and $options['statut_ancien'] != 'publie') {
$modele = "notifications/article_propose";
}
if ($modele) {
$destinataires = array();
if ($GLOBALS['meta']["suivi_edito"] == "oui") {
$destinataires = explode(',', $GLOBALS['meta']["adresse_suivi"]);
}
$destinataires = pipeline('notifications_destinataires', array('args' => array('quoi' => $quoi, 'id' => $id_article, 'options' => $options), 'data' => $destinataires));
$texte = email_notification_article($id_article, $modele);
notifications_envoyer_mails($destinataires, $texte);
}
}
示例3: notifications_instituermessage_dist
/**
* Envoyer les notifications consecutives a l'envoi d'un message
* (ie passage en statut=publie)
*
* @param string $quoi
* @param int $id_message
* @param array $options
*/
function notifications_instituermessage_dist($quoi, $id_message, $options = array())
{
// ne devrait jamais se produire
if ($options['statut'] == $options['statut_ancien']) {
spip_log("statut inchange", 'notifications');
return;
}
if ($options['statut'] == 'publie') {
include_spip('inc/messages');
$type = sql_getfetsel('type', 'spip_messages', 'id_message=' . intval($id_message));
$vue = "notifications/message_{$type}_publie";
if (trouver_fond($vue)) {
$envoyer_mail = charger_fonction('envoyer_mail', 'inc');
// pour nettoyer_titre_email
$texte = recuperer_fond($vue, array('id_message' => $id_message));
// recuperer tous les emails des auteurs qui ont recu le message dans leur boite
// si c'est une annonce generale, on envoie a tout le monde
include_spip('inc/messages');
$where = array("email!=''", "statut!='5poubelle'", sql_in('statut', messagerie_statuts_destinataires_possibles()));
// pour une annonce : tous ceux qui recoivent des messages
if ($type !== 'affich') {
$ids = sql_allfetsel('id_auteur', 'spip_auteurs_liens', "objet='message' AND id_objet=" . intval($id_message));
$ids = array_map('reset', $ids);
$where[] = sql_in('id_auteur', $ids);
}
$emails = sql_allfetsel('email', "spip_auteurs", $where);
$emails = array_map('reset', $emails);
include_spip('inc/notifications');
notifications_envoyer_mails($emails, $texte);
}
}
}
示例4: notifications_forumvalide_dist
/**
* cette notification s'execute quand on valide un message 'prop'ose,
* dans ecrire/inc/forum_insert.php ; ici on va notifier ceux qui ne l'ont
* pas ete a la notification forumposte (sachant que les deux peuvent se
* suivre si le forum est valide directement ('pos' ou 'abo')
* http://doc.spip.org/@notifications_forumvalide_dist
*
* @param string $quoi
* @param int $id_forum
*/
function notifications_forumvalide_dist($quoi, $id_forum, $options)
{
$t = sql_fetsel("*", "spip_forum", "id_forum=" . intval($id_forum));
if (!$t or @$t['statut'] == 'perso') {
return;
}
// plugin notification si present
$prevenir_auteurs = isset($GLOBALS['notifications']['prevenir_auteurs']) and $GLOBALS['notifications']['prevenir_auteurs'];
// sinon voie normale
if ($t['objet'] == 'article' and !$prevenir_auteurs) {
$s = sql_getfetsel('accepter_forum', 'spip_articles', "id_article=" . $t['id_objet']);
if (!$s) {
$s = substr($GLOBALS['meta']["forums_publics"], 0, 3);
}
$prevenir_auteurs = (strpos(@$GLOBALS['meta']['prevenir_auteurs'], ",{$s},") !== false or @$GLOBALS['meta']['prevenir_auteurs'] === 'oui');
// compat
}
include_spip('inc/texte');
include_spip('inc/filtres');
include_spip('inc/autoriser');
// Qui va-t-on prevenir ?
$tous = array();
// Ne pas ecrire au posteur du message, ni au moderateur qui valide le forum,
$pasmoi = array($t['email_auteur'], $GLOBALS['visiteur_session']['email']);
// 1. Les auteurs de l'objet lie au forum
// seulement ceux qui n'ont
// pas le droit de le moderer (les autres l'ont recu plus tot)
if ($prevenir_auteurs) {
$result = sql_select("auteurs.*", "spip_auteurs AS auteurs, spip_auteurs_liens AS lien", "lien.objet=" . sql_quote($t['objet']) . " AND lien.id_objet=" . intval($t['id_objet']) . " AND auteurs.id_auteur=lien.id_auteur");
while ($qui = sql_fetch($result)) {
if ($qui['email']) {
if (!autoriser('modererforum', $t['objet'], $t['id_objet'], $qui['id_auteur'])) {
$tous[] = $qui['email'];
} else {
// Ne pas ecrire aux auteurs deja notifies precedemment
$pasmoi[] = $qui['email'];
}
}
}
}
$options['forum'] = $t;
$destinataires = pipeline('notifications_destinataires', array('args' => array('quoi' => $quoi, 'id' => $id_forum, 'options' => $options), 'data' => $tous));
// Nettoyer le tableau
// en enlevant les exclus
notifications_nettoyer_emails($destinataires, $pasmoi);
//
// Envoyer les emails
//
$email_notification_forum = charger_fonction('email_notification_forum', 'inc');
foreach ($destinataires as $email) {
$texte = $email_notification_forum($t, $email);
notifications_envoyer_mails($email, $texte);
}
}
示例5: action_inscrire_auteur_dist
/**
* Inscrire un nouvel auteur sur la base de son nom et son email
* L'email est utilise pour reperer si il existe deja ou non
* => identifiant par defaut
*
* @param string $statut
* @param string $mail_complet
* @param string $nom
* @param array $options
* login : login precalcule
* id : id_rubrique fournit en second arg de #FORMULAIRE_INSCRIPTION
* from : email de l'envoyeur pour l'envoi du mail d'inscription
* force_nouveau : forcer le statut nouveau sur l'auteur inscrit, meme si il existait deja en base
* @return array|string
*/
function action_inscrire_auteur_dist($statut, $mail_complet, $nom, $options = array())
{
if (!is_array($options)) {
$options = array('id' => $options);
}
if (function_exists('test_inscription')) {
$f = 'test_inscription';
} else {
$f = 'test_inscription_dist';
}
$desc = $f($statut, $mail_complet, $nom, $options);
// erreur ?
if (!is_array($desc)) {
return _T($desc);
}
include_spip('base/abstract_sql');
$res = sql_select("statut, id_auteur, login, email", "spip_auteurs", "email=" . sql_quote($desc['email']));
// erreur ?
if (!$res) {
return _T('titre_probleme_technique');
}
$row = sql_fetch($res);
sql_free($res);
if ($row) {
if (isset($options['force_nouveau']) and $options['force_nouveau'] == true) {
$desc['id_auteur'] = $row['id_auteur'];
$desc = inscription_nouveau($desc);
} else {
$desc = $row;
}
} else {
// s'il n'existe pas deja, creer les identifiants
$desc = inscription_nouveau($desc);
}
// erreur ?
if (!is_array($desc)) {
return $desc;
}
// generer le mot de passe (ou le refaire si compte inutilise)
$desc['pass'] = creer_pass_pour_auteur($desc['id_auteur']);
// attribuer un jeton pour confirmation par clic sur un lien
$desc['jeton'] = auteur_attribuer_jeton($desc['id_auteur']);
// charger de suite cette fonction, pour ses utilitaires
$envoyer_inscription = charger_fonction("envoyer_inscription", "");
list($sujet, $msg, $from, $head) = $envoyer_inscription($desc, $nom, $statut, $options);
$notifications = charger_fonction('notifications', 'inc');
notifications_envoyer_mails($mail_complet, $msg, $sujet, $from, $head);
// Notifications
$notifications('inscription', $desc['id_auteur'], array('nom' => $desc['nom'], 'email' => $desc['email']));
return $desc;
}
示例6: notifications_alerterecheancesouscription_dist
/**
* @param string $quoi
* @param int $id_souscription
* @param array $options
*/
function notifications_alerterecheancesouscription_dist($quoi, $id_souscription, $options)
{
include_spip('inc/config');
$email = lire_config('souscription/email_alerte_echeances');
if (!$email) {
$email = lire_config('bank_paiement/email_ticket_admin');
}
if (!$email) {
$email = $GLOBALS['meta']['email_webmaster'];
}
$texte = recuperer_fond("notifications/alerter_echeance_souscription", array('id_souscription' => $id_souscription));
include_spip('inc/notifications');
notifications_envoyer_mails($email, $texte);
}
示例7: message_oubli
function message_oubli($email, $param)
{
$r = formulaires_oubli_mail($email);
if (is_array($r) and $r[1]) {
include_spip('inc/texte');
# pour corriger_typo
include_spip('action/inscrire_auteur');
$cookie = auteur_attribuer_jeton($r[1]['id_auteur']);
$msg = recuperer_fond("modeles/mail_oubli", array('url_reset' => generer_url_public('spip_pass', "{$param}={$cookie}", true, false)));
include_spip("inc/notifications");
notifications_envoyer_mails($email, $msg);
return _T('pass_recevoir_mail');
}
return _T('pass_erreur_probleme_technique');
}
示例8: notifications_informersouscriptionterminee_dist
/**
* @param string $quoi
* @param int $id_souscription
* @param array $options
*/
function notifications_informersouscriptionterminee_dist($quoi, $id_souscription, $options)
{
$souscription = sql_fetsel("*", "spip_souscriptions", "id_souscription=" . intval($id_souscription));
// on prend l'email de l'id_auteur en priorite, car a priori plus a jour
if ($souscription['id_auteur']) {
$email = sql_getfetsel("email", "spip_auteurs", "id_auteur=" . intval($souscription['id_auteur']));
}
if (!$email) {
$email = $souscription['courriel'];
}
if ($email) {
$texte = recuperer_fond("notifications/informer_souscription_terminee", array('id_souscription' => $id_souscription));
include_spip('inc/notifications');
notifications_envoyer_mails($email, $texte);
}
}
示例9: message_oubli
function message_oubli($email, $param)
{
$r = formulaires_oubli_mail($email);
if (is_array($r) and $r[1]) {
include_spip('inc/texte');
# pour corriger_typo
include_spip('action/inscrire_auteur');
$cookie = auteur_attribuer_jeton($r[1]['id_auteur']);
// l'url_reset doit etre une URL de confiance, on force donc un url_absolue sur adresse_site
include_spip('inc/filtres');
$msg = recuperer_fond("modeles/mail_oubli", array('url_reset' => url_absolue(generer_url_public('spip_pass', "{$param}={$cookie}"), $GLOBALS['meta']['adresse_site'])));
include_spip("inc/notifications");
notifications_envoyer_mails($email, $msg);
return _T('pass_recevoir_mail');
}
return _T('pass_erreur_probleme_technique');
}
示例10: souscription_trig_bank_notifier_reglement
/**
* Envoi d'une notification après reglement
*
* @pipeline trig_bank_notifier_reglement
* @param array $flux Données du pipeline
* @return array Données du pipeline
*/
function souscription_trig_bank_notifier_reglement($flux)
{
$souscription = sql_fetsel(array('courriel', 'id_souscription_campagne', 'abo_statut', 'id_souscription'), 'spip_souscriptions', 'id_transaction_echeance=' . intval($flux['args']['id_transaction']));
// on ne notifie pas les N echeances d'un don mensuel mais seulement la premiere
$n_echeance = 1;
if ($souscription['abo_statut'] == 'ok') {
$n_echeance = sql_countsel("spip_souscriptions_liens", "id_souscription=" . intval($souscription['id_souscription']) . " AND objet=" . sql_quote('transaction'));
}
if ($n_echeance <= 1) {
$email = $souscription['courriel'];
$campagne = $souscription['id_souscription_campagne'];
if ($flux['args']['succes']) {
$message = recuperer_fond(_trouver_modele_courriel_reglement("succes", $campagne), array('id_transaction' => $flux['args']['id_transaction']));
} else {
$message = recuperer_fond(_trouver_modele_courriel_reglement("echec", $campagne), array('id_transaction' => $flux['args']['id_transaction']));
}
spip_log("Envoi de notification de confirmation de paiement a [{$email}] pour la souscription #" . $flux['args']['id_transaction'], "souscription");
include_spip("inc/notifications");
notifications_envoyer_mails($email, $message, "", $GLOBALS['meta']['email_webmaster']);
}
return $flux;
}
示例11: action_valider_auteur_dist
/**
* Action sécurisée pour valider manuellement les membres du site
*
* On change le statut de l'auteur et on lui envoie un mail avec de quoi se loguer
*
* @return rien
*/
function action_valider_auteur_dist()
{
$securiser_action = charger_fonction('securiser_action', 'inc');
$id_auteur = $securiser_action();
if (!$id_auteur or !autoriser('valider', 'auteur', $id_auteur)) {
include_spip('inc/minipres');
$msg = _T('valider_inscription:permissions_insuffisantes');
die(minipres($msg));
}
include_spip('base/abstract_sql');
// le statut à donné a été enregistré dans le champs « prefs »
$statut = sql_getfetsel('prefs', 'spip_auteurs', 'id_auteur=' . intval($id_auteur));
include_spip('action/editer_objet');
if ($err = objet_modifier('auteur', $id_auteur, array('statut' => $statut))) {
include_spip('inc/minipres');
die(minipres(_T('valider_inscription:erreur_validation'), $err));
}
$desc = sql_fetsel('statut, id_auteur, login, email', 'spip_auteurs', 'id_auteur=' . intval($id_auteur));
include_spip('action/inscrire_auteur');
// generer le mot de passe (ou le refaire si compte inutilise)
$desc['pass'] = creer_pass_pour_auteur($id_auteur);
// attribuer un jeton pour confirmation par clic sur un lien
$desc['jeton'] = auteur_attribuer_jeton($id_auteur);
// Si on doit lier l'auteur à une zone, il faut le faire ici,
// parce que les visiteurs n'ont pas les autorisations nécessaires
// lors de l'inscription
if (test_plugin_actif('auteur2zone')) {
include_spip('inc/config');
$config = lire_config('auteur2zone');
// Lier à la zone
include_spip('action/editer_zone');
zone_lier($config['auteur_zone_auto'], 'auteur', $id_auteur);
}
$envoyer_inscription = charger_fonction('envoyer_inscription', '');
list($sujet, $msg, $from, $head) = $envoyer_inscription($desc, $nom, $statut);
include_spip('inc/notifications');
notifications_envoyer_mails($desc['email'], $msg, $sujet, $from, $head);
}
示例12: profils_creer_depuis_mailsubscriber
function profils_creer_depuis_mailsubscriber($champs, $notifier = true)
{
$set = array('email' => $champs['email'], 'login' => $champs['email'], 'name' => $champs['nom'], 'prenom' => '');
if (!$set['prenom'] and !$set['name']) {
$nom = explode('@', $set['email']);
$set['prenom'] = reset($nom);
}
$set['nom'] = trim($set['prenom'] . ' ' . $set['name']);
if (!($row = profils_creer_auteur($set))) {
return 0;
}
$id_auteur = $row['id_auteur'];
if ($notifier) {
// envoyer l'email avec login/pass
$contexte = array('nom' => $row['prenom'] ? $row['prenom'] : $row['nom'], 'email' => $row['email'], 'pass' => $row['pass']);
$message = recuperer_fond('modeles/mail_creation_profil_mailsubscriber', $contexte);
include_spip("inc/notifications");
notifications_envoyer_mails($row['email'], $message);
}
return $id_auteur;
}
示例13: notifier_proposition_article
function notifier_proposition_article($id_article) {
if ($GLOBALS['meta']["suivi_edito"] == "oui") {
$adresse_suivi = $GLOBALS['meta']["adresse_suivi"];
$texte = email_notification_article($id_article, "notifications/article_propose");
notifications_envoyer_mails($adresse_suivi, $texte);
}
}
示例14: inscrire_visiteur_candidatures_fraap
function inscrire_visiteur_candidatures_fraap($statut, $mail_complet, $nom, $prenom, $activite, $pass, $options = array())
{
if (!is_array($options)) {
$options = array('id' => $options);
}
include_spip('action/inscrire_auteur');
if (function_exists('test_inscription')) {
$f = 'test_inscription';
} else {
$f = 'test_inscription_dist';
}
$desc = $f($statut, $mail_complet, $nom, $options);
if (!is_array($desc)) {
return _T($desc);
}
// ajouter les arguments restants
$desc['prenom'] = $prenom;
$desc['activite'] = $activite;
$desc['pass'] = $pass;
include_spip('base/abstract_sql');
$res = sql_select("statut, id_auteur, login, email", "spip_auteurs", "email=" . sql_quote($desc['email']));
// erreur ?
if (!$res) {
return _T('titre_probleme_technique');
}
$row = sql_fetch($res);
sql_free($res);
if ($row) {
if (isset($options['force_nouveau']) and $options['force_nouveau'] == true) {
$desc['id_auteur'] = $row['id_auteur'];
$desc = inscription_nouveau($desc);
} else {
$desc = $row;
}
} else {
// s'il n'existe pas deja, creer les identifiants
$desc = inscription_nouveau($desc);
}
if (!is_array($desc)) {
return $desc;
}
// le mot de passe a été saisi par le visiteur,
// donc on ne fait rien ici
// generer le mot de passe (ou le refaire si compte inutilise)
// $desc['pass'] = creer_pass_pour_auteur($desc['id_auteur']);
// attribuer un jeton pour confirmation par clic sur un lien
$desc['jeton'] = auteur_attribuer_jeton($desc['id_auteur']);
// ajouter la zone restreinte stages
sql_insertq("spip_zones_liens", array('id_zone' => '1', "id_objet" => $desc['id_auteur'], "objet" => "auteur"));
// charger de suite cette fonction, pour ses utilitaires
$envoyer_inscription = charger_fonction("envoyer_inscription_fraap_candidatures", "action");
list($sujet, $msg, $from, $head) = $envoyer_inscription($desc, $nom, $prenom, $statut, $options);
$notifications = charger_fonction('notifications', 'inc');
notifications_envoyer_mails($mail_complet, $msg, $sujet, $from, $head);
// Notifications
$notifications('inscription', $desc['id_auteur'], array('nom' => $desc['nom'], 'email' => $desc['email']));
return $desc;
}
示例15: notifications_instituerauteur
/**
* Notifier lors du changement de statut d'un auteur
*
* Basée sur :
* http://doc.spip.org/@notifications_instituerarticle_dist
*
* @param string $quoi
* @param int $id_auteur
* @param array $options
*/
function notifications_instituerauteur($quoi, $id_auteur, $options)
{
// ne devrait jamais se produire
if ($options['statut'] == $options['statut_ancien']) {
spip_log("statut auteur inchange", 'notifications');
return;
}
include_spip('inc/texte');
include_spip('inscription3_mes_fonctions');
$modele = "";
/**
* Si l'ancien statut est 8aconfirmer
* - on notifie la validation s'il n'est pas mis à la poubelle
* - on notifie l'invalidation s'il est mis à la poubelle
*
* S'il est validé, on lui recrée un pass que l'on met dans le mail avec son login
*/
if ($options['statut_ancien'] == '8aconfirmer') {
//spip_log("instituerauteur_caap niv 1",'notifications',_LOG_ERREUR);
if ($options['statut'] == '5poubelle') {
$modele = "notifications/auteur_invalide";
$modele_admin = "notifications/auteur_invalide_admin";
} else {
/**
* Dans le cas d'une validation, on envoit le pass
* On fait tout en php pour ne pas avoir de traces du pass dans les logs
* On regénère le mot de passe également
*/
/* surcharges caap :
* - adresse_site est celle de la rubrique espace Adhérents
* - le texte du mail est modifié
*/
$envoyer_mail = charger_fonction('envoyer_mail', 'inc');
//$adresse_site = $GLOBALS['meta']["adresse_site"];
include_spip('inc/filtres');
$adresse_site = url_absolue(generer_url_public('rubrique', 'id_rubrique=12'));
$nom_site_spip = nettoyer_titre_email($GLOBALS['meta']["nom_site"]);
$user = sql_fetsel('*', 'spip_auteurs', 'id_auteur=' . intval($id_auteur));
include_spip('inc/acces');
$pass = creer_pass_aleatoire(8, $id_auteur);
include_spip('action/editer_auteur');
instituer_auteur($id_auteur, array('pass' => $pass));
$texte = "[{$nom_site_spip}] " . _T('form_forum_identifiants') . "\n\n" . _T('form_forum_message_auto') . "\n\n" . _T('form_forum_bonjour', array('nom' => $user['nom'])) . "\n\n" . _T('caap:form_forum_voici1', array('nom_site_spip' => $nom_site_spip, 'adresse_site' => $adresse_site . '/', 'adresse_login' => generer_url_public('login'))) . "\n\n- " . _T('form_forum_login') . " " . $user['login'] . "\n- " . _T('form_forum_pass') . " " . $pass . "\n\n";
$modele_admin = "notifications/auteur_valide_admin";
}
}
if ($modele or $texte) {
$options['type'] = 'user';
$destinataires = array();
$destinataires = pipeline('notifications_destinataires', array('args' => array('quoi' => $quoi, 'id' => $id_auteur, 'options' => $options), 'data' => $destinataires));
if ($modele) {
$texte = email_notification_objet($id_auteur, "auteur", $modele);
}
notifications_envoyer_mails($destinataires, $texte);
}
if ($modele_admin) {
$options['type'] = 'admin';
$destinataires = array();
$destinataires = pipeline('notifications_destinataires', array('args' => array('quoi' => $quoi, 'id' => $id_auteur, 'options' => $options), 'data' => $destinataires));
$texte = email_notification_objet($id_auteur, "auteur", $modele_admin);
notifications_envoyer_mails($destinataires, $texte);
}
}