Clean up passphrase dialog output code
authorMichael M Slusarz <slusarz@curecanti.org>
Thu, 25 Feb 2010 06:22:05 +0000 (23:22 -0700)
committerMichael M Slusarz <slusarz@curecanti.org>
Thu, 25 Feb 2010 06:27:03 +0000 (23:27 -0700)
imp/compose.php
imp/lib/Ui/Compose.php

index 908bf11..18a8fcc 100644 (file)
@@ -22,7 +22,7 @@ $header = array();
 $msg = '';
 
 $get_sig = true;
-$pgp_passphrase_dialog = $pgp_symmetric_passphrase_dialog = $showmenu = $smime_passphrase_dialog = false;
+$showmenu = false;
 $cursor_pos = $oldrtemode = $rtemode = $siglocation = null;
 
 /* Set the current identity. */
@@ -430,15 +430,15 @@ case 'send_message':
         // TODO
         switch ($e->encrypt) {
         case 'pgp_symmetric_passphrase_dialog':
-            $pgp_symmetric_passphrase_dialog = true;
+            $imp_ui->passphraseDialog('pgp_symm', $imp_compose->getCacheId());
             break;
 
         case 'pgp_passphrase_dialog':
-            $pgp_passphrase_dialog = true;
+            $imp_ui->passphraseDialog('pgp');
             break;
 
         case 'smime_passphrase_dialog':
-            $smime_passphrase_dialog = true;
+            $imp_ui->passphraseDialog('smime');
             break;
         }
         break;
@@ -661,23 +661,6 @@ if ($get_sig && isset($msg) && !empty($sig)) {
     }
 }
 
-/* Open the passphrase window here. */
-if ($pgp_passphrase_dialog || $pgp_symmetric_passphrase_dialog) {
-    if ($pgp_passphrase_dialog) {
-        Horde::addInlineScript(array(
-           IMP::passphraseDialogJS('PGPPersonal')
-       ), 'dom');
-    } else {
-        Horde::addInlineScript(array(
-            IMP::passphraseDialogJS('PGPSymmetric', array('symmetricid' => 'imp_compose_' . $composeCacheID))
-       ), 'dom');
-    }
-} elseif ($smime_passphrase_dialog) {
-    Horde::addInlineScript(array(
-        IMP::passphraseDialogJS('SMIMEPersonal')
-    ), 'dom');
-}
-
 /* If PGP encryption is set by default, and we have a recipient list on first
  * load, make sure we have public keys for all recipients. */
 $encrypt_options = $prefs->isLocked('default_encrypt')
index 664f004..9742686 100644 (file)
@@ -295,4 +295,29 @@ class IMP_Ui_Compose
         require $GLOBALS['registry']->get('templates', 'horde') . '/common-footer.inc';
     }
 
+    /**
+     * Outputs the script necessary to generate the passphrase dialog box.
+     *
+     * @param string $type     Either 'pgp', 'pgp_symm', or 'smime'.
+     * @param string $cacheid  Compose cache ID (only needed for 'pgp_symm').
+     */
+    public function passphraseDialog($type, $cacheid = null)
+    {
+        switch ($type) {
+        case 'pgp':
+            $js = IMP::passphraseDialogJS('PGPPersonal');
+            break;
+
+        case 'pgp_symm':
+            $js = IMP::passphraseDialogJS('PGPSymmetric', array('symmetricid' => 'imp_compose_' . $cacheid));
+            break;
+
+        case 'smime':
+            $js = IMP::passphraseDialogJS('SMIMEPersonal');
+            break;
+        }
+
+        Horde::addInlineScript(array($js), 'dom');
+    }
+
 }