Make sure Vcard entries always have labels
authorMichael M Slusarz <slusarz@curecanti.org>
Tue, 2 Nov 2010 19:39:36 +0000 (13:39 -0600)
committerMichael M Slusarz <slusarz@curecanti.org>
Tue, 2 Nov 2010 19:53:41 +0000 (13:53 -0600)
framework/Core/lib/Horde/Core/Mime/Viewer/Vcard.php

index 00de316..f3d4c91 100644 (file)
@@ -136,12 +136,15 @@ class Horde_Core_Mime_Viewer_Vcard extends Horde_Mime_Viewer_Base
                 $html .= '<tr><td colspan="2">&nbsp;</td></tr>';
             }
 
+            $addresses = $vc->getAllAttributes('EMAIL');
+
             $html .= '<tr><td colspan="2" class="header">';
-            $fullname = $vc->getAttributeDefault('FN', false);
-            if ($fullname !== false) {
-                $html .= $fullname;
+            if (($fullname = $vc->getAttributeDefault('FN', false)) === false) {
+                $fullname = count($addresses)
+                    ? $addresses[0]['value']
+                    : Horde_Core_Translation::t("[No Label]");
             }
-            $html .= '</td></tr>';
+            $html .= $fullname . '</td></tr>';
 
             $n = $vc->printableName();
             if (!empty($n)) {
@@ -324,7 +327,6 @@ class Horde_Core_Mime_Viewer_Vcard extends Horde_Mime_Viewer_Base
                 }
             }
 
-            $addresses = $vc->getAllAttributes('EMAIL');
             $emails = array();
             foreach ($addresses as $address) {
                 if (isset($address['params']['TYPE'])) {