[ Index ] |
PHP Cross Reference of MediaWiki-1.24.0 |
[Summary view] [Print] [Text view]
1 <?php 2 /** 3 * Classes used to send e-mails 4 * 5 * This program is free software; you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License as published by 7 * the Free Software Foundation; either version 2 of the License, or 8 * (at your option) any later version. 9 * 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 * 15 * You should have received a copy of the GNU General Public License along 16 * with this program; if not, write to the Free Software Foundation, Inc., 17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 * http://www.gnu.org/copyleft/gpl.html 19 * 20 * @file 21 * @author <[email protected]> 22 * @author <[email protected]> 23 * @author Tim Starling 24 * @author Luke Welling [email protected] 25 */ 26 27 /** 28 * Stores a single person's name and email address. 29 * These are passed in via the constructor, and will be returned in SMTP 30 * header format when requested. 31 */ 32 class MailAddress { 33 /** 34 * @param string $address String with an email address, or a User object 35 * @param string $name Human-readable name if a string address is given 36 * @param string $realName Human-readable real name if a string address is given 37 */ 38 function __construct( $address, $name = null, $realName = null ) { 39 if ( is_object( $address ) && $address instanceof User ) { 40 // Old calling format, now deprecated 41 wfDeprecated( __METHOD__ . ' with a User object' , '1.24' ); 42 $this->address = $address->getEmail(); 43 $this->name = $address->getName(); 44 $this->realName = $address->getRealName(); 45 } else { 46 $this->address = strval( $address ); 47 $this->name = strval( $name ); 48 $this->realName = strval( $realName ); 49 } 50 } 51 52 /** 53 * Create a new MailAddress object for the given user 54 * 55 * @since 1.24 56 * @param User $user 57 * @return MailAddress 58 */ 59 public static function newFromUser( User $user ) { 60 return new MailAddress( $user->getEmail(), $user->getName(), $user->getRealName() ); 61 } 62 63 /** 64 * Return formatted and quoted address to insert into SMTP headers 65 * @return string 66 */ 67 function toString() { 68 # PHP's mail() implementation under Windows is somewhat shite, and 69 # can't handle "Joe Bloggs <[email protected]>" format email addresses, 70 # so don't bother generating them 71 if ( $this->address ) { 72 if ( $this->name != '' && !wfIsWindows() ) { 73 global $wgEnotifUseRealName; 74 $name = ( $wgEnotifUseRealName && $this->realName !== '' ) ? $this->realName : $this->name; 75 $quoted = UserMailer::quotedPrintable( $name ); 76 if ( strpos( $quoted, '.' ) !== false || strpos( $quoted, ',' ) !== false ) { 77 $quoted = '"' . $quoted . '"'; 78 } 79 return "$quoted <{$this->address}>"; 80 } else { 81 return $this->address; 82 } 83 } else { 84 return ""; 85 } 86 } 87 88 function __toString() { 89 return $this->toString(); 90 } 91 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Fri Nov 28 14:03:12 2014 | Cross-referenced by PHPXref 0.7.1 |