From: kurund Date: Thu, 8 Aug 2013 19:36:14 +0000 (+0530) Subject: Revert "Merge pull request #1368 from drumm/CRM-12930-smarty-compile" X-Git-Url: https://vcs.fsf.org/?a=commitdiff_plain;h=4ee279f4b82271786c72217955391e1037c3093c;p=civicrm-core.git Revert "Merge pull request #1368 from drumm/CRM-12930-smarty-compile" This reverts commit 30ffbdf089db87d9cf2905939f84348a0b03b5e1, reversing changes made to 94ee5a7f70c82520c5ff4c736d5e6638ec49e780. --- diff --git a/CRM/Core/BAO/ActionSchedule.php b/CRM/Core/BAO/ActionSchedule.php index 97d296a2e6..f1ec99fa3e 100755 --- a/CRM/Core/BAO/ActionSchedule.php +++ b/CRM/Core/BAO/ActionSchedule.php @@ -385,13 +385,6 @@ WHERE cas.entity_value = $id AND $body_text = CRM_Utils_String::htmlToText($body_html); } - // Execute Smarty templates before token replacement, so templates do not - // interfere and we hit the compiled template cache. - $smarty = CRM_Core_Smarty::singleton(); - $body_text = $smarty->fetch('string:' . $body_text); - $body_html = $smarty->fetch('string:' . $body_html); - $body_subject = $smarty->fetch('string:' . $messageSubject); - $params = array(array('contact_id', '=', $contactId, 0, 0)); list($contact, $_) = CRM_Contact_BAO_Query::apiQuery($params); @@ -430,6 +423,12 @@ WHERE cas.entity_value = $id AND $html = $body_html; $text = $body_text; + $smarty = CRM_Core_Smarty::singleton(); + foreach (array( + 'text', 'html') as $elem) { + $$elem = $smarty->fetch("string:{$$elem}"); + } + $matches = array(); preg_match_all('/(?fetch("string:{$messageSubject}"); + // set up the parameters for CRM_Utils_Mail::send $mailParams = array( 'groupName' => 'Scheduled Reminder Sender', diff --git a/CRM/Core/BAO/MessageTemplates.php b/CRM/Core/BAO/MessageTemplates.php index 0d4c1b332a..83af344c51 100644 --- a/CRM/Core/BAO/MessageTemplates.php +++ b/CRM/Core/BAO/MessageTemplates.php @@ -166,13 +166,6 @@ class CRM_Core_BAO_MessageTemplates extends CRM_Core_DAO_MessageTemplates { $body_text = CRM_Utils_String::htmlToText($body_html); } - // Execute Smarty templates before token replacement, so templates do not - // interfere and we hit the compiled template cache. - $smarty = CRM_Core_Smarty::singleton(); - $body_text = $smarty->fetch('string:' . $body_text); - $body_html = $smarty->fetch('string:' . $body_html); - $body_subject = $smarty->fetch('string:' . $body_subject); - $params = array(array('contact_id', '=', $contactId, 0, 0)); list($contact, $_) = CRM_Contact_BAO_Query::apiQuery($params); @@ -224,12 +217,20 @@ class CRM_Core_BAO_MessageTemplates extends CRM_Core_DAO_MessageTemplates { $html = $body_html; $text = $body_text; + $smarty = CRM_Core_Smarty::singleton(); + foreach (array( + 'text', 'html') as $elem) { + $$elem = $smarty->fetch("string:{$$elem}"); + } + // do replacements in message subject $messageSubject = CRM_Utils_Token::replaceContactTokens($body_subject, $contact, false, $tokens); $messageSubject = CRM_Utils_Token::replaceDomainTokens($messageSubject, $domain, true, $tokens); $messageSubject = CRM_Utils_Token::replaceComponentTokens($messageSubject, $contact, $tokens, true); $messageSubject = CRM_Utils_Token::replaceHookTokens($messageSubject, $contact, $categories, true); + $messageSubject = $smarty->fetch("string:{$messageSubject}"); + // set up the parameters for CRM_Utils_Mail::send $mailParams = array( 'groupName' => 'Scheduled Reminder Sender', @@ -388,19 +389,6 @@ class CRM_Core_BAO_MessageTemplates extends CRM_Core_DAO_MessageTemplates { $testDao->free(); } - // Strip whitespace from ends and turn into a single line. - $subject = "{strip}$subject{/strip}"; - - // Parse the three elements with Smarty. - $smarty = CRM_Core_Smarty::singleton(); - foreach ($params['tplParams'] as $name => $value) { - $smarty->assign($name, $value); - } - foreach (array( - 'subject', 'text', 'html') as $elem) { - $$elem = $smarty->fetch("string:{$$elem}"); - } - // replace tokens in the three elements (in subject as if it was the text body) $domain = CRM_Core_BAO_Domain::getDomain(); $hookTokens = array(); @@ -463,6 +451,21 @@ class CRM_Core_BAO_MessageTemplates extends CRM_Core_DAO_MessageTemplates { $html = CRM_Utils_Token::replaceHookTokens($html, $contact, $categories, TRUE); } + // strip whitespace from ends and turn into a single line + $subject = "{strip}$subject{/strip}"; + + // parse the three elements with Smarty + + + $smarty = CRM_Core_Smarty::singleton(); + foreach ($params['tplParams'] as $name => $value) { + $smarty->assign($name, $value); + } + foreach (array( + 'subject', 'text', 'html') as $elem) { + $$elem = $smarty->fetch("string:{$$elem}"); + } + // send the template, honouring the target user’s preferences (if any) $sent = FALSE;