.
*/
include("./include/include.php");
include("./include/AjaxResponse.php");
if( !in_array("massmail_sendaschair", $_SESSION['sess_functions']) && !in_array("massmail_sendaslocalorg", $_SESSION['sess_functions']) ) {
echoln("You are not authorized to see this page.");
}else {
admin_header(true, true);
$timeout = time() + 3;
$query = "SELECT `id`, `date`, `receipt`, `mail` FROM `mailbatch` WHERE `sender_id` = " . addslashes($_SESSION['sess_uid']);
$response = new AjaxResponse(false);
if( @mysql_num_rows( $res=doquery($query) ) < 1 ) {
$response->addProperty("ready", 1);
$response->addRefresh("loader", "Done!");
}else {
while( time() <= $timeout && $row = mysql_fetch_array($res) ) {
$mail = unserialize($row['mail']);
switch( $mail->send(true) ) {
case Mail::MAIL_OK:
case Mail::MAIL_QUEUE:
break;
default:
$_SESSION['mailall_errors'] .= "Failed sending mail to '" . $row['receipt'] . "'
";
}
doquery("DELETE FROM `mailbatch` WHERE `id` = " . $row['id']);
$_SESSION['mailall_done']++;
}
$response->addProperty("ready", 0);
}
$response->addRefresh("progress", $_SESSION['mailall_done']. " / " . $_SESSION['mailall_total'] . " (" . number_format($_SESSION['mailall_done'] / $_SESSION['mailall_total'] * 100, 0) . "%)");
$response->addRefresh("errors", $_SESSION['mailall_errors']);
header("Content-type: text/xml; charset=utf-8");
echo $response->createResponse();
admin_footer(true, true);
}
?>