Jump to content

Need help setting Newsletter sending time


dejansoftware

Recommended Posts

Newsletter for annonunments (Training schedule, Interviews schedule and Exams schedule) which are showing day in future when they will be published. The problem is because the my newsletter will send this training, Interviews or Exams one (1) day after the schedule has passed, but I would like if they can be sent at least one day before that term, otherwise, they are useless and they are just provoke our customers.

FYI

This Newsletter works fine with other informations publihed on site, the problem is just for articles schedules for future publishing

In attach you can find newsletter.php

 

[attachment deleted by admin]

Link to comment
Share on other sites

<?php
function auto_newsletter(){
global $webpath, $path, $prefix, $admin_mail, $title, $lang;
	$lang = "latn";
$query = sprintf("SELECT datum FROM %s_logs WHERE sistem ='newsletter' LIMIT 1;", $prefix);
$sql = mysql_query($query) or die(mysql_error());
$data = mysql_fetch_array($sql, MYSQL_ASSOC);
$sql = NULL;
	$time = 24;
$Datum = mktime(date("H")-$time, date("i"), date("s"), date("m") , date("d"), date("Y"));
$Datum = strtotime(date('Y-m-d H:i:s', $Datum));
//		$data["datum"] = "2008-03-07 08:00:00 ";
$datum = strtotime(date('Y-m-d H:i:s', strtotime($data["datum"])));
	$datum2 = date('Y-m-d H:i:s', mktime(date("H", strtotime($data["datum"]))+$time, date("i", strtotime($data["datum"])), date("s", strtotime($data["datum"])), date("m", strtotime($data["datum"])) , date("d", strtotime($data["datum"])), date("Y", strtotime($data["datum"]))));
if ($Datum > $datum) {
// Ovaj blok koristim za promjenu viewa odredjenih vijesti
// $prije = date('Y-m-d H:i:s', mktime(0, 0, 0, date("m")-3, date("d"), date("Y")));
// $query = sprintf("UPDATE %s_vijesti SET prikaz=0 WHERE objavljen < %s AND kategorija=2; ", $prefix, quote_smart($prije));
//  mysql_query($query) or die(zabrane("error", "Problem u skrivanju konkursa prije $prije"));
// kraj bloka
$query = sprintf("UPDATE %s_logs SET datum=%s WHERE sistem ='newsletter' LIMIT 1;", $prefix, quote_smart($datum2));
$sql = mysql_query($query);
// u ovom slucaju spamovanje naroda je ok, tako da treba sad skupiti vijesti za slanje
$query = sprintf("SELECT * FROM %s_vijesti WHERE lang='$lang' AND objavljen BETWEEN %s AND %s ORDER BY objavljen DESC; ", $prefix, quote_smart($data["datum"]), quote_smart($datum2));
		$data = NULL;
$sql = mysql_query($query);
		if (mysql_num_rows($sql) <> 0) {
		// postoji li razlog za slanje newslettera
while ($data = mysql_fetch_array($sql, MYSQL_ASSOC)) {
$kat = $data["kategorija"];
if (file_exists($path."/docs/news/".$filename."-mala.jpg")) {
$html .= "<img src='".$webpath."/docs/news/".$filename."-mala.jpg' alt='' title='' align='left' hspace='10' vspace='10' />";
}
			$page = modul_page('news_categorised', $data["kategorija"]);
$html .="<p><strong><a href='$webpath/$lang/?page=$page&kat=$kat&vijest=".$data["id"]."'>".$data["naslov"]."</a></strong>";
$text =  "<p>".strip_tags($data["text"])."<hr />";
$duzina = 400;
while(substr($text, $duzina, 1)<>" " AND strlen($text)>$duzina){ $duzina++; }
$html .= substr($text, 0, $duzina);
}
$html = "<h1>".convert("newsletter").": ".date('d.m.Y.', $datum)."</h1>".$html;
		$query = sprintf("SELECT mail FROM %s_korisnici WHERE alerts>0 AND nivo>0; ", $prefix);
$sql = mysql_query($query) or die(mysql_error());
		if (mysql_num_rows($sql) <> 0) {
require("$path/data/class.phpmailer.php");
			$html = sprintf(convert("notification_header"), $webpath, $webpath, $webpath, $title, $title).$html.convert("notification_footer");
			while ($data = mysql_fetch_array($sql, MYSQL_ASSOC)) {
				$mejl = new PHPMailer();
$mejl->From     = $admin_mail;
$mejl->FromName = $title;
$mejl->Host     = "mail.vladars.net";
$mejl->Mailer   = "smtp";
$mejl->Subject  = convert("newsletter").": ".date('d.m.Y.', $datum);
				$mejl->Body    = $html;
$mejl->AltBody = $title."\n________________________________\n".strip_tags($html);
$mejl->AddAddress($data["mail"]);
//	$mejl->AddBCC("robot@grave-design.com");
//	echo $data["mail"], " ";
if(!$mejl->Send()) zabrane("mailer", $data["mail"]);
$mejl->ClearAddresses();
$mejl->ClearAttachments();
			}
		}
}
}

}
?>

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.