diff options
Diffstat (limited to 'plugins/enigma')
| -rw-r--r-- | plugins/enigma/enigma.php | 9 | ||||
| -rw-r--r-- | plugins/enigma/lib/enigma_engine.php | 34 | ||||
| -rw-r--r-- | plugins/enigma/lib/enigma_ui.php | 5 | ||||
| -rw-r--r-- | plugins/enigma/skins/classic/templates/keys.html | 6 | 
4 files changed, 22 insertions, 32 deletions
| diff --git a/plugins/enigma/enigma.php b/plugins/enigma/enigma.php index c96b94620..25520a27d 100644 --- a/plugins/enigma/enigma.php +++ b/plugins/enigma/enigma.php @@ -47,6 +47,8 @@ class enigma extends rcube_plugin          $rcmail = rcmail::get_instance();          $this->rc = $rcmail; +        $section = rcube_utils::get_input_value('_section', rcube_utils::INPUT_GET); +          if ($this->rc->task == 'mail') {              // message parse/display hooks              $this->add_hook('message_part_structure', array($this, 'parse_structure')); @@ -79,7 +81,6 @@ class enigma extends rcube_plugin              $this->register_action('plugin.enigma', array($this, 'preferences_ui'));              // grab keys/certs management iframe requests -            $section = rcube_utils::get_input_value('_section', rcube_utils::INPUT_GET);              if ($this->rc->action == 'edit-prefs' && preg_match('/^enigma(certs|keys)/', $section)) {                  $this->load_ui();                  $this->ui->init($section); @@ -148,7 +149,7 @@ class enigma extends rcube_plugin       */      function parse_structure($p)      { -        $struct = $p['structure']; +//        $struct = $p['structure'];          if ($p['mimetype'] == 'text/plain' || $p['mimetype'] == 'application/pgp') {              $this->parse_plain($p); @@ -390,7 +391,7 @@ class enigma extends rcube_plugin      function message_load($p)      {          $this->message = $p['object']; -     +          // handle attachments vcard attachments          foreach ((array)$this->message->attachments as $attachment) {              if ($this->is_keys_part($attachment)) { @@ -398,7 +399,7 @@ class enigma extends rcube_plugin              }          }          // the same with message bodies -        foreach ((array)$this->message->parts as $idx => $part) { +        foreach ((array)$this->message->parts as $part) {              if ($this->is_keys_part($part)) {                  $this->keys_parts[] = $part->mime_id;                  $this->keys_bodies[] = $part->mime_id; diff --git a/plugins/enigma/lib/enigma_engine.php b/plugins/enigma/lib/enigma_engine.php index 220d6c0b3..8a64c07ff 100644 --- a/plugins/enigma/lib/enigma_engine.php +++ b/plugins/enigma/lib/enigma_engine.php @@ -374,17 +374,15 @@ class enigma_engine      {          // @TODO: Handle big bodies using (temp) files          // @TODO: caching of verification result -         -         $sig = $this->pgp_driver->verify($msg_body, $sig_body); +        $sig = $this->pgp_driver->verify($msg_body, $sig_body); -         if (($sig instanceof enigma_error) && $sig->getCode() != enigma_error::E_KEYNOTFOUND) -             rcube::raise_error(array( +        if (($sig instanceof enigma_error) && $sig->getCode() != enigma_error::E_KEYNOTFOUND) +            rcube::raise_error(array(                  'code' => 600, 'type' => 'php',                  'file' => __FILE__, 'line' => __LINE__, -                'message' => "Enigma plugin: " . $error->getMessage() +                'message' => "Enigma plugin: " . $sig->getMessage()                  ), true, false); -//print_r($sig);          return $sig;      } @@ -399,11 +397,9 @@ class enigma_engine      {          // @TODO: Handle big bodies using (temp) files          // @TODO: caching of verification result -         +        $key = ''; $pass = ''; // @TODO          $result = $this->pgp_driver->decrypt($msg_body, $key, $pass); -//print_r($result); -          if ($result instanceof enigma_error) {              $err_code = $result->getCode();              if (!in_array($err_code, array(enigma_error::E_KEYNOTFOUND, enigma_error::E_BADPASS))) @@ -430,7 +426,7 @@ class enigma_engine      {          $this->load_pgp_driver();          $result = $this->pgp_driver->list_keys($pattern); -     +          if ($result instanceof enigma_error) {              rcube::raise_error(array(                  'code' => 600, 'type' => 'php', @@ -438,7 +434,7 @@ class enigma_engine                  'message' => "Enigma plugin: " . $result->getMessage()                  ), true, false);          } -         +          return $result;      } @@ -501,9 +497,11 @@ class enigma_engine          $uid     = rcube_utils::get_input_value('_uid', rcube_utils::INPUT_POST);          $mbox    = rcube_utils::get_input_value('_mbox', rcube_utils::INPUT_POST);          $mime_id = rcube_utils::get_input_value('_part', rcube_utils::INPUT_POST); +        $storage = $this->rc->get_storage();          if ($uid && $mime_id) { -            $part = $this->rc->storage->get_message_part($uid, $mime_id); +            $storage->set_folder($mbox); +            $part = $storage->get_message_part($uid, $mime_id);          }          if ($part && is_array($result = $this->import_key($part))) { @@ -532,16 +530,4 @@ class enigma_engine                  $uid, $part->mime_id, $part);          }      } - -    /** -     * Adds CSS style file to the page header. -     */ -    private function add_css() -    { -        $skin = $this->rc->config->get('skin'); -        if (!file_exists($this->home . "/skins/$skin/enigma.css")) -            $skin = 'default'; - -        $this->include_stylesheet("skins/$skin/enigma.css");                                                 -    }  } diff --git a/plugins/enigma/lib/enigma_ui.php b/plugins/enigma/lib/enigma_ui.php index 47366b7e8..adb619d0c 100644 --- a/plugins/enigma/lib/enigma_ui.php +++ b/plugins/enigma/lib/enigma_ui.php @@ -176,8 +176,7 @@ class enigma_ui          $search   = rcube_utils::get_input_value('_q', rcube_utils::INPUT_GPC);          // define list of cols to be displayed -        $a_show_cols = array('name'); -        $result = array(); +//        $a_show_cols = array('name');          // Get the list          $list = $this->enigma->engine->list_keys($search); @@ -200,7 +199,7 @@ class enigma_ui                  $size = count($list);                  // Add rows -                foreach($list as $idx => $key) { +                foreach ($list as $key) {                      $this->rc->output->command('enigma_add_list_row',                          array('name' => rcube::Q($key->name), 'id' => $key->id));                  } diff --git a/plugins/enigma/skins/classic/templates/keys.html b/plugins/enigma/skins/classic/templates/keys.html index 4271eccb7..f581c457b 100644 --- a/plugins/enigma/skins/classic/templates/keys.html +++ b/plugins/enigma/skins/classic/templates/keys.html @@ -13,7 +13,7 @@  }  </style>  </head> -<body class="iframe" onload="rcube_init_mail_ui()"> +<body class="iframe">  <div id="prefs-title" class="boxtitle"><roundcube:label name="enigma.enigmakeys" /></div>  <div id="prefs-details" class="boxcontent"> @@ -72,5 +72,9 @@      </ul>  </div> +<script type="text/javascript"> +rcube_init_mail_ui(); +</script> +  </body>  </html> | 
