* header format when requested.
*/
class MailAddress {
+ /**
+ * @var string
+ */
+ public $name;
+
+ /**
+ * @var string
+ */
+ public $realName;
+
+ /**
+ * @var string
+ */
+ public $address;
+
/**
* @param string $address String with an email address, or a User object
* @param string $name Human-readable name if a string address is given
function __construct( $address, $name = null, $realName = null ) {
if ( is_object( $address ) && $address instanceof User ) {
// Old calling format, now deprecated
- wfDeprecated( __METHOD__ . ' with a User object' , '1.24' );
+ wfDeprecated( __METHOD__ . ' with a User object', '1.24' );
$this->address = $address->getEmail();
$this->name = $address->getName();
$this->realName = $address->getRealName();
global $wgEnotifUseRealName;
$name = ( $wgEnotifUseRealName && $this->realName !== '' ) ? $this->realName : $this->name;
$quoted = UserMailer::quotedPrintable( $name );
- if ( strpos( $quoted, '.' ) !== false || strpos( $quoted, ',' ) !== false ) {
- $quoted = '"' . $quoted . '"';
+ // Must only be quoted if string does not use =? encoding (T191931)
+ if ( $quoted === $name ) {
+ $quoted = '"' . addslashes( $quoted ) . '"';
}
return "$quoted <{$this->address}>";
} else {