Skip to content
Snippets Groups Projects
SendSupportNotification.php 4.73 KiB
Newer Older
  • Learn to ignore specific revisions
  • Prasad's avatar
    Prasad committed
    <?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 Befoe 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;
    
    }
    
    
    
    ?>