Valider 4ef78267 rédigé par esj's avatar esj
Parcourir les fichiers

nouveau squelette des nouveautés en une seule passe et permettant des Headers...

nouveau squelette des nouveautés en une seule passe et permettant des Headers SMTP (cf commentaires dans inc_cron)
parent 8394fb0a
Chargement en cours
Chargement en cours
Chargement en cours
Chargement en cours
+20 −14
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -196,30 +196,36 @@ function cron_mail($t) {

	include_local("inc-calcul.php3");
	$page= cherche_page('',
				array('date' => date('Y-m-d H:i:s')),
			    array('date' => date('Y-m-d H:i:s', $t),
				  'jours_neuf' => $jours_neuf),
				'nouveautes',
				'',
				lire_meta('langue_site'));
	$page = $page['texte'];
	if (substr($page,0,5) == '<'.'?php') {
# ancienne version: squelette en PHP avec affections. 1 passe de +
				unset ($mail_nouveautes);
				unset ($sujet_nouveautes);
# ancienne version: squelette en PHP avec affection des 2 variables ci-dessous
# 1 passe de + à la sortie
				$mail_nouveautes = '';
				$sujet_nouveautes = '';
				$headers = '';
				eval ('?' . '>' . $page);
	} else {
# nouvelle version: squelette en mode texte, 1ere ligne = sujet
# il faudrait ge'ne'raliser en produisant les Headers standars SMTP
# a` passer en 4e argument de mail. Surtout utile pour le charset.
# nouvelle version en une seule passe avec un squelette textuel:
# 1ere ligne = sujet
# lignes suivantes jusqu'a la premiere blanche: headers SMTP

				$page = stripslashes($page);
				$p = strpos($page,"\n");
				$sujet_nouveautes = substr($page,0,$p);
				$mail_nouveautes = ereg_replace('\$jours_neuf',
								$jours_neuf,
								substr($page,$p+1));
				$p = strpos($page,"\n\n");
				$s = strpos($page,"\n");
				$headers = substr($page,$s+1,$p-$s);
				$sujet_nouveautes = substr($page,0,$s);
				$mail_nouveautes = substr($page,$p+2);
	}

	if ($mail_nouveautes)
		envoyer_mail($adresse_neuf, $sujet_nouveautes, $mail_nouveautes);
	$n = strlen($mail_nouveautes);
	if ($n > 10)
	  envoyer_mail($adresse_neuf, $sujet_nouveautes, $mail_nouveautes, '', $headers);
	spip_log("$n nouveautes depuis $jours_neuf jours");
	return 1;
}

+20 −47
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
<?php
[[(#NOM_SITE_SPIP|textebrut|texte_script)]] <:nouveautes|texte_script:>
Reply-to: esj

/**********************************************************/
/* Ce squelette tres specifique est utilise pour creer    */
/* l'envoi de l'annonce des nouveautes. Attention, il     */
/* fonctionne entierement en php...                       */
/**********************************************************/
<B0>
<:bonjour|texte_script:>

unset($mail_nouveautes);

$sujet_nouveautes = '[[(#NOM_SITE_SPIP|textebrut|texte_script)]] <:nouveautes|texte_script:>';

//
// Articles
//
<B_nv1>
$mail_nouveautes = '
<:texte_lettre_information|texte_script:> "[(#NOM_SITE_SPIP|textebrut|texte_script)]" (#URL_SITE_SPIP).
<:texte_lettre_information_2|texte_script:> [(#HTTP_VARS{jours_neuf})] <:jours|texte_script:>.

<BOUCLE0(AUTEURS){0,1}><B_nv1>
          <:nouveaux_articles|texte_script:>
          --------------------------

';
<BOUCLE_nv1(ARTICLES){age_relatif<=0}{par date}{inverse}{0,30}>
	$mail_nouveautes .= '[** (#TITRE|textebrut|texte_script) **]';
	$mail_nouveautes .= "\n";
	$mail_nouveautes .= '[par (#LESAUTEURS|textebrut|texte_script)] ';
	$mail_nouveautes .= '[le (#DATE|affdate|texte_script)]'."\n\n";
	$mail_nouveautes .= '[(#INTRODUCTION|textebrut|texte_script)]'."\n\n";
	$mail_nouveautes .= '-> #URL_SITE_SPIP/#URL_ARTICLE'."\n\n";
</BOUCLE_nv1>
[** (#TITRE|textebrut|texte_script) **]
[par (#LESAUTEURS|textebrut|texte_script)]
[le (#DATE|affdate|texte_script)]

[(#INTRODUCTION|textebrut|texte_script)]

//
// Breves
//
<B_nv2>
$mail_nouveautes .= '
-> #URL_SITE_SPIP/#URL_ARTICLE

</BOUCLE_nv1><B_nv2>
          
          <:nouvelles_breves|texte_script:>
          --------------------------

';
<BOUCLE_nv2(BREVES){age_relatif<=0}{par date}{inverse}{0,30}>
	$mail_nouveautes .= '[* (#TITRE|textebrut|texte_script) *]';
	$mail_nouveautes .= '[ - (#DATE|affdate|texte_script)]'."\n\n";
	$mail_nouveautes .= '[(#INTRODUCTION|textebrut|texte_script)]'."\n\n";
	$mail_nouveautes .= '-> #URL_SITE_SPIP/#URL_BREVE'."\n\n";
</BOUCLE_nv2>
[* (#TITRE|textebrut|texte_script) *]
[ - (#DATE|affdate|texte_script)]

[(#INTRODUCTION|textebrut|texte_script)]

//
//	Ajouter l'entete
//
if ($mail_nouveautes) {
	$mail_nouveautes = '<:bonjour|texte_script:>

<:texte_lettre_information|texte_script:> "[(#NOM_SITE_SPIP|textebrut|texte_script)]" (#URL_SITE_SPIP).
<:texte_lettre_information_2|texte_script:> '.$jours_neuf.' <:jours|texte_script:>.

' . $mail_nouveautes;
}
-> #URL_SITE_SPIP/#URL_BREVE

?>
</BOUCLE_nv2></BOUCLE0>
 No newline at end of file