- $r = is_array($personnes) ? $personnes : array($personnes);
- foreach ($r as $k => $p) {
- if ($a = email_valide($p) AND preg_match('/^[^@]+/', $a, $m))
- $r[$k] = "<a href='mailto:$a'>".preg_replace('/[.]/', ' ', $m[0]). "</a>";
- }
- return join(' ', $r);
+ $r = is_array($personnes) ? $personnes : array($personnes);
+ foreach ($r as $k => $p) {
+ if (!is_numeric($p)) {
+ $mail = email_valide($p);
+ if (preg_match('/^[^@]+/', $mail, $m))
+ $r[$k] = preg_replace('/[.]/', ' ', $m[0]);
+ } else {
+ $m = sql_fetsel("email, nom", 'spip_auteurs', "id_auteur=$p");
+ if ($m) {
+ $mail = $m['email'];
+ $r[$k] = $m['nom'] ? $m['nom'] : ($mail ? $mail : $p);
+ }
+ }
+ if ($mail)
+ $r[$k] = "<a href='mailto:$mail'>" . $r[$k] . "</a>";
+ }
+ return join(' ', $r);