logthis(" invoked SendReminder ",'debug'); //modified query for recurring events -Jag $query="select crmentity.crmid,activity.*,activity_reminder.reminder_time,activity_reminder.reminder_sent,activity_reminder.recurringid,recurringevents.recurringdate from activity inner join crmentity on crmentity.crmid=activity.activityid inner join activity_reminder on activity.activityid=activity_reminder.activity_id left outer join recurringevents on activity.activityid=recurringevents.activityid where DATE_FORMAT(activity.date_start,'%Y-%m-%d, %H:%i:%s') >= '".date('Y-m-d')."' and crmentity.crmid != 0 and activity.eventstatus = 'Planned' and activity_reminder.reminder_sent = 0 group by activity.activityid,recurringevents.recurringid ;"; $result = $adb->query($query); if($adb->num_rows($result) >= 1) { while($result_set = $adb->fetch_array($result)) { $date_start = $result_set['date_start']; $time_start = $result_set['time_start']; $reminder_time = $result_set['reminder_time']; $curr_time = strtotime(date("Y-m-d H:i"))/60; $activity_id = $result_set['activityid']; $activitymode = ($result_set['activitytype'] == "Task")?"Task":"Events"; $to_addr=''; //code included for recurring events by jaguar starts $recur_id = $result_set['recurringid']; $current_date=date('Y-m-d'); if($recur_id == 0) { $date_start = $result_set['date_start']; } else { $date_start = $result_set['recurringdate']; } //code included for recurring events by jaguar ends $activity_time = strtotime(date("$date_start $time_start"))/60; if (($activity_time - $curr_time) > 0 && ($activity_time - $curr_time) == $reminder_time) { $vtlog->logthis(" InSide REMINDER",'debug'); $query_user="SELECT users.email1,salesmanactivityrel.smid FROM salesmanactivityrel inner join users on users.id=salesmanactivityrel.smid where salesmanactivityrel.activityid =".$activity_id." and users.deleted=0"; $user_result = $adb->query($query_user); if($adb->num_rows($user_result)>=1) { while($user_result_row = $adb->fetch_array($user_result)) { if($user_result_row['email1']!='' || $user_result_row['email1'] !=NULL) { $to_addr[] = $user_result_row['email1']; } } } $query_cnt="SELECT contactdetails.email,cntactivityrel.contactid,crmentity.crmid FROM cntactivityrel inner join contactdetails on contactdetails.contactid=cntactivityrel.contactid inner join crmentity on crmentity.crmid=cntactivityrel.contactid where cntactivityrel.activityid =".$activity_id." and crmentity.deleted=0"; $cnt_result = $adb->query($query_cnt); if($adb->num_rows($cnt_result)>=1) { while($cnt_result_row = $adb->fetch_array($cnt_result)) { if($cnt_result_row['email']!='' || $cnt_result_row['email'] !=NULL) { $to_addr[] = $cnt_result_row['email']; } } } // Set the preferred email id $from ="reminders@localserver.com"; // Retriving the Subject and message from reminder table $sql = "select active,notificationsubject,notificationbody from notificationscheduler where schedulednotificationid=7"; $result_main = $adb->query($sql); $subject = "[Reminder:".$result_set['activitytype']." @ ".$result_set['date_start']." ".$result_set['time_start']."] ".$adb->query_result($result_main,0,'notificationsubject'); //Set the mail body/contents here $contents = nl2br($adb->query_result($result_main,0,'notificationbody')) ."\n\n Kindly visit the link for more details on the activity Click here"; if(count($to_addr) >=1) { send_mail($to_addr,$from,$subject,$contents,$mail_server,$mail_server_username,$mail_server_password); $upd_query = "UPDATE activity_reminder SET reminder_sent=1 where activity_id=".$activity_id; if($recur_id!=0) { $upd_query.=" and recurringid =".$recur_id; } $adb->query($upd_query); } } } } function send_mail($to,$from,$subject,$contents,$mail_server,$mail_server_username,$mail_server_password) { global $adb; global $root_directory; $mail = new PHPMailer(); $mail->Subject = $subject; $mail->Body = nl2br($contents);//"This is the HTML message body in bold!"; $mail->IsSMTP(); // set mailer to use SMTP //$mail->Host = "smtp1.example.com;smtp2.example.com"; // specify main and backup server if($mail_server=='') { $mailserverresult=$adb->query("select * from systems where server_type='email'"); $mail_server=$adb->query_result($mailserverresult,0,'server'); $_REQUEST['server']=$mail_server; } $mail->Host = $mail_server; // specify main and backup server $mail->SMTPAuth = true; // turn on SMTP authentication $mail->Username = $mail_server_username ;//$smtp_username; // SMTP username $mail->Password = $mail_server_password ;//$smtp_password; // SMTP password $mail->From = $from; $mail->FromName = $initialfrom; foreach($to as $pos=>$addr) { $mail->AddAddress($addr); // name is optional } //$mail->AddReplyTo($from); $mail->WordWrap = 50; // set word wrap to 50 characters $mail->IsHTML(true); // set email format to HTML $mail->AltBody = "This is the body in plain text for non-HTML mail clients"; $flag = MailSend($mail); } function MailSend($mail) { if(!$mail->Send()) { $msg = $mail->ErrorInfo; } else { return true; } } function getParentMailId($returnmodule,$parentid) { global $adb; if($returnmodule == 'Leads') { $tablename = 'leaddetails'; $idname = 'leadid'; } if($returnmodule == 'Contacts' || $returnmodule == 'HelpDesk') { if($returnmodule == 'HelpDesk') $parentid = $_REQUEST['contact_id']; $tablename = 'contactdetails'; $idname = 'contactid'; } if($parentid != '') { $query = 'select * from '.$tablename.' where '.$idname.' = '.$parentid; $mailid = $adb->query_result($adb->query($query),0,'email'); } if($mailid == '' && $returnmodule =='Contacts') { $mailid = $adb->query_result($adb->query($query),0,'otheremail'); if($mailid == '') $mailid = $adb->query_result($adb->query($query),0,'yahooid'); } return $mailid; } ?>