Wikini

DateDePeremption

PagePrincipale :: DerniersChangements :: DerniersCommentaires :: ParametresUtilisateur :: Vous êtes ec2-98-84-18-52.compute-1.amazonaws.com

Action "date de peremption"


Description

Quand on utilise beaucoup son WikiNi pour y mettre toutes sortes de contenus, ca devient vite le bazar. Une page creee reste souvent en plan indefiniment, parce qu'on oublie de la supprimer ou bien qu'on hesite avant de supprimer quoi que ce soit de son site.
Cette action permet, des l'ecriture de la page, de specifier a partir de quelle date celle-ci ne sera plus valide, ou ne presentera plus d'interet. Les visiteurs occasionnels sauront ainsi immediatement a quoi s'en tenir.

Utilisation

Inserez un appel de ce type dans une page perissable (de preference tout au debut)
{{peremption date="6 july 2003" cause="La fete est finie, elle s'est deroulee le 5 juillet au soir"}}


Effet


Installation


Demonstration

http://valentin.deleplace.free.fr/wikini/wakka.php?wiki=TestPeremption

Exemple d'effet

Page disponible uniquement à titre d'archive

Périmée depuis le 6 juillet 2005
Cette page est maintenant figée car: La fete est finie, elle s'est deroulee le 5 juillet au soir


Code source


<?
/*
 Licence GNU/GPL, gna gna gna gna gna
*/

/*
* Cette action permet d'afficher un avertissement si la date de peremption de la page est depassee.
*
* @param date string la date de peremption au format anglais "10 September 2000"
* @param cause string la raison pour laquelle la page est perimee
*/

$limite = $this->GetParameter("date");
$cause = $this->GetParameter("cause");

setlocale(LC_TIME, "fr_FR");
$limite_fr = strftime("%e %B %Y", strtotime($limite));

if( ! preg_match( '/[0-9]{4}$/', $limite ) ){
	echo "La date de peremption doit se terminer par l'annee sur 4 chiffres!";
}else if( time() > strtotime($limite) ){
  if( $cause != "" )
    $cause = "Cette page est maintenant fig&eacute;e car: $cause";
?>
<table border="1" width="100%" cellpadding="10"><tr><td bgcolor="#CCCCCC">
   <h2>Page disponible uniquement &agrave; titre d'archive</h2>
   P&eacute;rim&eacute;e depuis le <b><? echo $limite_fr; ?></b>
   <br />
   <? echo $cause; ?>
</td></tr></table>
<?
 }
?>



Ameliorations a apporter


Au fait il me semble que setlocale ne fonctionne pas bien car il faut que la locale soit installée sur le serveur ce qui n'est en général pas le cas, je crois. Enfin c'est à vérifier mais j'avais voulu l'utiliser il y a bien longtemps chez webdynamit.net et ça n'a jamais fonctionné... -- LordFarquaad

Il n'y a pas de commentaire sur cette page. [Afficher commentaires/formulaire]