Merge pull request #3949 from colemanw/CRM-15156
[civicrm-core.git] / CRM / Core / BAO / Email.php
index d2e5c859d85d94790e57f32ce86e5cb29f118206..61a9370068ef3ac94440cccdf877a438533cffca 100644 (file)
@@ -1,9 +1,9 @@
 <?php
 /*
  +--------------------------------------------------------------------+
- | CiviCRM version 4.4                                                |
+ | CiviCRM version 4.5                                                |
  +--------------------------------------------------------------------+
- | Copyright CiviCRM LLC (c) 2004-2013                                |
+ | Copyright CiviCRM LLC (c) 2004-2014                                |
  +--------------------------------------------------------------------+
  | This file is a part of CiviCRM.                                    |
  |                                                                    |
@@ -28,7 +28,7 @@
 /**
  *
  * @package CRM
- * @copyright CiviCRM LLC (c) 2004-2013
+ * @copyright CiviCRM LLC (c) 2004-2014
  * $Id$
  *
  */
@@ -43,6 +43,8 @@ class CRM_Core_BAO_Email extends CRM_Core_DAO_Email {
    * has more business logic
    *
    * @param array $params input parameters
+   *
+   * @return object
    */
   static function create($params) {
     // if id is set & is_primary isn't we can assume no change
@@ -126,6 +128,8 @@ WHERE  contact_id = {$params['contact_id']}
    *
    * @param int $id the contact id
    *
+   * @param bool $updateBlankLocInfo
+   *
    * @return array  the array of email id's
    * @access public
    * @static
@@ -287,10 +291,12 @@ AND    reset_date IS NULL
     $contactID       = $session->get('userID');
     $fromEmailValues = array();
 
-    // add the domain email id
-    $domainEmail = CRM_Core_BAO_Domain::getNameAndEmail();
-    $domainEmail = "$domainEmail[0] <$domainEmail[1]>";
-    $fromEmailValues[$domainEmail] = htmlspecialchars($domainEmail);
+    // add all configured FROM email addresses
+    $domainFrom = CRM_Core_OptionGroup::values('from_email_address');
+    foreach (array_keys($domainFrom) as $k) {
+      $domainEmail = $domainFrom[$k];
+      $fromEmailValues[$domainEmail] = htmlspecialchars($domainEmail);
+    }
 
     // add logged in user's active email ids
     if ($contactID) {
@@ -305,7 +311,7 @@ AND    reset_date IS NULL
         $fromEmail = "$fromDisplayName <$email>";
         $fromEmailHtml = htmlspecialchars($fromEmail) . ' ' . $emailVal['locationType'];
 
-        if (CRM_Utils_Array::value('is_primary', $emailVal)) {
+        if (!empty($emailVal['is_primary'])) {
           $fromEmailHtml .= ' ' . ts('(preferred)');
         }
         $fromEmailValues[$fromEmail] = $fromEmailHtml;
@@ -314,6 +320,9 @@ AND    reset_date IS NULL
     return $fromEmailValues;
   }
 
+  /**
+   * @return object
+   */
   static function isMultipleBulkMail() {
     return CRM_Core_BAO_Setting::getItem(CRM_Core_BAO_Setting::MAILING_PREFERENCES_NAME, 'civimail_multiple_bulk_emails', NULL, FALSE);
   }