Aleksander Machniak
2016-01-26 5a30653024528988f77ac89d6206c22cadc454b3
Enigma: Don't display "bad password" warning when the password wasn't provided yet
3 files modified
16 ■■■■■ changed files
plugins/enigma/lib/enigma_engine.php 2 ●●● patch | view | raw | blame | history
plugins/enigma/lib/enigma_ui.php 12 ●●●●● patch | view | raw | blame | history
plugins/enigma/localization/en_US.inc 2 ●●●●● patch | view | raw | blame | history
plugins/enigma/lib/enigma_engine.php
@@ -198,7 +198,7 @@
        if ($result !== true) {
            if ($result->getCode() == enigma_error::BADPASS) {
                // ask for password
                $error = array('missing' => array($key->id => $key->name));
                $error = array('bad' => array($key->id => $key->name));
                return new enigma_error(enigma_error::BADPASS, '', $error);
            }
plugins/enigma/lib/enigma_ui.php
@@ -780,7 +780,9 @@
                        $this->enigma->gettext('decryptnokey')));
                }
                else if ($code == enigma_error::BADPASS) {
                    $msg = rcube::Q($this->enigma->gettext('decryptbadpass'));
                    $missing = $status->getData('missing');
                    $label   = 'decrypt' . (!empty($missing) ? 'no' : 'bad') . 'pass';
                    $msg     = rcube::Q($this->enigma->gettext($label));
                    $this->password_prompt($status);
                }
                else {
@@ -946,16 +948,16 @@
                $msg  = 'enigma.' . $mode . 'nokey';
            }
            else if ($code == enigma_error::BADPASS) {
                $msg  = 'enigma.' . $mode . 'badpass';
                $type = 'warning';
                $this->password_prompt($status);
            }
            else {
                $msg = 'enigma.' . $mode . 'error';
            }
            $this->rc->output->show_message($msg, $type ?: 'error', $vars);
            if ($msg) {
                $this->rc->output->show_message($msg, $type ?: 'error', $vars);
            }
            $this->rc->output->send('iframe');
        }
plugins/enigma/localization/en_US.inc
@@ -93,9 +93,11 @@
$messages['decrypterror'] = 'Decryption failed.';
$messages['decryptnokey'] = 'Decryption failed. Private key not found. Key ID: $keyid.';
$messages['decryptbadpass'] = 'Decryption failed. Bad password.';
$messages['decryptnopass'] = 'Decryption failed. Key password required.';
$messages['signerror'] = 'Signing failed.';
$messages['signnokey'] = 'Signing failed. Private key not found.';
$messages['signbadpass'] = 'Signing failed. Bad password.';
$messages['signnopass'] = 'Signing failed. Key password required.';
$messages['encrypterror'] = 'Encryption failed.';
$messages['encryptnokey'] = 'Encryption failed. Public key not found for $email.';
$messages['nokeysfound'] = 'No keys found';