From 830fd2ecbb67c395617e1cc38f343d12af0a2861 Mon Sep 17 00:00:00 2001 From: Aleksander Machniak Date: Fri, 28 Dec 2012 15:33:48 +0100 Subject: Display PGP/MIME signature attachments as "Digital Signature" (#1488570) --- CHANGELOG | 1 + program/localization/en_US/labels.inc | 1 + program/steps/mail/func.inc | 9 ++++++++- program/steps/mail/show.inc | 2 +- 4 files changed, 11 insertions(+), 2 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 5f010acb3..687fd8929 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,7 @@ CHANGELOG Roundcube Webmail =========================== +- Display PGP/MIME signature attachments as "Digital Signature" (#1488570) - Workaround UW-IMAP bug where hierarchy separator is added to the shared folder name (#1488879) - Fix version comparisons with -stable suffix (#1488876) - Add unsupported alternative parts to attachments list (#1488870) diff --git a/program/localization/en_US/labels.inc b/program/localization/en_US/labels.inc index fa8f33d6d..b5fcee496 100644 --- a/program/localization/en_US/labels.inc +++ b/program/localization/en_US/labels.inc @@ -378,6 +378,7 @@ $labels['preferhtml'] = 'Display HTML'; $labels['defaultcharset'] = 'Default Character Set'; $labels['htmlmessage'] = 'HTML Message'; $labels['messagepart'] = 'Part'; +$labels['digitalsig'] = 'Digital Signature'; $labels['dateformat'] = 'Date format'; $labels['timeformat'] = 'Time format'; $labels['prettydate'] = 'Pretty dates'; diff --git a/program/steps/mail/func.inc b/program/steps/mail/func.inc index bedd3e8ea..44a1557c3 100644 --- a/program/steps/mail/func.inc +++ b/program/steps/mail/func.inc @@ -1838,7 +1838,7 @@ function rcmail_fix_mimetype($name) } // return attachment filename, handle empty filename case -function rcmail_attachment_name($attachment) +function rcmail_attachment_name($attachment, $display = false) { $filename = $attachment->filename; @@ -1858,6 +1858,13 @@ function rcmail_attachment_name($attachment) $filename = preg_replace('[\r\n]', '', $filename); + // Display smart names for some known mimetypes + if ($display) { + if (preg_match('/application\/(pgp|pkcs7)-signature/i', $attachment->mimetype)) { + $filename = rcube_label('digitalsig'); + } + } + return $filename; } diff --git a/program/steps/mail/show.inc b/program/steps/mail/show.inc index 22f4ff4c2..64e628880 100644 --- a/program/steps/mail/show.inc +++ b/program/steps/mail/show.inc @@ -150,7 +150,7 @@ function rcmail_message_attachments($attrib) if (sizeof($MESSAGE->attachments)) { foreach ($MESSAGE->attachments as $attach_prop) { - $filename = rcmail_attachment_name($attach_prop); + $filename = rcmail_attachment_name($attach_prop, true); if ($PRINT_MODE) { $size = $RCMAIL->message_part_size($attach_prop); -- cgit v1.2.3