Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
<?
include("../config.php");
require_once('Mail.php');
require_once('Mail/mime.php');
global $CFG, $ME;
/* die Anzahl der zu versendenen Mails holen */
$settings = db_fetch_object(db_query("
SELECT newsletter_limit
FROM settings
"));
/* Hole newsletter-ID und Mail Content aus DB */
$a = db_query("
SELECT id, html
FROM newsletter
WHERE pls_send = '1'
AND finished != '1'
");
if (db_num_rows($a) != 0) {
$newsletter = db_fetch_object($a);
/* Hole XXX Email Adressen aus der Empfängerdatenbank, die noch keine Mail erhalten haben */
$qid = db_query("
SELECT email
FROM newsletter_recipients
WHERE email_received = '0'
LIMIT 0,$settings->newsletter_limit
");
/* Newsletter versenden */
while ($recipients = db_fetch_object($qid)) {
$message = new Mail_mime();
$text = "";
$html = $newsletter->html;
$message->setTXTBody($text);
$message->setHTMLBody($html);
$body = $message->get();
$extraheaders = array("From"=>"xxxx", "Subject"=>"Newsletter");
$headers = $message->headers($extraheaders);
$mail = Mail::factory("mail");
$mail->send($recipients->email, $headers, $body);
/* Nach dem Versenden wird die email in der Datenbank gekennzeichnet */
db_query("
UPDATE newsletter_recipients SET
email_received = '1'
WHERE email = '$recipients->email'
");
}
/* Prüfen ob alle Emails verschickt wurden. Wenn ja, dann den Newsletter als abgeschlossen markieren, und alle Emails wieder zurücksetzen */
$qid = db_query("
SELECT 1
FROM newsletter_recipients
WHERE email_received = '0'
");
if (db_num_rows($qid) == '0') {
db_query("
UPDATE newsletter SET
finished = '1'
,pls_send = '0'
WHERE id = '$newsletter->id'
");
db_query("
UPDATE newsletter_recipients SET
email_received = '0'
WHERE 1
");
}
} else {
echo "nothing to do";
}
?>