
MediaWiki est le moteur de Wiki utilisé par Wikipedia notamment.
Malheureusement, il semble qu’on ne puisse recevoir de mails que lors de modifications de certains articles, et non pas de tous. Voilà de quoi y remédier : (évidemment ça ne marche que sur une installation perso de MediaWiki, pas sur Wikipedia itself…)
Le code est à mettre dans /includes/Article.php, à la fin de la fonction updateArticle (ligne 1013).
Voilà le code :
-
//mailer mail@truc.com
-
$to = "mail@truc.com";
-
$nom = $wgUser->getName();
-
$tempm = $this->mTitle->escapeLocalUrl();
-
list($poubelle1, $poubelle2, $pagem) = split("/" , $tempm);
-
$sujet = "La page $pagem du wiki a été modifiée";
-
$bodym ="La page $pagem du wiki a ete modifiee par $nom. La page est accessible sur http://wiki.truc.com$tempm";
-
$bodym = "$bodym \n\n Les diffs sont : \n $diff_text \n\n Bonne journee";
-
//si le changement n’est pas marqué comme mineur, on envoie un mail
-
if (!$minor)
-
mail($to,$sujet,$bodym);
-
return $good;
On peut rajouter les diffs à la ligne 1053 avec une ligne genre :
-
$diff_text = xdiff_string_diff( $oldtext, $text );
Attention, cette fonction (xdiff…) nécessite l’ajout d’un module au moteur PHP. Pour l’instant, Debian ne semble pas fournir ce module en package, il faut donc le compiler soi-même :
http://us2.php.net/manual/fr/ref.xdiff.php
Ca marche tout seul avec la ligne : extension=xdiff.so dans le fichier /etc/php4/apache/php.ini
Category: Articles en français, Tech >> Computer | Leave a comment

