Rechercher des auteurs selon leur identifiant
L'idée est plus ici de documenter ce que j'ai expérimenté pour permettre de chercher un auteur depuis son identifiant, sans pour autant limiter la recherche par nom...
Dans un premier temps on modifie https://git.spip.net/spip-contrib-extensions/selecteur_generique/-/blob/master/selecteurs/auteur.html#L18 en faisant précéder la boucle s1 de ceci :
[(#VAL{'/^\d+$/'}|preg_match{#ENV{q}}|oui)<BOUCLE_s0(AUTEURS){tout}{selecteurgenerique_recherche_auteur #ENV{q}, id}{0,1}{doublons}>
[(#SET{label,[(#STATUT|puce_statut{auteur}|liens_absolus) ]#NOM[ - (#BIO|textebrut|couper{20})][ ((#EMAIL))]})]
{
"id": [(#ID_AUTEUR|json_encode)],
"long_text": [(#GET{label}|json_encode)],
"text": [(#NOM|json_encode)]
}
</BOUCLE_s0>,</B_s0>]
Ensuite, on fait précéder https://git.spip.net/spip-contrib-extensions/selecteur_generique/-/blob/master/selecteurgenerique_fonctions.php#L74 de :
if ($mode === 'id') {
\$r = sql_quote(\$r);
\$s = "(auteurs.id_auteur = \$r)";
} else {
...
}
Si le principe vous semble intéressant et l'implémentation pas trop mauvaise, je pourrai proposer une PR.