objectcache: add setMockTime() method to BagOStuff/WANObjectCache
[lhc/web/wiklou.git] / includes / mail / MailAddress.php
index 6817908..b9d9414 100644 (file)
  * 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
@@ -38,7 +53,7 @@ class MailAddress {
        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();
@@ -73,8 +88,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 {