<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <body>

<?php

//Fourchette de dates
$date1 = "2008-03-28";
$date2 = "2008-04-06";

// Suppression basique et brutale de tous les <...>
function supprimer_tags($texte, $rempl = "") {
    
// super gavant : la regexp ci-dessous plante sous php3, genre boucle infinie !
    // $texte = ereg_replace("<([^>\"']*|\"[^\"]*\"|'[^']*')*>", $rempl, $texte);
    
$texte = ereg_replace("<[^>]*>", $rempl, $texte);
    return
$texte;
}

//Convertit un texte HTML en texte brut
function textebrut($texte) {
    
$texte = ereg_replace("[\n\r]+", " ", $texte);
    
$texte = eregi_replace("<(p|br)([[:space:]][^>]*)?".">", "\n\n", $texte);
    
$texte = ereg_replace("^\n+", "", $texte);
    
$texte = ereg_replace("\n+$", "", $texte);
    
$texte = ereg_replace("\n +", "\n", $texte);
    
$texte = supprimer_tags($texte);
    
$texte = ereg_replace("(&nbsp;| )+", " ", $texte);
    return
$texte;
}

//Variables de connexion
$dbhost="localhost"; //en général c'est ça
$dbbase="nom-de-votre-base";
$dbuser="nom-user-de-votre-base";
$dbpassword="mot-de-passe-du-user-de-votre-base";

//Connexion
$dbh = mysql_connect($dbhost, $dbuser, $dbpassword) or die ('I cannot connect to the database because: ' . mysql_error());
mysql_select_db ($dbbase) or die("S&eacute;lection de la base de donn&eacute;es impossible");

//Query derniers posts    
$sql_lastposts = "SELECT ID, post_date, DATE_FORMAT(post_date,'%d.%m.%Y') AS datefr, post_title, post_name, post_status, post_content
    FROM wp_posts
    WHERE post_status='publish'
  AND post_date BETWEEN '$date1' AND '$date2'
    ORDER BY post_date DESC
  "
;
$query_lastposts = mysql_query($sql_lastposts);

//Query random posts
$sql_randomposts = "SELECT ID, post_date, DATE_FORMAT(post_date,'%d.%m.%Y') AS datefr, post_title, post_name, post_status, post_content
    FROM wp_posts
    WHERE post_status='publish' AND post_date < now()
    ORDER BY RAND()
    LIMIT 3"
;
$query_randomposts = mysql_query($sql_randomposts);

//Header email
$email="mettre-ici-email-de-votre-mailinglist";
$sujet="Nouveaux billets du ".$date1." au ".$date2."";
$message="********************************************************\n\n";
$message.="LE BLOG DE XY\n";
$message.="http://xy.com\n\n";
$message.="********************************************************\n\n\n";
$message.="Bonjour,\n\n";
$message.="Vous recevez cet email car vous vous êtes abonné au blog de XY. Voici la liste des derniers billets publiés entre le ".$date1." et le ".$date2.". Ces billets sont bien sûr consultables à tout moment sur le blog de XY.\n\n\n";

//Boucle sur les derniers billets
while($row_lastposts = mysql_fetch_array($query_lastposts))
    {
    
//Diminution du contenu et suppression du html
    
$content = substr($row_lastposts[post_content],0,250);
    
$content = strip_tags($content);
    
$content = textebrut($content);
        
$titre_billet = StripSlashes($row_lastposts[post_title]);
        
$message.="- ".$titre_billet."\n".$content."...\nhttp://xy.com/index.php?p=".$row_lastposts[ID]."\n\n\n";
    }

//Boucle sur quelques billets au hasard
$message.="\nAu hasard...\n";
while(
$row_randomposts = mysql_fetch_array($query_randomposts))
    {
        
$titre_billet = StripSlashes($row_randomposts[post_title]);
        
$message.="- ".$titre_billet."\nhttp://xy.com/index.php?p=".$row_randomposts[ID]."\n";
    }

//envoi de l'email
$message.="\n\n--\nDésinscription: envoyer un email à\n";
$message.="entrer-ici-email-pour-se-desinscrire-de-mailinglist\n\n";
$message.="Syndication RSS:\n";
$message.="Pour les plus technophiles, il existe la possibilité d'être averti des nouvelles parutions par fil RSS\n";
$message.="URL du fil RSS du blog de xym: http://www.xy.com/feed/";
$headers="From: Le blog de XY <votre-email-expéditeur>\n";
$headers.="Reply-To: Le blog de XY <email-de-reply>\n";
mail($email,$sujet,$message,$headers);
    
?>