[ Index ]
 

Code source de SPIP 1.9.2c

Accédez au Source d'autres logiciels libres

title

Body

[fermer]

/ecrire/inc/ -> mail.php (source)

   1  <?php
   2  
   3  /***************************************************************************\
   4   *  SPIP, Systeme de publication pour l'internet                           *
   5   *                                                                         *
   6   *  Copyright (c) 2001-2007                                                *
   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  // http://doc.spip.org/@envoyer_mail
  16  function envoyer_mail($email, $sujet, $texte, $from = "", $headers = "") {
  17      $envoyer_mail = charger_fonction('envoyer_mail','inc');
  18      return $envoyer_mail($email,$sujet,$texte,$from,$headers);
  19  }
  20  
  21  
  22  // http://doc.spip.org/@nettoyer_titre_email
  23  function nettoyer_titre_email($titre) {
  24      return str_replace("\n", ' ', supprimer_tags(extraire_multi($titre)));
  25  }
  26  
  27  
  28  //
  29  // Mail des nouveautes
  30  //
  31  // http://doc.spip.org/@cron_mail
  32  function cron_mail($t) {
  33      $adresse_neuf = $GLOBALS['meta']['adresse_neuf'];
  34      $jours_neuf = $GLOBALS['meta']['jours_neuf'];
  35      // $t = 0 si le fichier de lock a ete detruit
  36      if (!$t) $t = time() - (3600 * 24 * $jours_neuf);
  37  
  38      $parametrer = charger_fonction('parametrer', 'public');
  39      $page = $parametrer('nouveautes',
  40                  array('date' => date('Y-m-d H:i:s', $t),
  41                    'jours_neuf' => $jours_neuf));
  42      $page = $page['texte'];
  43      if (substr($page,0,5) == '<'.'?php') {
  44  # ancienne version: squelette en PHP avec affection des 2 variables ci-dessous
  45  # 1 passe de plus a la sortie
  46                  $mail_nouveautes = '';
  47                  $sujet_nouveautes = '';
  48                  $headers = '';
  49                  eval ('?' . '>' . $page);
  50      } else {
  51  # nouvelle version en une seule passe avec un squelette textuel:
  52  # 1ere ligne = sujet
  53  # lignes suivantes jusqu'a la premiere blanche: headers SMTP
  54  
  55                  $page = stripslashes(trim($page));
  56                  $page = preg_replace(",\r\n?,", "\n", $page);
  57                  $p = strpos($page,"\n\n");
  58                  $s = strpos($page,"\n");
  59                  if ($p AND $s) {
  60                      if ($p>$s)
  61                          $headers = substr($page,$s+1,$p-$s);
  62                      $sujet_nouveautes = substr($page,0,$s);
  63                      $mail_nouveautes = trim(substr($page,$p+2));
  64                  }
  65      }
  66  
  67      if (strlen($mail_nouveautes) > 10)
  68          envoyer_mail($adresse_neuf, $sujet_nouveautes, $mail_nouveautes, '', $headers);
  69      else
  70          spip_log("mail nouveautes : rien de neuf depuis $jours_neuf jours");
  71      return 1;
  72  }
  73  
  74  ?>


Généré le : Wed Nov 21 10:20:27 2007 par Balluche grâce à PHPXref 0.7
  Clicky Web Analytics