Retour d'expérience de maintenance : la fonction fullname() à partir de 2.6 impose des nouvelles contraintes qui nécessistent d'aller chercher dynamiquement les noms des champs qui portent l'identité de l'utilisateur dans la table "user".
Exemple avant :
$sql = "
SELECT
DISTINCT(reportedby) AS id,
u.firstname,
u.lastname,
u.imagealt
FROM
{tracker_issue} i,
{user} u
WHERE
i.reportedby = u.id AND
i.trackerid = ?
";
return $DB->get_records_sql($sql, array($trackerid));
Exemple après 2.6
$allnames = get_all_user_name_fields(true, 'u'); $sql = " SELECT
DISTINCT(reportedby) AS id,
{$allnames},
u.imagealt
FROM
{tracker_issue} i, {user} u
WHERE
i.reportedby = u.id AND i.trackerid = ? ";
return $DB->get_records_sql($sql, array($trackerid));
Les enregistrements d'utilisateur peuvent alors sans problème être exploités par la fonction fullname()