diff --git a/etemplate/inc/class.bo_tracking.inc.php b/etemplate/inc/class.bo_tracking.inc.php
index da64ae21e6..6e4be6ed7c 100644
--- a/etemplate/inc/class.bo_tracking.inc.php
+++ b/etemplate/inc/class.bo_tracking.inc.php
@@ -180,6 +180,11 @@ abstract class bo_tracking
*/
const ONE2N_SEPERATOR = '~|~';
+ /**
+ * Config name for custom notification message
+ */
+ const CUSTOM_NOTIFICATION = 'custom_notification';
+
/**
* Constructor
*
@@ -271,6 +276,7 @@ abstract class bo_tracking
* - 'link' string of link to view $data
* - 'sender' sender of email
* - 'skip_notify' array of email addresses that should _not_ be notified
+ * - CUSTOM_NOTIFICATION string notification body message. Merge print placeholders are allowed.
* @param array $data current entry
* @param array $old=null old/last state of the entry or null for a new entry
* @return mixed
@@ -902,6 +908,19 @@ abstract class bo_tracking
public function get_body($html_email,$data,$old,$integrate_link = true,$receiver=null)
{
$body = '';
+ if($this->get_config(self::CUSTOM_NOTIFICATION, $data, $old))
+ {
+ $body = $this->get_custom_message($data,$old);
+ if($html_email)
+ {
+ $body = nl2br($body);
+ }
+ if($sig = $this->get_signature($data,$old,$receiver))
+ {
+ $body .= ($html_email ? '
':'') . "\n$sig";
+ }
+ return $body;
+ }
if ($html_email)
{
$body = '