Merge pull request #4962 from totten/master-angular-ts
[civicrm-core.git] / CRM / Core / BAO / MessageTemplate.php
index 4786e100a7d643081de88c8d42897fff0d400764..088886d7ee42f11504badb94a1dea63c9388b857 100644 (file)
@@ -23,7 +23,7 @@
  | GNU Affero General Public License or the licensing of CiviCRM,     |
  | see the CiviCRM license FAQ at http://civicrm.org/licensing        |
  +--------------------------------------------------------------------+
-*/
+ */
 
 /**
  *
@@ -48,8 +48,7 @@ class CRM_Core_BAO_MessageTemplate extends CRM_Core_DAO_MessageTemplate {
    * @param array $defaults
    *   (reference ) an assoc array to hold the flattened values.
    *
-   * @return CRM_Core_BAO_MessageTemplate object
-   * @static
+   * @return CRM_Core_BAO_MessageTemplate
    */
   public static function retrieve(&$params, &$defaults) {
     $messageTemplates = new CRM_Core_DAO_MessageTemplate();
@@ -69,8 +68,8 @@ class CRM_Core_BAO_MessageTemplate extends CRM_Core_DAO_MessageTemplate {
    * @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);
@@ -82,7 +81,6 @@ class CRM_Core_BAO_MessageTemplate extends CRM_Core_DAO_MessageTemplate {
    * @param array $params
    *   Reference array contains the values submitted by the form.
    *
-   * @static
    *
    * @return object
    */
@@ -101,11 +99,8 @@ class CRM_Core_BAO_MessageTemplate extends CRM_Core_DAO_MessageTemplate {
   /**
    * Delete the Message Templates
    *
-   * @static
-   *
    * @param int $messageTemplatesID
-   *
-   * @return object
+   * @return void
    */
   public static function del($messageTemplatesID) {
     // make sure messageTemplatesID is an integer
@@ -130,7 +125,6 @@ class CRM_Core_BAO_MessageTemplate extends CRM_Core_DAO_MessageTemplate {
   /**
    * Get the Message Templates
    *
-   * @static
    *
    * @param bool $all
    *
@@ -167,13 +161,13 @@ class CRM_Core_BAO_MessageTemplate extends CRM_Core_DAO_MessageTemplate {
     $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);
@@ -193,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);
@@ -204,10 +198,10 @@ 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');
+        $returnProperties,
+        NULL, NULL, FALSE,
+        $tokens,
+        'CRM_Core_BAO_MessageTemplate');
       $contact = reset($details);
 
       // call token hook
@@ -224,7 +218,7 @@ class CRM_Core_BAO_MessageTemplate extends CRM_Core_DAO_MessageTemplate {
           $$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::replaceHookTokens($$bodyType, $contact, $categories, TRUE);
         }
       }
       $html = $body_html;
@@ -232,7 +226,9 @@ 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}");
       }
 
@@ -260,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;
       }
 
@@ -275,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 int 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);
 
@@ -288,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);
@@ -310,7 +307,8 @@ class CRM_Core_BAO_MessageTemplate extends CRM_Core_DAO_MessageTemplate {
    * @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(
@@ -377,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)
@@ -398,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('/<body(.*)$/im', "<body\\1\n{$testDao->html}", $html);
+      $text = $testDao->text . $text;
+      $html = preg_replace('/<body(.*)$/im', "<body\\1\n{$testDao->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);
 
@@ -441,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,
@@ -461,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}");
     }
 
@@ -485,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));
@@ -534,4 +535,5 @@ class CRM_Core_BAO_MessageTemplate extends CRM_Core_DAO_MessageTemplate {
 
     return array($sent, $subject, $text, $html);
   }
+
 }