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 :


$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('B6B6B6','B6B6B6')
);


par :


$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('B6B6B6','B6B6B6'),
	'tag' => array('','')
);

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


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

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

	
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.