/** * Processes delete message requests. * See the list of variables needed for viewPortData(). * * @param IMP_Indices $indices An indices object. * @param boolean $changed If true, add full ViewPort information. * @param boolean $force If true, forces addition of disappear * information. */ public function deleteMsgs(IMP_Indices $indices, $changed, $force = false) { /* Check if we need to update thread information. */ if (!$changed) { $changed = $this->indices->mailbox->getSort()->sortby == Horde_Imap_Client::SORT_THREAD; } if ($changed) { $this->addTask('viewport', $this->viewPortData(true)); } elseif ($indices instanceof IMP_Indices_Mailbox && ($force || $this->indices->mailbox->hideDeletedMsgs(true))) { $vp = new IMP_Ajax_Application_Viewport($this->indices->mailbox); $vp->disappear = $indices->buids[strval($this->indices->mailbox)]; $this->addTask('viewport', $vp); } $this->queue->poll(array_keys($indices->indices())); }