forked from extern/egroupware
S/MIME:
- Fix PGP signed messages get shown as red - Fix attachments area always gets displayed
This commit is contained in:
parent
7e275df4e4
commit
1a8e584e0c
@ -5611,12 +5611,13 @@ class Mail
|
||||
if (is_object($mail))
|
||||
{
|
||||
$structure = $mail->getStructure();
|
||||
$isSmime = Mail\Smime::isSmime($structure->getType()) || Mail\Smime::isSmimeSignatureOnly($structure->getType());
|
||||
$isSmime = Mail\Smime::isSmime(($mimeType = $structure->getType())) || Mail\Smime::isSmimeSignatureOnly(($protocol=$structure->getContentTypeParameter('protocol')));
|
||||
if ($isSmime)
|
||||
{
|
||||
return $this->resolveSmimeMessage($structure, array(
|
||||
'uid' => $_uid,
|
||||
'mailbox' => $_folder
|
||||
'mailbox' => $_folder,
|
||||
'mimeType' => Mail\Smime::isSmime($protocol) ? $protocol: $mimeType
|
||||
));
|
||||
}
|
||||
return $mail->getStructure();
|
||||
@ -5927,11 +5928,14 @@ class Mail
|
||||
if ($_partID != '')
|
||||
{
|
||||
$mailStructureObject = $_headerObject->getStructure();
|
||||
if (Mail\Smime::isSmime(($smime_type = $mailStructureObject->getType())))
|
||||
if (Mail\Smime::isSmime(($mimeType = $mailStructureObject->getType())) ||
|
||||
Mail\Smime::isSmimeSignatureOnly(($protocol=$mailStructureObject->getContentTypeParameter('protocol'))))
|
||||
{
|
||||
$mailStructureObject = $this->resolveSmimeMessage($mailStructureObject, array(
|
||||
'uid' => $_uid,
|
||||
'mailbox' => $_folder
|
||||
'mailbox' => $_folder,
|
||||
'mimeType' => Mail\Smime::isSmime($protocol) ? $protocol : $mimeType
|
||||
|
||||
));
|
||||
}
|
||||
$mailStructureObject->contentTypeMap();
|
||||
@ -7338,8 +7342,7 @@ class Mail
|
||||
{
|
||||
// default params
|
||||
$params = array_merge(array(
|
||||
'passphrase' => '',
|
||||
'mimeType' => $_mime_part->getType()
|
||||
'passphrase' => ''
|
||||
), $_params);
|
||||
|
||||
$metadata = array (
|
||||
|
@ -39,8 +39,7 @@ class Smime extends Horde_Crypt_Smime
|
||||
*/
|
||||
static $SMIME_SIGNATURE_ONLY_TYPES = array (
|
||||
'application/x-pkcs7-signature',
|
||||
'application/pkcs7-signature',
|
||||
'multipart/signed'
|
||||
'application/pkcs7-signature'
|
||||
);
|
||||
|
||||
/**
|
||||
|
@ -1829,6 +1829,17 @@ $filter['before']= date("d-M-Y", $cutoffdate2);
|
||||
$data['uid'] = $message_uid;
|
||||
$data['row_id']=$this->createRowID($_folderName,$message_uid);
|
||||
|
||||
if (is_array($header['attachments']))
|
||||
{
|
||||
foreach ($header['attachments'] as $attch)
|
||||
{
|
||||
if (Mail\Smime::isSmime($attch['mimeType']))
|
||||
{
|
||||
$data['smime'] = Mail\Smime::isSmimeSignatureOnly($attch['mimeType']) ? 'smimeSignature' : 'smimeEncryption';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$flags = "";
|
||||
if(!empty($header['recent'])) $flags .= "R";
|
||||
if(!empty($header['flagged'])) $flags .= "F";
|
||||
@ -2020,16 +2031,6 @@ $filter['before']= date("d-M-Y", $cutoffdate2);
|
||||
{
|
||||
$data["bodypreview"] = $header['bodypreview'];
|
||||
}
|
||||
if (is_array($data['attachmentsBlock']))
|
||||
{
|
||||
foreach ($data['attachmentsBlock'] as &$attch)
|
||||
{
|
||||
if (Mail\Smime::isSmime($attch['type']))
|
||||
{
|
||||
$data['smime'] = Mail\Smime::isSmimeSignatureOnly($attch['type']) ? 'smimeSignature' : 'smimeEncryption';
|
||||
}
|
||||
}
|
||||
}
|
||||
$rv[] = $data;
|
||||
//error_log(__METHOD__.__LINE__.array2string($data));
|
||||
}
|
||||
@ -2344,6 +2345,7 @@ $filter['before']= date("d-M-Y", $cutoffdate2);
|
||||
|
||||
foreach ($attachments as $key => $value)
|
||||
{
|
||||
if (Mail\Smime::isSmime($value['mimeType'])) continue;
|
||||
$attachmentHTML[$key]['filename']= ($value['name'] ? ( $value['filename'] ? $value['filename'] : $value['name'] ) : lang('(no subject)'));
|
||||
$attachmentHTML[$key]['filename'] = Api\Translation::convert_jsonsafe($attachmentHTML[$key]['filename'],'utf-8');
|
||||
//error_log(array2string($value));
|
||||
|
@ -5777,6 +5777,7 @@ app.classes.mail = AppJS.extend(
|
||||
var mailPreview = this.et2.getWidgetById('mailPreviewContainer');
|
||||
if (attachmentArea && _attachments && _attachments.length > 0)
|
||||
{
|
||||
attachmentArea.getParent().set_disabled(false);
|
||||
content.data[attachmentArea.id] = _attachments;
|
||||
this.et2.setArrayMgr('contnet', content);
|
||||
attachmentArea.getDOMNode().classList.remove('loading');
|
||||
@ -5792,6 +5793,10 @@ app.classes.mail = AppJS.extend(
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
attachmentArea.getParent().set_disabled(true);
|
||||
}
|
||||
},
|
||||
/**
|
||||
* This function helps to trigger the Push notification immidiately.
|
||||
|
@ -937,4 +937,5 @@ img.smime_cert_notvalid {
|
||||
}
|
||||
img.smime_cert_unknownemail {
|
||||
background: #a28cff;
|
||||
}
|
||||
}
|
||||
.smimeIcons {position: absolute;right: 0;}
|
@ -35,6 +35,10 @@
|
||||
</hbox>
|
||||
<buttononly class="et2_button ui-button" label="Show all Addresses" image="foldertree_nolines_plus" onclick="app.mail.showAllHeader"/>
|
||||
</hbox>
|
||||
<hbox class="mailPreviewHeaders smimeIcons">
|
||||
<image id="smime_signature" src="smimeSignature" statustext="Smime signed message" disabled="true" align="right" width="24"/>
|
||||
<image id="smime_encryption" src="smimeEncryption" statustext="Smime encrypted message" disabled="true" align="right" width="24"/>
|
||||
</hbox>
|
||||
<hbox id="mailPreviewHeadersAttachments" class="mailPreviewHeaders">
|
||||
<description value="Attachments"/>
|
||||
<grid disabled="@no_griddata" id="previewAttachmentArea" class="previewAttachmentArea egwGridView_grid">
|
||||
@ -66,12 +70,7 @@
|
||||
</rows>
|
||||
</grid>
|
||||
<buttononly class="et2_button ui-button" label="Show all attachments" image="foldertree_nolines_plus" width="16px" height="16px" onclick="app.mail.showAllHeader"/>
|
||||
<hbox class="mailPreviewHeaders">
|
||||
<image id="smime_signature" src="smimeSignature" statustext="Smime signed message" disabled="true" align="right" width="24"/>
|
||||
<image id="smime_encryption" src="smimeEncryption" statustext="Smime encrypted message" disabled="true" align="right" width="24"/>
|
||||
</hbox>
|
||||
</hbox>
|
||||
|
||||
<box id="mailPreviewContainer">
|
||||
<iframe frameborder="1" id="messageIFRAME" scrolling="auto"/>
|
||||
</box>
|
||||
|
@ -925,6 +925,10 @@ img.smime_cert_notvalid {
|
||||
img.smime_cert_unknownemail {
|
||||
background: #a28cff;
|
||||
}
|
||||
.smimeIcons {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
}
|
||||
#popupMainDiv {
|
||||
padding: 5px;
|
||||
}
|
||||
|
@ -913,6 +913,10 @@ img.smime_cert_notvalid {
|
||||
img.smime_cert_unknownemail {
|
||||
background: #a28cff;
|
||||
}
|
||||
.smimeIcons {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
}
|
||||
#popupMainDiv {
|
||||
padding: 5px;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user