/** * Tool for mass conflict resolution of selected emails * * @param void * @return null */ function mass_conflict_resolution() { if (!$this->request->isSubmitted()) { $this->httpError(HTTP_ERR_BAD_REQUEST); } // if $action = $this->request->post('with_selected'); if (trim($action) == '') { flash_error('Please select what you want to do with selected conflicts'); $this->redirectToReferer(assemble_url('incoming_mail')); } // if $conflict_ids = $this->request->post('conflicts'); $conflicts = IncomingMails::findByIds($conflict_ids); if (!is_foreachable($conflicts)) { flash_error("You didn't selected any conflicts for resolution"); $this->redirectToReferer(assemble_url('incoming_mail')); } // if $updated = 0; switch ($action) { case 'delete': foreach ($conflicts as $conflict) { $delete = $conflict->delete(); if ($delete && !is_error($delete)) { $updated++; } // if } // foreach $message = ':count conflicts removed'; break; default: break; } // switch flash_success($message, array('count' => $updated)); $this->redirectToReferer(assemble_url('incoming_mail')); }