Bug dans choix_statut_auteur
J'ai beau tourné le problème dans tous les sens ca ne fonctionne pas.
La recherche des nouveau statut se fait sur la base de ce qu'il y a dans la BdD, soit : // Chercher les statuts non standards $l = $GLOBALS['liste_des_statuts']; $l[]= 'nouveau'; $q = sql_allfetsel("statut", 'spip_auteurs', sql_in('statut', $l, 'NOT'), "statut");
Mais pour que me statut se trouve dans $q il faut qu'il ne soit pas dans $GLOBALS['liste_des_statuts'].
Mais alors il n'a pas de traduction et apparait avec "Autre statut : xxxx" pas vraiment top comme traduction.
Si on ajoute à $GLOBALS['liste_des_statuts'] our que la traduction fonctionne alors c'est impossible de l'avoir car il sera présent dans $1 et éliminé de $q.
Sinon je comprends pas à quoi sert :
if (t = array_search(
statut, $GLOBALS['liste_des_statuts'])
AND isset(recom[
t]))
return recom[
t];
dans traduire_statut_auteur.
Bref j'ai surement rien compris à comment on ajouter un statut, mais comme c'est pas très intuitif ben j'ai fait les modifications suivantes :
function traduire_statut_auteur($statut){
$recom = array("info_administrateurs" => _T('item_administrateur_2'),
"info_redacteurs" => _T('intem_redacteur'),
"info_visiteurs" => _T('item_visiteur'),
'5poubelle' => _T('texte_statut_poubelle'), // bouh
);
if (isset(recom[
statut]))
return recom[
statut];
// retrouver directement par le statut sinon
if ($t = array_search($statut, $GLOBALS['liste_des_statuts'])
AND isset($recom[$t]))
return $recom[$t];
return $t; // return _ ;
}
et
function choix_statut_auteur($statut, $id_auteur, $ancre) {
...
$menu = _;
foreach($droits as $k => $v) {
if (k = traduire_statut_auteur(
k)) {
menu .= mySel(
v, $statut, $k);
} elseif (k = traduire_statut_auteur(
v)) menu .= mySel(
v, $statut, $k);
}
// Chercher les statuts non standards
... }
Voilà c'est probablement à coté de la plque mais ca a au moins le mérite de pouvoir ajouter des stauts même si non utilisés dans la BdD. Il suffit ensuite d'ajouter : $liste_des_statuts['Web Mestre']='0webmestre'; et hop ca marche