From: Michael M Slusarz Date: Fri, 21 Jan 2011 18:40:49 +0000 (-0700) Subject: Bug #9514: Don't allow adding public key if already exists X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=a9e594706022287b78911885352cfb91f4b697d7;p=horde.git Bug #9514: Don't allow adding public key if already exists --- diff --git a/imp/lib/Mime/Viewer/Smime.php b/imp/lib/Mime/Viewer/Smime.php index 7169ff9ca..1d5b3ee08 100644 --- a/imp/lib/Mime/Viewer/Smime.php +++ b/imp/lib/Mime/Viewer/Smime.php @@ -295,7 +295,13 @@ class IMP_Mime_Viewer_Smime extends Horde_Mime_Viewer_Base isset($sig_result->email) && $GLOBALS['registry']->hasMethod('contacts/addField') && $GLOBALS['prefs']->getValue('add_source')) { - $status[] = '[' . $this->getConfigParam('imp_contents')->linkViewJS($this->_mimepart, 'view_attach', _("View Certificate"), array('params' => array('mode' => IMP_Contents::RENDER_INLINE, 'view_smime_key' => 1))) . '] [' . Horde::link('#', '', null, null, $this->_impsmime->savePublicKeyURL($this->getConfigParam('imp_contents')->getMailbox(), $this->getConfigParam('imp_contents')->getUid(), $base_id) . ' return false;') . _("Save Certificate in your Address Book") . ']'; + $status_out = '[' . $this->getConfigParam('imp_contents')->linkViewJS($this->_mimepart, 'view_attach', _("View Certificate"), array('params' => array('mode' => IMP_Contents::RENDER_INLINE, 'view_smime_key' => 1))) . ']'; + try { + $this->_impsmime->getPublicKey($sig_result->email); + } catch (Horde_Exception $e) { + $status_out .= ' [' . Horde::link('#', '', null, null, $this->_impsmime->savePublicKeyURL($this->getConfigParam('imp_contents')->getMailbox(), $this->getConfigParam('imp_contents')->getUid(), $base_id) . ' return false;') . _("Save Certificate in your Address Book") . ']'; + } + $status[] = $status_out; } } catch (Horde_Exception $e) { self::$_cache[$base_id]['status'][0]['icon'] = Horde::img('alerts/error.png', _("Error"));