$output['statusText'] = $statusText[$output['status']]; // get last 50 unique notices $mailingNotices = Pommo_Mailing::getNotices($mailing['id'], 50, true); $newNotices = array(); foreach ($mailingNotices as $time => $arr) { if (!isset($state['notices'][$time])) { $newNotices = array_merge($newNotices, $arr); continue; } foreach ($arr as $notice) { if (array_search($notice, $arr) === false) { $newNotices[] = $notice; } } } $state['notices'] = $mailingNotices; $output['notices'] = array_reverse($newNotices); // calculate sent if ($output['status'] == 4) { $output['sent'] = Pommo_Mailing::getSent($mailing['id']); } else { $query = "SELECT count(subscriber_id) FROM {$dbo->table['queue']} WHERE status > 0"; $output['sent'] = $dbo->query($query, 0); } // cleanup session if frozen or finished. if ($output['status'] > 2) { Pommo_Api::stateInit('subscribers_manage'); } $output['percent'] = $output['status'] == 4 ? 100 : round($output['sent'] * (100 / $mailing['tally'])); $json->add($output); $json->serve();