Merge pull request #221 from mkoch227/fix-attachments

Fix attachments
merge-requests/2/head
Mike Koch 9 years ago
commit 5b8a00af8d

@ -448,10 +448,12 @@ if (isset($_POST['notemsg']) && hesk_token_check('POST'))
$subject = hesk_getEmailSubject('new_note',$ticket); $subject = hesk_getEmailSubject('new_note',$ticket);
$message = hesk_getEmailMessage('new_note',$ticket,1); $message = hesk_getEmailMessage('new_note',$ticket,1);
$htmlMessage = hesk_getHtmlMessage('new_note',$ticket,1); $htmlMessage = hesk_getHtmlMessage('new_note',$ticket,1);
$hasMessage = hesk_doesTemplateHaveTag('new_note', '%%MESSAGE%%');
/* Send email to staff */ /* Send email to staff */
while ($user = hesk_dbFetchAssoc($users)) { while ($user = hesk_dbFetchAssoc($users)) {
hesk_mail($user['email'], $subject, $message, $htmlMessage); hesk_mail($user['email'], $subject, $message, $htmlMessage, array(), array(), $hasMessage);
} }
} }
} }

@ -355,9 +355,10 @@ function mail_send()
$subject = hesk_getEmailSubject('new_pm',$pm,0); $subject = hesk_getEmailSubject('new_pm',$pm,0);
$message = hesk_getEmailMessage('new_pm',$pm,1,0); $message = hesk_getEmailMessage('new_pm',$pm,1,0);
$htmlMessage = hesk_getHtmlMessage('new_pm',$pm,1,0); $htmlMessage = hesk_getHtmlMessage('new_pm',$pm,1,0);
$hasMessage = hesk_doesTemplateHaveTag('new_pm','%%MESSAGE%%');
/* Send e-mail */ /* Send e-mail */
hesk_mail($pm_recipient['email'], $subject, $message, $htmlMessage); hesk_mail($pm_recipient['email'], $subject, $message, $htmlMessage, array(), array(), $hasMessage);
} }
unset($_SESSION['mail']); unset($_SESSION['mail']);

