* Mail: show s/mime signed/encrypted icons in mail display popup (verification is only shown in preview!)

This commit is contained in:
ralf 2024-08-29 11:42:26 +02:00
parent 7211d5931c
commit 75662dd424
4 changed files with 13 additions and 5 deletions

View File

@ -40,7 +40,7 @@ class Image extends Etemplate\Widget
if (empty($app) || empty($img) || !is_dir(EGW_SERVER_ROOT.'/'.$app) || strpos($img,'/')!==false) if (empty($app) || empty($img) || !is_dir(EGW_SERVER_ROOT.'/'.$app) || strpos($img,'/')!==false)
{ {
$img = $image; $img = $image;
list($app) = explode('.',$form_name); list($app) = explode('.', self::$request->template['name']);
} }
$src = Api\Image::find($app, $img); $src = Api\Image::find($app, $img);
/*if(!$this->id) /*if(!$this->id)

View File

@ -5479,6 +5479,7 @@ class Mail
else else
{ {
$fquery->headerText(array('peek'=>$preserveUnSeen)); $fquery->headerText(array('peek'=>$preserveUnSeen));
$fquery->structure();
} }
$fquery->size(); $fquery->size();
@ -5489,9 +5490,9 @@ class Mail
foreach($headersNew as $_fetchObject) foreach($headersNew as $_fetchObject)
{ {
$headers = $_fetchObject->getHeaderText(0,Horde_Imap_Client_Data_Fetch::HEADER_PARSE); $headers = $_fetchObject->getHeaderText(0,Horde_Imap_Client_Data_Fetch::HEADER_PARSE);
$mailStructureObject = $_fetchObject->getStructure();
if ($_partID != '') if ($_partID != '')
{ {
$mailStructureObject = $_fetchObject->getStructure();
foreach ($mailStructureObject->contentTypeMap() as $mime_id => $mime_type) foreach ($mailStructureObject->contentTypeMap() as $mime_id => $mime_type)
{ {
if ($mime_id==$_partID) if ($mime_id==$_partID)
@ -5512,6 +5513,7 @@ class Mail
} }
$retValue = is_object($headers) ? $headers->toArray():array(); $retValue = is_object($headers) ? $headers->toArray():array();
if ($size) $retValue['size'] = $size; if ($size) $retValue['size'] = $size;
$retValue['smimeType'] = Mail\Smime::getSmimeType($mailStructureObject);
} }
$retValue = array_change_key_case($retValue,CASE_UPPER); $retValue = array_change_key_case($retValue,CASE_UPPER);
//error_log(__METHOD__.' ('.__LINE__.') '.array2string($retValue)); //error_log(__METHOD__.' ('.__LINE__.') '.array2string($retValue));

View File

@ -2324,6 +2324,12 @@ $filter['before']= date("d-M-Y", $cutoffdate2);
$content['mail_id']=$rowID; $content['mail_id']=$rowID;
if ($headers['SMIMETYPE'])
{
$content['smime'] = Mail\Smime::isSmimeSignatureOnly($headers['SMIMETYPE'])?
Mail\Smime::TYPE_SIGN : Mail\Smime::TYPE_ENCRYPT;
}
// DRAG attachments actions // DRAG attachments actions
$etpl->setElementAttribute('mail_displayattachments', 'actions', array( $etpl->setElementAttribute('mail_displayattachments', 'actions', array(
'file_drag' => array( 'file_drag' => array(

View File

@ -2423,9 +2423,9 @@ app.classes.mail = AppJS.extend(
// Check if this is a top level node and // Check if this is a top level node and
// change profile if server has changed // change profile if server has changed
var server = _folder.split('::'); var server = _folder.split('::');
var previousServer = _previous.split('::'); var previousServer = _previous?.split('::');
var profile_selected = (_folder.indexOf('::') === -1); var profile_selected = (_folder.indexOf('::') === -1);
if (server[0] != previousServer[0] && profile_selected) if ((!previousServer || server[0] != previousServer[0]) && profile_selected)
{ {
// mail_changeProfile triggers a refresh, no need to do any more // mail_changeProfile triggers a refresh, no need to do any more
return this.mail_changeProfile(_folder,_widget, _widget.getSelectedNode().childsCount == 0); return this.mail_changeProfile(_folder,_widget, _widget.getSelectedNode().childsCount == 0);