Hello,
Ca c'est nickel !
Dans le meme esprit, j'en profite pour revenir sur les mots clés, qui
pourraient profiter aussi d'un appel à formulaire_mots un peu plus generique
et se passer du gros if au debut (et rapidement de l'autre un peu plus bas
pour créer le mot clé associé mais ca necessite une modif dans mot_edit).
En attendant que la structure soit arrétée, je suppose qu'il vaut mieux
eviter de s'appuyer sur $table_primary pour savoir quelle clé utilisée, mais
à terme, on devrait pouvoir s'appuyer sur la structure déclarée pour
recuperer la table et sa clé primaire à partir du type d'objet.
Je te propose donc d'ajouter simplement $url_base dans passage des
parametres (qui, à mon sens, doit etre vraiment un parametre indépendant) et
de s'appuyer sur la convention de nommage en attendant de pouvoir travailler
avec des strucutres plus souples(ce qui laisse quand meme un if pour traiter
l'exception "syndic" ) :
formulaire_mots($objet, $id_objet, $nouv_mot, $supp_mot, $cherche_mot,
$flag_editable, $url_base) {
global $flag_mots_ressemblants;
global $connect_statut, $options;
global $spip_lang_rtl, $spip_lang_right;
$select_groupe = $GLOBALS['select_groupe'];
if ($objet == 'syndic') {
$table = $objet ;
}
else {
$table = $objet.'s';
}
$id_table = 'id_'.$objet;
$query = "SELECT mots.* FROM spip_mots AS mots, spip_mots_$table AS lien
WHERE lien.$id_table=$id_objet AND mots.id_mot=lien.id_mot";
...
L'appel dans articles.php3 devrient donc :
if ($options == 'avancees' AND $articles_mots != 'non') {
formulaire_mots('article', $id_article, $nouv_mot, $supp_mot, $cherche_mot,
$flag_editable,'articles.php3?id_article=$id_article');
}
Voila, c'est pas totalement generique, mais l'appel de la fonction ne
devrait alors plus bouger par la suite puisque nous avons tous les elements
sous la main.
Si ca vous interesse, je peux faire le reste de modifs necessaire