[SPIP] +2.1.12
[velocampus/web/www.git] / www / ecrire / genie / mail.php
1 <?php
2
3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
5 * *
6 * Copyright (c) 2001-2011 *
7 * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
8 * *
9 * Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
10 * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
11 \***************************************************************************/
12
13 if (!defined('_ECRIRE_INC_VERSION')) return;
14
15 //
16 // Mail des nouveautes
17 //
18 // http://doc.spip.org/@genie_mail_dist
19 function genie_mail_dist($t) {
20 $adresse_neuf = $GLOBALS['meta']['adresse_neuf'];
21 $jours_neuf = $GLOBALS['meta']['jours_neuf'];
22 // $t = 0 si le fichier de lock a ete detruit
23 if (!$t) $t = time() - (3600 * 24 * $jours_neuf);
24
25 $parametrer = charger_fonction('parametrer', 'public');
26 $page = $parametrer('nouveautes',
27 array('date' => date('Y-m-d H:i:s', $t),
28 'jours_neuf' => $jours_neuf));
29 $page = $page['texte'];
30 if (substr($page,0,5) == '<'.'?php') {
31 # ancienne version: squelette en PHP avec affection des 2 variables ci-dessous
32 # 1 passe de plus a la sortie
33 $mail_nouveautes = '';
34 $sujet_nouveautes = '';
35 $headers = '';
36 eval ('?' . '>' . $page);
37 } else {
38 # nouvelle version en une seule passe avec un squelette textuel:
39 # 1ere ligne = sujet
40 # lignes suivantes jusqu'a la premiere blanche: headers SMTP
41
42 $page = stripslashes(trim($page));
43 $page = preg_replace(",\r\n?,", "\n", $page);
44 $p = strpos($page,"\n\n");
45 $s = strpos($page,"\n");
46 if ($p AND $s) {
47 if ($p>$s)
48 $headers = substr($page,$s+1,$p-$s);
49 $sujet_nouveautes = substr($page,0,$s);
50 $mail_nouveautes = trim(substr($page,$p+2));
51 }
52 }
53
54 if (strlen($mail_nouveautes) > 10) {
55 $envoyer_mail = charger_fonction('envoyer_mail', 'inc');
56 $envoyer_mail($adresse_neuf, $sujet_nouveautes, $mail_nouveautes, '', $headers);
57 }
58 else
59 spip_log("mail nouveautes : rien de neuf depuis $jours_neuf jours");
60 return 1;
61 }
62
63 ?>