From 830fd2ecbb67c395617e1cc38f343d12af0a2861 Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Fri, 28 Dec 2012 09:33:48 -0500
Subject: [PATCH] Display PGP/MIME signature attachments as "Digital Signature" (#1488570)
---
CHANGELOG | 1 +
program/steps/mail/func.inc | 9 ++++++++-
program/localization/en_US/labels.inc | 1 +
program/steps/mail/show.inc | 2 +-
4 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/CHANGELOG b/CHANGELOG
index 5f010ac..687fd89 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 fa8f33d..b5fcee4 100644
--- a/program/localization/en_US/labels.inc
+++ b/program/localization/en_US/labels.inc
@@ -378,6 +378,7 @@
$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 bedd3e8..44a1557 100644
--- a/program/steps/mail/func.inc
+++ b/program/steps/mail/func.inc
@@ -1838,7 +1838,7 @@
}
// 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 @@
$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 22f4ff4..64e6288 100644
--- a/program/steps/mail/show.inc
+++ b/program/steps/mail/show.inc
@@ -150,7 +150,7 @@
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);
--
Gitblit v1.9.1