133 lines
4.7 KiB
PHP
133 lines
4.7 KiB
PHP
|
|
<?php
|
||
|
|
////////////////////////////////////////////////////
|
||
|
|
// PHPMailer - PHP email class
|
||
|
|
//
|
||
|
|
// Class for sending email using either
|
||
|
|
// sendmail, PHP mail(), or SMTP. Methods are
|
||
|
|
// based upon the standard AspEmail(tm) classes.
|
||
|
|
//
|
||
|
|
// Copyright (C) 2001 - 2003 Brent R. Matzelle
|
||
|
|
//
|
||
|
|
// License: LGPL, see LICENSE
|
||
|
|
////////////////////////////////////////////////////
|
||
|
|
|
||
|
|
/**
|
||
|
|
* PHPMailer - PHP email transport class
|
||
|
|
* @package PHPMailer
|
||
|
|
* @author Brent R. Matzelle
|
||
|
|
* @copyright 2001 - 2003 Brent R. Matzelle
|
||
|
|
*/
|
||
|
|
|
||
|
|
|
||
|
|
require_once('include/utils/utils.php');
|
||
|
|
require("modules/Emails/mail.php");
|
||
|
|
require_once('include/logging.php');
|
||
|
|
require("config.php");
|
||
|
|
|
||
|
|
|
||
|
|
global $adb;
|
||
|
|
global $log;
|
||
|
|
global $HELPDESK_SUPPORT_EMAIL_ID,$HELPDESK_SUPPORT_NAME;
|
||
|
|
$log =& LoggerManager::getLogger('SendSupportNotification');
|
||
|
|
$log->debug(" invoked SendSupportNotification ");
|
||
|
|
|
||
|
|
// retrieve the translated strings.
|
||
|
|
$app_strings = return_application_language($current_language);
|
||
|
|
|
||
|
|
|
||
|
|
//To send email notification before a week
|
||
|
|
$query="select vtiger_contactdetails.contactid,vtiger_contactdetails.email,vtiger_contactdetails.firstname,vtiger_contactdetails.lastname,contactid from vtiger_customerdetails inner join vtiger_crmentity on vtiger_crmentity.crmid=vtiger_customerdetails.customerid inner join vtiger_contactdetails on vtiger_contactdetails.contactid=vtiger_customerdetails.customerid where vtiger_crmentity.deleted=0 and support_end_date=DATE_ADD(now(), INTERVAL 1 WEEK)";
|
||
|
|
$result = $adb->pquery($query, array());
|
||
|
|
|
||
|
|
|
||
|
|
if($adb->num_rows($result) >= 1)
|
||
|
|
{
|
||
|
|
while($result_set = $adb->fetch_array($result))
|
||
|
|
{
|
||
|
|
|
||
|
|
$content=getcontent_week($result_set["contactid"]);
|
||
|
|
$body=$content["body"];
|
||
|
|
$body = str_replace('$logo$','<img src="cid:logo" />',$body);
|
||
|
|
$subject=$content["subject"];
|
||
|
|
|
||
|
|
$status=send_mail("Support",$result_set["email"],$HELPDESK_SUPPORT_NAME,$HELPDESK_SUPPORT_EMAIL_ID,$subject,$body,'',$HELPDESK_SUPPORT_EMAIL_ID
|
||
|
|
);
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|
||
|
|
//comment / uncomment this line if you want to hide / show the sent mail status
|
||
|
|
//showstatus($status);
|
||
|
|
$log->debug(" Send Support Notification Before a week - Status: ".$status);
|
||
|
|
|
||
|
|
//To send email notification before a month
|
||
|
|
$query="select vtiger_contactdetails.contactid,vtiger_contactdetails.email,vtiger_contactdetails.firstname,vtiger_contactdetails.lastname,contactid from vtiger_customerdetails inner join vtiger_crmentity on vtiger_crmentity.crmid=vtiger_customerdetails.customerid inner join vtiger_contactdetails on vtiger_contactdetails.contactid=vtiger_customerdetails.customerid where vtiger_crmentity.deleted=0 and support_end_date=DATE_ADD(now(), INTERVAL 1 MONTH)";
|
||
|
|
$result = $adb->pquery($query, array());
|
||
|
|
|
||
|
|
|
||
|
|
if($adb->num_rows($result) >= 1)
|
||
|
|
{
|
||
|
|
while($result_set = $adb->fetch_array($result))
|
||
|
|
{
|
||
|
|
$content=getcontent_month($result_set["contactid"]);
|
||
|
|
$body=$content["body"];
|
||
|
|
$body = str_replace('$logo$','<img src="cid:logo" />',$body);
|
||
|
|
$subject=$content["subject"];
|
||
|
|
|
||
|
|
$status=send_mail("Support",$result_set["email"],$HELPDESK_SUPPORT_NAME,$HELPDESK_SUPPORT_EMAIL_ID,$subject,$body,'',$HELPDESK_SUPPORT_EMAIL_ID);
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
//comment / uncomment this line if you want to hide / show the sent mail status
|
||
|
|
//showstatus($status);
|
||
|
|
$log->debug(" Send Support Notification Befoe a Month - Status: ".$status);
|
||
|
|
|
||
|
|
//used to dispaly the sent mail status
|
||
|
|
function showstatus($status)
|
||
|
|
{
|
||
|
|
|
||
|
|
if($status == 1)
|
||
|
|
echo "Mails sent successfully";
|
||
|
|
else if($status == "")
|
||
|
|
echo "No contacts matched";
|
||
|
|
else
|
||
|
|
echo "Error while sending mails: ".$status;
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
//function used to get the header and body content of the mail to be sent.
|
||
|
|
function getcontent_month($id)
|
||
|
|
{
|
||
|
|
global $adb;
|
||
|
|
$query='select vtiger_emailtemplates.subject,vtiger_emailtemplates.body from vtiger_notificationscheduler inner join vtiger_emailtemplates on vtiger_emailtemplates.templateid=vtiger_notificationscheduler.notificationbody where schedulednotificationid=7';
|
||
|
|
$result = $adb->pquery($query, array());
|
||
|
|
$body=$adb->query_result($result,0,'body');
|
||
|
|
$body=getMergedDescription($body,$id,"Contacts");
|
||
|
|
$body=getMergedDescription($body,$id,"Users");
|
||
|
|
$res_array["subject"]=$adb->query_result($result,0,'subject');
|
||
|
|
$res_array["body"]=$body;
|
||
|
|
return $res_array;
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
//function used to get the header and body content of the mail to be sent.
|
||
|
|
function getcontent_week($id)
|
||
|
|
{
|
||
|
|
global $adb;
|
||
|
|
$query='select vtiger_emailtemplates.subject,vtiger_emailtemplates.body from vtiger_notificationscheduler inner join vtiger_emailtemplates on vtiger_emailtemplates.templateid=vtiger_notificationscheduler.notificationbody where schedulednotificationid=6';
|
||
|
|
$result = $adb->pquery($query, array());
|
||
|
|
$body=$adb->query_result($result,0,'body');
|
||
|
|
$body=getMergedDescription($body,$id,"Contacts");
|
||
|
|
$body=getMergedDescription($body,$id,"Users");
|
||
|
|
$res_array["subject"]=$adb->query_result($result,0,'subject');
|
||
|
|
$res_array["body"]=$body;
|
||
|
|
return $res_array;
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
?>
|