Une incohérence dans le fichier 'entry.php' lorsqu'on recherche les éventuels pluriels à partir de la ligne 123.
En effet, la variable $term est modifiée une première fois ligne 132, et c'est à cette variable modifiée qu'on tente un nouveau test pour une autre forme de pluriel ligne 139 (ajout de 'es'). Par exemple, si le mot de base est "vivant", on va également chercher "vivants" puis ... "vivant
ses"... Pas terrible! Il vaut mieux chercher "vivantes"...
Et puis, tant qu'à modifier et comme nous sommes en France, j'ai ajouté la vérification du pluriel "aux" avec un test sur "al"...
Le code initial (à partir de la ligne 123) :
if ( $term != $glossaryterm)
{
// singular
$term_q = preg_quote($term, '/');
$search_term = "/b$term_qb/i";
$replace_term = "<span><b><a style='color: #2F5376; text-decoration: underline; ' href='".XOOPS_URL."/modules/".$xoopsModule->dirname()."/entry.php?entryID=".$entryID."'>".$term."</a></b></span>";
$parts[$key] = preg_replace($search_term, $replace_term, $parts[$key]);
// plural
$term = $term."s";
$term_q = preg_quote($term, '/');
$search_term = "/b$term_qb/i";
$replace_term = "<span><b><a style='color: #2F5376; text-decoration: underline; ' href='".XOOPS_URL."/modules/".$xoopsModule->dirname()."/entry.php?entryID=".$entryID."'>".$term."</a></b></span>";
$parts[$key] = preg_replace($search_term, $replace_term, $parts[$key]);
// plural with e
$term = $term."es";
$term_q = preg_quote($term, '/');
$search_term = "/b$term_qb/i";
$replace_term = "<span><b><a style='color: #2F5376; text-decoration: underline; ' href='".XOOPS_URL."/modules/".$xoopsModule->dirname()."/entry.php?entryID=".ucfirst($entryID)."'>".$term."</a></b></span>";
$parts[$key] = preg_replace($search_term, $replace_term, $parts[$key]);
}
Le code modifié :
if ( $term != $glossaryterm)
{
// sauvegarde du terme
$realterm = $term;
// singular
$term2 = $realterm;
$term_q = preg_quote($term2, '/');
$search_term = "/b$term_qb/i";
$replace_term = "<span><b><a style='color: #2F5376; text-decoration: underline; ' href='".XOOPS_URL."/modules/".$xoopsModule->dirname()."/entry.php?entryID=".$entryID."'>".$term2."</a></b></span>";
$parts[$key] = preg_replace($search_term, $replace_term, $parts[$key]);
// plural
$term2 = $realterm."s";
$term_q = preg_quote($term2, '/');
$search_term = "/b$term_qb/i";
$replace_term = "<span><b><a style='color: #2F5376; text-decoration: underline; ' href='".XOOPS_URL."/modules/".$xoopsModule->dirname()."/entry.php?entryID=".$entryID."'>".$term2."</a></b></span>";
$parts[$key] = preg_replace($search_term, $replace_term, $parts[$key]);
// plural with e
$term2 = $realterm."es";
$term_q = preg_quote($term2, '/');
$search_term = "/b$term_qb/i";
$replace_term = "<span><b><a style='color: #2F5376; text-decoration: underline; ' href='".XOOPS_URL."/modules/".$xoopsModule->dirname()."/entry.php?entryID=".$entryID."'>".$term2."</a></b></span>";
$parts[$key] = preg_replace($search_term, $replace_term, $parts[$key]);
// pluriel avec al pour langue francaise - hack aquaportail.com
if ( substr( $realterm, -2 ) == "al" )
{
$term2 = substr( $realterm, 0, strlen($realterm)-2 )."aux";
$term_q = preg_quote($term2, '/');
$search_term = "/b$term_qb/i";
$replace_term = "<span><b><a style='color: #2F5376; text-decoration: underline; ' href='".XOOPS_URL."/modules/".$xoopsModule->dirname()."/entry.php?entryID=".$entryID."'>".$term2."</a></b></span>";
$parts[$key] = preg_replace($search_term, $replace_term, $parts[$key]);
}
}
Voilà, j'espère ne pas avoir fait de bétise...