@ -66,9 +66,10 @@ function hesk_notifyCustomerForVerifyEmail($email_template = 'verify_email', $ac
$htmlMessage = hesk_getHtmlMessage($email_template, $ticket); $htmlMessage = hesk_getHtmlMessage($email_template, $ticket);
$activationUrl = $hesk_settings['hesk_url'] . '/verifyemail.php?key=%%ACTIVATIONKEY%%'; $activationUrl = $hesk_settings['hesk_url'] . '/verifyemail.php?key=%%ACTIVATIONKEY%%';
$message = str_replace('%%VERIFYURL%%', $activationUrl, $message); $message = str_replace('%%VERIFYURL%%', $activationUrl, $message);
$htmlMessage = str_replace('%%VERIFYURL%%', $activationUrl, $message); $htmlMessage = str_replace('%%VERIFYURL%%', $activationUrl, $htmlMessage);
$message = str_replace('%%ACTIVATIONKEY%%', $activationKey, $message); $message = str_replace('%%ACTIVATIONKEY%%', $activationKey, $message);
$htmlMessage = str_replace('%%ACTIVATIONKEY%%', $activationKey, $message); $htmlMessage = str_replace('%%ACTIVATIONKEY%%', $activationKey, $htmlMessage);
$hasMessage = hesk_doesTemplateHaveTag($email_template, '%%MESSAGE%%');
// Add Cc / Bcc recipents if needed // Add Cc / Bcc recipents if needed
$ccEmails = array(); $ccEmails = array();
@ -87,7 +88,7 @@ function hesk_notifyCustomerForVerifyEmail($email_template = 'verify_email', $ac
} }
} }
hesk_mail($ticket['email'], $subject, $message, $htmlMessage, $ccEmails, $bccEmails); hesk_mail($ticket['email'], $subject, $message, $htmlMessage, $ccEmails, $bccEmails, $hasMessage);
} }
@ -113,6 +114,7 @@ function hesk_notifyCustomer($email_template = 'new_ticket')
$subject = hesk_getEmailSubject($email_template,$ticket); $subject = hesk_getEmailSubject($email_template,$ticket);
$message = hesk_getEmailMessage($email_template,$ticket); $message = hesk_getEmailMessage($email_template,$ticket);
$htmlMessage = hesk_getHtmlMessage($email_template,$ticket); $htmlMessage = hesk_getHtmlMessage($email_template,$ticket);
$hasMessage = hesk_doesTemplateHaveTag($email_template,'%%MESSAGE%%');
// Add Cc / Bcc recipents if needed // Add Cc / Bcc recipents if needed
$ccEmails = array(); $ccEmails = array();
@ -130,7 +132,7 @@ function hesk_notifyCustomer($email_template = 'new_ticket')
} }
// Send e-mail // Send e-mail
hesk_mail($ticket['email'], $subject, $message, $htmlMessage, $ccEmails, $bccEmails); hesk_mail($ticket['email'], $subject, $message, $htmlMessage, $ccEmails, $bccEmails, $hasMessage);
// Reset the language if it was changed // Reset the language if it was changed
if ($changedLanguage) if ($changedLanguage)
@ -177,9 +179,10 @@ function hesk_notifyAssignedStaff($autoassign_owner, $email_template, $type = 'n
$subject = hesk_getEmailSubject($email_template,$ticket); $subject = hesk_getEmailSubject($email_template,$ticket);
$message = hesk_getEmailMessage($email_template,$ticket,1); $message = hesk_getEmailMessage($email_template,$ticket,1);
$htmlMessage = hesk_getHtmlMessage($email_template,$ticket,1); $htmlMessage = hesk_getHtmlMessage($email_template,$ticket,1);
$hasMessage = hesk_doesTemplateHaveTag($email_template,'%%MESSAGE%%');
/* Send email to staff */ /* Send email to staff */
hesk_mail($autoassign_owner['email'], $subject, $message, $htmlMessage); hesk_mail($autoassign_owner['email'], $subject, $message, $htmlMessage, array(), array(), $hasMessage);
/* Reset language to original one */ /* Reset language to original one */
hesk_resetLanguage(); hesk_resetLanguage();
@ -247,7 +250,7 @@ function hesk_notifyStaff($email_template,$sql_where,$is_ticket=1)
if ($current_language != 'NONE') if ($current_language != 'NONE')
{ {
/* Send e-mail to staff */ /* Send e-mail to staff */
hesk_mail(implode(',',$recipients), $subject, $message, $htmlMessage ); hesk_mail(implode(',',$recipients), $subject, $message, $htmlMessage, array(), array(), $hasMessage);
/* Reset list of email addresses */ /* Reset list of email addresses */
$recipients = array(); $recipients = array();
@ -260,6 +263,7 @@ function hesk_notifyStaff($email_template,$sql_where,$is_ticket=1)
$subject = hesk_getEmailSubject($email_template,$ticket); $subject = hesk_getEmailSubject($email_template,$ticket);
$message = hesk_getEmailMessage($email_template,$ticket,$is_ticket); $message = hesk_getEmailMessage($email_template,$ticket,$is_ticket);
$htmlMessage = hesk_getHtmlMessage($email_template,$ticket,$is_ticket); $htmlMessage = hesk_getHtmlMessage($email_template,$ticket,$is_ticket);
$hasMessage = hesk_doesTemplateHaveTag($email_template, '%%MESSAGE%%');
/* Add email to the recipients list */ /* Add email to the recipients list */
$recipients[] = $admin['email']; $recipients[] = $admin['email'];
@ -270,7 +274,7 @@ function hesk_notifyStaff($email_template,$sql_where,$is_ticket=1)
} }
/* Send email messages to the remaining staff */ /* Send email messages to the remaining staff */
hesk_mail(implode(',',$recipients), $subject, $message, $htmlMessage); hesk_mail(implode(',',$recipients), $subject, $message, $htmlMessage, array(), array(), $hasMessage);
/* Reset language to original one */ /* Reset language to original one */
hesk_resetLanguage(); hesk_resetLanguage();
@ -332,7 +336,7 @@ function hesk_validEmails()
} // END hesk_validEmails() } // END hesk_validEmails()
function hesk_mail($to,$subject,$message,$htmlMessage,$cc=array(),$bcc=array()) function hesk_mail($to,$subject,$message,$htmlMessage,$cc=array(),$bcc=array(),$hasMessageTag = false)
{ {
global $hesk_settings, $hesklang, $modsForHesk_settings, $ticket; global $hesk_settings, $hesklang, $modsForHesk_settings, $ticket;
@ -399,7 +403,7 @@ function hesk_mail($to,$subject,$message,$htmlMessage,$cc=array(),$bcc=array())
{ {
$postfields['html'] = $htmlMessage; $postfields['html'] = $htmlMessage;
} }
if ($modsForHesk_settings['attachments'] && $hesk_settings['attachments']['use'] && isset($ticket['attachments']) && strlen($ticket['attachments'])) if ($hasMessageTag && $modsForHesk_settings['attachments'] && $hesk_settings['attachments']['use'] && isset($ticket['attachments']) && strlen($ticket['attachments']))
{ {
$postfields = processDirectAttachments('mailgun', $postfields); $postfields = processDirectAttachments('mailgun', $postfields);
} }
@ -459,7 +463,7 @@ function hesk_mail($to,$subject,$message,$htmlMessage,$cc=array(),$bcc=array())
$headers.= "Content-Type: multipart/mixed;boundary=\"".$outerboundary."\""; $headers.= "Content-Type: multipart/mixed;boundary=\"".$outerboundary."\"";
// Add attachments if necessary // Add attachments if necessary
if ($modsForHesk_settings['attachments'] && $hesk_settings['attachments']['use'] && isset($ticket['attachments']) && strlen($ticket['attachments'])) if ($hasMessageTag && $modsForHesk_settings['attachments'] && $hesk_settings['attachments']['use'] && isset($ticket['attachments']) && strlen($ticket['attachments']))
{ {
$message .= processDirectAttachments('phpmail', NULL, $outerboundary); $message .= processDirectAttachments('phpmail', NULL, $outerboundary);
} }
@ -512,7 +516,7 @@ function hesk_mail($to,$subject,$message,$htmlMessage,$cc=array(),$bcc=array())
} }
// Add attachments if necessary // Add attachments if necessary
if ($modsForHesk_settings['attachments'] && $hesk_settings['attachments']['use'] && isset($ticket['attachments']) && strlen($ticket['attachments'])) if ($hasMessageTag && $modsForHesk_settings['attachments'] && $hesk_settings['attachments']['use'] && isset($ticket['attachments']) && strlen($ticket['attachments']))
{ {
$message .= processDirectAttachments('smtp', NULL, $outerboundary); $message .= processDirectAttachments('smtp', NULL, $outerboundary);
} }
@ -690,6 +694,20 @@ function hesk_getEmailMessage($eml_file, $ticket, $is_admin=0, $is_ticket=1, $ju
} // END hesk_getEmailMessage } // END hesk_getEmailMessage
function hesk_doesTemplateHaveTag($eml_file, $tag)
{
global $hesk_settings, $modsForHesk_settings;
$path = 'language/' . $hesk_settings['languages'][$hesk_settings['language']]['folder'] . '/emails/'. $htmlPath . $eml_file . '.txt';
$htmlHasTag = false;
if ($modsForHesk_settings['html_emails']) {
$htmlPath = 'language/' . $hesk_settings['languages'][$hesk_settings['language']]['folder'] . '/emails/html/'. $htmlPath . $eml_file . '.txt';
$htmlContents = file_get_contents(HESK_PATH.$htmlPath);
$htmlHasTag = !(strpos($htmlContents, $tag) === false);
}
$emailContents = file_get_contents(HESK_PATH . $path);
return !(strpos($emailContents, $tag) === false) || $htmlHasTag;
}
function hesk_processMessage($msg, $ticket, $is_admin, $is_ticket, $just_message, $isForHtml = 0) function hesk_processMessage($msg, $ticket, $is_admin, $is_ticket, $just_message, $isForHtml = 0)
{ {
global $hesk_settings, $hesklang, $modsForHesk_settings; global $hesk_settings, $hesklang, $modsForHesk_settings;

Loading…
Cancel
Save