la fonction roles_presents ne fonctionne pas correctement
Soit une liste des tables des objets de SPIP de la forme :
array( /* ... */ 'spip_documents' => array( /* ... */ 'roles_objets' => array( '*' => array( 'choix' => array( 'logo', 'logo_survol', ), 'defaut' => 'document', 'principaux' => array( 'logo', 'logo_survol', ), ), /* ... */ 'spip_articles' => array( 'choix' => array( 'logo', 'logo_survol', 'logo_perso', ), 'defaut' => 'document', 'principaux' => array( 'logo', 'logo_survol', 'logo_perso', ), ), /* ... */ ), /* ... */ ), /* ... */ );
dans ce cas, l'appel à la fonction :
roles_presents('document', 'article');
devrait retourner les trois rôles, logo, logo_survol et logo_perso. Or elle ne retourne que les roles logo et logo_survol.
Le problème se trouve ici : https://git.spip.net/spip/spip/src/branch/master/ecrire/inc/roles.php#L80
La fonction a utiliser est "table_objet_sql", au lieu de "table_objet", puisque les clés du tableau sont du type "spip_blablas", et pas simplement "blablas".