diff options
| author | marcus <marcus@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2008-09-29 10:23:35 +0000 | 
|---|---|---|
| committer | marcus <marcus@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2008-09-29 10:23:35 +0000 | 
| commit | e9515d1ee18074928ae1e013dd0ff8666ecbd475 (patch) | |
| tree | 1150f38a3f9479bdfcfea75d7f3e86a20ada3f2e | |
| parent | a71a4e9753bf7a98049b0e8b1793012cfe6da673 (diff) | |
| download | elgg-e9515d1ee18074928ae1e013dd0ff8666ecbd475.tar.gz elgg-e9515d1ee18074928ae1e013dd0ff8666ecbd475.tar.bz2 | |
Closes #369: For entities which are not users the ->email field is used, failing that it tries to work out an address from ->url and lastly from $CONFIG->site_guid.
Closes #382: Fix applied as suggested.
git-svn-id: https://code.elgg.org/elgg/trunk@2143 36083f99-b078-4883-b0ff-0f9b5a30f544
| -rw-r--r-- | engine/lib/notification.php | 32 | 
1 files changed, 16 insertions, 16 deletions
| diff --git a/engine/lib/notification.php b/engine/lib/notification.php index 4bc0a0476..192e011fc 100644 --- a/engine/lib/notification.php +++ b/engine/lib/notification.php @@ -220,24 +220,24 @@  		if ($to->email=="")  			throw new NotificationException(sprintf(elgg_echo('NotificationException:NoEmailAddress'), $to->guid));			 -			 + +		// To   		$to = $to->email; -		/*if (!$hide_sender) +		 +		// From +		$site = get_entity($CONFIG->site_guid); +		if ((isset($from->email)) && (!($from instanceof ElggUser))) // If there's an email address, use it - but only if its not from a user. +			$from = $from->from; +		else if (($site) && (isset($site->email))) // Has the current site got a from email address? +			$from = $site->email; +		else if (isset($from->url)) // If we have a url then try and use that.  		{ -			if ($from->email) -				$from = $from->email; // Handle users -			else if ($from->url) -			{ -				$breakdown = parse_url($from->url); -				$from = 'noreply@' . $breakdown['host']; // Handle anything with a url -			}  -			else { -				$from = 'noreply@' . get_site_domain($CONFIG->site_guid); // Handle a fallback -			} +			$breakdown = parse_url($from->url); +			$from = 'noreply@' . $breakdown['host']; // Handle anything with a url  		} -		else*/ -		$from = 'noreply@' . get_site_domain($CONFIG->site_guid); // Handle a fallback -		
 +		else // If all else fails, use the domain of the site. +			$from = 'noreply@' . get_site_domain($CONFIG->site_guid);  +	
  		if (is_callable('mb_internal_encoding')) {  			mb_internal_encoding('UTF-8');
  		} @@ -246,7 +246,7 @@  		if (is_callable('mb_encode_mimeheader')) {  			$sitename = mb_encode_mimeheader($site->name,"UTF-8", "B");
  		} -		$headers = "From: $sitename <$from>\r\n" +		$headers = "From: \"$sitename\" <$from>\r\n"  			. "Content-Type: text/plain; charset=UTF-8; format=flowed\r\n"      		. "MIME-Version: 1.0\r\n"      		. "Content-Transfer-Encoding: 8bit\r\n";
 | 
