hack,technorati

Je viens de finir un petit §§Hack§§ pour ajouter des §§Tags§§ Technorati aux tickets de §§DotClear§§.

Voici la liste des modifications à réaliser (pour Dotclear 1.21/1.22) :

- Ouvrir le fichier /inc/classes/class.wiki2xhtml.basic.php

- Remplacer le bout de code suivant :

geshi php
$this->tags = array(
	'em' => array("''","''"),
	'strong' => array('__','__'),
	'acronym' => array('??','??'),
	'a' => array('[',']'),
	'img' => array('((','))'),
	'q' => array('{{','}}'),
	'code' => array('@@','@@'),
	'anchor' => array('~','~'),
	'del' => array('--','--'),
	'ins' => array('++','++'),
	'note' => array('$$','$$'),
	'word' => array('¶¶¶','¶¶¶')
);

par :

geshi php
$this->tags = array(
	'em' => array("''","''"),
	'strong' => array('__','__'),
	'acronym' => array('??','??'),
	'a' => array('[',']'),
	'img' => array('((','))'),
	'q' => array('{{','}}'),
	'code' => array('@@','@@'),
	'anchor' => array('~','~'),
	'del' => array('--','--'),
	'ins' => array('++','++'),
	'note' => array('$$','$$'),
	'word' => array('¶¶¶','¶¶¶'),
	'tag' => array('§§','§§')
);

- Recherchez le switch ($tag) et ajouter à l'intérieur des parenthèses :

geshi php
case 'tag': 
   $res = $this->__parseTag($res,$tag,$attr,$type);
   break;	

- Rechercher la fonction parseAnchor() et ajouter la fonction ci-dessous juste avant celle-ci :

geshi php	
function __parseTag($str,&$tag,&$attr,&$type)
{

	$name = $this->protectAttr($str,true);
	return '<a href="http://technorati.com/tag/'.$name.'" rel="tag" class="tag">'.$name.'</a> <img src="/public/images/technobubble.gif"/>';

}
	

Je reconnais que c'est très crade comme bout de code .. mais ça marche ... .

Ensuite, pour ajouter des tags Technorati à vos billet DotClear il vous suffira d'utiliser deux '§' avant et après les mots que vous désirez.