| version 1.2, 2005/03/25 23:32:45 |
version 1.3, 2005/03/30 12:49:14 |
|
|
| <?
|
<? |
|
|
|
| // $Platon$
|
// $Platon: mylist/backend/sender/sender.php,v 1.2 2005/03/25 23:32:45 nepto Exp $ |
|
|
|
| require_once "../shared/emailMessage.php";
|
require_once "../../mylist.config.php"; |
| require_once "../shared/mimeDecode.php";
|
|
| require_once "../shared/mlist.config.php";
|
class CSender { |
|
|
|
| class CSender {
|
function send() |
|
|
{ |
| function send()
|
global $dbh; |
| {
|
|
| global $db_host, $db_user, $db_password, $db_name;
|
$sql = "SELECT queue_message_id, recipient FROM mylist_queue "; |
| $db = MySQL_Connect($db_host, $db_user, $db_password);
|
$sql .= "WHERE dt_sent IS NULL "; |
| MySQL_Select_DB($db_name);
|
$sql .= "ORDER BY queue_message_id"; |
|
|
|
| $sql = "SELECT * FROM mlist_mailStructure ";
|
$res =& $dbh->query($sql); |
| $sql .= "WHERE f_all_sent = 0 ";
|
if (PEAR::isError($res)) |
| $sql .= "ORDER BY id_mlist";
|
die($res->getMessage()); |
| $ret = MySQL_Query($sql);
|
|
|
|
$last_queue_message_id = ""; |
| while ($row = MySQL_Fetch_Array($ret))
|
|
| {
|
while ($res->fetchInto($row)) |
| $sql = "SELECT recipient FROM mlist_mails2send WHERE ";
|
{ |
| $sql .= "f_sent = 0 AND ";
|
|
| $sql .= "id_mlist = ";
|
if ($row["queue_message_id"] != $last_queue_message_id ) { |
| $sql .= $row["id_mlist"];
|
$sql = "SELECT message_header, message_body FROM mylist_queue_messages WHERE id = ".$row["queue_message_id"]; |
| $sql .= " AND ";
|
|
| $sql .= "message_id = ";
|
$res2 =& $dbh->query($sql); |
| $sql .= "'".$row["message_id"]."'";
|
if (PEAR::isError($res2)) |
|
|
die($res2->getMessage()); |
| $ret2 = MySQL_Query($sql);
|
|
|
|
$res2->fetchInto($row2); |
| while ($row2 = MySQL_Fetch_Array($ret2))
|
} |
| {
|
|
| echo "\nmlist = ".$row["id_mlist"];
|
$last_queue_message_id = $row["$queue_message_id"]; |
| echo "\nmessage = ".$row["message_id"];
|
|
| echo "\nposielam mail na :".$row2["recipient"]."\n\n";
|
// subjekt spravy neni v struktre tabulky mylist_queue_messages, ale je zbytocne ho tam nateraz doplnat, kedze sa funkcia mail() aj tak nebude pouzivat a bude nahradena inou funkciou |
| if (@$ret_mail = mail($row2["recipient"], StripSlashes($row["subject"]), StripSlashes($row["body"]), StripSlashes($row["header"])))
|
if (@$ret_mail = mail($row["recipient"], 'Test PhpMyList', $row2["message_body"], $row2["message_header"])) |
| {
|
{ |
| $sql = "UPDATE mlist_mails2send ";
|
$sql = "UPDATE mylist_queue "; |
| $sql .= "SET f_sent = 1 WHERE ";
|
$sql .= "SET dt_sent = '".Date("Y-m-d H:i:s")."' WHERE "; |
| $sql .= "id_mlist = ";
|
$sql .= "queue_message_id = '"; |
| $sql .= $row["id_mlist"];
|
$sql .= $row["queue_message_id"]; |
| $sql .= " AND ";
|
$sql .= "' AND "; |
| $sql .= "message_id = ";
|
$sql .= "recipient LIKE "; |
| $sql .= "'".$row["message_id"]."'";
|
$sql .= "'".$row["recipient"]."'"; |
|
|
|
| $ret3 = MySQL_Query($sql);
|
$res3 =& $dbh->query($sql); |
| }
|
if (PEAR::isError($res3)) |
| }
|
die($res3->getMessage()); |
|
|
|
|
|
echo "posielam spravu s queue id '".$row["queue_message_id"]."' na adresu '".$row["recipient"]."'\n"; |
| }
|
} |
|
|
|
|
|
|
| }
|
} |
|
|
|
|
|
|
|
|
} |
| function prepareCleanUp()
|
} |
| {
|
?> |
| global $db_host, $db_user, $db_password, $db_name;
|
|
| $db = MySQL_Connect($db_host, $db_user, $db_password);
|
|
| MySQL_Select_DB($db_name);
|
|
|
|
|
| $sql = "SELECT id_mlist, message_id, countRecipients FROM mlist_mailStructure WHERE f_all_sent = 0 ORDER BY id_mlist";
|
|
| $ret = MySQL_Query($sql);
|
|
|
|
|
| while ($row = MySQL_Fetch_Array($ret))
|
|
| {
|
|
| $sql = "SELECT Count(f_sent) as count FROM mlist_mails2send ";
|
|
| $sql .= "WHERE f_sent = 1 AND ";
|
|
| $sql .= "id_mlist = ";
|
|
| $sql .= $row["id_mlist"];
|
|
| $sql .= " AND ";
|
|
| $sql .= "message_id = ";
|
|
| $sql .= "'".$row["message_id"]."'";
|
|
|
|
|
| $ret2 = MySQL_Query($sql);
|
|
| $row2 = MySQL_Fetch_Array($ret2);
|
|
|
|
|
|
|
|
| if ($row2[0] == $row["countRecipients"] )
|
|
| {
|
|
| $sql = "UPDATE mlist_mailStructure ";
|
|
| $sql .= "SET f_all_sent = 1 ";
|
|
| $sql .= "WHERE ";
|
|
| $sql .= "id_mlist = ";
|
|
| $sql .= $row["id_mlist"];
|
|
| $sql .= " AND ";
|
|
| $sql .= "message_id = ";
|
|
| $sql .= "'".$row["message_id"]."'";
|
|
|
|
|
| $ret3 = MySQL_Query($sql);
|
|
|
|
|
| }
|
|
|
|
|
| }
|
|
|
|
|
| }
|
|
|
|
|
| function cleanUp()
|
|
| {
|
|
| global $db_host, $db_user, $db_password, $db_name;
|
|
| $db = MySQL_Connect($db_host, $db_user, $db_password);
|
|
| MySQL_Select_DB($db_name);
|
|
|
|
|
| $sql = "SELECT id_mlist, message_id FROM mlist_mailStructure WHERE f_all_sent = 1 ORDER BY id_mlist";
|
|
| $ret = MySQL_Query($sql);
|
|
|
|
|
| while ($row = MySQL_Fetch_Array($ret))
|
|
| {
|
|
| $sql = "DELETE FROM mlist_mails2send ";
|
|
| $sql .= "WHERE ";
|
|
| $sql .= "id_mlist = ";
|
|
| $sql .= $row["id_mlist"];
|
|
| $sql .= " AND ";
|
|
| $sql .= "message_id = ";
|
|
| $sql .= "'".$row["message_id"]."'";
|
|
| $ret2 = MySQL_Query($sql);
|
|
|
|
|
|
|
|
| $sql = "DELETE FROM mlist_mailStructure ";
|
|
| $sql .= "WHERE ";
|
|
| $sql .= "id_mlist = ";
|
|
| $sql .= $row["id_mlist"];
|
|
| $sql .= " AND ";
|
|
| $sql .= "message_id = ";
|
|
| $sql .= "'".$row["message_id"]."'";
|
|
| $ret2 = MySQL_Query($sql);
|
|
|
|
|
| }
|
|
|
|
|
|
|
|
| }
|
|
|
|
|
| };
|
|