Salut les devs,
j’ai testé, c’est simple à remplacer et le patch est trivial.
Il suffit de mettre (via git par exemple) le contenu du répertoire ‘lib’ de html purifer dans plugins-dist/safehtml/lib/htmlpurifier
Puis de remplacer la fonction d’appel dans inc/safehtml.php
// Controle la presence de la lib HTMLPurifier et cree la fonction
// de transformation du texte qui l’exploite
// http://code.spip.net/@inc_safehtml_dist
function inc_safehtml_dist($t) {
static $process, $test;
if (!$test) {
$process = false;
if ($f = find_in_path(‘lib/htmlpurifier’)) {
// Evitons de passer par l’autoloader pour gagner en performance
// et permettre au cache opcode de fonctionner correctement
require_once $f.’/HTMLPurifier.path.php’;
require_once $f.’/HTMLPurifier.includes.php’;
$config = HTMLPurifier_Config::createDefault();
$config->set(‘Cache.SerializerPath’, realpath(_DIR_CACHE));
$process = new HTMLPurifier($config);
}
if ($process)
$test = 1; # ok
else
$test = -1; # se rabattre sur une fonction de securite basique
}
if ($test > 0) {
$t = $process->purify($t);
}
else
$t = inc_safehtml_old($t);
return $t;
}
(dans cet exemple j’avais gardé l’ancien appel à la librairie safehtml)
ça peut se faire via une extension dans un premier temps.
Si d’autres veulent tester, leur retour est le bienvenue.
Gilles