diff options
| author | alec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c> | 2010-05-04 11:19:27 +0000 |
|---|---|---|
| committer | alec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c> | 2010-05-04 11:19:27 +0000 |
| commit | bf3f51e74d660e3d0efcff2739c58e932fdec72b (patch) | |
| tree | 2443f623f3da276febdcbd2fa8b304433d5e38d9 /plugins/managesieve/managesieve.php | |
| parent | 9bc4e105b040fcde268cd04a4cca3803f935119a (diff) | |
- Fix filters set activation, add possibility to deactivate sets (#1486699)
git-svn-id: https://svn.roundcube.net/trunk@3592 208e9e7b-5314-0410-a742-e7e81cd9613c
Diffstat (limited to 'plugins/managesieve/managesieve.php')
| -rw-r--r-- | plugins/managesieve/managesieve.php | 64 |
1 files changed, 38 insertions, 26 deletions
diff --git a/plugins/managesieve/managesieve.php b/plugins/managesieve/managesieve.php index 36746782e..0d9042eff 100644 --- a/plugins/managesieve/managesieve.php +++ b/plugins/managesieve/managesieve.php @@ -156,11 +156,11 @@ class managesieve extends rcube_plugin { if ($this->sieve->script->update_rule($fid, $this->script[$fid-1]) !== false && $this->sieve->script->update_rule($fid-1, $this->script[$fid]) !== false) - $result = $this->sieve->save(); + $result = $this->sieve->save(); if ($result) { // $this->rc->output->show_message('managesieve.filtersaved', 'confirmation'); - $this->rc->output->command('managesieve_updatelist', 'up', '', $fid); + $this->rc->output->command('managesieve_updatelist', 'up', '', $fid); } else $this->rc->output->show_message('managesieve.filtersaveerror', 'error'); } @@ -171,15 +171,15 @@ class managesieve extends rcube_plugin { if ($this->sieve->script->update_rule($fid, $this->script[$fid+1]) !== false && $this->sieve->script->update_rule($fid+1, $this->script[$fid]) !== false) - $result = $this->sieve->save(); + $result = $this->sieve->save(); if ($result === true) { // $this->rc->output->show_message('managesieve.filtersaved', 'confirmation'); - $this->rc->output->command('managesieve_updatelist', 'down', '', $fid); + $this->rc->output->command('managesieve_updatelist', 'down', '', $fid); } else { $this->rc->output->show_message('managesieve.filtersaveerror', 'error'); } - } + } } else if ($action=='delete' && !$error) { @@ -189,45 +189,57 @@ class managesieve extends rcube_plugin $result = $this->sieve->save(); if ($result === true) { - $this->rc->output->show_message('managesieve.filterdeleted', 'confirmation'); - $this->rc->output->command('managesieve_updatelist', 'delete', '', $fid); + $this->rc->output->show_message('managesieve.filterdeleted', 'confirmation'); + $this->rc->output->command('managesieve_updatelist', 'delete', '', $fid); } else { $this->rc->output->show_message('managesieve.filterdeleteerror', 'error'); } - } + } } else if ($action=='setact' && !$error) { $script_name = get_input_value('_set', RCUBE_INPUT_GPC); - $result = $this->sieve->activate($script_name); + $result = $this->sieve->activate($script_name); - if ($result === true) { + if ($result === true) { $this->rc->output->set_env('active_set', $script_name); - $this->rc->output->show_message('managesieve.setactivated', 'confirmation'); - $this->rc->output->command('enable_command', 'plugin.managesieve-setact', false); - $this->rc->output->command('managesieve_reset', $script_name); - $_SESSION['managesieve_active'] = $script_name; - } else { + $this->rc->output->show_message('managesieve.setactivated', 'confirmation'); + $this->rc->output->command('managesieve_reset'); + $_SESSION['managesieve_active'] = $script_name; + } else { $this->rc->output->show_message('managesieve.setactivateerror', 'error'); - } + } + } + else if ($action=='deact' && !$error) + { + $result = $this->sieve->deactivate(); + + if ($result === true) { + $this->rc->output->set_env('active_set', ''); + $this->rc->output->show_message('managesieve.setdeactivated', 'confirmation'); + $this->rc->output->command('managesieve_reset'); + $_SESSION['managesieve_active'] = ''; + } else { + $this->rc->output->show_message('managesieve.setdeactivateerror', 'error'); + } } else if ($action=='setdel' && !$error) { $script_name = get_input_value('_set', RCUBE_INPUT_GPC); - $result = $this->sieve->remove($script_name); + $result = $this->sieve->remove($script_name); - if ($result === true) { - $this->rc->output->show_message('managesieve.setdeleted', 'confirmation'); - $this->rc->output->command('managesieve_reload'); - $this->rc->session->remove('managesieve_current'); - } else { + if ($result === true) { + $this->rc->output->show_message('managesieve.setdeleted', 'confirmation'); + $this->rc->output->command('managesieve_reload'); + $this->rc->session->remove('managesieve_current'); + } else { $this->rc->output->show_message('managesieve.setdeleteerror', 'error'); - } + } } else if ($action=='setget') { $script_name = get_input_value('_set', RCUBE_INPUT_GPC); - $script = $this->sieve->get_script($script_name); + $script = $this->sieve->get_script($script_name); if (PEAR::isError($script)) exit; @@ -624,8 +636,8 @@ class managesieve extends rcube_plugin // set client env $this->rc->output->add_gui_object('filtersetslist', $attrib['id']); - $this->rc->output->add_label('managesieve.setdeleteconfirm'); - $this->rc->output->add_label('managesieve.active'); + $this->rc->output->add_label('managesieve.setdeleteconfirm', + 'managesieve.active', 'managesieve.filtersetact', 'managesieve.filtersetdeact'); return $out; } |
