Backport 1745-1747
[platal.git] / modules / carnet.php
index c970213..24bdaaa 100644 (file)
@@ -216,10 +216,10 @@ class CarnetModule extends PLModule
                 require_once('user.func.inc.php');
                 if (($login = get_user_login($user)) !== false) {
                     if (XDB::execute(
-                                'INSERT INTO  contacts (uid, contact)
-                                      SELECT  {?}, id
-                                        FROM  aliases
-                                       WHERE  alias = {?}', $uid, $login))
+                                'REPLACE INTO  contacts (uid, contact)
+                                       SELECT  {?}, id
+                                         FROM  aliases
+                                        WHERE  alias = {?}', $uid, $login))
                     {
                         $page->trig('Contact ajouté !');
                     } else {
@@ -261,6 +261,11 @@ class CarnetModule extends PLModule
 
         while (list($alias) = $citer->next()) {
             $user = get_user_details($alias);
+            foreach ($user as &$value) {
+                if (is_utf8($value)) {
+                    $value = utf8_decode($value);
+                }
+            }
             $pdf = ContactsPDF::addContact($pdf, $user, $arg0 == 'photos' || $arg1 == 'photos');
         }
         $pdf->Output();