X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=CRM%2FCore%2FBAO%2FMessageTemplate.php;h=088886d7ee42f11504badb94a1dea63c9388b857;hb=553ffa22464ff37a28a070458bcd52097b54235f;hp=3403ccc7681f2d0522827f71fc5d3d6ff00d6cd6;hpb=00be918220e9ac8f6d25d12ed3c9c49fddd07ff7;p=civicrm-core.git diff --git a/CRM/Core/BAO/MessageTemplate.php b/CRM/Core/BAO/MessageTemplate.php index 3403ccc768..088886d7ee 100644 --- a/CRM/Core/BAO/MessageTemplate.php +++ b/CRM/Core/BAO/MessageTemplate.php @@ -23,7 +23,7 @@ | GNU Affero General Public License or the licensing of CiviCRM, | | see the CiviCRM license FAQ at http://civicrm.org/licensing | +--------------------------------------------------------------------+ -*/ + */ /** * @@ -43,12 +43,12 @@ class CRM_Core_BAO_MessageTemplate extends CRM_Core_DAO_MessageTemplate { /** * Fetch object based on array of properties * - * @param array $params (reference ) an assoc array of name/value pairs - * @param array $defaults (reference ) an assoc array to hold the flattened values + * @param array $params + * (reference ) an assoc array of name/value pairs. + * @param array $defaults + * (reference ) an assoc array to hold the flattened values. * - * @return CRM_Core_BAO_MessageTemplate object - * @access public - * @static + * @return CRM_Core_BAO_MessageTemplate */ public static function retrieve(&$params, &$defaults) { $messageTemplates = new CRM_Core_DAO_MessageTemplate(); @@ -63,11 +63,13 @@ class CRM_Core_BAO_MessageTemplate extends CRM_Core_DAO_MessageTemplate { /** * Update the is_active flag in the db * - * @param int $id id of the database record - * @param boolean $is_active value we want to set the is_active field + * @param int $id + * Id of the database record. + * @param bool $is_active + * Value we want to set the is_active field. * - * @return Object DAO object on sucess, null otherwise - * @static + * @return Object + * DAO object on sucess, NULL otherwise */ public static function setIsActive($id, $is_active) { return CRM_Core_DAO::setFieldValue('CRM_Core_DAO_MessageTemplate', $id, 'is_active', $is_active); @@ -76,10 +78,9 @@ class CRM_Core_BAO_MessageTemplate extends CRM_Core_DAO_MessageTemplate { /** * Add the Message Templates * - * @param array $params reference array contains the values submitted by the form + * @param array $params + * Reference array contains the values submitted by the form. * - * @access public - * @static * * @return object */ @@ -98,12 +99,8 @@ class CRM_Core_BAO_MessageTemplate extends CRM_Core_DAO_MessageTemplate { /** * Delete the Message Templates * - * @access public - * @static - * * @param int $messageTemplatesID - * - * @return object + * @return void */ public static function del($messageTemplatesID) { // make sure messageTemplatesID is an integer @@ -128,8 +125,6 @@ class CRM_Core_BAO_MessageTemplate extends CRM_Core_DAO_MessageTemplate { /** * Get the Message Templates * - * @access public - * @static * * @param bool $all * @@ -159,20 +154,20 @@ class CRM_Core_BAO_MessageTemplate extends CRM_Core_DAO_MessageTemplate { * @param int $messageTemplateID * @param $from * - * @return bool|null + * @return bool|NULL */ public static function sendReminder($contactId, $email, $messageTemplateID, $from) { $messageTemplates = new CRM_Core_DAO_MessageTemplate(); $messageTemplates->id = $messageTemplateID; - $domain = CRM_Core_BAO_Domain::getDomain(); - $result = NULL; + $domain = CRM_Core_BAO_Domain::getDomain(); + $result = NULL; $hookTokens = array(); if ($messageTemplates->find(TRUE)) { - $body_text = $messageTemplates->msg_text; - $body_html = $messageTemplates->msg_html; + $body_text = $messageTemplates->msg_text; + $body_html = $messageTemplates->msg_html; $body_subject = $messageTemplates->msg_subject; if (!$body_text) { $body_text = CRM_Utils_String::htmlToText($body_html); @@ -192,8 +187,8 @@ class CRM_Core_BAO_MessageTemplate extends CRM_Core_DAO_MessageTemplate { // get tokens to be replaced $tokens = array_merge(CRM_Utils_Token::getTokens($body_text), - CRM_Utils_Token::getTokens($body_html), - CRM_Utils_Token::getTokens($body_subject)); + CRM_Utils_Token::getTokens($body_html), + CRM_Utils_Token::getTokens($body_subject)); // get replacement text for these tokens $returnProperties = array("preferred_mail_format" => 1); @@ -203,11 +198,11 @@ class CRM_Core_BAO_MessageTemplate extends CRM_Core_DAO_MessageTemplate { } } list($details) = CRM_Utils_Token::getTokenDetails(array($contactId), - $returnProperties, - null, null, false, - $tokens, - 'CRM_Core_BAO_MessageTemplate'); - $contact = reset( $details ); + $returnProperties, + NULL, NULL, FALSE, + $tokens, + 'CRM_Core_BAO_MessageTemplate'); + $contact = reset($details); // call token hook $hookTokens = array(); @@ -220,10 +215,10 @@ class CRM_Core_BAO_MessageTemplate extends CRM_Core_DAO_MessageTemplate { $bodyType = "body_{$value}"; if ($$bodyType) { CRM_Utils_Token::replaceGreetingTokens($$bodyType, NULL, $contact['contact_id']); - $$bodyType = CRM_Utils_Token::replaceDomainTokens($$bodyType, $domain, true, $tokens, true); - $$bodyType = CRM_Utils_Token::replaceContactTokens($$bodyType, $contact, false, $tokens, false, true); - $$bodyType = CRM_Utils_Token::replaceComponentTokens($$bodyType, $contact, $tokens, true); - $$bodyType = CRM_Utils_Token::replaceHookTokens($$bodyType, $contact , $categories, true); + $$bodyType = CRM_Utils_Token::replaceDomainTokens($$bodyType, $domain, TRUE, $tokens, TRUE); + $$bodyType = CRM_Utils_Token::replaceContactTokens($$bodyType, $contact, FALSE, $tokens, FALSE, TRUE); + $$bodyType = CRM_Utils_Token::replaceComponentTokens($$bodyType, $contact, $tokens, TRUE); + $$bodyType = CRM_Utils_Token::replaceHookTokens($$bodyType, $contact, $categories, TRUE); } } $html = $body_html; @@ -231,15 +226,17 @@ class CRM_Core_BAO_MessageTemplate extends CRM_Core_DAO_MessageTemplate { $smarty = CRM_Core_Smarty::singleton(); foreach (array( - 'text', 'html') as $elem) { + '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 = 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}"); @@ -259,7 +256,8 @@ class CRM_Core_BAO_MessageTemplate extends CRM_Core_DAO_MessageTemplate { } if ($html && ($contact['preferred_mail_format'] == 'HTML' || $contact['preferred_mail_format'] == 'Both' - )) { + ) + ) { $mailParams['html'] = $html; } @@ -274,12 +272,12 @@ class CRM_Core_BAO_MessageTemplate extends CRM_Core_DAO_MessageTemplate { /** * Revert a message template to its default subject+text+HTML state * - * @param integer id id of the template + * @param int $id id of the template * * @return void */ public static function revert($id) { - $diverted = new self; + $diverted = new CRM_Core_BAO_MessageTemplate(); $diverted->id = (int) $id; $diverted->find(1); @@ -287,7 +285,7 @@ class CRM_Core_BAO_MessageTemplate extends CRM_Core_DAO_MessageTemplate { CRM_Core_Error::fatal(ts('Did not find a message template with id of %1.', array(1 => $id))); } - $orig = new self; + $orig = new CRM_Core_BAO_MessageTemplate(); $orig->workflow_id = $diverted->workflow_id; $orig->is_reserved = 1; $orig->find(1); @@ -306,9 +304,11 @@ class CRM_Core_BAO_MessageTemplate extends CRM_Core_DAO_MessageTemplate { /** * Send an email from the specified template based on an array of params * - * @param array $params a string-keyed array of function params, see function body for details + * @param array $params + * A string-keyed array of function params, see function body for details. * - * @return array of four parameters: a boolean whether the email was sent, and the subject, text and HTML templates + * @return array + * Array of four parameters: a boolean whether the email was sent, and the subject, text and HTML templates */ public static function sendTemplate($params) { $defaults = array( @@ -375,14 +375,17 @@ class CRM_Core_BAO_MessageTemplate extends CRM_Core_DAO_MessageTemplate { CRM_Core_Error::fatal(ts('No such message template: id=%1.', array(1 => $params['messageTemplateID']))); } else { - CRM_Core_Error::fatal(ts('No such message template: option group %1, option value %2.', array(1 => $params['groupName'], 2 => $params['valueName']))); + CRM_Core_Error::fatal(ts('No such message template: option group %1, option value %2.', array( + 1 => $params['groupName'], + 2 => $params['valueName'], + ))); } } $subject = $dao->subject; - $text = $dao->text; - $html = $dao->html; - $format = $dao->format; + $text = $dao->text; + $html = $dao->html; + $format = $dao->format; $dao->free(); // add the test banner (if requested) @@ -396,18 +399,18 @@ class CRM_Core_BAO_MessageTemplate extends CRM_Core_DAO_MessageTemplate { $testDao->fetch(); $subject = $testDao->subject . $subject; - $text = $testDao->text . $text; - $html = preg_replace('/html}", $html); + $text = $testDao->text . $text; + $html = preg_replace('/html}", $html); $testDao->free(); } // replace tokens in the three elements (in subject as if it was the text body) - $domain = CRM_Core_BAO_Domain::getDomain(); - $hookTokens = array(); - $mailing = new CRM_Mailing_BAO_Mailing; + $domain = CRM_Core_BAO_Domain::getDomain(); + $hookTokens = array(); + $mailing = new CRM_Mailing_BAO_Mailing(); $mailing->body_text = $text; $mailing->body_html = $html; - $tokens = $mailing->getTokens(); + $tokens = $mailing->getTokens(); CRM_Utils_Hook::tokens($hookTokens); $categories = array_keys($hookTokens); @@ -439,14 +442,13 @@ class CRM_Core_BAO_MessageTemplate extends CRM_Core_DAO_MessageTemplate { } $subject = CRM_Utils_Token::replaceDomainTokens($subject, $domain, FALSE, $tokens['text'], TRUE); - $text = CRM_Utils_Token::replaceDomainTokens($text, $domain, FALSE, $tokens['text'], TRUE); - $html = CRM_Utils_Token::replaceDomainTokens($html, $domain, TRUE, $tokens['html'], TRUE); + $text = CRM_Utils_Token::replaceDomainTokens($text, $domain, FALSE, $tokens['text'], TRUE); + $html = CRM_Utils_Token::replaceDomainTokens($html, $domain, TRUE, $tokens['html'], TRUE); if ($contactID) { $subject = CRM_Utils_Token::replaceContactTokens($subject, $contact, FALSE, $tokens['text'], FALSE, TRUE); - $text = CRM_Utils_Token::replaceContactTokens($text, $contact, FALSE, $tokens['text'], FALSE, TRUE); - $html = CRM_Utils_Token::replaceContactTokens($html, $contact, FALSE, $tokens['html'], FALSE, TRUE); - + $text = CRM_Utils_Token::replaceContactTokens($text, $contact, FALSE, $tokens['text'], FALSE, TRUE); + $html = CRM_Utils_Token::replaceContactTokens($html, $contact, FALSE, $tokens['html'], FALSE, TRUE); $contactArray = array($contactID => $contact); CRM_Utils_Hook::tokenValues($contactArray, @@ -459,22 +461,23 @@ class CRM_Core_BAO_MessageTemplate extends CRM_Core_DAO_MessageTemplate { $contact = $contactArray[$contactID]; $subject = CRM_Utils_Token::replaceHookTokens($subject, $contact, $categories, TRUE); - $text = CRM_Utils_Token::replaceHookTokens($text, $contact, $categories, TRUE); - $html = CRM_Utils_Token::replaceHookTokens($html, $contact, $categories, TRUE); + $text = CRM_Utils_Token::replaceHookTokens($text, $contact, $categories, TRUE); + $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) { + 'subject', + 'text', + 'html', + ) as $elem) { $$elem = $smarty->fetch("string:{$$elem}"); } @@ -483,8 +486,8 @@ class CRM_Core_BAO_MessageTemplate extends CRM_Core_DAO_MessageTemplate { // create the params array $params['subject'] = $subject; - $params['text'] = $text; - $params['html'] = $html; + $params['text'] = $text; + $params['html'] = $html; if ($params['toEmail']) { $contactParams = array(array('email', 'LIKE', $params['toEmail'], 0, 1)); @@ -506,7 +509,7 @@ class CRM_Core_BAO_MessageTemplate extends CRM_Core_DAO_MessageTemplate { if (empty($params['attachments'])) { $params['attachments'] = array(); } - $params['attachments'][] = CRM_Utils_Mail::appendPDF('Invoice.pdf', $pdfHtml, $format) ; + $params['attachments'][] = CRM_Utils_Mail::appendPDF('Invoice.pdf', $pdfHtml, $format); } $pdf_filename = ''; if ($config->doNotAttachPDFReceipt && @@ -532,4 +535,5 @@ class CRM_Core_BAO_MessageTemplate extends CRM_Core_DAO_MessageTemplate { return array($sent, $subject, $text, $html); } + }