Merge "Simplify HTMLTitleTextField::validate"
[lhc/web/wiklou.git] / includes / mail / MailAddress.php
index 1686bbb..000bbe3 100644 (file)
@@ -46,22 +46,14 @@ class MailAddress {
        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 );
        }
 
        /**
@@ -88,8 +80,9 @@ class MailAddress {
                                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 {