function calendrier($sortie) { // quelques variables à définir $onlydayofmonth = true; // si true, on affiche que les jours de ce mois $clicable = "http://www.angers.org/agenda.php3?cal_date="; // url de votre page listant tous les articles d'un jour donné $clicableformat = "%Y-%m-%d"; // format de la façon dont sont passés les arguments $displayweeknumber = false; // affiche ou non le n° de la semaine à gauche $displayweekdays = false; // affiche ou non L M M J V S D en haut // on remplit $jActif[] de 1 pour chaque jour du mois courrant ayant un article publié $query = "SELECT substring(`date`,9,2) as jour FROM spip_articles WHERE statut='publie' AND `date` like '".date("Y-m-")."%'"; $result = spip_query($query); while($row = mysql_fetch_array($result)) { $jActif[intval($row['jour'])] = 1; } // on affiche le calendrier $date = getdate(); $sortie=""; //On recupere le premier du mois $pmtime=mktime(10,0,0,$date["mon"],1,$date["year"]); $pm=getdate($pmtime); //Puis le numero du premier jour $nj=$pm["wday"]; $mois = array(1=>'Janvier','Février','Mars','Avril','Mai','Juin','Juillet','Aout','Septembre','Octobre','Novembre','Décembre'); //On affiche les titres $sortie.="\n"; $sortie.="\n"; if ($displayweekdays) { $sortie.=""; if ($displayweeknumber) $sortie.=""; $sortie.=""; $sortie.=""; $sortie.=""; $sortie.=""; $sortie.=""; $sortie.=""; $sortie.=""; $sortie.="\n"; } //Correction: Le mois peut s'etaler sur 6 semaines $end=false; $debut=0; if ($nj<1) $debut=-1; for ($sem=$debut; !$end && $sem<=5; $sem++) { for ($j=1; $j<=7; $j++) { $jjdate=@mktime(10,0,0,$date["mon"],1-$nj+$sem*7+$j,$date["year"]); $jj=@getdate($jjdate); if ($j==1 && $displayweeknumber) { $a=strftime("%V", $jjdate); if ($a=='') {$a=strftime("%W", $jjdate); } $sortie.=""; } $sortie.="\n"; //Cas des mois sur 5 semaines $jj=@getdate(@mktime(10,0,0,$date["mon"],1-$nj+$sem*7+8,$date["year"])); if($jj["mon"]>$date["mon"] && $jj["year"]==$date["year"] || $jj["year"]>$date["year"]) $end=true; } $sortie.="
".$mois[intval(strftime("%m", $pmtime))]."

LMMJVSD
$a"; } $sortie.="5) { $sortie .= " class='activeweekendday'"; } else { $sortie .= " class='activeday'"; } } else { if ($j>5) { $sortie .= " class='weekendday'"; } else { $sortie .= " class='weekday'"; } } } } $sortie.= ">"; if (!$onlydayofmonth || $jj["mon"]==$date["mon"]) { if (($jActif[$jj['mday']]) && ($jj["mon"]==$date["mon"])) $sortie.=""; if ($jj["yday"]==$date["yday"]) $sortie.="".$jj["mday"].""; else $sortie.=$jj["mday"]; if (($jActif[$jj['mday']]) && ($jj["mon"]==$date["mon"])) $sortie.=""; } else $sortie.="
"; $sortie.="
"; return $sortie; }