From c9e2ab488e047295eae76bdd0cb2d1807c191ee5 Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Thu, 21 Jan 2016 05:05:01 -0500
Subject: [PATCH] Enigma: Fix handling of encrypted + signed messages (#1490632)
---
plugins/enigma/lib/enigma_ui.php | 16 +++++++++++-----
1 files changed, 11 insertions(+), 5 deletions(-)
diff --git a/plugins/enigma/lib/enigma_ui.php b/plugins/enigma/lib/enigma_ui.php
index c12ac41..e32dee2 100644
--- a/plugins/enigma/lib/enigma_ui.php
+++ b/plugins/enigma/lib/enigma_ui.php
@@ -756,15 +756,21 @@
return $p;
}
- $engine = $this->enigma->engine;
- $part_id = $p['part']->mime_id;
+ $engine = $this->enigma->engine;
+ $part_id = $p['part']->mime_id;
+ $parent_id = preg_replace('/\.[0-9]+$/', '', $part_id);
// Decryption status
- if (isset($engine->decryptions[$part_id])) {
+ if (($status = $engine->decryptions[$part_id])
+ || ($parent_id !== '' && ($status = $engine->decryptions[$parent_id]))
+ ) {
$attach_scripts = true;
- // get decryption status
- $status = $engine->decryptions[$part_id];
+ // show the message only once
+ unset($engine->decryptions[$part_id]);
+ if ($parent_id !== '') {
+ unset($engine->decryptions[$parent_id]);
+ }
// display status info
$attrib['id'] = 'enigma-message';
--
Gitblit v1.9.1