Et oui, c'est normal, il faudrait mettre un tit
- Code: Tout sélectionner
$seo_topic_name = FALSE;
Pour étanchéifier le tout, là le dernier $seo_topic_name est définit et réutilisé pendant tout le calcul.
Donc pour plus de précaution, dans le cas ou tout n'est pas réécrit.
Donc pour le mod recent topic :
Ouvrir :- Code: Tout sélectionner
gf_portail/gf_mods/mod_recent_topics.php
Trouver :- Code: Tout sélectionner
$modvar = $template_mod->pparse_mod('body')
Ajouter avant :- Code: Tout sélectionner
$seo_topic_name = FALSE;
Pour les news :
Ouvrir :- Code: Tout sélectionner
gf_portail/gf_mods/mod_news.php
Trouver :- Code: Tout sélectionner
$modvar = $template_mod->pparse_mod('body');
Ajouter avant :- Code: Tout sélectionner
$seo_topic_name = FALSE;
Déjà, c'est plus universel comme cela. Les modules réécrits ne perturbent plus les autres
Ensuite, pour les sujet populaire :
Ouvrir :- Code: Tout sélectionner
gf_portail/gf_mods/mod_sp.php
Trouver :- Code: Tout sélectionner
$topic = append_sid("viewtopic.php?t=".$line['topic_id']);
$template_mod->assign_vars( array(
'TOPIC' => $topic,
Remplacer par :- Code: Tout sélectionner
// www.phpBB-SEO.com SEO TOOLKIT BEGIN
$seo_topic_name = ( count($orig_word) ) ? preg_replace($orig_word, $replacement_word, $line['topic_title']) : $line['topic_title'];
$topic = append_sid("viewtopic.php?t=".$line['topic_id']);
$template_mod->assign_vars( array(
'TOPIC' => $topic,
'POST' => $seo_topic_name,
// www.phpBB-SEO.com SEO TOOLKIT END
Trouver :- Code: Tout sélectionner
$topic2 = append_sid("viewtopic.php?t=".$line2['topic_id']);
$template_mod->assign_vars( array(
'TOPIC2' => $topic2,
'POST2' => $line2['topic_title'],
Remplacer par :- Code: Tout sélectionner
// www.phpBB-SEO.com SEO TOOLKIT BEGIN
$seo_topic_name = ( count($orig_word) ) ? preg_replace($orig_word, $replacement_word, $line2['topic_title']) : $line2['topic_title'];
$topic2 = append_sid("viewtopic.php?t=".$line2['topic_id']);
$template_mod->assign_vars( array(
'TOPIC' => $topic2,
'POST' => $seo_topic_name,
// www.phpBB-SEO.com SEO TOOLKIT END
Trouver : - Code: Tout sélectionner
$modvar = $template_mod->pparse_mod('body');
Ajouter avant :- Code: Tout sélectionner
$seo_topic_name = FALSE;
Pour le top posteur, c'est étrange, le mod utilise bien append_sid, donc cela devrait marcher, mais non.
Donc, cela peut venir de la façon peut universel dont il est codé. Essaie ceci :
Ouvrir :- Code: Tout sélectionner
gf_portail/gf_mods/mod_topposteur.php
Trouver :- Code: Tout sélectionner
$usertop = append_sid("profile.php?mode=viewprofile&u=".$top_users[$i]['user_id']);
Replacer par :- Code: Tout sélectionner
$usertop = append_sid("profile.php?mode=viewprofile&u=".$top_users[$i]['user_id']);
A voir.
En tous cas, si tu est actif dans la communauté GF-Portal, tu pourra leur dire qu'il est aussi bien d'utiliser les fonctions phpBB, celle de censure particulièrement, qui est tout de même un standard.
Car en l'état actuel, et sans les modifs que je propose, GF-portal ne filtre rien, et donc, tout utilisateur peut se retrouver avec de mots bien gore utilisé sur la home alors qu'ils seraient bannis dans phpBB.
La solution que je propose est assez simple, construire la liste des mots interdit pour toutes les pages du portail, ce qui ne coûte pas grand choses.
Pour mxBB portal, je suis en train de voir s'il n'y a pas moyen de faire mieux (ne la construire que quand elle est nécessaire, ce qui est plus souvent le cas dans mxBB car il gère des module bien plus complexes qui n'en ont pas besoin), mais cela sous entends de définir un fonction spécifique GF-portal pour construire cette liste qui soit capable de ne pas redemander la liste inutilement.
Les modules qui en ont besoin l'appellent (genre gf_exclude_words ou lieu de obtain_word_list) tous, mais elle est capable de ne pas refaire la requête SQL pour tous les blocs qui l'utilisent dans la page.
Comme cela, si tu as une page qui n'affiche pas de titres de sujets ou de contenu du forum, ce qui doit être assez rare avec GF-portal, tu économise un requête.
Ceci devrait être discuté par l'équipe de GF-portal, même si la solution que je propose est tout à fait efficace (car dès qu'on affiche des listes des sujets ou du contenu de phpBB il faut l'utiliser, et c'est par exemple le cas sur toutes les pages de ton portail donc ...
T'inquiète la requête est légère, il faut juste éviter qu'elle soit réalisé une fois par module, ce qui est le cas ici
++