Toward CRM-20308 & support CRM-19657 Extract using domain from and logged in user...
authorSeamus Lee <seamuslee001@gmail.com>
Thu, 6 Apr 2017 08:56:23 +0000 (18:56 +1000)
committerSeamus Lee <seamuslee001@gmail.com>
Thu, 6 Apr 2017 08:56:23 +0000 (18:56 +1000)
CRM/Contribute/BAO/Contribution.php
CRM/Core/BAO/Domain.php

index 92829c1c0b4b66de58bdca48deaaecf058b6876d..a259fb270c7b303586a6ea2a3da6deaee8d99ab8 100644 (file)
@@ -4777,23 +4777,8 @@ LIMIT 1;";
     if (!empty($pageValues['receipt_from_email'])) {
       return array($pageValues['receipt_from_name'], $pageValues['receipt_from_email']);
     }
-    // If we are still empty fall back to the domain.
-    $domain = civicrm_api3('domain', 'getsingle', array('id' => CRM_Core_Config::domainID()));
-    if (!empty($domain['from_email'])) {
-      return array($domain['from_name'], $domain['from_email']);
-    }
-    if (!empty($domain['domain_email'])) {
-      return array($domain['name'], $domain['domain_email']);
-    }
-    $userID = CRM_Core_Session::singleton()->getLoggedInContactID();
-    $userName = '';
-    $userEmail = '';
-    if (!empty($userID)) {
-      list($userName, $userEmail) = CRM_Contact_BAO_Contact_Location::getEmailDetails($userID);
-    }
-    // If still empty fall back to the logged in user details.
-    // return empty values no matter what.
-    return array($userName, $userEmail);
+    // If we are still empty fall back to the domain or logged in user information.
+    return CRM_Core_BAO_Domain::getDefaultReceiptFrom();
   }
 
   /**
index 6b1f6cf2db5574e4c1144c5e8401bdf3ce8a8811..6779ff12dc5b211b84b3025084905e0f85f41c69 100644 (file)
@@ -286,4 +286,28 @@ class CRM_Core_BAO_Domain extends CRM_Core_DAO_Domain {
     return $siteContacts;
   }
 
+  /**
+   * CRM-20308 & CRM-19657
+   * Return domain information / user information for the useage in receipts
+   * Try default from adress then fall back to using logged in user details
+   */
+  public function getDefaultReceiptFrom() {
+    $domain = civicrm_api3('domain', 'getsingle', array('id' => CRM_Core_Config::domainID()));
+    if (!empty($domain['from_email'])) {
+      return array($domain['from_name'], $domain['from_email']);
+    }
+    if (!empty($domain['domain_email'])) {
+      return array($domain['name'], $domain['domain_email']);
+    }
+    $userID = CRM_Core_Session::singleton()->getLoggedInContactID();
+    $userName = '';
+    $userEmail = '';
+    if (!empty($userID)) {
+      list($userName, $userEmail) = CRM_Contact_BAO_Contact_Location::getEmailDetails($userID);
+    }
+    // If still empty fall back to the logged in user details.
+    // return empty values no matter what.
+    return array($userName, $userEmail);
+  }
+
 }