‰PNG

   
IHDR  6   £   7¾Âß  PLTEÿÿÿL‹õïïïåååLŒõOŽõÜÜÜRõI‰ôÙÙÙçççáááJ‰ñÞÞÞDU¶Oò6€ö©Çüb|‰ÕÕ×e÷÷÷ÒÒÖÛåð^w‡„«ôÍÍÓ^•óöôïEnÓBP°ÇÈÐDV´>…õpŠ•ÂÃÎüùîÊ×ñÃÇÉš¨°±óPo{~¦óZw…\tˆ>P³m öc˜ó°Æòäéï»Íñ«³¸2F³Yf¸ó÷ýŸ¾øÕáûéðýÚåûØÙá¢°Ôwœæ°ºÕÀÑñ‡¦å’©ßº¾ÏŸ¯Ú—¶óPt¢PƒÔ^r|t‡pƒ”}š„¢äMi“¡©—¤ª¬±½Mr¢ÕÏÉ¡¦Æ™Ñ’˜Â}„¿oy»½ÁÞhuÂ¨«Å–š¿þ­)€  (IDATxœíÝ
[ÚÈ p"&bEA gÓDQ«-½¸­v÷”êzzv{¶ÝïÿAÎÜ’L’É¥ä™$ÿgût­í®ù=ï;—db
…<yòäÉ“'Ož”äêæú¸õÄ^%ýÕ'•³‰ZÚZ(NÀqÒ_~2y=V+‘	!ì\%}Iäõd+Z-Œ
d±K¯b©…±md±K·ct(J) ¤K“¾†Õçªó,5Â¦f¯KÏŸWlÄ-ƒ]ÚŠ5²…³e°KÇË`S2×¥“Xj!lØ
\'}«N<¶52¸e®K—Â¶fI_ÇŠo±Æ–É.Åª–É.][æºt	l¤K·“¾Õ&[„éÒIÒ²Ú,ƒ”Ûë¤¯d¥‰Á©FØÎ’¾’•&š-MU³7—.…
—ÌÔ­ñH¶è¥lÙêÒ(¶8j´KÇI_Ê*Á­f±mÁiÒ×²Â,‡téyÒ×²Â„³ÅP#l¤K I_Ë
Æ ªárÛ {I_ÌêÂKÍaËT—³-¢ÆºtÏëáû>Ü'd*Ö@¶xj6.7¥Ûm¿yóF¯V«E”u.Þ]Ÿ A¬%­;l1Ñl5ºQxËÜt,W-ÆI•OQ8![\4Žté»>q{2ú3’¸	Øâ£qjô€\·kšíç°Éâæe[ÀÌÏßš(
Ë,t(
$”bfp±-fæR#_Z»]/©E@¶õ¤Iâ¤ƒŠ$ÒK¨¡j¨äs[X¹ÉPn˜m+ÔÂÎñÙÍl6;<¿ƒcƒï	[£»Ú}*ÃèÁ¦Ô7k=ÃXÃ1ŒžÑ¼ƒP
RC]Ú&lúúÓÙdèÒP6ÞM{”ÌŽaœW`€šªTpµ5P´˜n‚i¡˜´IŒ„±ÁÁÔcÆà¶QÁ‰Ô¬.ÅnåXÅ–>6ÞˆÐ\³Ø~m°.­ë™dS*ÂR³àZb7¥Cæ4)`·mš26elFê
w©é¸EÂ¥‹Mõ¨8Ü‡³ 5Ô¥m›­®G/CÒÅV™òfkÍÃ³í³óÙÔZ‰ª‘.¥nx|+G¹yÕ¤f«€™SZÆôzB7	°48Ä¿nª¡¥Û{êFØp½e‡
l÷œJ»Öú¶¤*pÜ4BÕTøÁìb·s[¬G¥f›Øµf4éÚÖ™*àÍM-D
uiŸÜ>Šç–&6xh±áÂòN `ÉfwéGÊË-ElêØVkúÕ"ƒ»´Ëº±i¡nR³¹o9»ã	jª2qwiX½ùÔ¤bsËT¬­7PW£]ÚuØ´z©IÊŽ­b›Á§¨¡.íÚ]JªMÓ‚ÜRÄfO½±ú5Ö¥ÖŠ—°iÕÔ³{ƒPãY©‰"œUÙ\Ú°ÊM«÷ûýFch““MíXóÁ9ß£Ê`Úôg*º¢À[÷œ õO†ÃáÊAzÙ¬GcnBPÁÀÞ8ð»Õ3Á†A¬K96D¶‹’^6{FèMì¡
7žmM°ÏRÅZñºØv|l~5‰Ùî,¶ŠƒÈæ¿í†Ôh—:ûÆ¶“
¶’ÊMŸqÙ°šÆ¦ˆÍ;¶¥Ší˜¯6gv\„M®9!€M &/›Òr–mü¢"USÈa{åæ°íVÓÊfoä;àf3¸L	LMïúB¶~Ý›*¶R%€„ßï[Kb´¶©¡rkX›+´EÐ6]/Zÿyá–A^6Ød×Õ
¾©Xy
…j
sd<?php

/*
 * Plugin Notifications
 * (c) 2009 SPIP
 * Distribue sous licence GPL
 *
 */

/**
 * Notification de message de forum proposé
 *
 * @package SPIP\Forum\Notifications
 **/

if (!defined('_ECRIRE_INC_VERSION')) {
	return;
}

/**
 * Cette notification s'exécute quand on valide un message 'prop'osé.
 *
 * On va notifier ceux qui ne l'ont
 * pas été à la notification forumposte (sachant que les deux peuvent se
 * suivre si le forum est validé directement ('pos' ou 'abo')
 *
 * @pipeline_appel notifications_destinataires
 * @see inc/forum_insert.php
 *
 * @param string $quoi
 * @param int $id_forum
 * @param array $options
 */
function notifications_forumvalide_dist($quoi, $id_forum, $options) {

	$t = sql_fetsel('*', 'spip_forum', 'id_forum=' . intval($id_forum));
	if (
		!$t
		// forum sur un message prive : pas de notification ici (cron)
		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'] ?? '', (string) ",$s,") !== false
			or ($GLOBALS['meta']['prevenir_auteurs'] ?? '') === 'oui'); // compat
	}

	include_spip('inc/texte');
	include_spip('inc/filtres');
	include_spip('inc/autoriser');
	include_spip('inc/session');

	// Qui va-t-on prevenir ?
	$tous = [];
	// Ne pas ecrire au posteur du message, ni au moderateur qui valide le forum,
	$pasmoi = array_filter([$t['email_auteur'], session_get('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', [
		'args' => [
			'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);
	}
}
