Ejemplo n.º 1
0
 function request_action()
 {
     $this->add_texts('localization');
     $rcmail = rcmail::get_instance();
     if (isset($_POST['_enabled_auto_archive'])) {
         //auto archive toggle
         $_SESSION['epesi_auto_archive'] = get_input_value('_enabled_auto_archive', RCUBE_INPUT_POST);
         return;
     }
     //archive button
     $uids = get_input_value('_uid', RCUBE_INPUT_POST);
     $mbox = get_input_value('_mbox', RCUBE_INPUT_POST);
     if ($mbox == $this->archive_mbox || $mbox == $this->archive_sent_mbox || $mbox == $rcmail->config->get('drafts_mbox')) {
         $rcmail->output->command('display_message', $this->gettext('invalidfolder'), 'error');
         return;
     }
     $sent_mbox = $rcmail->config->get('sent_mbox') == $mbox;
     $uids = explode(',', $uids);
     if ($this->archive($uids)) {
         global $account;
         if (isset($account['f_use_epesi_archive_directories']) && $account['f_use_epesi_archive_directories']) {
             if ($sent_mbox) {
                 $rcmail->output->command('move_messages', $this->archive_sent_mbox);
             } else {
                 $rcmail->output->command('move_messages', $this->archive_mbox);
             }
         }
         $rcmail->output->command('display_message', $this->gettext('archived'), 'confirmation');
     }
     global $E_SESSION_ID, $E_SESSION;
     $tmp = $_SESSION;
     $_SESSION = $E_SESSION;
     DBSession::write($E_SESSION_ID, '');
     $_SESSION = $tmp;
 }