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
- * @param string $realName Human-readable real name if a string address is given
+ * @param string $address String with an email address
+ * @param string|null $name Human-readable name if a string address is given
+ * @param string|null $realName Human-readable real 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' );
- $this->address = $address->getEmail();
- $this->name = $address->getName();
- $this->realName = $address->getRealName();
- } else {
- $this->address = strval( $address );
- $this->name = strval( $name );
- $this->realName = strval( $realName );
- }
+ $this->address = strval( $address );
+ $this->name = strval( $name );
+ $this->realName = strval( $realName );
}
/**
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 {