فهرست منبع

Prende le mail da spedire dal database

root 7 سال پیش
والد
کامیت
e7185c203c
1فایلهای تغییر یافته به همراه43 افزوده شده و 29 حذف شده
  1. 43 29
      sender.php

+ 43 - 29
sender.php

@@ -3,13 +3,7 @@ require_once 'vendor/phpmailer/phpmailer/PHPMailerAutoload.php';
 include_once 'config/config.php';
 include_once "vendor/notorm/NotORM.php";
 
-exit('Commentami, lanciami e ricommentami.');
-
-function getToken($length = 12){
-	return uniqId();
-	//PHP7
-	//return bin2hex(random_bytes($length));
-}
+//exit('Commentami, lanciami e ricommentami.');
 
 function generateLink($url, $token, $ml, $email){
 	$link = $url."/mlMemberRoller/stayin.php?";
@@ -44,31 +38,51 @@ $mail->isHTML(false);                // Set email format to HTML
 $mail->setFrom($sender, $senderName);
 $mail->Subject = $subject; 
 
-//$db->debug = true;
+$db->debug = true;
+
+//cerco la ml che ha lo end date.
+//prendo l'id
+//prendo tutte le email con quel id che hanno renewed = 0
+//ciclo
+function getMyDateFormatted($datestr){
+	$date = null;
+	if(empty($datestr)){
+		$date = new DateTime();
+	} else {
+		$date = new DateTime($datestr);
+	}
+	
+	return $date->format('Y-m-d');
+}
+
+$last = getMyDateFormatted($rollday);
+$rolls = $db->roll()->where(array(
+    "ml" => $ml,
+    "endroll" => $last
+));
 
-$file = fopen($filename, "r");
-while(!feof($file)){
-    $line = fgets($file);
-	$sanitized_mail =  filter_var($line, FILTER_SANITIZE_EMAIL);
-	if($sanitized_mail !== "") {
-		$mail->addAddress($sanitized_mail);
-		$token = getToken();
-		$link = generateLink($mlrollmember_url, $token, $ml, $sanitized_mail);
-		$mail->Body = $def_body.$link;
 
-		$db->$db_table()->insert(array(
-			"token" => $token,
-			"ml" => $ml,
-			"email" => $sanitized_mail 
-		));
+foreach($rolls as $roll) {
+	$members = $db->$db_table()->where(array(
+    	"id" => $roll['id'],
+    	"renewed" => 0
+	));
 
-		if(!$mail->send()) {
-    		echo 'Message could not be sent.'."\n";
-  	  		echo 'Mailer Error: ' . $mail->ErrorInfo."\n";
-		} else {
-  		 	echo 'Message has been sent'."\n";
+	foreach($members as $member) {
+		$sanitized_mail = filter_var($member['email'], FILTER_SANITIZE_EMAIL);
+		if($sanitized_mail !== "") {
+		
+			$mail->addAddress($sanitized_mail);
+			$token = $member['token'];
+			$link = generateLink($mlrollmember_url, $token, $ml, $sanitized_mail);
+			$mail->Body = $def_body.$link;
+			
+			if(!$mail->send()) {
+    			echo 'Message could not be sent.'."\n";
+	  	  		echo 'Mailer Error: ' . $mail->ErrorInfo."\n";
+			} else {
+  			 	echo 'Message has been sent'."\n";
+			}
 		}
-
 	}
 }
-fclose($file);