Pommo_Mailing::getSent PHP Method

getSent() public method

returns the # of sent mails for a mailing
public getSent ( $id )
    function getSent($id)
    {
        $dbo =& Pommo::$_dbo;
        $query = "\n            SELECT sent FROM " . $dbo->table['mailings'] . "WHERE mailing_id = %i";
        $query = $dbo->prepare($query, array($id));
        return $dbo->query($query, 0);
    }

Usage Example

Example #1
0
$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();