Aleksander Machniak
2014-02-16 a622451bc50c68f2c735ed4bd997a2101006e06c
plugins/managesieve/lib/Roundcube/rcube_sieve_engine.php
@@ -53,7 +53,7 @@
        "x-beenthere",
    );
    const VERSION  = '7.0';
    const VERSION  = '7.2';
    const PROGNAME = 'Roundcube (Managesieve)';
    const PORT     = 4190;
@@ -132,6 +132,11 @@
            // Get list of scripts
            $list = $this->list_scripts();
            // reset current script when entering filters UI (#1489412)
            if ($this->rc->action == 'plugin.managesieve') {
                $this->rc->session->remove('managesieve_current');
            }
            if (!empty($_GET['_set']) || !empty($_POST['_set'])) {
                $script_name = rcube_utils::get_input_value('_set', rcube_utils::INPUT_GPC, true);
            }
@@ -179,15 +184,20 @@
                case SIEVE_ERROR_CONNECTION:
                case SIEVE_ERROR_LOGIN:
                    $this->rc->output->show_message('managesieve.filterconnerror', 'error');
                    rcube::raise_error(array('code' => 403, 'type' => 'php',
                        'file' => __FILE__, 'line' => __LINE__,
                        'message' => "Unable to connect to managesieve on $host:$port"), true, false);
                    break;
                default:
                    $this->rc->output->show_message('managesieve.filterunknownerror', 'error');
                    break;
            }
            rcube::raise_error(array('code' => 403, 'type' => 'php',
                'file' => __FILE__, 'line' => __LINE__,
                'message' => "Unable to connect to managesieve on $host:$port"), true, false);
            // reload interface in case of possible error when specified script wasn't found (#1489412)
            if ($script_name !== null && !empty($list) && !in_array($script_name, $list)) {
                $this->rc->output->command('reload', 500);
            }
            // to disable 'Add filter' button set env variable
            $this->rc->output->set_env('filterconnerror', true);
@@ -1632,11 +1642,12 @@
            $domain_select = new html_select(array('name' => "_action_target_domain[$id]", 'id' => 'action_target_domain'.$id));
            $domain_select->add(array_combine($domains, $domains));
            $parts = explode('@', $action['target']);
            if (!empty($parts)) {
                $action['domain'] = array_pop($parts);
                $action['target'] = implode('@', $parts);
            if ($action['type'] == 'redirect') {
                $parts = explode('@', $action['target']);
                if (!empty($parts)) {
                    $action['domain'] = array_pop($parts);
                    $action['target'] = implode('@', $parts);
                }
            }
        }
@@ -1778,7 +1789,7 @@
            'maxlength' => 100,
            'id' => 'action_mailbox' . $id,
            'name' => "_action_mailbox[$id]",
            'style' => 'display:'.(!isset($action) || $action['type']=='fileinto' ? 'inline' : 'none')
            'style' => 'display:'.(empty($action['type']) || $action['type'] == 'fileinto' ? 'inline' : 'none')
        ));
        $out .= $select->show($mailbox);
        $out .= '</td>';